diff --git a/Sources/HandySwiftUI/Extensions/ImageExt.swift b/Sources/HandySwiftUI/Extensions/ImageExt.swift index 3d10af4..39f14b0 100644 --- a/Sources/HandySwiftUI/Extensions/ImageExt.swift +++ b/Sources/HandySwiftUI/Extensions/ImageExt.swift @@ -21,7 +21,7 @@ extension Image { /// let imageView = Image(convertible: symbol) /// ``` public init(convertible: CustomSymbolConvertible, variableValue: Double? = nil) { - self.init(systemName: convertible.symbolName, variableValue: variableValue) + self.init(systemName: convertible.symbolSystemName, variableValue: variableValue) } } diff --git a/Sources/HandySwiftUI/Extensions/LabelExt.swift b/Sources/HandySwiftUI/Extensions/LabelExt.swift index 0a5e5d1..026e3ab 100644 --- a/Sources/HandySwiftUI/Extensions/LabelExt.swift +++ b/Sources/HandySwiftUI/Extensions/LabelExt.swift @@ -19,6 +19,6 @@ extension Label { /// // Creates a Label with "Settings" text and a gear icon /// ``` public init(convertible: CustomLabelConvertible) { - self.init(convertible.description, systemImage: convertible.symbolName) + self.init(convertible.description, systemImage: convertible.symbolSystemName) } } diff --git a/Tests/HandySwiftUITests/ConvertibleTests.swift b/Tests/HandySwiftUITests/ConvertibleTests.swift new file mode 100644 index 0000000..9e6a945 --- /dev/null +++ b/Tests/HandySwiftUITests/ConvertibleTests.swift @@ -0,0 +1,25 @@ +import SwiftUI +import Testing + +@testable import HandySwiftUI + +@MainActor +struct ConvertibleTests { + struct RotatedStar: CustomLabelConvertible { + var description: String { "Rotated Star" } + var symbolName: String { "star:45*2" } + } + + @Test + func imageUsesTheSymbolNameWithoutMetadata() { + #expect(Image(convertible: RotatedStar()) == Image(systemName: "star")) + } + + @Test + func labelUsesTheSymbolNameWithoutMetadata() throws { + let label = Label(convertible: RotatedStar()) + let icon = try #require(Mirror(reflecting: label).children.first { $0.label == "icon" }?.value as? Image) + + #expect(icon == Image(systemName: "star")) + } +}