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

View File

@ -46,31 +46,35 @@ struct ParsedImage {
let encoder = JSONEncoder() let encoder = JSONEncoder()
encoder.outputFormatting = .prettyPrinted 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) return String(data: data, encoding: .utf8)
} }
var imageContent: ImageContent { var imageContent: AssetContent {
return ImageContent( return AssetContent(
images: [ images: [
Image( AssetImageDescription(
idiom: "universal", idiom: "universal",
scale: "1x", scale: "1x",
filename: "\(name).\(XcassetsGenerator.outputImageExtension)" filename: "\(name).\(XcassetsGenerator.outputImageExtension)"
), ),
Image( AssetImageDescription(
idiom: "universal", idiom: "universal",
scale: "2x", scale: "2x",
filename: "\(name)@2x.\(XcassetsGenerator.outputImageExtension)" filename: "\(name)@2x.\(XcassetsGenerator.outputImageExtension)"
), ),
Image( AssetImageDescription(
idiom: "universal", idiom: "universal",
scale: "3x", scale: "3x",
filename: "\(name)@3x.\(XcassetsGenerator.outputImageExtension)" filename: "\(name)@3x.\(XcassetsGenerator.outputImageExtension)"
) )
], ],
info: Info( info: AssetInfo(
version: 1, version: 1,
author: "ResgenSwift-Imagium" author: "ResgenSwift-Imagium"
) )

View File

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