Skip to content

Commit b6fd600

Browse files
CopilotZandor300
andcommitted
Add tests for Apple Pencil compatibility
Co-authored-by: Zandor300 <6069593+Zandor300@users.noreply.github.com>
1 parent 97c6afd commit b6fd600

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

Tests/Tests.swift

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -713,6 +713,56 @@ class DeviceKitTests: XCTestCase {
713713
}
714714
}
715715

716+
func testApplePencilSupport() {
717+
// Test iPad (10th gen) - Supports Apple Pencil (1st gen) and Apple Pencil (USB-C)
718+
XCTAssertTrue(Device.iPad10.applePencilSupport.contains(.firstGeneration))
719+
XCTAssertTrue(Device.iPad10.applePencilSupport.contains(.firstGenerationUsbC))
720+
XCTAssertFalse(Device.iPad10.applePencilSupport.contains(.secondGeneration))
721+
XCTAssertFalse(Device.iPad10.applePencilSupport.contains(.pro))
722+
723+
// Test iPad (A16) - Supports Apple Pencil (1st gen) and Apple Pencil (USB-C)
724+
XCTAssertTrue(Device.iPadA16.applePencilSupport.contains(.firstGeneration))
725+
XCTAssertTrue(Device.iPadA16.applePencilSupport.contains(.firstGenerationUsbC))
726+
XCTAssertFalse(Device.iPadA16.applePencilSupport.contains(.secondGeneration))
727+
XCTAssertFalse(Device.iPadA16.applePencilSupport.contains(.pro))
728+
729+
// Test iPad Air 11" (M2) - Supports Apple Pencil Pro and Apple Pencil (USB-C)
730+
XCTAssertFalse(Device.iPadAir11M2.applePencilSupport.contains(.firstGeneration))
731+
XCTAssertTrue(Device.iPadAir11M2.applePencilSupport.contains(.firstGenerationUsbC))
732+
XCTAssertFalse(Device.iPadAir11M2.applePencilSupport.contains(.secondGeneration))
733+
XCTAssertTrue(Device.iPadAir11M2.applePencilSupport.contains(.pro))
734+
735+
// Test iPad Air 13" (M2) - Supports Apple Pencil Pro and Apple Pencil (USB-C)
736+
XCTAssertFalse(Device.iPadAir13M2.applePencilSupport.contains(.firstGeneration))
737+
XCTAssertTrue(Device.iPadAir13M2.applePencilSupport.contains(.firstGenerationUsbC))
738+
XCTAssertFalse(Device.iPadAir13M2.applePencilSupport.contains(.secondGeneration))
739+
XCTAssertTrue(Device.iPadAir13M2.applePencilSupport.contains(.pro))
740+
741+
// Test iPad Air 11" (M3) - Supports Apple Pencil Pro and Apple Pencil (USB-C)
742+
XCTAssertFalse(Device.iPadAir11M3.applePencilSupport.contains(.firstGeneration))
743+
XCTAssertTrue(Device.iPadAir11M3.applePencilSupport.contains(.firstGenerationUsbC))
744+
XCTAssertFalse(Device.iPadAir11M3.applePencilSupport.contains(.secondGeneration))
745+
XCTAssertTrue(Device.iPadAir11M3.applePencilSupport.contains(.pro))
746+
747+
// Test iPad Air 13" (M3) - Supports Apple Pencil Pro and Apple Pencil (USB-C)
748+
XCTAssertFalse(Device.iPadAir13M3.applePencilSupport.contains(.firstGeneration))
749+
XCTAssertTrue(Device.iPadAir13M3.applePencilSupport.contains(.firstGenerationUsbC))
750+
XCTAssertFalse(Device.iPadAir13M3.applePencilSupport.contains(.secondGeneration))
751+
XCTAssertTrue(Device.iPadAir13M3.applePencilSupport.contains(.pro))
752+
753+
// Test iPad Pro 11" (M4) - Supports Apple Pencil Pro and Apple Pencil (USB-C)
754+
XCTAssertFalse(Device.iPadPro11M4.applePencilSupport.contains(.firstGeneration))
755+
XCTAssertTrue(Device.iPadPro11M4.applePencilSupport.contains(.firstGenerationUsbC))
756+
XCTAssertFalse(Device.iPadPro11M4.applePencilSupport.contains(.secondGeneration))
757+
XCTAssertTrue(Device.iPadPro11M4.applePencilSupport.contains(.pro))
758+
759+
// Test iPad Pro 13" (M4) - Supports Apple Pencil Pro and Apple Pencil (USB-C)
760+
XCTAssertFalse(Device.iPadPro13M4.applePencilSupport.contains(.firstGeneration))
761+
XCTAssertTrue(Device.iPadPro13M4.applePencilSupport.contains(.firstGenerationUsbC))
762+
XCTAssertFalse(Device.iPadPro13M4.applePencilSupport.contains(.secondGeneration))
763+
XCTAssertTrue(Device.iPadPro13M4.applePencilSupport.contains(.pro))
764+
}
765+
716766
#endif
717767

718768
// MARK: - tvOS

0 commit comments

Comments
 (0)