Some checks failed
gitea-openium/resgen.swift/pipeline/pr-master There was a failure building this commit
204 lines
6.2 KiB
Swift
204 lines
6.2 KiB
Swift
//
|
|
// ParsedImage.swift
|
|
//
|
|
//
|
|
// Created by Thibaut Schmitt on 05/09/2022.
|
|
//
|
|
|
|
import Foundation
|
|
import XCTest
|
|
|
|
@testable import ResgenSwift
|
|
|
|
final class ParsedImageTests: XCTestCase {
|
|
|
|
func testConvertArguments() {
|
|
// Given
|
|
let imageName = "the_name"
|
|
let parsedImage = ParsedImage(name: imageName,
|
|
tags: "id",
|
|
width: 10,
|
|
height: 10)
|
|
|
|
// When
|
|
let convertArguments = parsedImage.convertArguments
|
|
|
|
// Expect
|
|
XCTAssertEqual(convertArguments.x1.width, "10")
|
|
XCTAssertEqual(convertArguments.x1.height, "10")
|
|
|
|
XCTAssertEqual(convertArguments.x2.width, "20")
|
|
XCTAssertEqual(convertArguments.x2.height, "20")
|
|
|
|
XCTAssertEqual(convertArguments.x3.width, "30")
|
|
XCTAssertEqual(convertArguments.x3.height, "30")
|
|
}
|
|
|
|
func test_uiKit_GeneratedProperty() {
|
|
// Given
|
|
let imageName = "the_name"
|
|
let parsedImage = ParsedImage(name: imageName,
|
|
tags: "id",
|
|
width: 10,
|
|
height: 10)
|
|
|
|
// When
|
|
let property = parsedImage.getImageProperty(isStatic: false, isSwiftUI: false)
|
|
|
|
// Expect
|
|
let expect = """
|
|
var \(imageName): UIImage {
|
|
UIImage(named: "\(imageName)")!
|
|
}
|
|
"""
|
|
|
|
XCTAssertEqual(property.adaptForXCTest(), expect.adaptForXCTest())
|
|
}
|
|
|
|
func test_uiKit_GeneratedStaticProperty() {
|
|
// Given
|
|
let imageName = "the_name"
|
|
let parsedImage = ParsedImage(name: imageName,
|
|
tags: "id",
|
|
width: 10,
|
|
height: 10)
|
|
|
|
// When
|
|
let property = parsedImage.getImageProperty(isStatic: true, isSwiftUI: false)
|
|
|
|
// Expect
|
|
let expect = """
|
|
static var \(imageName): UIImage {
|
|
UIImage(named: "\(imageName)")!
|
|
}
|
|
"""
|
|
|
|
XCTAssertEqual(property.adaptForXCTest(), expect.adaptForXCTest())
|
|
}
|
|
|
|
func test_swiftUI_GeneratedProperty() {
|
|
// Given
|
|
let imageName = "the_name"
|
|
let parsedImage = ParsedImage(name: imageName,
|
|
tags: "id",
|
|
width: 10,
|
|
height: 10)
|
|
|
|
// When
|
|
let property = parsedImage.getImageProperty(isStatic: false, isSwiftUI: true)
|
|
|
|
// Expect
|
|
let expect = """
|
|
var \(imageName): Image {
|
|
Image("\(imageName)")
|
|
}
|
|
"""
|
|
|
|
XCTAssertEqual(property.adaptForXCTest(), expect.adaptForXCTest())
|
|
}
|
|
|
|
func test_swiftUI_GeneratedStaticProperty() {
|
|
// Given
|
|
let imageName = "the_name"
|
|
let parsedImage = ParsedImage(name: imageName,
|
|
tags: "id",
|
|
width: 10,
|
|
height: 10)
|
|
|
|
// When
|
|
let property = parsedImage.getImageProperty(isStatic: true, isSwiftUI: true)
|
|
|
|
// Expect
|
|
let expect = """
|
|
static var \(imageName): Image {
|
|
Image("\(imageName)")
|
|
}
|
|
"""
|
|
|
|
XCTAssertEqual(property.adaptForXCTest(), expect.adaptForXCTest())
|
|
}
|
|
|
|
func testAssetContentJson() {
|
|
// Given
|
|
let imageName = "the_name"
|
|
let parsedImage = ParsedImage(name: imageName,
|
|
tags: "id",
|
|
width: 10,
|
|
height: 10)
|
|
|
|
// When
|
|
let property = parsedImage.generateImageContent(isVector: false)
|
|
|
|
// Expect
|
|
let expect = AssetContent(
|
|
images: [
|
|
AssetImageDescription(
|
|
idiom: "universal",
|
|
scale: "1x",
|
|
filename: "\(parsedImage.name).\(OutputImageExtension.png.rawValue)"
|
|
),
|
|
AssetImageDescription(
|
|
idiom: "universal",
|
|
scale: "2x",
|
|
filename: "\(parsedImage.name)@2x.\(OutputImageExtension.png.rawValue)"
|
|
),
|
|
AssetImageDescription(
|
|
idiom: "universal",
|
|
scale: "3x",
|
|
filename: "\(parsedImage.name)@3x.\(OutputImageExtension.png.rawValue)"
|
|
)
|
|
],
|
|
info: AssetInfo(
|
|
version: 1,
|
|
author: "ResgenSwift-Imagium"
|
|
)
|
|
)
|
|
|
|
XCTAssertEqual(property, expect)
|
|
}
|
|
|
|
func testAssetPng() {
|
|
// Given
|
|
let imageName = "the_name"
|
|
let parsedImage = ParsedImage(name: imageName,
|
|
tags: "id",
|
|
width: 10,
|
|
height: 10,
|
|
imageExtensions: [.png])
|
|
|
|
// When
|
|
let property = parsedImage.generateImageContent(isVector: false)
|
|
|
|
// Expect
|
|
|
|
let expect = AssetContent(
|
|
images: [
|
|
AssetImageDescription(
|
|
idiom: "universal",
|
|
scale: "1x",
|
|
filename: "\(parsedImage.name).\(OutputImageExtension.png.rawValue)"
|
|
),
|
|
AssetImageDescription(
|
|
idiom: "universal",
|
|
scale: "2x",
|
|
filename: "\(parsedImage.name)@2x.\(OutputImageExtension.png.rawValue)"
|
|
),
|
|
AssetImageDescription(
|
|
idiom: "universal",
|
|
scale: "3x",
|
|
filename: "\(parsedImage.name)@3x.\(OutputImageExtension.png.rawValue)"
|
|
)
|
|
],
|
|
info: AssetInfo(
|
|
version: 1,
|
|
author: "ResgenSwift-Imagium"
|
|
)
|
|
)
|
|
|
|
debugPrint(property)
|
|
debugPrint(expect)
|
|
|
|
XCTAssertEqual(property, expect)
|
|
}
|
|
}
|