diff options
Diffstat (limited to 'SoraTests/ViewDerivedDataTests.swift')
| -rw-r--r-- | SoraTests/ViewDerivedDataTests.swift | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/SoraTests/ViewDerivedDataTests.swift b/SoraTests/ViewDerivedDataTests.swift index 7ec8f9f..3a1d8df 100644 --- a/SoraTests/ViewDerivedDataTests.swift +++ b/SoraTests/ViewDerivedDataTests.swift @@ -325,6 +325,42 @@ final class ViewDerivedDataTests: XCTestCase { // swiftlint:disable:this type_b ) } + func testInteractiveImageViewProvidesExplicitAccessibilityMetadata() throws { + let source = try loadSource(at: "Sora/Views/InteractiveImageView.swift") + let normalizedSource = strippingCommentsAndStrings(from: source) + let accessibilityLabelCount = tokenCount( + matching: #"\.accessibilityLabel\s*\("#, + in: normalizedSource + ) + let accessibilityHintCount = tokenCount( + matching: #"\.accessibilityHint\s*\("#, + in: normalizedSource + ) + let accessibilityValueCount = tokenCount( + matching: #"\.accessibilityValue\s*\("#, + in: normalizedSource + ) + + // swiftlint:disable:next prefer_nimble + XCTAssertGreaterThan( + accessibilityLabelCount, + 0, + "Interactive image view should expose an explicit accessibility label." + ) + // swiftlint:disable:next prefer_nimble + XCTAssertGreaterThan( + accessibilityHintCount, + 0, + "Interactive image view should expose an explicit accessibility hint." + ) + // swiftlint:disable:next prefer_nimble + XCTAssertGreaterThan( + accessibilityValueCount, + 0, + "Interactive image view should expose stateful accessibility metadata." + ) + } + func testListViewsAvoidComparatorRandomShuffleSorting() throws { let listViewSource = try loadSource(at: "Sora/Views/Generic/GenericListView.swift") let favoritesViewSource = try loadSource(at: "Sora/Views/FavoritesView.swift") |