feat(RES-58): Add new parameter "bundle" (#19)
All checks were successful
gitea-openium/resgen.swift/pipeline/head This commit looks good

Add bundle parameter to define if resource should be load from Bundle.main (app) or Bundle.module (SPM package)

Reviewed-on: #19
This commit is contained in:
2025-07-25 16:14:36 +02:00
parent 5ad219ae89
commit f329386ccf
37 changed files with 866 additions and 403 deletions

View File

@@ -23,11 +23,12 @@ final class ImageExtensionGeneratorTests: XCTestCase {
// When
let extensionContent = ImageExtensionGenerator.getExtensionContent(
images: images,
staticVar: false,
isStatic: false,
extensionName: "GenImages",
inputFilename: "myInputFilename",
isSwiftUI: false,
visibility: .public
visibility: .public,
assetBundle: .main
)
// Expect
@@ -40,11 +41,11 @@ final class ImageExtensionGeneratorTests: XCTestCase {
extension GenImages {
public var image_one: UIImage {
UIImage(named: "image_one")!
UIImage(named: "image_one", in: Bundle.main, with: nil)!
}
public var image_two: UIImage {
UIImage(named: "image_two")!
UIImage(named: "image_two", in: Bundle.main, with: nil)!
}
}
"""
@@ -52,7 +53,7 @@ final class ImageExtensionGeneratorTests: XCTestCase {
XCTAssertEqual(extensionContent.adaptForXCTest(), expect.adaptForXCTest())
}
func test_uiKit_GeneratedExtensionContentForStaticVar() {
func test_uiKit_GeneratedExtensionContentForIsStatic() {
// Given
let images = [
ParsedImage(name: "image_one", tags: "id", width: 10, height: 10),
@@ -62,11 +63,12 @@ final class ImageExtensionGeneratorTests: XCTestCase {
// When
let extensionContent = ImageExtensionGenerator.getExtensionContent(
images: images,
staticVar: true,
isStatic: true,
extensionName: "GenImages",
inputFilename: "myInputFilename",
isSwiftUI: false,
visibility: .internal
visibility: .internal,
assetBundle: .module
)
// Expect
@@ -79,11 +81,11 @@ final class ImageExtensionGeneratorTests: XCTestCase {
extension GenImages {
internal static var image_one: UIImage {
UIImage(named: "image_one")!
UIImage(named: "image_one", in: Bundle.module, with: nil)!
}
internal static var image_two: UIImage {
UIImage(named: "image_two")!
UIImage(named: "image_two", in: Bundle.module, with: nil)!
}
}
"""
@@ -101,11 +103,12 @@ final class ImageExtensionGeneratorTests: XCTestCase {
// When
let extensionContent = ImageExtensionGenerator.getExtensionContent(
images: images,
staticVar: false,
isStatic: false,
extensionName: "GenImages",
inputFilename: "myInputFilename",
isSwiftUI: true,
visibility: .public
visibility: .public,
assetBundle: .main
)
// Expect
@@ -118,11 +121,11 @@ final class ImageExtensionGeneratorTests: XCTestCase {
extension GenImages {
public var image_one: Image {
Image("image_one")
Image("image_one", bundle: Bundle.main)
}
public var image_two: Image {
Image("image_two")
Image("image_two", bundle: Bundle.main)
}
}
"""
@@ -130,7 +133,7 @@ final class ImageExtensionGeneratorTests: XCTestCase {
XCTAssertEqual(extensionContent.adaptForXCTest(), expect.adaptForXCTest())
}
func test_swiftUI_GeneratedExtensionContentForStaticVar() {
func test_swiftUI_GeneratedExtensionContentForIsStatic() {
// Given
let images = [
ParsedImage(name: "image_one", tags: "id", width: 10, height: 10),
@@ -140,11 +143,12 @@ final class ImageExtensionGeneratorTests: XCTestCase {
// When
let extensionContent = ImageExtensionGenerator.getExtensionContent(
images: images,
staticVar: true,
isStatic: true,
extensionName: "GenImages",
inputFilename: "myInputFilename",
isSwiftUI: true,
visibility: .package
visibility: .package,
assetBundle: .module
)
// Expect
@@ -157,11 +161,11 @@ final class ImageExtensionGeneratorTests: XCTestCase {
extension GenImages {
package static var image_one: Image {
Image("image_one")
Image("image_one", bundle: Bundle.module)
}
package static var image_two: Image {
Image("image_two")
Image("image_two", bundle: Bundle.module)
}
}
"""

View File

@@ -48,13 +48,14 @@ final class ParsedImageTests: XCTestCase {
let property = parsedImage.getImageProperty(
isStatic: false,
isSwiftUI: false,
visibility: .public
visibility: .public,
assetBundle: .main
)
// Expect
let expect = """
public var \(imageName): UIImage {
UIImage(named: "\(imageName)")!
UIImage(named: "\(imageName)", in: Bundle.main, with: nil)!
}
"""
@@ -75,13 +76,14 @@ final class ParsedImageTests: XCTestCase {
let property = parsedImage.getImageProperty(
isStatic: true,
isSwiftUI: false,
visibility: .internal
visibility: .internal,
assetBundle: .module
)
// Expect
let expect = """
internal static var \(imageName): UIImage {
UIImage(named: "\(imageName)")!
UIImage(named: "\(imageName)", in: Bundle.module, with: nil)!
}
"""
@@ -102,13 +104,14 @@ final class ParsedImageTests: XCTestCase {
let property = parsedImage.getImageProperty(
isStatic: false,
isSwiftUI: true,
visibility: .private
visibility: .private,
assetBundle: .main
)
// Expect
let expect = """
private var \(imageName): Image {
Image("\(imageName)")
Image("\(imageName)", bundle: Bundle.main)
}
"""
@@ -129,13 +132,14 @@ final class ParsedImageTests: XCTestCase {
let property = parsedImage.getImageProperty(
isStatic: true,
isSwiftUI: true,
visibility: .package
visibility: .package,
assetBundle: .module
)
// Expect
let expect = """
package static var \(imageName): Image {
Image("\(imageName)")
Image("\(imageName)", bundle: Bundle.module)
}
"""