Some checks failed
gitea-openium/resgen.swift/pipeline/head There was a failure building this commit
172 lines
4.7 KiB
Swift
172 lines
4.7 KiB
Swift
//
|
|
// ImageExtensionGeneratorTests.swift
|
|
//
|
|
//
|
|
// Created by Thibaut Schmitt on 05/09/2022.
|
|
//
|
|
|
|
import Foundation
|
|
import XCTest
|
|
import ToolCore
|
|
|
|
@testable import ResgenSwift
|
|
|
|
final class ImageExtensionGeneratorTests: XCTestCase {
|
|
|
|
func test_uiKit_GeneratedExtensionContent() {
|
|
// Given
|
|
let images = [
|
|
ParsedImage(name: "image_one", tags: "id", width: 10, height: 10),
|
|
ParsedImage(name: "image_two", tags: "id", width: 180, height: 90),
|
|
]
|
|
|
|
// When
|
|
let extensionContent = ImageExtensionGenerator.getExtensionContent(
|
|
images: images,
|
|
staticVar: false,
|
|
extensionName: "GenImages",
|
|
inputFilename: "myInputFilename",
|
|
isSwiftUI: false,
|
|
visibility: .public
|
|
)
|
|
|
|
// Expect
|
|
let expect = """
|
|
// Generated by ResgenSwift.Images \(ResgenSwiftVersion)
|
|
// Images from myInputFilename
|
|
|
|
import UIKit
|
|
|
|
extension GenImages {
|
|
|
|
public var image_one: UIImage {
|
|
UIImage(named: "image_one")!
|
|
}
|
|
|
|
public var image_two: UIImage {
|
|
UIImage(named: "image_two")!
|
|
}
|
|
}
|
|
"""
|
|
|
|
XCTAssertEqual(extensionContent.adaptForXCTest(), expect.adaptForXCTest())
|
|
}
|
|
|
|
func test_uiKit_GeneratedExtensionContentForStaticVar() {
|
|
// Given
|
|
let images = [
|
|
ParsedImage(name: "image_one", tags: "id", width: 10, height: 10),
|
|
ParsedImage(name: "image_two", tags: "id", width: 180, height: 90),
|
|
]
|
|
|
|
// When
|
|
let extensionContent = ImageExtensionGenerator.getExtensionContent(
|
|
images: images,
|
|
staticVar: true,
|
|
extensionName: "GenImages",
|
|
inputFilename: "myInputFilename",
|
|
isSwiftUI: false,
|
|
visibility: .internal
|
|
)
|
|
|
|
// Expect
|
|
let expect = """
|
|
// Generated by ResgenSwift.Images \(ResgenSwiftVersion)
|
|
// Images from myInputFilename
|
|
|
|
import UIKit
|
|
|
|
extension GenImages {
|
|
|
|
internal static var image_one: UIImage {
|
|
UIImage(named: "image_one")!
|
|
}
|
|
|
|
internal static var image_two: UIImage {
|
|
UIImage(named: "image_two")!
|
|
}
|
|
}
|
|
"""
|
|
|
|
XCTAssertEqual(extensionContent.adaptForXCTest(), expect.adaptForXCTest())
|
|
}
|
|
|
|
func test_swiftUI_GeneratedExtensionContent() {
|
|
// Given
|
|
let images = [
|
|
ParsedImage(name: "image_one", tags: "id", width: 10, height: 10),
|
|
ParsedImage(name: "image_two", tags: "id", width: 180, height: 90),
|
|
]
|
|
|
|
// When
|
|
let extensionContent = ImageExtensionGenerator.getExtensionContent(
|
|
images: images,
|
|
staticVar: false,
|
|
extensionName: "GenImages",
|
|
inputFilename: "myInputFilename",
|
|
isSwiftUI: true,
|
|
visibility: .public
|
|
)
|
|
|
|
// Expect
|
|
let expect = """
|
|
// Generated by ResgenSwift.Images \(ResgenSwiftVersion)
|
|
// Images from myInputFilename
|
|
|
|
import SwiftUI
|
|
|
|
extension GenImages {
|
|
|
|
public var image_one: Image {
|
|
Image("image_one")
|
|
}
|
|
|
|
public var image_two: Image {
|
|
Image("image_two")
|
|
}
|
|
}
|
|
"""
|
|
|
|
XCTAssertEqual(extensionContent.adaptForXCTest(), expect.adaptForXCTest())
|
|
}
|
|
|
|
func test_swiftUI_GeneratedExtensionContentForStaticVar() {
|
|
// Given
|
|
let images = [
|
|
ParsedImage(name: "image_one", tags: "id", width: 10, height: 10),
|
|
ParsedImage(name: "image_two", tags: "id", width: 180, height: 90),
|
|
]
|
|
|
|
// When
|
|
let extensionContent = ImageExtensionGenerator.getExtensionContent(
|
|
images: images,
|
|
staticVar: true,
|
|
extensionName: "GenImages",
|
|
inputFilename: "myInputFilename",
|
|
isSwiftUI: true,
|
|
visibility: .package
|
|
)
|
|
|
|
// Expect
|
|
let expect = """
|
|
// Generated by ResgenSwift.Images \(ResgenSwiftVersion)
|
|
// Images from myInputFilename
|
|
|
|
import SwiftUI
|
|
|
|
extension GenImages {
|
|
|
|
package static var image_one: Image {
|
|
Image("image_one")
|
|
}
|
|
|
|
package static var image_two: Image {
|
|
Image("image_two")
|
|
}
|
|
}
|
|
"""
|
|
|
|
XCTAssertEqual(extensionContent.adaptForXCTest(), expect.adaptForXCTest())
|
|
}
|
|
}
|