Prise en compte des premiers retorus

This commit is contained in:
Quentin Bandera 2024-04-19 15:24:56 +02:00
parent c8cfe82109
commit 636584ca45
3 changed files with 24 additions and 24 deletions

View File

@ -7,30 +7,26 @@
import Foundation
struct ImageContent: Codable, Equatable {
let images: [Image]
let info: Info
struct AssetContent: Codable, Equatable {
let images: [AssetImageDescription]
let info: AssetInfo
static func == (lhs: ImageContent, rhs: ImageContent) -> Bool {
let lhsImagesCount = lhs.images.count
static func == (lhs: AssetContent, rhs: AssetContent) -> Bool {
guard lhs.images.count == rhs.images.count else { return false }
let lhsImages = lhs.images.sorted(by: { $0.scale < $1.scale })
let lhsInfo = lhs.info
let rhsImagesCount = rhs.images.count
let rhsImages = rhs.images.sorted(by: { $0.scale < $1.scale })
let rhsInfo = rhs.info
return lhsImagesCount == rhsImagesCount && lhsImages == rhsImages && lhsInfo == rhsInfo
return lhsImages == rhsImages
}
}
struct Image: Codable, Equatable {
struct AssetImageDescription: Codable, Equatable {
let idiom: String
let scale: String
let filename: String
}
struct Info: Codable, Equatable {
struct AssetInfo: Codable, Equatable {
let version: Int
let author: String
}

View File

@ -46,31 +46,35 @@ struct ParsedImage {
let encoder = JSONEncoder()
encoder.outputFormatting = .prettyPrinted
guard let data = try? encoder.encode(imageContent) else { return nil }
guard let data = try? encoder.encode(imageContent) else {
let error = ImagesError.writeFile("Contents.json", "Error encoding json file")
print(error.description)
Images.exit(withError: error)
}
return String(data: data, encoding: .utf8)
}
var imageContent: ImageContent {
return ImageContent(
var imageContent: AssetContent {
return AssetContent(
images: [
Image(
AssetImageDescription(
idiom: "universal",
scale: "1x",
filename: "\(name).\(XcassetsGenerator.outputImageExtension)"
),
Image(
AssetImageDescription(
idiom: "universal",
scale: "2x",
filename: "\(name)@2x.\(XcassetsGenerator.outputImageExtension)"
),
Image(
AssetImageDescription(
idiom: "universal",
scale: "3x",
filename: "\(name)@3x.\(XcassetsGenerator.outputImageExtension)"
)
],
info: Info(
info: AssetInfo(
version: 1,
author: "ResgenSwift-Imagium"
)

View File

@ -130,25 +130,25 @@ final class ParsedImageTests: XCTestCase {
let property = parsedImage.imageContent
// Expect
let expect = ImageContent(
let expect = AssetContent(
images: [
Image(
AssetImageDescription(
idiom: "universal",
scale: "1x",
filename: "\(parsedImage.name).\(XcassetsGenerator.outputImageExtension)"
),
Image(
AssetImageDescription(
idiom: "universal",
scale: "2x",
filename: "\(parsedImage.name)@2x.\(XcassetsGenerator.outputImageExtension)"
),
Image(
AssetImageDescription(
idiom: "universal",
scale: "3x",
filename: "\(parsedImage.name)@3x.\(XcassetsGenerator.outputImageExtension)"
)
],
info: Info(
info: AssetInfo(
version: 1,
author: "ResgenSwift-Imagium"
)