Publish v1.0
Some checks failed
gitea-openium/resgen.swift/pipeline/head There was a failure building this commit
Some checks failed
gitea-openium/resgen.swift/pipeline/head There was a failure building this commit
Reviewed-on: #1
This commit is contained in:
@ -0,0 +1,85 @@
|
||||
//
|
||||
// ImageExtensionGeneratorTests.swift
|
||||
//
|
||||
//
|
||||
// Created by Thibaut Schmitt on 05/09/2022.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import XCTest
|
||||
import ToolCore
|
||||
|
||||
@testable import ResgenSwift
|
||||
|
||||
final class ImageExtensionGeneratorTests: XCTestCase {
|
||||
|
||||
func testGeneratedExtensionContent() {
|
||||
// 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")
|
||||
|
||||
// Expect
|
||||
let expect = """
|
||||
// Generated by ResgenSwift.Images \(ResgenSwiftVersion)
|
||||
// Images from myInputFilename
|
||||
|
||||
import UIKit
|
||||
|
||||
extension GenImages {
|
||||
|
||||
var image_one: UIImage {
|
||||
UIImage(named: "image_one")!
|
||||
}
|
||||
|
||||
var image_two: UIImage {
|
||||
UIImage(named: "image_two")!
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
XCTAssertEqual(extensionContent.adaptForXCTest(), expect.adaptForXCTest())
|
||||
}
|
||||
|
||||
func testGeneratedExtensionContentForStaticVar() {
|
||||
// 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")
|
||||
|
||||
// Expect
|
||||
let expect = """
|
||||
// Generated by ResgenSwift.Images \(ResgenSwiftVersion)
|
||||
// Images from myInputFilename
|
||||
|
||||
import UIKit
|
||||
|
||||
extension GenImages {
|
||||
|
||||
static var image_one: UIImage {
|
||||
UIImage(named: "image_one")!
|
||||
}
|
||||
|
||||
static var image_two: UIImage {
|
||||
UIImage(named: "image_two")!
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
XCTAssertEqual(extensionContent.adaptForXCTest(), expect.adaptForXCTest())
|
||||
}
|
||||
}
|
50
Tests/ResgenSwiftTests/Images/ImageFileParserTests.swift
Normal file
50
Tests/ResgenSwiftTests/Images/ImageFileParserTests.swift
Normal file
@ -0,0 +1,50 @@
|
||||
//
|
||||
// ImageFileParserTests.swift
|
||||
//
|
||||
//
|
||||
// Created by Thibaut Schmitt on 05/09/2022.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import XCTest
|
||||
|
||||
@testable import ResgenSwift
|
||||
|
||||
class ImageFileParserTests: XCTestCase {
|
||||
func testParseImagesFile() {
|
||||
// Given
|
||||
let input = """
|
||||
#
|
||||
# SMAAS Support
|
||||
#
|
||||
id image_one 25 ?
|
||||
di image_two ? 50
|
||||
d image_three 25 ?
|
||||
d image_four 75 ?
|
||||
"""
|
||||
.components(separatedBy: CharacterSet.newlines)
|
||||
|
||||
// When
|
||||
let parsedImages = ImageFileParser.parseLines(input,
|
||||
platform: PlatormTag.ios)
|
||||
|
||||
// Expect
|
||||
XCTAssertEqual(parsedImages.count, 2)
|
||||
|
||||
let firstImage = parsedImages.first {
|
||||
$0.name == "image_one"
|
||||
}
|
||||
XCTAssertEqual(firstImage!.name, "image_one")
|
||||
XCTAssertEqual(firstImage!.tags, "id")
|
||||
XCTAssertEqual(firstImage!.width, 25)
|
||||
XCTAssertEqual(firstImage!.height, -1)
|
||||
|
||||
let secondImage = parsedImages.first {
|
||||
$0.name == "image_two"
|
||||
}
|
||||
XCTAssertEqual(secondImage!.name, "image_two")
|
||||
XCTAssertEqual(secondImage!.tags, "di")
|
||||
XCTAssertEqual(secondImage!.width, -1)
|
||||
XCTAssertEqual(secondImage!.height, 50)
|
||||
}
|
||||
}
|
119
Tests/ResgenSwiftTests/Images/ParsedImageTests.swift
Normal file
119
Tests/ResgenSwiftTests/Images/ParsedImageTests.swift
Normal file
@ -0,0 +1,119 @@
|
||||
//
|
||||
// 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 testGeneratedProperty() {
|
||||
// Given
|
||||
let imageName = "the_name"
|
||||
let parsedImage = ParsedImage(name: imageName,
|
||||
tags: "id",
|
||||
width: 10,
|
||||
height: 10)
|
||||
|
||||
// When
|
||||
let property = parsedImage.getImageProperty()
|
||||
|
||||
// Expect
|
||||
let expect = """
|
||||
var \(imageName): UIImage {
|
||||
UIImage(named: "\(imageName)")!
|
||||
}
|
||||
"""
|
||||
|
||||
XCTAssertEqual(property.adaptForXCTest(), expect.adaptForXCTest())
|
||||
}
|
||||
|
||||
func testGeneratedStaticProperty() {
|
||||
// Given
|
||||
let imageName = "the_name"
|
||||
let parsedImage = ParsedImage(name: imageName,
|
||||
tags: "id",
|
||||
width: 10,
|
||||
height: 10)
|
||||
|
||||
// When
|
||||
let property = parsedImage.getStaticImageProperty()
|
||||
|
||||
// Expect
|
||||
let expect = """
|
||||
static var \(imageName): UIImage {
|
||||
UIImage(named: "\(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.contentJson
|
||||
|
||||
// Expect
|
||||
let expect = """
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x",
|
||||
"filename" : "\(imageName).\(XcassetsGenerator.outputImageExtension)"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x",
|
||||
"filename" : "\(imageName)@2x.\(XcassetsGenerator.outputImageExtension)"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x",
|
||||
"filename" : "\(imageName)@3x.\(XcassetsGenerator.outputImageExtension)"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "ResgenSwift-Imagium"
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
XCTAssertEqual(property.adaptForXCTest(), expect.adaptForXCTest())
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user