@@ -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