diff --git a/Source/CoreGraphicsPolyfill.swift b/Source/CoreGraphicsPolyfill.swift index cb9121d..ea090ce 100644 --- a/Source/CoreGraphicsPolyfill.swift +++ b/Source/CoreGraphicsPolyfill.swift @@ -5,9 +5,7 @@ // Created by khoi on 10/5/25. // -#if os(Linux) || os(WASI) || os(Android) -import Foundation -#elseif canImport(FoundationEssentials) +#if canImport(FoundationEssentials) import FoundationEssentials #else import Foundation @@ -21,12 +19,7 @@ import Android import Glibc #endif -#if os(Linux) || os(WASI) || os(Android) -public typealias CGFloat = Foundation.CGFloat -public typealias CGPoint = Foundation.CGPoint -public typealias CGSize = Foundation.CGSize -public typealias CGRect = Foundation.CGRect -#elseif !canImport(CoreGraphics) +#if !canImport(CoreGraphics) public typealias CGFloat = Double public struct CGPoint: Equatable { diff --git a/Source/Serialization/Serializations.swift b/Source/Serialization/Serializations.swift index e538548..19259d2 100644 --- a/Source/Serialization/Serializations.swift +++ b/Source/Serialization/Serializations.swift @@ -49,7 +49,7 @@ extension CGFloat: SerializableAtom { } -#if canImport(CoreGraphics) || os(Linux) || os(WASI) || os(Android) +#if canImport(CoreGraphics) extension Double: SerializableAtom { func serialize() -> String { diff --git a/Tests/CoreGraphicsPolyfillTests/PolyfillTests.swift b/Tests/CoreGraphicsPolyfillTests/PolyfillTests.swift index 65ea17e..d2ef2cf 100644 --- a/Tests/CoreGraphicsPolyfillTests/PolyfillTests.swift +++ b/Tests/CoreGraphicsPolyfillTests/PolyfillTests.swift @@ -16,23 +16,32 @@ // since the polyfill types are aliases to the native CoreGraphics types. // +#if canImport(FoundationEssentials) +import FoundationEssentials +#else import Foundation +#endif + +#if os(WASI) +import WASILibc +#elseif canImport(Android) +import Android +#elseif canImport(Glibc) +import Glibc +#endif + import XCTest @testable import SVGView final class PolyfillTests: XCTestCase { - - #if os(WASI) || os(Linux) || os(Android) - func testGeometryTypesMatchFoundation() { - let scalar: Foundation.CGFloat = CGFloat(1) - let point: Foundation.CGPoint = CGPoint(x: scalar, y: scalar) - let size: Foundation.CGSize = CGSize(width: scalar, height: scalar) - let rect: Foundation.CGRect = CGRect(origin: point, size: size) + #if os(WASI) || os(Linux) || os(Android) - XCTAssertEqual(rect, Foundation.CGRect(x: 1, y: 1, width: 1, height: 1)) - } + private typealias CGFloat = SVGView.CGFloat + private typealias CGPoint = SVGView.CGPoint + private typealias CGSize = SVGView.CGSize + private typealias CGRect = SVGView.CGRect func testDoubleSerialization() { XCTAssertEqual(Double(1).serialize(), "1")