โ BookSignInRedirectHandlerTests.testHandleProblem_alreadySAMLStarted_setsFailedAndPresentsReauthModal
Duration: <1ms
โ AccountsManagerStateMachineWiringTests.testSingleFlight_twoConcurrentAwaiters_oneNetworkRequest
Duration: 599ms
Duration: <1ms
Duration: 599ms
| Class | Total | Passed | Failed | Duration | |
|---|---|---|---|---|---|
| โ | AccessLintComplianceTests | 11 | 11 | 0 | 60ms |
| โ | AccessibilityAnnouncementCenterTests | 20 | 20 | 0 | 1.60s |
| โ | AccessibilityLabelTests | 9 | 9 | 0 | 954ms |
| โ | AccessibilityPreferencesTests | 26 | 26 | 0 | 145ms |
| โ | AccessibilityServiceTests | 11 | 11 | 0 | 111ms |
| โ | AccountAuthDocCarryoverTests | 5 | 5 | 0 | 534ms |
| โ | AccountAuthSurfaceHostsTests | 7 | 7 | 0 | 101ms |
| โ | AccountAwareNetworkTests | 10 | 10 | 0 | 3.43s |
| โ | AccountCredentialResolverTests | 5 | 5 | 0 | 86ms |
| โ | AccountDetailCredentialStateTests | 7 | 7 | 0 | 607ms |
| โ | AccountDetailPINVisibilityTests | 25 | 23 | 0 | 1.76s |
| โ | AccountDetailSignOutConfirmationTests | 2 | 2 | 0 | 637ms |
| โ | AccountDetailViewModelGapTests | 1 | 1 | 0 | 48ms |
| โ | AccountDetailViewModelLeakTests | 1 | 1 | 0 | 98ms |
| โ | AccountDetailViewModelSignedInDerivationTests | 5 | 5 | 0 | 395ms |
| โ | AccountDetailViewModelTests | 19 | 19 | 0 | 1.08s |
| โ | AccountDetailsAuthenticationIsBrowserBasedTests | 10 | 10 | 0 | 358ms |
| โ | AccountDetailsNeedsAuthAggregateTests | 10 | 10 | 0 | 9ms |
| โ | AccountDetailsURLTests | 17 | 17 | 0 | 257ms |
| โ | AccountErrorReportingTests | 1 | 1 | 0 | 3ms |
| โ | AccountModelGapTests | 9 | 9 | 0 | 744ms |
| โ | AccountModelTests | 20 | 20 | 0 | 61ms |
| โ | AccountNetworkingSeamTests | 2 | 2 | 0 | 99ms |
| โ | AccountProfileDocumentTests | 25 | 25 | 0 | 741ms |
| โ | AccountProfileGateLintTests | 3 | 3 | 0 | 54ms |
| โ | AccountRegistryCacheSeamTests | 3 | 3 | 0 | 644ms |
| โ | AccountRegistryLoaderSeamTests | 3 | 3 | 0 | 12ms |
| โ | AccountRegistryStorePoolStarvationTests | 3 | 2 | 0 | 120ms |
| โ | AccountRegistryStoreSeamTests | 6 | 6 | 0 | 118ms |
| โ | AccountScopeAdapterTests | 5 | 5 | 0 | 414ms |
| โ | AccountStateMachineTests | 13 | 13 | 0 | 980ms |
| โ | AccountSwitchBorrowReauthCouplingContractTests | 4 | 4 | 0 | 250ms |
| โ | AccountSwitchCleanupTests | 8 | 8 | 0 | 269ms |
| โ | AccountSwitchIntegrationTests | 8 | 8 | 0 | 86ms |
| โ | AccountSwitchLifecycleTests | 9 | 9 | 0 | 902ms |
| โ | AccountsManagerAccountIndexTests | 7 | 7 | 0 | 199ms |
| โ | AccountsManagerAuthDocContractTests | 1 | 1 | 0 | 158ms |
| โ | AccountsManagerCacheReadTests | 4 | 4 | 0 | 272ms |
| โ | AccountsManagerCacheTests | 16 | 16 | 0 | 822ms |
| โ | AccountsManagerCancellationTests | 5 | 5 | 0 | 628ms |
| โ | AccountsManagerCatalogLoadJoinTests | 3 | 3 | 0 | 1.57s |
| โ | AccountsManagerCurrentAccountSwitchContractTests | 5 | 5 | 0 | 437ms |
| โ | AccountsManagerFirstRunDecodeTests | 3 | 3 | 0 | 1.29s |
| โ | AccountsManagerGapTests | 3 | 3 | 0 | 4ms |
| โ | AccountsManagerHelpersTests | 12 | 12 | 0 | 256ms |
| โ | AccountsManagerIsolationLintTests | 4 | 4 | 0 | 1.12s |
| โ | AccountsManagerLaunchSnapshotTests | 13 | 13 | 0 | 7.84s |
| โ | AccountsManagerStateMachineWiringTests | 18 | 17 | 1 | 4.52s |
| โ | AccountsManagerTests | 51 | 48 | 0 | 2.23s |
| โ | AdobeActivationCoordinatorTests | 4 | 4 | 0 | 215ms |
| โ | AdobeActivationDedupTests | 8 | 8 | 0 | 409ms |
| โ | AdobeActivationLicensorGraceTests | 7 | 7 | 0 | 530ms |
| โ | AdobeActivationRefreshLicensorTests | 16 | 16 | 0 | 1.17s |
| โ | AdobeActivationTests | 6 | 6 | 0 | 58ms |
| โ | AdobeCertificateGapTests | 7 | 7 | 0 | 110ms |
| โ | AdobeClientTokenSplitTests | 19 | 19 | 0 | 784ms |
| โ | AdobeDRMCharacterizationTests | 21 | 21 | 0 | 101ms |
| โ | AdobeDRMErrorGapTests | 3 | 3 | 0 | 159ms |
| โ | AdobeDRMErrorMappingTests | 9 | 9 | 0 | 637ms |
| โ | AdobeDRMHandlerTests | 12 | 12 | 0 | 517ms |
| โ | AdobeDRMServiceGapTests | 2 | 2 | 0 | 15ms |
| โ | AdobeDeauthorizationTests | 16 | 16 | 0 | 1.10s |
| โ | AdobeLicensorRefreshTests | 13 | 13 | 0 | 188ms |
| โ | AlertModelCoverageTests | 6 | 6 | 0 | 9ms |
| โ | AlertModelRetryTests | 7 | 7 | 0 | 161ms |
| โ | AlertModelTests | 2 | 2 | 0 | 2ms |
| โ | AlertPresentationRawGuardLintTests | 6 | 6 | 0 | 55ms |
| โ | AlertUtilsTests | 20 | 20 | 0 | 2.35s |
| โ | AnnotationContractTests | 3 | 3 | 0 | 15ms |
| โ | AnnotationDeviceIDTests | 2 | 2 | 0 | 2ms |
| โ | AnnotationPostResponseContractTests | 1 | 1 | 0 | 3ms |
| โ | AnnouncementChainTests | 5 | 5 | 0 | 8ms |
| โ | AnnouncementTests | 3 | 3 | 0 | 10ms |
| โ | AppContainerAudiobookFactoryTests | 3 | 3 | 0 | 6ms |
| โ | AppContainerAuthCoordinatorRegistrationTests | 3 | 3 | 0 | 236ms |
| โ | AppContainerImageLoaderInjectionTests | 4 | 4 | 0 | 186ms |
| โ | AppContainerIsolationLintTests | 8 | 8 | 0 | 7.43s |
| โ | AppContainerResetTests | 5 | 5 | 0 | 111ms |
| โ | AppContainerTests | 5 | 5 | 0 | 70ms |
| โ | AppContainerWithSignInModalSheetPresenterTests | 2 | 2 | 0 | 10ms |
| โ | AppHealthViewModelTests | 8 | 8 | 0 | 90ms |
| โ | AppLaunchTrackerExtendedTests | 16 | 16 | 0 | 430ms |
| โ | AppLaunchTrackerTests | 10 | 10 | 0 | 267ms |
| โ | AppLaunchTrackerWiringTests | 2 | 2 | 0 | 52ms |
| โ | AppRatingServiceOverrideTests | 3 | 3 | 0 | 959ms |
| โ | AppRatingServiceTests | 9 | 9 | 0 | 213ms |
| โ | AppRouteTests | 5 | 5 | 0 | 72ms |
| โ | AppTabHostMiniPlayerIntegrationTests | 6 | 6 | 0 | 405ms |
| โ | AppTabHostViewBadgeCountTests | 10 | 10 | 0 | 374ms |
| โ | AppTabRouterCoverageTests | 4 | 4 | 0 | 95ms |
| โ | AppTabRouterGapTests | 3 | 3 | 0 | 32ms |
| โ | AppTabSelectionBindingLintTests | 2 | 2 | 0 | 7ms |
| โ | AppTabStackMemoryTests | 11 | 11 | 0 | 241ms |
| โ | AppTabSwitchPreservesStacksTests | 3 | 3 | 0 | 170ms |
| โ | ArrayExtensionsTests | 6 | 6 | 0 | 55ms |
| โ | AudioBookmarkGapTests | 6 | 6 | 0 | 213ms |
| โ | AudioEngineWrapperTests | 8 | 8 | 0 | 128ms |
| โ | AudioInterruptionLogicTests | 6 | 6 | 0 | 120ms |
| โ | AudioSessionActivatorTests | 8 | 8 | 0 | 43ms |
| โ | AudiobookAccessibilityTests | 7 | 7 | 0 | 7ms |
| โ | AudiobookBackgroundAudioTests | 2 | 2 | 0 | 158ms |
| โ | AudiobookBearerTokenRecoveryTests | 21 | 21 | 0 | 72ms |
| โ | AudiobookBookmarkBusinessLogicConcurrencyTests | 3 | 3 | 0 | 903ms |
| โ | AudiobookBookmarkBusinessLogicPositionWriteTests | 9 | 9 | 0 | 10.35s |
| โ | AudiobookBookmarkBusinessLogicTests | 21 | 21 | 0 | 4.93s |
| โ | AudiobookChapterCompletionPauseTests | 7 | 7 | 0 | 190ms |
| โ | AudiobookChapterTOCNormalizationTests | 6 | 6 | 0 | 4ms |
| โ | AudiobookColdLoadRecoveryTests | 4 | 4 | 0 | 4ms |
| โ | AudiobookContentGateTests | 19 | 19 | 0 | 445ms |
| โ | AudiobookCrossVendorSmokeTests | 4 | 4 | 0 | 46ms |
| โ | AudiobookDataManagerEmptyQueueTests | 1 | 1 | 0 | 43ms |
| โ | AudiobookDataManagerErrorHandlingTests | 5 | 5 | 0 | 253ms |
| โ | AudiobookDataManagerModelsTests | 20 | 20 | 0 | 68ms |
| โ | AudiobookDataManagerNetworkSyncTests | 5 | 5 | 0 | 118ms |
| โ | AudiobookDataManagerSaveTests | 4 | 4 | 0 | 354ms |
| โ | AudiobookDataManagerStoreRecoveryTests | 5 | 5 | 0 | 82ms |
| โ | AudiobookFileLoggerTests | 15 | 15 | 0 | 4.06s |
| โ | AudiobookFirstOpenHangTests | 15 | 14 | 0 | 1.39s |
| โ | AudiobookLoadFailureSAMLReauthTests | 10 | 10 | 0 | 513ms |
| โ | AudiobookLoaderDispatchTests | 7 | 7 | 0 | 1.16s |
| โ | AudiobookLoaderFinalizeBuildTests | 11 | 11 | 0 | 1.29s |
| โ | AudiobookLoaderOPDSShapeMatrixTests | 8 | 8 | 0 | 1.37s |
| โ | AudiobookLoaderPredicateTests | 11 | 11 | 0 | 158ms |
| โ | AudiobookLoaderTests | 2 | 2 | 0 | 150ms |
| โ | AudiobookMorphingPlayerViewTests | 26 | 26 | 0 | 484ms |
| โ | AudiobookNetworkValidationTests | 3 | 3 | 0 | 1.34s |
| โ | AudiobookOpenStateRaceTests | 3 | 3 | 0 | 944ms |
| โ | AudiobookPhoneAlertContentTests | 3 | 3 | 0 | 9ms |
| โ | AudiobookPlaybackStateTests | 3 | 3 | 0 | 33ms |
| โ | AudiobookPlaybackTests | 26 | 26 | 0 | 388ms |
| โ | AudiobookPlaytimesLifecycleTests | 6 | 6 | 0 | 565ms |
| โ | AudiobookPositionAdapterContractTests | 3 | 3 | 0 | 136ms |
| โ | AudiobookPositionPolicyValidatorTests | 14 | 14 | 0 | 42ms |
| โ | AudiobookPositionRestoreTests | 25 | 25 | 0 | 1.68s |
| โ | AudiobookReadinessPlaybackContractTests | 2 | 2 | 0 | 291ms |
| โ | AudiobookSAMLReauthTests | 6 | 6 | 0 | 617ms |
| โ | AudiobookSessionErrorDescriptionTests | 4 | 4 | 0 | 5ms |
| โ | AudiobookSessionErrorExtTests | 4 | 4 | 0 | 5ms |
| โ | AudiobookSessionErrorTests | 3 | 3 | 0 | 10ms |
| โ | AudiobookSessionManagerErrorMappingTests | 6 | 6 | 0 | 6ms |
| โ | AudiobookSessionManagerFlagGatePresentationTests | 4 | 4 | 0 | 12.35s |
| โ | AudiobookSessionManagerPresenterMigrationTests | 10 | 10 | 0 | 359ms |
| โ | AudiobookSessionManagerShutdownTests | 12 | 12 | 0 | 283ms |
| โ | AudiobookSessionPresenterLifecycleContractTests | 3 | 3 | 0 | 74ms |
| โ | AudiobookSessionPresenterTests | 31 | 31 | 0 | 1.07s |
| โ | AudiobookSessionStateTests | 6 | 6 | 0 | 18ms |
| โ | AudiobookSessionStateTransitionTests | 22 | 22 | 0 | 649ms |
| โ | AudiobookSkipIntervalSettingsTests | 7 | 7 | 0 | 164ms |
| โ | AudiobookSleepTimerIntegrationTests | 5 | 5 | 0 | 218ms |
| โ | AudiobookStorageLocationTests | 3 | 3 | 0 | 2ms |
| โ | AudiobookTOCTests | 18 | 18 | 0 | 810ms |
| โ | AudiobookTimeEntryTests | 6 | 6 | 0 | 337ms |
| โ | AudiobookTimeTrackerEdgeTests | 8 | 8 | 0 | 284ms |
| โ | AudiobookTimeTrackerLifecycleTests | 5 | 5 | 0 | 1.19s |
| โ | AudiobookTimeTrackerTests | 9 | 9 | 0 | 207ms |
| โ | AudiobookTrackCompletionTests | 2 | 2 | 0 | 64ms |
| โ | AudiobookTypeRoutingTests | 5 | 5 | 0 | 5.04s |
| โ | AudiobookVendorAdapterTests | 5 | 5 | 0 | 48ms |
| โ | AudiobookVendorRecoveryContractTests | 1 | 1 | 0 | 67ms |
| โ | AudiobookmarkTests | 4 | 4 | 0 | 149ms |
| โ | AuthCoordinatorTelemetryTests | 5 | 5 | 0 | 105ms |
| โ | AuthDecisionEventEmissionTests | 7 | 7 | 0 | 68ms |
| โ | AuthDocumentContractTests | 2 | 2 | 0 | 3ms |
| โ | AuthDocumentLoaderSeamTests | 6 | 6 | 0 | 71ms |
| โ | AuthDocumentVariantsContractTests | 5 | 5 | 0 | 74ms |
| โ | AuthErrorCategoryTests | 12 | 12 | 0 | 15ms |
| โ | AuthErrorProblemDocSeamTests | 6 | 6 | 0 | 410ms |
| โ | AuthFlowSecurityTests | 3 | 3 | 0 | 24ms |
| โ | AuthReducerTests | 21 | 21 | 0 | 1.04s |
| โ | AuthTypeTests | 7 | 7 | 0 | 487ms |
| โ | AuthenticationTests | 16 | 16 | 0 | 259ms |
| โ | BackgroundDownloadHandlerTests | 28 | 28 | 0 | 437ms |
| โ | BackgroundDownloadTokenAccountTests | 5 | 5 | 0 | 616ms |
| โ | BackgroundListenerTests | 2 | 2 | 0 | 21ms |
| โ | BackgroundReconciliationContractTests | 8 | 8 | 0 | 461ms |
| โ | BackgroundSessionRoutingTests | 6 | 6 | 0 | 54ms |
| โ | BackupExclusionMigrationTests | 3 | 3 | 0 | 37ms |
| โ | BasicAuthEmptyCredentialTests | 4 | 4 | 0 | 6ms |
| โ | BearerTokenAdapterTests | 5 | 5 | 0 | 153ms |
| โ | BearerTokenFulfillFlowTests | 4 | 4 | 0 | 484ms |
| โ | BearerTokenRefreshTests | 4 | 4 | 0 | 119ms |
| โ | BearerTokenResponseDetectionTests | 7 | 7 | 0 | 11ms |
| โ | BeginningPositionPolicyTests | 8 | 8 | 0 | 4.19s |
| โ | BookAvailabilityFormatterTests | 18 | 18 | 0 | 334ms |
| โ | BookButtonMapperHoldReadyTests | 10 | 10 | 0 | 328ms |
| โ | BookButtonMapperTests | 21 | 21 | 0 | 164ms |
| โ | BookButtonMapperViewModelTests | 18 | 18 | 0 | 27ms |
| โ | BookButtonStateTests | 8 | 8 | 0 | 75ms |
| โ | BookButtonTypeMetaTests | 4 | 4 | 0 | 15ms |
| โ | BookButtonTypeTests | 13 | 13 | 0 | 99ms |
| โ | BookCellModelActionTests | 18 | 18 | 0 | 2.42s |
| โ | BookCellModelCacheInvalidationTests | 9 | 9 | 0 | 84ms |
| โ | BookCellModelCachePrefetchSafetyTests | 9 | 9 | 0 | 244ms |
| โ | BookCellModelCacheTests | 22 | 22 | 0 | 654ms |
| โ | BookCellModelComputedPropertyTests | 19 | 19 | 0 | 331ms |
| โ | BookCellModelLCPProgressTests | 7 | 7 | 0 | 343ms |
| โ | BookCellModelOfflineTests | 9 | 9 | 0 | 1.01s |
| โ | BookCellModelProcessingStateTests | 6 | 6 | 0 | 142ms |
| โ | BookCellModelRegistryBindingTests | 4 | 4 | 0 | 108ms |
| โ | BookCellModelStateTests | 16 | 16 | 0 | 618ms |
| โ | BookCellModelStreamingHTMLTests | 2 | 2 | 0 | 54ms |
| โ | BookCellStateComprehensiveTests | 14 | 14 | 0 | 770ms |
| โ | BookContentResetServiceTests | 2 | 2 | 0 | 16ms |
| โ | BookDetailButtonRoutingTests | 4 | 4 | 0 | 115ms |
| โ | BookDetailInfoValueLinkTests | 5 | 5 | 0 | 498ms |
| โ | BookDetailLCPContentProgressTests | 7 | 7 | 0 | 372ms |
| โ | BookDetailMetadataHydrationTests | 6 | 6 | 0 | 44ms |
| โ | BookDetailMetadataMergeContractTests | 5 | 5 | 0 | 69ms |
| โ | BookDetailOpenRoutingTests | 3 | 3 | 0 | 306ms |
| โ | BookDetailViewModelAudiobookDismissTests | 1 | 1 | 0 | 26ms |
| โ | BookDetailViewModelTests | 91 | 91 | 0 | 5.65s |
| โ | BookFileManagerAccountScopingTests | 5 | 5 | 0 | 1.63s |
| โ | BookFileManagerSideloadResolutionTests | 4 | 4 | 0 | 690ms |
| โ | BookFileManagerTests | 8 | 8 | 0 | 215ms |
| โ | BookListViewAccessibilityTests | 9 | 9 | 0 | 19ms |
| โ | BookPreviewTests | 4 | 4 | 0 | 158ms |
| โ | BookRegistryReconciliationTableTests | 10 | 10 | 0 | 79ms |
| โ | BookRegistryStoreTests | 26 | 26 | 0 | 1.45s |
| โ | BookRegistrySyncReadinessTests | 4 | 3 | 0 | 962ms |
| โ | BookRegistrySyncReentrancyTests | 6 | 6 | 0 | 481ms |
| โ | BookRegistrySyncSideloadExemptionTests | 2 | 2 | 0 | 608ms |
| โ | BookRegistrySyncTests | 42 | 42 | 0 | 3.39s |
| โ | BookRegistrySyncTimeoutSeamTests | 2 | 2 | 0 | 25ms |
| โ | BookReturnCleverReauthTests | 1 | 1 | 0 | 568ms |
| โ | BookReturnServiceAuthCoordinatorTests | 3 | 3 | 0 | 102ms |
| โ | BookReturnServiceContractTests | 9 | 9 | 0 | 650ms |
| โ | BookReturnServiceTests | 20 | 20 | 0 | 1.24s |
| โ | BookServiceAudiobookOpenTests | 2 | 2 | 0 | 185ms |
| โ | BookSignInRedirectHandlerTests | 8 | 7 | 1 | 250ms |
| โ | BookStateIntegrationTests | 8 | 8 | 0 | 1.14s |
| โ | BookmarkBusinessLogicExtendedTests | 6 | 6 | 0 | 252ms |
| โ | BookmarkDeletionLogTests | 3 | 3 | 0 | 181ms |
| โ | BookmarkDeviceIdMatchingTests | 3 | 3 | 0 | 220ms |
| โ | BookmarkExistenceTests | 4 | 4 | 0 | 311ms |
| โ | BookmarkManagerTests | 24 | 24 | 0 | 1.71s |
| โ | BookmarkSortingTests | 1 | 1 | 0 | 26ms |
| โ | BookmarkSyncTests | 3 | 3 | 0 | 1.64s |
| โ | BorrowAdobeActivationStepTests | 6 | 6 | 0 | 31ms |
| โ | BorrowAndDownloadIntegrationTests | 7 | 7 | 0 | 1.18s |
| โ | BorrowErrorMessageTests | 13 | 13 | 0 | 180ms |
| โ | BorrowErrorPresenterTests | 6 | 6 | 0 | 73ms |
| โ | BorrowOperationAuthCoordinatorTests | 6 | 6 | 0 | 145ms |
| โ | BorrowOperationCleverReauthTests | 2 | 2 | 0 | 117ms |
| โ | BorrowOperationContractTests | 8 | 8 | 0 | 1.02s |
| โ | BorrowOperationStreamingHTMLTests | 3 | 3 | 0 | 352ms |
| โ | BorrowOperationTests | 13 | 13 | 0 | 1.75s |
| โ | BorrowOperationTimeoutTests | 3 | 3 | 0 | 119ms |
| โ | BorrowReauthResettingTests | 4 | 4 | 0 | 577ms |
| โ | BorrowReducerContractTests | 2 | 2 | 0 | 9ms |
| โ | BorrowReducerCoreContractTests | 12 | 12 | 0 | 62ms |
| โ | BorrowReducerTests | 21 | 21 | 0 | 89ms |
| โ | BundledRegistrySnapshotTests | 5 | 5 | 0 | 349ms |
| โ | ButtonStateMonotonicClampTests | 10 | 10 | 0 | 1.85s |
| โ | ButtonStateTests | 16 | 16 | 0 | 2.70s |
| โ | ButtonStyleTypeTests | 2 | 2 | 0 | 4ms |
| โ | ButtonTapDebounceTests | 7 | 7 | 0 | 63ms |
| โ | C64ConversionTests | 6 | 6 | 0 | 231ms |
| โ | CarPlayAudiobookBridgePresenterMigrationTests | 2 | 2 | 0 | 120ms |
| โ | CarPlayAuthHelperReadinessTests | 3 | 3 | 0 | 885ms |
| โ | CarPlayChapterListTests | 3 | 3 | 0 | 545ms |
| โ | CarPlayIntegrationTests | 2 | 2 | 0 | 68ms |
| โ | CarPlayLibraryRefreshTests | 3 | 3 | 0 | 15ms |
| โ | CarPlayNowPlayingTemplateTests | 4 | 4 | 0 | 517ms |
| โ | CarPlayOpenAppAlertTests | 6 | 6 | 0 | 177ms |
| โ | CarPlayPlaybackErrorTests | 8 | 8 | 0 | 482ms |
| โ | CarPlayTests | 12 | 12 | 0 | 71ms |
| โ | CarPlayTimeTrackingTests | 3 | 3 | 0 | 212ms |
| โ | CatalogAPIDedupeTests | 3 | 3 | 0 | 603ms |
| โ | CatalogAPIEntryPointTests | 1 | 1 | 0 | 6ms |
| โ | CatalogAccessibilityTests | 8 | 8 | 0 | 9ms |
| โ | CatalogCacheKeyAndIsolationTests | 12 | 12 | 0 | 343ms |
| โ | CatalogCacheMetadataExactBoundaryTests | 4 | 4 | 0 | 747ms |
| โ | CatalogCacheMetadataTests | 21 | 21 | 0 | 134ms |
| โ | CatalogCrawlSchedulerTests | 9 | 9 | 0 | 3.48s |
| โ | CatalogFeedModelTests | 4 | 4 | 0 | 79ms |
| โ | CatalogFilterGroupModelTests | 17 | 17 | 0 | 83ms |
| โ | CatalogFilterModelTests | 17 | 17 | 0 | 98ms |
| โ | CatalogFilterServiceTests | 29 | 29 | 0 | 219ms |
| โ | CatalogFilterTests | 1 | 1 | 0 | 1ms |
| โ | CatalogLaneAssemblyTests | 7 | 7 | 0 | 107ms |
| โ | CatalogLaneFilterApplicationTests | 4 | 4 | 0 | 420ms |
| โ | CatalogLaneModelStructTests | 20 | 20 | 0 | 989ms |
| โ | CatalogLaneModelTests | 3 | 3 | 0 | 338ms |
| โ | CatalogLaneMoreFilterStateTests | 8 | 8 | 0 | 779ms |
| โ | CatalogLaneMoreViewModelTests | 43 | 43 | 0 | 1.68s |
| โ | CatalogLaneRowViewAccessibilityTests | 11 | 11 | 0 | 56ms |
| โ | CatalogLaneSortingTests | 5 | 5 | 0 | 105ms |
| โ | CatalogLoadIntegrationTests | 6 | 6 | 0 | 302ms |
| โ | CatalogOPDS2NegotiationTests | 12 | 12 | 0 | 6.03s |
| โ | CatalogPreloaderTests | 6 | 6 | 0 | 26ms |
| โ | CatalogProblemDocumentTests | 6 | 6 | 0 | 47ms |
| โ | CatalogRepositoryCoreTests | 9 | 9 | 0 | 79ms |
| โ | CatalogRepositoryStaleWhileRevalidateTests | 12 | 12 | 0 | 480ms |
| โ | CatalogRepositoryTests | 19 | 19 | 0 | 416ms |
| โ | CatalogSearchViewModelRegistryUpdateTests | 5 | 5 | 0 | 247ms |
| โ | CatalogSearchViewModelTests | 67 | 67 | 0 | 4.90s |
| โ | CatalogSelectorsTests | 2 | 2 | 0 | 1ms |
| โ | CatalogSortServiceTests | 14 | 14 | 0 | 341ms |
| โ | CatalogStateTests | 7 | 7 | 0 | 311ms |
| โ | CatalogViewLibraryIconTests | 2 | 2 | 0 | 342ms |
| โ | CatalogViewModelStateMachineTests | 19 | 19 | 0 | 1.07s |
| โ | ChaosFaultInjectionTests | 5 | 5 | 0 | 41ms |
| โ | ChapterChangeDetectorTests | 5 | 5 | 0 | 645ms |
| โ | ChapterScrubberChromeVisibilityTests | 4 | 4 | 0 | 34ms |
| โ | ChapterScrubberModelTests | 35 | 35 | 0 | 543ms |
| โ | ChapterScrubberReadoutTests | 11 | 11 | 0 | 12ms |
| โ | ChapterScrubberTOCResolutionTests | 5 | 5 | 0 | 18ms |
| โ | ChapterScrubberViewTests | 31 | 31 | 0 | 92ms |
| โ | ChapterTOCNormalizerTests | 7 | 7 | 0 | 269ms |
| โ | CirculationAnalyticsTests | 4 | 4 | 0 | 265ms |
| โ | ColdStartResumeIntegrationTests | 10 | 10 | 0 | 1.67s |
| โ | ColorExtensionTests | 5 | 5 | 0 | 21ms |
| โ | ConcurrentBookStateTests | 3 | 3 | 0 | 15ms |
| โ | ConcurrentDownloadStateTests | 3 | 3 | 0 | 5.15s |
| โ | ConcurrentTokenRefreshTests | 2 | 2 | 0 | 199ms |
| โ | ContinuousPlaybackTrackingTests | 3 | 3 | 0 | 1.66s |
| โ | CookiePersistenceTests | 10 | 10 | 0 | 437ms |
| โ | CoverSourceBadResponseCacheTests | 3 | 3 | 0 | 1.55s |
| โ | CrawlStateTests | 16 | 16 | 0 | 91ms |
| โ | CrawlableFeedAnalysisTests | 17 | 17 | 0 | 1.80s |
| โ | CrawlerFallbackTests | 12 | 12 | 0 | 595ms |
| โ | CredentialEdgeCaseTests | 6 | 6 | 0 | 20ms |
| โ | CredentialPrivacyTests | 4 | 4 | 0 | 3.31s |
| โ | CredentialPromptCoordinatorTests | 4 | 4 | 0 | 61ms |
| โ | CredentialSnapshotInvalidationTests | 5 | 5 | 0 | 535ms |
| โ | CredentialStoreCharacterizationTests | 7 | 7 | 0 | 3.15s |
| โ | CrossDeviceBookmarkSyncTests | 12 | 12 | 0 | 1.65s |
| โ | CrossDeviceSyncE2ETests | 10 | 10 | 0 | 1.24s |
| โ | CrossDomain401Tests | 8 | 8 | 0 | 106ms |
| โ | CrossFormatMappingTests | 14 | 14 | 0 | 593ms |
| โ | DPLAErrorTests | 3 | 3 | 0 | 20ms |
| โ | DRMAdversarialTests | 4 | 4 | 0 | 34ms |
| โ | DRMFulfilledPublicationTests | 6 | 6 | 0 | 31ms |
| โ | DataBase64Tests | 3 | 3 | 0 | 12ms |
| โ | DataReceptionComparisonTests | 2 | 2 | 0 | 39ms |
| โ | DateExtensionTests | 9 | 9 | 0 | 69ms |
| โ | DateFormattingTests | 4 | 4 | 0 | 21ms |
| โ | Date_NYPLAdditionsTests | 7 | 7 | 0 | 415ms |
| โ | DebugSettingsForceSkeletonsTests | 4 | 4 | 0 | 75ms |
| โ | DebugSettingsGapTests | 4 | 4 | 0 | 68ms |
| โ | DebugSettingsTests | 31 | 31 | 0 | 218ms |
| โ | DefaultCatalogAPITests | 31 | 31 | 0 | 324ms |
| โ | DeriveInitialStateTests | 4 | 4 | 0 | 84ms |
| โ | DeveloperSettingsEngineeringTierTests | 4 | 4 | 0 | 31ms |
| โ | DeveloperSettingsViewModelOverrideTests | 3 | 3 | 0 | 514ms |
| โ | DeviceLogCollectorGapTests | 2 | 2 | 0 | 6ms |
| โ | DeviceLogCollectorTests | 13 | 13 | 0 | 1.28s |
| โ | DeviceOrientationTests | 7 | 7 | 0 | 467ms |
| โ | DeviceSpecificErrorMonitorTests | 11 | 11 | 0 | 735ms |
| โ | DictionaryExtensionsTests | 5 | 5 | 0 | 308ms |
| โ | DirectionalNavigationAdapterOwnershipTests | 2 | 2 | 0 | 13ms |
| โ | DiskBudgetManagerTests | 7 | 7 | 0 | 264ms |
| โ | DiskBudgetTests | 2 | 2 | 0 | 13ms |
| โ | DownloadAccountContextAdapterTests | 11 | 11 | 0 | 883ms |
| โ | DownloadAlertPresenterTests | 8 | 8 | 0 | 213ms |
| โ | DownloadAnnouncementServiceTests | 12 | 12 | 0 | 483ms |
| โ | DownloadAuthChallengeWitnessTests | 13 | 13 | 0 | 779ms |
| โ | DownloadAuthRetryHandlerAuthCoordinatorTests | 6 | 6 | 0 | 2.74s |
| โ | DownloadAuthRetryHandlerTaskLifecycleTests | 4 | 4 | 0 | 389ms |
| โ | DownloadAuthRetryHandlerTests | 17 | 17 | 0 | 2.09s |
| โ | DownloadCancellationHandlerTests | 7 | 7 | 0 | 207ms |
| โ | DownloadCompleteMomentTests | 6 | 6 | 0 | 10ms |
| โ | DownloadCompletionParserTests | 9 | 9 | 0 | 592ms |
| โ | DownloadCoordinatorIntegrationTests | 10 | 10 | 0 | 141ms |
| โ | DownloadCoordinatorTests | 11 | 11 | 0 | 93ms |
| โ | DownloadDiskSpaceTests | 2 | 2 | 0 | 3ms |
| โ | DownloadErrorInfoTests | 3 | 3 | 0 | 2ms |
| โ | DownloadErrorRecoveryPolicyTests | 11 | 11 | 0 | 265ms |
| โ | DownloadErrorRecoveryTests | 3 | 3 | 0 | 17ms |
| โ | DownloadFreeSpaceExhaustionTests | 11 | 11 | 0 | 425ms |
| โ | DownloadInfoTests | 5 | 5 | 0 | 78ms |
| โ | DownloadIntegrityTests | 10 | 10 | 0 | 134ms |
| โ | DownloadOnlyOnWiFiTests | 10 | 10 | 0 | 65ms |
| โ | DownloadPersistenceStoreTests | 5 | 5 | 0 | 164ms |
| โ | DownloadProgressPublisherCoreTests | 29 | 29 | 0 | 1.58s |
| โ | DownloadQueueIntegrationTests | 3 | 3 | 0 | 21ms |
| โ | DownloadQueueOrchestratorTests | 9 | 9 | 0 | 208ms |
| โ | DownloadRMSDKHandoffTests | 13 | 13 | 0 | 410ms |
| โ | DownloadReconciliationLaunchOrderContractTests | 2 | 2 | 0 | 20ms |
| โ | DownloadReconciliationTests | 29 | 29 | 0 | 2.42s |
| โ | DownloadRedirectTests | 7 | 7 | 0 | 896ms |
| โ | DownloadReissuePersistenceTests | 19 | 19 | 0 | 22.25s |
| โ | DownloadResumeAfterKillTests | 7 | 7 | 0 | 75ms |
| โ | DownloadSlotManagementTests | 5 | 5 | 0 | 11ms |
| โ | DownloadStartCoordinatorContractTests | 5 | 5 | 0 | 188ms |
| โ | DownloadStartCoordinatorTests | 11 | 11 | 0 | 500ms |
| โ | DownloadStartDispatcherContractTests | 12 | 12 | 0 | 122ms |
| โ | DownloadStartDispatcherTests | 26 | 26 | 0 | 272ms |
| โ | DownloadStartReducerContractTests | 24 | 24 | 0 | 1.14s |
| โ | DownloadStateMachineIntegrationTests | 15 | 15 | 0 | 55ms |
| โ | DownloadStateMachineTests | 5 | 5 | 0 | 52ms |
| โ | DownloadStateManagerTests | 16 | 16 | 0 | 190ms |
| โ | DownloadTaskLifecycleServiceTests | 9 | 9 | 0 | 487ms |
| โ | DownloadTaskPersistenceTests | 14 | 14 | 0 | 856ms |
| โ | DownloadThrottlingContractTests | 2 | 2 | 0 | 6ms |
| โ | DownloadThrottlingServiceTests | 10 | 10 | 0 | 812ms |
| โ | DownloadTransferRetryTests | 6 | 6 | 0 | 2.05s |
| โ | DownloadWatchdogTests | 3 | 3 | 0 | 30ms |
| โ | EPUBKeyCommandsPP4289Tests | 4 | 4 | 0 | 8ms |
| โ | EPUBModuleTests | 4 | 4 | 0 | 94ms |
| โ | EPUBPositionTests | 10 | 10 | 0 | 64ms |
| โ | EPUBSearchViewModelTests | 18 | 18 | 0 | 145ms |
| โ | EPUBToolbarToggleTests | 11 | 11 | 0 | 274ms |
| โ | EffectBoundaryTests | 6 | 6 | 0 | 814ms |
| โ | EmailAddressTests | 16 | 16 | 0 | 142ms |
| โ | EpubSampleFactoryTests | 5 | 5 | 0 | 242ms |
| โ | ErrorActivityTrackerTests | 12 | 12 | 0 | 276ms |
| โ | ErrorDetailTests | 14 | 14 | 0 | 534ms |
| โ | ErrorDetailViewControllerGapTests | 3 | 3 | 0 | 237ms |
| โ | ErrorDetailViewControllerTests | 14 | 14 | 0 | 478ms |
| โ | ErrorLogExporterTests | 5 | 5 | 0 | 521ms |
| โ | ExecutorNetworkHermeticityTests | 1 | 1 | 0 | 227ms |
| โ | ExpiredLoanStringsTests | 5 | 5 | 0 | 95ms |
| โ | FCMRegistrationReadinessLintTests | 18 | 18 | 0 | 137ms |
| โ | FacetEnumTests | 3 | 3 | 0 | 6ms |
| โ | FacetToolbarAccessibilityTests | 5 | 5 | 0 | 134ms |
| โ | FacetViewModelLogoDelegateTests | 4 | 4 | 0 | 46ms |
| โ | FacetViewModelTests | 18 | 18 | 0 | 27.68s |
| โ | FetchManifestWithBearerTokenLCPSafetyTests | 1 | 1 | 0 | 9ms |
| โ | FetchManifestWithBearerTokenTests | 9 | 9 | 0 | 267ms |
| โ | FetchOpenAccessManifestLCPSafetyTests | 4 | 4 | 0 | 105ms |
| โ | FileURLGenerationTests | 3 | 3 | 0 | 411ms |
| โ | FindawayChapterStatusGuardTests | 1 | 1 | 0 | 2ms |
| โ | FindawaySavedVsPlayedTests | 1 | 1 | 0 | 25ms |
| โ | FloatTPPAdditionsTests | 5 | 5 | 0 | 408ms |
| โ | FocusIndicationTests | 7 | 7 | 0 | 172ms |
| โ | FontManagerTests | 17 | 17 | 0 | 534ms |
| โ | ForceResetTests | 6 | 6 | 0 | 82ms |
| โ | GeneralCacheClearOnUpdateTests | 3 | 3 | 0 | 16ms |
| โ | GeneralCacheTests | 22 | 22 | 0 | 963ms |
| โ | GroupEnumTests | 1 | 1 | 0 | 12ms |
| โ | HTMLTextViewTests | 70 | 70 | 0 | 15.02s |
| โ | HalfSheetProgressCueTests | 11 | 11 | 0 | 27ms |
| โ | HoldNotificationClassificationTests | 2 | 2 | 0 | 3ms |
| โ | HoldsBadgeCountTests | 9 | 9 | 0 | 164ms |
| โ | HoldsBookViewModelTests | 8 | 8 | 0 | 435ms |
| โ | HoldsReducerTests | 11 | 11 | 0 | 145ms |
| โ | HoldsSyncFailureTests | 12 | 12 | 0 | 2.67s |
| โ | HoldsViewModelTests | 23 | 23 | 0 | 1.87s |
| โ | HostFailureTrackerTests | 2 | 2 | 0 | 313ms |
| โ | ImageCacheContinuationTests | 1 | 1 | 0 | 3.74s |
| โ | ImageCacheOffMainIsolationTests | 2 | 2 | 0 | 84ms |
| โ | ImageCacheTypeTests | 1 | 1 | 0 | 13ms |
| โ | ImageCoverKeyUnificationTests | 2 | 2 | 0 | 8ms |
| โ | ImageLoaderTests | 14 | 14 | 0 | 174ms |
| โ | InflightFeedFetchesTimeoutTests | 4 | 4 | 0 | 10.25s |
| โ | IntExtensionsTests | 4 | 4 | 0 | 456ms |
| โ | IsReaderActiveTrackingModifierTests | 4 | 4 | 0 | 30ms |
| โ | KeyboardNavigationFKATests | 11 | 11 | 0 | 76ms |
| โ | KeyboardNavigationHandlerTests | 16 | 16 | 0 | 266ms |
| โ | KeyboardVoiceOverTests | 5 | 5 | 0 | 114ms |
| โ | LCPAcquisitionPredicateTests | 4 | 4 | 0 | 72ms |
| โ | LCPAdapterTests | 8 | 8 | 0 | 1.50s |
| โ | LCPAudiobookURLSchemeTests | 4 | 4 | 0 | 1.22s |
| โ | LCPAudiobooksTests | 24 | 24 | 0 | 276ms |
| โ | LCPBotanCRLGuardTests | 5 | 5 | 0 | 1.22s |
| โ | LCPCharacterizationTests | 31 | 31 | 0 | 675ms |
| โ | LCPClientTests | 9 | 9 | 0 | 77ms |
| โ | LCPFulfillmentHandlerTests | 18 | 18 | 0 | 1.87s |
| โ | LCPKeychainMigrationTests | 5 | 5 | 0 | 28ms |
| โ | LCPLibraryServiceTests | 20 | 20 | 0 | 604ms |
| โ | LCPLicenseDocumentDetectionTests | 5 | 5 | 0 | 5ms |
| โ | LCPLicenseFilePathTests | 3 | 3 | 0 | 446ms |
| โ | LCPOrphanedDownloadRegistryTests | 4 | 4 | 0 | 66ms |
| โ | LCPPDFAcquisitionPredicateTests | 5 | 5 | 0 | 5ms |
| โ | LCPPDFDiskExtractTests | 5 | 5 | 0 | 125ms |
| โ | LCPPDFOpenProgressTests | 13 | 13 | 0 | 197ms |
| โ | LCPPassphraseReadinessTests | 2 | 2 | 0 | 24ms |
| โ | LCPSessionIdentifierTests | 3 | 3 | 0 | 55ms |
| โ | LegacySAMLProblemDocumentPropagationTests | 7 | 7 | 0 | 526ms |
| โ | LibrariesSectionViewModelTests | 16 | 16 | 0 | 46ms |
| โ | LibraryCatalogMergerTests | 9 | 9 | 0 | 126ms |
| โ | LibraryIconInertLintTests | 1 | 1 | 0 | 421ms |
| โ | LibraryRegistryCrawlerTests | 15 | 15 | 0 | 582ms |
| โ | LibraryRowPresentationTests | 10 | 10 | 0 | 611ms |
| โ | LicensesServiceTests | 4 | 4 | 0 | 30ms |
| โ | LiveCrawlableParsingTest | 4 | 0 | 0 | 99ms |
| โ | LiveDownloadTaskBoxTests | 9 | 9 | 0 | 1.01s |
| โ | LoanEvictionPolicyTests | 13 | 13 | 0 | 135ms |
| โ | LoanRenewalServiceTests | 9 | 9 | 0 | 207ms |
| โ | LocalBookContentServiceTests | 34 | 34 | 0 | 861ms |
| โ | LocalFileAdapterTests | 6 | 6 | 0 | 56ms |
| โ | LocalizationTablesTests | 4 | 4 | 0 | 1.09s |
| โ | LogTests | 13 | 13 | 0 | 2.70s |
| โ | LoginKeyboardTests | 8 | 8 | 0 | 99ms |
| โ | MainActorHelpersTests | 22 | 22 | 0 | 1.26s |
| โ | ManifestFixtureTests | 2 | 2 | 0 | 122ms |
| โ | MappedCatalogBridgeTests | 3 | 3 | 0 | 7ms |
| โ | MappedCatalogModelTests | 11 | 11 | 0 | 486ms |
| โ | MarqueeTextTests | 5 | 5 | 0 | 46ms |
| โ | MockBackendExpiredCredentialsTests | 3 | 3 | 0 | 27ms |
| โ | MockBackendHoldsTests | 3 | 3 | 0 | 62ms |
| โ | MockBackendIntegrationTests | 4 | 4 | 0 | 190ms |
| โ | MockBackendLoanLimitTests | 2 | 2 | 0 | 116ms |
| โ | MockBackendRouteMatchingTests | 4 | 4 | 0 | 101ms |
| โ | MockBackendServerDownTests | 1 | 1 | 0 | 7ms |
| โ | MockIsolationLintTests | 5 | 5 | 0 | 1.87s |
| โ | MultiLibraryTokenIsolationTests | 17 | 17 | 0 | 2.23s |
| โ | MyBooksDownloadCenterAccountIdThreadingTests | 7 | 7 | 0 | 360ms |
| โ | MyBooksDownloadCenterAccountScopeSeamTests | 7 | 7 | 0 | 138ms |
| โ | MyBooksDownloadCenterAdeptGapTests | 3 | 3 | 0 | 550ms |
| โ | MyBooksDownloadCenterCachePurgeTests | 4 | 4 | 0 | 269ms |
| โ | MyBooksDownloadCenterConcurrencyTests | 22 | 22 | 0 | 760ms |
| โ | MyBooksDownloadCenterEvictionTests | 7 | 7 | 0 | 453ms |
| โ | MyBooksDownloadCenterOfflineTests | 8 | 8 | 0 | 2.86s |
| โ | MyBooksDownloadCenterProgressPublishingTests | 2 | 2 | 0 | 30ms |
| โ | MyBooksDownloadSessionInvalidationTests | 3 | 3 | 0 | 29ms |
| โ | MyBooksSimplifiedBearerTokenTests | 17 | 17 | 0 | 296ms |
| โ | MyBooksViewModelBooksPublisherTests | 3 | 3 | 0 | 103ms |
| โ | MyBooksViewModelConcurrencyTests | 4 | 4 | 0 | 176ms |
| โ | MyBooksViewModelDownloadStateTests | 3 | 3 | 0 | 140ms |
| โ | MyBooksViewModelEmptyArrayTests | 3 | 3 | 0 | 434ms |
| โ | MyBooksViewModelEmptyStateTests | 4 | 4 | 0 | 36ms |
| โ | MyBooksViewModelExtendedTests | 15 | 15 | 0 | 767ms |
| โ | MyBooksViewModelFacetIntegrationTests | 4 | 4 | 0 | 22ms |
| โ | MyBooksViewModelFacetPublisherTests | 5 | 5 | 0 | 600ms |
| โ | MyBooksViewModelFilterSortInteractionTests | 2 | 2 | 0 | 40ms |
| โ | MyBooksViewModelFilterTests | 9 | 9 | 0 | 128ms |
| โ | MyBooksViewModelGuardConditionsTests | 2 | 2 | 0 | 50ms |
| โ | MyBooksViewModelLargeDatasetTests | 2 | 2 | 0 | 231ms |
| โ | MyBooksViewModelLoadAccountTests | 2 | 2 | 0 | 141ms |
| โ | MyBooksViewModelLoginStateTests | 4 | 4 | 0 | 357ms |
| โ | MyBooksViewModelMultipleAuthorSortingTests | 3 | 3 | 0 | 24ms |
| โ | MyBooksViewModelNotificationTests | 4 | 4 | 0 | 352ms |
| โ | MyBooksViewModelOfflineFilteringTests | 3 | 3 | 0 | 14ms |
| โ | MyBooksViewModelPublisherTests | 7 | 7 | 0 | 92ms |
| โ | MyBooksViewModelSearchEdgeCaseTests | 6 | 6 | 0 | 72ms |
| โ | MyBooksViewModelSearchQueryTests | 3 | 3 | 0 | 33ms |
| โ | MyBooksViewModelSortPersistenceTests | 3 | 3 | 0 | 18ms |
| โ | MyBooksViewModelSortingIntegrationTests | 5 | 5 | 0 | 145ms |
| โ | MyBooksViewModelSortingTests | 6 | 6 | 0 | 379ms |
| โ | MyBooksViewModelStateTransitionTests | 3 | 3 | 0 | 365ms |
| โ | MyBooksViewModelUIBindingTests | 3 | 3 | 0 | 84ms |
| โ | NSErrorAdditionsTests | 7 | 7 | 0 | 287ms |
| โ | NSNotificationTPPTests | 3 | 3 | 0 | 15ms |
| โ | NavigationCoordinatorHubTests | 11 | 11 | 0 | 97ms |
| โ | NavigationCoordinatorTests | 18 | 18 | 0 | 867ms |
| โ | NavigationFreezePreventionTests | 5 | 5 | 0 | 6ms |
| โ | NetworkCacheClearRoutingTests | 3 | 3 | 0 | 227ms |
| โ | NetworkExecutorCredentialGuardTests | 8 | 8 | 0 | 618ms |
| โ | NetworkExecutorResponseRegressionTests | 4 | 4 | 0 | 53ms |
| โ | NetworkExecutorTaskTypeTests | 3 | 3 | 0 | 68ms |
| โ | NetworkOfflineDetectionTests | 3 | 3 | 0 | 24ms |
| โ | NetworkQueueTests | 22 | 22 | 0 | 2.12s |
| โ | NetworkRequestQueueTests | 2 | 2 | 0 | 10.10s |
| โ | NetworkResponderAuthChallengeWitnessTests | 13 | 13 | 0 | 67ms |
| โ | NetworkRetryLogicTests | 7 | 7 | 0 | 163ms |
| โ | NetworkTimeoutTests | 2 | 2 | 0 | 1ms |
| โ | NotificationEventTypeContractTests | 7 | 7 | 0 | 429ms |
| โ | NotificationPayloadContractTests | 10 | 10 | 0 | 70ms |
| โ | NotificationServiceReadinessGateTests | 4 | 4 | 0 | 2.05s |
| โ | NotificationServiceStateMachineTests | 9 | 9 | 0 | 999ms |
| โ | NotificationServiceTests | 16 | 16 | 0 | 1.03s |
| โ | NotificationServiceTokenTests | 25 | 25 | 0 | 1.83s |
| โ | NotificationSyncThrottleTests | 5 | 5 | 0 | 74ms |
| โ | NotificationTokenDataTests | 4 | 4 | 0 | 108ms |
| โ | NotificationTokenRegistrationTests | 10 | 10 | 0 | 256ms |
| โ | NowPlayingCoordinatorBackgroundTests | 6 | 6 | 0 | 832ms |
| โ | NowPlayingCoordinatorTests | 19 | 19 | 0 | 1.09s |
| โ | OAuthSAMLRedirectRegressionTests | 4 | 4 | 0 | 198ms |
| โ | OIDCAuthDocumentParsingTests | 4 | 4 | 0 | 543ms |
| โ | OIDCAuthTypeTests | 5 | 5 | 0 | 1.32s |
| โ | OIDCAuthenticationPropertyTests | 8 | 8 | 0 | 442ms |
| โ | OIDCCallbackEdgeCaseTests | 9 | 9 | 0 | 2.43s |
| โ | OIDCCallbackHandlingTests | 5 | 5 | 0 | 657ms |
| โ | OIDCCallbackSchemeTests | 3 | 3 | 0 | 6.72s |
| โ | OIDCIsolationRegressionTests | 6 | 6 | 0 | 356ms |
| โ | OIDCLoginRoutingTests | 3 | 3 | 0 | 107ms |
| โ | OIDCMakeRequestTests | 3 | 3 | 0 | 554ms |
| โ | OIDCNSCodingTests | 1 | 1 | 0 | 50ms |
| โ | OIDCNetworkLayer401Tests | 5 | 5 | 0 | 184ms |
| โ | OIDCReauthAttemptTests | 9 | 9 | 0 | 107ms |
| โ | OIDCReauthOnExpiredTokenTests | 5 | 5 | 0 | 157ms |
| โ | OIDCReauthRetryBehaviorTests | 5 | 5 | 0 | 3.93s |
| โ | OIDCReauthWiringLintTests | 4 | 4 | 0 | 1.41s |
| โ | OIDCRedirectURIConstructionTests | 6 | 6 | 0 | 648ms |
| โ | OIDCRegressionTests | 9 | 9 | 0 | 2.61s |
| โ | OIDCSelectedAuthenticationTests | 2 | 2 | 0 | 116ms |
| โ | OIDCSignOutRegressionTests | 6 | 6 | 0 | 452ms |
| โ | OIDCTokenRefreshRegressionTests | 6 | 6 | 0 | 484ms |
| โ | OIDCUpdateUserAccountTests | 5 | 5 | 0 | 2.22s |
| โ | OIDCViewModelRegressionTests | 1 | 1 | 0 | 23ms |
| โ | OIDCViewModelSignInTests | 2 | 2 | 0 | 27ms |
| โ | OPDS1BorrowEntryContractTests | 4 | 4 | 0 | 28ms |
| โ | OPDS1CatalogGroupedContractTests | 3 | 3 | 0 | 12ms |
| โ | OPDS1HoldEntriesContractTests | 4 | 4 | 0 | 14ms |
| โ | OPDS1LoansFeedContractTests | 6 | 6 | 0 | 154ms |
| โ | OPDS1ParsingTests | 34 | 34 | 0 | 552ms |
| โ | OPDS1RevokeResponseContractTests | 2 | 2 | 0 | 4ms |
| โ | OPDS2AuthenticationDocumentTests | 18 | 18 | 0 | 6.07s |
| โ | OPDS2AvailabilityTests | 4 | 4 | 0 | 166ms |
| โ | OPDS2BookBridgeTests | 44 | 44 | 0 | 3.29s |
| โ | OPDS2BorrowResponseContractTests | 3 | 3 | 0 | 163ms |
| โ | OPDS2CatalogWiringTests | 21 | 21 | 0 | 2.48s |
| โ | OPDS2CatalogsFeedTests | 3 | 3 | 0 | 365ms |
| โ | OPDS2ContributorTests | 2 | 2 | 0 | 3ms |
| โ | OPDS2EmptyFeedContractTests | 1 | 1 | 0 | 8ms |
| โ | OPDS2FeedContractTests | 4 | 4 | 0 | 98ms |
| โ | OPDS2FeedParsingTests | 11 | 11 | 0 | 220ms |
| โ | OPDS2FeedTests | 14 | 14 | 0 | 1.13s |
| โ | OPDS2FullMetadataTests | 4 | 4 | 0 | 11ms |
| โ | OPDS2FullPublicationTests | 13 | 13 | 0 | 151ms |
| โ | OPDS2IntegrationTests | 18 | 18 | 0 | 776ms |
| โ | OPDS2LinkArrayTests | 5 | 5 | 0 | 51ms |
| โ | OPDS2LinkComputedPropertyTests | 20 | 20 | 0 | 53ms |
| โ | OPDS2LinkRelTests | 1 | 1 | 0 | 79ms |
| โ | OPDS2LinkTests | 2 | 2 | 0 | 183ms |
| โ | OPDS2ParsingTests | 38 | 38 | 0 | 258ms |
| โ | OPDS2PublicationExtendedTests | 53 | 53 | 0 | 1.66s |
| โ | OPDS2PublicationImageTests | 6 | 6 | 0 | 43ms |
| โ | OPDS2PublicationNarratorTests | 3 | 3 | 0 | 105ms |
| โ | OPDS2PublicationTests | 2 | 2 | 0 | 41ms |
| โ | OPDS2SamlIDPTests | 6 | 6 | 0 | 28ms |
| โ | OPDS2SearchResultsContractTests | 3 | 3 | 0 | 27ms |
| โ | OPDS2SubjectTests | 2 | 2 | 0 | 2ms |
| โ | OPDS2SupportingTypesTests | 5 | 5 | 0 | 309ms |
| โ | OPDSAcquisitionPathExpandedTests | 15 | 15 | 0 | 714ms |
| โ | OPDSFeedCacheTests | 14 | 14 | 0 | 151ms |
| โ | OPDSFeedMigrationTests | 11 | 11 | 0 | 425ms |
| โ | OPDSFeedParsingTests | 2 | 2 | 0 | 39ms |
| โ | OPDSFeedServiceStateMachineTests | 3 | 3 | 0 | 184ms |
| โ | OPDSFeedServiceTests | 2 | 2 | 0 | 51ms |
| โ | OPDSFormatTests | 13 | 13 | 0 | 195ms |
| โ | OPDSParserCoreTests | 4 | 4 | 0 | 913ms |
| โ | OPDSParserTests | 4 | 4 | 0 | 18ms |
| โ | OPDSParsingTests | 57 | 57 | 0 | 5.82s |
| โ | OfflineActionTests | 29 | 29 | 0 | 218ms |
| โ | OfflineQueueCoordinatorTests | 11 | 11 | 0 | 54ms |
| โ | OfflineQueueServiceExtendedTests | 13 | 13 | 0 | 2.13s |
| โ | OfflineQueueServiceTests | 17 | 17 | 0 | 335ms |
| โ | OpenAccessAdapterTests | 13 | 13 | 0 | 187ms |
| โ | OverdriveDeferredFulfillmentTests | 6 | 6 | 0 | 9ms |
| โ | OverdriveDownloadHandlerTests | 9 | 9 | 0 | 397ms |
| โ | OverdriveFulfillmentTests | 25 | 25 | 0 | 1.03s |
| โ | PDFExtensionsTests | 20 | 20 | 0 | 148ms |
| โ | PDFKitThumbnailProviderTests | 5 | 5 | 0 | 89ms |
| โ | PDFReaderTests | 12 | 12 | 0 | 556ms |
| โ | PDFSearchEmptyStateTests | 4 | 4 | 0 | 404ms |
| โ | PP3596RegressionTests | 3 | 3 | 0 | 593ms |
| โ | PalaceCheckPropertyTests | 8 | 8 | 0 | 655ms |
| โ | PalaceErrorCategoryTests | 20 | 20 | 0 | 58ms |
| โ | PalaceErrorExtendedTests | 23 | 23 | 0 | 316ms |
| โ | PalaceErrorTests | 11 | 11 | 0 | 1.50s |
| โ | PalaceHapticTests | 4 | 4 | 0 | 248ms |
| โ | PalaceMotionTests | 11 | 11 | 0 | 339ms |
| โ | PalacePDFViewTests | 12 | 12 | 0 | 85ms |
| โ | PalacePreferencesSettingsRoundTripTests | 9 | 9 | 0 | 135ms |
| โ | PalacePressableButtonStyleTests | 6 | 6 | 0 | 37ms |
| โ | PalaceTestSetupObservationTests | 4 | 4 | 0 | 281ms |
| โ | PalaceWiringTestCaseTests | 4 | 4 | 0 | 285ms |
| โ | ParserFuzzTests | 4 | 4 | 0 | 47.34s |
| โ | PatronProfileContractTests | 4 | 4 | 0 | 17ms |
| โ | PerformanceMonitorTests | 14 | 14 | 0 | 261ms |
| โ | PerformanceReportTests | 14 | 14 | 0 | 176ms |
| โ | PersistentLoggerTests | 9 | 9 | 0 | 1.53s |
| โ | PlaybackBootstrapperAudioSessionTests | 2 | 2 | 0 | 179ms |
| โ | PlaybackBootstrapperTests | 8 | 8 | 0 | 389ms |
| โ | PlaybackFailureRecordTests | 5 | 5 | 0 | 8ms |
| โ | PlaybackOpenPolicyTests | 7 | 7 | 0 | 81ms |
| โ | PlaybackRateTests | 18 | 18 | 0 | 794ms |
| โ | PlaybackTrackingRegressionTests | 5 | 5 | 0 | 89ms |
| โ | PoolResponsivenessProbeTests | 5 | 4 | 0 | 462ms |
| โ | PositionPersistenceLogicTests | 6 | 6 | 0 | 15ms |
| โ | PositionPersistenceTests | 2 | 2 | 0 | 3ms |
| โ | PositionSyncServiceTests | 13 | 13 | 0 | 264ms |
| โ | PositionSyncTests | 5 | 5 | 0 | 7ms |
| โ | PositionWriterContractTests | 6 | 6 | 0 | 710ms |
| โ | PostUpdateMigrationTests | 5 | 5 | 0 | 394ms |
| โ | ProblemDocumentContractTests | 4 | 4 | 0 | 8ms |
| โ | ProblemDocumentLoanExpiryTests | 5 | 5 | 0 | 5ms |
| โ | ProblemDocumentTests | 12 | 12 | 0 | 49ms |
| โ | ProblemReportEmailTests | 11 | 11 | 0 | 85ms |
| โ | RatingCardMotionGateTests | 5 | 5 | 0 | 1.60s |
| โ | RatingEligibilityPolicyTests | 17 | 17 | 0 | 112ms |
| โ | RatingEngagementTrackerTests | 9 | 9 | 0 | 59ms |
| โ | RatingFeedbackPresenterTests | 3 | 3 | 0 | 57ms |
| โ | RatingPromptPresenterTests | 21 | 21 | 0 | 864ms |
| โ | ReachabilityTests | 10 | 10 | 0 | 1.07s |
| โ | Reader2BookmarkContractTests | 3 | 3 | 0 | 28ms |
| โ | Reader2PositionAdapterContractTests | 4 | 3 | 0 | 709ms |
| โ | Reader2PositionResumeContractTests | 3 | 3 | 0 | 134ms |
| โ | ReaderAccessibilityTests | 7 | 7 | 0 | 527ms |
| โ | ReaderChromeToggleFadeTests | 3 | 3 | 0 | 340ms |
| โ | ReaderEditingActionsTests | 5 | 5 | 0 | 18ms |
| โ | ReaderErrorTests | 5 | 5 | 0 | 5ms |
| โ | ReaderNavBarVoiceOverTests | 2 | 2 | 0 | 4ms |
| โ | ReaderPageOfFormatTests | 3 | 3 | 0 | 61ms |
| โ | ReaderServicePDFRouteTests | 3 | 3 | 0 | 152ms |
| โ | ReaderServiceRouteOwnershipTests | 8 | 8 | 0 | 309ms |
| โ | ReaderServiceSyncTests | 3 | 3 | 0 | 26ms |
| โ | ReaderThemeTests | 24 | 24 | 0 | 358ms |
| โ | ReadingPositionTests | 22 | 22 | 0 | 319ms |
| โ | RedirectHandlingIntegrationTests | 4 | 4 | 0 | 269ms |
| โ | RedirectPolicyTests | 9 | 9 | 0 | 147ms |
| โ | RegistryDownloadServicingSeamTests | 3 | 3 | 0 | 758ms |
| โ | RegistryFileRecoveryTests | 23 | 23 | 0 | 2.24s |
| โ | RemoteFeatureFlagsGapTests | 4 | 4 | 0 | 14ms |
| โ | RemoteFeatureFlagsSideLoadingTests | 5 | 5 | 0 | 25ms |
| โ | RemoteFeatureFlagsTests | 21 | 21 | 0 | 10.59s |
| โ | ResourcePropertiesLengthTests | 3 | 3 | 0 | 14ms |
| โ | RetryClassificationTests | 17 | 17 | 0 | 2.01s |
| โ | ReturnFlowTests | 1 | 1 | 0 | 1ms |
| โ | ReturnReducerContractTests | 16 | 16 | 0 | 79ms |
| โ | RightsManagementDetectionTests | 5 | 5 | 0 | 5ms |
| โ | RightsManagementDispatchContractTests | 8 | 8 | 0 | 110ms |
| โ | RightsManagementDispatcherTests | 10 | 10 | 0 | 321ms |
| โ | RuntimeQuiescenceGateTests | 11 | 10 | 0 | 3.30s |
| โ | RuntimeQuiescenceLintTests | 5 | 5 | 0 | 1.96s |
| โ | SAMLCookieSyncTests | 5 | 5 | 0 | 41ms |
| โ | SAMLLogoutCallbackDetectionTests | 4 | 4 | 0 | 12ms |
| โ | SAMLLogoutLinkParsingTests | 5 | 5 | 0 | 1.76s |
| โ | SAMLLogoutURLTests | 4 | 4 | 0 | 37ms |
| โ | SAMLPlusBiblioBoardExpirationTests | 8 | 8 | 0 | 7.22s |
| โ | SEMigrationsTests | 6 | 6 | 0 | 77ms |
| โ | SafeDictionaryTests | 21 | 21 | 0 | 344ms |
| โ | SamplePlayerErrorTests | 5 | 5 | 0 | 272ms |
| โ | SampleTypeTests | 8 | 8 | 0 | 83ms |
| โ | SceneDelegateTests | 1 | 1 | 0 | 2ms |
| โ | ScopedResetTests | 9 | 9 | 0 | 451ms |
| โ | SearchAccessibilityTests | 11 | 11 | 0 | 2.07s |
| โ | SearchFlowIntegrationTests | 8 | 8 | 0 | 138ms |
| โ | SettingsViewModelComputedPropertyTests | 6 | 6 | 0 | 63ms |
| โ | SettingsViewModelEdgeCaseTests | 7 | 7 | 0 | 51ms |
| โ | SettingsViewModelGapTests | 1 | 1 | 0 | 2ms |
| โ | SettingsViewModelSyncTests | 14 | 14 | 0 | 247ms |
| โ | SettingsViewModelTests | 33 | 33 | 0 | 1.69s |
| โ | SideloadBoundaryTests | 6 | 6 | 0 | 207ms |
| โ | SideloadImportContractTests | 1 | 1 | 0 | 14ms |
| โ | SideloadedBookManagerTests | 17 | 17 | 0 | 491ms |
| โ | SideloadedBookRegistryTests | 14 | 14 | 0 | 398ms |
| โ | SideloadedLaneBridgeTests | 6 | 6 | 0 | 88ms |
| โ | SideloadedLaneViewModelTests | 7 | 7 | 0 | 172ms |
| โ | SignInFormPresentationTests | 3 | 3 | 0 | 9ms |
| โ | SignInModalLifecycleTests | 9 | 9 | 0 | 196ms |
| โ | SignInModalPredicateTests | 3 | 3 | 0 | 8ms |
| โ | SignInModalSAMLOIDCTests | 6 | 6 | 0 | 2.47s |
| โ | SignInOAuthErrorPropagationTests | 8 | 8 | 0 | 449ms |
| โ | SignInRequestServiceCharacterizationTests | 11 | 11 | 0 | 807ms |
| โ | SignInToReadFlowIntegrationTests | 5 | 5 | 0 | 343ms |
| โ | SignInWebSheetIntegrationTests | 3 | 3 | 0 | 3.86s |
| โ | SignInWebSheetViewModelTests | 31 | 31 | 0 | 572ms |
| โ | SignOutCacheClearingTests | 3 | 3 | 0 | 174ms |
| โ | SingletonResetRegistryTests | 5 | 5 | 0 | 83ms |
| โ | SkeletonTests | 22 | 22 | 0 | 361ms |
| โ | StatusAnnouncementTests | 22 | 22 | 0 | 411ms |
| โ | StopPositionSaveTests | 2 | 2 | 0 | 2ms |
| โ | StoreTests | 5 | 5 | 0 | 25ms |
| โ | StreamingReaderPresentationContractTests | 1 | 1 | 0 | 15ms |
| โ | StreamingReaderProgressStoreTests | 7 | 7 | 0 | 61ms |
| โ | StreamingReaderViewControllerScrollRestoreTests | 12 | 12 | 0 | 927ms |
| โ | StreamingReaderViewModelTests | 9 | 9 | 0 | 72ms |
| โ | StringExtensionTests | 8 | 8 | 0 | 16ms |
| โ | StringExtensionsTests | 3 | 3 | 0 | 13ms |
| โ | StringHTMLEntitiesTests | 7 | 7 | 0 | 35ms |
| โ | StringNYPLAdditionsTests | 4 | 4 | 0 | 1.12s |
| โ | String_NYPLAdditionsTests | 4 | 4 | 0 | 229ms |
| โ | SupportSectionDecisionTests | 5 | 5 | 0 | 49ms |
| โ | SyncConflictResolutionTests | 3 | 3 | 0 | 3ms |
| โ | SyncDeletionGuardTests | 5 | 5 | 0 | 70ms |
| โ | SyncDeletionRatioTests | 6 | 6 | 0 | 140ms |
| โ | SyncPermissionTests | 5 | 5 | 0 | 192ms |
| โ | TPPAccountAuthStateEnumTests | 5 | 5 | 0 | 160ms |
| โ | TPPAccountListDataSourceTests | 3 | 3 | 0 | 103ms |
| โ | TPPAdobeActivationSkipTests | 6 | 6 | 0 | 262ms |
| โ | TPPAgeCheckCompletionTests | 5 | 5 | 0 | 123ms |
| โ | TPPAgeCheckIsValidTests | 5 | 5 | 0 | 786ms |
| โ | TPPAgeCheckStateMachineTests | 4 | 4 | 0 | 598ms |
| โ | TPPAgeCheckTests | 6 | 6 | 0 | 1.62s |
| โ | TPPAgeCheckVerifyDecisionTests | 5 | 5 | 0 | 162ms |
| โ | TPPAlertUtilsTests | 45 | 45 | 0 | 1.43s |
| โ | TPPAnnotationsHermeticTests | 27 | 27 | 0 | 1.12s |
| โ | TPPAnnotationsOverrideTests | 4 | 4 | 0 | 331ms |
| โ | TPPAnnotationsTests | 29 | 29 | 0 | 3.02s |
| โ | TPPAnnouncementManagerTests | 3 | 3 | 0 | 6ms |
| โ | TPPAuthDocumentContractTests | 3 | 3 | 0 | 17ms |
| โ | TPPBackgroundExecutorTests | 3 | 3 | 0 | 88ms |
| โ | TPPBadgeImageGapTests | 2 | 2 | 0 | 13ms |
| โ | TPPBaseReaderViewControllerInitialLocationTests | 10 | 10 | 0 | 1.46s |
| โ | TPPBasicAuthTests | 13 | 13 | 0 | 89ms |
| โ | TPPBookAccessibilityLabelTests | 8 | 8 | 0 | 146ms |
| โ | TPPBookAuthorCoverageTests | 3 | 3 | 0 | 39ms |
| โ | TPPBookAuthorTests | 6 | 6 | 0 | 80ms |
| โ | TPPBookBearerTokenTests | 9 | 9 | 0 | 1.94s |
| โ | TPPBookButtonsStateTests | 7 | 7 | 0 | 83ms |
| โ | TPPBookContentMetadataFilesHelperTests | 9 | 9 | 0 | 58ms |
| โ | TPPBookContentTypeConverterStreamingHTMLTests | 2 | 2 | 0 | 2ms |
| โ | TPPBookContentTypeConverterTests | 4 | 4 | 0 | 871ms |
| โ | TPPBookContentTypeExtendedTests | 4 | 4 | 0 | 7ms |
| โ | TPPBookContentTypeTests | 14 | 14 | 0 | 68ms |
| โ | TPPBookCoverCacheLookupTests | 8 | 8 | 0 | 36ms |
| โ | TPPBookCoverRegistryTests | 17 | 17 | 0 | 1.28s |
| โ | TPPBookCreationTests | 7 | 7 | 0 | 40ms |
| โ | TPPBookExtensionsTests | 21 | 21 | 0 | 1.45s |
| โ | TPPBookIsDRMProtectedTests | 9 | 9 | 0 | 67ms |
| โ | TPPBookLocationCoverageTests | 7 | 7 | 0 | 343ms |
| โ | TPPBookLocationEdgeCaseTests | 27 | 27 | 0 | 181ms |
| โ | TPPBookLocationKeyTests | 3 | 3 | 0 | 19ms |
| โ | TPPBookLocationTests | 11 | 11 | 0 | 940ms |
| โ | TPPBookModelGapTests | 4 | 4 | 0 | 201ms |
| โ | TPPBookRegistryAccountCaptureContractTests | 4 | 4 | 0 | 698ms |
| โ | TPPBookRegistryAsyncReadinessTests | 3 | 3 | 0 | 486ms |
| โ | TPPBookRegistryAtomicWriteTests | 7 | 7 | 0 | 2.11s |
| โ | TPPBookRegistryBookRetrievalTests | 7 | 7 | 0 | 241ms |
| โ | TPPBookRegistryBookmarkTests | 7 | 7 | 0 | 257ms |
| โ | TPPBookRegistryCorruptedDataTests | 5 | 5 | 0 | 713ms |
| โ | TPPBookRegistryDataTests | 4 | 4 | 0 | 4ms |
| โ | TPPBookRegistryDependencyTests | 4 | 4 | 0 | 121ms |
| โ | TPPBookRegistryFacadeContractTests | 6 | 6 | 0 | 642ms |
| โ | TPPBookRegistryFulfillmentIdTests | 4 | 4 | 0 | 416ms |
| โ | TPPBookRegistryLargeCorpusTests | 5 | 5 | 0 | 43.47s |
| โ | TPPBookRegistryLoadReentrancyTests | 3 | 3 | 0 | 214ms |
| โ | TPPBookRegistryLocationTests | 4 | 4 | 0 | 78ms |
| โ | TPPBookRegistryMigrationTests | 16 | 16 | 0 | 1.21s |
| โ | TPPBookRegistryMutationContractTests | 10 | 10 | 0 | 538ms |
| โ | TPPBookRegistryPersistenceTests | 10 | 10 | 0 | 288ms |
| โ | TPPBookRegistryProcessingTests | 2 | 2 | 0 | 12ms |
| โ | TPPBookRegistryPublisherTests | 6 | 6 | 0 | 1.77s |
| โ | TPPBookRegistryRebuildRefusalContractTests | 1 | 1 | 0 | 14ms |
| โ | TPPBookRegistryRecordPersistenceTests | 3 | 3 | 0 | 217ms |
| โ | TPPBookRegistryRecordTests | 10 | 10 | 0 | 23ms |
| โ | TPPBookRegistryStateConcurrencyTests | 2 | 2 | 0 | 101ms |
| โ | TPPBookRegistryStateManagementTests | 11 | 11 | 0 | 1.28s |
| โ | TPPBookRegistrySyncContractTests | 4 | 4 | 0 | 253ms |
| โ | TPPBookRegistryThreadSafetyTests | 3 | 3 | 0 | 297ms |
| โ | TPPBookRegistryUpdateAndRemoveTests | 1 | 1 | 0 | 11ms |
| โ | TPPBookRequiresAdobeDRMTests | 6 | 6 | 0 | 25ms |
| โ | TPPBookSerializationTests | 13 | 13 | 0 | 734ms |
| โ | TPPBookStateInitializationTests | 5 | 5 | 0 | 643ms |
| โ | TPPBookStateTests | 4 | 4 | 0 | 5ms |
| โ | TPPBookTests | 98 | 98 | 0 | 787ms |
| โ | TPPBookmarkDeletionLogTests | 11 | 11 | 0 | 123ms |
| โ | TPPBookmarkFactoryInitTests | 2 | 2 | 0 | 8ms |
| โ | TPPBookmarkFactoryServerAnnotationEdgeCaseTests | 5 | 5 | 0 | 86ms |
| โ | TPPBookmarkFactoryTests | 15 | 15 | 0 | 234ms |
| โ | TPPBookmarkR3ConversionTests | 5 | 5 | 0 | 28ms |
| โ | TPPBookmarkR3LocationTests | 13 | 13 | 0 | 1.22s |
| โ | TPPBookmarkSpecTests | 1 | 1 | 0 | 27ms |
| โ | TPPCachingTests | 3 | 3 | 0 | 9ms |
| โ | TPPCapturedCredentialsTests | 5 | 5 | 0 | 889ms |
| โ | TPPCirculationAnalyticsRequestShapeContractTests | 2 | 2 | 0 | 213ms |
| โ | TPPConfigurationCustomRegistryTests | 16 | 16 | 0 | 418ms |
| โ | TPPConfigurationTests | 22 | 22 | 0 | 531ms |
| โ | TPPContentTypeTests | 9 | 9 | 0 | 38ms |
| โ | TPPCredentialConcurrencyTests | 3 | 3 | 0 | 59ms |
| โ | TPPCredentialIsolationE2ETests | 5 | 5 | 0 | 1.27s |
| โ | TPPCredentialPersistenceTests | 6 | 6 | 0 | 497ms |
| โ | TPPCredentialSnapshotCoherenceTests | 3 | 3 | 0 | 188ms |
| โ | TPPCredentialSnapshotTests | 8 | 8 | 0 | 102ms |
| โ | TPPCredentialsCoverageTests | 9 | 9 | 0 | 174ms |
| โ | TPPCredentialsTests | 26 | 26 | 0 | 111ms |
| โ | TPPCrossLibrarySignOutTests | 6 | 6 | 0 | 303ms |
| โ | TPPDRMAuthorizingMockTimeoutTests | 3 | 3 | 0 | 609ms |
| โ | TPPDRMFailureCredentialPreservationTests | 4 | 4 | 0 | 175ms |
| โ | TPPErrorLoggerTests | 27 | 27 | 0 | 1.12s |
| โ | TPPIdleSignOutRegressionTests | 13 | 13 | 0 | 3.28s |
| โ | TPPJWKConversionTest | 1 | 1 | 0 | 11ms |
| โ | TPPKeychainManagerTests | 9 | 9 | 0 | 1.57s |
| โ | TPPLastReadPositionPosterTests | 13 | 13 | 0 | 131ms |
| โ | TPPLastReadPositionSynchronizerIntegrationTests | 5 | 5 | 0 | 15ms |
| โ | TPPLastReadPositionSynchronizerTests | 23 | 23 | 0 | 1.39s |
| โ | TPPLastReadPositionSynchronizer_BehaviorDocumentationTests | 5 | 5 | 0 | 6ms |
| โ | TPPLastReadPositionSynchronizer_BookLocationTests | 9 | 9 | 0 | 40ms |
| โ | TPPLastReadPositionSynchronizer_ConcurrencyTests | 3 | 3 | 0 | 33ms |
| โ | TPPLastReadPositionSynchronizer_ReadiumBookmarkTests | 9 | 9 | 0 | 722ms |
| โ | TPPLastReadPositionSynchronizer_SyncLogicTests | 10 | 10 | 0 | 102ms |
| โ | TPPLastReadPositionSynchronizer_WriterDelegationTests | 4 | 4 | 0 | 77ms |
| โ | TPPLoginNoActivationTests | 3 | 3 | 0 | 582ms |
| โ | TPPMainThreadCheckerTests | 4 | 4 | 0 | 8ms |
| โ | TPPMigrationManagerTests | 17 | 17 | 0 | 170ms |
| โ | TPPNetworkExecutorAPITests | 14 | 14 | 0 | 652ms |
| โ | TPPNetworkExecutorCancellationTests | 6 | 6 | 0 | 3.50s |
| โ | TPPNetworkExecutorConcurrencyTests | 4 | 4 | 0 | 3.47s |
| โ | TPPNetworkExecutorStubbedTests | 17 | 17 | 0 | 451ms |
| โ | TPPNetworkExecutorTests | 3 | 3 | 0 | 17ms |
| โ | TPPNetworkResponderAuthCoordinatorTests | 5 | 5 | 0 | 64ms |
| โ | TPPNetworkResponderRetryBufferTests | 5 | 5 | 0 | 85ms |
| โ | TPPNetworkResponderSizeLimitTests | 5 | 5 | 0 | 218ms |
| โ | TPPNetworkResponderTests | 12 | 12 | 0 | 74ms |
| โ | TPPOPDSAcquisitionPathTests | 5 | 5 | 0 | 43ms |
| โ | TPPOPDSEntryTests | 5 | 5 | 0 | 13ms |
| โ | TPPOPDSFeedTests | 3 | 3 | 0 | 73ms |
| โ | TPPOPDSGroupSwiftTests | 3 | 3 | 0 | 3ms |
| โ | TPPOPDSLinkTests | 7 | 7 | 0 | 45ms |
| โ | TPPOpenSearchDescriptionExpandedTests | 10 | 10 | 0 | 175ms |
| โ | TPPOpenSearchDescriptionTests | 1 | 1 | 0 | <1ms |
| โ | TPPPDFDocumentMetadataTests | 15 | 15 | 0 | 4.72s |
| โ | TPPPDFDocumentTests | 8 | 8 | 0 | 87ms |
| โ | TPPPDFLocationCoverageTests | 7 | 7 | 0 | 40ms |
| โ | TPPPDFLocationTests | 10 | 10 | 0 | 309ms |
| โ | TPPPDFPageBookmarkTests | 9 | 9 | 0 | 314ms |
| โ | TPPPDFPageTests | 5 | 5 | 0 | 50ms |
| โ | TPPPDFReaderModeTests | 6 | 6 | 0 | 242ms |
| โ | TPPPDFReaderSearchBindingTests | 3 | 3 | 0 | 130ms |
| โ | TPPPerAccountIsolationTests | 8 | 8 | 0 | 545ms |
| โ | TPPPreferredAuthSelectionTests | 8 | 8 | 0 | 750ms |
| โ | TPPProblemDocumentCacheManagerTests | 12 | 12 | 0 | 545ms |
| โ | TPPProblemDocumentTests | 21 | 21 | 0 | 65ms |
| โ | TPPReaderAppearanceTests | 4 | 4 | 0 | 21ms |
| โ | TPPReaderBlockNavigationTests | 12 | 12 | 0 | 244ms |
| โ | TPPReaderBookmarksBusinessLogicTests | 12 | 12 | 0 | 2.01s |
| โ | TPPReaderBookmarksReadinessTests | 2 | 2 | 0 | 146ms |
| โ | TPPReaderFontTests | 4 | 4 | 0 | 28ms |
| โ | TPPReaderFootnoteAccessibilityDOMTests | 6 | 6 | 0 | 4.15s |
| โ | TPPReaderFootnoteAccessibilityTests | 16 | 16 | 0 | 1.56s |
| โ | TPPReaderPageListBusinessLogicTests | 27 | 27 | 0 | 1.73s |
| โ | TPPReaderPositionReportTests | 10 | 10 | 0 | 1.43s |
| โ | TPPReaderPositionsVCTOCTests | 5 | 5 | 0 | 360ms |
| โ | TPPReaderPreferencesLoadTests | 3 | 3 | 0 | 14ms |
| โ | TPPReaderSettingsTests | 28 | 28 | 0 | 1.78s |
| โ | TPPReaderTOCBusinessLogicTests | 15 | 15 | 0 | 1.00s |
| โ | TPPReaderTOCFlattenTests | 2 | 2 | 0 | 83ms |
| โ | TPPReadiumBookmarkLocationMatchingTests | 5 | 5 | 0 | 486ms |
| โ | TPPReadiumBookmarkTests | 23 | 23 | 0 | 325ms |
| โ | TPPReauthenticatorMockTests | 2 | 2 | 0 | 11ms |
| โ | TPPReauthenticatorTests | 4 | 4 | 0 | 87ms |
| โ | TPPReturnPromptHelperTests | 5 | 5 | 0 | 74ms |
| โ | TPPSAMLCookieExpirationTests | 7 | 7 | 0 | 199ms |
| โ | TPPSAMLFlowTests | 10 | 10 | 0 | 2.17s |
| โ | TPPSAMLReauthFlowTests | 2 | 2 | 0 | 72ms |
| โ | TPPSAMLRegressionTests | 4 | 4 | 0 | 350ms |
| โ | TPPSAMLSignInTests | 26 | 26 | 0 | 3.44s |
| โ | TPPSAMLStateIsolationTests | 4 | 4 | 0 | 66ms |
| โ | TPPSAMLStateMachineTests | 6 | 6 | 0 | 269ms |
| โ | TPPSaveDRMCredentialsTests | 4 | 4 | 0 | 4.28s |
| โ | TPPSettingsTests | 6 | 6 | 0 | 265ms |
| โ | TPPSignInAdobeSkipTests | 14 | 14 | 0 | 3.86s |
| โ | TPPSignInAuthStateTransitionTests | 3 | 3 | 0 | 223ms |
| โ | TPPSignInBusinessLogicExtendedTests | 58 | 58 | 0 | 3.03s |
| โ | TPPSignInBusinessLogicOAuthTests | 11 | 11 | 0 | 1.03s |
| โ | TPPSignInBusinessLogicSignOutTests | 12 | 12 | 0 | 2.43s |
| โ | TPPSignInBusinessLogicStateMachineTests | 10 | 10 | 0 | 677ms |
| โ | TPPSignInBusinessLogicTests | 23 | 23 | 0 | 2.73s |
| โ | TPPSignInBusinessLogicTokenFlowTests | 3 | 3 | 0 | 1.34s |
| โ | TPPSignInBusinessLogicValidationCallbackOrderTests | 2 | 2 | 0 | 3.47s |
| โ | TPPSignInCapabilitiesCharacterizationTests | 14 | 14 | 0 | 724ms |
| โ | TPPSignInErrorHandlingTests | 2 | 2 | 0 | 143ms |
| โ | TPPSignInProfileDocEdgeCaseTests | 3 | 3 | 0 | 161ms |
| โ | TPPSignedInStateProviderTests | 3 | 3 | 0 | 90ms |
| โ | TPPUserAccountAuthStateTests | 6 | 6 | 0 | 48ms |
| โ | TPPUserAccountConcurrencyTests | 1 | 1 | 0 | 4ms |
| โ | TPPUserAccountGapTests | 4 | 4 | 0 | 438ms |
| โ | TPPUserAccountIsolationLintTests | 3 | 3 | 0 | 1.28s |
| โ | TPPUserAccountTestFactoryTests | 7 | 7 | 0 | 72ms |
| โ | TPPUserFriendlyErrorTests | 11 | 11 | 0 | 72ms |
| โ | TPPUserNotificationsTests | 10 | 10 | 0 | 154ms |
| โ | TPPXMLSwiftTests | 16 | 16 | 0 | 1.13s |
| โ | TPPXMLTests | 3 | 3 | 0 | 9ms |
| โ | TabBarModernizationTests | 8 | 8 | 0 | 11ms |
| โ | TaskProvenanceTests | 7 | 7 | 0 | 95ms |
| โ | TearDownRequiredLintTests | 5 | 5 | 0 | 3.91s |
| โ | TestAppContainerFactoryTests | 5 | 5 | 0 | 93ms |
| โ | TestTargetCompilationConditionsTests | 2 | 2 | 0 | 5ms |
| โ | TestTargetHermeticityRegressionTests | 4 | 3 | 0 | 353ms |
| โ | TimeEntryTests | 3 | 3 | 0 | 48ms |
| โ | TokenRefreshAndRetryQueueTests | 9 | 9 | 0 | 2.56s |
| โ | TokenRefreshIntegrationTests | 2 | 2 | 0 | 40ms |
| โ | TokenRefreshInterceptorAuthCoordinatorTests | 8 | 8 | 0 | 527ms |
| โ | TokenRefreshInterceptorTests | 24 | 24 | 0 | 494ms |
| โ | TokenRefreshOnForegroundTests | 10 | 10 | 0 | 2.29s |
| โ | TokenRefreshTests | 25 | 25 | 0 | 450ms |
| โ | TokenRefreshWatchdogTests | 5 | 5 | 0 | 349ms |
| โ | TokenRequestCredentialGuardTests | 13 | 13 | 0 | 2.11s |
| โ | TokenRequestTests | 11 | 11 | 0 | 387ms |
| โ | TokenResponseTests | 21 | 21 | 0 | 146ms |
| โ | TriageBotKeyAdminTests | 4 | 4 | 0 | 195ms |
| โ | TypographyPresetTests | 21 | 21 | 0 | 426ms |
| โ | TypographyServiceTests | 31 | 31 | 0 | 2.29s |
| โ | TypographySettingsViewModelTests | 27 | 27 | 0 | 743ms |
| โ | UIAlertCACommitGuardTests | 9 | 9 | 0 | 1.27s |
| โ | UIColor_NYPLAdditionsTests | 1 | 1 | 0 | 98ms |
| โ | URLBackupExclusionTests | 3 | 3 | 0 | 31ms |
| โ | URLExtensionTests | 16 | 16 | 0 | 108ms |
| โ | URLExtensionsTests | 11 | 11 | 0 | 437ms |
| โ | URLRequestExtensionsCoverageTests | 3 | 3 | 0 | 3ms |
| โ | URLRequestExtensionsTests | 11 | 11 | 0 | 254ms |
| โ | URLRequestNYPLAdditionsTests | 11 | 11 | 0 | 24ms |
| โ | URLRequest_NYPLTests | 1 | 1 | 0 | 7ms |
| โ | URLResponseAuthenticationTests | 10 | 10 | 0 | 8ms |
| โ | URLResponseNYPLTests | 14 | 14 | 0 | 1.05s |
| โ | URLSessionCredentialStorageTests | 3 | 3 | 0 | 53ms |
| โ | URLSessionStubbingResetTests | 2 | 2 | 0 | 5ms |
| โ | URLTypeTests | 2 | 2 | 0 | 5ms |
| โ | URLValidationTests | 5 | 5 | 0 | 5ms |
| โ | UnifiedOPDSServiceStateMachineTests | 2 | 2 | 0 | 114ms |
| โ | UserAccountPublisherAuthStateTests | 5 | 5 | 0 | 62ms |
| โ | UserAccountPublisherTests | 14 | 14 | 0 | 380ms |
| โ | UserAccountValidationTests | 11 | 11 | 0 | 772ms |
| โ | UserDefaultsIsolationLintTests | 2 | 2 | 0 | 1.00s |
| โ | UserProfileDocumentTests | 13 | 13 | 0 | 259ms |
| โ | UserRetryTrackerTests | 10 | 10 | 0 | 360ms |
| โ | VerbatimTextFieldTests | 9 | 9 | 0 | 320ms |
| โ | WebAuthPresentationAnchorTests | 5 | 5 | 0 | 78ms |
| โ | XCTestCase_testUserDefaultsTests | 3 | 3 | 0 | 47ms |
| โ | iPadOnMacRMSDKGuardTests | 7 | 7 | 0 | 149ms |
| Target | Coverage | Lines |
|---|---|---|
| Palace.app | 47200 / 99480 |
| Class | Test | Duration | |
|---|---|---|---|
| โ | AccessLintComplianceTests | testAudiobookLabel_isDescriptive | 1ms |
| โ | AccessLintComplianceTests | testBorrowAnnouncementStrings_areMeaningful | 52ms |
| โ | AccessLintComplianceTests | testDownloadAnnouncementStrings_areMeaningful | <1ms |
| โ | AccessLintComplianceTests | testExpandCollapseButton_labelsRoundTripOnStateFlip | 1ms |
| โ | AccessLintComplianceTests | testPDFToolbarButton_fallbackLabel_isDistinctFromOkLabel | <1ms |
| โ | AccessLintComplianceTests | testRetryAnnouncementStrings_areMeaningful | <1ms |
| โ | AccessLintComplianceTests | testReturnAnnouncementStrings_areMeaningful | <1ms |
| โ | AccessLintComplianceTests | testSearchAnnouncementStrings_areMeaningful | <1ms |
| โ | AccessLintComplianceTests | testSortFilterLabels_areDescriptive | <1ms |
| โ | AccessLintComplianceTests | testStatusAnnouncement_actionFailed_combinesTitleAndMessage | <1ms |
| โ | AccessLintComplianceTests | testStatusAnnouncement_errorOccurred_passesThrough | <1ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3594_borrowAndReturnAnnouncements_postMessages | 1ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3594_downloadAnnouncements_respectVoiceOverDisabled | 302ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_additionalResultsLoaded_announcesCount | 4ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_additionalResultsLoaded_zeroCount_doesNotAnnounce | 305ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_allAnnouncements_useAnnouncementNotificationType | 2ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_announceError_postsMessage | 13ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_announceMessage_postsArbitraryMessage | 22ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_announceStatus_combinesTitleAndMessage | 2ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_deduplication_allowsDifferentMessages | <1ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_deduplication_allowsRepeatAfterWindowExpires | 1ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_deduplication_crossMethod_sameText | <1ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_deduplication_rapidFireSameMessage_onlyOneAnnouncement | 2ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_deduplication_suppressesDuplicateWithinWindow | 1ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_emptyMessage_isNotPosted | 303ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_errorAnnouncements_respectVoiceOverDisabled | 302ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_searchAnnouncements_respectVoiceOverDisabled | 304ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_searchFailed_announcesFailure | <1ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_searchNoResults_announcesNoResults | 1ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_searchRerun_announcesUpdatedResults | 4ms |
| โ | AccessibilityAnnouncementCenterTests | testPP3673_searchResults_announcesResultCountAndQuery | 24ms |
| โ | AccessibilityLabelTests | testAccessibilityStrings_areNotEmpty | 3ms |
| โ | AccessibilityLabelTests | testAccessibilityStrings_formatStringsWork | 147ms |
| โ | AccessibilityLabelTests | testBookmarkLabels_existAndAreDifferent | 5ms |
| โ | AccessibilityLabelTests | testChapterNavigationLabels_exist | 781ms |
| โ | AccessibilityLabelTests | testExistingAccessibilityStrings_areNotEmpty | <1ms |
| โ | AccessibilityLabelTests | testExpandCollapseLabels_areDifferent | 2ms |
| โ | AccessibilityLabelTests | testFilterButtonLabel_changesWithCount | 1ms |
| โ | AccessibilityLabelTests | testPlayPauseLabels_areDifferent | 1ms |
| โ | AccessibilityLabelTests | testSortButtonLabel_changesWithSortOption | 15ms |
| โ | AccessibilityPreferencesTests | testButtonShapesEnabled_WhenEnabled_RoundTripsThroughCodable | <1ms |
| โ | AccessibilityPreferencesTests | testCodableRoundTrip_CustomPreferences | 24ms |
| โ | AccessibilityPreferencesTests | testCodableRoundTrip_DefaultPreferences | <1ms |
| โ | AccessibilityPreferencesTests | testCustomRotorActionsEnabled_Toggle | <1ms |
| โ | AccessibilityPreferencesTests | testDefaultPreferences_ButtonShapesOff | <1ms |
| โ | AccessibilityPreferencesTests | testDefaultPreferences_CustomRotorEnabled | 57ms |
| โ | AccessibilityPreferencesTests | testDefaultPreferences_HapticFeedbackOn | 2ms |
| โ | AccessibilityPreferencesTests | testDefaultPreferences_HasStandardVerbosity | <1ms |
| โ | AccessibilityPreferencesTests | testDefaultPreferences_HighContrastOff | <1ms |
| โ | AccessibilityPreferencesTests | testDefaultPreferences_ReducedMotionOff | <1ms |
| โ | AccessibilityPreferencesTests | testEquatable_DifferentValues | 3ms |
| โ | AccessibilityPreferencesTests | testEquatable_SameValues | <1ms |
| โ | AccessibilityPreferencesTests | testHapticFeedbackEnabled_Toggle | 6ms |
| โ | AccessibilityPreferencesTests | testHighContrastBoost_WhenEnabled_MakesPrefsUnequalToDefault | <1ms |
| โ | AccessibilityPreferencesTests | testPersistence_NoSavedData_ReturnsNil | 5ms |
| โ | AccessibilityPreferencesTests | testPersistence_SaveAndLoad | 2ms |
| โ | AccessibilityPreferencesTests | testReducedMotion_WhenEnabled_RoundTripsThroughCodable | <1ms |
| โ | AccessibilityPreferencesTests | testStorageKey_IsCorrect | 3ms |
| โ | AccessibilityPreferencesTests | testVerbosityMinimal_Description | <1ms |
| โ | AccessibilityPreferencesTests | testVerbosityMinimal_DisplayName | <1ms |
| โ | AccessibilityPreferencesTests | testVerbosityStandard_Description | 2ms |
| โ | AccessibilityPreferencesTests | testVerbosityStandard_DisplayName | 31ms |
| โ | AccessibilityPreferencesTests | testVerbosityVerbose_Description | <1ms |
| โ | AccessibilityPreferencesTests | testVerbosityVerbose_DisplayName | <1ms |
| โ | AccessibilityPreferencesTests | testVerbosity_AllCases | <1ms |
| โ | AccessibilityPreferencesTests | testVerbosity_CodableRoundTrip | <1ms |
| โ | AccessibilityServiceTests | testAccessibilityPreferencesCodable | 2ms |
| โ | AccessibilityServiceTests | testDefaultPreferences | 9ms |
| โ | AccessibilityServiceTests | testHapticDisabledWhenPreferenceOff | 9ms |
| โ | AccessibilityServiceTests | testHapticDisabledWithReducedMotion | 3ms |
| โ | AccessibilityServiceTests | testHighContrastEffective | 20ms |
| โ | AccessibilityServiceTests | testPreferencesPersistAcrossInstances | 28ms |
| โ | AccessibilityServiceTests | testPreferencesPublisher | 4ms |
| โ | AccessibilityServiceTests | testReducedMotionEffective | 3ms |
| โ | AccessibilityServiceTests | testUpdatePreferences | 30ms |
| โ | AccessibilityServiceTests | testVerbosityDescriptions | 1ms |
| โ | AccessibilityServiceTests | testVerbosityDisplayNames | 3ms |
| โ | AccountAuthDocCarryoverTests | testAccount_authenticationDocumentDidSet_createsDetails | 42ms |
| โ | AccountAuthDocCarryoverTests | testAccount_detailsPreserved_whenAuthDocCopiedToNewAccount | 88ms |
| โ | AccountAuthDocCarryoverTests | testAccount_detailsSyncPermission_defaultsToTrue | 31ms |
| โ | AccountAuthDocCarryoverTests | testAccount_multipleAccountsCarryover_matchesByUUID | 284ms |
| โ | AccountAuthDocCarryoverTests | testAccount_replacementWithoutCarryover_losesDetails | 90ms |
| โ | AccountAuthSurfaceHostsTests | testAuthSurfaceHosts_includesAuthenticationDocumentUrlHost | <1ms |
| โ | AccountAuthSurfaceHostsTests | testAuthSurfaceHosts_includesCatalogUrlHost | 2ms |
| โ | AccountAuthSurfaceHostsTests | testAuthSurfaceHosts_includesHomePageUrlHost | 2ms |
| โ | AccountAuthSurfaceHostsTests | testAuthSurfaceHosts_lowercasesAtProducer | 2ms |
| โ | AccountAuthSurfaceHostsTests | testAuthSurfaceHosts_returnsEmptySetWhenAllURLsAbsent | <1ms |
| โ | AccountAuthSurfaceHostsTests | testAuthSurfaceHosts_skipsMalformedURLs | <1ms |
| โ | AccountAuthSurfaceHostsTests | testAuthSurfaceHosts_unionsAllProvidedHosts | 93ms |
| โ | AccountAwareNetworkTests | testCancelNonEssentialTasks_CancelsActiveTasks | 5ms |
| โ | AccountAwareNetworkTests | testCancelNonEssentialTasks_DoesNotCrash_andLeavesExecutorFullyUsable | 20ms |
| โ | AccountAwareNetworkTests | testExecuteTokenRefresh_AcceptsAccountId | 462ms |
| โ | AccountAwareNetworkTests | testExecuteTokenRefresh_NilAccountId_BackwardCompatible | 41ms |
| โ | AccountAwareNetworkTests | testRefreshTokenAndResume_AcceptsAccountIdParameter | 93ms |
| โ | AccountAwareNetworkTests | testRefreshTokenAndResume_DefaultAccountId_BackwardCompatible | 9ms |
| โ | AccountAwareNetworkTests | testRefreshTokenAndResume_NilAccountId_DoesNotCrash | 696ms |
| โ | AccountAwareNetworkTests | testRequest_AccountIdParameter_AcceptsNil | 1.72s |
| โ | AccountAwareNetworkTests | testRequest_AccountIdParameter_AcceptsSpecificId | 354ms |
| โ | AccountAwareNetworkTests | testRequest_CapturesCurrentAccountToken | 30ms |
| โ | AccountCredentialResolverTests | testCurrentUserAccount_freshInstall_returnsPlaceholderWithNoCredentials | 6ms |
| โ | AccountCredentialResolverTests | testCurrentUserAccount_idPresent_resolvesCurrentLibrary | 43ms |
| โ | AccountCredentialResolverTests | testCurrentUserAccount_ridesOutNilWindow_returnsLastKnownNotPlaceholder | 34ms |
| โ | AccountCredentialResolverTests | testUserAccount_cacheStability_perUUID | <1ms |
| โ | AccountCredentialResolverTests | testUserAccount_concurrentSameUUID_singleInstance | 2ms |
| โ | AccountDetailCredentialStateTests | testIsSignedIn_OAuthRemainsSignedInWhenStateBecomesStale | 28ms |
| โ | AccountDetailCredentialStateTests | testIsSignedIn_SAMLUpdatesWhenStateBecomesStale | 280ms |
| โ | AccountDetailCredentialStateTests | testIsSignedIn_falseWhenSAMLCredentialsStale | 73ms |
| โ | AccountDetailCredentialStateTests | testIsSignedIn_trueWhenLoggedIn | 85ms |
| โ | AccountDetailCredentialStateTests | testIsSignedIn_trueWhenOAuthCredentialsStale | 52ms |
| โ | AccountDetailCredentialStateTests | testIsSignedIn_updatesAfterSAMLReauthentication | 66ms |
| โ | AccountDetailCredentialStateTests | testNeedsReauthentication_trueWhenCredentialsStale | 23ms |
| โ | AccountDetailPINVisibilityTests | testAccountDidChangeViaNotification_ClearsCredentialsOnLogout | 64ms |
| โ | AccountDetailPINVisibilityTests | testBusinessLogicDidCancelSignIn_ClearsLoadingAndSigningOut | 57ms |
| โ | AccountDetailPINVisibilityTests | testBusinessLogicDidCompleteSignIn_ClearsLoadingAndSigningOut | 60ms |
| โ | AccountDetailPINVisibilityTests | testBusinessLogicDidFinishDeauthorizing_ClearsLoadingAndSigningOut | 69ms |
| โ | AccountDetailPINVisibilityTests | testBusinessLogicDidReceiveCredentials_SetsLoadingTrue | 68ms |
| โ | AccountDetailPINVisibilityTests | testBusinessLogicSignOutError_401ShowsUnexpectedCredentialsAlert | 322ms |
| โ | AccountDetailPINVisibilityTests | testBusinessLogicSignOutError_WithErrorUsesLocalizedDescription | 37ms |
| โ | AccountDetailPINVisibilityTests | testBusinessLogicValidationError_CancelledErrorClearsPin | 42ms |
| โ | AccountDetailPINVisibilityTests | testBusinessLogicValidationError_ShowsAlertAndClearsLoading | 96ms |
| โ | AccountDetailPINVisibilityTests | testBusinessLogicWillSignIn_NonOAuth_SetsLoadingTrueAndClearsSigningOut | 55ms |
| โ | AccountDetailPINVisibilityTests | testBusinessLogicWillSignOut_SetsLoadingAndSigningOut | 62ms |
| โ | AccountDetailPINVisibilityTests | testCellType_HashableInSet | 22ms |
| โ | AccountDetailPINVisibilityTests | testCellType_InfoHeaderEqualityByText | 15ms |
| โ | AccountDetailPINVisibilityTests | testCellType_SimpleCasesEqual | 16ms |
| โ | AccountDetailPINVisibilityTests | testContext_ReturnsSettingsTab | 78ms |
| โ | AccountDetailPINVisibilityTests | testLibraryLogo_MatchesSelectedAccountLogo | 134ms |
| โ | AccountDetailPINVisibilityTests | testPINVisibility_DefaultsToHidden | 43ms |
| โ | AccountDetailPINVisibilityTests | testPINVisibility_IndependentOfCredentialChanges | 46ms |
| โ | AccountDetailPINVisibilityTests | testPINVisibility_ToggleMultipleTimes | 50ms |
| โ | AccountDetailPINVisibilityTests | testPinComputed_EmptyReturnsEmptyString | 147ms |
| โ | AccountDetailPINVisibilityTests | testRefreshSignInState_ReloadsTableWhenStateChanges | 66ms |
| โ | AccountDetailPINVisibilityTests | testSelectAuthMethod_ClearsIDPAndSetsSelectedAuth | 31ms |
| โ | AccountDetailPINVisibilityTests | testSignIn_WhenAlreadySignedIn_SetsIsSigningOutTrue | 88ms |
| โ | AccountDetailPINVisibilityTests | testUpdateSync_WritesToAccountDetails | 41ms |
| โ | AccountDetailPINVisibilityTests | testUsernameComputed_EmptyReturnsNil | 51ms |
| โ | AccountDetailSignOutConfirmationTests | testConfirmSignOut_WhenSignedIn_DoesNotImmediatelyDeauthorize | 505ms |
| โ | AccountDetailSignOutConfirmationTests | testMakeSignOutConfirmationAlert_HasDestructiveSignOutAndCancelActions | 131ms |
| โ | AccountDetailViewModelGapTests | testAccountDetailViewModel_updateSync_setsPermission | 48ms |
| โ | AccountDetailViewModelLeakTests | testViewModel_deallocatesAfterRelease_noLeakedObservers | 98ms |
| โ | AccountDetailViewModelSignedInDerivationTests | testOffMainAccountChange_credentialsPresentButLoggedOut_isNotSignedInAndClearsFields | 57ms |
| โ | AccountDetailViewModelSignedInDerivationTests | testOffMainAccountChange_credentialsStale_remainsSignedIn | 30ms |
| โ | AccountDetailViewModelSignedInDerivationTests | testOffMainAccountChange_noCredentials_isNotSignedIn | 95ms |
| โ | AccountDetailViewModelSignedInDerivationTests | testOffMainAccountChange_signedInWithNilBarcodeAndPin_fieldsFallThroughToEmpty | 118ms |
| โ | AccountDetailViewModelSignedInDerivationTests | testOffMainAccountChange_withValidCredentials_signsInAndPopulatesBarcodeAndPin | 95ms |
| โ | AccountDetailViewModelTests | testAlertPropertiesUpdate | 80ms |
| โ | AccountDetailViewModelTests | testBusinessLogic_IsInitialized | 28ms |
| โ | AccountDetailViewModelTests | testCanSignInWithBothCredentials | 61ms |
| โ | AccountDetailViewModelTests | testCanSignInWithEmptyCredentials | 71ms |
| โ | AccountDetailViewModelTests | testCanSignInWithOnlyUsername | 96ms |
| โ | AccountDetailViewModelTests | testCanSignIn_WithSpecialCharacters | 34ms |
| โ | AccountDetailViewModelTests | testCanSignIn_WithWhitespaceOnlyUsername | 35ms |
| โ | AccountDetailViewModelTests | testClearCredentials_WorksIndependently | 46ms |
| โ | AccountDetailViewModelTests | testCredentialFields_AreIndependent | 60ms |
| โ | AccountDetailViewModelTests | testInitialPublishedPropertiesState | 15ms |
| โ | AccountDetailViewModelTests | testIsPINHiddenDefaultsToTrue | 22ms |
| โ | AccountDetailViewModelTests | testIsSyncEnabledToggle | 73ms |
| โ | AccountDetailViewModelTests | testLibraryNameReturnsAccountName | 42ms |
| โ | AccountDetailViewModelTests | testMultipleAlerts_CanBeShown | 98ms |
| โ | AccountDetailViewModelTests | testPinTextUpdate | 103ms |
| โ | AccountDetailViewModelTests | testSelectedAccountMatchesInitialized | 38ms |
| โ | AccountDetailViewModelTests | testShowBarcode_WhenEnabled_TriggerObjectWillChange | 77ms |
| โ | AccountDetailViewModelTests | testTogglePINVisibility | 76ms |
| โ | AccountDetailViewModelTests | testUsernameTextUpdate | 30ms |
| โ | AccountDetailsAuthenticationIsBrowserBasedTests | testIsBrowserBased_anonymous_returnsFalse | 1ms |
| โ | AccountDetailsAuthenticationIsBrowserBasedTests | testIsBrowserBased_basic_returnsFalse | 59ms |
| โ | AccountDetailsAuthenticationIsBrowserBasedTests | testIsBrowserBased_coppa_returnsFalse | 15ms |
| โ | AccountDetailsAuthenticationIsBrowserBasedTests | testIsBrowserBased_isStrictSupersetOf_isOauthOrIsOidc_forSaml | 72ms |
| โ | AccountDetailsAuthenticationIsBrowserBasedTests | testIsBrowserBased_none_returnsFalse | 95ms |
| โ | AccountDetailsAuthenticationIsBrowserBasedTests | testIsBrowserBased_oauthIntermediary_returnsTrue | 29ms |
| โ | AccountDetailsAuthenticationIsBrowserBasedTests | testIsBrowserBased_oidc_returnsTrue | <1ms |
| โ | AccountDetailsAuthenticationIsBrowserBasedTests | testIsBrowserBased_saml_returnsTrue | 33ms |
| โ | AccountDetailsAuthenticationIsBrowserBasedTests | testIsBrowserBased_token_returnsFalse | 1ms |
| โ | AccountDetailsAuthenticationIsBrowserBasedTests | testIsBrowserBased_vs_needsAuth_areDistinctPredicates | 51ms |
| โ | AccountDetailsNeedsAuthAggregateTests | testAccountDetails_NeedsAuth_AnonymousMixedWithBasic_ReturnsTrue | 1ms |
| โ | AccountDetailsNeedsAuthAggregateTests | testAccountDetails_NeedsAuth_AnonymousOnly_ReturnsFalse | <1ms |
| โ | AccountDetailsNeedsAuthAggregateTests | testAccountDetails_NeedsAuth_BasicOnly_ReturnsTrue | <1ms |
| โ | AccountDetailsNeedsAuthAggregateTests | testAccountDetails_NeedsAuth_CoppaOnly_ReturnsFalse | 1ms |
| โ | AccountDetailsNeedsAuthAggregateTests | testAccountDetails_NeedsAuth_OAuthOnly_ReturnsTrue | 1ms |
| โ | AccountDetailsNeedsAuthAggregateTests | testAccountDetails_NeedsAuth_OidcOnly_ReturnsTrue | <1ms |
| โ | AccountDetailsNeedsAuthAggregateTests | testAccountDetails_NeedsAuth_SamlOnly_ReturnsTrue | <1ms |
| โ | AccountDetailsNeedsAuthAggregateTests | testAccount_NeedsAuth_AnonymousDetailsLoaded_ReturnsFalse | <1ms |
| โ | AccountDetailsNeedsAuthAggregateTests | testAccount_NeedsAuth_BasicDetailsLoaded_ReturnsTrue | <1ms |
| โ | AccountDetailsNeedsAuthAggregateTests | testAccount_NeedsAuth_BeforeAuthDocLoaded_ReturnsNil | <1ms |
| โ | AccountDetailsURLTests | testDebugDescription_ReflectsSupportsSimplyESync_WhenUserProfileUrlPresent | 2ms |
| โ | AccountDetailsURLTests | testDefaultAuth_WithOAuthAndBasic_PrefersBasicOverOAuth | 40ms |
| โ | AccountDetailsURLTests | testEulaIsAccepted_DefaultIsFalse | 22ms |
| โ | AccountDetailsURLTests | testEulaIsAccepted_RoundTrips_ThroughUserDefaults | 6ms |
| โ | AccountDetailsURLTests | testGetLicenseURL_AfterSettingMultipleTypes_ReturnsCorrectURLs | 8ms |
| โ | AccountDetailsURLTests | testGetLicenseURL_WhenNotSet_ReturnsNil | 3ms |
| โ | AccountDetailsURLTests | testSetURL_ForAcknowledgements_StoresURL | 8ms |
| โ | AccountDetailsURLTests | testSetURL_ForAnnotations_StoresURL | 6ms |
| โ | AccountDetailsURLTests | testSetURL_ForContentLicenses_StoresURL | 4ms |
| โ | AccountDetailsURLTests | testSetURL_ForEULA_StoresURL | 7ms |
| โ | AccountDetailsURLTests | testSetURL_ForPrivacyPolicy_StoresURL | 6ms |
| โ | AccountDetailsURLTests | testSetURL_OverwritesPreviousURL | 8ms |
| โ | AccountDetailsURLTests | testSetURL_PersistsToUserDefaults | 90ms |
| โ | AccountDetailsURLTests | testSyncPermissionGranted_DefaultIsTrue | 6ms |
| โ | AccountDetailsURLTests | testSyncPermissionGranted_ToggleOffThenOn_PersistsViaUserDefaults | 14ms |
| โ | AccountDetailsURLTests | testUserAboveAgeLimit_DefaultIsFalse | 3ms |
| โ | AccountDetailsURLTests | testUserAboveAgeLimit_RoundTrips_ThroughUserDefaults | 23ms |
| โ | AccountErrorReportingTests | testLoadAuthenticationDocument_missingURL_reportsNoURL_andCompletesFalse | 3ms |
| โ | AccountModelGapTests | testAccountDetails_defaultAuth_prefersNonOAuth | 35ms |
| โ | AccountModelGapTests | testAccountDetails_eulaIsAccepted_persistsAcrossObjectRecreation | 37ms |
| โ | AccountModelGapTests | testAccountDetails_initFromAuthDoc_populatesAuthMethods | 299ms |
| โ | AccountModelGapTests | testAccountDetails_setAndGetLicenseURL_roundTrips | 37ms |
| โ | AccountModelGapTests | testAccountDetails_syncPermissionGranted_persistsAcrossObjectRecreation | 69ms |
| โ | AccountModelGapTests | testAccount_hasSupportOption_reflectsSupportAvailability | 128ms |
| โ | AccountModelGapTests | testAccount_initFromPublication_mapsPropertiesCorrectly | 29ms |
| โ | AccountModelGapTests | testAccount_loansUrl_delegatesToDetails | 30ms |
| โ | AccountModelGapTests | testAuthentication_NSCoding_roundTrip | 80ms |
| โ | AccountModelTests | testAccount_DebugDescription_ContainsName | <1ms |
| โ | AccountModelTests | testAccount_InitFromPublication_DefaultLogo_IsPlaceholder | <1ms |
| โ | AccountModelTests | testAccount_InitFromPublication_DetailsAreNil | 2ms |
| โ | AccountModelTests | testAccount_InitFromPublication_DropsHelpLink_TrailingSlashAndPathInsensitive | 1ms |
| โ | AccountModelTests | testAccount_InitFromPublication_DropsHelpLink_WhenItPointsAtAboutAppMarketingURL | 3ms |
| โ | AccountModelTests | testAccount_InitFromPublication_DropsHelpLink_WhenItPointsAtAboutAppMarketingURL_HTTPSScheme | 3ms |
| โ | AccountModelTests | testAccount_InitFromPublication_HasUpdatedToken_IsFalse | <1ms |
| โ | AccountModelTests | testAccount_InitFromPublication_KeepsHelpLink_WhenItPointsAtRealSupportPage | <1ms |
| โ | AccountModelTests | testAccount_InitFromPublication_SetsAuthDocUrl | <1ms |
| โ | AccountModelTests | testAccount_InitFromPublication_SetsCatalogUrl | <1ms |
| โ | AccountModelTests | testAccount_InitFromPublication_SetsHomePageUrl | <1ms |
| โ | AccountModelTests | testAccount_InitFromPublication_SetsName | 2ms |
| โ | AccountModelTests | testAccount_InitFromPublication_SetsSubtitle | <1ms |
| โ | AccountModelTests | testAccount_InitFromPublication_SetsSupportEmail | 12ms |
| โ | AccountModelTests | testAccount_InitFromPublication_SetsSupportURL | <1ms |
| โ | AccountModelTests | testAccount_InitFromPublication_SetsUUID | <1ms |
| โ | AccountModelTests | testLoadAuthenticationDocument_WithNilUrl_CompletesWithFalse | 2ms |
| โ | AccountModelTests | testLoadLogo_WithCachedImage_UsesCachedImage | 27ms |
| โ | AccountModelTests | testLoadLogo_WithNilLogoUrl_DoesNotCrash | <1ms |
| โ | AccountModelTests | testLoansUrl_WhenDetailsNil_ReturnsNil | <1ms |
| โ | AccountNetworkingSeamTests | testAccountSwitchCancel_routesThroughInjectedAccountNetworking | 85ms |
| โ | AccountNetworkingSeamTests | testClearCache_routesThroughInjectedAccountNetworking | 14ms |
| โ | AccountProfileDocumentTests | testCanAuthenticate_NoCredentialsExpiredAndRepairable_IsFalse | <1ms |
| โ | AccountProfileDocumentTests | testCanAuthenticate_WithExpiredTokenThatCannotBeRefreshed_IsFalse | <1ms |
| โ | AccountProfileDocumentTests | testCanAuthenticate_WithExpiredTokenThatRefreshWillRepair_IsTrue | 34ms |
| โ | AccountProfileDocumentTests | testCanAuthenticate_WithNoCredentials_IsFalse | <1ms |
| โ | AccountProfileDocumentTests | testCanAuthenticate_WithNoCredentials_IsFalseRegardlessOfTokenState | 140ms |
| โ | AccountProfileDocumentTests | testCanAuthenticate_WithValidUnexpiredCredentials_IsTrue | 2ms |
| โ | AccountProfileDocumentTests | testCanAuthenticate_credentialsUnexpiredAndRepairable_IsTrue | 16ms |
| โ | AccountProfileDocumentTests | testGetProfileDocument_WhenUserAccountHasNoCredentials_CompletesWithNil_DoesNotFetch | 9ms |
| โ | AccountProfileDocumentTests | testGetProfileDocument_WithNilDetails_CompletesWithNil | 1ms |
| โ | AccountProfileDocumentTests | testGetProfileDocument_borrowPathOptIn_reachesTheExecutor | 7ms |
| โ | AccountProfileDocumentTests | testGetProfileDocument_defaultsToNoTokenRefresh | 5ms |
| โ | AccountProfileDocumentTests | testGetProfileDocument_expiredAndUnrepairableToken_issuesNoRequest | 87ms |
| โ | AccountProfileDocumentTests | testGetProfileDocument_expiredButRefreshableToken_ISSUESTheRequest | 6ms |
| โ | AccountProfileDocumentTests | testGetProfileDocument_withoutCredentials_issuesNoRequest | 44ms |
| โ | AccountProfileDocumentTests | testIsTokenExpired_ForBarcodeAndPINCredential_IsFalse | <1ms |
| โ | AccountProfileDocumentTests | testIsTokenExpired_ForNoCredentials_IsFalse | <1ms |
| โ | AccountProfileDocumentTests | testIsTokenExpired_ForPastExpiry_IsTrue_AndFutureIsFalse | 11ms |
| โ | AccountProfileDocumentTests | testIsTokenExpired_ForTokenWithNoExpiryDate_IsFalse | 2ms |
| โ | AccountProfileDocumentTests | testIsTokenRefreshRequired_expiredTokenWithTokenURLAndBarcodePIN_isTrue | 2ms |
| โ | AccountProfileDocumentTests | testIsTokenRefreshRequired_expiredTokenWithoutBarcodeOrPIN_isFalse | 1ms |
| โ | AccountProfileDocumentTests | testIsTokenRefreshRequired_expiredTokenWithoutTokenURL_isFalse | 1ms |
| โ | AccountProfileDocumentTests | testIsTokenRefreshRequired_noAuthDefinition_isFalse | <1ms |
| โ | AccountProfileDocumentTests | testIsTokenRefreshRequired_nonTokenAuthWithExpiredTokenCredential_isTrue | 24ms |
| โ | AccountProfileDocumentTests | testIsTokenRefreshRequired_nonTokenAuthWithUnexpiredCredential_isFalse | <1ms |
| โ | AccountProfileDocumentTests | testIsTokenRefreshRequired_unexpiredToken_isFalse | 343ms |
| โ | AccountProfileGateLintTests | testGate_doesNotBlockOnExpiryAlone | 4ms |
| โ | AccountProfileGateLintTests | testGate_receivesAllThreeLiveInputs | 46ms |
| โ | AccountProfileGateLintTests | testGetProfileDocument_callsTheCredentialsGate | 4ms |
| โ | AccountRegistryCacheSeamTests | testClearCache_routesThroughInjectedRegistryCache | 174ms |
| โ | AccountRegistryCacheSeamTests | testDiskCache_convenienceWrite_isNotBundled | 449ms |
| โ | AccountRegistryCacheSeamTests | testDiskCache_roundTripsAndHonorsBundledStaleness | 21ms |
| โ | AccountRegistryLoaderSeamTests | testCancelAndDrain_withNoTasks_returnsPromptly | 9ms |
| โ | AccountRegistryLoaderSeamTests | testCarveSlimFeed_keepsOnlyMatchingUUIDs | <1ms |
| โ | AccountRegistryLoaderSeamTests | testSpawnInitialBackgroundLoad_schedulesOneDetachedUtilityTask | 1ms |
| โ | AccountRegistryStorePoolStarvationTests | testConcurrentMutation_keepsAccountIndexCoherent | 10ms |
| โ | AccountRegistryStorePoolStarvationTests | testConcurrentReadsAndWrites_allComplete | 71ms |
| โ | AccountRegistryStorePoolStarvationTests | testStress_readsUnderSaturationDoNotStarveTheCooperativeThreadPool | 39ms |
| โ | AccountRegistryStoreSeamTests | testAccount_concurrentMutate_neverReturnsPhantom | 86ms |
| โ | AccountRegistryStoreSeamTests | testCurrentHashReads_neverTearUnderConcurrentSwitch | 6ms |
| โ | AccountRegistryStoreSeamTests | testCurrentHashReads_reflectTheCurrentHashsBucket | 15ms |
| โ | AccountRegistryStoreSeamTests | testManagerFacades_delegateToInjectedStore | 5ms |
| โ | AccountRegistryStoreSeamTests | testMutate_indexStaysCoherentUnderConcurrentChurn | 3ms |
| โ | AccountRegistryStoreSeamTests | testSlim_backsFallbackButDoesNotFlipCurrentBucketIsLoaded | 2ms |
| โ | AccountScopeAdapterTests | testAccountDidChangePublisher_firesOnCurrentAccountDidChangeNotification | 15ms |
| โ | AccountScopeAdapterTests | testCurrentAccountID_nilBeforeSelection_thenMirrorsSeededAccount | 50ms |
| โ | AccountScopeAdapterTests | testHasCredentials_libraryWithNoStoredCredentials_isFalse | 22ms |
| โ | AccountScopeAdapterTests | testLoansURL_accountWedgedAtDetailsLoading_throwsReadinessTimedOutWithinBound | 323ms |
| โ | AccountScopeAdapterTests | testLoansURL_unknownAccount_returnsNil | 5ms |
| โ | AccountStateMachineTests | testAwaitReadyTimeout_alreadyTerminalFailed_throwsUnderlyingError_notTimeout | 195ms |
| โ | AccountStateMachineTests | testAwaitReadyTimeout_transitionBeforeTimeout_resolves | 74ms |
| โ | AccountStateMachineTests | testAwaitReadyTimeout_wedgedAtDetailsLoading_throwsReadinessTimedOut | 331ms |
| โ | AccountStateMachineTests | testAwaitReady_blocksUntilTransition_thenResolves | 66ms |
| โ | AccountStateMachineTests | testAwaitReady_cancellingOneAwaiter_doesNotAffectOthers | 46ms |
| โ | AccountStateMachineTests | testAwaitReady_detailsEvictedArrivesViaStream_throwsEvictionError | 59ms |
| โ | AccountStateMachineTests | testAwaitReady_multipleConcurrentAwaiters_allResolve | 92ms |
| โ | AccountStateMachineTests | testAwaitReady_terminalDetailsFailed_throwsImmediately | 2ms |
| โ | AccountStateMachineTests | testAwaitReady_terminalDetailsLoaded_returnsImmediately | 37ms |
| โ | AccountStateMachineTests | testDetailsEvicted_libraryDeselected_throwsEvictionError_fromAwaitReady | 3ms |
| โ | AccountStateMachineTests | testDetailsFailedAccountNotFound_meansHTTP404_throwsAuthLoadError_fromAwaitReady | 4ms |
| โ | AccountStateMachineTests | testInitialState_freshUUID_isNotLoaded | <1ms |
| โ | AccountStateMachineTests | testStateStream_emitsCurrentThenTransitions | 68ms |
| โ | AccountSwitchBorrowReauthCouplingContractTests | testBreakerIsPerBook_trippedABookDoesNotSuppressAnother | 182ms |
| โ | AccountSwitchBorrowReauthCouplingContractTests | testClearAllAfterBreakerTripped_reenablesReauthForSameBook | 11ms |
| โ | AccountSwitchBorrowReauthCouplingContractTests | testClearAll_resetsBreakerForEveryBook_notJustOne | 20ms |
| โ | AccountSwitchBorrowReauthCouplingContractTests | testRepeatAuthErrorSameBook_secondAttemptSuppressedToGenericAlert | 38ms |
| โ | AccountSwitchCleanupTests | testBookCellModelCache_ClearsOnAccountChange | 98ms |
| โ | AccountSwitchCleanupTests | testCancelNonEssentialTasks_CalledMultipleTimes_ExecutorIdempotent | 9ms |
| โ | AccountSwitchCleanupTests | testCancelNonEssentialTasks_WithNoActiveTasks_ExecutorRemainsUsable | 10ms |
| โ | AccountSwitchCleanupTests | testFactoryAccount_DefaultMintIsNamespaced | 1ms |
| โ | AccountSwitchCleanupTests | testFactoryAccount_DistinctUUIDsRemainIsolated | <1ms |
| โ | AccountSwitchCleanupTests | testFactoryAccount_RapidMintingDoesNotCrash | 1ms |
| โ | AccountSwitchCleanupTests | testFactoryAccount_WithSpecificUUID_BindsUUIDAndIsIsolated | 1ms |
| โ | AccountSwitchCleanupTests | testPauseAllTasks_AfterCancel_ResumeAcceptsNewRequests | 149ms |
| โ | AccountSwitchIntegrationTests | testAccountSwitch_ClearsBookRegistry | 2ms |
| โ | AccountSwitchIntegrationTests | testAccountSwitch_ClearsCachedCredentials | 6ms |
| โ | AccountSwitchIntegrationTests | testAccountSwitch_InvalidatesCatalogCache | 3ms |
| โ | AccountSwitchIntegrationTests | testAccountSwitch_PostsCurrentAccountDidChangeNotification | 2ms |
| โ | AccountSwitchIntegrationTests | testAccountSwitch_StopsPendingNetworkRequests | 63ms |
| โ | AccountSwitchIntegrationTests | testMultipleRapidSwitches_DoNotCorruptRegistry | 3ms |
| โ | AccountSwitchIntegrationTests | testNewAccount_LoadsFreshCatalog | 5ms |
| โ | AccountSwitchIntegrationTests | testSwitchToSameAccount_IsIdempotent | 2ms |
| โ | AccountSwitchLifecycleTests | testSwitch_AToBAnonymous_NoBearerOnBRequest | 35ms |
| โ | AccountSwitchLifecycleTests | testSwitch_ATokenNeverLeaksIntoBRequest | 119ms |
| โ | AccountSwitchLifecycleTests | testSwitch_AtoB_AsRegistryFileIsUntouched | 205ms |
| โ | AccountSwitchLifecycleTests | testSwitch_AtoB_LoadsBsPersistedRegistry | 166ms |
| โ | AccountSwitchLifecycleTests | testSwitch_AtoBtoA_RestoresAsState | 169ms |
| โ | AccountSwitchLifecycleTests | testSwitch_BsCredentialsDoNotOverwriteAs | 62ms |
| โ | AccountSwitchLifecycleTests | testSwitch_CancelsInflightNonEssentialTasks | 74ms |
| โ | AccountSwitchLifecycleTests | testSwitch_LiveTaskCount_DropsToZeroAfterCancel | 25ms |
| โ | AccountSwitchLifecycleTests | testSwitch_PerLibraryAccountCacheIsStable | 47ms |
| โ | AccountsManagerAccountIndexTests | testAccount_lookupIsConstantTime_notLinearInAccountCount | 70ms |
| โ | AccountsManagerAccountIndexTests | testAccount_reseedRebuildsIndex_removedGoneAddedFound | 63ms |
| โ | AccountsManagerAccountIndexTests | testAccount_resolvesUUIDInEitherBucket | 45ms |
| โ | AccountsManagerAccountIndexTests | testAccount_unknownUUID_returnsNil | 4ms |
| โ | AccountsManagerAccountIndexTests | testBuildAccountIndex_duplicateUUIDAcrossBuckets_resolvesToThatUUID | 13ms |
| โ | AccountsManagerAccountIndexTests | testBuildAccountIndex_emptyInput_isEmpty | 1ms |
| โ | AccountsManagerAccountIndexTests | testBuildAccountIndex_mapsAllAccounts | 2ms |
| โ | AccountsManagerAuthDocContractTests | testAuthDocFetchFailure_pinsOrderedTransitionSequence | 158ms |
| โ | AccountsManagerCacheReadTests | testLoadAccountSets_carryOver_isCorrectForEveryMatchingUUID | 141ms |
| โ | AccountsManagerCacheReadTests | testPreload_dataPresentButNoMetadata_doesNotHydrate | 30ms |
| โ | AccountsManagerCacheReadTests | testPreload_expiredMetadata_doesNotHydrate | 23ms |
| โ | AccountsManagerCacheReadTests | testPreload_readsRegistryCacheOnce_hydratesEverySeededAccount | 78ms |
| โ | AccountsManagerCacheTests | testAccountMainFeedURL_NotOverwrittenWithNil_WhenCurrentAccountMissing | 359ms |
| โ | AccountsManagerCacheTests | testCacheDataAndMetadata_AreWrittenTogether | 254ms |
| โ | AccountsManagerCacheTests | testCacheExpiry_OldCacheIsNotUsed | 6ms |
| โ | AccountsManagerCacheTests | testCatalogCacheMetadata_Codable_EncodesAndDecodes | 3ms |
| โ | AccountsManagerCacheTests | testCatalogCacheMetadata_IsExpired_ReturnsFalseJustUnder24Hours | 2ms |
| โ | AccountsManagerCacheTests | testCatalogCacheMetadata_IsExpired_ReturnsFalseWhenRecent | 2ms |
| โ | AccountsManagerCacheTests | testCatalogCacheMetadata_IsExpired_ReturnsTrueAfter24Hours | 137ms |
| โ | AccountsManagerCacheTests | testCatalogCacheMetadata_IsStale_ReturnsFalseJustUnder6Hours | 2ms |
| โ | AccountsManagerCacheTests | testCatalogCacheMetadata_IsStale_ReturnsFalseWhenFresh | 1ms |
| โ | AccountsManagerCacheTests | testCatalogCacheMetadata_IsStale_ReturnsTrueAfter6Hours | 3ms |
| โ | AccountsManagerCacheTests | testLoadCatalogs_WhenCacheExists_CompletesWithCachedData | 37ms |
| โ | AccountsManagerCacheTests | testLoadCatalogs_WhenCacheExpired_ReturnsNil | 4ms |
| โ | AccountsManagerCacheTests | testLoadCatalogs_WhenCacheStale_ReturnsDataButMarkedStale | 8ms |
| โ | AccountsManagerCacheTests | testNotification_TPPCatalogDidLoad_IsDeliveredToObserver | 2ms |
| โ | AccountsManagerCacheTests | testReadCacheMetadata_ReturnsNilWhenNotExists | 2ms |
| โ | AccountsManagerCacheTests | testWriteAndReadCacheMetadata | 2ms |
| โ | AccountsManagerCancellationTests | testCancelBackgroundWork_doesNotMutatePersistentAccountSets | 33ms |
| โ | AccountsManagerCancellationTests | testCancelBackgroundWork_isIdempotent | 22ms |
| โ | AccountsManagerCancellationTests | testCancelBackgroundWork_onLiveInstance_cancelsTheTask | 14ms |
| โ | AccountsManagerCancellationTests | testCancelBackgroundWork_onOptOutInstance_isSafeNoOp | 12ms |
| โ | AccountsManagerCancellationTests | testCancelBackgroundWork_whileFetchInFlight_doesNotCommitToAccountSets | 547ms |
| โ | AccountsManagerCatalogLoadJoinTests | testCancelAndDrain_awaitsInFlightGatedOwnedTask | 51ms |
| โ | AccountsManagerCatalogLoadJoinTests | testColdLoad_awaitCatalogLoad_drivesOwnedChainToQuiescence | 853ms |
| โ | AccountsManagerCatalogLoadJoinTests | testColdLoad_cancelAndDrain_leavesOwnedSetEmpty | 662ms |
| โ | AccountsManagerCurrentAccountSwitchContractTests | testFirstSelection_nilToB_drivesNoCleanupSeams | 78ms |
| โ | AccountsManagerCurrentAccountSwitchContractTests | testFirstSelection_nilToB_publishesWithNewId_notSwitching | 44ms |
| โ | AccountsManagerCurrentAccountSwitchContractTests | testReassign_BtoB_publishesWithoutEvictingOrSwitching | 28ms |
| โ | AccountsManagerCurrentAccountSwitchContractTests | testSwitch_AtoB_drivesCleanupSeamsInOrder | 99ms |
| โ | AccountsManagerCurrentAccountSwitchContractTests | testSwitch_AtoB_publishesAfterIdUpdate_andPriorEviction | 188ms |
| โ | AccountsManagerFirstRunDecodeTests | testFirstRun_bundledDecode_runsOffMainThread | 103ms |
| โ | AccountsManagerFirstRunDecodeTests | testFirstRun_networkFetchStillFiresOnce_afterBundledDecode | 407ms |
| โ | AccountsManagerFirstRunDecodeTests | testSecondConcurrentLoad_shortCircuitsBeforeBundledDecode | 775ms |
| โ | AccountsManagerGapTests | testAccountsManager_accountByUUID_returnsNilForUnknownUUID | <1ms |
| โ | AccountsManagerGapTests | testAccountsManager_currentAccountId_persistsToUserDefaults | <1ms |
| โ | AccountsManagerGapTests | testAccountsManager_tppAccountUUID_isNotEmpty | 2ms |
| โ | AccountsManagerHelpersTests | test_isCacheStale_freshMetadata_returnsFalse | <1ms |
| โ | AccountsManagerHelpersTests | test_isCacheStale_nilMetadata_returnsTrue | 80ms |
| โ | AccountsManagerHelpersTests | test_isCacheStale_serverMaxAgeRespected | 2ms |
| โ | AccountsManagerHelpersTests | test_isCacheStale_staleMetadata_returnsTrue | <1ms |
| โ | AccountsManagerHelpersTests | test_shouldFinishSwitchingImmediately_bothNil_returnsTrue | 2ms |
| โ | AccountsManagerHelpersTests | test_shouldFinishSwitchingImmediately_differentAccounts_returnsFalse | <1ms |
| โ | AccountsManagerHelpersTests | test_shouldFinishSwitchingImmediately_newNilWithExistingPrevious_returnsFalse | 15ms |
| โ | AccountsManagerHelpersTests | test_shouldFinishSwitchingImmediately_previousNil_returnsTrue | 2ms |
| โ | AccountsManagerHelpersTests | test_shouldFinishSwitchingImmediately_sameAccount_returnsTrue | 2ms |
| โ | AccountsManagerHelpersTests | test_shouldPopToRoot_onePath_returnsTrue | 61ms |
| โ | AccountsManagerHelpersTests | test_shouldPopToRoot_threePath_returnsTrue | 89ms |
| โ | AccountsManagerHelpersTests | test_shouldPopToRoot_zeroPath_returnsFalse | <1ms |
| โ | AccountsManagerIsolationLintTests | testAccountsManagerConstructionSites_extendWiringBase_orAllowlisted | 492ms |
| โ | AccountsManagerIsolationLintTests | testLintCatchesSyntheticViolator | <1ms |
| โ | AccountsManagerIsolationLintTests | testNoBareAccountsManagerOutsideWhitelist | 624ms |
| โ | AccountsManagerIsolationLintTests | testWiringBaseLint_syntheticViolator | <1ms |
| โ | AccountsManagerLaunchSnapshotTests | testCarveSlimFeed_emptyKeepSet_returnsNil | 441ms |
| โ | AccountsManagerLaunchSnapshotTests | testCarveSlimFeed_keepsOnlyRequestedUUIDs_andRoundTripsThroughReader | 1.34s |
| โ | AccountsManagerLaunchSnapshotTests | testCarveSlimFeed_malformedData_returnsNil | 1.10s |
| โ | AccountsManagerLaunchSnapshotTests | testCarveSlimFeed_noMatchingUUIDs_returnsNil | 39ms |
| โ | AccountsManagerLaunchSnapshotTests | testColdLaunch_authDocDrive_isDeferredOffSyncPreloadStack_notInline | 521ms |
| โ | AccountsManagerLaunchSnapshotTests | testConsumerSmoke_readinessGateDriven_afterColdLaunch_andAfterLibrarySwap | 330ms |
| โ | AccountsManagerLaunchSnapshotTests | testFetchCompletionMayWriteTerminal_evictedSuppressesWrite_othersAllow | 219ms |
| โ | AccountsManagerLaunchSnapshotTests | testPicker_fullListMaterializes_reachesFullCount_notSlimCount | 562ms |
| โ | AccountsManagerLaunchSnapshotTests | testPreload_slimSnapshotButNoFullCache_doesNotHydrate | 183ms |
| โ | AccountsManagerLaunchSnapshotTests | testPreload_slimSnapshotPresent_hydratesOnlyCurrentAndSettings_notFullList | 841ms |
| โ | AccountsManagerLaunchSnapshotTests | testPreload_staleSlimSnapshotLacksCurrentAccount_fallsThroughToFullHydrate | 300ms |
| โ | AccountsManagerLaunchSnapshotTests | testRoundTrip_slimHydratedCurrentAccount_reselectAwayAndBack_redrivesViaProductionSeam | 1.27s |
| โ | AccountsManagerLaunchSnapshotTests | testSlimToFull_reusesSlimCurrentAccountInstance_soInFlightAuthDocNotStranded | 685ms |
| โ | AccountsManagerStateMachineWiringTests | testBoundaryDrain_flushesDeferredAuthDocMainHop_insideTheBoundary | 111ms |
| โ | AccountsManagerStateMachineWiringTests | testDriveCurrentAccountAuthDoc_realAccountNotFound_doesNotRedrive | 117ms |
| โ | AccountsManagerStateMachineWiringTests | testDriveCurrentAccountAuthDoc_staleEvictionMarker_redrives | 194ms |
| โ | AccountsManagerStateMachineWiringTests | testDriveCurrentAccountAuthDoc_terminalState_isNoOp | 289ms |
| โ | AccountsManagerStateMachineWiringTests | testFetchAuthDoc_afterCancelBackgroundWork_isInertNoOp_leavesStateNotLoaded | 39ms |
| โ | AccountsManagerStateMachineWiringTests | testGlobalBoundaryDrain_flushesForeignUntornDownManager_leavesStoreClean | 35ms |
| โ | AccountsManagerStateMachineWiringTests | testInflightAuthDoc_recent_dedupes_doesNotRefire | 94ms |
| โ | AccountsManagerStateMachineWiringTests | testLibraryReselect_priorAccount_terminatesWithLibraryDeselected | 887ms |
| โ | AccountsManagerStateMachineWiringTests | testLibraryReselect_reentry_resetsState_andRedrives | 90ms |
| โ | AccountsManagerStateMachineWiringTests | testLibrarySwitch_drivesNewCurrentAccountPastBasicInfoLoaded | 222ms |
| โ | AccountsManagerStateMachineWiringTests | testLoadCatalogs_authDocFetchFails_drivesDetailsFailed | 69ms |
| โ | AccountsManagerStateMachineWiringTests | testLoadCatalogs_currentAccountWithoutDetails_drivesDetailsLoading_thenLoaded | 124ms |
| โ | AccountsManagerStateMachineWiringTests | testLoadCatalogs_warmPath_drivesCurrentAccountPastBasicInfoLoaded | 148ms |
| โ | AccountsManagerStateMachineWiringTests | testPreload_drivesEachLoadedAccount_toBasicInfoLoaded | 115ms |
| โ | AccountsManagerStateMachineWiringTests | testSingleFlight_twoConcurrentAwaiters_oneNetworkRequest | 599ms |
| โ | AccountsManagerStateMachineWiringTests | testStartDownload_currentAccountIdRoundTrip_A_nil_A_B_eachCaptureIsPinned | 970ms |
| โ | AccountsManagerStateMachineWiringTests | testStartDownload_endToEnd_capturedAccountIdReachesAuthorizationHeader | 338ms |
| โ | AccountsManagerStateMachineWiringTests | testWedgedInflightAuthDoc_stale_isReclaimedAndRefired | 75ms |
| โ | AccountsManagerTests | testAccountChangeNotification_HasCorrectName | 32ms |
| โ | AccountsManagerTests | testAccountDetails_DefaultAuth_ReturnsNonOAuthFirst | 47ms |
| โ | AccountsManagerTests | testAccountDetails_NeedsAgeCheck_WhenCOPPAAuthExists | 45ms |
| โ | AccountsManagerTests | testAccountDetails_SupportsReservations | 42ms |
| โ | AccountsManagerTests | testAccountDetails_SupportsSimplyESync | 47ms |
| โ | AccountsManagerTests | testAccountLookup_FromMultipleThreads_DoesNotCrash | 33ms |
| โ | AccountsManagerTests | testAccount_AuthenticationDocumentUrl_IsValid | 43ms |
| โ | AccountsManagerTests | testAccount_BarcodeAuthentication_IsBasic | 37ms |
| โ | AccountsManagerTests | testAccount_CatalogUrl_IsValid | 59ms |
| โ | AccountsManagerTests | testAccount_HasAuthenticationTypes | 48ms |
| โ | AccountsManagerTests | testAccount_HasRequiredProperties | 74ms |
| โ | AccountsManagerTests | testAccount_OAuthAuthentication_IsOAuth | 42ms |
| โ | AccountsManagerTests | testAccount_SAMLAuthentication_IsSAML | 35ms |
| โ | AccountsManagerTests | testAccount_WithEmptyUUID_ReturnsNil | 30ms |
| โ | AccountsManagerTests | testAccount_WithExistingUUID_ReturnsAccount | 45ms |
| โ | AccountsManagerTests | testAccount_WithNonExistentUUID_CreatesNewAccount | 60ms |
| โ | AccountsManagerTests | testAccount_WithNonExistentUUID_ReturnsNil | 44ms |
| โ | AccountsManagerTests | testAccount_WithValidUUID_ReturnsAccount | 44ms |
| โ | AccountsManagerTests | testAccountsHaveLoaded_IsConsistentWithAccountsQuery | 33ms |
| โ | AccountsManagerTests | testAccountsManager_ConformsToTPPLibraryAccountsProvider | 42ms |
| โ | AccountsManagerTests | testAccountsManager_HasAgeCheck | 41ms |
| โ | AccountsManagerTests | testAccountsManager_HasNYPLAccountUUID | 57ms |
| โ | AccountsManagerTests | testAccountsManager_WithEmptyUUID_ReturnsNil | 31ms |
| โ | AccountsManagerTests | testAccounts_FromMultipleThreads_DoesNotCrash | 45ms |
| โ | AccountsManagerTests | testAccounts_WithNilKey_ReturnsCurrentAccountSet | 45ms |
| โ | AccountsManagerTests | testAccounts_WithNonExistentKey_ReturnsEmptyArray | 40ms |
| โ | AccountsManagerTests | testAuthenticationType_Basic_DoesNotRequireCatalogAuthentication | 33ms |
| โ | AccountsManagerTests | testAuthenticationType_Basic_NeedsAuth | 48ms |
| โ | AccountsManagerTests | testAuthenticationType_OAuth_NeedsAuth | 57ms |
| โ | AccountsManagerTests | testAuthenticationType_OAuth_RequiresCatalogAuthentication | 53ms |
| โ | AccountsManagerTests | testAuthenticationType_SAML_NeedsAuth | 43ms |
| โ | AccountsManagerTests | testCatalogDidLoadNotification_CanBeObservedWithCombine | 34ms |
| โ | AccountsManagerTests | testCatalogDidLoad_NotificationExists | 36ms |
| โ | AccountsManagerTests | testClearCache_DoesNotThrow | 33ms |
| โ | AccountsManagerTests | testCreateOPDS2Publication_ReturnsValidPublication | 56ms |
| โ | AccountsManagerTests | testCurrentAccountId_AfterExplicitClear_ReturnsNilFromDefaults | 54ms |
| โ | AccountsManagerTests | testCurrentAccountId_PersistsToUserDefaults | 38ms |
| โ | AccountsManagerTests | testCurrentAccount_WhenChanged_PostsNotification | 49ms |
| โ | AccountsManagerTests | testLoadCatalogs_PostsCatalogDidLoadNotification | 31ms |
| โ | AccountsManagerTests | testMockLibraryAccountProvider_CurrentAccountId_MatchesUUID | 36ms |
| โ | AccountsManagerTests | testMockLibraryAccountProvider_CurrentAccount_ReturnsTPPAccount | 47ms |
| โ | AccountsManagerTests | testMultipleNotificationObservers_AllReceiveAccountChange | 59ms |
| โ | AccountsManagerTests | testNotificationObserver_ForAccountChange_CanBeAdded | 47ms |
| โ | AccountsManagerTests | testNotification_CanBeObservedWithCombine | 42ms |
| โ | AccountsManagerTests | testShared_ReturnsSameInstance | 60ms |
| โ | AccountsManagerTests | testTPPAccountUUIDs_ContainsExpectedAccounts | 41ms |
| โ | AccountsManagerTests | testTPPNationalAccountUUIDs_ContainsPalaceBookshelf | 28ms |
| โ | AccountsManagerTests | testUpdateAccountSet_WithCompletion_CallsCompletion | 68ms |
| โ | AccountsManagerTests | testUpdateAccountSet_WithNilCompletion_DoesNotCrash | 34ms |
| โ | AccountsManagerTests | testUseBetaDidChange_NotificationExists | 29ms |
| โ | AccountsManagerTests | testUseBetaDidChange_PostsNotificationWhenSettingChanges | 37ms |
| โ | AdobeActivationCoordinatorTests | test_activate_afterFailure_theNextCallerMayRetry | 163ms |
| โ | AdobeActivationCoordinatorTests | test_activate_afterSuccess_theNextCallerRunsAFreshActivation | 46ms |
| โ | AdobeActivationCoordinatorTests | test_activate_whenTheInFlightActivationFails_theCoalescedCallerSeesThatFailure | 3ms |
| โ | AdobeActivationCoordinatorTests | test_activate_whileOneIsInFlight_aSecondCallerCoalescesInsteadOfEnteringRMSDK | 3ms |
| โ | AdobeActivationDedupTests | test_ensureDeviceActivated_afterAFailedAttempt_aLaterBorrowCanActivate | 6ms |
| โ | AdobeActivationDedupTests | test_ensureDeviceActivated_onSuccess_persistsTheUserAndDeviceIDs | 2ms |
| โ | AdobeActivationDedupTests | test_ensureDeviceActivated_whenActivationFails_theCoalescedBorrowSeesTheFailure | 68ms |
| โ | AdobeActivationDedupTests | test_ensureDeviceActivated_whenDRMUnavailable_throwsWithoutEnteringAdobe | 5ms |
| โ | AdobeActivationDedupTests | test_ensureDeviceActivated_whenDeviceAlreadyActivated_neverEntersAdobe | <1ms |
| โ | AdobeActivationDedupTests | test_ensureDeviceActivated_whenRMSDKNeverCallsBack_timesOutAndFreesTheSlot | 305ms |
| โ | AdobeActivationDedupTests | test_ensureDeviceActivated_whileOneBorrowIsActivating_aSecondBorrowNeverEntersAdobe | 18ms |
| โ | AdobeActivationDedupTests | test_ensureDeviceActivated_withoutLicensorCredentials_throwsWithoutEnteringAdobe | 5ms |
| โ | AdobeActivationLicensorGraceTests | test_defaultLicensorGracePeriod_isANonZeroBudget | 2ms |
| โ | AdobeActivationLicensorGraceTests | test_ensureDeviceActivated_byDefault_doesNotWaitForALateLicensor | 6ms |
| โ | AdobeActivationLicensorGraceTests | test_ensureDeviceActivated_whenAlreadyAuthorized_neverReadsLicensor | 3ms |
| โ | AdobeActivationLicensorGraceTests | test_ensureDeviceActivated_whenLicensorArrivesLate_waitsAndActivates | 204ms |
| โ | AdobeActivationLicensorGraceTests | test_ensureDeviceActivated_whenLicensorNeverArrives_stillFailsWithNoActivation | 305ms |
| โ | AdobeActivationLicensorGraceTests | test_ensureDeviceActivated_whenLicensorPresentImmediately_doesNotPoll | 2ms |
| โ | AdobeActivationLicensorGraceTests | test_ensureDeviceActivated_withZeroGracePeriod_failsWithoutWaiting | 8ms |
| โ | AdobeActivationRefreshLicensorTests | test_boundedLicensor_whenTheProducerAnswersNil_returnsPromptly | 117ms |
| โ | AdobeActivationRefreshLicensorTests | test_boundedLicensor_whenTheProducerAnswersTwice_doesNotTrap | 6ms |
| โ | AdobeActivationRefreshLicensorTests | test_boundedLicensor_whenTheProducerAnswers_returnsItWithoutWaiting | 3ms |
| โ | AdobeActivationRefreshLicensorTests | test_boundedLicensor_whenTheProducerNeverAnswers_returnsNilAtTheDeadline | 419ms |
| โ | AdobeActivationRefreshLicensorTests | test_ensureDeviceActivated_whenAlreadyAuthorized_neverRefreshes | 24ms |
| โ | AdobeActivationRefreshLicensorTests | test_ensureDeviceActivated_whenDRMUnavailable_neverRefreshes | 5ms |
| โ | AdobeActivationRefreshLicensorTests | test_ensureDeviceActivated_whenNothingIsStoredAndRefreshSucceeds_stillActivates | 289ms |
| โ | AdobeActivationRefreshLicensorTests | test_ensureDeviceActivated_whenRefreshReturnsNil_activatesWithTheStoredToken | 60ms |
| โ | AdobeActivationRefreshLicensorTests | test_ensureDeviceActivated_whenRefreshReturnsUnusableLicensor_keepsTheStoredOne | 3ms |
| โ | AdobeActivationRefreshLicensorTests | test_ensureDeviceActivated_whenRefreshSucceeds_activatesWithTheFreshToken | 81ms |
| โ | AdobeActivationRefreshLicensorTests | test_ensureDeviceActivated_whenRefreshSucceeds_persistsTheFreshLicensor | 12ms |
| โ | AdobeActivationRefreshLicensorTests | test_ensureDeviceActivated_whenRefreshedTokenIsMalformed_failsWithNoActivation | 16ms |
| โ | AdobeActivationRefreshLicensorTests | test_ensureDeviceActivated_whenRefreshedTokenIsMalformed_stillPersistedIt | 82ms |
| โ | AdobeActivationRefreshLicensorTests | test_ensureDeviceActivated_withNoLicensorAnywhere_failsWithNoActivation | 3ms |
| โ | AdobeActivationRefreshLicensorTests | test_ensureDeviceActivated_withNoRefreshClosure_activatesWithTheStoredToken | 8ms |
| โ | AdobeActivationRefreshLicensorTests | test_profileDocumentTimeout_isAFiniteNonZeroBudget | 36ms |
| โ | AdobeActivationTests | test_acsmFulfillment_E_ADEPT_NOT_READY_surfacesError | 1ms |
| โ | AdobeActivationTests | test_acsmFulfillment_validInput_succeedsAndReturnsEPUB | 2ms |
| โ | AdobeActivationTests | test_deauthorize_clearsDeviceState | <1ms |
| โ | AdobeActivationTests | test_deviceActivation_alreadyActivated_isIdempotent | <1ms |
| โ | AdobeActivationTests | test_deviceActivation_failurePath_doesNotPersistInvalidCredentials | 53ms |
| โ | AdobeActivationTests | test_deviceActivation_succeeds_withValidLicensor | <1ms |
| โ | AdobeCertificateGapTests | testAdobeCertificate_expirationDate_computesFromTimestamp | <1ms |
| โ | AdobeCertificateGapTests | testAdobeCertificate_expirationDate_nilWhenNoTimestamp | <1ms |
| โ | AdobeCertificateGapTests | testAdobeCertificate_hasExpired_falseForFutureDate | 2ms |
| โ | AdobeCertificateGapTests | testAdobeCertificate_hasExpired_falseWhenNoExpiration | 2ms |
| โ | AdobeCertificateGapTests | testAdobeCertificate_hasExpired_trueForPastDate | <1ms |
| โ | AdobeCertificateGapTests | testAdobeCertificate_initFromData_decodesValidJSON | 100ms |
| โ | AdobeCertificateGapTests | testAdobeCertificate_initFromData_returnsNilForInvalidJSON | 3ms |
| โ | AdobeClientTokenSplitTests | test_expiry_nonNumericExpiresField_isNil | 1ms |
| โ | AdobeClientTokenSplitTests | test_expiry_readsTheNumericDateFromTheSecondField | <1ms |
| โ | AdobeClientTokenSplitTests | test_expiry_threeSegmentToken_stillYieldsAnExpiry | 17ms |
| โ | AdobeClientTokenSplitTests | test_expiry_tokenWithTooFewFields_isNil | 4ms |
| โ | AdobeClientTokenSplitTests | test_expiry_unparseableToken_isNilNotZero | 410ms |
| โ | AdobeClientTokenSplitTests | test_redacted_distinguishesAbsentFromMalformed | 159ms |
| โ | AdobeClientTokenSplitTests | test_redacted_keepsWhatDiagnosisActuallyNeeds | 1ms |
| โ | AdobeClientTokenSplitTests | test_redacted_malformedTokenIsNotEchoedBack | 30ms |
| โ | AdobeClientTokenSplitTests | test_redacted_neverContainsThePatronIdentifier | 1ms |
| โ | AdobeClientTokenSplitTests | test_redacted_neverContainsTheSignature | 1ms |
| โ | AdobeClientTokenSplitTests | test_redacted_reportsTheSignatureLength_soAnEmptyOneIsDistinguishable | 1ms |
| โ | AdobeClientTokenSplitTests | test_split_emptyPassword_returnsNil | <1ms |
| โ | AdobeClientTokenSplitTests | test_split_emptyToken_returnsNil | 150ms |
| โ | AdobeClientTokenSplitTests | test_split_emptyUsername_returnsNil | 1ms |
| โ | AdobeClientTokenSplitTests | test_split_multipleSeparators_onlyTheLastIsThePasswordBoundary | 1ms |
| โ | AdobeClientTokenSplitTests | test_split_noSeparator_returnsNilRatherThanAnEmptyUsername | <1ms |
| โ | AdobeClientTokenSplitTests | test_split_separatorOnly_returnsNil | <1ms |
| โ | AdobeClientTokenSplitTests | test_split_stripsNewlines | 2ms |
| โ | AdobeClientTokenSplitTests | test_split_wellFormedToken_returnsBothHalves | <1ms |
| โ | AdobeDRMCharacterizationTests | test_acsmFulfillment_credentialsRequiredToFulfill_mapsToAdobeError | <1ms |
| โ | AdobeDRMCharacterizationTests | test_acsmFulfillment_expiredACSM_mapsToAdobeErrorBucket | <1ms |
| โ | AdobeDRMCharacterizationTests | test_acsmFulfillment_loanNotOnRecord_mapsToAdobeError | 3ms |
| โ | AdobeDRMCharacterizationTests | test_authorize_incrementsCallCount_andSetsCalledFlag | <1ms |
| โ | AdobeDRMCharacterizationTests | test_authorize_invokesCompletionWithSuccess_andCarriesIDs | <1ms |
| โ | AdobeDRMCharacterizationTests | test_authorize_thenIsUserAuthorized_returnsTrue_simulatingGate | <1ms |
| โ | AdobeDRMCharacterizationTests | test_deauthorize_deferredCompletion_canBeFiredManually | 34ms |
| โ | AdobeDRMCharacterizationTests | test_deauthorize_failurePath_completionStillFires | 4ms |
| โ | AdobeDRMCharacterizationTests | test_deauthorize_idempotency_doubleCallIsSafe | <1ms |
| โ | AdobeDRMCharacterizationTests | test_deauthorize_invokesCompletionWithSuccess | <1ms |
| โ | AdobeDRMCharacterizationTests | test_deauthorize_isInvokedWithLicensorCredentials_simulatingSignOut | 2ms |
| โ | AdobeDRMCharacterizationTests | test_doubleAuthorize_doesNotShortCircuit_atTheMockLayer | 2ms |
| โ | AdobeDRMCharacterizationTests | test_isUserAuthorized_defaultsTrue_onFreshMock | <1ms |
| โ | AdobeDRMCharacterizationTests | test_isUserAuthorized_returnsFalse_whenFlagSet | <1ms |
| โ | AdobeDRMCharacterizationTests | test_palaceErrorFrom_authenticationFailedNSError_mapsToDRMAuthFailed | 2ms |
| โ | AdobeDRMCharacterizationTests | test_palaceErrorFrom_nonAdobeDomainNSError_doesNotMisroutToDRM | <1ms |
| โ | AdobeDRMCharacterizationTests | test_palaceErrorFrom_passesThroughExistingPalaceError | 1ms |
| โ | AdobeDRMCharacterizationTests | test_palaceErrorFrom_tooManyActivationsNSError_mapsToDRMTooMany | 2ms |
| โ | AdobeDRMCharacterizationTests | test_palaceErrorFrom_unknownAdeptCode_fallsBackToAdobeError | <1ms |
| โ | AdobeDRMCharacterizationTests | test_reset_clearsAllTrackingState | 44ms |
| โ | AdobeDRMCharacterizationTests | test_workflowsInProgress_defaultsFalse | <1ms |
| โ | AdobeDRMErrorGapTests | testAdobeDRMError_conformsToLocalizedError | 153ms |
| โ | AdobeDRMErrorGapTests | testAdobeDRMError_errorDescription_isNotEmpty | 1ms |
| โ | AdobeDRMErrorGapTests | testAdobeDRMError_expiredCase_exists | 5ms |
| โ | AdobeDRMErrorMappingTests | test_alreadyFlattenedPalaceError_cannotBeRemapped | 3ms |
| โ | AdobeDRMErrorMappingTests | test_authenticationFailed_mapsToAuthenticationFailed | 111ms |
| โ | AdobeDRMErrorMappingTests | test_foreignDomain_fallsBackToAdobeError_notAuthenticationFailed | 2ms |
| โ | AdobeDRMErrorMappingTests | test_notActivatedCases_mapToNoActivation | <1ms |
| โ | AdobeDRMErrorMappingTests | test_otherAdeptCodes_mapToGenericAdobeError | 2ms |
| โ | AdobeDRMErrorMappingTests | test_palaceErrorFrom_andDirectMapping_agreeOnEveryAdeptCase | 237ms |
| โ | AdobeDRMErrorMappingTests | test_synthesisedActivationFailure_fallsBackToAdobeError | 107ms |
| โ | AdobeDRMErrorMappingTests | test_tooManyActivations_mapsToTooManyActivations_notAuthFailure | 170ms |
| โ | AdobeDRMErrorMappingTests | test_unknownAdeptCode_inAdeptDomain_fallsBackToAdobeError | 4ms |
| โ | AdobeDRMHandlerTests | testHandleCancellation_setsRegistryStateAndBroadcasts | 116ms |
| โ | AdobeDRMHandlerTests | testHandleFulfillment_copyFailure_failsWithAlert | 85ms |
| โ | AdobeDRMHandlerTests | testHandleFulfillment_didFinishCopySucceeded_marksSuccessfulAndPersistsRights | 88ms |
| โ | AdobeDRMHandlerTests | testHandleFulfillment_didFinishDownloadFalse_failsAndDoesNotMarkSuccessful | 21ms |
| โ | AdobeDRMHandlerTests | testHandleFulfillment_missingAdeptToURL_failsWithAlert | 87ms |
| โ | AdobeDRMHandlerTests | testHandleFulfillment_missingDestinationURL_failsWithAlert | 4ms |
| โ | AdobeDRMHandlerTests | testHandleFulfillment_nonReturnable_skipsFulfillmentIdPersistence | 63ms |
| โ | AdobeDRMHandlerTests | testHandleFulfillment_returnableButNoFulfillmentID_skipsPersistence | 33ms |
| โ | AdobeDRMHandlerTests | testHandleFulfillment_undecodableRightsData_returnsEarlyWithoutSideEffects | 3ms |
| โ | AdobeDRMHandlerTests | testHandleFulfillment_unknownBookIdentifier_returnsEarlyWithoutSideEffects | 3ms |
| โ | AdobeDRMHandlerTests | testHandleNoAuthorization_doesNotMutateRegistryOrAlert | 11ms |
| โ | AdobeDRMHandlerTests | testProgressForwarding_invokesDelegateWithProgressAndTag | 3ms |
| โ | AdobeDRMServiceGapTests | testAdobeDRMService_isReady_returnsBoolean | <1ms |
| โ | AdobeDRMServiceGapTests | testAdobeDRMService_shared_isAccessible | 14ms |
| โ | AdobeDeauthorizationTests | test_adobeOriginalCodeKey_matchesTheADEPTHeaderConstant | 1ms |
| โ | AdobeDeauthorizationTests | test_attempt_expiredButParseableToken_isStillReleasable | 56ms |
| โ | AdobeDeauthorizationTests | test_attempt_licensorWithNoClientTokenAtAll_stillClearsLocally | 1ms |
| โ | AdobeDeauthorizationTests | test_attempt_splitsClientTokenIntoUsernameAndPassword | 49ms |
| โ | AdobeDeauthorizationTests | test_attempt_unparseableToken_sendsEmptyCredentials_notTheRawToken | <1ms |
| โ | AdobeDeauthorizationTests | test_attempt_whenClientTokenHasNoSeparator_stillCallsButCannotFreeTheSlot | 206ms |
| โ | AdobeDeauthorizationTests | test_attempt_withoutDeviceID_isStillMade_becauseRefusingWouldLeakTheSlot | 1ms |
| โ | AdobeDeauthorizationTests | test_attempt_withoutLicensor_cannotBeMade | 2ms |
| โ | AdobeDeauthorizationTests | test_expiredLicensor_isRecognisedBeforeTheAttemptIsSpent | 364ms |
| โ | AdobeDeauthorizationTests | test_outcome_failureWithNoError_stillReadsAsNotFreed | 58ms |
| โ | AdobeDeauthorizationTests | test_outcome_failure_isALeakedActivation_notAnExpectedNoOp | 4ms |
| โ | AdobeDeauthorizationTests | test_outcome_failure_namesTheAdobeCodeSoTheLeakIsDiagnosable | 1ms |
| โ | AdobeDeauthorizationTests | test_outcome_success_freesTheSlot | 7ms |
| โ | AdobeDeauthorizationTests | test_redacted_countsFieldsFromTheWholeToken | 340ms |
| โ | AdobeDeauthorizationTests | test_redacted_doesNotEchoAFieldFromAnUnexpectedlyShapedToken | 3ms |
| โ | AdobeDeauthorizationTests | test_redacted_stillNamesTheLibraryForARealToken | 2ms |
| โ | AdobeLicensorRefreshTests | test_isExpired_atTheExactExpiryInstant_isNotYetExpired | <1ms |
| โ | AdobeLicensorRefreshTests | test_isExpired_futureToken_isNotExpired | <1ms |
| โ | AdobeLicensorRefreshTests | test_isExpired_pastToken_isExpired | 5ms |
| โ | AdobeLicensorRefreshTests | test_isExpired_readsTheNumericDateFromTheToken | <1ms |
| โ | AdobeLicensorRefreshTests | test_isExpired_unparseableToken_isNotReportedAsStale | 22ms |
| โ | AdobeLicensorRefreshTests | test_isUsable_requiresBothVendorAndClientToken | <1ms |
| โ | AdobeLicensorRefreshTests | test_resolve_alwaysConsultsTheFetch | 3ms |
| โ | AdobeLicensorRefreshTests | test_resolve_noStoredAndNoFresh_returnsNil | 4ms |
| โ | AdobeLicensorRefreshTests | test_resolve_noStoredButFreshAvailable_usesFresh | 3ms |
| โ | AdobeLicensorRefreshTests | test_resolve_prefersTheFreshlyMintedLicensor | 4ms |
| โ | AdobeLicensorRefreshTests | test_resolve_whenFetchFails_doesNotClaimARefresh | 20ms |
| โ | AdobeLicensorRefreshTests | test_resolve_whenFetchFails_fallsBackToStored | 30ms |
| โ | AdobeLicensorRefreshTests | test_resolve_whenFetchReturnsUnusableLicensor_keepsStored | 95ms |
| โ | AlertModelCoverageTests | testAlertModel_basicProperties | 1ms |
| โ | AlertModelCoverageTests | testAlertModel_customButtonTitle | <1ms |
| โ | AlertModelCoverageTests | testAlertModel_maxRetriesExceeded | <1ms |
| โ | AlertModelCoverageTests | testAlertModel_retryable | 1ms |
| โ | AlertModelCoverageTests | testAlertModel_retryableWithCancel | 2ms |
| โ | AlertModelCoverageTests | testAlertModel_uniqueId | 3ms |
| โ | AlertModelRetryTests | testAlertModel_eachInstanceHasUniqueIdentity | <1ms |
| โ | AlertModelRetryTests | testDefaultAlertModel_hasExpectedDefaults | 100ms |
| โ | AlertModelRetryTests | testHalfSheetBranching_secondaryNilSelectsOKOnly_secondaryNonNilSelectsRetryCancel | 15ms |
| โ | AlertModelRetryTests | testMaxRetriesExceeded_factoryShapesAlertForOKOnlyBranch | 1ms |
| โ | AlertModelRetryTests | testRetryable_factoryShapesAlertForRetryPlusCancelBranch | 42ms |
| โ | AlertModelRetryTests | testRetryable_invokesRetryActionAndCancelActionOnTheCorrectSlots | <1ms |
| โ | AlertModelRetryTests | testRetryable_omittedCancelActionIsSafeNoOp | <1ms |
| โ | AlertModelTests | testAlertModel_StoresProvidedValues | 1ms |
| โ | AlertModelTests | testAlertModel_SyncingAlertStrings_AreNotEmpty | <1ms |
| โ | AlertPresentationRawGuardLintTests | testDetector_flagsRawAlertPresent | 1ms |
| โ | AlertPresentationRawGuardLintTests | testDetector_passesCommentsAndNonAlertPresents | 4ms |
| โ | AlertPresentationRawGuardLintTests | testDetector_passesGuardedPresenters | <1ms |
| โ | AlertPresentationRawGuardLintTests | testDetector_routeDetector_bothPathsAndClean | <1ms |
| โ | AlertPresentationRawGuardLintTests | testGuardedSites_neverPresentAnAlertRaw | 44ms |
| โ | AlertPresentationRawGuardLintTests | testGuardedSites_routeThroughAGuardedPresenter | 4ms |
| โ | AlertUtilsTests | testAlertWithDestructiveStyle | 3ms |
| โ | AlertUtilsTests | testAlertWithDetailsHasOKButtonWhenNoRetry | 4ms |
| โ | AlertUtilsTests | testAlertWithDetailsHasRetryAndCancelWhenRetryProvided | 50ms |
| โ | AlertUtilsTests | testAlertWithDetailsHasViewErrorDetailsButton | 4ms |
| โ | AlertUtilsTests | testAlertWithErrorHavingNoDescription | 79ms |
| โ | AlertUtilsTests | testAlertWithNilError | 74ms |
| โ | AlertUtilsTests | testAlertWithNilMessageAndError_ErrorWins | 4ms |
| โ | AlertUtilsTests | testAlertWithNonURLError | 409ms |
| โ | AlertUtilsTests | testAlertWithTitleAndMessage | 3ms |
| โ | AlertUtilsTests | testAlert_explicitMessageOverridesErrorDerivedMessage | 3ms |
| โ | AlertUtilsTests | testAlert_nilMessage_yieldsEmptyStringWithoutAffectingTitle | 629ms |
| โ | AlertUtilsTests | testAlert_nsurlErrors_alwaysProduceNonEmptyMessage | 640ms |
| โ | AlertUtilsTests | testAlert_nsurlErrors_keyedMessages_areDistinguishable | 42ms |
| โ | AlertUtilsTests | testAlert_titleFallback_handlesNilEmptyAndPassThrough | 74ms |
| โ | AlertUtilsTests | testPresentFromViewControllerOrNilWithNilAlert | 205ms |
| โ | AlertUtilsTests | testSetProblemDocumentAppend | 3ms |
| โ | AlertUtilsTests | testSetProblemDocumentReplace | 3ms |
| โ | AlertUtilsTests | testSetProblemDocumentWithNilController | 2ms |
| โ | AlertUtilsTests | testSetProblemDocumentWithNilDocument | 3ms |
| โ | AlertUtilsTests | testSetProblemDocument_partialDocumentReplacesOnlyPresentFields | 121ms |
| โ | AnnotationContractTests | testBookmarkAndReadingPosition_HaveDifferentMotivations | 3ms |
| โ | AnnotationContractTests | testParseAnnotationContainer | 7ms |
| โ | AnnotationContractTests | testReadingPosition_HasEPUBCFISelector | 4ms |
| โ | AnnotationDeviceIDTests | testAnnotationDeviceID_WhenNoAdobeDRM_ReturnsFirebaseDeviceID | 1ms |
| โ | AnnotationDeviceIDTests | testAnnotationDeviceID_isStableAndDerivedFromFirebaseInTestEnvironment | <1ms |
| โ | AnnotationPostResponseContractTests | testAnnotationPostResponse_HasRequiredFields | 3ms |
| โ | AnnouncementChainTests | test_chainAttachmentIndices_fiveAnnouncements_returnsFourChainedPairs | 2ms |
| โ | AnnouncementChainTests | test_chainAttachmentIndices_oneAnnouncement_returnsEmpty | 1ms |
| โ | AnnouncementChainTests | test_chainAttachmentIndices_threeAnnouncements_returnsTwoChainedPairs | 2ms |
| โ | AnnouncementChainTests | test_chainAttachmentIndices_twoAnnouncements_returnsOnePair | 1ms |
| โ | AnnouncementChainTests | test_chainAttachmentIndices_zeroAnnouncements_returnsEmpty | 1ms |
| โ | AnnouncementTests | testAnnouncement_decodesValidJSON | 1ms |
| โ | AnnouncementTests | testAnnouncement_withMissingContent_throwsError | 8ms |
| โ | AnnouncementTests | testAnnouncement_withMissingId_throwsError | <1ms |
| โ | AppContainerAudiobookFactoryTests | testAudiobookFactories_areCoherentAcrossProductionReads | 1ms |
| โ | AppContainerAudiobookFactoryTests | testAudiobookSession_returnsSameInstanceAcrossReads | 3ms |
| โ | AppContainerAudiobookFactoryTests | testPlaybackBootstrapper_returnsSameInstanceAcrossReads | 2ms |
| โ | AppContainerAuthCoordinatorRegistrationTests | testProductionAppContainer_authCoordinator_isSingletonAcrossCalls | <1ms |
| โ | AppContainerAuthCoordinatorRegistrationTests | testProductionAppContainer_downloadCenter_isSingletonAcrossCalls | 234ms |
| โ | AppContainerAuthCoordinatorRegistrationTests | testProductionAppContainer_exposesNonNilAuthCoordinator | 1ms |
| โ | AppContainerImageLoaderInjectionTests | testContainer_holdsInjectedImageLoader | 3ms |
| โ | AppContainerImageLoaderInjectionTests | testContainer_imageLoader_evictDecodedRoutesToInjectedInstance | <1ms |
| โ | AppContainerImageLoaderInjectionTests | testContainer_imageLoader_setForwardsToInjectedInstance | 13ms |
| โ | AppContainerImageLoaderInjectionTests | testProductionContainer_exposesNonNilImageLoader | 169ms |
| โ | AppContainerIsolationLintTests | testBaselinesDirectoryIsNotGitIgnored | 7ms |
| โ | AppContainerIsolationLintTests | testDeferredListFileIsLoaded | 417ms |
| โ | AppContainerIsolationLintTests | testLintCatchesSyntheticViolation | 1ms |
| โ | AppContainerIsolationLintTests | testLintFlagsRealCallEvenWhenSameLineAlsoMentionsInString | 2.51s |
| โ | AppContainerIsolationLintTests | testLintIgnoresCommentLines | 2ms |
| โ | AppContainerIsolationLintTests | testLintIgnoresStringLiteralMentions | 2.27s |
| โ | AppContainerIsolationLintTests | testLintRespectsPerLineExemptionMarker | 1ms |
| โ | AppContainerIsolationLintTests | testNoAppContainerProductionOutsideWhitelist | 2.22s |
| โ | AppContainerResetTests | testResetForTesting_cancelsOldBackgroundWork | 11ms |
| โ | AppContainerResetTests | testResetForTesting_clearsLeakedActiveSessionFromSharedAudiobookPresenter | 20ms |
| โ | AppContainerResetTests | testResetForTesting_disablesBackgroundLoadCatalogs | 14ms |
| โ | AppContainerResetTests | testResetForTesting_isIdempotent_multipleConsecutiveCallsAreSafe | 53ms |
| โ | AppContainerResetTests | testResetForTesting_reinitializesCachedGraph | 13ms |
| โ | AppContainerTests | testEnvironmentValues_appContainerDefault_matchesProductionFactory | 2ms |
| โ | AppContainerTests | testInit_twoContainersWithDifferentRegistries_remainIndependent | 1ms |
| โ | AppContainerTests | testInit_withInjectedFeatureFlags_exposesMockAndSurvivesModifierCopies | 65ms |
| โ | AppContainerTests | testInit_withMockBookRegistry_exposesTheMockNotTheProductionRegistry | 2ms |
| โ | AppContainerTests | testProduction_handsOutStableAppScopedRegistry | 1ms |
| โ | AppContainerWithSignInModalSheetPresenterTests | testWithSignInModalSheetPresenter_overrideValue_isPreferredOverStaticCache | <1ms |
| โ | AppContainerWithSignInModalSheetPresenterTests | testWithSignInModalSheetPresenter_productionContainer_fallsThroughToStaticCacheWhenOverrideNil | 9ms |
| โ | AppHealthViewModelTests | testAppLaunchStatusThresholds | 4ms |
| โ | AppHealthViewModelTests | testHealthMetricItemProperties | 1ms |
| โ | AppHealthViewModelTests | testInitialState | <1ms |
| โ | AppHealthViewModelTests | testLoadDataIncludesMemoryMetric | 29ms |
| โ | AppHealthViewModelTests | testLoadDataIncludesOfflineQueueMetrics | 14ms |
| โ | AppHealthViewModelTests | testLoadDataPopulatesMetrics | 5ms |
| โ | AppHealthViewModelTests | testOfflineQueueStatusUpdates | 12ms |
| โ | AppHealthViewModelTests | testPerformanceReportGenerated | 25ms |
| โ | AppLaunchTrackerExtendedTests | testAllMilestones_RecordedInChronologicalOrder | 203ms |
| โ | AppLaunchTrackerExtendedTests | testColdLaunch_AfterReset | 5ms |
| โ | AppLaunchTrackerExtendedTests | testDefaultIsColdLaunch | 5ms |
| โ | AppLaunchTrackerExtendedTests | testDuplicateMilestone_DoesNotCreateExtraEntries | 4ms |
| โ | AppLaunchTrackerExtendedTests | testDuplicateMilestone_OverwritesTimestamp | 57ms |
| โ | AppLaunchTrackerExtendedTests | testLaunchMilestone_AllCases | 1ms |
| โ | AppLaunchTrackerExtendedTests | testMarkWarmLaunch_ChangesType | 5ms |
| โ | AppLaunchTrackerExtendedTests | testMilestoneCount_MatchesRecordedCount | 5ms |
| โ | AppLaunchTrackerExtendedTests | testTimeBetween_NilWhenBothMissing | 5ms |
| โ | AppLaunchTrackerExtendedTests | testTimeBetween_NilWhenEndMissing | 4ms |
| โ | AppLaunchTrackerExtendedTests | testTimeBetween_NilWhenStartMissing | 6ms |
| โ | AppLaunchTrackerExtendedTests | testTimeToFirstFrame_NilWithoutFirstFrame | 5ms |
| โ | AppLaunchTrackerExtendedTests | testTimeToInteractive_NilWithoutCatalogLoaded | 31ms |
| โ | AppLaunchTrackerExtendedTests | testTimeToInteractive_NilWithoutProcessStart | 5ms |
| โ | AppLaunchTrackerExtendedTests | testTimeToInteractive_RequiresProcessStartAndCatalogLoaded | 44ms |
| โ | AppLaunchTrackerExtendedTests | testWarmLaunch_ReportsWithWarmType | 45ms |
| โ | AppLaunchTrackerTests | testCatalogLoadedReportsToMonitor | 54ms |
| โ | AppLaunchTrackerTests | testDefaultLaunchTypeIsCold | 5ms |
| โ | AppLaunchTrackerTests | testRecordAllMilestones | 42ms |
| โ | AppLaunchTrackerTests | testRecordProcessStart | 3ms |
| โ | AppLaunchTrackerTests | testReset | 4ms |
| โ | AppLaunchTrackerTests | testTimeBetweenMilestones | 58ms |
| โ | AppLaunchTrackerTests | testTimeBetweenUnrecordedMilestones | 7ms |
| โ | AppLaunchTrackerTests | testTimeToFirstFrame | 27ms |
| โ | AppLaunchTrackerTests | testTimeToInteractive | 37ms |
| โ | AppLaunchTrackerTests | testWarmLaunchType | 29ms |
| โ | AppLaunchTrackerWiringTests | testLaunchTracker_firstFrameUnrecorded_timeToFirstFrameIsNil | 3ms |
| โ | AppLaunchTrackerWiringTests | testLaunchTracker_recordsMilestones_computesTimeToInteractive | 49ms |
| โ | AppRatingServiceOverrideTests | testForceEligible_bypassesIneligibleStateAndMasterSwitch | 1ms |
| โ | AppRatingServiceOverrideTests | testResetEngagementState_clearsAllSignals | 956ms |
| โ | AppRatingServiceOverrideTests | testWithoutForce_ineligibleStateStaysIneligible | 2ms |
| โ | AppRatingServiceTests | testIsEligible_honorsInjectedConfigThresholds | 6ms |
| โ | AppRatingServiceTests | testIsEligible_whenEligibleAndSwitchOn_returnsTrue | 5ms |
| โ | AppRatingServiceTests | testIsEligible_whenMasterSwitchOff_returnsFalseEvenIfOtherwiseEligible | 4ms |
| โ | AppRatingServiceTests | testIsEligible_whenPolicyFails_returnsFalse | 5ms |
| โ | AppRatingServiceTests | testRecordBookCompleted_incrementsBooksCompleted | 4ms |
| โ | AppRatingServiceTests | testRecordDismissal_incrementsDismissalCount | 42ms |
| โ | AppRatingServiceTests | testRecordOptOut_setsOptedOut | 4ms |
| โ | AppRatingServiceTests | testRecordPromptShown_usesInjectedClockAndIncrementsDisplayCount | 5ms |
| โ | AppRatingServiceTests | testRecordSession_incrementsCountAndStoresCrashProbeResult | 137ms |
| โ | AppRouteTests | testAppRoute_Audio_IsHashable | <1ms |
| โ | AppRouteTests | testAppRoute_BookDetail_IsHashable | 2ms |
| โ | AppRouteTests | testAppRoute_DifferentTypes_NotEqual | 7ms |
| โ | AppRouteTests | testBookRoute_IsHashable | <1ms |
| โ | AppRouteTests | testSearchRoute_IsHashable | 62ms |
| โ | AppTabHostMiniPlayerIntegrationTests | testAppTabHost_fullScreenCoverBindsToPresenterIsPlayerExpanded | 17ms |
| โ | AppTabHostMiniPlayerIntegrationTests | testAppTabHost_presentOnFirstOpen_flipsCoverBinding_synchronouslyForF011 | 130ms |
| โ | AppTabHostMiniPlayerIntegrationTests | testAppTabHost_safeAreaInsetContainsMiniPlayer | 189ms |
| โ | AppTabHostMiniPlayerIntegrationTests | testNavigationHostView_epubRoute_setsIsReaderActiveTrue | 39ms |
| โ | AppTabHostMiniPlayerIntegrationTests | testNavigationHostView_popsEpubRoute_setsIsReaderActiveFalse | 12ms |
| โ | AppTabHostMiniPlayerIntegrationTests | testReaderActive_drivenThroughTwoRoutePushes_andTwoPops_acrossEpubAndPdf | 18ms |
| โ | AppTabHostViewBadgeCountTests | test_computeReadyCount_emptyArray_returnsZero | <1ms |
| โ | AppTabHostViewBadgeCountTests | test_computeReadyCount_mixedReservedAndReady_returnsOnlyReadyCount | 124ms |
| โ | AppTabHostViewBadgeCountTests | test_computeReadyCount_oneReadyBook_returnsOne | 2ms |
| โ | AppTabHostViewBadgeCountTests | test_computeReadyCount_reservedBooksOnly_returnsZero | 4ms |
| โ | AppTabHostViewBadgeCountTests | test_computeReadyCount_threeReadyBooks_returnsThree | 3ms |
| โ | AppTabHostViewBadgeCountTests | test_computeReservedCount_emptyArray_returnsZero | 170ms |
| โ | AppTabHostViewBadgeCountTests | test_computeReservedCount_readyBooksOnly_returnsZero | 3ms |
| โ | AppTabHostViewBadgeCountTests | test_computeReservedCount_twoReservedBooks_returnsTwo | 3ms |
| โ | AppTabHostViewBadgeCountTests | test_shouldUpdateBadge_loadedOrSynced_returnsTrue | 62ms |
| โ | AppTabHostViewBadgeCountTests | test_shouldUpdateBadge_unloadedOrLoadingOrSyncing_returnsFalse | <1ms |
| โ | AppTabRouterCoverageTests | testAppTabRouterHub_weakRouterReference | 5ms |
| โ | AppTabRouterCoverageTests | testAppTabRouter_defaultIsCatalog | 87ms |
| โ | AppTabRouterCoverageTests | testAppTabRouter_publishesSelectionChanges | <1ms |
| โ | AppTabRouterCoverageTests | testAppTabRouter_sequentialTabChangesPreserveLastValue | <1ms |
| โ | AppTabRouterGapTests | testAppTabRouterHub_registeredRouterIsWeaklyHeld | <1ms |
| โ | AppTabRouterGapTests | testAppTabRouter_roundTripToDefaultEmitsTwoChangeEvents | 31ms |
| โ | AppTabRouterGapTests | testAppTabRouter_tabSwitchPublishesChangeEvent | <1ms |
| โ | AppTabSelectionBindingLintTests | testBothTabViewBuilders_BindToTabSelection | 5ms |
| โ | AppTabSelectionBindingLintTests | testLint_DetectsAReversionToRouterSelected | 2ms |
| โ | AppTabStackMemoryTests | testAccountSwitchCleanup_DoesNotDoubleCountTheFallback | 9ms |
| โ | AppTabStackMemoryTests | testAccountSwitchCleanup_PopsEveryTabNotJustTheVisibleOne | 49ms |
| โ | AppTabStackMemoryTests | testAccountSwitchCleanup_ReachesATablessRegistration | 5ms |
| โ | AppTabStackMemoryTests | testApplyTabTap_AtRootOrUnregistered_IsHarmless | 11ms |
| โ | AppTabStackMemoryTests | testApplyTabTap_OnAnotherTab_SwitchesAndPopsNothing | 9ms |
| โ | AppTabStackMemoryTests | testApplyTabTap_OnTheActiveTab_PopsItAndDoesNotSwitch | 85ms |
| โ | AppTabStackMemoryTests | testNavigateToTabRoot_ClearsTheDestinationBeforeSwitching | 13ms |
| โ | AppTabStackMemoryTests | testShouldAnimateArrival_OnlyWhenAlreadyOnTheDestination | 6ms |
| โ | AppTabStackMemoryTests | testTabTap_OnAnotherTab_MeansSwitch | 19ms |
| โ | AppTabStackMemoryTests | testTabTap_OnTheActiveTab_MeansReturnToRoot | 14ms |
| โ | AppTabStackMemoryTests | testTabTap_TableHoldsForEveryTab | 21ms |
| โ | AppTabSwitchPreservesStacksTests | testTabSelectionChange_LeavesBothStacksAlone | 9ms |
| โ | AppTabSwitchPreservesStacksTests | testTabSelectionChange_LeavingMyBooks_LeavesBothStacksAlone | 98ms |
| โ | AppTabSwitchPreservesStacksTests | testTabSelectionChange_UnregisteredTab_TouchesNothing | 64ms |
| โ | ArrayExtensionsTests | testSafeSubscriptGet_NegativeIndex_ReturnsNil | <1ms |
| โ | ArrayExtensionsTests | testSafeSubscriptGet_OutOfBounds_ReturnsNil | 1ms |
| โ | ArrayExtensionsTests | testSafeSubscriptGet_StringArray_ReturnsElement | 51ms |
| โ | ArrayExtensionsTests | testSafeSubscriptGet_ValidIndex_ReturnsElement | <1ms |
| โ | ArrayExtensionsTests | testSafeSubscriptGet_emptyArray_returnsNilForAllIndices | <1ms |
| โ | ArrayExtensionsTests | testSafeSubscriptSet_updatesValidIndicesAndIgnoresInvalidWrites | <1ms |
| โ | AudioBookmarkGapTests | testAudioBookmark_copy_createsIndependentCopy | 1ms |
| โ | AudioBookmarkGapTests | testAudioBookmark_creation_storesBasicProperties | 9ms |
| โ | AudioBookmarkGapTests | testAudioBookmark_isSimilar_returnsFalseForDifferentChapter | 97ms |
| โ | AudioBookmarkGapTests | testAudioBookmark_isSimilar_returnsTrueForSameChapterPosition | 95ms |
| โ | AudioBookmarkGapTests | testAudioBookmark_toData_producesRoundTripData | 10ms |
| โ | AudioBookmarkGapTests | testAudioBookmark_toTPPBookLocation_producesValidLocation | 3ms |
| โ | AudioEngineWrapperTests | test_chapterStatusCache_after_pause_doesNotDispose | <1ms |
| โ | AudioEngineWrapperTests | test_chapterStatusCache_emptyChapters_returnsNoFault | 106ms |
| โ | AudioEngineWrapperTests | test_feedbookVendor_classifiesCantook_fromValidSignature | 1ms |
| โ | AudioEngineWrapperTests | test_feedbookVendor_isIdempotent_acrossRapidOpenClosePairs | 1ms |
| โ | AudioEngineWrapperTests | test_feedbookVendor_returnsNil_forMissingMetadata | 3ms |
| โ | AudioEngineWrapperTests | test_feedbookVendor_returnsNil_forUnknownIssuer | <1ms |
| โ | AudioEngineWrapperTests | test_openFindawayBook_repeatedOpen_doesNotDoubleReleaseSemaphore | 2ms |
| โ | AudioEngineWrapperTests | test_openFindawayBook_succeeds_withValidLicense | 12ms |
| โ | AudioInterruptionLogicTests | testNoResume_whenNoShouldResume_andWasNotPlaying | <1ms |
| โ | AudioInterruptionLogicTests | testResume_phoneCallDeclinedScenario | 78ms |
| โ | AudioInterruptionLogicTests | testResume_siriInterruptionScenario | 38ms |
| โ | AudioInterruptionLogicTests | testResume_whenNoShouldResume_butWasPlaying | <1ms |
| โ | AudioInterruptionLogicTests | testResume_whenShouldResumeSet_andWasPlaying | <1ms |
| โ | AudioInterruptionLogicTests | testResume_whenShouldResumeSet_butWasNotPlaying | 1ms |
| โ | AudioSessionActivatorTests | testActivate_nonRetriableError_failsImmediately_noRetry_noSleep | 15ms |
| โ | AudioSessionActivatorTests | testActivate_otherAudioPlaying_skipsWithoutActivating | 5ms |
| โ | AudioSessionActivatorTests | testActivate_persistentTransient_isBoundedAtMaxAttempts | 12ms |
| โ | AudioSessionActivatorTests | testActivate_succeedsFirstTry_returnsActivatedOneAttempt_noSleep | 5ms |
| โ | AudioSessionActivatorTests | testActivate_transientThenSuccess_retriesWithBackoff | 4ms |
| โ | AudioSessionActivatorTests | testBackoff_isExponential_andClampedToCap | <1ms |
| โ | AudioSessionActivatorTests | testIsRetriable_terminalCodes_areNotRetriable | <1ms |
| โ | AudioSessionActivatorTests | testIsRetriable_transientActivationCodes_areRetriable | <1ms |
| โ | AudiobookAccessibilityTests | testAudiobookIndicator_labelExists | <1ms |
| โ | AudiobookAccessibilityTests | testPauseLabel_isDescriptive | <1ms |
| โ | AudiobookAccessibilityTests | testPlayLabel_isDescriptive | <1ms |
| โ | AudiobookAccessibilityTests | testPlayPauseLabel_changesWithState | 1ms |
| โ | AudiobookAccessibilityTests | testPlayPauseLabels_areDifferent | 2ms |
| โ | AudiobookAccessibilityTests | testSkipBackLabel_indicatesTimeUnit | <1ms |
| โ | AudiobookAccessibilityTests | testSkipBackLabel_isDescriptiveWithDuration | 1ms |
| โ | AudiobookBackgroundAudioTests | testContinuousPlayback_accumulatesCorrectly | 39ms |
| โ | AudiobookBackgroundAudioTests | testInterruptedPlayback_savesPartialTime | 118ms |
| โ | AudiobookBearerTokenRecoveryTests | testBearerTokenRefulfill_alreadyAttempted_returnsFalse_bounded | 2ms |
| โ | AudiobookBearerTokenRecoveryTests | testBearerTokenRefulfill_bearerToken401_returnsFalse | 2ms |
| โ | AudiobookBearerTokenRecoveryTests | testBearerTokenRefulfill_bearerToken403_returnsTrue | 2ms |
| โ | AudiobookBearerTokenRecoveryTests | testBearerTokenRefulfill_bearerToken410_returnsTrue | 5ms |
| โ | AudiobookBearerTokenRecoveryTests | testBearerTokenRefulfill_bearerTokenMinus1008_returnsTrue | 2ms |
| โ | AudiobookBearerTokenRecoveryTests | testBearerTokenRefulfill_findawayAudiobook_returnsFalse_leftOnAlert | 3ms |
| โ | AudiobookBearerTokenRecoveryTests | testBearerTokenRefulfill_lcpAudiobook_returnsFalse_leftOnAlert | 3ms |
| โ | AudiobookBearerTokenRecoveryTests | testBearerTokenRefulfill_nilBook_returnsFalse | <1ms |
| โ | AudiobookBearerTokenRecoveryTests | testBearerTokenRefulfill_openAccessAudiobook_returnsFalse | 12ms |
| โ | AudiobookBearerTokenRecoveryTests | testBearerTokenRefulfill_overdriveAudiobook_returnsFalse_ownPath | 3ms |
| โ | AudiobookBearerTokenRecoveryTests | testExpiredSignal_401_returnsFalse | <1ms |
| โ | AudiobookBearerTokenRecoveryTests | testExpiredSignal_403_returnsTrue | 7ms |
| โ | AudiobookBearerTokenRecoveryTests | testExpiredSignal_404_returnsFalse | <1ms |
| โ | AudiobookBearerTokenRecoveryTests | testExpiredSignal_410_returnsTrue | 2ms |
| โ | AudiobookBearerTokenRecoveryTests | testExpiredSignal_minus1008_returnsTrue | 2ms |
| โ | AudiobookBearerTokenRecoveryTests | testExpiredSignal_noStatusNoURLError_returnsFalse | 1ms |
| โ | AudiobookBearerTokenRecoveryTests | testResourceUnavailable_minus1008InUnderlyingChain_returnsTrue | 19ms |
| โ | AudiobookBearerTokenRecoveryTests | testResourceUnavailable_minus1008_returnsTrue | 1ms |
| โ | AudiobookBearerTokenRecoveryTests | testResourceUnavailable_nilError_returnsFalse | <1ms |
| โ | AudiobookBearerTokenRecoveryTests | testResourceUnavailable_nonURLDomainWithSameCode_returnsFalse | 1ms |
| โ | AudiobookBearerTokenRecoveryTests | testResourceUnavailable_otherURLErrorCode_returnsFalse | <1ms |
| โ | AudiobookBookmarkBusinessLogicConcurrencyTests | testConcurrentDeleteAndFetch_doesNotCrash | 20ms |
| โ | AudiobookBookmarkBusinessLogicConcurrencyTests | testDeleteBookmark_thenFetch_filtersDeletedBookmark | 150ms |
| โ | AudiobookBookmarkBusinessLogicConcurrencyTests | testSyncBookmarks_concurrentCallers_everyCompletionFiresExactlyOnce | 733ms |
| โ | AudiobookBookmarkBusinessLogicPositionWriteTests | testCancelPendingRemotePositionWrite_forwardsBookIdentifierToWriter | 16ms |
| โ | AudiobookBookmarkBusinessLogicPositionWriteTests | testIsAtBeginning_preservedAfterMigration_doesNotOverwriteValidPosition | 5.73s |
| โ | AudiobookBookmarkBusinessLogicPositionWriteTests | testSaveListeningPosition_delegatesNetworkSaveToPositionWriter | 60ms |
| โ | AudiobookBookmarkBusinessLogicPositionWriteTests | testSaveListeningPosition_savesLocallyImmediately | 18ms |
| โ | AudiobookBookmarkBusinessLogicPositionWriteTests | testSaveListeningPosition_writerError_doesNotCrash_completionCalledWithError | 1.33s |
| โ | AudiobookBookmarkBusinessLogicPositionWriteTests | testSaveListeningPosition_writerThrottled_localStillCommitted | 63ms |
| โ | AudiobookBookmarkBusinessLogicPositionWriteTests | testSaveThenCancel_routesBothThroughWriter_sameBook | 315ms |
| โ | AudiobookBookmarkBusinessLogicPositionWriteTests | testTimestampNewerRace_preservedAfterMigration_keepsLocal | 2.78s |
| โ | AudiobookBookmarkBusinessLogicPositionWriteTests | testTimestampTie_sameSecondStamp_commitsTheSavedPosition | 41ms |
| โ | AudiobookBookmarkBusinessLogicTests | testBusinessLogic_canBeInitialized | 2ms |
| โ | AudiobookBookmarkBusinessLogicTests | testBusinessLogic_hasBookReference | 404ms |
| โ | AudiobookBookmarkBusinessLogicTests | testDebounce_DeallocDuringPendingWork_DoesNotCrash | 1.53s |
| โ | AudiobookBookmarkBusinessLogicTests | testDebounce_RapidCalls_OnlyLastSyncs | 15ms |
| โ | AudiobookBookmarkBusinessLogicTests | testFlushPendingOperations_ExecutesPendingWork | 3ms |
| โ | AudiobookBookmarkBusinessLogicTests | testFlush_AfterDealloc_DoesNotCrash | 9ms |
| โ | AudiobookBookmarkBusinessLogicTests | testLoadTracks_succeeds | 20ms |
| โ | AudiobookBookmarkBusinessLogicTests | testPositionRestoration_BothNil_ReturnsNil | 4ms |
| โ | AudiobookBookmarkBusinessLogicTests | testPositionRestoration_LocalNewerThanRemote_UsesLocal | 5ms |
| โ | AudiobookBookmarkBusinessLogicTests | testPositionRestoration_OnlyLocalExists_UsesLocal | 10ms |
| โ | AudiobookBookmarkBusinessLogicTests | testPositionRestoration_OnlyRemoteExists_UsesRemote | 40ms |
| โ | AudiobookBookmarkBusinessLogicTests | testPositionRestoration_RemoteNewerThanLocal_UsesRemote | 5ms |
| โ | AudiobookBookmarkBusinessLogicTests | testPositionRestoration_SameTimestamp_UsesLocal | 5ms |
| โ | AudiobookBookmarkBusinessLogicTests | testSaveBookmark_AddsToRegistry | 1.02s |
| โ | AudiobookBookmarkBusinessLogicTests | testSaveBookmark_CreatesBookmark | 1.02s |
| โ | AudiobookBookmarkBusinessLogicTests | testSaveListeningPositionSync_SavesImmediately | 65ms |
| โ | AudiobookBookmarkBusinessLogicTests | testSaveListeningPosition_SavesLocallyImmediately | 29ms |
| โ | AudiobookBookmarkBusinessLogicTests | testSaveListeningPosition_SyncsToServer | 32ms |
| โ | AudiobookBookmarkBusinessLogicTests | testSaveListeningPosition_track0_29s_track1AlreadySaved_doesNotOverwriteWithBeginning | 55ms |
| โ | AudiobookBookmarkBusinessLogicTests | testSaveListeningPosition_track0_time0_savesToServer | 14ms |
| โ | AudiobookBookmarkBusinessLogicTests | testSyncBookmarks_MergesLocalAndRemote | 639ms |
| โ | AudiobookChapterCompletionPauseTests | testChapterCompleted_leavesPlayStateAlone | 6ms |
| โ | AudiobookChapterCompletionPauseTests | testEverySignalHasAProducingManagerState | 49ms |
| โ | AudiobookChapterCompletionPauseTests | testExactlyOneManagerStatePauses | 5ms |
| โ | AudiobookChapterCompletionPauseTests | testNonPlaybackStates_areNotTableManaged | 4ms |
| โ | AudiobookChapterCompletionPauseTests | testPlaybackBegan_reportsPlayingAndPairsWithTheMatchingState | 5ms |
| โ | AudiobookChapterCompletionPauseTests | testPlaybackFailed_isNotTableManaged | 53ms |
| โ | AudiobookChapterCompletionPauseTests | testPlaybackStopped_reportsPausedAndPairsWithTheMatchingState | 67ms |
| โ | AudiobookChapterTOCNormalizationTests | testNormalizedChaptersCount_balancedTOC_returnsOriginalCount | <1ms |
| โ | AudiobookChapterTOCNormalizationTests | testNormalizedChaptersCount_exactlyAtThreshold_returnsOriginal | <1ms |
| โ | AudiobookChapterTOCNormalizationTests | testNormalizedChaptersCount_oneOverThreshold_collapses | <1ms |
| โ | AudiobookChapterTOCNormalizationTests | testNormalizedChaptersCount_oversubdividedTOC_collapsesToTrackCount | <1ms |
| โ | AudiobookChapterTOCNormalizationTests | testNormalizedChaptersCount_slightlyInflatedTOC_returnsOriginalCount | <1ms |
| โ | AudiobookChapterTOCNormalizationTests | testNormalizedChaptersCount_zeroTracks_returnsOriginal | <1ms |
| โ | AudiobookColdLoadRecoveryTests | testColdLoad_firstFailure_triggersAutoReopen | <1ms |
| โ | AudiobookColdLoadRecoveryTests | testNoCurrentBook_doesNotAutoReopen | 2ms |
| โ | AudiobookColdLoadRecoveryTests | testSecondFailure_alreadyAttempted_surfacesAlertNotLoop | <1ms |
| โ | AudiobookColdLoadRecoveryTests | testWarmFailure_afterPlaybackStarted_doesNotAutoReopen | <1ms |
| โ | AudiobookContentGateTests | testContract_gate_triggerThenAwait_landed | 42ms |
| โ | AudiobookContentGateTests | testContract_gate_triggerThenAwait_timeout | 14ms |
| โ | AudiobookContentGateTests | testGate_coldLoadRecovery_doesNotTrigger_proceeds | 14ms |
| โ | AudiobookContentGateTests | testGate_contentAlreadyLocal_doesNotTrigger_proceeds | 16ms |
| โ | AudiobookContentGateTests | testGate_contentMissing_awaitTimesOut_returnsUnavailable_butOnlyAfterTrigger | 5ms |
| โ | AudiobookContentGateTests | testGate_contentMissing_triggersDownloadThenAwaits_landed | 10ms |
| โ | AudiobookContentGateTests | testGate_neverReturnsUnavailable_whenGateNotApplicable | 9ms |
| โ | AudiobookContentGateTests | testGate_streamingEnabled_coldLoadRecovery_doesNotFetch | 13ms |
| โ | AudiobookContentGateTests | testGate_streamingEnabled_contentAlreadyLocal_doesNotFetch | 9ms |
| โ | AudiobookContentGateTests | testGate_streamingEnabled_contentMissing_fetchesInBackgroundWithoutBlocking | 15ms |
| โ | AudiobookContentGateTests | testGate_streamingEnabled_whenPolicyRefuses_doesNotFetchButStillProceeds | 23ms |
| โ | AudiobookContentGateTests | testGate_streamingEnabled_wifiOnlyPreferenceSet_doesNotFetchButStillProceeds | 32ms |
| โ | AudiobookContentGateTests | testShouldFetch_isIndependentOfStreaming_acrossInputs | 6ms |
| โ | AudiobookContentGateTests | testShouldTrigger_coldLoadRecovery_returnsFalse | 104ms |
| โ | AudiobookContentGateTests | testShouldTrigger_contentAlreadyLocal_returnsFalse | 14ms |
| โ | AudiobookContentGateTests | testShouldTrigger_lcpBookContentMissingNotRecovery_returnsTrue | 62ms |
| โ | AudiobookContentGateTests | testShouldTrigger_notLCPBook_returnsFalse | 6ms |
| โ | AudiobookContentGateTests | testShouldTrigger_streamingEnabled_neverBlocks_acrossInputs | 42ms |
| โ | AudiobookContentGateTests | testShouldTrigger_streamingEnabled_overridesDownloadFirst_returnsFalse | 10ms |
| โ | AudiobookCrossVendorSmokeTests | testSmoke_BearerToken_wiresThroughTwoLegManifestFetch | 22ms |
| โ | AudiobookCrossVendorSmokeTests | testSmoke_LCP_wiresThroughToAudiobooksFactory | 8ms |
| โ | AudiobookCrossVendorSmokeTests | testSmoke_LocalFile_wiresThroughLocalManifestRead | 7ms |
| โ | AudiobookCrossVendorSmokeTests | testSmoke_OpenAccess_wiresThroughSingleLegManifestFetch | 9ms |
| โ | AudiobookDataManagerEmptyQueueTests | testSyncValues_withEmptyQueue_makesNoRequests | 43ms |
| โ | AudiobookDataManagerErrorHandlingTests | testSyncValues_with404Response_removesEntriesAndURL | 25ms |
| โ | AudiobookDataManagerErrorHandlingTests | testSyncValues_with500Response_keepsEntriesForRetry | 36ms |
| โ | AudiobookDataManagerErrorHandlingTests | testSyncValues_with503Response_keepsEntriesForRetry | 61ms |
| โ | AudiobookDataManagerErrorHandlingTests | testSyncValues_withNetworkError_keepsEntries | 86ms |
| โ | AudiobookDataManagerErrorHandlingTests | testSyncValues_withPartialSuccess_removesOnlySuccessfulEntries | 44ms |
| โ | AudiobookDataManagerModelsTests | testAudiobookDataManagerStoreInit_empty | <1ms |
| โ | AudiobookDataManagerModelsTests | testAudiobookDataManagerStoreInit_fromData_invalidJson_returnsNil | 1ms |
| โ | AudiobookDataManagerModelsTests | testAudiobookDataManagerStoreInit_fromData_validJson | <1ms |
| โ | AudiobookDataManagerModelsTests | testAudiobookDataManagerStoreJsonRepresentation | <1ms |
| โ | AudiobookDataManagerModelsTests | testAudiobookDataManagerStoreRoundTrip | 5ms |
| โ | AudiobookDataManagerModelsTests | testAudiobookTimeEntryCodable | <1ms |
| โ | AudiobookDataManagerModelsTests | testAudiobookTimeEntryEquality | <1ms |
| โ | AudiobookDataManagerModelsTests | testLibraryBookCodable | 10ms |
| โ | AudiobookDataManagerModelsTests | testLibraryBookEquality | <1ms |
| โ | AudiobookDataManagerModelsTests | testLibraryBookHashable | <1ms |
| โ | AudiobookDataManagerModelsTests | testLibraryBookInit_directAndFromTimeEntryAreEqual | 23ms |
| โ | AudiobookDataManagerModelsTests | testLibraryBookInit_fromTimeEntry | 1ms |
| โ | AudiobookDataManagerModelsTests | testRequestDataInit_fromLibraryBookAndEntries | 1ms |
| โ | AudiobookDataManagerModelsTests | testRequestDataInit_timeEntryDurationMapsToSecondsPlayed | <1ms |
| โ | AudiobookDataManagerModelsTests | testRequestDataJsonRepresentation | 4ms |
| โ | AudiobookDataManagerModelsTests | testRequestDataTimeEntryDescription | 4ms |
| โ | AudiobookDataManagerModelsTests | testResponseDataInit_fromData_emptyResponses | 2ms |
| โ | AudiobookDataManagerModelsTests | testResponseDataInit_fromData_invalidJson_returnsNil | 2ms |
| โ | AudiobookDataManagerModelsTests | testResponseDataInit_fromData_validJson | 3ms |
| โ | AudiobookDataManagerModelsTests | testResponseDataInit_jsonAndDirectProduceSameResult | 6ms |
| โ | AudiobookDataManagerNetworkSyncTests | testAudiobookDataManager_Sync_InitializesCorrectly | 11ms |
| โ | AudiobookDataManagerNetworkSyncTests | testSyncValues_requestBodyContainsCorrectFormat | 17ms |
| โ | AudiobookDataManagerNetworkSyncTests | testSyncValues_withMultipleBooks_makesRequestForEach | 18ms |
| โ | AudiobookDataManagerNetworkSyncTests | testSyncValues_withQueuedEntries_postsToCorrectURL | 37ms |
| โ | AudiobookDataManagerNetworkSyncTests | testSyncValues_withSuccessfulResponse_removesEntriesFromQueue | 35ms |
| โ | AudiobookDataManagerSaveTests | testDataManagerConformance_savesViaProtocol | 243ms |
| โ | AudiobookDataManagerSaveTests | testSave_addsEntryToQueue | 4ms |
| โ | AudiobookDataManagerSaveTests | testSave_multipleEntries_allQueued | 102ms |
| โ | AudiobookDataManagerSaveTests | testSave_storesURLMapping | 5ms |
| โ | AudiobookDataManagerStoreRecoveryTests | testAudiobookDataManagerStoreInit_rejectsMalformedPayloads | 9ms |
| โ | AudiobookDataManagerStoreRecoveryTests | testAudiobookDataManagerStoreInit_withPartialData_returnsNil | 14ms |
| โ | AudiobookDataManagerStoreRecoveryTests | testLoadStore_withCorruptedJSON_doesNotCrash | 5ms |
| โ | AudiobookDataManagerStoreRecoveryTests | testLoadStore_withEmptyFile_doesNotCrash | 20ms |
| โ | AudiobookDataManagerStoreRecoveryTests | testSaveAndLoadStore_preservesData | 34ms |
| โ | AudiobookFileLoggerTests | testCleanup_whenOverSizeLimit_deletesOldestFileFirst | 72ms |
| โ | AudiobookFileLoggerTests | testGetLogsDirectoryUrl_directoryExists | 4ms |
| โ | AudiobookFileLoggerTests | testGetLogsDirectoryUrl_returnsURL | 4ms |
| โ | AudiobookFileLoggerTests | testInit_withCustomLogsRoot_usesProvidedDirectory | 893ms |
| โ | AudiobookFileLoggerTests | testLogArchiveDirectoryURL_afterLoggingEvent_containsTheWrittenLog | 416ms |
| โ | AudiobookFileLoggerTests | testLogEvent_atExact2MBBoundary_appendsRatherThanRotates | 142ms |
| โ | AudiobookFileLoggerTests | testLogEvent_concurrentWritesToSameBook_atLeastSomeEventsAppear | 632ms |
| โ | AudiobookFileLoggerTests | testLogEvent_containsTimestamp | 6ms |
| โ | AudiobookFileLoggerTests | testLogEvent_createsLogFile | 284ms |
| โ | AudiobookFileLoggerTests | testLogEvent_multipleEvents_allAppear | 259ms |
| โ | AudiobookFileLoggerTests | testRetrieveLog_atExact1MBBoundary_doesNotTruncate | 19ms |
| โ | AudiobookFileLoggerTests | testRetrieveLog_nonexistentBook_returnsNil | 4ms |
| โ | AudiobookFileLoggerTests | testRetrieveLog_truncatesAbove1MBAndPrependsMarker | 213ms |
| โ | AudiobookFileLoggerTests | testRetrieveLogs_emptyBookIds_returnsEmptyDict | 1.02s |
| โ | AudiobookFileLoggerTests | testRetrieveLogs_multipleBooks | 90ms |
| โ | AudiobookFirstOpenHangTests | testAwaitReadinessAndIssueFirstPlay_drivesProbeAndCommand_onProductionWiring | 18ms |
| โ | AudiobookFirstOpenHangTests | testAwaitReadinessAndIssueFirstPlay_timeout_surfacesLoadFailure_andNeverIssuesPlay | 112ms |
| โ | AudiobookFirstOpenHangTests | testAwaitReady_manyConcurrentAwaiters_parkedBeforeFailed_allResumeSameFailureReason | 67ms |
| โ | AudiobookFirstOpenHangTests | testAwaitReady_manyConcurrentAwaiters_parkedBeforeReady_allResumeReady | 213ms |
| โ | AudiobookFirstOpenHangTests | testConfirmLCPFirstPlay_engineBecameReadyDuringGateWait_suppressesReissue | 66ms |
| โ | AudiobookFirstOpenHangTests | testConfirmLCPFirstPlay_engineNeverLoaded_exhaustsBudgetSilently_noError | 322ms |
| โ | AudiobookFirstOpenHangTests | testConfirmLCPFirstPlay_engineNotReadyInitially_reissuesPlayUntilLoaded | 111ms |
| โ | AudiobookFirstOpenHangTests | testConfirmLCPFirstPlay_engineReadyAfterFirstPlay_issuesExactlyOnePlay | 8ms |
| โ | AudiobookFirstOpenHangTests | testFirstOpen_engineNeverReady_within2s_emitsLoadError | 173ms |
| โ | AudiobookFirstOpenHangTests | testFirstOpen_engineNotReadyAtBindTime_awaitsReadiness_beforeIssuingPlay | 65ms |
| โ | AudiobookFirstOpenHangTests | testFirstOpen_readinessWake_latencyBound_loadSensitive | 8ms |
| โ | AudiobookFirstOpenHangTests | testNavBackAndReopen_secondOpenSucceeds_withoutDoublePlay | 81ms |
| โ | AudiobookFirstOpenHangTests | testPresentLoadingShellIfEligible_doesNotFireOrPresent_whenInAppNavOff | 120ms |
| โ | AudiobookFirstOpenHangTests | testPresentLoadingShellIfEligible_doesNotFire_whenNotStartPlaying | 14ms |
| โ | AudiobookFirstOpenHangTests | testPresentLoadingShellIfEligible_presentsShellAndFiresHook_whenEligible | 11ms |
| โ | AudiobookLoadFailureSAMLReauthTests | testRegressionForBug_SAMLOpenFailureGetsReauth_perHelpSpot17727 | 80ms |
| โ | AudiobookLoadFailureSAMLReauthTests | testShouldNotTrigger_forBasicAuthAccount | 42ms |
| โ | AudiobookLoadFailureSAMLReauthTests | testShouldNotTrigger_forOAuthAccount | 54ms |
| โ | AudiobookLoadFailureSAMLReauthTests | testShouldNotTrigger_onCancelledLoadEvenWhenSAMLStale | 53ms |
| โ | AudiobookLoadFailureSAMLReauthTests | testShouldNotTrigger_whenAuthStateIsLoggedIn | 90ms |
| โ | AudiobookLoadFailureSAMLReauthTests | testShouldNotTrigger_whenAuthStateIsLoggedOut | 50ms |
| โ | AudiobookLoadFailureSAMLReauthTests | testShouldNotTrigger_whenCurrentBookIsNil | 41ms |
| โ | AudiobookLoadFailureSAMLReauthTests | testShouldNotTrigger_whenNoStoredCredentials | 29ms |
| โ | AudiobookLoadFailureSAMLReauthTests | testShouldTrigger_forAnyNonCancelledLoadErrorWhenSAMLStale | 42ms |
| โ | AudiobookLoadFailureSAMLReauthTests | testShouldTrigger_whenStaleCredentialsAndSAMLAndBook | 32ms |
| โ | AudiobookLoaderDispatchTests | testLoad_bearerTokenBook_dispatchesToBearerTokenAdapter | 54ms |
| โ | AudiobookLoaderDispatchTests | testLoad_cancelDuringDispatch_surfacesCancelled | 99ms |
| โ | AudiobookLoaderDispatchTests | testLoad_lcpBook_dispatchesToLCPAdapter | 60ms |
| โ | AudiobookLoaderDispatchTests | testLoad_lcpPriorityOverOthers | 521ms |
| โ | AudiobookLoaderDispatchTests | testLoad_localFileBook_dispatchesToLocalFileAdapter | 101ms |
| โ | AudiobookLoaderDispatchTests | testLoad_noAdapterMatches_failsWithManifestFetchFailed | 266ms |
| โ | AudiobookLoaderDispatchTests | testLoad_openAccessBook_dispatchesToOpenAccessAdapter | 57ms |
| โ | AudiobookLoaderFinalizeBuildTests | test_audiobookLoadError_factoryFailedCarriesManifestType | 218ms |
| โ | AudiobookLoaderFinalizeBuildTests | test_audiobookLoadError_manifestDecodingFailedCarriesUnderlying | 1ms |
| โ | AudiobookLoaderFinalizeBuildTests | test_finalizeBuild_factoryReturnsNil_noEncryptedBlock_decodesFine | 614ms |
| โ | AudiobookLoaderFinalizeBuildTests | test_finalizeBuild_factoryReturnsNil_throwsFactoryFailed | 2ms |
| โ | AudiobookLoaderFinalizeBuildTests | test_finalizeBuild_invalidJSON_throwsManifestDecodingFailed | <1ms |
| โ | AudiobookLoaderFinalizeBuildTests | test_finalizeBuild_nilDecryptor_doesNotTrap | 115ms |
| โ | AudiobookLoaderFinalizeBuildTests | test_finalizeBuild_overdriveBook_passesBearerToken | 6ms |
| โ | AudiobookLoaderFinalizeBuildTests | test_finalizeBuild_truncatedJSON_throwsCleanly | 2ms |
| โ | AudiobookLoaderFinalizeBuildTests | test_finalizeBuild_validManifest_succeeds | 58ms |
| โ | AudiobookLoaderFinalizeBuildTests | test_finalizeBuild_zeroTrackAudiobook_failsWithFactoryFailed_notSuccess | 49ms |
| โ | AudiobookLoaderFinalizeBuildTests | test_finalizeBuild_zeroTrackOverdrive_premise_factoryReturnsNonNilButTrackless | 222ms |
| โ | AudiobookLoaderOPDSShapeMatrixTests | testHermeticGuard_clearingExpiredToken_unblocksAdapterRouting | 133ms |
| โ | AudiobookLoaderOPDSShapeMatrixTests | testMatrix_OPDS1XMLFeedTopLevelLCP_routesToLCP | 129ms |
| โ | AudiobookLoaderOPDSShapeMatrixTests | testMatrix_OPDS2JSONFeedNestedLCP_routesToLCP | 729ms |
| โ | AudiobookLoaderOPDSShapeMatrixTests | testMatrix_findawayTypedManifest_routesToOpenAccessAdapter | 45ms |
| โ | AudiobookLoaderOPDSShapeMatrixTests | testMatrix_nestedBearerTokenMIME_fallsThroughToOpenAccess | 67ms |
| โ | AudiobookLoaderOPDSShapeMatrixTests | testMatrix_openAccessNoDRM_routesToOpenAccessAdapter | 167ms |
| โ | AudiobookLoaderOPDSShapeMatrixTests | testMatrix_openAccessWithBearerToken_routesToBearerTokenAdapter | 83ms |
| โ | AudiobookLoaderOPDSShapeMatrixTests | testRefreshInProgressClassifier_matchesOnlyTheInProgressError | 14ms |
| โ | AudiobookLoaderPredicateTests | testHasRefreshableCredentials_allPresent_returnsTrue | <1ms |
| โ | AudiobookLoaderPredicateTests | testHasRefreshableCredentials_emptyPin_returnsFalse | 48ms |
| โ | AudiobookLoaderPredicateTests | testHasRefreshableCredentials_emptyUsername_returnsFalse | 47ms |
| โ | AudiobookLoaderPredicateTests | testHasRefreshableCredentials_nilPin_returnsFalse | 17ms |
| โ | AudiobookLoaderPredicateTests | testHasRefreshableCredentials_nilTokenURL_returnsFalse | 10ms |
| โ | AudiobookLoaderPredicateTests | testHasRefreshableCredentials_nilUsername_returnsFalse | <1ms |
| โ | AudiobookLoaderPredicateTests | testLooksLikeHTMLResponse_applicationJSON_returnsFalse | <1ms |
| โ | AudiobookLoaderPredicateTests | testLooksLikeHTMLResponse_noContentTypeHeader_returnsFalse | 1ms |
| โ | AudiobookLoaderPredicateTests | testLooksLikeHTMLResponse_textHTMLWithCharset_returnsTrue | 30ms |
| โ | AudiobookLoaderPredicateTests | testLooksLikeHTMLResponse_textHTML_returnsTrue | 1ms |
| โ | AudiobookLoaderPredicateTests | testLooksLikeHTMLResponse_xhtml_returnsTrue | 2ms |
| โ | AudiobookLoaderTests | testLoad_missingLocalFileAndUnreachableURL_failsWithManifestError | 26ms |
| โ | AudiobookLoaderTests | testLoad_whenCancelledFirst_surfacesCancelledError | 124ms |
| โ | AudiobookMorphingPlayerViewTests | testBookmarkErrorMessage_mapsPublicCasesToLocalizedCopy | <1ms |
| โ | AudiobookMorphingPlayerViewTests | testBookmarkErrorMessage_unknownErrorFallsBackToGeneric | 5ms |
| โ | AudiobookMorphingPlayerViewTests | testControlMetrics_landscapeTier_matchesToolkit | <1ms |
| โ | AudiobookMorphingPlayerViewTests | testControlMetrics_narrowBoundary_isStrictlyLessThan370 | <1ms |
| โ | AudiobookMorphingPlayerViewTests | testControlMetrics_narrowTier_matchesToolkit | 7ms |
| โ | AudiobookMorphingPlayerViewTests | testControlMetrics_standardPortraitTier_matchesToolkit | 41ms |
| โ | AudiobookMorphingPlayerViewTests | testDisplayRate_boundAdoptsSessionRate | <1ms |
| โ | AudiobookMorphingPlayerViewTests | testDisplayRate_unboundKeepsFallback | 4ms |
| โ | AudiobookMorphingPlayerViewTests | testDownloadingAccessibilityLabel_clampsProgress | <1ms |
| โ | AudiobookMorphingPlayerViewTests | testDownloadingAccessibilityLabel_foldsTitleAndAuthor | 333ms |
| โ | AudiobookMorphingPlayerViewTests | testDownloadingAccessibilityLabel_omitsMissingMetadata | 1ms |
| โ | AudiobookMorphingPlayerViewTests | testFormatTime_returnsExpectedTimecodes | 70ms |
| โ | AudiobookMorphingPlayerViewTests | testLoadingOverlayState_downloadingBeatsSkeletonAndTimeout | <1ms |
| โ | AudiobookMorphingPlayerViewTests | testLoadingOverlayState_loadedIsHidden | 1ms |
| โ | AudiobookMorphingPlayerViewTests | testLoadingOverlayState_skeletonDefaultAndForceOverride | <1ms |
| โ | AudiobookMorphingPlayerViewTests | testLoadingOverlayState_timeoutWithoutDownloadIsLoadError | <1ms |
| โ | AudiobookMorphingPlayerViewTests | testRubberBand_nonUpwardOffsetPassesThrough | 2ms |
| โ | AudiobookMorphingPlayerViewTests | testRubberBand_upwardPullIsResistedAndClamped | 2ms |
| โ | AudiobookMorphingPlayerViewTests | testShouldSurfaceLoadTimeout_onlyWhenNotLoadedAndNotDownloading | <1ms |
| โ | AudiobookMorphingPlayerViewTests | testToastIsError_classifiesSuccessAndFailureCopy | 1ms |
| โ | AudiobookMorphingPlayerViewTests | testWholeBookRemaining_atDoubleSpeed_isHalved | 1ms |
| โ | AudiobookMorphingPlayerViewTests | testWholeBookRemaining_atNormalSpeed_readsBookTime | 2ms |
| โ | AudiobookMorphingPlayerViewTests | testWholeBookRemaining_belowNormalSpeed_takesLonger | <1ms |
| โ | AudiobookMorphingPlayerViewTests | testWholeBookRemaining_everyRateOnTheRailProducesADistinctFigure | <1ms |
| โ | AudiobookMorphingPlayerViewTests | testWholeBookRemaining_finishedBookIsZeroAtEverySpeed | 5ms |
| โ | AudiobookMorphingPlayerViewTests | testWholeBookRemaining_overrunPlayheadDoesNotGoNegative | <1ms |
| โ | AudiobookNetworkValidationTests | testFullyDownloaded_bypassesNetworkRulesAcrossAllConnectivityCombinations | <1ms |
| โ | AudiobookNetworkValidationTests | testFullyDownloaded_neverNeedsNetwork_offline | 936ms |
| โ | AudiobookNetworkValidationTests | testStreaming_networkValidationCoversAllConnectivityCombinations | 399ms |
| โ | AudiobookOpenStateRaceTests | testF016Repro_audiobookOpenAwaitsReadiness_doesNotSilentlyReadPastNilDetails | 196ms |
| โ | AudiobookOpenStateRaceTests | testF016Repro_audiobookOpenUnderDetailsFailed_gateThrows_callerMapsToNotAuthenticated | 36ms |
| โ | AudiobookOpenStateRaceTests | testIntegration_openAudiobook_underDetailsFailed_returnsNotAuthenticated | 713ms |
| โ | AudiobookPhoneAlertContentTests | testLoaderAndUnknownErrors_returnNil_toAvoidDoubleAlerts | <1ms |
| โ | AudiobookPhoneAlertContentTests | testValidationErrors_allProduceAlertContent | 4ms |
| โ | AudiobookPhoneAlertContentTests | testWifiRequired_producesAlertContent | 5ms |
| โ | AudiobookPlaybackStateTests | testPlaybackStartAndStop_cycle | 21ms |
| โ | AudiobookPlaybackStateTests | testPlaybackStarted_canBeCalledMultipleTimes | 10ms |
| โ | AudiobookPlaybackStateTests | testPlaybackStopped_canBeCalledWithoutStart | 3ms |
| โ | AudiobookPlaybackTests | testAudiobookTimeEntry_DurationCappedAt60 | 4ms |
| โ | AudiobookPlaybackTests | testAudiobookTimeEntry_ValidDuration | 3ms |
| โ | AudiobookPlaybackTests | testChapterIndex_ValidTrack | 5ms |
| โ | AudiobookPlaybackTests | testChapterNavigation_NextChapter | 3ms |
| โ | AudiobookPlaybackTests | testChapterNavigation_NextChapter_AtEnd | 4ms |
| โ | AudiobookPlaybackTests | testChapterNavigation_PreviousChapter | 48ms |
| โ | AudiobookPlaybackTests | testChapterNavigation_PreviousChapter_ClampsToZero | 46ms |
| โ | AudiobookPlaybackTests | testPlaybackSpeed_0_75x_CalculatesCorrectDuration | 4ms |
| โ | AudiobookPlaybackTests | testPlaybackSpeed_1_0x_CalculatesCorrectDuration | 3ms |
| โ | AudiobookPlaybackTests | testPlaybackSpeed_1_25x_CalculatesCorrectDuration | 5ms |
| โ | AudiobookPlaybackTests | testPlaybackSpeed_1_5x_CalculatesCorrectDuration | 9ms |
| โ | AudiobookPlaybackTests | testPlaybackSpeed_2_0x_CalculatesCorrectDuration | 3ms |
| โ | AudiobookPlaybackTests | testPlaybackSpeed_ContentPlayedCalculation | 3ms |
| โ | AudiobookPlaybackTests | testSkipAhead_Adds30Seconds | 3ms |
| โ | AudiobookPlaybackTests | testSkipAhead_ClampsToTrackEnd | 3ms |
| โ | AudiobookPlaybackTests | testSkipAhead_WithinTrackDuration | 4ms |
| โ | AudiobookPlaybackTests | testSkipBehind_ClampsToZero | 3ms |
| โ | AudiobookPlaybackTests | testSkipBehind_Subtracts30Seconds | 25ms |
| โ | AudiobookPlaybackTests | testSleepTimer_15Minutes | 32ms |
| โ | AudiobookPlaybackTests | testSleepTimer_30Minutes | 3ms |
| โ | AudiobookPlaybackTests | testSleepTimer_60Minutes | 3ms |
| โ | AudiobookPlaybackTests | testSleepTimer_Expired | 3ms |
| โ | AudiobookPlaybackTests | testSleepTimer_RemainingTime | 100ms |
| โ | AudiobookPlaybackTests | testTrackPosition_Creation | 3ms |
| โ | AudiobookPlaybackTests | testTrackPosition_ToAudioBookmark | 58ms |
| โ | AudiobookPlaybackTests | testTrackPosition_ToTPPBookLocation | 6ms |
| โ | AudiobookPlaytimesLifecycleTests | testPlaytimes_accountSwitchNotification_doesNotClearQueue | 47ms |
| โ | AudiobookPlaytimesLifecycleTests | testPlaytimes_allCrossAccount_backgroundTaskStillEnds | 157ms |
| โ | AudiobookPlaytimesLifecycleTests | testPlaytimes_crossAccountUpload_isSkipped_andQueuePreserved | 7ms |
| โ | AudiobookPlaytimesLifecycleTests | testPlaytimes_midFlightCancellation_notReplayedByQueue | 63ms |
| โ | AudiobookPlaytimesLifecycleTests | testPlaytimes_sameAccountUpload_postsNormally | 12ms |
| โ | AudiobookPlaytimesLifecycleTests | testPlaytimes_switchBack_flushesPreservedEntries | 279ms |
| โ | AudiobookPositionAdapterContractTests | test_audiobookSave_localFirstThenWriter | 91ms |
| โ | AudiobookPositionAdapterContractTests | test_audiobookSave_preservesIsAtBeginningGuard | 19ms |
| โ | AudiobookPositionAdapterContractTests | test_audiobookSave_preservesTimestampNewerRace | 26ms |
| โ | AudiobookPositionPolicyValidatorTests | testValidate_NaNTimestamp_fails | 12ms |
| โ | AudiobookPositionPolicyValidatorTests | testValidate_capMultiplier_isExactly1Point1 | <1ms |
| โ | AudiobookPositionPolicyValidatorTests | testValidate_finiteCheckRunsBeforeNegativeCheck | 19ms |
| โ | AudiobookPositionPolicyValidatorTests | testValidate_happyPath_succeeds | <1ms |
| โ | AudiobookPositionPolicyValidatorTests | testValidate_infiniteTimestamp_fails | 2ms |
| โ | AudiobookPositionPolicyValidatorTests | testValidate_negativeTimestamp_fails | <1ms |
| โ | AudiobookPositionPolicyValidatorTests | testValidate_positionAtExact110Percent_succeeds | <1ms |
| โ | AudiobookPositionPolicyValidatorTests | testValidate_positionAtExactTotalDuration_succeeds | <1ms |
| โ | AudiobookPositionPolicyValidatorTests | testValidate_positionExceeds110Percent_fails | <1ms |
| โ | AudiobookPositionPolicyValidatorTests | testValidate_timestampExactlyAtNegativeBoundary_fails | <1ms |
| โ | AudiobookPositionPolicyValidatorTests | testValidate_timestampZero_succeeds | <1ms |
| โ | AudiobookPositionPolicyValidatorTests | testValidate_totalDurationNegative_skipsCapCheck | <1ms |
| โ | AudiobookPositionPolicyValidatorTests | testValidate_totalDurationZero_skipsCapCheck | <1ms |
| โ | AudiobookPositionPolicyValidatorTests | testValidate_trackKeyMismatch_fails | 2ms |
| โ | AudiobookPositionRestoreTests | testIsUserAuthenticated_evictedByLibrarySwitch_isNotAuthenticated | 190ms |
| โ | AudiobookPositionRestoreTests | testIsUserAuthenticated_noCurrentAccount_returnsFalse | 35ms |
| โ | AudiobookPositionRestoreTests | testIsUserAuthenticated_offlineWithStoredCredentials_isAuthenticated | 40ms |
| โ | AudiobookPositionRestoreTests | testIsUserAuthenticated_offlineWithoutCredentials_isNotAuthenticated | 88ms |
| โ | AudiobookPositionRestoreTests | testIsValidPosition_foreignKey_returnsFalse | 11ms |
| โ | AudiobookPositionRestoreTests | testIsValidPosition_negativeTimestamp_returnsFalse | 31ms |
| โ | AudiobookPositionRestoreTests | testIsValidPosition_validPosition_returnsTrue | 6ms |
| โ | AudiobookPositionRestoreTests | testOfflineAuthFallback_authDocFailedWithCredentials_isAuthenticated | 5ms |
| โ | AudiobookPositionRestoreTests | testOfflineAuthFallback_evictedByLibrarySwitch_isNotAuthenticatedEvenWithCredentials | 15ms |
| โ | AudiobookPositionRestoreTests | testOfflineAuthFallback_overTheWholeErrorTable | 11ms |
| โ | AudiobookPositionRestoreTests | testPreferRemote_noLocalPosition_prefersRemote | 19ms |
| โ | AudiobookPositionRestoreTests | testPreferRemote_remoteNewerByExactly5s_keepsLocal | 9ms |
| โ | AudiobookPositionRestoreTests | testPreferRemote_remoteNewerByLessThan5s_keepsLocal | 9ms |
| โ | AudiobookPositionRestoreTests | testPreferRemote_remoteNewerByMoreThan5s_prefersRemote | 172ms |
| โ | AudiobookPositionRestoreTests | testPreferRemote_remoteOlderThanLocal_keepsLocal | 224ms |
| โ | AudiobookPositionRestoreTests | testPreferRemote_unparseableLocalTimestamp_prefersRemote | 15ms |
| โ | AudiobookPositionRestoreTests | testPreferRemote_unparseableRemoteTimestamp_keepsLocal | 42ms |
| โ | AudiobookPositionRestoreTests | testSelectMostRecentValidBookmark_allFailValidation_returnsNil | 52ms |
| โ | AudiobookPositionRestoreTests | testSelectMostRecentValidBookmark_dropsCapExceedingCandidate_keepsValidOlder | 26ms |
| โ | AudiobookPositionRestoreTests | testSelectMostRecentValidBookmark_ignoresArrayOrder_usesTimestamp | 9ms |
| โ | AudiobookPositionRestoreTests | testSelectMostRecentValidBookmark_picksNewestByTimestamp | 162ms |
| โ | AudiobookPositionRestoreTests | testValidatedRemotePosition_remoteKeyInManifest_returnsRemote | 13ms |
| โ | AudiobookPositionRestoreTests | testValidatedRemotePosition_remoteKeyNotInManifest_returnsFallback | 479ms |
| โ | AudiobookPositionRestoreTests | testValidationFailure_trackKeyInManifest_returnsNil | 10ms |
| โ | AudiobookPositionRestoreTests | testValidationFailure_trackKeyNotInManifest_returnsTrackKeyFailure | 7ms |
| โ | AudiobookReadinessPlaybackContractTests | test_readyGate_deferredThenPlaysInOrder | 168ms |
| โ | AudiobookReadinessPlaybackContractTests | test_timeoutGate_neverIssuesPlay | 123ms |
| โ | AudiobookSAMLReauthTests | testShouldNotTriggerSAMLReauthForNilError | 2ms |
| โ | AudiobookSAMLReauthTests | testShouldNotTriggerSAMLReauthForNonSAMLAuth | 102ms |
| โ | AudiobookSAMLReauthTests | testShouldNotTriggerSAMLReauthForWrongCode | 189ms |
| โ | AudiobookSAMLReauthTests | testShouldNotTriggerSAMLReauthForWrongDomain | 3ms |
| โ | AudiobookSAMLReauthTests | testShouldNotTriggerSAMLReauthWithNilBook | 5ms |
| โ | AudiobookSAMLReauthTests | testShouldNotTriggerSAMLReauthWithoutCredentials | 316ms |
| โ | AudiobookSessionErrorDescriptionTests | testAllErrorCases_haveNonEmptyDescriptions | <1ms |
| โ | AudiobookSessionErrorDescriptionTests | testErrorEquatable_differentTypes | 2ms |
| โ | AudiobookSessionErrorDescriptionTests | testErrorEquatable_sameTypes | 2ms |
| โ | AudiobookSessionErrorDescriptionTests | testUnknownError_preservesCustomMessage | 1ms |
| โ | AudiobookSessionErrorExtTests | testErrorDescriptions | 1ms |
| โ | AudiobookSessionErrorExtTests | testErrorEquality | <1ms |
| โ | AudiobookSessionErrorExtTests | testUnknownErrorDescription_preservesCallerMessageVerbatim | 2ms |
| โ | AudiobookSessionErrorExtTests | testUnknownErrorEquality | <1ms |
| โ | AudiobookSessionErrorTests | testAudiobookSessionError_Equatable | 2ms |
| โ | AudiobookSessionErrorTests | testAudiobookSessionError_localizedDescription_isCaseSpecificAndPreservesUnknownMessage | 6ms |
| โ | AudiobookSessionErrorTests | testRemoteCommandStatus_gatesOnActiveManager | 2ms |
| โ | AudiobookSessionManagerErrorMappingTests | testMap_cancelled_isUnknown | 1ms |
| โ | AudiobookSessionManagerErrorMappingTests | testMap_factoryFailed_isPlayerCreationFailed | <1ms |
| โ | AudiobookSessionManagerErrorMappingTests | testMap_lcpFamily_isManifestLoadFailed | 1ms |
| โ | AudiobookSessionManagerErrorMappingTests | testMap_manifestFamily_isManifestLoadFailed | 1ms |
| โ | AudiobookSessionManagerErrorMappingTests | testMap_tokenRefresh_isNotAuthenticated | 1ms |
| โ | AudiobookSessionManagerErrorMappingTests | testMap_vendorKey_surfacesUnderlyingMessage | 1ms |
| โ | AudiobookSessionManagerFlagGatePresentationTests | testDismissPlayerOnPhone_flagOff_popsAudioRoute_preservesUnderlyingRoute | 3.79s |
| โ | AudiobookSessionManagerFlagGatePresentationTests | testDismissPlayerOnPhone_flagOn_clearsPresenter_andDoesNotPopCoordinator | 8.12s |
| โ | AudiobookSessionManagerFlagGatePresentationTests | testPresentSession_flagOff_pushesAudioRoute_andDoesNotDrivePresenter | 128ms |
| โ | AudiobookSessionManagerFlagGatePresentationTests | testPresentSession_flagOn_drivesPresenter_andDoesNotPushAudioRoute | 320ms |
| โ | AudiobookSessionManagerPresenterMigrationTests | testOpenAudiobook_firstOpen_callsPresenterPresentOnFirstOpen | 6ms |
| โ | AudiobookSessionManagerPresenterMigrationTests | testOpenAudiobook_firstOpen_doesNotPushAudioRouteOnRealCoordinator | 4ms |
| โ | AudiobookSessionManagerPresenterMigrationTests | testOpenAudiobook_firstOpen_setsPresenterIsPlayerExpandedTrue_beforeReadinessGateCompletes | 24ms |
| โ | AudiobookSessionManagerPresenterMigrationTests | testOpenAudiobook_resumeFromMiniPlayer_doesNOTForceIsPlayerExpanded | 6ms |
| โ | AudiobookSessionManagerPresenterMigrationTests | testOpenAudiobook_switchingAudiobooks_clearsPreviousPlaybackModel | 9ms |
| โ | AudiobookSessionManagerPresenterMigrationTests | testStopPlayback_clearsPresenterPlaybackModel | 53ms |
| โ | AudiobookSessionManagerPresenterMigrationTests | testStopPlayback_doesNotLeaveAudioModelInCoordinatorCache | 47ms |
| โ | AudiobookSessionManagerPresenterMigrationTests | testStopPlayback_doesNotPopRealCoordinatorPath | 8ms |
| โ | AudiobookSessionManagerPresenterMigrationTests | testStopPlayback_nilBook_flagOff_doesNotClear | 192ms |
| โ | AudiobookSessionManagerPresenterMigrationTests | testStopPlayback_nilBook_flagOn_clearsActiveSession | 10ms |
| โ | AudiobookSessionManagerShutdownTests | test_buildPlaybackFailureRecord_isCallableOffMainActor | 55ms |
| โ | AudiobookSessionManagerShutdownTests | test_concurrentRemoteCommandsAndStopPlayback_teardownSerializes | 12ms |
| โ | AudiobookSessionManagerShutdownTests | test_doubleStopPlayback_isIdempotent | 17ms |
| โ | AudiobookSessionManagerShutdownTests | test_lifecycleNotifications_whileUnbound_areHandledSafely | 55ms |
| โ | AudiobookSessionManagerShutdownTests | test_networkValidationError_fullyDownloadedBypassesAllNetworkRules | 16ms |
| โ | AudiobookSessionManagerShutdownTests | test_networkValidationError_isPureAcrossManyCalls | 14ms |
| โ | AudiobookSessionManagerShutdownTests | test_networkValidationError_wifiRequiredOnCellularWhileStreaming | 17ms |
| โ | AudiobookSessionManagerShutdownTests | test_persistActivePositionForLifecycleEvent_unbound_isSafeNoOp | 8ms |
| โ | AudiobookSessionManagerShutdownTests | test_rapidStopPlayback_leavesSessionInIdleState | 7ms |
| โ | AudiobookSessionManagerShutdownTests | test_shouldPersistLifecyclePosition_requiresFullyBoundSession | 60ms |
| โ | AudiobookSessionManagerShutdownTests | test_stopPlayback_emitsIdleStateToPublisher | 17ms |
| โ | AudiobookSessionManagerShutdownTests | test_stopPlayback_neverBound_isFastNoOp | 5ms |
| โ | AudiobookSessionPresenterLifecycleContractTests | test_firstOpenPresentSequence | 7ms |
| โ | AudiobookSessionPresenterLifecycleContractTests | test_openThenDismissSequence | 49ms |
| โ | AudiobookSessionPresenterLifecycleContractTests | test_switchBooksSequence | 18ms |
| โ | AudiobookSessionPresenterTests | testChapterProgress_clampsPastChapterEnd | 1ms |
| โ | AudiobookSessionPresenterTests | testChapterProgress_midChapter_isOffsetOverDuration | 2ms |
| โ | AudiobookSessionPresenterTests | testChapterProgress_negativeOffset_clampsToZero | 2ms |
| โ | AudiobookSessionPresenterTests | testChapterProgress_zeroDuration_returnsZeroNotNaN | <1ms |
| โ | AudiobookSessionPresenterTests | testClearActiveSession_resetsChapterProgressFields | 3ms |
| โ | AudiobookSessionPresenterTests | testErrorState_tearsDownSession_soPlaybackViewDoesNotLingerAfterFailedOpen | 268ms |
| โ | AudiobookSessionPresenterTests | testExpand_setsIsPlayerExpandedTrue | 67ms |
| โ | AudiobookSessionPresenterTests | testHasActiveSession_becomesFalseWhenSessionReturnsToIdle | 3ms |
| โ | AudiobookSessionPresenterTests | testHasActiveSession_becomesTrueWhenSessionTransitionsToLoading | 2ms |
| โ | AudiobookSessionPresenterTests | testHasActiveSession_becomesTrueWhenSessionTransitionsToPlaying | 253ms |
| โ | AudiobookSessionPresenterTests | testHasActiveSession_isFalseWhenSessionIdle | 1ms |
| โ | AudiobookSessionPresenterTests | testInit_freshPresenterWithIdleSession_hasNoActiveSessionAndCollapsedPlayer | <1ms |
| โ | AudiobookSessionPresenterTests | testIsReaderActive_isPubliclyMutable_andPersistsTransitions | 1ms |
| โ | AudiobookSessionPresenterTests | testMinimize_setsIsPlayerExpandedFalse | 2ms |
| โ | AudiobookSessionPresenterTests | testPresentLoadingShell_adoptsBookAndCoverAndExpands_withNoPlaybackModelYet | 55ms |
| โ | AudiobookSessionPresenterTests | testPresentLoadingShell_thenErrorState_tearsDownShell | 2ms |
| โ | AudiobookSessionPresenterTests | testPresentLoadingShell_withNilCover_clearsCoverForPlaceholder | 6ms |
| โ | AudiobookSessionPresenterTests | testPresentOnFirstOpen_setsIsPlayerExpandedTrue | 3ms |
| โ | AudiobookSessionPresenterTests | testPresenter_adoptCoverImage_writesIntoPublishedMirror | 2ms |
| โ | AudiobookSessionPresenterTests | testPresenter_adoptsNewPlaybackModel_clearsPriorCurrentLocationSubscription | 3ms |
| โ | AudiobookSessionPresenterTests | testPresenter_clearActiveSession_clearsPolishPhaseFields | 1ms |
| โ | AudiobookSessionPresenterTests | testPresenter_collapse_and_restore_areInertNoOps_isCollapsedStaysFalse | 1ms |
| โ | AudiobookSessionPresenterTests | testPresenter_expand_minimize_expandAgain_drivesIsPlayerExpandedCorrectly_acrossThreeTransitions | <1ms |
| โ | AudiobookSessionPresenterTests | testPresenter_isPlayingFlipsAfterSessionPublisherEmits | 3ms |
| โ | AudiobookSessionPresenterTests | testPresenter_managerNotPlaying_reconcileLeavesGlyphOnPlay | 2ms |
| โ | AudiobookSessionPresenterTests | testPresenter_minimize_landsOnFullBar_notStalePill | 76ms |
| โ | AudiobookSessionPresenterTests | testPresenter_normalizedProgress_handlesEdgeCases | 2ms |
| โ | AudiobookSessionPresenterTests | testPresenter_playheadAdvancesWhileManagerIsPlaying_reconcileSelfHealsPlayGlyph | 52ms |
| โ | AudiobookSessionPresenterTests | testShowDownloadProgress_clampsOutOfRangeFractions | 220ms |
| โ | AudiobookSessionPresenterTests | testShowDownloadProgress_clearedByClearActiveSession | 30ms |
| โ | AudiobookSessionPresenterTests | testShowDownloadProgress_setsProgressAndDownloadingFlag | 4ms |
| โ | AudiobookSessionStateTests | testErrorState | 1ms |
| โ | AudiobookSessionStateTests | testIdleState | 10ms |
| โ | AudiobookSessionStateTests | testLoadingState | 2ms |
| โ | AudiobookSessionStateTests | testPausedState | 1ms |
| โ | AudiobookSessionStateTests | testPlayingState | <1ms |
| โ | AudiobookSessionStateTests | testStateEquality | 3ms |
| โ | AudiobookSessionStateTransitionTests | testErrorState_isNotActive_butHasBookId | 3ms |
| โ | AudiobookSessionStateTransitionTests | testIdleState_isNotActive | 50ms |
| โ | AudiobookSessionStateTransitionTests | testLoadingState_isActive_andHasBookId | 5ms |
| โ | AudiobookSessionStateTransitionTests | testPausedState_isActive_andHasBookId | 101ms |
| โ | AudiobookSessionStateTransitionTests | testPlayingState_isActive_andHasBookId | 3ms |
| โ | AudiobookSessionStateTransitionTests | testSessionManager_cyclePlaybackRate_withoutManager_returnsNormalTime | 18ms |
| โ | AudiobookSessionStateTransitionTests | testSessionManager_initialState_isIdle | 9ms |
| โ | AudiobookSessionStateTransitionTests | testSessionManager_pause_withoutManager_doesNotCrash | 10ms |
| โ | AudiobookSessionStateTransitionTests | testSessionManager_play_withoutManager_doesNotCrash | 15ms |
| โ | AudiobookSessionStateTransitionTests | testSessionManager_skipToChapter_withoutManager_doesNotCrash | 7ms |
| โ | AudiobookSessionStateTransitionTests | testSessionManager_stopPlayback_publishesIdleState | 18ms |
| โ | AudiobookSessionStateTransitionTests | testSessionManager_stopPlayback_resetsState | 7ms |
| โ | AudiobookSessionStateTransitionTests | testSessionManager_togglePlayPause_withoutManager_doesNotCrash | 80ms |
| โ | AudiobookSessionStateTransitionTests | testSessionManager_updateCoverImage_nil_clearsImage | 17ms |
| โ | AudiobookSessionStateTransitionTests | testSessionManager_updateCoverImage_setsImage | 5ms |
| โ | AudiobookSessionStateTransitionTests | testShouldStopPlayback_currentBookNonUnregistered_returnsFalse | 60ms |
| โ | AudiobookSessionStateTransitionTests | testShouldStopPlayback_currentBookUnregistered_returnsTrue | 5ms |
| โ | AudiobookSessionStateTransitionTests | testShouldStopPlayback_differentBookUnregistered_returnsFalse | 11ms |
| โ | AudiobookSessionStateTransitionTests | testShouldStopPlayback_noCurrentBook_returnsFalse | 71ms |
| โ | AudiobookSessionStateTransitionTests | testStateEquality_differentBookIds | 137ms |
| โ | AudiobookSessionStateTransitionTests | testStateEquality_differentStates | 7ms |
| โ | AudiobookSessionStateTransitionTests | testStateEquality_sameStates | 8ms |
| โ | AudiobookSkipIntervalSettingsTests | testAllowedOptions_areTheDefinedSet | 2ms |
| โ | AudiobookSkipIntervalSettingsTests | testChangingOneDirection_doesNotMoveTheOther | 12ms |
| โ | AudiobookSkipIntervalSettingsTests | testDefaults_whenUnset_areThirtySecondsEachDirection | 2ms |
| โ | AudiobookSkipIntervalSettingsTests | testForwardAndBack_areIndependent | 5ms |
| โ | AudiobookSkipIntervalSettingsTests | testInvalidValue_fallsBackToDefault | 53ms |
| โ | AudiobookSkipIntervalSettingsTests | testRawInvalidValueInDefaults_readsBackAsDefault | 8ms |
| โ | AudiobookSkipIntervalSettingsTests | testValues_persistAcrossStoreInstances | 83ms |
| โ | AudiobookSleepTimerIntegrationTests | testEndOfChapterSleepTimer_savesPartialTime | 17ms |
| โ | AudiobookSleepTimerIntegrationTests | testSleepTimer30Minutes_savesAllPlayedTime | 46ms |
| โ | AudiobookSleepTimerIntegrationTests | testSleepTimerCancelResume_preservesAllTime | 110ms |
| โ | AudiobookSleepTimerIntegrationTests | testSleepTimerMultipleMinutes_createsSeparateEntries | 6ms |
| โ | AudiobookSleepTimerIntegrationTests | testSleepTimerScenario_savesAllPlayedTime | 38ms |
| โ | AudiobookStorageLocationTests | testApplicationSupportDirectoryExists | <1ms |
| โ | AudiobookStorageLocationTests | testAudiobooksDirectoryPath | <1ms |
| โ | AudiobookStorageLocationTests | testOverdriveDirectoryPath | <1ms |
| โ | AudiobookTOCTests | testChapterName_MatchesAfterNavigation | 5ms |
| โ | AudiobookTOCTests | testChapterName_SavedCorrectly | 5ms |
| โ | AudiobookTOCTests | testChapter_AutoAdvanceToNext | 3ms |
| โ | AudiobookTOCTests | testChapter_HasDuration | 67ms |
| โ | AudiobookTOCTests | testChapter_PositionAtStart | 4ms |
| โ | AudiobookTOCTests | testChapter_PositionInMiddle | 7ms |
| โ | AudiobookTOCTests | testChapter_PositionPersistsAfterRestart | 395ms |
| โ | AudiobookTOCTests | testChapter_SelectionPersistsAfterReturn | 9ms |
| โ | AudiobookTOCTests | testChapter_TotalDuration | 4ms |
| โ | AudiobookTOCTests | testTOC_ChaptersAreOrdered | 5ms |
| โ | AudiobookTOCTests | testTOC_ChaptersHaveTitles | 12ms |
| โ | AudiobookTOCTests | testTOC_ContentsAndBookmarksTabs | 4ms |
| โ | AudiobookTOCTests | testTOC_HasChapters | 8ms |
| โ | AudiobookTOCTests | testTOC_OpenFirstChapter | 4ms |
| โ | AudiobookTOCTests | testTOC_OpenRandomChapter | 40ms |
| โ | AudiobookTOCTests | testTOC_OpenSpecificChapter | 105ms |
| โ | AudiobookTOCTests | testTOC_SwitchToBookmarks | 4ms |
| โ | AudiobookTOCTests | testTOC_SwitchToChapters | 130ms |
| โ | AudiobookTimeEntryTests | testTimeEntry_codableRoundTrip | 7ms |
| โ | AudiobookTimeEntryTests | testTimeEntry_conformsToProtocol | 1ms |
| โ | AudiobookTimeEntryTests | testTimeEntry_durationCanExceed60InStruct | 230ms |
| โ | AudiobookTimeEntryTests | testTimeEntry_equality | 2ms |
| โ | AudiobookTimeEntryTests | testTimeEntry_hashable | 95ms |
| โ | AudiobookTimeEntryTests | testTimeEntry_storesProperties | 2ms |
| โ | AudiobookTimeTrackerEdgeTests | testPlaybackStopped_savesAccumulatedTime_beforeCancellingTimer | 81ms |
| โ | AudiobookTimeTrackerEdgeTests | testReceiveValue_crossingMinuteBoundary_savesEntry | 103ms |
| โ | AudiobookTimeTrackerEdgeTests | testReceiveValue_withinSameMinute_doesNotSaveUntilStop | 6ms |
| โ | AudiobookTimeTrackerEdgeTests | testStopAndSave_calledMultipleTimes_doesNotDuplicate | 36ms |
| โ | AudiobookTimeTrackerEdgeTests | testTimeEntry_containsCorrectBookAndLibraryIds | 36ms |
| โ | AudiobookTimeTrackerEdgeTests | testTimeEntry_durationCappedAt60_andIsNonNegativeAtInit | 3ms |
| โ | AudiobookTimeTrackerEdgeTests | testTimeEntry_duringMinute_isUTCFormat | 3ms |
| โ | AudiobookTimeTrackerEdgeTests | testZeroDuration_isNotSaved | 16ms |
| โ | AudiobookTimeTrackerLifecycleTests | testAppTerminationNotification_savesData | 1.05s |
| โ | AudiobookTimeTrackerLifecycleTests | testStopAndSave_canBeCalledMultipleTimes | 45ms |
| โ | AudiobookTimeTrackerLifecycleTests | testStopAndSave_savesAllAccumulatedTime | 21ms |
| โ | AudiobookTimeTrackerLifecycleTests | testTimeEntryProperty_isThreadSafe | 12ms |
| โ | AudiobookTimeTrackerLifecycleTests | testTrackerDeallocation_savesAccumulatedTime | 67ms |
| โ | AudiobookTimeTrackerTests | testExactMinuteOfPlayback_savesCorrectTimeEntry | 32ms |
| โ | AudiobookTimeTrackerTests | testMultipleMinuteBoundaries_createsMultipleEntries | 6ms |
| โ | AudiobookTimeTrackerTests | testNoPlayback_savesNoTimeEntry | 6ms |
| โ | AudiobookTimeTrackerTests | testPlaybackStarted_savesCorrectAggregateTime | 67ms |
| โ | AudiobookTimeTrackerTests | testPlaybackStopped_stopsTimer | 11ms |
| โ | AudiobookTimeTrackerTests | testSaveCurrentDuration_savesTimeEntryCorrectly | 8ms |
| โ | AudiobookTimeTrackerTests | testTimeEntries_areInUTC | 65ms |
| โ | AudiobookTimeTrackerTests | testTimeEntries_areLimitedTo60Seconds | 9ms |
| โ | AudiobookTimeTrackerTests | testTimeEntry_hasCorrectMetadata | 4ms |
| โ | AudiobookTrackCompletionTests | testTrackerFinalize_savesAccumulatedTime | 61ms |
| โ | AudiobookTrackCompletionTests | testZeroDuration_notSaved | 4ms |
| โ | AudiobookTypeRoutingTests | testAudiobookLCPBook_hasExpectedIdentifiers | 3ms |
| โ | AudiobookTypeRoutingTests | testBearerTokenBook_hasExpectedIdentifiers | 2ms |
| โ | AudiobookTypeRoutingTests | testLCPAudiobook_canOpenBook_usesCorrectAcquisitionType | 336ms |
| โ | AudiobookTypeRoutingTests | testOpenAccessAudiobook_hasExpectedIdentifiers | 4.70s |
| โ | AudiobookTypeRoutingTests | testReadiumLCPBook_hasExpectedIdentifiers | 5ms |
| โ | AudiobookVendorAdapterTests | testFirstMatchPriorityOrder | 30ms |
| โ | AudiobookVendorAdapterTests | testFirstMatchPriorityOrder_skipsNonClaimingAdapter | 4ms |
| โ | AudiobookVendorAdapterTests | testProtocol_canHandleMustBeSync | 3ms |
| โ | AudiobookVendorAdapterTests | testProtocol_resolveManifestSignature_propagatesFailure | 8ms |
| โ | AudiobookVendorAdapterTests | testProtocol_resolveManifestSignature_propagatesSuccess | 3ms |
| โ | AudiobookVendorRecoveryContractTests | testVendorRecoveryCoverageMatrix | 67ms |
| โ | AudiobookmarkTests | testDecodeEarlyBookmark | 9ms |
| โ | AudiobookmarkTests | testDecodeLocatorAudioBookTime2 | 2ms |
| โ | AudiobookmarkTests | testDecodeNewerBookmark | 132ms |
| โ | AudiobookmarkTests | testEncodeAndDecodeBookmark | 6ms |
| โ | AuthCoordinatorTelemetryTests | testAppContainerProduction_wiresAuthCoordinator | <1ms |
| โ | AuthCoordinatorTelemetryTests | testCoordinator_payload_idpType_reflectsMechanismProvider | 4ms |
| โ | AuthCoordinatorTelemetryTests | testCoordinator_payload_libraryUUID_reflectsProviderClosure | 3ms |
| โ | AuthCoordinatorTelemetryTests | testCoordinator_refreshFlow_emitsStartAndEnd_correlatedByID | 5ms |
| โ | AuthCoordinatorTelemetryTests | testCoordinator_samlModalCancel_emitsCancelSubEvent_forFastDashboardFilter | 92ms |
| โ | AuthDecisionEventEmissionTests | testErrorCode_classifierClassified_is1001 | 1ms |
| โ | AuthDecisionEventEmissionTests | testErrorCode_partitionsPerStep_eachStepGetsDistinctCode | 3ms |
| โ | AuthDecisionEventEmissionTests | testErrorDomain_isStableValue_distinctFromPlaybackFailureDomain | 19ms |
| โ | AuthDecisionEventEmissionTests | testErrorUserInfo_dropsAbsentFields | 19ms |
| โ | AuthDecisionEventEmissionTests | testErrorUserInfo_includesAllDashboardFields | 1ms |
| โ | AuthDecisionEventEmissionTests | testErrorUserInfo_includesNSLocalizedDescription_withStepAndDecision | 18ms |
| โ | AuthDecisionEventEmissionTests | testProductionRecorder_constructsWithoutCrash | 7ms |
| โ | AuthDocumentContractTests | testAuthDocument_HasRequiredLinks | 2ms |
| โ | AuthDocumentContractTests | testParseAuthDocument_ExtractsAllFields | <1ms |
| โ | AuthDocumentLoaderSeamTests | testDrive_atNonTerminal_fetches | 54ms |
| โ | AuthDocumentLoaderSeamTests | testDrive_atStaleEvictionMarker_redrives | 2ms |
| โ | AuthDocumentLoaderSeamTests | testDrive_atTerminalFailure_doesNotRefetch | <1ms |
| โ | AuthDocumentLoaderSeamTests | testFetchCompletionMayWriteTerminal_purity | <1ms |
| โ | AuthDocumentLoaderSeamTests | testFetch_dedupesAgainstRecentInflight | <1ms |
| โ | AuthDocumentLoaderSeamTests | testFetch_reclaimsStaleWedge | 12ms |
| โ | AuthDocumentVariantsContractTests | testOAuthAuthDocument_FeatureFlagsExpressedViaDisabledList | 1ms |
| โ | AuthDocumentVariantsContractTests | testOAuthAuthDocument_HasMultipleAuthMethods | 13ms |
| โ | AuthDocumentVariantsContractTests | testSAMLAuthDocument_HasAnnouncements | 1ms |
| โ | AuthDocumentVariantsContractTests | testSAMLAuthDocument_HasRequiredLinks | 2ms |
| โ | AuthDocumentVariantsContractTests | testSAMLAuthDocument_ParsesWithSAMLType | 56ms |
| โ | AuthErrorCategoryTests | testHTTPURLResponse_bare401WithoutProblemDoc_shouldIndicateAuthRefresh | 6ms |
| โ | AuthErrorCategoryTests | testHTTPURLResponse_withOldCredentialsInvalidType_shouldIndicateAuthRefresh | <1ms |
| โ | AuthErrorCategoryTests | testHTTPURLResponse_withRecoverableError_shouldIndicateAuthRefresh | <1ms |
| โ | AuthErrorCategoryTests | testHTTPURLResponse_withUnrecoverableError_shouldNotIndicateAuthRefresh | <1ms |
| โ | AuthErrorCategoryTests | testHTTPURLResponse_withUnrecoverableNoAccess_shouldNotIndicateAuthRefresh | <1ms |
| โ | AuthErrorCategoryTests | testProblemDocument_nilType_isNeitherCategory | <1ms |
| โ | AuthErrorCategoryTests | testProblemDocument_nonAuthType_isNeitherCategory | <1ms |
| โ | AuthErrorCategoryTests | testProblemDocument_recoverableSAMLBearerTokenInvalid_isRecoverable | <1ms |
| โ | AuthErrorCategoryTests | testProblemDocument_recoverableSAMLSessionExpired_isRecoverable | <1ms |
| โ | AuthErrorCategoryTests | testProblemDocument_recoverableTokenExpired_isRecoverable | 1ms |
| โ | AuthErrorCategoryTests | testProblemDocument_unrecoverableInvalidCredentials_isUnrecoverable | <1ms |
| โ | AuthErrorCategoryTests | testProblemDocument_unrecoverableNoAccess_isUnrecoverable | <1ms |
| โ | AuthErrorProblemDocSeamTests | testMakeFromHTTPResponse_PreservesCallerUserInfo | 136ms |
| โ | AuthErrorProblemDocSeamTests | testMakeFromHTTPResponse_WithNonJSONBody_NoProblemDoc | 206ms |
| โ | AuthErrorProblemDocSeamTests | testMakeFromHTTPResponse_WithProblemDocBody_EmbedsDoc | <1ms |
| โ | AuthErrorProblemDocSeamTests | testRewrappedError_PreservesUpstreamProblemDocument | 2ms |
| โ | AuthErrorProblemDocSeamTests | testTokenRequest_On403WithProblemDoc_FlowsThroughToUserFacingTitle | 59ms |
| โ | AuthErrorProblemDocSeamTests | testTokenRequest_On403WithoutProblemDoc_FallsBackToGenericTitle | 6ms |
| โ | AuthFlowSecurityTests | testSession_identifierRotatedOnSignIn | 8ms |
| โ | AuthFlowSecurityTests | testToken_networkExecutorRefreshCount_singleFlightSemantics | 11ms |
| โ | AuthFlowSecurityTests | testToken_reauthenticatorCallCount_observableForRawCallAssertion | 5ms |
| โ | AuthReducerTests | testAuthDocumentLoadCompleted_clearsLoadingFlag | 362ms |
| โ | AuthReducerTests | testAuthDocumentLoadStarted_setsLoadingFlag | <1ms |
| โ | AuthReducerTests | testBearerTokenReceived_storesTokenAndExpiration | 4ms |
| โ | AuthReducerTests | testClassifyValidationError_genericError_fallsBackToInvalidCredentials | 35ms |
| โ | AuthReducerTests | testClassifyValidationError_networkConnectivityError_returnsConnectivityCopy | 29ms |
| โ | AuthReducerTests | testClassifyValidationError_problemDocument_takesPrecedenceOverEverything | 182ms |
| โ | AuthReducerTests | testCredentialCaptureStarted_acceptsNilCredentials | 1ms |
| โ | AuthReducerTests | testCredentialCaptureStarted_storesBarcodeAndPinAndClearsStaleError | 29ms |
| โ | AuthReducerTests | testCredentialsValidationFailed_clearsFlagAndSurfacesError | 2ms |
| โ | AuthReducerTests | testCredentialsValidationStarted_setsFlagAndClearsAnyPriorError | <1ms |
| โ | AuthReducerTests | testCredentialsValidationSucceeded_clearsFlagWithoutTouchingCapturedCreds | <1ms |
| โ | AuthReducerTests | testErrorCleared_dropsPriorErrorWithoutTouchingOtherFields | <1ms |
| โ | AuthReducerTests | testLoggingInAfterSignUpFlagSet_storesValue | <1ms |
| โ | AuthReducerTests | testRefreshAuthStarted_basicAuth_neverArmsBypass | <1ms |
| โ | AuthReducerTests | testRefreshAuthStarted_oauthNonExisting_armsIgnoreSignedInState | 33ms |
| โ | AuthReducerTests | testRefreshAuthStarted_oidcNonExisting_armsIgnoreSignedInState | 200ms |
| โ | AuthReducerTests | testRefreshAuthStarted_samlNonExisting_armsIgnoreSignedInState | 157ms |
| โ | AuthReducerTests | testRefreshAuthStarted_samlWithExistingCredentials_doesNotArmBypass | 1ms |
| โ | AuthReducerTests | testRefreshAuthStarted_tokenAuth_neverArmsBypass | <1ms |
| โ | AuthReducerTests | testSignOutCompleted_resetsToInitialState | 2ms |
| โ | AuthReducerTests | testUserAccountUpdated_clearsAllInFlightAuthState | <1ms |
| โ | AuthTypeTests | testAuthType_AnonymousRawValue_IsCorrect | 1ms |
| โ | AuthTypeTests | testAuthType_BasicRawValue_IsCorrect | 436ms |
| โ | AuthTypeTests | testAuthType_CoppaRawValue_IsCorrect | 1ms |
| โ | AuthTypeTests | testAuthType_InitFromInvalidString_ReturnsNil | 5ms |
| โ | AuthTypeTests | testAuthType_OAuthRawValue_IsCorrect | <1ms |
| โ | AuthTypeTests | testAuthType_SamlRawValue_IsCorrect | 42ms |
| โ | AuthTypeTests | testAuthType_TokenRawValue_IsCorrect | <1ms |
| โ | AuthenticationTests | testCatalogRequiresAuthentication_ForBasicType_ReturnsFalse | <1ms |
| โ | AuthenticationTests | testCatalogRequiresAuthentication_ForOAuthType_ReturnsTrue | 37ms |
| โ | AuthenticationTests | testCoppaURL_WhenOfAge_ReturnsOverUrl | <1ms |
| โ | AuthenticationTests | testCoppaURL_WhenUnderAge_ReturnsUnderUrl | <1ms |
| โ | AuthenticationTests | testIsBasic_ForBasicType_ReturnsTrue | <1ms |
| โ | AuthenticationTests | testIsOauth_ForOAuthType_ReturnsTrue | 6ms |
| โ | AuthenticationTests | testIsSaml_ForSamlType_ReturnsTrue | 3ms |
| โ | AuthenticationTests | testIsToken_ForTokenType_ReturnsTrue | 2ms |
| โ | AuthenticationTests | testNeedsAgeCheck_ForBasicType_ReturnsFalse | 35ms |
| โ | AuthenticationTests | testNeedsAgeCheck_ForCoppaType_ReturnsTrue | <1ms |
| โ | AuthenticationTests | testNeedsAuth_ForAnonymousType_ReturnsFalse | <1ms |
| โ | AuthenticationTests | testNeedsAuth_ForBasicType_ReturnsTrue | 109ms |
| โ | AuthenticationTests | testNeedsAuth_ForCoppaType_ReturnsFalse | 1ms |
| โ | AuthenticationTests | testNeedsAuth_ForOAuthType_ReturnsTrue | <1ms |
| โ | AuthenticationTests | testNeedsAuth_ForSamlType_ReturnsTrue | 59ms |
| โ | AuthenticationTests | testNeedsAuth_ForTokenType_ReturnsTrue | <1ms |
| โ | BackgroundDownloadHandlerTests | testDetectRightsManagement_adobeAdept | 92ms |
| โ | BackgroundDownloadHandlerTests | testDetectRightsManagement_bearerToken | <1ms |
| โ | BackgroundDownloadHandlerTests | testDetectRightsManagement_epubZip | 34ms |
| โ | BackgroundDownloadHandlerTests | testDetectRightsManagement_readiumLCP | 1ms |
| โ | BackgroundDownloadHandlerTests | testDetectRightsManagement_unknownType | 1ms |
| โ | BackgroundDownloadHandlerTests | testHandleDownloadProgress_firstBytes_detectsMimeType | 103ms |
| โ | BackgroundDownloadHandlerTests | testHandleDownloadProgress_noDelegate_doesNotCrash | 4ms |
| โ | BackgroundDownloadHandlerTests | testInit_withDelegate | <1ms |
| โ | BackgroundDownloadHandlerTests | testInit_withoutDelegate | 1ms |
| โ | BackgroundDownloadHandlerTests | testIsOPDSEntryMimeType_applicationXml | 22ms |
| โ | BackgroundDownloadHandlerTests | testIsOPDSEntryMimeType_atomXml | 5ms |
| โ | BackgroundDownloadHandlerTests | testIsOPDSEntryMimeType_caseInsensitive | <1ms |
| โ | BackgroundDownloadHandlerTests | testIsOPDSEntryMimeType_epub_returnsFalse | <1ms |
| โ | BackgroundDownloadHandlerTests | testIsOPDSEntryMimeType_html_returnsFalse | <1ms |
| โ | BackgroundDownloadHandlerTests | testIsOPDSEntryMimeType_json_returnsFalse | <1ms |
| โ | BackgroundDownloadHandlerTests | testIsOPDSEntryMimeType_opdsCatalog | <1ms |
| โ | BackgroundDownloadHandlerTests | testIsOPDSEntryMimeType_textXml | <1ms |
| โ | BackgroundDownloadHandlerTests | testMoveFile_moveFailure_logsError | 3ms |
| โ | BackgroundDownloadHandlerTests | testMoveFile_noDelegate_returnsFalse | 3ms |
| โ | BackgroundDownloadHandlerTests | testMoveFile_noFileUrl_returnsFalse | 2ms |
| โ | BackgroundDownloadHandlerTests | testMoveFile_success_setsDownloadSuccessful | 3ms |
| โ | BackgroundDownloadHandlerTests | testReplaceBook_existingFile_replacesIt | 4ms |
| โ | BackgroundDownloadHandlerTests | testReplaceBook_noDelegate_returnsFalse | 40ms |
| โ | BackgroundDownloadHandlerTests | testReplaceBook_noFileUrl_returnsFalse | 3ms |
| โ | BackgroundDownloadHandlerTests | testReplaceBook_success_setsDownloadSuccessful | 3ms |
| โ | BackgroundDownloadHandlerTests | testValidateDownloadedFile_emptyFile_returnsFalse | 51ms |
| โ | BackgroundDownloadHandlerTests | testValidateDownloadedFile_existingFileWithContent_returnsTrue | 9ms |
| โ | BackgroundDownloadHandlerTests | testValidateDownloadedFile_missingFile_returnsFalse | 47ms |
| โ | BackgroundDownloadTokenAccountTests | testReissuedRequest_afterLibrarySwitch_carriesTheStartedForLibrarysToken | 366ms |
| โ | BackgroundDownloadTokenAccountTests | testReissuedRequest_whenTheRecordHasNoAccount_fallsBackToTodaysBehaviour | 83ms |
| โ | BackgroundDownloadTokenAccountTests | testReissuedRequest_whenTheUpdatedBookHasADifferentIdentifier_stillUsesTheOriginalBooksAccount | 62ms |
| โ | BackgroundDownloadTokenAccountTests | testReissuedRequest_withNoStartedTaskRecord_fallsBackToTodaysBehaviour | 46ms |
| โ | BackgroundDownloadTokenAccountTests | testStartedForAccount_picksTheRecordForTheChallengingBook_notTheFirstRecord | 58ms |
| โ | BackgroundListenerTests | testOpenAccessListenerIdentifiesCorrectSessions | 6ms |
| โ | BackgroundListenerTests | testOverdriveListenerIdentifiesCorrectSessions | 15ms |
| โ | BackgroundReconciliationContractTests | test_launchReconciliation_happyPath_ordersGateLoadLiveStateApply | 184ms |
| โ | BackgroundReconciliationContractTests | test_launchReconciliation_noPersistedRecords_skipsLiveTaskQuery | 34ms |
| โ | BackgroundReconciliationContractTests | test_launchReconciliation_registryNotLoaded_skipsAllWork | 4ms |
| โ | BackgroundReconciliationContractTests | test_reconcile_deadTask_alreadyFailed_marksFailed | <1ms |
| โ | BackgroundReconciliationContractTests | test_reconcile_deadTask_completedOrUnwanted_cleansUp | 204ms |
| โ | BackgroundReconciliationContractTests | test_reconcile_deadTask_registryWantsContent_restarts | 2ms |
| โ | BackgroundReconciliationContractTests | test_reconcile_liveTask_isAdopted_evenWhenRegistrySaysFailed | 31ms |
| โ | BackgroundReconciliationContractTests | test_reconcile_mixedBatch_classifiesEachIndependently_inOrder | 2ms |
| โ | BackgroundSessionRoutingTests | testDownloadCenterIdentifier_hasExpectedSuffix | <1ms |
| โ | BackgroundSessionRoutingTests | testFinishEvents_afterClear_newHandlerCanBeStoredAndFiredOnce | 39ms |
| โ | BackgroundSessionRoutingTests | testFinishEvents_invokesStoredHandlerOnce | 6ms |
| โ | BackgroundSessionRoutingTests | testFinishEvents_withNoStoredHandler_isNoOp | 6ms |
| โ | BackgroundSessionRoutingTests | testIsDownloadCenterBackgroundSession_matchesOwnIdentifier | <1ms |
| โ | BackgroundSessionRoutingTests | testIsDownloadCenterBackgroundSession_rejectsAudiobookIdentifier | 2ms |
| โ | BackupExclusionMigrationTests | test_run_continuesAfterMissingRoot_doesNotPoisonSubsequentRoots | 12ms |
| โ | BackupExclusionMigrationTests | test_run_flagsFilesAddedBetweenInvocations | 3ms |
| โ | BackupExclusionMigrationTests | test_run_recursivelyFlagsEveryFileAndDirectory | 22ms |
| โ | BasicAuthEmptyCredentialTests | testHandleChallenge_EmptyUsername_StillUsesCredential | 3ms |
| โ | BasicAuthEmptyCredentialTests | testHandleChallenge_NilPassword_CancelsChallenge | 2ms |
| โ | BasicAuthEmptyCredentialTests | testHandleChallenge_NilUsername_CancelsChallenge | <1ms |
| โ | BasicAuthEmptyCredentialTests | testHandleChallenge_ValidCredentials_UsesCredentialWithNoPersistence | 1ms |
| โ | BearerTokenAdapterTests | testCanHandle_anyBookWithAcquisition_returnsTrue | 30ms |
| โ | BearerTokenAdapterTests | testResolveManifest_bearerTokenFetchFails_failsWithManifestFetchFailed | 10ms |
| โ | BearerTokenAdapterTests | testResolveManifest_bearerTokenFetchSuccess_completesWithRealManifest | 79ms |
| โ | BearerTokenAdapterTests | testResolveManifest_detectsBearerTokenInResponse_recursesToLocationURL | 13ms |
| โ | BearerTokenAdapterTests | testResolveManifest_setsBookBearerTokenSideEffect | 21ms |
| โ | BearerTokenFulfillFlowTests | testFulfillURL_andManifestURL_areDifferentEndpoints | 92ms |
| โ | BearerTokenFulfillFlowTests | testFullFlow_bearerTokenWithExpiredManifestFetch_returnsNil | 15ms |
| โ | BearerTokenFulfillFlowTests | testFullFlow_fulfillReturnsBearerToken_thenManifestIsFetched | 375ms |
| โ | BearerTokenFulfillFlowTests | testFullFlow_manifestResponseIsNotMistakenForBearerToken | 2ms |
| โ | BearerTokenRefreshTests | testRefreshRequest_includesAuthHeader | 114ms |
| โ | BearerTokenRefreshTests | testRefreshRequest_withoutToken_noAuthHeader | 2ms |
| โ | BearerTokenRefreshTests | testSimplifiedBearerToken_isExpired_withPastDate | 2ms |
| โ | BearerTokenRefreshTests | testSimplifiedBearerToken_isNotExpired_withFutureDate | 2ms |
| โ | BearerTokenResponseDetectionTests | testAudiobookManifestJSON_isNotMistakenForBearerToken | <1ms |
| โ | BearerTokenResponseDetectionTests | testBearerTokenJSON_isDetectedCorrectly | <1ms |
| โ | BearerTokenResponseDetectionTests | testBearerTokenJSON_withExpirationKey_isDetected | 6ms |
| โ | BearerTokenResponseDetectionTests | testManifestWithAccessTokenKey_butNoLocation_isNotBearerToken | 1ms |
| โ | BearerTokenResponseDetectionTests | testManifestWithLocationKey_butNoAccessToken_isNotBearerToken | <1ms |
| โ | BearerTokenResponseDetectionTests | testNonBearerJSONShapes_areRejected | <1ms |
| โ | BearerTokenResponseDetectionTests | testProblemDocumentJSON_isNotBearerToken | <1ms |
| โ | BeginningPositionPolicyTests | testIsAtBeginning_negativePlaybackTime_isNotBeginning | 1ms |
| โ | BeginningPositionPolicyTests | testIsAtBeginning_negativeTrackIndex_isNotBeginning | 2ms |
| โ | BeginningPositionPolicyTests | testIsAtBeginning_track0_29s_isNotBeginning | 3ms |
| โ | BeginningPositionPolicyTests | testIsAtBeginning_track0_30s_isNotBeginning | 1.24s |
| โ | BeginningPositionPolicyTests | testIsAtBeginning_track0_smallestPositiveTime_isNotBeginning | 2ms |
| โ | BeginningPositionPolicyTests | testIsAtBeginning_track0_time0_isBeginning | 1ms |
| โ | BeginningPositionPolicyTests | testIsAtBeginning_track1_anyTime_isNotBeginning | 546ms |
| โ | BeginningPositionPolicyTests | testIsAtBeginning_track1_time0_isNotBeginning | 2.40s |
| โ | BookAvailabilityFormatterTests | test_isDate_crossDayBoundary | 1ms |
| โ | BookAvailabilityFormatterTests | test_isDate_crossYearBoundary | 1ms |
| โ | BookAvailabilityFormatterTests | test_isDate_emptyStrings_returnsFalse | 2ms |
| โ | BookAvailabilityFormatterTests | test_isDate_invalidDateStrings_returnsFalse | 2ms |
| โ | BookAvailabilityFormatterTests | test_isDate_moreRecentThan_newerDate_isMoreRecent | 1ms |
| โ | BookAvailabilityFormatterTests | test_isDate_moreRecentThan_olderDate_notMoreRecent | 2ms |
| โ | BookAvailabilityFormatterTests | test_isDate_moreRecentThan_sameDate_notMoreRecent | 123ms |
| โ | BookAvailabilityFormatterTests | test_isDate_negativeDelay_makesNewerDateFail | 2ms |
| โ | BookAvailabilityFormatterTests | test_isDate_newerDateWithDelay_alwaysPasses | <1ms |
| โ | BookAvailabilityFormatterTests | test_isDate_oneSecondDifference_noDelay | 7ms |
| โ | BookAvailabilityFormatterTests | test_isDate_sameTimestamp_withSmallDelay_returnsTrue | 3ms |
| โ | BookAvailabilityFormatterTests | test_isDate_withInsufficientDelay_olderDateStillFails | 86ms |
| โ | BookAvailabilityFormatterTests | test_isDate_withPositiveDelay_makesOlderDatePassAsNewer | 1ms |
| โ | BookAvailabilityFormatterTests | test_syncDecision_bothExist_localNewer_usesLocal | 1ms |
| โ | BookAvailabilityFormatterTests | test_syncDecision_bothExist_remoteNewer_promptsSync | 97ms |
| โ | BookAvailabilityFormatterTests | test_syncDecision_localExistsRemoteNil_localIsUsed | <1ms |
| โ | BookAvailabilityFormatterTests | test_syncDecision_localNilRemoteExists_remoteIsNewer | <1ms |
| โ | BookAvailabilityFormatterTests | test_syncDecision_localNilRemoteNil_noSync | <1ms |
| โ | BookButtonMapperHoldReadyTests | testMap_DownloadingState_Unaffected | 171ms |
| โ | BookButtonMapperHoldReadyTests | testMap_HoldingState_LimitedNoCopiesAvailability_ReturnsHolding | 57ms |
| โ | BookButtonMapperHoldReadyTests | testMap_HoldingState_LimitedWithCopiesAvailability_ReturnsHolding | <1ms |
| โ | BookButtonMapperHoldReadyTests | testMap_HoldingState_NilAvailability_ReturnsHolding | <1ms |
| โ | BookButtonMapperHoldReadyTests | testMap_HoldingState_ReadyAvailability_ReturnsCanBorrow | <1ms |
| โ | BookButtonMapperHoldReadyTests | testMap_HoldingState_ReservedAvailability_ReturnsHolding | <1ms |
| โ | BookButtonMapperHoldReadyTests | testMap_HoldingState_UnavailableAvailability_ReturnsHolding | 1ms |
| โ | BookButtonMapperHoldReadyTests | testMap_HoldingState_UnlimitedAvailability_ReturnsHolding | 12ms |
| โ | BookButtonMapperHoldReadyTests | testMap_ProcessingDownload_Unaffected | 2ms |
| โ | BookButtonMapperHoldReadyTests | testStateForAvailability_dispatchesEachAvailabilityToItsExpectedButtonState | 83ms |
| โ | BookButtonMapperTests | testBookButtonState_buttonTypes_streamingHTMLDownloadNeeded_yieldsReadStreamingAndReturn | 2ms |
| โ | BookButtonMapperTests | testBookButtonState_buttonTypes_streamingHTMLDownloadSuccessful_yieldsReadStreaming | <1ms |
| โ | BookButtonMapperTests | testBookButtonState_buttonTypes_streamingHTMLUnregistered_yieldsGet | 2ms |
| โ | BookButtonMapperTests | testMapDownloadFailed | <1ms |
| โ | BookButtonMapperTests | testMapDownloadNeeded | <1ms |
| โ | BookButtonMapperTests | testMapDownloadSuccessful | <1ms |
| โ | BookButtonMapperTests | testMapDownloading | <1ms |
| โ | BookButtonMapperTests | testMapHolding | <1ms |
| โ | BookButtonMapperTests | testMapReturning | 30ms |
| โ | BookButtonMapperTests | testMapSAMLStarted_returnsDownloadInProgress | <1ms |
| โ | BookButtonMapperTests | testMapUsed | <1ms |
| โ | BookButtonMapperTests | testMap_coversAllTPPBookStates_withNeutralInputs | 3ms |
| โ | BookButtonMapperTests | testMap_exhaustiveSwitch_noDefaultClause_andSAMLStartedExplicit | 75ms |
| โ | BookButtonMapperTests | testMap_unregistered_limitedWithPositiveCopies_returnsCanBorrow | 1ms |
| โ | BookButtonMapperTests | testMap_unregistered_limitedWithUnknownCopies_returnsCanBorrow | 20ms |
| โ | BookButtonMapperTests | testMap_unregistered_limitedWithZeroCopies_returnsCanHold | <1ms |
| โ | BookButtonMapperTests | testMappingIsDeterministic | 9ms |
| โ | BookButtonMapperTests | testProcessingDownloadOverridesDownloadSuccessful | 6ms |
| โ | BookButtonMapperTests | testProcessingDownloadOverridesState | 8ms |
| โ | BookButtonMapperTests | testStateForNilAvailability | <1ms |
| โ | BookButtonMapperTests | testUnregisteredWithNilAvailability | <1ms |
| โ | BookButtonMapperViewModelTests | testMap_DownloadFailed_ReturnsDownloadFailed | <1ms |
| โ | BookButtonMapperViewModelTests | testMap_DownloadNeeded_ReturnsDownloadNeeded | <1ms |
| โ | BookButtonMapperViewModelTests | testMap_DownloadSuccessful_ReturnsDownloadSuccessful | 2ms |
| โ | BookButtonMapperViewModelTests | testMap_DownloadingPrioritizedOverAvailability | 2ms |
| โ | BookButtonMapperViewModelTests | testMap_Downloading_ReturnsDownloadInProgress | <1ms |
| โ | BookButtonMapperViewModelTests | testMap_Holding_WithNilAvailability_ReturnsHolding | <1ms |
| โ | BookButtonMapperViewModelTests | testMap_Holding_WithReadyAvailability_ReturnsCanBorrow | <1ms |
| โ | BookButtonMapperViewModelTests | testMap_Holding_WithReservedAvailability_ReturnsHolding | <1ms |
| โ | BookButtonMapperViewModelTests | testMap_IsProcessingDownload_ReturnsDownloadInProgress | <1ms |
| โ | BookButtonMapperViewModelTests | testMap_Returning_ReturnsReturning | <1ms |
| โ | BookButtonMapperViewModelTests | testMap_Unregistered_WithLimitedAvailability_CopiesAvailable_ReturnsCanBorrow | <1ms |
| โ | BookButtonMapperViewModelTests | testMap_Unregistered_WithNilAvailability_ReturnsUnsupported | <1ms |
| โ | BookButtonMapperViewModelTests | testMap_Unregistered_WithUnavailability_ReturnsCanHold | <1ms |
| โ | BookButtonMapperViewModelTests | testMap_Unregistered_WithUnlimitedAvailability_ReturnsCanBorrow | <1ms |
| โ | BookButtonMapperViewModelTests | testMap_Used_ReturnsUsed | <1ms |
| โ | BookButtonMapperViewModelTests | testStateForAvailability_Nil_ReturnsNil | 5ms |
| โ | BookButtonMapperViewModelTests | testStateForAvailability_Ready_ReturnsCanBorrow | 1ms |
| โ | BookButtonMapperViewModelTests | testStateForAvailability_Reserved_ReturnsHoldingFrontOfQueue | 8ms |
| โ | BookButtonStateTests | testAllCases | <1ms |
| โ | BookButtonStateTests | testDownloadFailed_cancelAndRetry | 3ms |
| โ | BookButtonStateTests | testDownloadInProgress_cancelButton | 17ms |
| โ | BookButtonStateTests | testEquatable | <1ms |
| โ | BookButtonStateTests | testReturning_returningButton | 51ms |
| โ | BookButtonStateTests | testStateForAvailability_nilAvailability | <1ms |
| โ | BookButtonStateTests | testStateForAvailability_unlimited | <1ms |
| โ | BookButtonStateTests | testUnsupported_emptyButtons | 1ms |
| โ | BookButtonTypeMetaTests | testBookButtonType_exhaustiveSwitch_coverage_includesReadStreaming | 9ms |
| โ | BookButtonTypeMetaTests | testBookButtonType_readStreaming_displaysIndicatorTrue | <1ms |
| โ | BookButtonTypeMetaTests | testBookButtonType_readStreaming_titleIsRead | 2ms |
| โ | BookButtonTypeMetaTests | testBookButtonType_readStreaming_usesPrimaryButtonStyle | 3ms |
| โ | BookButtonTypeTests | testAllCases_haveRawValues | 2ms |
| โ | BookButtonTypeTests | testBorderColor | 21ms |
| โ | BookButtonTypeTests | testButtonBackgroundColor | 2ms |
| โ | BookButtonTypeTests | testButtonStyle_destructive | 49ms |
| โ | BookButtonTypeTests | testButtonStyle_primary | 1ms |
| โ | BookButtonTypeTests | testButtonStyle_secondary | <1ms |
| โ | BookButtonTypeTests | testButtonStyle_tertiary | <1ms |
| โ | BookButtonTypeTests | testButtonTextColor | 6ms |
| โ | BookButtonTypeTests | testDisplaysIndicator_falseForOthers | <1ms |
| โ | BookButtonTypeTests | testDisplaysIndicator_trueForExpected | <1ms |
| โ | BookButtonTypeTests | testHasBorder | 1ms |
| โ | BookButtonTypeTests | testIsPrimary | <1ms |
| โ | BookButtonTypeTests | testTitle_returnsNonEmptyStrings | 16ms |
| โ | BookCellModelActionTests | testAcquireReaderPresentationLock_FirstCall_Succeeds | 210ms |
| โ | BookCellModelActionTests | testAcquireReaderPresentationLock_ReleasesAfterDelay | 514ms |
| โ | BookCellModelActionTests | testAcquireReaderPresentationLock_SecondRapidCall_IsBlocked | 321ms |
| โ | BookCellModelActionTests | testCancelHold_AlertContainsBookTitle | 6ms |
| โ | BookCellModelActionTests | testCancelHold_AlertHasBothPrimaryAndDistinctCancelButton | 6ms |
| โ | BookCellModelActionTests | testCancelHold_CancellingAlert_DoesNotSetReturningState | 10ms |
| โ | BookCellModelActionTests | testCancelHold_ConfirmingAlert_SetsReturningState | 5ms |
| โ | BookCellModelActionTests | testCancelHold_DoesNotStartReturnImmediately | 725ms |
| โ | BookCellModelActionTests | testCancelHold_ShowsConfirmationAlert_BeforeRevoking | 8ms |
| โ | BookCellModelActionTests | testRemove_doesNotShowAlertImmediatelyOrAfterDrain | 22ms |
| โ | BookCellModelActionTests | testReturn_AlertContainsBookTitle | 6ms |
| โ | BookCellModelActionTests | testReturn_AlertHasBothPrimaryAndDistinctCancelButton | 5ms |
| โ | BookCellModelActionTests | testReturn_CancellingAlert_DoesNotSetReturningState | 84ms |
| โ | BookCellModelActionTests | testReturn_CancellingAlert_ResetsIsLoading | 65ms |
| โ | BookCellModelActionTests | testReturn_ConfirmingAlert_DismissesAlert | 168ms |
| โ | BookCellModelActionTests | testReturn_ConfirmingAlert_SetsReturningState | 8ms |
| โ | BookCellModelActionTests | testReturn_DoesNotStartReturnImmediately | 102ms |
| โ | BookCellModelActionTests | testReturn_ShowsConfirmationAlert_BeforeRevoking | 161ms |
| โ | BookCellModelCacheInvalidationTests | testAccountChange_postedOffMain_clearsCacheOnMain_withoutTrapping | 53ms |
| โ | BookCellModelCacheInvalidationTests | testCacheInvalidatesDownloadingToFailed | 3ms |
| โ | BookCellModelCacheInvalidationTests | testCacheInvalidatesDownloadingToSuccessful | 3ms |
| โ | BookCellModelCacheInvalidationTests | testCacheInvalidatesFailedToSuccessful | 3ms |
| โ | BookCellModelCacheInvalidationTests | testCacheInvalidatesOnDirectInvalidation | 4ms |
| โ | BookCellModelCacheInvalidationTests | testCacheReturnsDifferentModelsForDifferentBooks | 4ms |
| โ | BookCellModelCacheInvalidationTests | testCacheReturnsSameModel | 2ms |
| โ | BookCellModelCacheInvalidationTests | testClearAllRemovesAllModels | 4ms |
| โ | BookCellModelCacheInvalidationTests | testInvalidateForSpecificBook | 7ms |
| โ | BookCellModelCachePrefetchSafetyTests | testPrefetch_EmptyBooksArray_DoesNotCrash | 8ms |
| โ | BookCellModelCachePrefetchSafetyTests | testPrefetch_EmptyBooksArray_WithNonZeroRange_DoesNotCrash | 42ms |
| โ | BookCellModelCachePrefetchSafetyTests | testPrefetch_EndOfList_DoesNotAccessBeyondBounds | 59ms |
| โ | BookCellModelCachePrefetchSafetyTests | testPrefetch_LargeBuffer_ClampsToArraySize | 13ms |
| โ | BookCellModelCachePrefetchSafetyTests | testPrefetch_NegativeBufferRange_ClampsToZero | 34ms |
| โ | BookCellModelCachePrefetchSafetyTests | testPrefetch_NormalRange_PreloadsModels | 20ms |
| โ | BookCellModelCachePrefetchSafetyTests | testPrefetch_RangeExceedsArraySize_DoesNotCrash | 38ms |
| โ | BookCellModelCachePrefetchSafetyTests | testPrefetch_SingleElementArray_DoesNotCrash | 13ms |
| โ | BookCellModelCachePrefetchSafetyTests | testPrefetch_StartOfList_DoesNotAccessNegativeIndex | 17ms |
| โ | BookCellModelCacheTests | testAggressiveConfiguration_HasLargerValues | 4ms |
| โ | BookCellModelCacheTests | testCacheWithSameIdentifierDifferentUpdatedDate | 9ms |
| โ | BookCellModelCacheTests | testClear | 40ms |
| โ | BookCellModelCacheTests | testConcurrentAccess_DoesNotCrash | 41ms |
| โ | BookCellModelCacheTests | testDefaultConfiguration_HasReasonableValues | 26ms |
| โ | BookCellModelCacheTests | testDifferentBooksGetDifferentModels | 8ms |
| โ | BookCellModelCacheTests | testDirectInvalidation_RefreshesModel | 9ms |
| โ | BookCellModelCacheTests | testDirectInvalidation_WorksForHoldingState | 8ms |
| โ | BookCellModelCacheTests | testDirectInvalidation_WorksForStateTransitions | 10ms |
| โ | BookCellModelCacheTests | testEmptyCache_survivesAllPublicMutatorsWithoutCrashOrSpuriousEntries | 23ms |
| โ | BookCellModelCacheTests | testInvalidate | 19ms |
| โ | BookCellModelCacheTests | testInvalidateMultiple | 13ms |
| โ | BookCellModelCacheTests | testLRUEviction | 33ms |
| โ | BookCellModelCacheTests | testMemoryWarning | 108ms |
| โ | BookCellModelCacheTests | testModelCreation | 15ms |
| โ | BookCellModelCacheTests | testModelReuse_returnsSameInstanceAndDoesNotGrowCacheCount | 7ms |
| โ | BookCellModelCacheTests | testModelUpdate_SameInstance_DoesNotMutateBook | 24ms |
| โ | BookCellModelCacheTests | testModelUpdate_SwapsInstance_IgnoringTimestamp | 61ms |
| โ | BookCellModelCacheTests | testModelUpdate_WithNewerBook_DefersUpdateToTask | 12ms |
| โ | BookCellModelCacheTests | testModelUpdate_WithSameBook_DoesNotUpdate | 63ms |
| โ | BookCellModelCacheTests | testModelUpdatesWhenBookChanges | 99ms |
| โ | BookCellModelCacheTests | testPreload | 22ms |
| โ | BookCellModelComputedPropertyTests | testAuthors_ReturnsBookAuthors | 68ms |
| โ | BookCellModelComputedPropertyTests | testAuthors_ReturnsEmptyStringWhenNil | 32ms |
| โ | BookCellModelComputedPropertyTests | testBookState_ReturnsRegistryStateByDefault | 19ms |
| โ | BookCellModelComputedPropertyTests | testBookState_SetToNonReturning_ClearsOverride | 4ms |
| โ | BookCellModelComputedPropertyTests | testBookState_SetToReturning_OverridesRegistryState | 4ms |
| โ | BookCellModelComputedPropertyTests | testButtonTypes_WhenReturning_UsesReturningState | 12ms |
| โ | BookCellModelComputedPropertyTests | testIsManagingHold_DefaultsFalse | 15ms |
| โ | BookCellModelComputedPropertyTests | testIsProcessing_ReturnsIsLoading | 13ms |
| โ | BookCellModelComputedPropertyTests | testLoadBookCoverImage_UsesCachedImage | 65ms |
| โ | BookCellModelComputedPropertyTests | testShowHalfSheet_CanBeToggled | 15ms |
| โ | BookCellModelComputedPropertyTests | testShowHalfSheet_DefaultsFalse | 18ms |
| โ | BookCellModelComputedPropertyTests | testShowUnreadIndicator_FalseForDownloadFailed | 5ms |
| โ | BookCellModelComputedPropertyTests | testShowUnreadIndicator_FalseForDownloading | 30ms |
| โ | BookCellModelComputedPropertyTests | testShowUnreadIndicator_FalseForHolding | 6ms |
| โ | BookCellModelComputedPropertyTests | testShowUnreadIndicator_FalseForUnregistered | 4ms |
| โ | BookCellModelComputedPropertyTests | testShowUnreadIndicator_FalseForUsed | 4ms |
| โ | BookCellModelComputedPropertyTests | testShowUnreadIndicator_TrueForDownloadSuccessful | 7ms |
| โ | BookCellModelComputedPropertyTests | testStatePublisher_EmitsOnIsLoadingChange | 5ms |
| โ | BookCellModelComputedPropertyTests | testTitle_ReturnsBookTitle | 5ms |
| โ | BookCellModelLCPProgressTests | testActiveSignal_raisesFlagForThisBook | 31ms |
| โ | BookCellModelLCPProgressTests | testModelBuiltWhileATransferIsRunning_showsTheCueImmediately | 6ms |
| โ | BookCellModelLCPProgressTests | testModelBuiltWithNoTransferRunning_doesNotShowTheCue | 4ms |
| โ | BookCellModelLCPProgressTests | testObservedProgress_isIgnoredWhenNoLCPContentDownloadIsRunning | 92ms |
| โ | BookCellModelLCPProgressTests | testObservedProgress_isUsedWhileAnLCPContentDownloadIsRunning | 60ms |
| โ | BookCellModelLCPProgressTests | testRisingEdge_resetsTheHighWaterMark | 124ms |
| โ | BookCellModelLCPProgressTests | testSignalForADifferentBook_isIgnored | 27ms |
| โ | BookCellModelOfflineTests | testDidSelectDownload_whenOffline_doesNotInvokeDownloadCenter | 10ms |
| โ | BookCellModelOfflineTests | testDidSelectDownload_whenOffline_doesNotSetIsLoading | 9ms |
| โ | BookCellModelOfflineTests | testDidSelectDownload_whenOffline_surfacesRetryableNoConnectionAlert | 61ms |
| โ | BookCellModelOfflineTests | testDidSelectDownload_whenOnline_proceedsWithoutAlert | 13ms |
| โ | BookCellModelOfflineTests | testDidSelectReserve_whenOffline_doesNotSetIsLoading | 8ms |
| โ | BookCellModelOfflineTests | testReachabilityDropsToOffline_whileLoading_clearsLoadingAndShowsAlert | 9ms |
| โ | BookCellModelOfflineTests | testReachabilityInitialState_offline_withoutLoading_doesNotShowAlert | 11ms |
| โ | BookCellModelOfflineTests | testReachabilityRecovers_doesNotAutoStartDownload | 13ms |
| โ | BookCellModelOfflineTests | testReadAction_whenOffline_isNotGatedByReachability | 878ms |
| โ | BookCellModelProcessingStateTests | test_repeatedNotProcessingBroadcasts_doNotRepublishIsLoading | 15ms |
| โ | BookCellModelProcessingStateTests | test_whenAnotherBookStopsProcessing_thisSpinnerIsUntouched | 15ms |
| โ | BookCellModelProcessingStateTests | test_whenRegistryStartsProcessing_theSpinnerIsNotRaisedFromHere | 7ms |
| โ | BookCellModelProcessingStateTests | test_whenRegistryStopsProcessingThisBook_theSpinnerClears | 45ms |
| โ | BookCellModelProcessingStateTests | test_whenTheNotificationCarriesNoProcessingValue_nothingChanges | 44ms |
| โ | BookCellModelProcessingStateTests | test_whenTheNotificationCarriesNoUserInfo_nothingChanges | 15ms |
| โ | BookCellModelRegistryBindingTests | testRegistryStateChange_ClearsLoadingForTerminalStates | 9ms |
| โ | BookCellModelRegistryBindingTests | testRegistryStateChange_IgnoresOtherBookIds | 32ms |
| โ | BookCellModelRegistryBindingTests | testRegistryStateChange_ToDownloadFailed_ClearsLoading | 11ms |
| โ | BookCellModelRegistryBindingTests | testRegistryStateChange_UpdatesRegistryState | 55ms |
| โ | BookCellModelStateTests | testBookCellStateButtonState_MapsThroughCorrectly | 18ms |
| โ | BookCellModelStateTests | testBookCellStateForDownloadFailed | 52ms |
| โ | BookCellModelStateTests | testBookCellStateForDownloadInProgress | 56ms |
| โ | BookCellModelStateTests | testBookCellStateForDownloadSuccessful | 16ms |
| โ | BookCellModelStateTests | testDownloadErrorRoutesToCellAlertWhenHalfSheetHidden | 10ms |
| โ | BookCellModelStateTests | testDownloadErrorRoutesToHalfSheetAlertWhenHalfSheetVisible | 10ms |
| โ | BookCellModelStateTests | testInitialStateForDownloadFailed | 28ms |
| โ | BookCellModelStateTests | testInitialStateForDownloadNeeded | 3ms |
| โ | BookCellModelStateTests | testInitialStateForDownloading | 222ms |
| โ | BookCellModelStateTests | testInitialStateForHolding | 24ms |
| โ | BookCellModelStateTests | testInitialStateForUnregisteredBook | 3ms |
| โ | BookCellModelStateTests | testInitialStateMatchesRegistry | 72ms |
| โ | BookCellModelStateTests | testIsLoading_EmitsViaStatePublisher_WhenChanged | 8ms |
| โ | BookCellModelStateTests | testIsLoading_SettlesFalseAfterImageFetchCompletes | 57ms |
| โ | BookCellModelStateTests | testValidateStateConsistencyDetectsMismatch | 35ms |
| โ | BookCellModelStateTests | testValidateStateConsistencyPasses | 5ms |
| โ | BookCellModelStreamingHTMLTests | testBookCellModel_didSelectRead_epubBook_doesNotPushStreamingRoute | 43ms |
| โ | BookCellModelStreamingHTMLTests | testBookCellModel_didSelectRead_streamingHTMLBook_presentsStreamingReaderView_viaCoordinator | 11ms |
| โ | BookCellStateComprehensiveTests | testBookCellState_CanBorrow_MapsToNormal | 116ms |
| โ | BookCellStateComprehensiveTests | testBookCellState_CanHold_MapsToNormal | 5ms |
| โ | BookCellStateComprehensiveTests | testBookCellState_DownloadFailed_MapsToDownloadFailed | 3ms |
| โ | BookCellStateComprehensiveTests | testBookCellState_DownloadInProgress_MapsToDownloading | 4ms |
| โ | BookCellStateComprehensiveTests | testBookCellState_DownloadNeeded_MapsToNormal | 2ms |
| โ | BookCellStateComprehensiveTests | testBookCellState_HoldingFrontOfQueue_MapsToNormal | 242ms |
| โ | BookCellStateComprehensiveTests | testBookCellState_Holding_MapsToNormal | 119ms |
| โ | BookCellStateComprehensiveTests | testBookCellState_ManagingHold_MapsToNormal | 1ms |
| โ | BookCellStateComprehensiveTests | testBookCellState_Returning_MapsToNormal | <1ms |
| โ | BookCellStateComprehensiveTests | testBookCellState_Unsupported_MapsToNormal | 251ms |
| โ | BookCellStateComprehensiveTests | testBookCellState_Used_MapsToNormal | 24ms |
| โ | BookCellStateComprehensiveTests | testButtonState_ExtractionFromDownloadFailed | <1ms |
| โ | BookCellStateComprehensiveTests | testButtonState_ExtractionFromDownloading | <1ms |
| โ | BookCellStateComprehensiveTests | testButtonState_ExtractionFromNormal | 2ms |
| โ | BookContentResetServiceTests | testPurge_force_invokesEvenWithActiveAudiobooks | 7ms |
| โ | BookContentResetServiceTests | testResetAccount_otherAccount_removesContentDirectory | 9ms |
| โ | BookDetailButtonRoutingTests | testAcquisitionButtonsDoNotOpenContent | 1ms |
| โ | BookDetailButtonRoutingTests | testContentOpenersAndHalfSheetActionsAreDisjoint | 111ms |
| โ | BookDetailButtonRoutingTests | testHalfSheetLocalActionsDoNotOpenContent | 1ms |
| โ | BookDetailButtonRoutingTests | testReadAndListenOpenContent | 2ms |
| โ | BookDetailInfoValueLinkTests | testNonWebSchemes_areNotTreatedAsLinks | 1ms |
| โ | BookDetailInfoValueLinkTests | testPlainMetadataValues_areNotTreatedAsLinks | 346ms |
| โ | BookDetailInfoValueLinkTests | testRealWebURLs_areStillTreatedAsLinks | 2ms |
| โ | BookDetailInfoValueLinkTests | testSchemeWithoutHost_isNotTreatedAsALink | 148ms |
| โ | BookDetailInfoValueLinkTests | testWebURLWithSurroundingWhitespace_isStillALink | <1ms |
| โ | BookDetailLCPContentProgressTests | testActiveSignal_raisesFlagForThisBook | 36ms |
| โ | BookDetailLCPContentProgressTests | testCueIsVisibleForTheWholeContentDownload | 37ms |
| โ | BookDetailLCPContentProgressTests | testIdleSignal_lowersFlag | 66ms |
| โ | BookDetailLCPContentProgressTests | testProgressAfterRisingEdge_advancesTheBar | 92ms |
| โ | BookDetailLCPContentProgressTests | testRisingEdge_resetsStaleProgressSoTheBarStartsAtZero | 70ms |
| โ | BookDetailLCPContentProgressTests | testSignalForADifferentBook_isIgnored | 31ms |
| โ | BookDetailLCPContentProgressTests | testViewModelBuiltWhileATransferIsRunning_showsTheCueImmediately | 39ms |
| โ | BookDetailMetadataHydrationTests | testHydrate_PopulatesAudienceAndLanguageFromAlternateFeed | 6ms |
| โ | BookDetailMetadataHydrationTests | testHydrate_PreservesAcquisitionAndNavigationalURLs | 10ms |
| โ | BookDetailMetadataHydrationTests | testHydrate_TriggeredWhenOnlyAudienceOrLanguageMissing_DoesNotFireIfOthersPopulated | 10ms |
| โ | BookDetailMetadataHydrationTests | testHydrate_WhenAllTargetFieldsEmpty_PopulatesFromAlternateFeed | 5ms |
| โ | BookDetailMetadataHydrationTests | testHydrate_WhenMetadataAlreadyPresent_DoesNotFetch | 6ms |
| โ | BookDetailMetadataHydrationTests | testHydrate_WhenNoAlternateURL_DoesNotFetch | 6ms |
| โ | BookDetailMetadataMergeContractTests | testHydrate_whenHydratorReturnsNil_leavesBookUnchanged | 6ms |
| โ | BookDetailMetadataMergeContractTests | testHydrate_whenHydratorThrows_isSwallowedAndBookUnchanged | 43ms |
| โ | BookDetailMetadataMergeContractTests | testMerge_identityFields_neverTakenFromFresh | 5ms |
| โ | BookDetailMetadataMergeContractTests | testMerge_whenCurrentFieldsBlank_takesFreshValues | 9ms |
| โ | BookDetailMetadataMergeContractTests | testMerge_whenCurrentFieldsPresent_preservesThemOverFresh | 7ms |
| โ | BookDetailOpenRoutingTests | testOpenBook_audiobookFormat_routesToInjectedAudiobookSession | 14ms |
| โ | BookDetailOpenRoutingTests | testOpenBook_nonAudiobookFormat_doesNotRouteToAudiobookSession | 284ms |
| โ | BookDetailOpenRoutingTests | testSelectRelatedBook_differentBook_reDerivesBookStateFromRegistryForNewBook | 8ms |
| โ | BookDetailViewModelAudiobookDismissTests | testHandleActionListen_earlyShellHook_dismissesHalfSheetBeforeOpenCompletes | 26ms |
| โ | BookDetailViewModelTests | testAllBookStates_HaveValidMapping | 3ms |
| โ | BookDetailViewModelTests | testAllButtonStates_HaveValidButtonTypes | 8ms |
| โ | BookDetailViewModelTests | testAvailability_Nil_ReturnsNil | 96ms |
| โ | BookDetailViewModelTests | testAvailability_Unlimited_MapsToCanBorrow | 3ms |
| โ | BookDetailViewModelTests | testBookContentType_Audiobook | 6ms |
| โ | BookDetailViewModelTests | testBookContentType_EPUB | 77ms |
| โ | BookDetailViewModelTests | testBookContentType_PDF | 198ms |
| โ | BookDetailViewModelTests | testBookDetailViewModel_didSelectGet_streamingHTMLBook_thenButtonsAreReadStreaming | 12ms |
| โ | BookDetailViewModelTests | testBookDetailViewModel_handleAction_readStreaming_callsDidSelectReadStreaming | 111ms |
| โ | BookDetailViewModelTests | testBookLane_Creation | 10ms |
| โ | BookDetailViewModelTests | testBookLane_EmptyBooks | 3ms |
| โ | BookDetailViewModelTests | testBookLane_WithNilURL | 6ms |
| โ | BookDetailViewModelTests | testBookState_SetReturning_SetsLocalOverride_HidesViaRegistryOnlyWhenUnregistered | 19ms |
| โ | BookDetailViewModelTests | testBookState_SetUnregistered_ClearsLocalOverride | 3ms |
| โ | BookDetailViewModelTests | testBook_GetExpirationDate_ReturnsDate_WhenLimitedAvailability | 20ms |
| โ | BookDetailViewModelTests | testBook_GetExpirationDate_ReturnsNilForUnborrowed | 11ms |
| โ | BookDetailViewModelTests | testButtonState_DownloadFailed_MapsToDownloadFailed | 2ms |
| โ | BookDetailViewModelTests | testButtonState_DownloadNeeded_MapsToDownloadNeeded | 33ms |
| โ | BookDetailViewModelTests | testButtonState_DownloadSuccessful_MapsToDownloadSuccessful | 20ms |
| โ | BookDetailViewModelTests | testButtonState_Downloading_MapsToDownloadInProgress | 5ms |
| โ | BookDetailViewModelTests | testButtonState_Holding_MapsToHolding | 194ms |
| โ | BookDetailViewModelTests | testButtonState_IsProcessingDownload_MapsToDownloadInProgress | 96ms |
| โ | BookDetailViewModelTests | testButtonState_Returning_MapsToReturning | 72ms |
| โ | BookDetailViewModelTests | testButtonState_ReturnsStableButtonState | 4ms |
| โ | BookDetailViewModelTests | testButtonState_Unregistered_MapsToCanBorrow | 281ms |
| โ | BookDetailViewModelTests | testButtonState_Used_MapsToUsed | 3ms |
| โ | BookDetailViewModelTests | testButtonTypesProvider_DelegatesToStableButtonState | 8ms |
| โ | BookDetailViewModelTests | testButtonTypes_CanBorrowAudiobookWithSample_IncludesAudiobookSample | 343ms |
| โ | BookDetailViewModelTests | testButtonTypes_CanBorrowWithSample_IncludesSampleButton | 132ms |
| โ | BookDetailViewModelTests | testButtonTypes_CanBorrow_ReturnsGetButton | 7ms |
| โ | BookDetailViewModelTests | testButtonTypes_CanHold_ReturnsReserveButton | 129ms |
| โ | BookDetailViewModelTests | testButtonTypes_DownloadFailed_ReturnsCancelAndRetry | 18ms |
| โ | BookDetailViewModelTests | testButtonTypes_DownloadInProgress_ReturnsCancelButton | 7ms |
| โ | BookDetailViewModelTests | testButtonTypes_DownloadSuccessful_AudiobookReturnsListen | 6ms |
| โ | BookDetailViewModelTests | testButtonTypes_DownloadSuccessful_EpubReturnsRead | 75ms |
| โ | BookDetailViewModelTests | testButtonTypes_PreviewDisabled_ExcludesSampleButton | 69ms |
| โ | BookDetailViewModelTests | testButtonTypes_Returning_ReturnsReturningButton | 6ms |
| โ | BookDetailViewModelTests | testButtonTypes_Unsupported_ReturnsEmpty | 97ms |
| โ | BookDetailViewModelTests | testCredentialCheck_AllowsActionWhenLoggedIn | 249ms |
| โ | BookDetailViewModelTests | testCredentialCheck_PreventsActionWhenNotLoggedIn | 3ms |
| โ | BookDetailViewModelTests | testDidSelectCancel_ResetsDownloadProgress | 60ms |
| โ | BookDetailViewModelTests | testDownloadProgress_IgnoresDifferentBook | 553ms |
| โ | BookDetailViewModelTests | testDownloadProgress_NeverGoesBackwards | 7ms |
| โ | BookDetailViewModelTests | testEnsureAuthPattern_ChecksCredentialsAfterModalDismiss | 5ms |
| โ | BookDetailViewModelTests | testFetchRelatedBooks_NilURL_IsNoOp_AndDoesNotSetLoading | 178ms |
| โ | BookDetailViewModelTests | testHalfSheet_DismissedOnHoldPlaced | 4ms |
| โ | BookDetailViewModelTests | testHalfSheet_DismissedOnUnregistered | 3ms |
| โ | BookDetailViewModelTests | testHalfSheet_StaysOpenDuringDownload | 9ms |
| โ | BookDetailViewModelTests | testHalfSheet_StaysOpenOnDownloadFailed | 250ms |
| โ | BookDetailViewModelTests | testHalfSheet_StaysOpenOnDownloadSuccess | 2ms |
| โ | BookDetailViewModelTests | testHalfSheet_StaysOpenOnUsedState | 2ms |
| โ | BookDetailViewModelTests | testHandleAction_Cancel_ResetsDownloadProgressToZero | 4ms |
| โ | BookDetailViewModelTests | testHandleAction_Close_DoesNothingButInsertsProcessing | 5ms |
| โ | BookDetailViewModelTests | testHandleAction_DuplicateTap_IsIgnored | 8ms |
| โ | BookDetailViewModelTests | testHandleAction_ManageHold_SetsManagingHoldAndHoldingState | 5ms |
| โ | BookDetailViewModelTests | testHandleBookRegistryChange_UpdatesBookFromRegistry | 107ms |
| โ | BookDetailViewModelTests | testHoldingState_ButtonTypesIncludeHoldManagement | 138ms |
| โ | BookDetailViewModelTests | testHoldingState_MapsFromBorrowAttempt | 2ms |
| โ | BookDetailViewModelTests | testIsBorrowProcessing_DefaultsToRegistryProcessingFlagAtInit | 7ms |
| โ | BookDetailViewModelTests | testIsBorrowProcessing_FlipsBackToFalseOnCompletionNotification | 12ms |
| โ | BookDetailViewModelTests | testIsBorrowProcessing_FlipsOnProcessingNotification_ForSameBook | 14ms |
| โ | BookDetailViewModelTests | testIsBorrowProcessing_IgnoresNotificationsForDifferentBook | 22ms |
| โ | BookDetailViewModelTests | testIsFullSize_ReturnsFalseOnNonIpad | 5ms |
| โ | BookDetailViewModelTests | testIsProcessing_ReturnsTrueWhenButtonInSet | 58ms |
| โ | BookDetailViewModelTests | testManagedHoldState_ButtonTypes | 11ms |
| โ | BookDetailViewModelTests | testProcessingButtonTypes_DownloadRelated | 15ms |
| โ | BookDetailViewModelTests | testProcessingButtons_ClearedWhenLoginCancelled | 53ms |
| โ | BookDetailViewModelTests | testProcessingButtons_DidSetUpdatesIsProcessingFlag | 10ms |
| โ | BookDetailViewModelTests | testRegistryTransitionToDownloadFailed_ClearsDownloadProcessingButtons | 12ms |
| โ | BookDetailViewModelTests | testRegistryTransitionToDownloadSuccessful_ClearsDownloadProcessingButtons | 29ms |
| โ | BookDetailViewModelTests | testRegistryTransitionToDownloading_ClearsDownloadProcessingButtons | 688ms |
| โ | BookDetailViewModelTests | testRegistryTransitionToHolding_ClearsReserveAndDismissesHalfSheet | 207ms |
| โ | BookDetailViewModelTests | testRegistryTransitionToUnregistered_ResetsManagingHoldAndHalfSheetAndReturning | 23ms |
| โ | BookDetailViewModelTests | testRelatedBooks_ClearedWhenNavigatingToDifferentBook | 10ms |
| โ | BookDetailViewModelTests | testRelatedBooks_PersistAfterViewReappears | 12ms |
| โ | BookDetailViewModelTests | testRelatedBooks_PreservedDuringRefetchForSameBook | 92ms |
| โ | BookDetailViewModelTests | testRemoveProcessingButton_RemovesTheButton | 7ms |
| โ | BookDetailViewModelTests | testSelectRelatedBook_DifferentBook_UpdatesBookAndClearsLanes | 14ms |
| โ | BookDetailViewModelTests | testSelectRelatedBook_SameBook_IsNoOp | 14ms |
| โ | BookDetailViewModelTests | testSeriesRowDisplay_emptyName_isHidden | 2ms |
| โ | BookDetailViewModelTests | testSeriesRowDisplay_nameAndURL_isLink | 2ms |
| โ | BookDetailViewModelTests | testSeriesRowDisplay_nameWithoutURL_isPlainText | 15ms |
| โ | BookDetailViewModelTests | testSeriesRowDisplay_nilName_isHidden | 69ms |
| โ | BookDetailViewModelTests | testShowMoreBooksForLane_LaneWithNilURL_DoesNotSetSelected | 239ms |
| โ | BookDetailViewModelTests | testShowMoreBooksForLane_MissingLane_LeavesSelectedNil | 70ms |
| โ | BookDetailViewModelTests | testShowMoreBooksForLane_SetsSelectedBookURL | 12ms |
| โ | BookDetailViewModelTests | testStableButtonState_ManagingHold_WhileHoldingOverridesToManagingHold | 9ms |
| โ | BookDetailViewModelTests | testStableButtonState_UpdatesWhenBookStateChanges | 28ms |
| โ | BookDetailViewModelTests | testViewModel_BookStatePublisher_TriggersBookUpdate | 75ms |
| โ | BookDetailViewModelTests | testViewModel_ReceivesBookFromRegistry_NotCachedVersion | 15ms |
| โ | BookDetailViewModelTests | testViewModel_UpdatesBookWhenRegistryChanges | 11ms |
| โ | BookFileManagerAccountScopingTests | testFileUrlConvenience_followsAccountSwitch_AtoB | 253ms |
| โ | BookFileManagerAccountScopingTests | testFileUrlConvenience_resolvesUnderCurrentAccount | 547ms |
| โ | BookFileManagerAccountScopingTests | testPrefixedButUnregistered_fallsBackToCurrentAccount | 19ms |
| โ | BookFileManagerAccountScopingTests | testSideloadedBook_pinsToFixedSideloadAccount_ignoringCurrentAccount | 31ms |
| โ | BookFileManagerAccountScopingTests | testSideloadedBook_staysPinned_acrossAccountSwitch | 784ms |
| โ | BookFileManagerSideloadResolutionTests | test_nonSideloadedId_resolvesAgainstCurrentAccount_unchanged | 266ms |
| โ | BookFileManagerSideloadResolutionTests | test_sideloadPrefixedId_notInProvider_resolvesAgainstAccount_defenseInDepth | 113ms |
| โ | BookFileManagerSideloadResolutionTests | test_sideloadedId_resolvesToFixedAccount_evenWhenCurrentAccountDiffers | 299ms |
| โ | BookFileManagerSideloadResolutionTests | test_sideloadedId_resolvesToFixedAccount_evenWhenExplicitAccountDiffers | 12ms |
| โ | BookFileManagerTests | testContentDirectoryURL_createsDirectoryOnFirstCall | 1ms |
| โ | BookFileManagerTests | testContentDirectoryURL_distinctAccounts_distinctDirectories | 2ms |
| โ | BookFileManagerTests | testContentDirectoryURL_idempotent_reusesExistingDirectory | 1ms |
| โ | BookFileManagerTests | testFileUrl_byIdentifier_andByBook_returnSameUrlForSameAccount | 3ms |
| โ | BookFileManagerTests | testFileUrl_byIdentifier_returnsNilWhenBookNotInRegistry | <1ms |
| โ | BookFileManagerTests | testFileUrl_byIdentifier_returnsUrlWhenBookInRegistry | 190ms |
| โ | BookFileManagerTests | testFileUrl_forBook_buildsHashedFileNameWithEpubExtension | 8ms |
| โ | BookFileManagerTests | testPathExtension_defaultsToEpub_forNilOrNonLCPBooks | 7ms |
| โ | BookListViewAccessibilityTests | testBookCell_unchangedFrom3_0_1 | 1ms |
| โ | BookListViewAccessibilityTests | testBookListView_announcesOpenDetailsHint | 1ms |
| โ | BookListViewAccessibilityTests | testBookListView_doesNotIgnoreChildren | 4ms |
| โ | BookListViewAccessibilityTests | testBookListView_doesNotRemoveButtonTrait | <1ms |
| โ | BookListViewAccessibilityTests | testBookListView_rowWrapperIsSwiftUIButton | 3ms |
| โ | BookListViewAccessibilityTests | testBookListView_usesCanonicalVoiceOverLabel | <1ms |
| โ | BookListViewAccessibilityTests | testNormalBookCell_unchangedFrom3_0_1 | 3ms |
| โ | BookListViewAccessibilityTests | testVoiceOverLabel_audiobook_includesAudiobookDesignation | 3ms |
| โ | BookListViewAccessibilityTests | testVoiceOverLabel_ebook_titleByAuthor | 2ms |
| โ | BookPreviewTests | testEpubBookPreviewExtraction | 3ms |
| โ | BookPreviewTests | testOverdriveMPEGAudiobookExtraction | 65ms |
| โ | BookPreviewTests | testOverdriveWaveAudiobookExtraction | 1ms |
| โ | BookPreviewTests | testOverdriveWebAudiobookExtraction | 89ms |
| โ | BookRegistryReconciliationTableTests | testDownloading_whileATransferIsInFlight_isLeftAlone | 8ms |
| โ | BookRegistryReconciliationTableTests | testDownloading_withNoTransferInFlight_isReconciled | 8ms |
| โ | BookRegistryReconciliationTableTests | testEveryCellOfTheInFlightColumn | 4ms |
| โ | BookRegistryReconciliationTableTests | testEveryCellOfTheReconciliationTable | 4ms |
| โ | BookRegistryReconciliationTableTests | testInFlightOutcomesNeverClaimPlayableWithoutContent | 22ms |
| โ | BookRegistryReconciliationTableTests | testInFlightTransfer_leavesEveryMidDownloadEntryStateAlone | 18ms |
| โ | BookRegistryReconciliationTableTests | testLicenseOnlyNeverRestsOrPassesThroughAPlayableState | 7ms |
| โ | BookRegistryReconciliationTableTests | testNoOutcomeClaimsPlayableWhileContentIsAbsent | 3ms |
| โ | BookRegistryReconciliationTableTests | testReconciliationConvergesToAFixpoint | 3ms |
| โ | BookRegistryReconciliationTableTests | testStatesOutsideTheChainAreReturnedUnchanged | 2ms |
| โ | BookRegistryStoreTests | test_addBook_thenRetrieve | 149ms |
| โ | BookRegistryStoreTests | test_addBook_withLocationAndBookmarks | 21ms |
| โ | BookRegistryStoreTests | test_allBooks_returnsAllRegisteredBooks | 701ms |
| โ | BookRegistryStoreTests | test_bookForIdentifier_returnsNilForUnregisteredOrInvalidInputs | 10ms |
| โ | BookRegistryStoreTests | test_concurrentReadsAndWrites_noDataRace | 99ms |
| โ | BookRegistryStoreTests | test_fulfillmentId_emptyIdentifier_returnsNil | <1ms |
| โ | BookRegistryStoreTests | test_fulfillmentId_nilIdentifier_returnsNil | 1ms |
| โ | BookRegistryStoreTests | test_fulfillmentId_setAndGet | 5ms |
| โ | BookRegistryStoreTests | test_heldBooks_onlyReturnsHoldingState | 7ms |
| โ | BookRegistryStoreTests | test_mutateRegistrySync_directMutation | 12ms |
| โ | BookRegistryStoreTests | test_myBooks_returnsCorrectStates | 14ms |
| โ | BookRegistryStoreTests | test_processing_defaultsFalseForUnknownAndRegisteredBooks | 11ms |
| โ | BookRegistryStoreTests | test_readRegistry_returnsSnapshot | 17ms |
| โ | BookRegistryStoreTests | test_record_returnsNilForUnregisteredOrInvalidInputs | 8ms |
| โ | BookRegistryStoreTests | test_registrySnapshot_returnsDictionaryRepresentations | 148ms |
| โ | BookRegistryStoreTests | test_registrySubject_emitsOnAdd | 6ms |
| โ | BookRegistryStoreTests | test_removeAll_clearsRegistry | 10ms |
| โ | BookRegistryStoreTests | test_removeBook_nonexistentId_completesWithNilBook | 3ms |
| โ | BookRegistryStoreTests | test_removeBook_removesFromRegistry | 8ms |
| โ | BookRegistryStoreTests | test_setProcessing_true_thenFalse | 10ms |
| โ | BookRegistryStoreTests | test_setState_updatesState | 13ms |
| โ | BookRegistryStoreTests | test_state_returnsUnregisteredForUnregisteredOrInvalidInputs | 36ms |
| โ | BookRegistryStoreTests | test_updateAndRemoveBook_setsStateUnregistered | 8ms |
| โ | BookRegistryStoreTests | test_updatedBookMetadata_preservesExistingAuthorsWhenIncomingIsEmpty | 18ms |
| โ | BookRegistryStoreTests | test_updatedBookMetadata_returnsNilWhenBookIsNotInRegistry | 31ms |
| โ | BookRegistryStoreTests | test_updatedBookMetadata_takesIncomingAuthorsWhenPresent | 105ms |
| โ | BookRegistrySyncReadinessTests | testIntegration_underDetailsLoading_setStateSyncingFiresUnconditionally | 213ms |
| โ | BookRegistrySyncReadinessTests | testReadiness_underDetailsFailed_throwsAuthDocumentFetchFailed | 67ms |
| โ | BookRegistrySyncReadinessTests | testReadiness_underDetailsLoading_blocksUntilTransition | 331ms |
| โ | BookRegistrySyncReadinessTests | testReadiness_wedgedAtDetailsLoading_bounded_throwsReadinessTimedOut | 351ms |
| โ | BookRegistrySyncReentrancyTests | testConcurrentLoadAndSync_bothComplete | 117ms |
| โ | BookRegistrySyncReentrancyTests | testConcurrentSaveSync_allComplete | 80ms |
| โ | BookRegistrySyncReentrancyTests | testSaveSync_fromInsideRegistryStoreBarrier_doesNotDeadlock | 77ms |
| โ | BookRegistrySyncReentrancyTests | testSaveSync_persistsCurrentRegistrySnapshotToDisk | 91ms |
| โ | BookRegistrySyncReentrancyTests | testSaveSync_writeRoutesThroughDiskWriteQueue_landsAfterInFlightAsyncSaves | 64ms |
| โ | BookRegistrySyncReentrancyTests | testSetLocationSync_fromMultipleThreads_savesyncSucceeds | 51ms |
| โ | BookRegistrySyncSideloadExemptionTests | test_sync_withEmptyExemption_evictsTheSameBook_andDeletesItsContent | 528ms |
| โ | BookRegistrySyncSideloadExemptionTests | test_sync_withSideloadedIdExempt_preservesBookAndSkipsOnDiskDelete | 80ms |
| โ | BookRegistrySyncTests | testCorruptLoad_recoversFromNonEmptyBackup_andQuarantinesOriginal | 97ms |
| โ | BookRegistrySyncTests | testCorruptLoad_thenNonAuthoritativeEmptySave_isRefused_untilServerSync | 40ms |
| โ | BookRegistrySyncTests | testCorruptLoad_withoutBackup_leavesEmptyAndFlagsRebuild_andQuarantines | 25ms |
| โ | BookRegistrySyncTests | testNonEmptySave_isNeverBlocked_evenDuringRebuildWindow | 29ms |
| โ | BookRegistrySyncTests | testSaveEmptyOverNonEmptyBackup_isRefusedWithoutServerAuthority | 452ms |
| โ | BookRegistrySyncTests | testSaveEmpty_withServerAuthority_persistsAndClearsRebuildFlag | 15ms |
| โ | BookRegistrySyncTests | testSave_writesSchemaVersionField | 40ms |
| โ | BookRegistrySyncTests | testSchemaMigration_unversionedFileLoads_thenSaveWritesVersion | 55ms |
| โ | BookRegistrySyncTests | test_bulkDeletionProtection_emptyFeedWithLargeLibrary_skipsDeletion | 48ms |
| โ | BookRegistrySyncTests | test_bulkDeletionProtection_emptyFeedWithSingleLocalBook_skipsDeletion | 20ms |
| โ | BookRegistrySyncTests | test_bulkDeletionProtection_emptyFeedWithTwoLocalBooks_skipsDeletion | 26ms |
| โ | BookRegistrySyncTests | test_bulkDeletionProtection_normalFeedDoesNotSkip | 179ms |
| โ | BookRegistrySyncTests | test_bulkDeletionProtection_zeroLocalBooks_doesNotSkip | 61ms |
| โ | BookRegistrySyncTests | test_checkIfBookFileExists_returnsFalseForUnknownBook | 19ms |
| โ | BookRegistrySyncTests | test_largeDeletionWarning_notTriggeredForSmallRatio | 22ms |
| โ | BookRegistrySyncTests | test_load_allowsLoadForDifferentAccount | 23ms |
| โ | BookRegistrySyncTests | test_load_contentMissingEntirely_schedulesTheOrphanRedownload | 155ms |
| โ | BookRegistrySyncTests | test_load_downloadInFlight_leavesTheDownloadingRecordAlone | 50ms |
| โ | BookRegistrySyncTests | test_load_downloadingWithContentOnDisk_persistsDownloadSuccessful | 44ms |
| โ | BookRegistrySyncTests | test_load_downloadingWithNoFileOnDisk_persistsDownloadFailed | 34ms |
| โ | BookRegistrySyncTests | test_load_licenseWithoutContent_schedulesTheContentRedownload | 151ms |
| โ | BookRegistrySyncTests | test_load_licenseWithoutContent_whileFulfillmentIsRunning_schedulesNothing | 215ms |
| โ | BookRegistrySyncTests | test_load_preventsReentrantLoadsForSameAccount | 37ms |
| โ | BookRegistrySyncTests | test_load_registersScheduledRedownloads_beforeAnnouncingLoaded | 135ms |
| โ | BookRegistrySyncTests | test_load_withMalformedJSON_doesNotCrashAndLoadsEmpty | 16ms |
| โ | BookRegistrySyncTests | test_load_withMissingFile_transitionsToLoadedWithEmptyRegistry | 31ms |
| โ | BookRegistrySyncTests | test_registrySnapshot_producesSerializableData | 56ms |
| โ | BookRegistrySyncTests | test_registryUrl_returnsPathContainingAccountAndRegistryFile | 22ms |
| โ | BookRegistrySyncTests | test_reset_clearsSyncUrlAndStore | 42ms |
| โ | BookRegistrySyncTests | test_reset_removesBackupAndQuarantineSidecars | 34ms |
| โ | BookRegistrySyncTests | test_reset_removesRegistryFileFromDisk | 15ms |
| โ | BookRegistrySyncTests | test_storeSnapshotWithMultipleStates | 42ms |
| โ | BookRegistrySyncTests | test_syncUrl_isSetDuringSync_andClearedAfter | 17ms |
| โ | BookRegistrySyncTests | test_sync_whenAlreadySyncing_returnsBeforeSettingSyncingState | 462ms |
| โ | BookRegistrySyncTests | test_sync_whenAwaitReadyFails_revertsToLoadedWithoutFetching | 221ms |
| โ | BookRegistrySyncTests | test_sync_whenFeedFetchFails_revertsToLoadedAndForwardsErrorDocument | 105ms |
| โ | BookRegistrySyncTests | test_sync_whenFeedFetchSucceeds_resolvesToSyncedAndClearsSyncUrl | 163ms |
| โ | BookRegistrySyncTests | test_sync_whenNotSyncing_withCredentialsAndNoLoansUrl_resolvesToLoaded | 66ms |
| โ | BookRegistrySyncTests | test_sync_whenStateIsLoading_shortCircuitsBeforeTouchingAccounts | 36ms |
| โ | BookRegistrySyncTests | test_sync_whenStateIsUnloaded_shortCircuitsBeforeTouchingAccounts | 36ms |
| โ | BookRegistrySyncTests | test_sync_withCurrentAccountButNoCredentials_resolvesToLoadedSynchronously | 21ms |
| โ | BookRegistrySyncTests | test_validateDownloadedContent_marksDownloadNeededWhenFileMissing | 28ms |
| โ | BookRegistrySyncTimeoutSeamTests | testAuthReadinessTimeout_staysWithinTheChosenSelfHealWindow | 7ms |
| โ | BookRegistrySyncTimeoutSeamTests | testSync_passesFiniteReadinessBoundAcrossTheAccountScopeSeam | 18ms |
| โ | BookReturnCleverReauthTests | testReturn_OAuthIntermediary_AuthError_MarksCredentialsStaleBeforeReauth | 568ms |
| โ | BookReturnServiceAuthCoordinatorTests | testService_authErrorOnReturn_withCoordinatorWired_routesThroughCoordinator_notLegacyReauthenticator | 24ms |
| โ | BookReturnServiceAuthCoordinatorTests | testService_authErrorOnReturn_withoutCoordinator_fallsBackToLegacyReauthenticator | 31ms |
| โ | BookReturnServiceAuthCoordinatorTests | testService_coordinatorCancellation_announcesReturnFailed_andDoesNotRetry | 47ms |
| โ | BookReturnServiceContractTests | test_returnBook_authError_triggersReauth | 218ms |
| โ | BookReturnServiceContractTests | test_returnBook_coordinatorAuthError_failure_announcesFailure | 99ms |
| โ | BookReturnServiceContractTests | test_returnBook_coordinatorAuthError_success_retriesAndCompletes | 46ms |
| โ | BookReturnServiceContractTests | test_returnBook_genericError_presentsAlert | 117ms |
| โ | BookReturnServiceContractTests | test_returnBook_loanTermLimitDetail_treatsAsSuccess_cleansUpLocally | 29ms |
| โ | BookReturnServiceContractTests | test_returnBook_noActiveLoan_treatsAsSuccess | 25ms |
| โ | BookReturnServiceContractTests | test_returnBook_offlineError_enqueues_noLocalCleanup | 37ms |
| โ | BookReturnServiceContractTests | test_returnBook_withRevokeURL_happyPath_callsRegistrySetState_then_syncCompletes | 54ms |
| โ | BookReturnServiceContractTests | test_returnBook_withoutRevokeURL_skipsNetwork_clearsLocalContent | 27ms |
| โ | BookReturnServiceTests | testIsOfflineNSURLError_classifiesConnectivityCodes | 7ms |
| โ | BookReturnServiceTests | testOfflineReturn_enqueues_doesNotDeleteLocalContent | 35ms |
| โ | BookReturnServiceTests | testReturnBook_SAMLBrowserAuth_invalidCredentials_marksCredentialsStaleBeforeReauth | 67ms |
| โ | BookReturnServiceTests | testReturnBook_basicAuth_invalidCredentials_doesNotMarkCredentialsStale | 42ms |
| โ | BookReturnServiceTests | testReturnBook_bookNotInRegistry_callsCompletionAndDoesNothing | 12ms |
| โ | BookReturnServiceTests | testReturnBook_bookNotInRegistry_doesNotCancelRemoteWrite | 12ms |
| โ | BookReturnServiceTests | testReturnBook_cancelAllInFlightTasks_emptiesTheRetentionSet | 18ms |
| โ | BookReturnServiceTests | testReturnBook_cancelsPendingRemotePositionWrite_forTheReturnedBook | 65ms |
| โ | BookReturnServiceTests | testReturnBook_noRevokeURL_downloaded_deletesContentAndRemovesBook | 25ms |
| โ | BookReturnServiceTests | testReturnBook_noRevokeURL_notDownloaded_skipsContentDeletion | 53ms |
| โ | BookReturnServiceTests | testReturnBook_revokeURLPath_retainsTaskWhileInFlight_andDrainsOnCompletion | 206ms |
| โ | BookReturnServiceTests | testReturnBook_revokeURLReturnsGenericError_announcesFailureAndRunsCompletion | 41ms |
| โ | BookReturnServiceTests | testReturnBook_revokeURLReturnsInvalidCredentials_reauthenticatesAndRetries | 24ms |
| โ | BookReturnServiceTests | testReturnBook_revokeURLReturnsLoanTermLimitDetail_cleansUpLocallyAndAnnouncesSuccess | 42ms |
| โ | BookReturnServiceTests | testReturnBook_revokeURLReturnsNoActiveLoan_cleansUpLocallyAndAnnouncesSuccess | 38ms |
| โ | BookReturnServiceTests | testReturnBook_revokeURLReturnsParsingError_treatsAsSuccessAndCleansUp | 27ms |
| โ | BookReturnServiceTests | testReturnLastBook_noActiveLoan_persistsEmpty_noResurrect | 310ms |
| โ | BookReturnServiceTests | testReturnLastBook_parsingErrorAsSuccess_persistsEmpty_noResurrect | 162ms |
| โ | BookReturnServiceTests | testReturnService_cancelAllInFlightTasks_cancelsRetainedTask | 9ms |
| โ | BookReturnServiceTests | testReturnService_lastReferenceDropped_deallocsAndLeavesRegistryUntouched | 41ms |
| โ | BookServiceAudiobookOpenTests | testOpen_audiobook_failureWithoutShellHook_stillCallsOnFinishBackstop | 180ms |
| โ | BookServiceAudiobookOpenTests | testOpen_audiobook_firesLoadingShellPresentedBeforeOnFinish | 5ms |
| โ | BookSignInRedirectHandlerTests | testClearAndSetCookies_replacesSessionCookiesWithUserAccountCookies | 14ms |
| โ | BookSignInRedirectHandlerTests | testHandleBookFound_nilRequest_skipsRetry | 7ms |
| โ | BookSignInRedirectHandlerTests | testHandleBookFound_setsCookiesAndRetriesDownloadIfRequestPresent | 7ms |
| โ | BookSignInRedirectHandlerTests | testHandleLoginCancellation_setsDownloadNeededAndCancelsViaDelegate | 79ms |
| โ | BookSignInRedirectHandlerTests | testHandleProblem_alreadySAMLStarted_setsFailedAndPresentsReauthModal | <1ms |
| โ | BookSignInRedirectHandlerTests | testHandleProblem_hasCredentialsAndNotSaml_logsButDoesNotAuthenticate | 86ms |
| โ | BookSignInRedirectHandlerTests | testHandleProblem_noCredentialsLoginRequired_presentsReauthAndRetriesOnHasCredentials | 17ms |
| โ | BookSignInRedirectHandlerTests | testHandleProblem_samlCookiesExpired_setsSAMLStartedAndRetries | 40ms |
| โ | BookStateIntegrationTests | testBookBorrow_UpdatesRegistry | 3ms |
| โ | BookStateIntegrationTests | testBookDownloadFailure_UpdatesStateToDownloadFailed | 5ms |
| โ | BookStateIntegrationTests | testBookReturn_RemovesFromRegistry | 2ms |
| โ | BookStateIntegrationTests | testBookStateChange_PublishesViaCombine | 12ms |
| โ | BookStateIntegrationTests | testBookStateTransition_FullDownloadLifecycle | 2ms |
| โ | BookStateIntegrationTests | testBookWithHolds_ShowsHoldingState | 1ms |
| โ | BookStateIntegrationTests | testConcurrentStateChanges_DoNotCorruptRegistry | 813ms |
| โ | BookStateIntegrationTests | testRegistryPublisher_EmitsOnBookAdd | 301ms |
| โ | BookmarkBusinessLogicExtendedTests | testBookmarkAtIndex_returnsNilForOutOfRangeIndicesAndItemForValid | 22ms |
| โ | BookmarkBusinessLogicExtendedTests | testBookmarkAtIndex_validIndex_returnsBookmark | 21ms |
| โ | BookmarkBusinessLogicExtendedTests | testDeleteBookmarkAtIndex_guardsOutOfRangeAndRemovesOnlyValidIndex | 56ms |
| โ | BookmarkBusinessLogicExtendedTests | testDeleteBookmarkAtIndex_validIndex_removesAndReturns | 63ms |
| โ | BookmarkBusinessLogicExtendedTests | testDeleteBookmark_existingBookmark_removes | 24ms |
| โ | BookmarkBusinessLogicExtendedTests | testReadOnlySurfaces_noBookmarksText_shouldSelect_shouldAllowRefresh | 64ms |
| โ | BookmarkDeletionLogTests | testUpdateLocalBookmarks_matchingLocalBookmark_preservesLocal | 37ms |
| โ | BookmarkDeletionLogTests | testUpdateLocalBookmarks_serverBookmarkNotDeleted_addsLocally | 102ms |
| โ | BookmarkDeletionLogTests | testUpdateLocalBookmarks_withPendingDeletion_deletesFromServer | 42ms |
| โ | BookmarkDeviceIdMatchingTests | testUpdateLocalBookmarks_ServerBookmarkFromDifferentDevice_AddedLocally | 87ms |
| โ | BookmarkDeviceIdMatchingTests | testUpdateLocalBookmarks_ServerBookmarkFromSameDevice_NotLocallyPresent_MarkedForDeletion | 97ms |
| โ | BookmarkDeviceIdMatchingTests | testUpdateLocalBookmarks_ServerBookmarkWithNilDevice_AddedLocally | 36ms |
| โ | BookmarkExistenceTests | testIsBookmarkExisting_differentProgress_returnsNil | 56ms |
| โ | BookmarkExistenceTests | testIsBookmarkExisting_matchingBookmark_returnsBookmark | 105ms |
| โ | BookmarkExistenceTests | testIsBookmarkExisting_noBookmarks_returnsNil | 47ms |
| โ | BookmarkExistenceTests | testIsBookmarkExisting_returnsNilForNilLocationAndForLocationWithoutMatch | 103ms |
| โ | BookmarkManagerTests | test_addGenericBookmark | 9ms |
| โ | BookmarkManagerTests | test_addGenericBookmark_initializesArrayIfNil | 13ms |
| โ | BookmarkManagerTests | test_addGenericBookmark_toMissingBook_doesNotCrash | 64ms |
| โ | BookmarkManagerTests | test_addMultipleReadiumBookmarks_sortedByProgress | 16ms |
| โ | BookmarkManagerTests | test_addOrReplaceGenericBookmark_addsWhenNew | 7ms |
| โ | BookmarkManagerTests | test_addOrReplaceGenericBookmark_initializesArrayIfNil | 176ms |
| โ | BookmarkManagerTests | test_addOrReplaceGenericBookmark_replacesExisting | 372ms |
| โ | BookmarkManagerTests | test_addReadiumBookmark | 17ms |
| โ | BookmarkManagerTests | test_addReadiumBookmark_initializesArrayIfNil | 11ms |
| โ | BookmarkManagerTests | test_addReadiumBookmark_toMissingBook_doesNotCrash | 3ms |
| โ | BookmarkManagerTests | test_bookmarksAreIsolatedBetweenBooks | 213ms |
| โ | BookmarkManagerTests | test_deleteGenericBookmark_byAnnotationId | 177ms |
| โ | BookmarkManagerTests | test_deleteGenericBookmark_bySimilarity | 36ms |
| โ | BookmarkManagerTests | test_deleteReadiumBookmark | 9ms |
| โ | BookmarkManagerTests | test_everyMutationCallsSave | 398ms |
| โ | BookmarkManagerTests | test_locationAndBookmarksAreIndependent | 44ms |
| โ | BookmarkManagerTests | test_missingBook_locationAndBookmarkLookups_returnAbsentValues | 2ms |
| โ | BookmarkManagerTests | test_replaceGenericBookmark | 12ms |
| โ | BookmarkManagerTests | test_replaceReadiumBookmark | 9ms |
| โ | BookmarkManagerTests | test_setAndGetLocation | 9ms |
| โ | BookmarkManagerTests | test_setLocationSync_callsSaveSyncInsteadOfSave | 94ms |
| โ | BookmarkManagerTests | test_setLocationSync_emptyIdentifier_neitherSyncNorAsyncSaveFires | <1ms |
| โ | BookmarkManagerTests | test_setLocation_emptyIdentifier_doesNotSaveAndDoesNotTouchAnyBook | 11ms |
| โ | BookmarkManagerTests | test_setLocation_nil_clearsLocation | 10ms |
| โ | BookmarkSortingTests | testBookmarks_sortedByProgressWithinBook | 26ms |
| โ | BookmarkSyncTests | testUpdateLocalBookmarks_addsServerBookmarks | 1.16s |
| โ | BookmarkSyncTests | testUpdateLocalBookmarks_handlesEmptyServerList | 179ms |
| โ | BookmarkSyncTests | testUpdateLocalBookmarks_preservesFailedUploads | 309ms |
| โ | BorrowAdobeActivationStepTests | test_run_activatesWithTheBorrowGracePeriod | 6ms |
| โ | BorrowAdobeActivationStepTests | test_run_onSuccess_doesNotSurfaceAFailure | 3ms |
| โ | BorrowAdobeActivationStepTests | test_run_onSuccess_leavesTheSpinnerUpForTheCaller | 4ms |
| โ | BorrowAdobeActivationStepTests | test_run_raisesTheSpinnerBeforeActivating | 3ms |
| โ | BorrowAdobeActivationStepTests | test_run_whenActivationThrows_clearsTheSpinnerAndRethrows | 11ms |
| โ | BorrowAdobeActivationStepTests | test_run_whenActivationThrows_surfacesTheFailureToThePatron | 3ms |
| โ | BorrowAndDownloadIntegrationTests | testAudiobookBorrow_ManifestWithZeroTracks_ParsesGracefully | 129ms |
| โ | BorrowAndDownloadIntegrationTests | testBorrowFlow_NetworkError_ShowsAlert_RegistryUnchanged | 41ms |
| โ | BorrowAndDownloadIntegrationTests | testBorrowFlow_Success_RegistryUpdated_DownloadTriggered_NoAlert | 62ms |
| โ | BorrowAndDownloadIntegrationTests | testDownload_StartedWhileOffline_FailsImmediately_NoTaskSpawned | 172ms |
| โ | BorrowAndDownloadIntegrationTests | testFullLifecycle_BorrowDownloadReturn_OnRealRegistry | 114ms |
| โ | BorrowAndDownloadIntegrationTests | testReachabilityDrop_DuringActiveDownloads_FailsAllOfThem | 241ms |
| โ | BorrowAndDownloadIntegrationTests | testReturn_RemovesBookFromRegistry_AndEmitsUnregisteredState | 425ms |
| โ | BorrowErrorMessageTests | testAllRetryableParsingErrors_showUserFriendlyBaseMessage | 1ms |
| โ | BorrowErrorMessageTests | testBookTitle_isIncludedInMessage | <1ms |
| โ | BorrowErrorMessageTests | testDifferentBookTitles_produceDistinctMessages | 82ms |
| โ | BorrowErrorMessageTests | testMessageFormat_matchesLegacyPattern_noProblemDoc | 7ms |
| โ | BorrowErrorMessageTests | testMessageFormat_matchesLegacyPattern_withProblemDoc | <1ms |
| โ | BorrowErrorMessageTests | testNetworkErrors_showUserFriendlyBaseMessage | <1ms |
| โ | BorrowErrorMessageTests | testNilProblemDocument_usesRecoverySuggestion | <1ms |
| โ | BorrowErrorMessageTests | testNoTechnicalErrorString_appearsAsMessage | 82ms |
| โ | BorrowErrorMessageTests | testOPDSFeedInvalid_showsUserFriendlyMessage_notTechnicalError | <1ms |
| โ | BorrowErrorMessageTests | testProblemDocument_takesPriorityOverRecoverySuggestion | <1ms |
| โ | BorrowErrorMessageTests | testWithProblemDocument_appendsServerDetail | <1ms |
| โ | BorrowErrorMessageTests | testWithProblemDocument_emptyDetail_fallsBackToBaseMessage | 1ms |
| โ | BorrowErrorMessageTests | testWithProblemDocument_nilDetail_fallsBackToBaseMessage | <1ms |
| โ | BorrowErrorPresenterTests | testProcess_genericProblemDoc_publishesAlertWithProblemDocDetail | 36ms |
| โ | BorrowErrorPresenterTests | testProcess_invalidCredentialsTwice_secondCallSkipsReauthAndShowsAlert | 10ms |
| โ | BorrowErrorPresenterTests | testProcess_invalidCredentialsWhileAlreadyRequesting_skipsBoth | 5ms |
| โ | BorrowErrorPresenterTests | testProcess_invalidCredentials_triggersReauthAndRetriesViaDelegate | 6ms |
| โ | BorrowErrorPresenterTests | testProcess_loanAlreadyExists_publishesLoanAlreadyExistsAlertWithoutRetry | 5ms |
| โ | BorrowErrorPresenterTests | testProcess_noErrorDict_publishesGenericBorrowFailedAlert | 10ms |
| โ | BorrowOperationAuthCoordinatorTests | testCoordinator_OAuthIntermediary_authError_routesThroughCoordinator | 28ms |
| โ | BorrowOperationAuthCoordinatorTests | testCoordinator_OIDC_silentReauthFails_fallsBackToCoordinator | 51ms |
| โ | BorrowOperationAuthCoordinatorTests | testCoordinator_OIDC_silentReauthSucceeds_doesNotInvokeCoordinator | 10ms |
| โ | BorrowOperationAuthCoordinatorTests | testCoordinator_SAML_authError_routesThroughCoordinator_skipsLegacyPresentSignInModal | 19ms |
| โ | BorrowOperationAuthCoordinatorTests | testCoordinator_perBookCircuitBreaker_clearAllReleasesAllBookGates | 24ms |
| โ | BorrowOperationAuthCoordinatorTests | testCoordinator_perBookCircuitBreaker_isStillHonored_acrossTwoSeparateAttempts | 12ms |
| โ | BorrowOperationCleverReauthTests | testBorrow_OAuthIntermediary_AuthError_RoutesToBrowserReauthModal | 18ms |
| โ | BorrowOperationCleverReauthTests | testBorrow_OAuthIntermediary_NoActiveLoanProblemDoc_TreatedAsAuthError | 99ms |
| โ | BorrowOperationContractTests | test_borrowAsync_401NoProblemDoc_routesToSignInModal | 20ms |
| โ | BorrowOperationContractTests | test_borrowAsync_alreadyBorrowed_isIdempotent_perSQ007 | 206ms |
| โ | BorrowOperationContractTests | test_borrowAsync_attemptDownloadFalse_onSuccessfulBorrow_doesNotCallStartDownload | 135ms |
| โ | BorrowOperationContractTests | test_borrowAsync_attemptDownloadTrue_onSuccessfulBorrow_callsStartDownload | 14ms |
| โ | BorrowOperationContractTests | test_borrowAsync_authError_triggersRetryViaSilentReauth | 182ms |
| โ | BorrowOperationContractTests | test_borrowAsync_borrowSucceeded_streamingHTML_skipsStartDownload | 190ms |
| โ | BorrowOperationContractTests | test_borrowAsync_fetchTimeout_surfacesRetryableAlert | 74ms |
| โ | BorrowOperationContractTests | test_borrowAsync_holdResponse_doesNotCallStartDownload | 205ms |
| โ | BorrowOperationStreamingHTMLTests | testBorrowOperation_borrowSucceeded_epubBook_callsStartDownloadOnce | 6ms |
| โ | BorrowOperationStreamingHTMLTests | testBorrowOperation_borrowSucceeded_streamingHTMLBook_attemptDownloadFalse_doesNotCallStartDownload | 5ms |
| โ | BorrowOperationStreamingHTMLTests | testBorrowOperation_borrowSucceeded_streamingHTMLBook_doesNotCallStartDownload | 342ms |
| โ | BorrowOperationTests | testBorrowAsync_attemptDownloadTrue_callsDelegateStartDownload | 141ms |
| โ | BorrowOperationTests | testBorrowAsync_genericError_presentsAlertAndRethrows | 21ms |
| โ | BorrowOperationTests | testBorrowAsync_holdingRace_throwsHoldCopyUnavailableAndSetsHolding | 108ms |
| โ | BorrowOperationTests | testBorrowAsync_noAcquisitionURL_throwsInvalidState | 18ms |
| โ | BorrowOperationTests | testBorrowAsync_success_addsBookToRegistryAsDownloadNeeded | 120ms |
| โ | BorrowOperationTests | testBorrow_401NetworkUnauthorizedNoProblemDoc_presentsSignInModal | 710ms |
| โ | BorrowOperationTests | testBorrow_403NetworkForbiddenNoProblemDoc_presentsSignInModal | 61ms |
| โ | BorrowOperationTests | testBorrow_AlreadyHasLoanWithoutCredentials_proceedsAsAuthError | 61ms |
| โ | BorrowOperationTests | testBorrow_NetworkUnknownError_fallsThroughToAlert | 103ms |
| โ | BorrowOperationTests | testBorrow_SAMLBrowserAuth_withCredentials_routesToReauthModalNotAlert | 114ms |
| โ | BorrowOperationTests | testBorrow_SQ007AlreadyHasLoanWithCredentials_doesNotShowAlert | 115ms |
| โ | BorrowOperationTests | testBorrow_StateHolding_isTreatedAsAlreadyHavingLoan | 142ms |
| โ | BorrowOperationTests | testBorrow_StateUnregistered_isNotTreatedAsAlreadyHavingLoan | 34ms |
| โ | BorrowOperationTimeoutTests | testWithTimeout_FastOperation_ReturnsValue | 5ms |
| โ | BorrowOperationTimeoutTests | testWithTimeout_OperationThrowsBeforeDeadline_PropagatesOriginalError | 9ms |
| โ | BorrowOperationTimeoutTests | testWithTimeout_SlowOperation_ThrowsTimeoutError | 106ms |
| โ | BorrowReauthResettingTests | testRealDefaultResetter_acrossSwitch_reenablesReauthForTrippedBook | 230ms |
| โ | BorrowReauthResettingTests | testReassign_BtoB_doesNotInvokeResetter | 106ms |
| โ | BorrowReauthResettingTests | testSwitch_AtoB_invokesResetterExactlyOnce_beforeAsyncNavCleanup | 60ms |
| โ | BorrowReauthResettingTests | testSwitch_AtoNil_invokesResetter | 181ms |
| โ | BorrowReducerContractTests | test_registryStateChanged_transitionContract | 6ms |
| โ | BorrowReducerContractTests | test_userActions_transitionContract | 3ms |
| โ | BorrowReducerCoreContractTests | test_alreadyHasActiveLoan_loanStates_true | <1ms |
| โ | BorrowReducerCoreContractTests | test_alreadyHasActiveLoan_noLoanStates_false | <1ms |
| โ | BorrowReducerCoreContractTests | test_post_downloadNeeded_attemptDownload_firesStartDownload | 30ms |
| โ | BorrowReducerCoreContractTests | test_post_downloadNeeded_noAttemptDownload_skipsStartDownload | 1ms |
| โ | BorrowReducerCoreContractTests | test_post_holding_schedulesHoldSync_noStartDownload | <1ms |
| โ | BorrowReducerCoreContractTests | test_post_raceError_onlyThrows_noAnnounceOrDownload | <1ms |
| โ | BorrowReducerCoreContractTests | test_post_streamingHTML_skipsStartDownload_evenWithAttemptDownload | <1ms |
| โ | BorrowReducerCoreContractTests | test_responseState_borrowReturnedHold_raceError | 9ms |
| โ | BorrowReducerCoreContractTests | test_responseState_deliberatePlaceHold_noError | 1ms |
| โ | BorrowReducerCoreContractTests | test_responseState_unlimited_downloadNeeded_noError | 7ms |
| โ | BorrowReducerCoreContractTests | test_snapshot_downloadNeeded_attemptDownload | 8ms |
| โ | BorrowReducerCoreContractTests | test_snapshot_streamingHTML_skipsStartDownload | 2ms |
| โ | BorrowReducerTests | testBookStateAssigned_toOtherState_doesNotChangeOverride | 11ms |
| โ | BorrowReducerTests | testBookStateAssigned_toReturning_armsTheOverride | <1ms |
| โ | BorrowReducerTests | testBookStateAssigned_toUnregistered_clearsTheOverride | <1ms |
| โ | BorrowReducerTests | testCancelTapped_resetsDownloadProgressAndIsIdempotent | <1ms |
| โ | BorrowReducerTests | testDownloadErrorOccurred_resyncsBookStateAndPurgesAllAcquireSpinners | 1ms |
| โ | BorrowReducerTests | testDownloadProgressUpdated_clampsToMaxSeen_neverSlidesBackward | <1ms |
| โ | BorrowReducerTests | testDownloadStartConfirmed_setsDownloadingAndOpensHalfSheet | <1ms |
| โ | BorrowReducerTests | testManageHoldTapped_setsHoldingStateAndManagingFlag | 1ms |
| โ | BorrowReducerTests | testProcessingButtonInserted_addsTheButton | <1ms |
| โ | BorrowReducerTests | testProcessingButtonRemoved_removesOnlyThatButton_andIsIdempotent | 2ms |
| โ | BorrowReducerTests | testRegistryStateChanged_clearsAcquireFlags_forAllBorrowCompletedStates | <1ms |
| โ | BorrowReducerTests | testRegistryStateChanged_toDownloadFailed_keepsHalfSheetOpenForRetryAlert | 1ms |
| โ | BorrowReducerTests | testRegistryStateChanged_toDownloadNeeded_clearsBorrowProcessingFlags | <1ms |
| โ | BorrowReducerTests | testRegistryStateChanged_toDownloadSuccessful_keepsHalfSheetOpenSoUserCanReadOrListen | <1ms |
| โ | BorrowReducerTests | testRegistryStateChanged_toDownloading_clearsDownloadSpinnersOnly | <1ms |
| โ | BorrowReducerTests | testRegistryStateChanged_toHolding_clearsReserveAndDismissesHalfSheet | <1ms |
| โ | BorrowReducerTests | testRegistryStateChanged_toUnregistered_closesHalfSheetAndClearsReturnSpinners | 42ms |
| โ | BorrowReducerTests | testRegistryStateChanged_whenReturningOverrideArmed_acceptsUnregisteredAsTerminal | <1ms |
| โ | BorrowReducerTests | testRegistryStateChanged_whenReturningOverrideArmed_suppressesNonTerminalState | <1ms |
| โ | BorrowReducerTests | testReturnStartConfirmed_insertsReturningSpinnerOnlyAndPreservesBookState | 20ms |
| โ | BorrowReducerTests | testSignInCancelled_releasesAcquireSpinnersAndPreservesUnrelatedFlags | <1ms |
| โ | BundledRegistrySnapshotTests | testBundleMain_LoadsAValidSnapshotWhenEmbedded | 222ms |
| โ | BundledRegistrySnapshotTests | testLoad_RoundTripsThroughOPDS2CatalogsFeedDecoder | 5ms |
| โ | BundledRegistrySnapshotTests | testLoad_WhenResourceMissing_ReturnsNil | 2ms |
| โ | BundledRegistrySnapshotTests | testLoad_WhenResourcePresent_ReturnsBytes | 2ms |
| โ | BundledRegistrySnapshotTests | testLoad_WhenResourceUnreadable_ReturnsNil | 118ms |
| โ | ButtonStateMonotonicClampTests | testCell_downloadFailedThenReDownload_latchDropped_showsDownloading | 196ms |
| โ | ButtonStateMonotonicClampTests | testCell_downloadingToDownloadNeeded_notClamped_showsDownload | 138ms |
| โ | ButtonStateMonotonicClampTests | testCell_evictionToDownloadNeeded_showsDownload_notStrandedListen | 133ms |
| โ | ButtonStateMonotonicClampTests | testCell_forwardProgressionStillAdvances | 224ms |
| โ | ButtonStateMonotonicClampTests | testCell_listenHoldsAgainstTransientDownloading | 149ms |
| โ | ButtonStateMonotonicClampTests | testCell_returnThenReDownload_latchDropped_showsDownloading | 266ms |
| โ | ButtonStateMonotonicClampTests | testDetail_evictionToDownloadNeeded_showsDownload | 129ms |
| โ | ButtonStateMonotonicClampTests | testDetail_forwardProgressionStillAdvances | 209ms |
| โ | ButtonStateMonotonicClampTests | testDetail_listenHoldsAgainstTransientDownloading | 201ms |
| โ | ButtonStateMonotonicClampTests | testDetail_returnThenReDownload_latchDropped_showsDownloading | 210ms |
| โ | ButtonStateTests | testCanBorrow_audiobookButtonsRespectPreviewToggle | 69ms |
| โ | ButtonStateTests | testCanBorrow_epubButtonsRespectPreviewToggle | 398ms |
| โ | ButtonStateTests | testCanHold_audiobookButtonsRespectPreviewToggle | 6ms |
| โ | ButtonStateTests | testCanHold_epubButtonsRespectPreviewToggle | 4ms |
| โ | ButtonStateTests | testDownloadFailed_yieldsCancelAndRetry | 1.17s |
| โ | ButtonStateTests | testDownloadInProgress_yieldsOnlyCancelButton | 6ms |
| โ | ButtonStateTests | testDownloadNeededAudiobook | 8ms |
| โ | ButtonStateTests | testDownloadNeededEpub | 8ms |
| โ | ButtonStateTests | testDownloadSuccessfulAudiobook | 146ms |
| โ | ButtonStateTests | testDownloadSuccessfulEpub | 7ms |
| โ | ButtonStateTests | testDownloadSuccessfulPDF | 351ms |
| โ | ButtonStateTests | testHoldingFrontOfQueue_withoutHoldReady_returnsManageHoldOnly | 7ms |
| โ | ButtonStateTests | testHolding_audiobookButtonsRespectPreviewToggle | 6ms |
| โ | ButtonStateTests | testHolding_epubButtonsRespectPreviewToggle | 7ms |
| โ | ButtonStateTests | testUnsupported_yieldsEmptyButtonSetAndNoLeakageFromOtherStates | 8ms |
| โ | ButtonStateTests | testUsedEpub | 499ms |
| โ | ButtonStyleTypeTests | testAllCases | 3ms |
| โ | ButtonStyleTypeTests | testEquality | <1ms |
| โ | ButtonTapDebounceTests | testExactWindowBoundaryIsAccepted | <1ms |
| โ | ButtonTapDebounceTests | testFirstPressIsAlwaysAccepted | <1ms |
| โ | ButtonTapDebounceTests | testFiveTapBurstDeliversExactlyOnePress | 47ms |
| โ | ButtonTapDebounceTests | testPressAfterTheWindowIsAccepted | <1ms |
| โ | ButtonTapDebounceTests | testRepeatPressInsideTheWindowIsSwallowed | <1ms |
| โ | ButtonTapDebounceTests | testWindowIsWithinAUsableRange | <1ms |
| โ | ButtonTapDebounceTests | testWindowResetsFromTheDeliveredPressNotTheSuppressedOnes | 13ms |
| โ | C64ConversionTests | testC64ConverionWithAccentedString | <1ms |
| โ | C64ConversionTests | testC64ConverionWithEmptyString | <1ms |
| โ | C64ConversionTests | testC64ConverionWithNilString | <1ms |
| โ | C64ConversionTests | testC64ConverionWithRegularString | 226ms |
| โ | C64ConversionTests | testC64ConverionWithSpecialCharacters | 2ms |
| โ | C64ConversionTests | testC64ConverionWithUnicodeCharecters | 2ms |
| โ | CarPlayAudiobookBridgePresenterMigrationTests | testCarPlayBridge_dismissBookOnPhone_callsPresenterMinimize | 111ms |
| โ | CarPlayAudiobookBridgePresenterMigrationTests | testCarPlayBridge_dismissBookOnPhone_doesNotKillSession | 9ms |
| โ | CarPlayAuthHelperReadinessTests | testIntegration_underDetailsFailed_returnsFalse | 572ms |
| โ | CarPlayAuthHelperReadinessTests | testReadiness_underDetailsFailed_gateThrows | 47ms |
| โ | CarPlayAuthHelperReadinessTests | testReadiness_underDetailsLoading_gateBlocksUntilTransition | 265ms |
| โ | CarPlayChapterListTests | testCarPlayBridge_NoChaptersAvailable_ReturnsNil | 349ms |
| โ | CarPlayChapterListTests | testCarPlayBridge_NoPlayback_CurrentChapterIsNil | 188ms |
| โ | CarPlayChapterListTests | testCarPlayBridge_SkipToChapter_WithoutPlayback_DoesNotCrash | 8ms |
| โ | CarPlayIntegrationTests | testCarPlayTemplateIntegration_BookSelectionHandling | 53ms |
| โ | CarPlayIntegrationTests | testCarPlay_ImageProvider_CachesBehavior | 15ms |
| โ | CarPlayLibraryRefreshTests | testCarPlay_BookRegistry_IsAccessible | 10ms |
| โ | CarPlayLibraryRefreshTests | testCarPlay_DownloadedAudiobooks_CanBeFiltered | <1ms |
| โ | CarPlayLibraryRefreshTests | testCarPlay_LibraryName_CanBeUpdated | 4ms |
| โ | CarPlayNowPlayingTemplateTests | testCarPlayBridge_DoesNotConfigureNowPlayingOnInit | 4ms |
| โ | CarPlayNowPlayingTemplateTests | testCarPlayBridge_HasPlaybackStatePublisher | 506ms |
| โ | CarPlayNowPlayingTemplateTests | testCarPlayBridge_NowPlayingConfigurationIsIdempotent | <1ms |
| โ | CarPlayNowPlayingTemplateTests | testCarPlayImageProvider_InitializesIndependently | 7ms |
| โ | CarPlayOpenAppAlertTests | testCarPlay_OpenAppMessage_MentionsPalace | 18ms |
| โ | CarPlayOpenAppAlertTests | testCarPlay_OpenAppMessage_MentionsPhone | 40ms |
| โ | CarPlayOpenAppAlertTests | testCarPlay_OpenAppStrings_AreConfigured | 21ms |
| โ | CarPlayOpenAppAlertTests | testShouldShowOpenAppAlert_whenMainSceneConnected_isFalse | 70ms |
| โ | CarPlayOpenAppAlertTests | testShouldShowOpenAppAlert_whenMainSceneNotConnected_isTrue | 13ms |
| โ | CarPlayOpenAppAlertTests | testStatebleed_resetForTesting_rebuildsFreshAudiobookStatics | 16ms |
| โ | CarPlayPlaybackErrorTests | testAudiobookSessionError_MapsToCarPlayAlert | <1ms |
| โ | CarPlayPlaybackErrorTests | testBridge_currentBook_nilWhenNoSession | 78ms |
| โ | CarPlayPlaybackErrorTests | testBridge_isPlaying_reflectsSessionManager | 62ms |
| โ | CarPlayPlaybackErrorTests | testCarPlay_ErrorStrings_AuthRequired | <1ms |
| โ | CarPlayPlaybackErrorTests | testCarPlay_ErrorStrings_NotDownloaded | <1ms |
| โ | CarPlayPlaybackErrorTests | testCarPlay_ErrorStrings_Offline | <1ms |
| โ | CarPlayPlaybackErrorTests | testCarPlay_ErrorStrings_PlaybackFailed | 334ms |
| โ | CarPlayPlaybackErrorTests | testNowPlayingInfo_isAccessible | 4ms |
| โ | CarPlayTests | testAudiobookSessionManager_Initialization | 3ms |
| โ | CarPlayTests | testCarPlayBridge_Initialization | 6ms |
| โ | CarPlayTests | testCarPlayImageProvider_GeneratesPlaceholder | 8ms |
| โ | CarPlayTests | testCarPlay_BookDownloadedState | 3ms |
| โ | CarPlayTests | testCarPlay_ChapterListFormatting | <1ms |
| โ | CarPlayTests | testCarPlay_ChapterNumber_Formatting | 20ms |
| โ | CarPlayTests | testCarPlay_ErrorStrings_NotEmpty | 1ms |
| โ | CarPlayTests | testCarPlay_FiltersOnlyAudiobooks | 4ms |
| โ | CarPlayTests | testCarPlay_NoEbooksInLibrary | 23ms |
| โ | CarPlayTests | testCarPlay_ShortDurationFormatting | <1ms |
| โ | CarPlayTests | testCarPlay_UIStrings_NotEmpty | 1ms |
| โ | CarPlayTests | testCarPlay_ZeroDurationFormatting | <1ms |
| โ | CarPlayTimeTrackingTests | testCarPlayChapterSkip_properlyTracksTime | 55ms |
| โ | CarPlayTimeTrackingTests | testCarPlayDisconnect_trackerContinuesIndependently | 47ms |
| โ | CarPlayTimeTrackingTests | testCarPlayPlayback_usesStandardTrackerDelegateMethods | 111ms |
| โ | CatalogAPIDedupeTests | testFetchFeed_ConcurrentCallersForDifferentURLs_DoNotDedupe | 263ms |
| โ | CatalogAPIDedupeTests | testFetchFeed_ConcurrentCallersForSameURL_ShareOneNetworkRequest | 116ms |
| โ | CatalogAPIDedupeTests | testFetchFeed_SequentialCallsAfterCompletion_FireFreshRequests | 224ms |
| โ | CatalogAPIEntryPointTests | testExtractSearchEntryPointsFromEmptyFeed | 6ms |
| โ | CatalogAccessibilityTests | testCollapseSectionLabel_isDescriptive | <1ms |
| โ | CatalogAccessibilityTests | testExpandCollapseLabel_roundTripsOnRepeatedFlips | <1ms |
| โ | CatalogAccessibilityTests | testExpandCollapseLabels_areDifferent | 1ms |
| โ | CatalogAccessibilityTests | testExpandSectionLabel_isDescriptive | <1ms |
| โ | CatalogAccessibilityTests | testMoreBooksInLaneLabel_includesLaneTitle | 2ms |
| โ | CatalogAccessibilityTests | testMoreBooksLabel_differsForDifferentLanes | 2ms |
| โ | CatalogAccessibilityTests | testMoreBooksLabel_indicatesNavigation | <1ms |
| โ | CatalogAccessibilityTests | testSwitchLibraryLabel_isDescriptive | <1ms |
| โ | CatalogCacheKeyAndIsolationTests | testCacheKey_SameAccount_RepeatedReads_ShareOneCacheEntry | 45ms |
| โ | CatalogCacheKeyAndIsolationTests | testCacheKey_SamePathDifferentQueryStrings_AreDistinctEntries | 8ms |
| โ | CatalogCacheKeyAndIsolationTests | testCacheKey_SameURL_DistinctAccounts_AreDistinctEntries | 8ms |
| โ | CatalogCacheKeyAndIsolationTests | testCacheKey_SchemeCasing_RetainedAsURLSpec | 9ms |
| โ | CatalogCacheKeyAndIsolationTests | testCacheKey_TrailingSlashDifference_AreDistinctEntries | 12ms |
| โ | CatalogCacheKeyAndIsolationTests | testConcurrentStaleReads_AcrossDistinctURLs_EachURLGetsItsOwnRefresh | 72ms |
| โ | CatalogCacheKeyAndIsolationTests | testConcurrentStaleReads_BackgroundRefreshDoesNotPoisonNeighborKey | 94ms |
| โ | CatalogCacheKeyAndIsolationTests | testInMemoryCache_AfterSystemMemoryWarning_IsClearedAndNextReadHitsNetwork | 18ms |
| โ | CatalogCacheKeyAndIsolationTests | testInvalidateCache_DoesNotClearUnrelatedURLs | 31ms |
| โ | CatalogCacheKeyAndIsolationTests | testInvalidateCache_IsScopedToCurrentAccount | 18ms |
| โ | CatalogCacheKeyAndIsolationTests | testMemoryWarning_ClearsBothInMemoryAndFormatEntriesCache | 18ms |
| โ | CatalogCacheKeyAndIsolationTests | testSignOutContract_InvalidateAllCachedURLs_NextReadsHitNetwork | 10ms |
| โ | CatalogCacheMetadataExactBoundaryTests | testIsExpired_AtExactlyMaxAge_IsNotExpired | 649ms |
| โ | CatalogCacheMetadataExactBoundaryTests | testIsStale_AtExactlyDefaultStaleTTL_IsFresh | 4ms |
| โ | CatalogCacheMetadataExactBoundaryTests | testStaleTTL_ExtremelyLargeServerMaxAge_IsClampedToCeiling | <1ms |
| โ | CatalogCacheMetadataExactBoundaryTests | testStaleTTL_ServerMaxAgeJustBelowFloor_IsClampedToFiveMinutes | 93ms |
| โ | CatalogCacheMetadataTests | testCacheLifecycle_FreshThenStaleThenExpired | <1ms |
| โ | CatalogCacheMetadataTests | testDecode_LegacyMetadataWithoutIsBundledField_DefaultsToFalse | <1ms |
| โ | CatalogCacheMetadataTests | testEncodeDecode_PreservesAllProperties | <1ms |
| โ | CatalogCacheMetadataTests | testEncodeDecode_PreservesIsBundledFalse_Explicitly | 4ms |
| โ | CatalogCacheMetadataTests | testEncodeDecode_PreservesIsBundledTrue | <1ms |
| โ | CatalogCacheMetadataTests | testInvariant_ExpiredImpliesStale | <1ms |
| โ | CatalogCacheMetadataTests | testIsBundled_DefaultsFalse_ForBackCompat | <1ms |
| โ | CatalogCacheMetadataTests | testIsBundled_False_PreservesExistingStalenessBehavior | <1ms |
| โ | CatalogCacheMetadataTests | testIsBundled_True_ForcesStaleness_AcrossAllServerMaxAges | 10ms |
| โ | CatalogCacheMetadataTests | testIsBundled_True_ForcesStaleness_RegardlessOfFreshTimestamp | <1ms |
| โ | CatalogCacheMetadataTests | testIsExpired_EpochTimestamp_IsAlwaysStaleAndExpired | <1ms |
| โ | CatalogCacheMetadataTests | testIsExpired_TransitionsAtTwentyFourHourBoundary | <1ms |
| โ | CatalogCacheMetadataTests | testIsStale_DeepInsideTTL_RemainsFresh | <1ms |
| โ | CatalogCacheMetadataTests | testIsStale_FreshCache_StaysFreshAcrossSubSecondJitter | 18ms |
| โ | CatalogCacheMetadataTests | testIsStale_FutureTimestamp_TreatsAsFresh | 13ms |
| โ | CatalogCacheMetadataTests | testIsStale_TransitionsAtSixHourBoundary | <1ms |
| โ | CatalogCacheMetadataTests | testIsStale_WithServerMaxAge_RespectsOverride | 3ms |
| โ | CatalogCacheMetadataTests | testStaleTTL_ClampsAboveTwelveHoursDownToCeiling | <1ms |
| โ | CatalogCacheMetadataTests | testStaleTTL_ClampsBelowFiveMinutesUpToFloor | <1ms |
| โ | CatalogCacheMetadataTests | testStaleTTL_HalvesServerMaxAgeInMidRange | 3ms |
| โ | CatalogCacheMetadataTests | testStaleTTL_NilOrNegativeServerMaxAge_UsesDefault | 73ms |
| โ | CatalogCrawlSchedulerTests | test_cancelAll_cancelsEveryLiveTask | 11ms |
| โ | CatalogCrawlSchedulerTests | test_completeBeforeRegister_tombstoneSkipsInsert | 1.75s |
| โ | CatalogCrawlSchedulerTests | test_completeOfLiveToken_leavesNoTombstoneForReuse | 2ms |
| โ | CatalogCrawlSchedulerTests | test_independentTokens_pruneIndependently | 1.13s |
| โ | CatalogCrawlSchedulerTests | test_productionSpawnDetached_runsOperation | 12ms |
| โ | CatalogCrawlSchedulerTests | test_productionSpawn_runsOperation | 32ms |
| โ | CatalogCrawlSchedulerTests | test_recordingScheduler_capturesPriorityAndArm | 539ms |
| โ | CatalogCrawlSchedulerTests | test_registerThenComplete_prunesTokenToZero | 2ms |
| โ | CatalogCrawlSchedulerTests | test_snapshot_returnsRegisteredHandles | 2ms |
| โ | CatalogFeedModelTests | testCatalogEntryFromOPDS1Entry | 8ms |
| โ | CatalogFeedModelTests | testCatalogFeedFromNilFeedReturnsNil | 1ms |
| โ | CatalogFeedModelTests | testCatalogFeedFromOPDS1 | 5ms |
| โ | CatalogFeedModelTests | testSearchFormatEntryEquality | 65ms |
| โ | CatalogFilterGroupModelTests | testEdgeCase_EmptyGroupName | <1ms |
| โ | CatalogFilterGroupModelTests | testEdgeCase_SpecialCharactersInName | 16ms |
| โ | CatalogFilterGroupModelTests | testEquality_DifferentFiltersMakesGroupsUnequal | <1ms |
| โ | CatalogFilterGroupModelTests | testEquality_DifferentIdsMakesGroupsUnequal | <1ms |
| โ | CatalogFilterGroupModelTests | testEquality_DifferentNamesMakesGroupsUnequal | 12ms |
| โ | CatalogFilterGroupModelTests | testEquality_IdenticalGroupsAreEqual | <1ms |
| โ | CatalogFilterGroupModelTests | testFilters_FilterByHrefPresence | <1ms |
| โ | CatalogFilterGroupModelTests | testFilters_FindActiveFilter | 4ms |
| โ | CatalogFilterGroupModelTests | testFilters_MultipleActiveFilters | <1ms |
| โ | CatalogFilterGroupModelTests | testFilters_NoActiveFilter | <1ms |
| โ | CatalogFilterGroupModelTests | testHashable_EqualGroupsHaveSameHash | <1ms |
| โ | CatalogFilterGroupModelTests | testHashable_GroupsCanBeUsedInSet | 1ms |
| โ | CatalogFilterGroupModelTests | testIdentifiable_UsesIdProperty | 4ms |
| โ | CatalogFilterGroupModelTests | testInit_StoresAllProperties | <1ms |
| โ | CatalogFilterGroupModelTests | testInit_WithEmptyFilters | 2ms |
| โ | CatalogFilterGroupModelTests | testInit_WithManyFilters | <1ms |
| โ | CatalogFilterGroupModelTests | testInit_WithSingleFilter | 37ms |
| โ | CatalogFilterModelTests | testEdgeCase_ComplexURL | <1ms |
| โ | CatalogFilterModelTests | testEdgeCase_EmptyStringId | 2ms |
| โ | CatalogFilterModelTests | testEdgeCase_EmptyStringTitle | <1ms |
| โ | CatalogFilterModelTests | testEdgeCase_SpecialCharactersInTitle | <1ms |
| โ | CatalogFilterModelTests | testEdgeCase_UnicodeInTitle | 41ms |
| โ | CatalogFilterModelTests | testEquality_DifferentActiveStateMakesFiltersUnequal | <1ms |
| โ | CatalogFilterModelTests | testEquality_DifferentHrefMakesFiltersUnequal | <1ms |
| โ | CatalogFilterModelTests | testEquality_DifferentIdsMakesFiltersUnequal | 1ms |
| โ | CatalogFilterModelTests | testEquality_DifferentTitlesMakesFiltersUnequal | <1ms |
| โ | CatalogFilterModelTests | testEquality_IdenticalFiltersAreEqual | 1ms |
| โ | CatalogFilterModelTests | testEquality_NilAndNonNilHrefMakesFiltersUnequal | 43ms |
| โ | CatalogFilterModelTests | testHashable_DifferentFiltersCanBeUsedInSet | <1ms |
| โ | CatalogFilterModelTests | testHashable_EqualFiltersHaveSameHash | 2ms |
| โ | CatalogFilterModelTests | testIdentifiable_UsesIdProperty | <1ms |
| โ | CatalogFilterModelTests | testInit_StoresAllProperties | <1ms |
| โ | CatalogFilterModelTests | testInit_WithInactiveState | <1ms |
| โ | CatalogFilterModelTests | testInit_WithNilHref | <1ms |
| โ | CatalogFilterServiceTests | testActiveFacetHrefs_excludesDefaultsWhenFlagFalse | 1ms |
| โ | CatalogFilterServiceTests | testActiveFacetHrefs_returnsActiveURLs | <1ms |
| โ | CatalogFilterServiceTests | testActiveFiltersCount_emptySet_returnsZero | <1ms |
| โ | CatalogFilterServiceTests | testActiveFiltersCount_excludesDefaults | <1ms |
| โ | CatalogFilterServiceTests | testCategorizeFacetURL_categorisesCorrectly | 1ms |
| โ | CatalogFilterServiceTests | testFindFacetGroupName_matchesURL | 15ms |
| โ | CatalogFilterServiceTests | testFindFacetGroupName_returnsNilForUnknownURL | <1ms |
| โ | CatalogFilterServiceTests | testFindFilterInCurrentFacets_caseInsensitiveMatch | <1ms |
| โ | CatalogFilterServiceTests | testFindFilterInCurrentFacets_returnsNilWhenNotFound | <1ms |
| โ | CatalogFilterServiceTests | testGroupPriority_caseInsensitive | <1ms |
| โ | CatalogFilterServiceTests | testGroupPriority_collectionIsHighest | <1ms |
| โ | CatalogFilterServiceTests | testGroupPriority_distributorBeforeFormat | 1ms |
| โ | CatalogFilterServiceTests | testGroupPriority_unknownGroupReturnsFallback | <1ms |
| โ | CatalogFilterServiceTests | testKeysForCurrentFacets_excludesSortGroups | 8ms |
| โ | CatalogFilterServiceTests | testKeysForCurrentFacets_mapsGroupTitleKeysToFullKeys | 1ms |
| โ | CatalogFilterServiceTests | testMakeGroupTitleKey_omitsHref | 37ms |
| โ | CatalogFilterServiceTests | testMakeKey_producesCanonicalFormat | <1ms |
| โ | CatalogFilterServiceTests | testNormalizeTitle_trimsAndLowercases | 37ms |
| โ | CatalogFilterServiceTests | testParseKey_handlesEmptyComponents | 3ms |
| โ | CatalogFilterServiceTests | testParseKey_returnsNilForInvalidKey | <1ms |
| โ | CatalogFilterServiceTests | testParseKey_roundTrips | <1ms |
| โ | CatalogFilterServiceTests | testParsedKey_isDefaultTitle_detectsAllVariants | 12ms |
| โ | CatalogFilterServiceTests | testParsedKey_isDefaultTitle_rejectsNonDefaults | 35ms |
| โ | CatalogFilterServiceTests | testPrioritizeSelectedFilters_ordersCollectionBeforeFormat | 46ms |
| โ | CatalogFilterServiceTests | testReconstructSelections_matchesByGroupAndTitle | <1ms |
| โ | CatalogFilterServiceTests | testReconstructSelections_skipsInvalidKeys | <1ms |
| โ | CatalogFilterServiceTests | testSelectionKeys_excludesDefaultsWhenFlagFalse | 2ms |
| โ | CatalogFilterServiceTests | testSelectionKeys_excludesSortGroups | 11ms |
| โ | CatalogFilterServiceTests | testSelectionKeys_includesDefaultsWhenFlagTrue | <1ms |
| โ | CatalogFilterTests | testCatalogFilter_StoresValues | 1ms |
| โ | CatalogLaneAssemblyTests | testDistinctIDs_sameTitle_areNotDeduped | 3ms |
| โ | CatalogLaneAssemblyTests | testFlatPublications_duplicateIDs_areDeduped | 99ms |
| โ | CatalogLaneAssemblyTests | testNoGroupsOrPublications_emptyEntries | <1ms |
| โ | CatalogLaneAssemblyTests | testOrdering_groupOrderPreservedAcrossDedupe | <1ms |
| โ | CatalogLaneAssemblyTests | testPublicationInEveryGroup_resultsInNEntriesNotNPlusOne | 1ms |
| โ | CatalogLaneAssemblyTests | testPublicationInMultipleGroups_dedupedByID_firstOccurrenceWins | 1ms |
| โ | CatalogLaneAssemblyTests | testSingleGroup_unchangedFromFlatten | 1ms |
| โ | CatalogLaneFilterApplicationTests | testApplyFilters_WhenAGroupIsAbsentFromTheFeed_OnlyReportsFiltersThatWereApplied | 303ms |
| โ | CatalogLaneFilterApplicationTests | testApplyFilters_WhenEachGroupIsReachable_ChainsRequestsAndReportsBoth | 17ms |
| โ | CatalogLaneFilterApplicationTests | testApplyFilters_WhenNoSelectedGroupIsInTheFeed_ReportsNoAppliedFilters | 66ms |
| โ | CatalogLaneFilterApplicationTests | testApplyFilters_WhenSelectionIsCleared_ResetsAppliedState | 34ms |
| โ | CatalogLaneModelStructTests | testBooks_EmptyCollection | <1ms |
| โ | CatalogLaneModelStructTests | testBooks_LargeCollection | 140ms |
| โ | CatalogLaneModelStructTests | testBooks_MixedContentTypes | 7ms |
| โ | CatalogLaneModelStructTests | testBooks_MultipleBooks | 8ms |
| โ | CatalogLaneModelStructTests | testBooks_OrderPreserved | 9ms |
| โ | CatalogLaneModelStructTests | testBooks_SingleBook | 6ms |
| โ | CatalogLaneModelStructTests | testEdgeCase_ComplexMoreURL | 49ms |
| โ | CatalogLaneModelStructTests | testEdgeCase_EmptyTitle | 407ms |
| โ | CatalogLaneModelStructTests | testEdgeCase_LongTitle | <1ms |
| โ | CatalogLaneModelStructTests | testEdgeCase_SpecialCharactersInTitle | 1ms |
| โ | CatalogLaneModelStructTests | testEdgeCase_UnicodeInTitle | 2ms |
| โ | CatalogLaneModelStructTests | testIdentity_DifferentMoreURL_ProducesDifferentID | 2ms |
| โ | CatalogLaneModelStructTests | testIdentity_DifferentTitle_ProducesDifferentID | 58ms |
| โ | CatalogLaneModelStructTests | testIdentity_NilMoreURL_IsStableAndDistinctFromNonNil | 2ms |
| โ | CatalogLaneModelStructTests | testIdentity_SameTitleAndURL_ProducesEqualID | 84ms |
| โ | CatalogLaneModelStructTests | testInit_StoresAllProperties | 4ms |
| โ | CatalogLaneModelStructTests | testInit_WithDefaultIsLoading | <1ms |
| โ | CatalogLaneModelStructTests | testInit_WithLoadingState | 201ms |
| โ | CatalogLaneModelStructTests | testInit_WithNilMoreURL | 2ms |
| โ | CatalogLaneModelStructTests | testSnapshotBooks_WithDeterministicData | 6ms |
| โ | CatalogLaneModelTests | testId_differsWhenMoreURLDiffers | 2ms |
| โ | CatalogLaneModelTests | testId_differsWhenTitleDiffers | <1ms |
| โ | CatalogLaneModelTests | testId_isStableAcrossReMapsOfSameLane | 335ms |
| โ | CatalogLaneMoreFilterStateTests | testActiveSortTitle_WithMultipleActive_ReturnsFirst | 29ms |
| โ | CatalogLaneMoreFilterStateTests | testOpeningFilterSheet_PopulatesPendingFromApplied | 5ms |
| โ | CatalogLaneMoreFilterStateTests | testOpeningFilterSheet_WithNoApplied_ClearsPending | 9ms |
| โ | CatalogLaneMoreFilterStateTests | testRestoreFilterState_RestoresAppliedSelections | 3ms |
| โ | CatalogLaneMoreFilterStateTests | testRestoreFilterState_RestoresFacetGroups | 214ms |
| โ | CatalogLaneMoreFilterStateTests | testRestoreFilterState_WithEmptyState_ClearsAll | 512ms |
| โ | CatalogLaneMoreFilterStateTests | testSortFacets_CaseInsensitiveGroupMatch | 4ms |
| โ | CatalogLaneMoreFilterStateTests | testURL_MatchesInitializer | 3ms |
| โ | CatalogLaneMoreViewModelTests | testActiveFiltersCount_AfterClearingSelections | 2ms |
| โ | CatalogLaneMoreViewModelTests | testActiveFiltersCount_FiltersOutAllDefaults | 9ms |
| โ | CatalogLaneMoreViewModelTests | testActiveFiltersCount_WhenEmpty | 2ms |
| โ | CatalogLaneMoreViewModelTests | testActiveFiltersCount_WithAppliedSelections | 64ms |
| โ | CatalogLaneMoreViewModelTests | testActiveSortTitle_WhenActiveFacetExists_ReturnsTitle | 97ms |
| โ | CatalogLaneMoreViewModelTests | testActiveSortTitle_WhenNoActiveFacet_FallsBackToFirstFilterTitle | 36ms |
| โ | CatalogLaneMoreViewModelTests | testActiveSortTitle_WhenSortGroupEmpty_ReturnsNil | 2ms |
| โ | CatalogLaneMoreViewModelTests | testAllBooks_CombinesMultipleLanes | 6ms |
| โ | CatalogLaneMoreViewModelTests | testAllBooks_EmptyWhenNoData | 3ms |
| โ | CatalogLaneMoreViewModelTests | testAllBooks_WhenLanesEmpty_ReturnsUngroupedBooks | 54ms |
| โ | CatalogLaneMoreViewModelTests | testAllBooks_WhenLanesHaveBooks_ReturnsLaneBooks | 277ms |
| โ | CatalogLaneMoreViewModelTests | testAppliedSelectionsUpdate | 6ms |
| โ | CatalogLaneMoreViewModelTests | testApplyRegistryUpdates_OnlyTargetsChangedIdentifier_WhenProvided | 4ms |
| โ | CatalogLaneMoreViewModelTests | testApplyRegistryUpdates_PreservesIdentifierSequenceAfterBorrow | 5ms |
| โ | CatalogLaneMoreViewModelTests | testDisplayedSortFacets_WhenNoneActive_MarksFirstAsDefault | 3ms |
| โ | CatalogLaneMoreViewModelTests | testDisplayedSortFacets_WhenOneActive_Unchanged | 2ms |
| โ | CatalogLaneMoreViewModelTests | testDisplayedSortFacets_WhenPendingIDUnknown_FallsBackNormally | 35ms |
| โ | CatalogLaneMoreViewModelTests | testDisplayedSortFacets_WhenPendingSet_HighlightsOnlyPendingFacet | 2ms |
| โ | CatalogLaneMoreViewModelTests | testErrorPublishes | 2ms |
| โ | CatalogLaneMoreViewModelTests | testError_CanBeCleared | 2ms |
| โ | CatalogLaneMoreViewModelTests | testError_CanBeSet | 2ms |
| โ | CatalogLaneMoreViewModelTests | testFacetGroups_MultipleGroups | 2ms |
| โ | CatalogLaneMoreViewModelTests | testFilterStateInitialValues | 60ms |
| โ | CatalogLaneMoreViewModelTests | testInitialState | 2ms |
| โ | CatalogLaneMoreViewModelTests | testIsApplyingFiltersInitiallyFalse | 225ms |
| โ | CatalogLaneMoreViewModelTests | testIsLoadingMoreInitiallyFalse | 28ms |
| โ | CatalogLaneMoreViewModelTests | testIsLoadingPublishes | 3ms |
| โ | CatalogLaneMoreViewModelTests | testLanesPublishes | 2ms |
| โ | CatalogLaneMoreViewModelTests | testPagination_ClearedWhenNil | 14ms |
| โ | CatalogLaneMoreViewModelTests | testPagination_NextPageURLCanBeSet | 96ms |
| โ | CatalogLaneMoreViewModelTests | testPendingSelectionsUpdate | 5ms |
| โ | CatalogLaneMoreViewModelTests | testProcessOPDS2GroupedFeed_UsesFeedURLForActiveDetection | 2ms |
| โ | CatalogLaneMoreViewModelTests | testProcessOPDS2GroupedFeed_singleTitleLane_isNotLoading_soCoverRenders | 51ms |
| โ | CatalogLaneMoreViewModelTests | testProcessOPDS2PublicationFeed_UsesFeedURLForActiveDetection | 96ms |
| โ | CatalogLaneMoreViewModelTests | testShouldShowPagination_WhenNextPageURLExists | 417ms |
| โ | CatalogLaneMoreViewModelTests | testShowSearchToggle | 2ms |
| โ | CatalogLaneMoreViewModelTests | testShowingFiltersSheetToggle | 2ms |
| โ | CatalogLaneMoreViewModelTests | testShowingSortSheetToggle | 2ms |
| โ | CatalogLaneMoreViewModelTests | testSortFacets_WhenNoSortGroup_ReturnsEmpty | 12ms |
| โ | CatalogLaneMoreViewModelTests | testSortFacets_WhenSortGroupExists_ReturnsFacets | 41ms |
| โ | CatalogLaneMoreViewModelTests | testTitle_Empty | 2ms |
| โ | CatalogLaneMoreViewModelTests | testTitle_WithSpecialCharacters | 4ms |
| โ | CatalogLaneMoreViewModelTests | testUIStateInitialValues | 1ms |
| โ | CatalogLaneRowViewAccessibilityTests | testAccessibilityLabel_audiobookFormat | 2ms |
| โ | CatalogLaneRowViewAccessibilityTests | testAccessibilityLabel_audiobookIncludesAudiobookDesignation | 2ms |
| โ | CatalogLaneRowViewAccessibilityTests | testAccessibilityLabel_audiobook_authorOnly | 6ms |
| โ | CatalogLaneRowViewAccessibilityTests | testAccessibilityLabel_bookWithoutAuthor | 28ms |
| โ | CatalogLaneRowViewAccessibilityTests | testAccessibilityLabel_doesNotIncludeSummaryOrBlurbs | 2ms |
| โ | CatalogLaneRowViewAccessibilityTests | testAccessibilityLabel_ebookDoesNotIncludeAudiobookDesignation | 2ms |
| โ | CatalogLaneRowViewAccessibilityTests | testAccessibilityLabel_ebook_noAuthor_titleOnly | 7ms |
| โ | CatalogLaneRowViewAccessibilityTests | testAccessibilityLabel_ebook_titleByAuthor | 2ms |
| โ | CatalogLaneRowViewAccessibilityTests | testAccessibilityLabel_includesTitleAndAuthor | 2ms |
| โ | CatalogLaneRowViewAccessibilityTests | testAccessibilityLabel_usesCommaSeparatedFormat | 2ms |
| โ | CatalogLaneRowViewAccessibilityTests | testSwimlaneTitle_sourceDeclaresHeaderAccessibilityTrait | 2ms |
| โ | CatalogLaneSortingTests | testExtractFacets_ActiveSortFacet_IsMarkedActive | 3ms |
| โ | CatalogLaneSortingTests | testExtractFacets_GroupedFeedWithSortFacets_ExtractsSortGroup | 8ms |
| โ | CatalogLaneSortingTests | testLaneMoreViewModel_ActiveSortTitle_ReturnsActiveFacetTitle | 85ms |
| โ | CatalogLaneSortingTests | testLaneMoreViewModel_GroupedFeedWithSortFacets_ExposesSortFacets | 7ms |
| โ | CatalogLaneSortingTests | testMapFeed_opds1GroupedSingleTitleLane_isNotLoading_soCoverRenders | 3ms |
| โ | CatalogLoadIntegrationTests | testAuthenticationRequired_ReturnsUnauthorizedError | 8ms |
| โ | CatalogLoadIntegrationTests | testCacheInvalidation_TriggersFreshFetch | 57ms |
| โ | CatalogLoadIntegrationTests | testFetchFeed_DelegatesToLoadTopLevelCatalog | 3ms |
| โ | CatalogLoadIntegrationTests | testFreshLoad_FetchesFromNetwork | 22ms |
| โ | CatalogLoadIntegrationTests | testNetworkFailure_PropagatesError | 5ms |
| โ | CatalogLoadIntegrationTests | testOPDSFeedXML_IsGeneratedCorrectly | 206ms |
| โ | CatalogOPDS2NegotiationTests | testFetchFeed_OPDS1AtomBodyTaggedWithOPDS2ContentType_StillFallsBackToOPDS1 | 24ms |
| โ | CatalogOPDS2NegotiationTests | testFetchFeed_OPDS2JSONBodyTaggedWithOPDS1ContentType_StillParsesAsOPDS2 | 26ms |
| โ | CatalogOPDS2NegotiationTests | testFetchFeed_OPDS2RequestedButServerReturnsMalformedJSON_ThrowsInvalidJSON | 267ms |
| โ | CatalogOPDS2NegotiationTests | testFetchFeed_OPDS2RequestedButServerReturnsOPDS1Atom_FallsBackToOPDS1 | 1.16s |
| โ | CatalogOPDS2NegotiationTests | testFetchFeed_ServerReturnsOPDS2JSON_ParsesAsOPDS2Feed | 651ms |
| โ | CatalogOPDS2NegotiationTests | testOPDSFormatDetect_ByFirstByte_JSON_RoutesToOPDS2 | 379ms |
| โ | CatalogOPDS2NegotiationTests | testOPDSFormatDetect_ByFirstByte_XML_RoutesToOPDS1 | 332ms |
| โ | CatalogOPDS2NegotiationTests | testOPDSFormatDetect_NonJSONNonXMLFirstByte_RoutesToUnknown | 3ms |
| โ | CatalogOPDS2NegotiationTests | testRepositoryCache_AfterOPDS1FallbackNegotiation_PreservesIsOPDS2False | 119ms |
| โ | CatalogOPDS2NegotiationTests | testRepositoryCache_AfterOPDS2Negotiation_PreservesIsOPDS2Flag | 239ms |
| โ | CatalogOPDS2NegotiationTests | testRequestAcceptHeader_WhenOPDS2Disabled_DoesNotAdvertiseOPDS2 | 24ms |
| โ | CatalogOPDS2NegotiationTests | testRequestAcceptHeader_WhenOPDS2Enabled_PrefersJSONOverAtom | 2.81s |
| โ | CatalogPreloaderTests | testPreloader_ContinuesOnFailure | 5ms |
| โ | CatalogPreloaderTests | testPreloader_NilCurrentAccount_StillPreloadsRecent | 11ms |
| โ | CatalogPreloaderTests | testPreloader_PreloadsCurrentAccountCatalog | 3ms |
| โ | CatalogPreloaderTests | testPreloader_PreloadsRecentlyUsedAccounts_UpToLimit | 3ms |
| โ | CatalogPreloaderTests | testPreloader_SkipsAccountsWithNoCatalogURL | 2ms |
| โ | CatalogPreloaderTests | testPreloader_SkipsDuplicateCurrentAccount | 3ms |
| โ | CatalogProblemDocumentTests | testFetchFeed_503ProblemDocument_surfacesStructuredErrorThroughAPI | 11ms |
| โ | CatalogProblemDocumentTests | testParser_plainJSONContentType_doesNotTriggerProblemDocumentPath | 23ms |
| โ | CatalogProblemDocumentTests | testParser_problemJSONContentTypeWithCharset_stillDetected | 4ms |
| โ | CatalogProblemDocumentTests | testParser_problemJSONContentType_errorDescriptionIncludesTitleAndDetail | 4ms |
| โ | CatalogProblemDocumentTests | testParser_problemJSONContentType_throwsProblemDocumentErrorNotInvalidJSON | <1ms |
| โ | CatalogProblemDocumentTests | testParser_undecodableProblemBody_stillSurfacesAsProblemDocument | 5ms |
| โ | CatalogRepositoryCoreTests | testDifferentURLsAreCachedSeparately | 7ms |
| โ | CatalogRepositoryCoreTests | testInvalidateCacheForcesFreshFetch | 7ms |
| โ | CatalogRepositoryCoreTests | testLoadTopLevelCatalogCachesFeed | 7ms |
| โ | CatalogRepositoryCoreTests | testLoadTopLevelCatalogCallsAPI | 7ms |
| โ | CatalogRepositoryCoreTests | testLoadTopLevelCatalogFallsToCacheOnNetworkError | 12ms |
| โ | CatalogRepositoryCoreTests | testLoadTopLevelCatalogPropagatesError | 5ms |
| โ | CatalogRepositoryCoreTests | testLoadTopLevelCatalogReturnsFeedTitle | 22ms |
| โ | CatalogRepositoryCoreTests | testSearchDelegatesToAPI | 6ms |
| โ | CatalogRepositoryCoreTests | testSearchPropagatesError | 7ms |
| โ | CatalogRepositoryStaleWhileRevalidateTests | testCachedFeed_AtExactly24h_ReturnsFeed_PastBoundary_ReturnsNil | 12ms |
| โ | CatalogRepositoryStaleWhileRevalidateTests | testCachedFeed_PerURLIsolation_DoesNotLeakBetweenURLs | 12ms |
| โ | CatalogRepositoryStaleWhileRevalidateTests | testInvalidateCache_ExplicitInvalidate_ForcesNextReadToNetwork | 33ms |
| โ | CatalogRepositoryStaleWhileRevalidateTests | testInvalidateCache_OnlyClearsRequestedURL_DoesNotClearOthers | 7ms |
| โ | CatalogRepositoryStaleWhileRevalidateTests | testLoadTopLevelCatalog_AtExactly24HourBoundary_StillStaleButUsableNotTooOld | 114ms |
| โ | CatalogRepositoryStaleWhileRevalidateTests | testLoadTopLevelCatalog_AtExactlyTenMinuteBoundary_StillCountsAsFresh | 98ms |
| โ | CatalogRepositoryStaleWhileRevalidateTests | testLoadTopLevelCatalog_ConcurrentStaleReads_BothSeeCachedAndCacheGetsRefreshed | 74ms |
| โ | CatalogRepositoryStaleWhileRevalidateTests | testLoadTopLevelCatalog_FreshCacheWithinTenMinutes_ReturnsCacheAndSkipsNetwork | 7ms |
| โ | CatalogRepositoryStaleWhileRevalidateTests | testLoadTopLevelCatalog_JustPastTenMinutes_ReturnsStaleAndSchedulesBackgroundRefresh | 85ms |
| โ | CatalogRepositoryStaleWhileRevalidateTests | testLoadTopLevelCatalog_NetworkFailureWithNoCache_Throws | 17ms |
| โ | CatalogRepositoryStaleWhileRevalidateTests | testLoadTopLevelCatalog_NetworkFailureWithTooOldCache_ReturnsCachedFallback | 9ms |
| โ | CatalogRepositoryStaleWhileRevalidateTests | testLoadTopLevelCatalog_PastTwentyFourHours_FetchesFromNetworkAndReplacesCache | 11ms |
| โ | CatalogRepositoryTests | testFetchFeed_DoesNotCache_AlwaysFetchesFresh | 18ms |
| โ | CatalogRepositoryTests | testFetchFeed_NetworkError_ThrowsError | 23ms |
| โ | CatalogRepositoryTests | testFetchFeed_Success_ReturnsFeed | 16ms |
| โ | CatalogRepositoryTests | testIntegration_ErrorPropagation | 8ms |
| โ | CatalogRepositoryTests | testIntegration_FullFetchFlow | 12ms |
| โ | CatalogRepositoryTests | testInvalidateCache_ClearsSpecificURL | 17ms |
| โ | CatalogRepositoryTests | testLoadTopLevelCatalog_401Unauthorized_ThrowsError | 35ms |
| โ | CatalogRepositoryTests | testLoadTopLevelCatalog_500ServerError_ThrowsError | 12ms |
| โ | CatalogRepositoryTests | testLoadTopLevelCatalog_CachesFeed_ReturnsFromCache | 12ms |
| โ | CatalogRepositoryTests | testLoadTopLevelCatalog_EmptyFeed_ReturnsEmptyEntries | 80ms |
| โ | CatalogRepositoryTests | testLoadTopLevelCatalog_InvalidXML_ThrowsParsingError | 28ms |
| โ | CatalogRepositoryTests | testLoadTopLevelCatalog_MultipleURLs_CachesIndependently | 11ms |
| โ | CatalogRepositoryTests | testLoadTopLevelCatalog_NetworkError_FallsBackToStaleCache | 11ms |
| โ | CatalogRepositoryTests | testLoadTopLevelCatalog_NetworkError_ThrowsError | 51ms |
| โ | CatalogRepositoryTests | testLoadTopLevelCatalog_PreservesQueryParameters | 11ms |
| โ | CatalogRepositoryTests | testLoadTopLevelCatalog_ProblemDocument_ParsesErrorDetails | 42ms |
| โ | CatalogRepositoryTests | testLoadTopLevelCatalog_SpecialCharactersInTitle_ParsesCorrectly | 7ms |
| โ | CatalogRepositoryTests | testLoadTopLevelCatalog_Success_ReturnsFeed | 9ms |
| โ | CatalogRepositoryTests | testLoadTopLevelCatalog_UsesGETMethod | 14ms |
| โ | CatalogSearchViewModelRegistryUpdateTests | testApplyRegistryUpdates_EmptyFilteredBooks_DoesNotCrash | 7ms |
| โ | CatalogSearchViewModelRegistryUpdateTests | testApplyRegistryUpdates_MultipleRapidCalls_DoesNotCrash | 112ms |
| โ | CatalogSearchViewModelRegistryUpdateTests | testApplyRegistryUpdates_NilChangedIdentifier_UpdatesAllBooks | 26ms |
| โ | CatalogSearchViewModelRegistryUpdateTests | testApplyRegistryUpdates_UnknownIdentifier_NoChanges | 34ms |
| โ | CatalogSearchViewModelRegistryUpdateTests | testApplyRegistryUpdates_WithBooks_UpdatesMatchingBook | 68ms |
| โ | CatalogSearchViewModelTests | testApplyRegistryUpdates_DoesNotChangeSearchId | 2ms |
| โ | CatalogSearchViewModelTests | testApplyRegistryUpdates_WithEmptyFilteredBooks_DoesNothing | <1ms |
| โ | CatalogSearchViewModelTests | testClearSearch_CancelsPendingOperations | 2ms |
| โ | CatalogSearchViewModelTests | testClearSearch_ChangesSearchId | 1ms |
| โ | CatalogSearchViewModelTests | testClearSearch_ResetsSelectedFormat_DoesNotChangeFormatEntries | 12ms |
| โ | CatalogSearchViewModelTests | testClearSearch_ResetsState | 2ms |
| โ | CatalogSearchViewModelTests | testClearSearch_RestoresAllBooks | 19ms |
| โ | CatalogSearchViewModelTests | testConcurrentUpdates_DoNotCrash | 11ms |
| โ | CatalogSearchViewModelTests | testHasCompletedSearch_BecomesTrue_AfterSearchReturnsEmpty | 57ms |
| โ | CatalogSearchViewModelTests | testHasCompletedSearch_FlipsTrue_OnSearchError | 55ms |
| โ | CatalogSearchViewModelTests | testHasCompletedSearch_ResetByClearSearch | 54ms |
| โ | CatalogSearchViewModelTests | testHasCompletedSearch_StartsFalse | <1ms |
| โ | CatalogSearchViewModelTests | testInit_HasCorrectDefaults | 2ms |
| โ | CatalogSearchViewModelTests | testLoadFormatEntryPoints_SelectsActiveEntry | 3ms |
| โ | CatalogSearchViewModelTests | testLoadFormatEntryPoints_WhenFeedHasNoEntryPoints_LeavesFormatEntriesEmpty | 5ms |
| โ | CatalogSearchViewModelTests | testLoadFormatEntryPoints_WhenFetchFails_LeavesFormatEntriesEmpty | 10ms |
| โ | CatalogSearchViewModelTests | testLoadFormatEntryPoints_WhenSuccessful_PopulatesFormatEntries | 4ms |
| โ | CatalogSearchViewModelTests | testLoadFormatEntryPoints_WithNilBaseURL_DoesNotCallRepository | 3ms |
| โ | CatalogSearchViewModelTests | testLoadNextPage_DoesNotChangeSearchId | 4ms |
| โ | CatalogSearchViewModelTests | testLoadNextPage_SetsIsLoadingMore | 4ms |
| โ | CatalogSearchViewModelTests | testLoadNextPage_WhenAlreadyLoading_DoesNothing | 5ms |
| โ | CatalogSearchViewModelTests | testLoadNextPage_WithNoNextURL_DoesNothing | 4ms |
| โ | CatalogSearchViewModelTests | testPP3605_ApplyRegistryUpdates_DoesNotChangeSearchId | 6ms |
| โ | CatalogSearchViewModelTests | testPP3605_ClearSearch_ChangesSearchId | 3ms |
| โ | CatalogSearchViewModelTests | testPP3605_DifferentSearches_EachHaveUniqueSearchId | 107ms |
| โ | CatalogSearchViewModelTests | testPP3605_LoadNextPage_DoesNotChangeSearchId | 65ms |
| โ | CatalogSearchViewModelTests | testPP3605_NewSearch_ChangesSearchId | 57ms |
| โ | CatalogSearchViewModelTests | testPP3673_clearSearch_doesNotAnnounce | 54ms |
| โ | CatalogSearchViewModelTests | testPP3673_search_emptyQuery_doesNotAnnounce | 57ms |
| โ | CatalogSearchViewModelTests | testPP3673_search_error_announcesFailure | 53ms |
| โ | CatalogSearchViewModelTests | testPP3673_search_noResults_announcesNoResults | 55ms |
| โ | CatalogSearchViewModelTests | testPP3673_search_rerun_announcesUpdatedResults | 107ms |
| โ | CatalogSearchViewModelTests | testSearch_CancelsDebounce_OnNewQuery | 1.31s |
| โ | CatalogSearchViewModelTests | testSearch_CancelsInFlight_OnNewQuery | 224ms |
| โ | CatalogSearchViewModelTests | testSearch_Debounces_DoesNotSearchDuringDebounceWindow | 1.01s |
| โ | CatalogSearchViewModelTests | testSearch_Debounces_MultipleQueries | 110ms |
| โ | CatalogSearchViewModelTests | testSearch_DifferentQueries_HaveDifferentSearchIds | 108ms |
| โ | CatalogSearchViewModelTests | testSearch_NewSearch_ChangesSearchId | 56ms |
| โ | CatalogSearchViewModelTests | testSearch_SpecialCharacters_DoesNotCrash | 60ms |
| โ | CatalogSearchViewModelTests | testSearch_UnicodeCharacters_Works | 58ms |
| โ | CatalogSearchViewModelTests | testSearch_VeryLongQuery_Works | 54ms |
| โ | CatalogSearchViewModelTests | testSearch_WithEmptyQuery_DoesNotCallRepository | 55ms |
| โ | CatalogSearchViewModelTests | testSearch_WithEmptyQuery_ShowsAllBooks | 60ms |
| โ | CatalogSearchViewModelTests | testSearch_WithError_ClearsNextPageURL | 56ms |
| โ | CatalogSearchViewModelTests | testSearch_WithError_SetsErrorMessage | 58ms |
| โ | CatalogSearchViewModelTests | testSearch_WithNilBaseURL_ClearsNextPageURL | 58ms |
| โ | CatalogSearchViewModelTests | testSearch_WithNilBaseURL_DoesNotSearch | 58ms |
| โ | CatalogSearchViewModelTests | testSearch_WithNilResult_SetsEmptyResults | 58ms |
| โ | CatalogSearchViewModelTests | testSearch_WithNoFormatEntries_UsesDefaultBaseURL | 63ms |
| โ | CatalogSearchViewModelTests | testSearch_WithResults_UpdatesResults | 58ms |
| โ | CatalogSearchViewModelTests | testSearch_WithValidQuery_CallsRepository | 57ms |
| โ | CatalogSearchViewModelTests | testSearch_WithValidQuery_ClearsIsLoadingAfterCompletion | 68ms |
| โ | CatalogSearchViewModelTests | testSearch_WithValidQuery_SetsIsSearching | 57ms |
| โ | CatalogSearchViewModelTests | testSearch_WithWhitespaceOnlyQuery_DoesNotCallRepository | 54ms |
| โ | CatalogSearchViewModelTests | testSelectFormat_ChangesSelectedIndex | 4ms |
| โ | CatalogSearchViewModelTests | testSelectFormat_SameIndex_DoesNotChangeIndex | 3ms |
| โ | CatalogSearchViewModelTests | testSelectFormat_WithActiveQuery_TriggersNewSearch | 56ms |
| โ | CatalogSearchViewModelTests | testSelectFormat_WithCachedDescriptorURL_UsesDescriptorSearch | 57ms |
| โ | CatalogSearchViewModelTests | testSelectFormat_WithEmptyQuery_DoesNotSearch | 4ms |
| โ | CatalogSearchViewModelTests | testShouldShowNoResultsState_False_WhenQueryEmpty | 1ms |
| โ | CatalogSearchViewModelTests | testShouldShowNoResultsState_False_WhenResultsPresent | 6ms |
| โ | CatalogSearchViewModelTests | testShouldShowNoResultsState_False_WhileLoading | 57ms |
| โ | CatalogSearchViewModelTests | testShouldShowNoResultsState_True_WhenSearchCompletedWithZeroResults | 54ms |
| โ | CatalogSearchViewModelTests | testUpdateBooks_DoesNotChangeFilteredBooks_WhenQueryNotEmpty | 3ms |
| โ | CatalogSearchViewModelTests | testUpdateBooks_EmptyArray_Works | 2ms |
| โ | CatalogSearchViewModelTests | testUpdateBooks_LargeArray_Works | 78ms |
| โ | CatalogSearchViewModelTests | testUpdateBooks_SetsFilteredBooks_WhenQueryEmpty | 3ms |
| โ | CatalogSelectorsTests | testWithSelectedEntryPoint_UpdatesActiveState | <1ms |
| โ | CatalogSelectorsTests | testWithSelectedFacet_UpdatesActiveState | <1ms |
| โ | CatalogSortServiceTests | testAllCases | 1ms |
| โ | CatalogSortServiceTests | testSortByAuthorAZ | 19ms |
| โ | CatalogSortServiceTests | testSortByAuthorZA | 3ms |
| โ | CatalogSortServiceTests | testSortByRecentlyAddedAZ | 8ms |
| โ | CatalogSortServiceTests | testSortByRecentlyAddedZA | 52ms |
| โ | CatalogSortServiceTests | testSortByTitleAZ | 4ms |
| โ | CatalogSortServiceTests | testSortByTitleZA | 235ms |
| โ | CatalogSortServiceTests | testSortEmptyArray | 1ms |
| โ | CatalogSortServiceTests | testSortOptionFromLocalizedString_invalidString_returnsNil | 2ms |
| โ | CatalogSortServiceTests | testSortOptionFromLocalizedString_validStrings | 2ms |
| โ | CatalogSortServiceTests | testSortOptionLocalizedStrings | 1ms |
| โ | CatalogSortServiceTests | testSortSingleBook | 3ms |
| โ | CatalogSortServiceTests | testSortWithNilAuthors | 6ms |
| โ | CatalogSortServiceTests | testSortedReturnsNewArray | 4ms |
| โ | CatalogStateTests | testState_AllBooks_Grouped | 6ms |
| โ | CatalogStateTests | testState_AllBooks_Ungrouped | 3ms |
| โ | CatalogStateTests | testState_ApplyingFacet_IsTrue | 287ms |
| โ | CatalogStateTests | testState_Error_HasNoContent | 2ms |
| โ | CatalogStateTests | testState_Loaded_ExposesContent | 10ms |
| โ | CatalogStateTests | testState_Loading_HasNoContent | 1ms |
| โ | CatalogStateTests | testState_SwitchingEntryPoint_HasNoContent | <1ms |
| โ | CatalogViewLibraryIconTests | testCatalogLeadingIcon_isStaticBranding_notASwitcher | 338ms |
| โ | CatalogViewLibraryIconTests | testCatalogView_hasNoLibrarySwitcherMachinery | 4ms |
| โ | CatalogViewModelStateMachineTests | testApplyEntryPoint_RequiresLoadedState | 48ms |
| โ | CatalogViewModelStateMachineTests | testApplyEntryPoint_WithNilHref_NoOp | 7ms |
| โ | CatalogViewModelStateMachineTests | testApplyFacet_RequiresLoadedState | 9ms |
| โ | CatalogViewModelStateMachineTests | testApplyFacet_WithNilHref_NoOp | 5ms |
| โ | CatalogViewModelStateMachineTests | testCancelPrefetch_cancelsAndClearsTrackedTasks | 6ms |
| โ | CatalogViewModelStateMachineTests | testForceRefresh_TransitionsToLoading | 21ms |
| โ | CatalogViewModelStateMachineTests | testHandleAccountChange_servesCache_doesNotInvalidate | 178ms |
| โ | CatalogViewModelStateMachineTests | testLoad_NilResultWhenOffline_TransitionsToOffline | 6ms |
| โ | CatalogViewModelStateMachineTests | testLoad_OnlineFailure_StaysError_NotOffline | 74ms |
| โ | CatalogViewModelStateMachineTests | testLoad_WhenOffline_TransitionsToOffline | 8ms |
| โ | CatalogViewModelStateMachineTests | testLoad_WithError_TransitionsToError | 135ms |
| โ | CatalogViewModelStateMachineTests | testLoad_WithNilResult_TransitionsToError | 89ms |
| โ | CatalogViewModelStateMachineTests | testLoad_WithNilURL_DoesNotCallRepository | 5ms |
| โ | CatalogViewModelStateMachineTests | testReconnect_WhileOffline_AutoReloadsCatalog | 59ms |
| โ | CatalogViewModelStateMachineTests | testRefresh_pullToRefresh_invalidatesOnce | 113ms |
| โ | CatalogViewModelStateMachineTests | testReload_cancelsPriorPrefetchTasks | 108ms |
| โ | CatalogViewModelStateMachineTests | testSearchRepository_ReturnsMock | 45ms |
| โ | CatalogViewModelStateMachineTests | testSwitchBackAndForth_ABA_servesCacheNotThreeFetches | 129ms |
| โ | CatalogViewModelStateMachineTests | testViewModel_InitialState_IsLoading | 17ms |
| โ | ChaosFaultInjectionTests | test_scenario1_midDownloadNetworkKill_failsRecoverably | 19ms |
| โ | ChaosFaultInjectionTests | test_scenario2_diskFullDuringExtraction_throwsAndLeavesNoFullFile | 3ms |
| โ | ChaosFaultInjectionTests | test_scenario3_lowMemoryDuringDRMFetch_remainsRecoverable | 9ms |
| โ | ChaosFaultInjectionTests | test_scenario4_processKillDuringRegistryWrite_atomicityHolds | 4ms |
| โ | ChaosFaultInjectionTests | test_scenario5_tokenExpiryMidAnnotationSync_invokesReauthAndRetries | 5ms |
| โ | ChapterChangeDetectorTests | testDidChange_differentKeySameTitle_fires | <1ms |
| โ | ChapterChangeDetectorTests | testDidChange_differentKey_fires | 284ms |
| โ | ChapterChangeDetectorTests | testDidChange_noPriorChapter_fires | 10ms |
| โ | ChapterChangeDetectorTests | testDidChange_sameKeyDifferentTitle_doesNotFire | 349ms |
| โ | ChapterChangeDetectorTests | testDidChange_sameKeySameTitle_doesNotFire | 2ms |
| โ | ChapterScrubberChromeVisibilityTests | testScrubber_GetsOutOfTheWayWhenTheNavigationBarComesIn | 1ms |
| โ | ChapterScrubberChromeVisibilityTests | testScrubber_IsVisibleInImmersiveReadingAlongsideTheProgressLabels | 30ms |
| โ | ChapterScrubberChromeVisibilityTests | testScrubber_StaysAvailableUnderVoiceOverUnlikeThePassiveOverlayLabels | 1ms |
| โ | ChapterScrubberChromeVisibilityTests | testScrubber_TracksTheOverlayLabelsExceptUnderVoiceOver | 2ms |
| โ | ChapterScrubberModelTests | testHasChapterStructure_IsFalseWhenTheBookHasNoUsableTOC | <1ms |
| โ | ChapterScrubberModelTests | testInit_ClampsOutOfRangeChapterStarts | <1ms |
| โ | ChapterScrubberModelTests | testInit_CollapsesChaptersThatShareAStartProgression | 1ms |
| โ | ChapterScrubberModelTests | testInit_DropsChaptersWithNoUsableTitle | <1ms |
| โ | ChapterScrubberModelTests | testInit_SortsChaptersThatArriveOutOfOrder | 2ms |
| โ | ChapterScrubberModelTests | testInit_SortsPositionsThatArriveOutOfOrder | <1ms |
| โ | ChapterScrubberModelTests | testIsUsable_IsFalseWhenTheBookHasNeitherChaptersNorPositions | 2ms |
| โ | ChapterScrubberModelTests | testIsUsable_IsFalseWhenTheBookIsASinglePosition | <1ms |
| โ | ChapterScrubberModelTests | testStep_BackwardFromExactlyOnAChapterStart_MovesToThePriorChapter | 2ms |
| โ | ChapterScrubberModelTests | testStep_BackwardFromTheFirstChapter_GoesToTheStartOfTheBook | 2ms |
| โ | ChapterScrubberModelTests | testStep_Backward_LandsOnThePreviousChapterStart | 38ms |
| โ | ChapterScrubberModelTests | testStep_ForwardFromExactlyOnAChapterStart_MovesToTheNextChapter | <1ms |
| โ | ChapterScrubberModelTests | testStep_ForwardFromTheLastChapter_GoesToTheEndOfTheBook | 53ms |
| โ | ChapterScrubberModelTests | testStep_Forward_LandsOnTheNextChapterStart | <1ms |
| โ | ChapterScrubberModelTests | testStep_OnALongBook_AdvancesOneChapterAtATime | 3ms |
| โ | ChapterScrubberModelTests | testStep_WithNoChapters_ClampsAtTheEndsOfTheBook | <1ms |
| โ | ChapterScrubberModelTests | testStep_WithNoChapters_MovesByAFixedIncrement | <1ms |
| โ | ChapterScrubberModelTests | testTarget_AtTheEndOfTheBook_ReportsTheLastPage | <1ms |
| โ | ChapterScrubberModelTests | testTarget_BeforeTheFirstChapterStart_HasNoChapterTitle | <1ms |
| โ | ChapterScrubberModelTests | testTarget_ClampsFractionsAboveOne | 2ms |
| โ | ChapterScrubberModelTests | testTarget_ClampsFractionsBelowZero | 8ms |
| โ | ChapterScrubberModelTests | testTarget_ClampsNonFiniteFractionsToTheStartOfTheBook | <1ms |
| โ | ChapterScrubberModelTests | testTarget_ExactlyOnAChapterStart_NamesThatChapterNotThePrevious | 2ms |
| โ | ChapterScrubberModelTests | testTarget_ExactlyOnAPositionBoundary_ReportsThatPageNotThePrevious | <1ms |
| โ | ChapterScrubberModelTests | testTarget_JustBeforeAChapterStart_NamesThePreviousChapter | 2ms |
| โ | ChapterScrubberModelTests | testTarget_MidChapter_NamesTheEnclosingChapter | <1ms |
| โ | ChapterScrubberModelTests | testTarget_OnALongBook_CostsFarLessThanAFrame | 81ms |
| โ | ChapterScrubberModelTests | testTarget_OnALongBook_ResolvesTheExactPageAndChapter | 2ms |
| โ | ChapterScrubberModelTests | testTarget_OnALongBook_StaysMonotonicAcrossAFullDrag | 237ms |
| โ | ChapterScrubberModelTests | testTarget_PastTheLastChapterStart_NamesTheLastChapter | 9ms |
| โ | ChapterScrubberModelTests | testTarget_ReportsAPageIfAndOnlyIfTheBookReportsPages | 71ms |
| โ | ChapterScrubberModelTests | testTarget_ReportsThePageContainingTheFraction | 9ms |
| โ | ChapterScrubberModelTests | testTarget_RoundsPercentToTheNearestWholeNumber | 7ms |
| โ | ChapterScrubberModelTests | testTarget_WhenPositionsAreUnavailable_ReportsNoPage | <1ms |
| โ | ChapterScrubberModelTests | testTarget_WithNoChapters_StillReportsPageAndPercent | 2ms |
| โ | ChapterScrubberReadoutTests | testAccessibilityValue_DerivesPercentFromProgressionNotTheDisplayPercent | 1ms |
| โ | ChapterScrubberReadoutTests | testAccessibilityValue_OmitsComponentsTheBookCannotSupply | 1ms |
| โ | ChapterScrubberReadoutTests | testAccessibilityValue_SpeaksChapterPageAndPercent | <1ms |
| โ | ChapterScrubberReadoutTests | testChapterLine_IsTheChapterTitle | 1ms |
| โ | ChapterScrubberReadoutTests | testChapterLine_TrimsSurroundingWhitespace | <1ms |
| โ | ChapterScrubberReadoutTests | testChapterLine_WithABlankChapterTitle_IsNil | 1ms |
| โ | ChapterScrubberReadoutTests | testChapterLine_WithNoChapter_IsNil | 2ms |
| โ | ChapterScrubberReadoutTests | testDetailLine_IsNeverEmpty | <1ms |
| โ | ChapterScrubberReadoutTests | testDetailLine_IsOneLine_SoTheCardRowsStayIndependent | <1ms |
| โ | ChapterScrubberReadoutTests | testDetailLine_ReportsPagePositionAndPercent | 2ms |
| โ | ChapterScrubberReadoutTests | testDetailLine_WithNoPages_StillReportsPercent | <1ms |
| โ | ChapterScrubberTOCResolutionTests | testChapters_DropsAnEntryPointingPastTheEndOfTheReadingOrder | <1ms |
| โ | ChapterScrubberTOCResolutionTests | testChapters_DropsAnEntryWhoseResourceReportsNoPositions | 2ms |
| โ | ChapterScrubberTOCResolutionTests | testChapters_KeepsSeveralEntriesSharingOneResource_SoInitCanCollapseThem | 2ms |
| โ | ChapterScrubberTOCResolutionTests | testChapters_TakeTheStartOfTheResourceTheEntryPointsInto | 12ms |
| โ | ChapterScrubberTOCResolutionTests | testChapters_WithNoEntries_YieldsNoChapters | <1ms |
| โ | ChapterScrubberViewTests | testAccessibilityAdjustment_IsRefusedWhenTheBookHasNowhereToScrubTo | 1ms |
| โ | ChapterScrubberViewTests | testAccessibilityDecrement_FromMidChapter_GoesToThatChaptersStart | 4ms |
| โ | ChapterScrubberViewTests | testAccessibilityDecrement_Repeated_KeepsMovingBackwardThroughChapters | 1ms |
| โ | ChapterScrubberViewTests | testAccessibilityIncrement_MovesAChapterForwardAndNavigates | 20ms |
| โ | ChapterScrubberViewTests | testAccessibilityValue_AnnouncesTheNewPositionAfterEveryAdjustment | 1ms |
| โ | ChapterScrubberViewTests | testAccessibilityValue_TracksTheThumbWhenTheReaderMovesOnItsOwn | 1ms |
| โ | ChapterScrubberViewTests | testAccessibility_IsASingleAdjustableElement | 8ms |
| โ | ChapterScrubberViewTests | testBeginScrub_IsRefusedWhenTheBookHasNowhereToScrubTo | 1ms |
| โ | ChapterScrubberViewTests | testBlend_AtZeroAndOne_ReturnsTheEndpoints | <1ms |
| โ | ChapterScrubberViewTests | testBlend_ClampsOutOfRangeAmounts | <1ms |
| โ | ChapterScrubberViewTests | testBlend_MovesTheBaseColourTowardTheTargetAndStaysOpaque | <1ms |
| โ | ChapterScrubberViewTests | testCancel_RestoresTheOriginalPositionAndNavigatesNowhere | 6ms |
| โ | ChapterScrubberViewTests | testCancellingAScrub_AlsoTellsTheReaderToRestoreItsLabel | 1ms |
| โ | ChapterScrubberViewTests | testDragging_DoesNotCommitUntilTheFingerLifts | 8ms |
| โ | ChapterScrubberViewTests | testDragging_MovesTheThumbToWhereTheFingerIs | 1ms |
| โ | ChapterScrubberViewTests | testFraction_ClampsATouchDraggedOffEitherEndOfTheTrack | <1ms |
| โ | ChapterScrubberViewTests | testFraction_MapsATouchAcrossTheTrackToZeroThroughOne | 2ms |
| โ | ChapterScrubberViewTests | testFraction_MirrorsForRightToLeftLayouts | 4ms |
| โ | ChapterScrubberViewTests | testFraction_OnAZeroWidthTrack_IsTheStartOfTheBookNotNaN | <1ms |
| โ | ChapterScrubberViewTests | testHitArea_IsGrownToAComfortableTouchTarget | 1ms |
| โ | ChapterScrubberViewTests | testRefusedScrub_NeverClaimsTheReadersLabel | <1ms |
| โ | ChapterScrubberViewTests | testRelease_CommitsOnceAtThePositionShownDuringTheDrag | 1ms |
| โ | ChapterScrubberViewTests | testRelease_WithoutABegunScrub_DoesNothing | 2ms |
| โ | ChapterScrubberViewTests | testRelease_WithoutACoordinate_CommitsTheLastDraggedPosition | 7ms |
| โ | ChapterScrubberViewTests | testScrubbing_TellsTheReaderToHideItsOwnPositionLabel | 2ms |
| โ | ChapterScrubberViewTests | testSetProgression_ClampsOutOfRangeAndNonFiniteInput | 5ms |
| โ | ChapterScrubberViewTests | testSetProgression_IsIgnoredWhileADragIsInFlight | 2ms |
| โ | ChapterScrubberViewTests | testSetProgression_MovesTheThumbWhenNoDragIsInFlight | 1ms |
| โ | ChapterScrubberViewTests | testThumbOffset_IsTheInverseOfTheTouchMapping | <1ms |
| โ | ChapterScrubberViewTests | testThumbOffset_MirrorsForRightToLeftLayouts | <1ms |
| โ | ChapterScrubberViewTests | testThumbOffset_OnAZeroWidthTrack_IsZeroNotNaN | 5ms |
| โ | ChapterTOCNormalizerTests | testInflationThreshold_isExactly1Point5 | 99ms |
| โ | ChapterTOCNormalizerTests | testIsOversubdivided_atExactThreshold_returnsFalse | 1ms |
| โ | ChapterTOCNormalizerTests | testIsOversubdivided_belowThreshold_returnsFalse | 109ms |
| โ | ChapterTOCNormalizerTests | testIsOversubdivided_oneAboveThreshold_returnsTrue | 56ms |
| โ | ChapterTOCNormalizerTests | testIsOversubdivided_realWorldCase_returnsTrue | 3ms |
| โ | ChapterTOCNormalizerTests | testIsOversubdivided_slightInflation_returnsFalse | 2ms |
| โ | ChapterTOCNormalizerTests | testIsOversubdivided_zeroExpectedChapterCount_returnsFalse | <1ms |
| โ | CirculationAnalyticsTests | testEventPathComponents | 1ms |
| โ | CirculationAnalyticsTests | testNetworkQueueStatusCodesExist | 256ms |
| โ | CirculationAnalyticsTests | testPostEventConstructsCorrectURL | 3ms |
| โ | CirculationAnalyticsTests | testPostEventWithNilAnalyticsURL | 5ms |
| โ | ColdStartResumeIntegrationTests | testColdStart_CorruptedRegistryFile_BootsToEmptyState | 196ms |
| โ | ColdStartResumeIntegrationTests | testColdStart_EmptyRecordsArray_RendersEmptyMyBooks | 167ms |
| โ | ColdStartResumeIntegrationTests | testColdStart_FreshTokenNotMarkedNearExpiry | 37ms |
| โ | ColdStartResumeIntegrationTests | testColdStart_HalfBorrowedBook_RecordPreservedForServerReconciliation | 165ms |
| โ | ColdStartResumeIntegrationTests | testColdStart_InflightDownloadWithExistingFile_PromotedToSuccessful | 420ms |
| โ | ColdStartResumeIntegrationTests | testColdStart_InflightDownloadWithMissingFile_MarkedFailed | 203ms |
| โ | ColdStartResumeIntegrationTests | testColdStart_NoRegistryFile_BootsToEmptyState | 231ms |
| โ | ColdStartResumeIntegrationTests | testColdStart_RegistryFileMissingRecordsKey_BootsToEmptyState | 185ms |
| โ | ColdStartResumeIntegrationTests | testColdStart_StaleTokenDetectedAsNearExpiry | 29ms |
| โ | ColdStartResumeIntegrationTests | testColdStart_TokenPastExpiry_ReportsExpired | 38ms |
| โ | ColorExtensionTests | testIsDark_Black_ReturnsTrue | <1ms |
| โ | ColorExtensionTests | testIsDark_DarkGray_ReturnsTrue | 2ms |
| โ | ColorExtensionTests | testIsDark_LightGray_ReturnsFalse | 17ms |
| โ | ColorExtensionTests | testIsDark_PureRed_ReturnsFalse | <1ms |
| โ | ColorExtensionTests | testIsDark_White_ReturnsFalse | <1ms |
| โ | ConcurrentBookStateTests | testConcurrent_differentContentTypes_supportedSimultaneously | 4ms |
| โ | ConcurrentBookStateTests | testConcurrent_drmTypes_supportedSimultaneously | 5ms |
| โ | ConcurrentBookStateTests | testConcurrent_multipleDownloads_independentStates | 6ms |
| โ | ConcurrentDownloadStateTests | testMultipleBooks_canBeRegisteredSimultaneously | 101ms |
| โ | ConcurrentDownloadStateTests | testMultipleBooks_canHaveDifferentStates | 5.05s |
| โ | ConcurrentDownloadStateTests | testMultipleBooks_stateChangesAreIndependent | 6ms |
| โ | ConcurrentTokenRefreshTests | testRefreshTokenAndResume_noCredentials_failsImmediately | 183ms |
| โ | ConcurrentTokenRefreshTests | testTokenRequest_canExecuteViaStub | 15ms |
| โ | ContinuousPlaybackTrackingTests | testBiblioBoardScenario_61MinutesWithTrackChanges | 1.14s |
| โ | ContinuousPlaybackTrackingTests | testRapidTrackChanges_noTimeLoss | 422ms |
| โ | ContinuousPlaybackTrackingTests | testTrackTransition_savesTimeBeforeNextTrackStarts | 101ms |
| โ | CookiePersistenceTests | test_CookieAccessor_IsConsultedByRequestPath | 38ms |
| โ | CookiePersistenceTests | test_CookiesReinstalled_OnEveryRequest_AfterSharedStorageWipe | 39ms |
| โ | CookiePersistenceTests | test_CookiesSurvive_ExecutorRecreation_AndAreInstalledIntoSharedStorage | 34ms |
| โ | CookiePersistenceTests | test_EmptyCookiesArray_OnSamlAccount_IsNoOp | 43ms |
| โ | CookiePersistenceTests | test_InstalledCookie_IsVisibleAtTheSamlURL | 49ms |
| โ | CookiePersistenceTests | test_MultipleCookies_AllInstalled_AfterColdStart | 35ms |
| โ | CookiePersistenceTests | test_NonSamlAuth_DoesNotInstall_CookiesIntoSharedStorage | 57ms |
| โ | CookiePersistenceTests | test_RemoveAll_ClearsCookies_NoReinstallOnNextRequest | 36ms |
| โ | CookiePersistenceTests | test_UpdatedCookieValue_IsVisibleOnNextRequest | 76ms |
| โ | CookiePersistenceTests | test_setCookies_StoresOnAccountAndIsReadable | 29ms |
| โ | CoverSourceBadResponseCacheTests | testEmptyBodyResponse_isNotCached_soALaterFetchRecovers | 506ms |
| โ | CoverSourceBadResponseCacheTests | testErrorStatusResponse_isNotCached_soALaterFetchRecovers | 878ms |
| โ | CoverSourceBadResponseCacheTests | testSuccessfulResponse_isStillCached_soASecondFetchDoesNotRefetch | 162ms |
| โ | CrawlStateTests | testCrawlState_DecodesLegacyPayload_WithoutAppVersion | 2ms |
| โ | CrawlStateTests | testCrawlState_DecodesWithMissingOptionals | 1ms |
| โ | CrawlStateTests | testCrawlState_EncodesAndDecodes | 6ms |
| โ | CrawlStateTests | testCrawlState_LoadFromMissingFile_Fails | 2ms |
| โ | CrawlStateTests | testCrawlState_PersistsToDisk | 1ms |
| โ | CrawlStateTests | testNeedsFullCrawl_WhenAllPresent_AndFreshAndSameVersion_ReturnsFalse | <1ms |
| โ | CrawlStateTests | testNeedsFullCrawl_WhenAppVersionChanged_ReturnsTrue | <1ms |
| โ | CrawlStateTests | testNeedsFullCrawl_WhenAppVersionMatches_AndAllFresh_ReturnsFalse | <1ms |
| โ | CrawlStateTests | testNeedsFullCrawl_WhenAppVersionRecordedNil_AndCurrentSet_ReturnsTrue | <1ms |
| โ | CrawlStateTests | testNeedsFullCrawl_WhenBothNil_ReturnsTrue | <1ms |
| โ | CrawlStateTests | testNeedsFullCrawl_WhenIncrementalSucceededButFullCrawlNeverHappened_ReturnsTrue | 1ms |
| โ | CrawlStateTests | testNeedsFullCrawl_WhenLastFullCrawlExactly7Days_ReturnsTrue | 1ms |
| โ | CrawlStateTests | testNeedsFullCrawl_WhenLastFullCrawlOlderThan7Days_ReturnsTrue | 1ms |
| โ | CrawlStateTests | testNeedsFullCrawl_WhenLastFullCrawlWithin7Days_ReturnsFalse | 70ms |
| โ | CrawlStateTests | testNeedsFullCrawl_WhenNoFacetURL_ReturnsTrue | <1ms |
| โ | CrawlStateTests | testNeedsFullCrawl_WhenNoLastCrawlDate_ReturnsTrue | <1ms |
| โ | CrawlableFeedAnalysisTests | testIsFullCrawlComplete_WhenHasNextLink_ReturnsFalse | <1ms |
| โ | CrawlableFeedAnalysisTests | testIsFullCrawlComplete_WhenNoNextLink_ReturnsTrue | 174ms |
| โ | CrawlableFeedAnalysisTests | testIsFullCrawlComplete_returnsTrueForNilOrEmptyLinks | 143ms |
| โ | CrawlableFeedAnalysisTests | testIsOrderModifiedActive_WhenFacetHasRelSelf_ReturnsTrue | 1ms |
| โ | CrawlableFeedAnalysisTests | testIsOrderModifiedActive_WhenOtherFacetActive_ReturnsFalse | 405ms |
| โ | CrawlableFeedAnalysisTests | testIsOrderModifiedActive_returnsFalseForNilOrEmptyFacets | 1ms |
| โ | CrawlableFeedAnalysisTests | testOrderModifiedFacetURL_WhenNoSortFacetGroup_ReturnsNil | 593ms |
| โ | CrawlableFeedAnalysisTests | testOrderModifiedFacetURL_WhenNotActive_StillReturnsURL | <1ms |
| โ | CrawlableFeedAnalysisTests | testOrderModifiedFacetURL_WhenPresent_ReturnsURL | 464ms |
| โ | CrawlableFeedAnalysisTests | testOrderModifiedFacetURL_WhenSortGroupHasNoModifiedLink_ReturnsNil | <1ms |
| โ | CrawlableFeedAnalysisTests | testOrderModifiedFacetURL_returnsNilForNilOrEmptyFacets | 3ms |
| โ | CrawlableFeedAnalysisTests | testPublicationsNewerThan_FiltersCorrectly | 5ms |
| โ | CrawlableFeedAnalysisTests | testShouldStopIncremental_WhenAllPublicationsNewer_ReturnsFalse | <1ms |
| โ | CrawlableFeedAnalysisTests | testShouldStopIncremental_WhenEmptyPublications_ReturnsFalse | 2ms |
| โ | CrawlableFeedAnalysisTests | testShouldStopIncremental_WhenPublicationExactlyAtLastCrawl_ReturnsTrue | 6ms |
| โ | CrawlableFeedAnalysisTests | testShouldStopIncremental_WhenPublicationHasNoUpdatedDate_ReturnsFalse | <1ms |
| โ | CrawlableFeedAnalysisTests | testShouldStopIncremental_WhenPublicationOlderThanLastCrawl_ReturnsTrue | <1ms |
| โ | CrawlerFallbackTests | testCrawlFirstPage_NetworkDown_ReturnsFailure | 56ms |
| โ | CrawlerFallbackTests | testCrawlFirstPage_PreservesPaginationLinks_InParsedPage | 6ms |
| โ | CrawlerFallbackTests | testCrawlFirstPage_Success_ReturnsPartialData | 9ms |
| โ | CrawlerFallbackTests | testCrawlRemainingPages_OneParallelPageFails_ReturnsFailure | 34ms |
| โ | CrawlerFallbackTests | testCrawlRemainingPages_WhenSecondPageFails_ReturnsFailure | 343ms |
| โ | CrawlerFallbackTests | testCrawl_EmptyFeed_ReturnsSuccessWithNoLibraries | 4ms |
| โ | CrawlerFallbackTests | testCrawl_WhenCrawlStateCorrupted_TreatsAsFirstLaunch | 14ms |
| โ | CrawlerFallbackTests | testCrawl_WhenCrawlableReturnsError_ReturnsFailure | 4ms |
| โ | CrawlerFallbackTests | testCrawl_WhenCrawlableReturnsMalformedJSON_ReturnsFailure | 4ms |
| โ | CrawlerFallbackTests | testCrawl_WhenCrawlableSucceeds_ReturnsCrawledData | 34ms |
| โ | CrawlerFallbackTests | testCrawl_WhenResponseMissingCatalogs_ReturnsFailure | 66ms |
| โ | CrawlerFallbackTests | testIncrementalCrawlFails_NextAttemptDoesFullCrawl | 20ms |
| โ | CredentialEdgeCaseTests | testBarcodeAndPin_EmptyStrings_ProduceMalformedBasicAuthHeader | 3ms |
| โ | CredentialEdgeCaseTests | testCredentials_BarcodeAndPin_RoundTripsThroughCodable | 2ms |
| โ | CredentialEdgeCaseTests | testCredentials_TokenWithNilBarcodeAndPin_SurvivesCodableRoundTrip | 12ms |
| โ | CredentialEdgeCaseTests | testTokenCredential_EmptyBarcode_IsDistinctFromNil | <1ms |
| โ | CredentialEdgeCaseTests | testTokenCredential_EmptyPin_IsDistinctFromNil | 2ms |
| โ | CredentialEdgeCaseTests | testTokenCredential_NilBarcode_ReturnsNilUsername | 2ms |
| โ | CredentialPrivacyTests | testErrorLogger_metadataKeysNeverIncludeCredentialFields | 3ms |
| โ | CredentialPrivacyTests | testException_messageDoesNotEmbedCredentials | 1ms |
| โ | CredentialPrivacyTests | testLCPPassphraseError_doesNotEmbedPassphrase | 3.27s |
| โ | CredentialPrivacyTests | testSignInFailureLog_doesNotContainBarcodeOrPIN | 42ms |
| โ | CredentialPromptCoordinatorTests | testRequestCredentials_adobeExpired_presentsAdobeAlertInsteadOfSignIn | 8ms |
| โ | CredentialPromptCoordinatorTests | testRequestCredentials_alreadyInFlight_skipsDuplicateModal | 4ms |
| โ | CredentialPromptCoordinatorTests | testRequestCredentials_signInCancelled_registersCompletionAndDoesNotRetry | 6ms |
| โ | CredentialPromptCoordinatorTests | testRequestCredentials_signInSuccess_retriesDownloadViaDelegate | 43ms |
| โ | CredentialSnapshotInvalidationTests | testAccountSwitch_invalidatesNewlyCurrentAccountCredentialCache | 121ms |
| โ | CredentialSnapshotInvalidationTests | testCredentialSnapshot_peerRemoveAll_isHiddenUntilInvalidationEvent | 39ms |
| โ | CredentialSnapshotInvalidationTests | testCredentialSnapshot_withinNoInvalidationEvent_hitsCacheAndDoesNotRereadKeychain | 75ms |
| โ | CredentialSnapshotInvalidationTests | testCurrentUserAccountSnapshot_reflectsSignInThenSignOut_soReauthDecisionInputIsNeverStale | 141ms |
| โ | CredentialSnapshotInvalidationTests | testSignOut_ThroughAccountDetailViewModel_GoesSignedInToSignedOut_neverStaleSignedIn | 160ms |
| โ | CredentialStoreCharacterizationTests | test_updateUserAccount_basicAuth_ignoresCookies | 237ms |
| โ | CredentialStoreCharacterizationTests | test_updateUserAccount_basicAuth_persistsBarcodePin_marksLoggedIn | 133ms |
| โ | CredentialStoreCharacterizationTests | test_updateUserAccount_oauthClever_persistsTokenAndPatron | 705ms |
| โ | CredentialStoreCharacterizationTests | test_updateUserAccount_oauthFamily_withTokenAndBarcodePin_persistsAll | 674ms |
| โ | CredentialStoreCharacterizationTests | test_updateUserAccount_oauthFamily_withoutToken_fallsBackToBarcodePin | 319ms |
| โ | CredentialStoreCharacterizationTests | test_updateUserAccount_oidc_persistsToken_setsOidcAuthDefinition_noCookies | 151ms |
| โ | CredentialStoreCharacterizationTests | test_updateUserAccount_saml_persistsTokenPatronAndCookies | 927ms |
| โ | CrossDeviceBookmarkSyncTests | testBookmarkSpec_DifferentDevices_ProduceDifferentPayloads | 2ms |
| โ | CrossDeviceBookmarkSyncTests | testBookmarkSpec_IncludesDeviceID | 354ms |
| โ | CrossDeviceBookmarkSyncTests | testBookmarkWithNilDevice_TreatedAsSameDevice | 4ms |
| โ | CrossDeviceBookmarkSyncTests | testBookmark_HasCorrectMotivation | 638ms |
| โ | CrossDeviceBookmarkSyncTests | testDifferentDevice_DifferentPosition_ShouldSync | 486ms |
| โ | CrossDeviceBookmarkSyncTests | testDifferentDevice_IdenticalPosition_ShouldNotSync | 3ms |
| โ | CrossDeviceBookmarkSyncTests | testNoLocalPosition_DifferentDevice_ShouldSync | 1ms |
| โ | CrossDeviceBookmarkSyncTests | testNoLocalPosition_SameDevice_ShouldNotSync | 12ms |
| โ | CrossDeviceBookmarkSyncTests | testNoServerPosition_ShouldNotSync | <1ms |
| โ | CrossDeviceBookmarkSyncTests | testParseServerBookmarks_MultipleDevices | 2ms |
| โ | CrossDeviceBookmarkSyncTests | testReadingProgress_HasCorrectMotivation | 141ms |
| โ | CrossDeviceBookmarkSyncTests | testSameDevice_DifferentPosition_ShouldNotSync | 3ms |
| โ | CrossDeviceSyncE2ETests | test_annotationConflict_serverWins | 394ms |
| โ | CrossDeviceSyncE2ETests | test_audiobookPositionOnDeviceA_readableOnDeviceB | 64ms |
| โ | CrossDeviceSyncE2ETests | test_bookmarkAddedOnDeviceA_visibleOnDeviceB | 140ms |
| โ | CrossDeviceSyncE2ETests | test_bookmarkDeletedOnDeviceA_goneOnDeviceB | 98ms |
| โ | CrossDeviceSyncE2ETests | test_deleteAllBookmarks_contract_deletesOnlyUserBookmark | 54ms |
| โ | CrossDeviceSyncE2ETests | test_deleteAllBookmarks_deletesUserBookmark_preservesAudiobookPosition_scopedToBook | 46ms |
| โ | CrossDeviceSyncE2ETests | test_deleteAllBookmarks_ebook_preservesReadingProgress_stillDeletesBookmark | 85ms |
| โ | CrossDeviceSyncE2ETests | test_positionRewrittenAfterDeviceAReconnects_reachesDeviceB | 180ms |
| โ | CrossDeviceSyncE2ETests | test_positionWrittenOnDeviceA_readableOnDeviceB | 117ms |
| โ | CrossDeviceSyncE2ETests | test_positionWrittenWhileDeviceAOffline_isInvisibleToB_andNotReportedAsAnError | 61ms |
| โ | CrossDomain401Tests | test200FromDifferentDomain_shouldNotIndicateAuthRefreshNeeded | 34ms |
| โ | CrossDomain401Tests | test401FromDifferentDomain_shouldNotIndicateAuthRefreshNeeded | 1ms |
| โ | CrossDomain401Tests | test401FromDifferentSubdomain_shouldIndicateAuthRefreshNeeded | <1ms |
| โ | CrossDomain401Tests | test401FromSameDomain_shouldIndicateAuthRefreshNeeded | <1ms |
| โ | CrossDomain401Tests | test401FromSameSubdomain_shouldIndicateAuthRefreshNeeded | 63ms |
| โ | CrossDomain401Tests | test401WithNilOriginalURL_shouldIndicateAuthRefreshNeeded | 2ms |
| โ | CrossDomain401Tests | test403FromDifferentDomain_shouldNotIndicateAuthRefreshNeeded | 1ms |
| โ | CrossDomain401Tests | testProblemDocFromDifferentDomain_shouldNotIndicateAuthRefreshNeeded | 2ms |
| โ | CrossFormatMappingTests | testChapterBeyondMappingRange | 6ms |
| โ | CrossFormatMappingTests | testCodableRoundTrip | 9ms |
| โ | CrossFormatMappingTests | testCustomChapterMapping | 2ms |
| โ | CrossFormatMappingTests | testFirstChapterMapping | <1ms |
| โ | CrossFormatMappingTests | testLastChapterMapping | 57ms |
| โ | CrossFormatMappingTests | testMappingWithMissingChapterIndex | <1ms |
| โ | CrossFormatMappingTests | testMappingWithZeroChapters | 1ms |
| โ | CrossFormatMappingTests | testMappingWrongFormat | <1ms |
| โ | CrossFormatMappingTests | testOneToOneAudiobookToEpub | <1ms |
| โ | CrossFormatMappingTests | testOneToOneEpubToAudiobook | 360ms |
| โ | CrossFormatMappingTests | testOneToOneMappingCreation | <1ms |
| โ | CrossFormatMappingTests | testProportionalAudiobookToEpub | <1ms |
| โ | CrossFormatMappingTests | testProportionalEpubToAudiobook | 1ms |
| โ | CrossFormatMappingTests | testProportionalMappingCreation | 154ms |
| โ | DPLAErrorTests | testCertificateUrl_isValid | 2ms |
| โ | DPLAErrorTests | testDrmKeyError_readableError | 16ms |
| โ | DPLAErrorTests | testRequestError_readableError | 2ms |
| โ | DRMAdversarialTests | testAdobe_didIgnoreFulfillment_doesNotReauthenticateOrAlert | 2ms |
| โ | DRMAdversarialTests | testAdobe_epubWithoutValidLicense_openFails | 8ms |
| โ | DRMAdversarialTests | testAdobe_fulfillmentPath_callsEnsureDeviceActivated | 8ms |
| โ | DRMAdversarialTests | testLCP_publicationWithoutPassphrase_returnsAuthRequired | 16ms |
| โ | DRMFulfilledPublicationTests | testDRMFulfilledPublication_localURLIsCorrect | <1ms |
| โ | DRMFulfilledPublicationTests | testDRMFulfilledPublication_storesLocalURL | <1ms |
| โ | DRMFulfilledPublicationTests | testDRMFulfilledPublication_storesSuggestedFilename | 27ms |
| โ | DRMFulfilledPublicationTests | testDRMFulfilledPublication_withEmptyFilename | 1ms |
| โ | DRMFulfilledPublicationTests | testDRMFulfilledPublication_withLongFilename | <1ms |
| โ | DRMFulfilledPublicationTests | testDRMFulfilledPublication_withSpecialCharacters | <1ms |
| โ | DataBase64Tests | testBase64UrlSafe_ReplacesPlus_WithDash | 1ms |
| โ | DataBase64Tests | testBase64UrlSafe_ReplacesSlash_WithUnderscore | <1ms |
| โ | DataBase64Tests | testBase64UrlSafe_emptyAndAscii_canonicalAndNoNewlines | 10ms |
| โ | DataReceptionComparisonTests | testGET_receivesBearerTokenJSON_andCanBeDetected | 23ms |
| โ | DataReceptionComparisonTests | testGET_receivesNonEmptyBody_forValidJSON | 16ms |
| โ | DateExtensionTests | testAddingDays_increasesDate | 43ms |
| โ | DateExtensionTests | testDateComparison_differentDay | <1ms |
| โ | DateExtensionTests | testDateComparison_sameDay | 6ms |
| โ | DateExtensionTests | testISO8601_roundTrip | 2ms |
| โ | DateExtensionTests | testRfc339String_includesTimezone | 2ms |
| โ | DateExtensionTests | testRfc339String_producesValidFormat | 2ms |
| โ | DateExtensionTests | testSubtractingDays_decreasesDate | 10ms |
| โ | DateExtensionTests | testTimeIntervalSinceNow_negative | 1ms |
| โ | DateExtensionTests | testTimeIntervalSinceNow_positive | 2ms |
| โ | DateFormattingTests | testCustomFormat | 2ms |
| โ | DateFormattingTests | testLongDateFormat | <1ms |
| โ | DateFormattingTests | testShortDateFormat | 18ms |
| โ | DateFormattingTests | testTimeFormat | <1ms |
| โ | Date_NYPLAdditionsTests | testISO8601FullDateParsing | 4ms |
| โ | Date_NYPLAdditionsTests | testInvalidRFC3339Date | 3ms |
| โ | Date_NYPLAdditionsTests | testParsesRFC3339DateCorrectly | 14ms |
| โ | Date_NYPLAdditionsTests | testParsesRFC3339DateWithFractionalSecondsCorrectly | 3ms |
| โ | Date_NYPLAdditionsTests | testRFC1123 | 2ms |
| โ | Date_NYPLAdditionsTests | testRFC1123Performance | 387ms |
| โ | Date_NYPLAdditionsTests | testRFC3339RoundTrip | 2ms |
| โ | DebugSettingsForceSkeletonsTests | testForceSkeletons_readsExactKey_notADecoy | 6ms |
| โ | DebugSettingsForceSkeletonsTests | testForceSkeletons_whenOverrideExplicitlyFalse_isFalse | 37ms |
| โ | DebugSettingsForceSkeletonsTests | testForceSkeletons_whenOverrideKeySet_isHonoredPerBuild | 5ms |
| โ | DebugSettingsForceSkeletonsTests | testForceSkeletons_whenOverrideKeyUnset_isFalse | 27ms |
| โ | DebugSettingsGapTests | testDebugSettings_isBorrowErrorSimulationEnabled_reflectsSimulatedBorrowError | 59ms |
| โ | DebugSettingsGapTests | testDebugSettings_isTestHoldsEnabled_reflectsTestHoldsConfiguration | 4ms |
| โ | DebugSettingsGapTests | testDebugSettings_resetAll_clearsBadgeLogging | 3ms |
| โ | DebugSettingsGapTests | testDebugSettings_resetAll_clearsState | 3ms |
| โ | DebugSettingsTests | testBadgeLogging_defaultFalse | 2ms |
| โ | DebugSettingsTests | testBadgeLogging_enabledStateIsResetByResetAll | 4ms |
| โ | DebugSettingsTests | testCreateSimulatedBorrowError_detailIsBannerPrefixed | 4ms |
| โ | DebugSettingsTests | testCreateSimulatedBorrowError_keepsDebugDomainAndStatus | 18ms |
| โ | DebugSettingsTests | testCreateSimulatedBorrowError_nilWhenDisabled | 4ms |
| โ | DebugSettingsTests | testCreateSimulatedBorrowError_preservesOriginalDetailBelowBanner | 2ms |
| โ | DebugSettingsTests | testCreateSimulatedBorrowError_returnsErrorWhenEnabled | 6ms |
| โ | DebugSettingsTests | testCreateSimulatedBorrowError_titleIsMarked | 2ms |
| โ | DebugSettingsTests | testCreateTestHoldBooks_allReady | 2ms |
| โ | DebugSettingsTests | testCreateTestHoldBooks_mixedHolds | 10ms |
| โ | DebugSettingsTests | testCreateTestHoldBooks_nilWhenDisabled | 7ms |
| โ | DebugSettingsTests | testCreateTestHoldBooks_oneReady | 2ms |
| โ | DebugSettingsTests | testCreateTestHoldBooks_oneReserved | 2ms |
| โ | DebugSettingsTests | testDefaultSimulatedBorrowError | 2ms |
| โ | DebugSettingsTests | testIsBorrowErrorSimulationEnabled | 39ms |
| โ | DebugSettingsTests | testIsTestHoldsEnabled | 2ms |
| โ | DebugSettingsTests | testResetAll | 3ms |
| โ | DebugSettingsTests | testSimulatedBorrowError_allCasesHaveDisplayNames | <1ms |
| โ | DebugSettingsTests | testSimulatedBorrowError_canBeSet | 3ms |
| โ | DebugSettingsTests | testSimulatedBorrowError_credentialsSuspended | 1ms |
| โ | DebugSettingsTests | testSimulatedBorrowError_generic | <1ms |
| โ | DebugSettingsTests | testSimulatedBorrowError_holdLimit | 12ms |
| โ | DebugSettingsTests | testSimulatedBorrowError_loanLimit | 1ms |
| โ | DebugSettingsTests | testSimulatedBorrowError_none_nilProblemDoc | <1ms |
| โ | DebugSettingsTests | testTestHoldsConfig_allCasesHaveDisplayNames | <1ms |
| โ | DebugSettingsTests | testTestHoldsConfig_allReady_badgeCount | 3ms |
| โ | DebugSettingsTests | testTestHoldsConfig_default | <1ms |
| โ | DebugSettingsTests | testTestHoldsConfig_mixedHolds_badgeCount | 2ms |
| โ | DebugSettingsTests | testTestHoldsConfig_none_badgeCount | <1ms |
| โ | DebugSettingsTests | testTestHoldsConfig_oneReady_badgeCount | 79ms |
| โ | DebugSettingsTests | testTestHoldsConfig_oneReserved_badgeCount | <1ms |
| โ | DefaultCatalogAPITests | testCatalogAPI_IntegrationWithRepository_HandlesErrors | 54ms |
| โ | DefaultCatalogAPITests | testCatalogAPI_IntegrationWithRepository_WorksCorrectly | 13ms |
| โ | DefaultCatalogAPITests | testExtractSearchEntryPoints_ActiveEntry_GetsSearchDescriptorURL | 2ms |
| โ | DefaultCatalogAPITests | testExtractSearchEntryPoints_FacetWithEmptyTitle_IsExcluded | 2ms |
| โ | DefaultCatalogAPITests | testExtractSearchEntryPoints_FeedWithNoFacets_ReturnsEmpty | 1ms |
| โ | DefaultCatalogAPITests | testExtractSearchEntryPoints_FirstEntryActive_MarkedCorrectly | 1ms |
| โ | DefaultCatalogAPITests | testExtractSearchEntryPoints_GroupsFeedURLs_AreCorrect | 1ms |
| โ | DefaultCatalogAPITests | testExtractSearchEntryPoints_InactiveEntries_HaveNilSearchDescriptorURL | 2ms |
| โ | DefaultCatalogAPITests | testExtractSearchEntryPoints_NoSearchLink_AllDescriptorURLsNil | 2ms |
| โ | DefaultCatalogAPITests | testExtractSearchEntryPoints_NonEntryPointFacets_AreExcluded | 2ms |
| โ | DefaultCatalogAPITests | testExtractSearchEntryPoints_SecondEntryActive_MarkedCorrectly | 2ms |
| โ | DefaultCatalogAPITests | testExtractSearchEntryPoints_StableIDs_MatchGroupsFeedURL | 1ms |
| โ | DefaultCatalogAPITests | testExtractSearchEntryPoints_ThreeEntryPoints_ReturnsAllThree | 5ms |
| โ | DefaultCatalogAPITests | testFetchFeed_AfterReset_CallCountResetsToZero | 8ms |
| โ | DefaultCatalogAPITests | testFetchFeed_DefaultResponse_UsedWhenNoStubSet | 6ms |
| โ | DefaultCatalogAPITests | testFetchFeed_DifferentURLs_ReturnDifferentStubs | 7ms |
| โ | DefaultCatalogAPITests | testFetchFeed_EmptyFeed_ReturnsEmptyEntries | 9ms |
| โ | DefaultCatalogAPITests | testFetchFeed_EmptyResponseData_ThrowsParsingError | 19ms |
| โ | DefaultCatalogAPITests | testFetchFeed_FailAfterMultipleCalls_SimulatesIntermittentFailure | 7ms |
| โ | DefaultCatalogAPITests | testFetchFeed_GlobalError_AffectsAllRequests | 6ms |
| โ | DefaultCatalogAPITests | testFetchFeed_InvalidXML_ThrowsParsingError | 7ms |
| โ | DefaultCatalogAPITests | testFetchFeed_MultipleCalls_TracksAllRequests | 7ms |
| โ | DefaultCatalogAPITests | testFetchFeed_NetworkError_ThrowsError | 3ms |
| โ | DefaultCatalogAPITests | testFetchFeed_ServerError500_ThrowsError | 7ms |
| โ | DefaultCatalogAPITests | testFetchFeed_SpecialCharactersInFeedTitle_ParsesCorrectly | 13ms |
| โ | DefaultCatalogAPITests | testFetchFeed_Timeout_ThrowsError | 8ms |
| โ | DefaultCatalogAPITests | testFetchFeed_TracksRequestDetails | 13ms |
| โ | DefaultCatalogAPITests | testFetchFeed_URLWithQueryParameters_PreservesParameters | 65ms |
| โ | DefaultCatalogAPITests | testFetchFeed_UnauthorizedError_ThrowsError | 6ms |
| โ | DefaultCatalogAPITests | testFetchFeed_UsesGETMethod | 25ms |
| โ | DefaultCatalogAPITests | testFetchFeed_ValidOPDSResponse_ReturnsParsedFeed | 18ms |
| โ | DeriveInitialStateTests | testDeriveInitialState_ForBookWithoutAcquisition_ReturnsUnsupported | 1ms |
| โ | DeriveInitialStateTests | testDeriveInitialState_ForReadyBook_ReturnsHolding | 9ms |
| โ | DeriveInitialStateTests | testDeriveInitialState_ForReservedBook_ReturnsHolding | 72ms |
| โ | DeriveInitialStateTests | testDeriveInitialState_ForStandardBook_ReturnsDownloadNeeded | 2ms |
| โ | DeveloperSettingsEngineeringTierTests | testEngineeringTools_noReceiptURL_isDeveloperBuild_shown | <1ms |
| โ | DeveloperSettingsEngineeringTierTests | testEngineeringTools_realAppStoreReceipt_hidden | 12ms |
| โ | DeveloperSettingsEngineeringTierTests | testEngineeringTools_receiptNameButMissingFile_isDevSim_shown | 17ms |
| โ | DeveloperSettingsEngineeringTierTests | testEngineeringTools_sandboxReceipt_isTestFlight_shown | <1ms |
| โ | DeveloperSettingsViewModelOverrideTests | testAppRatingForceEligibleToggle_writesThroughToLocalOverrideKey | 129ms |
| โ | DeveloperSettingsViewModelOverrideTests | testInAppPlaybackNavToggle_writesThroughToLocalOverrideKey | 8ms |
| โ | DeveloperSettingsViewModelOverrideTests | testTriageBotToggle_writesThroughToLocalOverrideKey | 377ms |
| โ | DeviceLogCollectorGapTests | testDeviceLogCollector_formatsTimestampInExpectedShape | 4ms |
| โ | DeviceLogCollectorGapTests | testDeviceLogCollector_rendersMultipleLevelsInOneCollection | 1ms |
| โ | DeviceLogCollectorTests | testCollectLogs_defaultDayRangeIsSeven | 23ms |
| โ | DeviceLogCollectorTests | testCollectLogs_emptySubsystemAndCategory_renderDashes | 2ms |
| โ | DeviceLogCollectorTests | testCollectLogs_headerReflectsDayRange | 405ms |
| โ | DeviceLogCollectorTests | testCollectLogs_levelStrings_mapEachLevelDistinctly | 7ms |
| โ | DeviceLogCollectorTests | testCollectLogs_logEntry_lineCarriesLevelSubsystemCategoryAndMessage | 4ms |
| โ | DeviceLogCollectorTests | testCollectLogs_outputIsValidUTF8 | 351ms |
| โ | DeviceLogCollectorTests | testCollectLogs_reportsExactEntryCount | 405ms |
| โ | DeviceLogCollectorTests | testCollectLogs_signpost_rendersSignpostTag | 4ms |
| โ | DeviceLogCollectorTests | testCollectLogs_sourceThrows_reportsAccessError | 8ms |
| โ | DeviceLogCollectorTests | testCollectLogs_truncatesAtByteBudget | 7ms |
| โ | DeviceLogCollectorTests | testCollectLogs_truncatesWhenSourceHitsEntryCap | 5ms |
| โ | DeviceLogCollectorTests | testCollectLogs_underEntryCap_doesNotTruncate | 56ms |
| โ | DeviceLogCollectorTests | testCollectLogs_zeroEntries_reportsZeroCountNotError | 7ms |
| โ | DeviceOrientationTests | testDeviceOrientation_isObservableObject | 46ms |
| โ | DeviceOrientationTests | testInitialIsLandscape_basedOnScreenDimensions | 1ms |
| โ | DeviceOrientationTests | testIsLandscape_isPublished | 2ms |
| โ | DeviceOrientationTests | testStartAndStopTracking_multipleTimesDoesNotCrash | 2ms |
| โ | DeviceOrientationTests | testStartTracking_doesNotCrash | 408ms |
| โ | DeviceOrientationTests | testStopTracking_beforeStartTracking_doesNotCrash | 6ms |
| โ | DeviceOrientationTests | testStopTracking_doesNotCrash | 2ms |
| โ | DeviceSpecificErrorMonitorTests | testGetDeviceID_isConsistent | 9ms |
| โ | DeviceSpecificErrorMonitorTests | testGetDeviceID_looksLikeUUIDAndFormatIsStableAcrossCalls | 12ms |
| โ | DeviceSpecificErrorMonitorTests | testGetDeviceID_returnsNonEmptyString | 2ms |
| โ | DeviceSpecificErrorMonitorTests | testGetDeviceInfo_containsExpectedKeys | 3ms |
| โ | DeviceSpecificErrorMonitorTests | testGetDeviceInfo_valuesAreNonEmpty | 208ms |
| โ | DeviceSpecificErrorMonitorTests | testInit_eachInstance_canQueryDeviceInfo | 1ms |
| โ | DeviceSpecificErrorMonitorTests | testInit_returnsIndependentInstance | 2ms |
| โ | DeviceSpecificErrorMonitorTests | testIsEnhancedLoggingEnabled_returnsBool | <1ms |
| โ | DeviceSpecificErrorMonitorTests | testLogError_doesNotCrashAndPreservesMonitorState | 1ms |
| โ | DeviceSpecificErrorMonitorTests | testLogError_withMetadata_doesNotCrash | 2ms |
| โ | DeviceSpecificErrorMonitorTests | testLogNetworkFailure_doesNotCrash | 494ms |
| โ | DictionaryExtensionsTests | testMapKeys_ChangesKeyType_StringToInt | <1ms |
| โ | DictionaryExtensionsTests | testMapKeys_CollidingKeys_OverwritesValue | 8ms |
| โ | DictionaryExtensionsTests | testMapKeys_EmptyDictionary_ReturnsEmpty | 2ms |
| โ | DictionaryExtensionsTests | testMapKeys_TransformsKeys_PreservesValues | 2ms |
| โ | DictionaryExtensionsTests | testMapKeys_UniqueTransform_PreservesCount | 296ms |
| โ | DirectionalNavigationAdapterOwnershipTests | testAdapterHeldByOwnerSurvivesBinding | <1ms |
| โ | DirectionalNavigationAdapterOwnershipTests | testBindingAloneDoesNotRetainAdapter | 12ms |
| โ | DiskBudgetManagerTests | testDefaultBudget_onLargeDevice_returnsRelaxedLargeDeviceQuota | 125ms |
| โ | DiskBudgetManagerTests | testDefaultBudget_onSmallDevice_returnsRelaxedSmallDeviceQuota | 2ms |
| โ | DiskBudgetManagerTests | testDirectoryUsageBytes_emptyDirectory_returnsZero | 1ms |
| โ | DiskBudgetManagerTests | testDirectoryUsageBytes_missingDirectory_returnsZero | 75ms |
| โ | DiskBudgetManagerTests | testDirectoryUsageBytes_sumsAllNonHiddenFiles | 13ms |
| โ | DiskBudgetManagerTests | testListContentFilesSortedByLRU_missingDirectory_returnsEmpty | 40ms |
| โ | DiskBudgetManagerTests | testListContentFilesSortedByLRU_returnsOldestFirst | 7ms |
| โ | DiskBudgetTests | testContentDirectory_createdOnAccess | 12ms |
| โ | DiskBudgetTests | testDiskSpace_available_returnsPositiveValue | <1ms |
| โ | DownloadAccountContextAdapterTests | testAuthSurfaceHosts_emptyWhenNoAccountLoaded | 18ms |
| โ | DownloadAccountContextAdapterTests | testCurrentAccountID_followsAccountSwitch | 37ms |
| โ | DownloadAccountContextAdapterTests | testCurrentAccountID_isDefaultsBackedCurrentAccountId | 371ms |
| โ | DownloadAccountContextAdapterTests | testCurrentUserAccount_returnsAccountsManagerCurrentInstance | 9ms |
| โ | DownloadAccountContextAdapterTests | testDownloadAuthStateMapping_coversEveryState | 169ms |
| โ | DownloadAccountContextAdapterTests | testIdentityFields_passThroughUnderlyingAccount | 11ms |
| โ | DownloadAccountContextAdapterTests | testIsSamlIsOidc_areTypeSpecific | 78ms |
| โ | DownloadAccountContextAdapterTests | testReauthStrategyMapping_coversEveryAuthType | 158ms |
| โ | DownloadAccountContextAdapterTests | testReauthStrategyMapping_nilAuthDefinition_isNone | 10ms |
| โ | DownloadAccountContextAdapterTests | testSetAuthToken_writesThroughProtocol | 13ms |
| โ | DownloadAccountContextAdapterTests | testUserAccountForAccount_returnsPerLibraryInstance | 8ms |
| โ | DownloadAlertPresenterTests | testAlertForProblemDocument_errorOnly_includesErrorDescription | 10ms |
| โ | DownloadAlertPresenterTests | testAlertForProblemDocument_genericProblem_keepsBookInRegistryAndAllowsRetry | 10ms |
| โ | DownloadAlertPresenterTests | testAlertForProblemDocument_noActiveLoan_removesFromRegistryAndDisablesRetry | 8ms |
| โ | DownloadAlertPresenterTests | testFailDownloadWithAlert_emptyMessage_alsoFallsBackToActionableText | 34ms |
| โ | DownloadAlertPresenterTests | testFailDownloadWithAlert_nilMessage_doesNotShowDeveloperPlaceholder | 10ms |
| โ | DownloadAlertPresenterTests | testFailDownloadWithAlert_nilMessage_includesActionableFallback | 10ms |
| โ | DownloadAlertPresenterTests | testFailDownloadWithAlert_retryAction_invokesStartDownloadOnce | 123ms |
| โ | DownloadAlertPresenterTests | testFailDownloadWithAlert_setsDownloadFailedAndAnnouncesAndPublishesError | 9ms |
| โ | DownloadAnnouncementServiceTests | testAnnounceBorrowFailed_forwardsTitle | 3ms |
| โ | DownloadAnnouncementServiceTests | testAnnounceBorrowStarted_forwardsTitle | 199ms |
| โ | DownloadAnnouncementServiceTests | testAnnounceBorrowSucceeded_forwardsTitle | 104ms |
| โ | DownloadAnnouncementServiceTests | testAnnounceDownloadCompleted_announcesAndResetsProgress | 134ms |
| โ | DownloadAnnouncementServiceTests | testAnnounceDownloadFailed_announcesAndResetsProgress | 6ms |
| โ | DownloadAnnouncementServiceTests | testAnnounceDownloadProgress_forwardsTitleIdentifierAndProgress | 2ms |
| โ | DownloadAnnouncementServiceTests | testAnnounceDownloadStarted_forwardsTitleAndIdentifier | 11ms |
| โ | DownloadAnnouncementServiceTests | testAnnounceReturnFailed_forwardsTitle | 3ms |
| โ | DownloadAnnouncementServiceTests | testAnnounceReturnStarted_forwardsTitle | 8ms |
| โ | DownloadAnnouncementServiceTests | testAnnounceReturnSucceeded_forwardsTitle | 6ms |
| โ | DownloadAnnouncementServiceTests | testCompletedAndFailed_orderingIsAnnounceThenReset | 2ms |
| โ | DownloadAnnouncementServiceTests | testIdentifierPropagation_distinctBooksAreNotAliased | 5ms |
| โ | DownloadAuthChallengeWitnessTests | testAuthChallengeCallback_isPresentInTheObjCRuntime | 57ms |
| โ | DownloadAuthChallengeWitnessTests | testBasicAuthChallenge_afterAPreviousFailure_cancelsInsteadOfReplaying | 25ms |
| โ | DownloadAuthChallengeWitnessTests | testBasicAuthChallenge_suppliesTheStoredBarcodeAndPIN | 20ms |
| โ | DownloadAuthChallengeWitnessTests | testBasicAuthChallenge_whenSignedOut_cancelsRatherThanRetrying | 59ms |
| โ | DownloadAuthChallengeWitnessTests | testChallengeOnDownload_afterTheTaskIsReissued_stillUsesTheOriginalAccount | 76ms |
| โ | DownloadAuthChallengeWitnessTests | testChallengeOnDownload_forATaskWithNoLiveMapping_fallsBackToTodaysBehaviour | 25ms |
| โ | DownloadAuthChallengeWitnessTests | testChallengeOnDownload_usesTheAccountTheDownloadStartedFor_notTheCurrentOne | 29ms |
| โ | DownloadAuthChallengeWitnessTests | testChallengeOnDownload_whenTheRecordHasNoAccount_fallsBackToTodaysBehaviour | 29ms |
| โ | DownloadAuthChallengeWitnessTests | testChallengeOnDownload_whenTheTaskIsMappedButHasNoRecord_fallsBackToTodaysBehaviour | 180ms |
| โ | DownloadAuthChallengeWitnessTests | testChallengeOnDownload_withAStartedTaskRecord_stillDefersOnServerTrust | 52ms |
| โ | DownloadAuthChallengeWitnessTests | testChallengeOnDownload_withTwoLibrariesDownloading_picksTheChallengingBooksAccount | 175ms |
| โ | DownloadAuthChallengeWitnessTests | testServerTrustChallenge_defersToTheSystem | 20ms |
| โ | DownloadAuthChallengeWitnessTests | testUnsupportedAuthenticationMethod_rejectsTheProtectionSpace | 32ms |
| โ | DownloadAuthRetryHandlerAuthCoordinatorTests | testCoordinator_401_OIDC_routesToCoordinator_setsDownloadNeeded_andRetriesOnSuccess | 442ms |
| โ | DownloadAuthRetryHandlerAuthCoordinatorTests | testCoordinator_401_SAML_routesToCoordinator_setsSAMLStarted_andRetriesOnSuccess | 428ms |
| โ | DownloadAuthRetryHandlerAuthCoordinatorTests | testCoordinator_401_SAML_userCancel_doesNotRetryButFlipsPerBookState | 532ms |
| โ | DownloadAuthRetryHandlerAuthCoordinatorTests | testCoordinator_noActiveLoan_SAML_routesToCoordinator_setsSAMLStarted | 450ms |
| โ | DownloadAuthRetryHandlerAuthCoordinatorTests | testForeignHost_401_SAML_doesNotMarkCredentialsStale_doesNotDispatchCoordinator | 441ms |
| โ | DownloadAuthRetryHandlerAuthCoordinatorTests | testForeignHost_401_SAML_withNilProvider_fallsBackToLegacyDispatch | 452ms |
| โ | DownloadAuthRetryHandlerTaskLifecycleTests | testCancelAllInFlightTasks_cancelsAndClearsAndPreventsRetry | 116ms |
| โ | DownloadAuthRetryHandlerTaskLifecycleTests | testHandlerRelease_weakSelfCapture_preventsPostReleaseRegistryWrites | 177ms |
| โ | DownloadAuthRetryHandlerTaskLifecycleTests | testInFlightTasks_areTrackedWhenLaunched_twoRetryPathsBothRetained | 18ms |
| โ | DownloadAuthRetryHandlerTaskLifecycleTests | testInFlightTasks_autoRemoveAfterEachCompletion_setDoesNotGrowUnbounded | 78ms |
| โ | DownloadAuthRetryHandlerTests | testAutoBorrowCompletion_whenBorrowFails_publishesAlertAndRemovesBook | 165ms |
| โ | DownloadAuthRetryHandlerTests | testAutoBorrowCompletion_whenBorrowSucceedsAndDownloadAlreadyFinished_doesNotPublishAlert | 183ms |
| โ | DownloadAuthRetryHandlerTests | testAutoBorrowCompletion_whenBorrowSucceedsAndDownloadStarts_doesNotPublishAlert | 167ms |
| โ | DownloadAuthRetryHandlerTests | testHandle_401_accountHost_browserSAML_guardDoesNotFire_drivesSAMLRetry | 167ms |
| โ | DownloadAuthRetryHandlerTests | testHandle_401_foreignHost_browserSAML_shortCircuitsReturnsFalse_noReauth | 279ms |
| โ | DownloadAuthRetryHandlerTests | testHandle_401_withCredentials_browserOIDC_presentsReauthAndRetriesOnLoggedIn | 171ms |
| โ | DownloadAuthRetryHandlerTests | testHandle_401_withCredentials_browserOIDC_userCancelsReauth_doesNotRetry | 176ms |
| โ | DownloadAuthRetryHandlerTests | testHandle_401_withCredentials_browserSAML_setsStateToSAMLStartedAndRetries | 198ms |
| โ | DownloadAuthRetryHandlerTests | testHandle_401_withCredentials_credentialPromptStrategy_fallsThroughReturnsFalse | 3ms |
| โ | DownloadAuthRetryHandlerTests | testHandle_401_withCredentials_tokenRefresh_returnsFalseSoCallerCanAlert | 48ms |
| โ | DownloadAuthRetryHandlerTests | testHandle_401_withoutCredentials_loginRequired_presentsSignInAndRetriesOnHasCredentials | 165ms |
| โ | DownloadAuthRetryHandlerTests | testHandle_401_withoutCredentials_loginRequired_userCancelsSignIn_doesNotRetry | 168ms |
| โ | DownloadAuthRetryHandlerTests | testHandle_403_foreignHost_noCredentials_guardDoesNotIntercept_signInStillFires | 6ms |
| โ | DownloadAuthRetryHandlerTests | testHandle_noActiveLoan_basicAuth_triggersAutoBorrowWithAttemptDownloadTrue | 8ms |
| โ | DownloadAuthRetryHandlerTests | testHandle_noActiveLoan_browserSAML_treatsAsSessionExpiryAndRetries | 175ms |
| โ | DownloadAuthRetryHandlerTests | testHandle_nonAuthError_withoutCredentials_loginRequired_presentsSignInModal | 8ms |
| โ | DownloadAuthRetryHandlerTests | testHandle_unrelatedFailure_anonymousAccount_returnsFalse | 6ms |
| โ | DownloadCancellationHandlerTests | testCancel_adobeDRMRights_shortCircuitsToAdobeCancel | 118ms |
| โ | DownloadCancellationHandlerTests | testCancel_noTaskInDownloadingState_setsDownloadNeededAndCleansUp | 36ms |
| โ | DownloadCancellationHandlerTests | testCancel_noTaskInSAMLStartedState_treatedAsCancellable | 29ms |
| โ | DownloadCancellationHandlerTests | testCancel_releasesTheLCPContentTransferRegistration | 2ms |
| โ | DownloadCancellationHandlerTests | testCancel_unknownIdentifierWithNonCancellableState_isNoOp | 5ms |
| โ | DownloadCancellationHandlerTests | testCancel_withTask_setsDownloadNeededAndCancelsTask | 10ms |
| โ | DownloadCancellationHandlerTests | testRejectedCancel_leavesTheRegistrationAlone | 6ms |
| โ | DownloadCompleteMomentTests | test_shouldPulseReadButton_doesNotRefireWhenAlreadySuccessful | 7ms |
| โ | DownloadCompleteMomentTests | test_shouldPulseReadButton_firesOnEntryToDownloadSuccessful | <1ms |
| โ | DownloadCompleteMomentTests | test_shouldPulseReadButton_ignoresOtherStates | <1ms |
| โ | DownloadCompleteMomentTests | test_shouldResetDownloadProgress_doesNotResetOutsideEntry | <1ms |
| โ | DownloadCompleteMomentTests | test_shouldResetDownloadProgress_doesNotResetWhileDownloading | <1ms |
| โ | DownloadCompleteMomentTests | test_shouldResetDownloadProgress_resetsOnEntryToDownloading | <1ms |
| โ | DownloadCompletionParserTests | testParse_OPDS2Publication_followUpFailed_returnsFailure | 4ms |
| โ | DownloadCompletionParserTests | testParse_OPDS2Publication_followUpStarted_returnsFollowUpStarted | 95ms |
| โ | DownloadCompletionParserTests | testParse_OPDSEntry_followUpFailed_returnsFailure | 323ms |
| โ | DownloadCompletionParserTests | testParse_OPDSEntry_followUpStarted_returnsFollowUpStarted | 16ms |
| โ | DownloadCompletionParserTests | testParse_knownRightsInCache_skipsDetection | 9ms |
| โ | DownloadCompletionParserTests | testParse_problemDocument_returnsFailureWithParsedDoc | 5ms |
| โ | DownloadCompletionParserTests | testParse_supportedMime_returnsProceed | 20ms |
| โ | DownloadCompletionParserTests | testParse_unknownRights_detectsFromMimeAndUpdatesCache | 5ms |
| โ | DownloadCompletionParserTests | testParse_unsupportedMime_returnsFailure | 114ms |
| โ | DownloadCoordinatorIntegrationTests | testCoordinator_concurrentCompletions_maintainsConsistency | 11ms |
| โ | DownloadCoordinatorIntegrationTests | testCoordinator_concurrentRegistrations_maintainsConsistency | 23ms |
| โ | DownloadCoordinatorIntegrationTests | testCoordinator_downloadInfoCache_storesMultipleEntries | 39ms |
| โ | DownloadCoordinatorIntegrationTests | testCoordinator_downloadInfoCache_updatesExistingEntry | 10ms |
| โ | DownloadCoordinatorIntegrationTests | testCoordinator_mixedOperations_maintainsConsistency | 15ms |
| โ | DownloadCoordinatorIntegrationTests | testCoordinator_partialDequeue_leavesRemainder | 21ms |
| โ | DownloadCoordinatorIntegrationTests | testCoordinator_queueFIFO_maintainsOrder | 10ms |
| โ | DownloadCoordinatorIntegrationTests | testCoordinator_throttling_returnsDelayAfterRecentStart | 3ms |
| โ | DownloadCoordinatorIntegrationTests | testCoordinator_throttling_returnsZeroAfterDelay | 2ms |
| โ | DownloadCoordinatorIntegrationTests | testCoordinator_zeroCapacityDequeue_returnsEmpty | 8ms |
| โ | DownloadCoordinatorTests | testCoordinator_cacheDownloadInfo_storesAndRetrieves | 8ms |
| โ | DownloadCoordinatorTests | testCoordinator_canStartDownload_respectsMaxConcurrent | 9ms |
| โ | DownloadCoordinatorTests | testCoordinator_canStartDownload_withinLimit | 6ms |
| โ | DownloadCoordinatorTests | testCoordinator_dequeuePending_returnsBooks | 5ms |
| โ | DownloadCoordinatorTests | testCoordinator_enqueuePending_addsToQueue | 11ms |
| โ | DownloadCoordinatorTests | testCoordinator_enqueuePending_preventsDuplicates | 4ms |
| โ | DownloadCoordinatorTests | testCoordinator_redirectAttempts_tracksCorrectly | 21ms |
| โ | DownloadCoordinatorTests | testCoordinator_registerCompletion_decrementsActiveCount | 9ms |
| โ | DownloadCoordinatorTests | testCoordinator_registerStart_incrementsActiveCount | 10ms |
| โ | DownloadCoordinatorTests | testCoordinator_removeCachedDownloadInfo_removesEntry | 4ms |
| โ | DownloadCoordinatorTests | testCoordinator_reset_clearsAllState | 5ms |
| โ | DownloadDiskSpaceTests | testAvailableDiskSpace_isPositive | 2ms |
| โ | DownloadDiskSpaceTests | testDocumentsDirectory_exists | <1ms |
| โ | DownloadErrorInfoTests | testConvenienceInit_setsFieldsCorrectly | <1ms |
| โ | DownloadErrorInfoTests | testFullInit_withNilRetryAction | <1ms |
| โ | DownloadErrorInfoTests | testFullInit_withRetryAction | <1ms |
| โ | DownloadErrorRecoveryPolicyTests | testBorrowPolicy_doesNotRetryOnFatalErrors | <1ms |
| โ | DownloadErrorRecoveryPolicyTests | testBorrowPolicy_recoversAfterNoActiveLoan | 22ms |
| โ | DownloadErrorRecoveryPolicyTests | testBorrowPolicy_retriesOnAllTransientErrors | 66ms |
| โ | DownloadErrorRecoveryPolicyTests | testDefaultPolicy_hasReasonableDefaults | 1ms |
| โ | DownloadErrorRecoveryPolicyTests | testExecuteWithRetry_failsAfterMaxAttempts | 24ms |
| โ | DownloadErrorRecoveryPolicyTests | testExecuteWithRetry_immediateSuccess_noRetries | 8ms |
| โ | DownloadErrorRecoveryPolicyTests | testExecuteWithRetry_nonRetryableError_failsImmediately | 20ms |
| โ | DownloadErrorRecoveryPolicyTests | testExecuteWithRetry_retriesOnTransientError | 43ms |
| โ | DownloadErrorRecoveryPolicyTests | testExecuteWithRetry_successfulOperation_returnsResult | 1ms |
| โ | DownloadErrorRecoveryPolicyTests | testExecuteWithRetry_worksWithDifferentTypes | 78ms |
| โ | DownloadErrorRecoveryPolicyTests | testPolicyPresets_areOrderedByAggressiveness | <1ms |
| โ | DownloadErrorRecoveryTests | testErrorRecovery_cancelledDownload_resetsToDownloadNeeded | 5ms |
| โ | DownloadErrorRecoveryTests | testErrorRecovery_downloadFailed_allowsRetry | 5ms |
| โ | DownloadErrorRecoveryTests | testErrorRecovery_multipleFailures_trackedSeparately | 7ms |
| โ | DownloadFreeSpaceExhaustionTests | testDefaultDiskBudget_normalDeviceBranch | 19ms |
| โ | DownloadFreeSpaceExhaustionTests | testDefaultDiskBudget_smallDeviceBranch | 28ms |
| โ | DownloadFreeSpaceExhaustionTests | testDirectoryUsage_countsLCPFilesEvenIfThoseFilesArePreservedDuringEviction | 3ms |
| โ | DownloadFreeSpaceExhaustionTests | testEviction_atExactBudget_doesNothing | 4ms |
| โ | DownloadFreeSpaceExhaustionTests | testEviction_bytesToAddExceedsBudgetButDirectoryEmpty_isNoOp | 306ms |
| โ | DownloadFreeSpaceExhaustionTests | testEviction_evictsOnlyOldestWhenSufficient | 15ms |
| โ | DownloadFreeSpaceExhaustionTests | testEviction_orphan_reclaimedButRegistryUntouched | 6ms |
| โ | DownloadFreeSpaceExhaustionTests | testLRUSort_producesOldestFirst | 6ms |
| โ | DownloadFreeSpaceExhaustionTests | testMoveFile_destinationParentReadOnly_failsCleanly | 24ms |
| โ | DownloadFreeSpaceExhaustionTests | testMoveFile_disk_out_leavesNoPartialGarbageAtDestination | 8ms |
| โ | DownloadFreeSpaceExhaustionTests | testReplaceBook_destinationParentReadOnly_failsCleanly | 6ms |
| โ | DownloadInfoTests | testDownloadInfo_creation_setsInitialValues | 71ms |
| โ | DownloadInfoTests | testDownloadInfo_progressUpdates_handlesEdgeCases | <1ms |
| โ | DownloadInfoTests | testDownloadInfo_rightsManagementString_returnsCorrectString | 2ms |
| โ | DownloadInfoTests | testDownloadInfo_withDownloadProgress_createsNewInstance | 2ms |
| โ | DownloadInfoTests | testDownloadInfo_withRightsManagement_createsNewInstance | 1ms |
| โ | DownloadIntegrityTests | testMoveFile_firstDownload_landsExactBytes | 8ms |
| โ | DownloadIntegrityTests | testReplaceBook_byteForByteHashMatch | 15ms |
| โ | DownloadIntegrityTests | testReplaceBook_manifestReFetch_overwritesOldManifest | 9ms |
| โ | DownloadIntegrityTests | testReplaceBook_openAccessAudiobookManifest_writesAndMarksSuccessful | 10ms |
| โ | DownloadIntegrityTests | testReplaceBook_sameSizeDifferentBytes_writesNewBytes | 22ms |
| โ | DownloadIntegrityTests | testReplaceBook_validationFailureLeavesRegistryUnchanged | 4ms |
| โ | DownloadIntegrityTests | testValidate_missingFile_fails | 48ms |
| โ | DownloadIntegrityTests | testValidate_nonEmptyFile_passes | 4ms |
| โ | DownloadIntegrityTests | testValidate_repeatedCallsAreIdempotent | 6ms |
| โ | DownloadIntegrityTests | testValidate_zeroByteFile_fails | 6ms |
| โ | DownloadOnlyOnWiFiTests | testAccessibilityIdentifier_exists | <1ms |
| โ | DownloadOnlyOnWiFiTests | testDefaultValue_isFalse | 52ms |
| โ | DownloadOnlyOnWiFiTests | testLocalizedStrings_areNotEmpty | <1ms |
| โ | DownloadOnlyOnWiFiTests | testMock_canBeConfigured | <1ms |
| โ | DownloadOnlyOnWiFiTests | testMock_defaultIsFalse | <1ms |
| โ | DownloadOnlyOnWiFiTests | testMock_resetClearsSetting | <1ms |
| โ | DownloadOnlyOnWiFiTests | testReachability_isOnWiFi_consistentWithDetailedStatus | <1ms |
| โ | DownloadOnlyOnWiFiTests | testReachability_isOnWiFi_returnsBool | 2ms |
| โ | DownloadOnlyOnWiFiTests | testSetting_persistsAcrossReads | 3ms |
| โ | DownloadOnlyOnWiFiTests | testSetting_persistsToUserDefaultsAcrossToggleCycle | 4ms |
| โ | DownloadPersistenceStoreTests | testBookDownloadsOverallProgress | 55ms |
| โ | DownloadPersistenceStoreTests | testGetIncompleteDownloads | 4ms |
| โ | DownloadPersistenceStoreTests | testMarkCompleted | 5ms |
| โ | DownloadPersistenceStoreTests | testRegisterDownload | 39ms |
| โ | DownloadPersistenceStoreTests | testUpdateProgress | 62ms |
| โ | DownloadProgressPublisherCoreTests | testAnnounceBorrowFailed_doesNotCrash | 2ms |
| โ | DownloadProgressPublisherCoreTests | testAnnounceBorrowStarted_doesNotCrash | 5ms |
| โ | DownloadProgressPublisherCoreTests | testAnnounceBorrowSucceeded_doesNotCrash | 46ms |
| โ | DownloadProgressPublisherCoreTests | testAnnounceDownloadCompleted_doesNotCrash | 2ms |
| โ | DownloadProgressPublisherCoreTests | testAnnounceDownloadFailed_doesNotCrash | 31ms |
| โ | DownloadProgressPublisherCoreTests | testAnnounceDownloadProgress_doesNotCrash | 295ms |
| โ | DownloadProgressPublisherCoreTests | testAnnounceDownloadStarted_doesNotCrash | 16ms |
| โ | DownloadProgressPublisherCoreTests | testAnnounceReturnFailed_doesNotCrash | 123ms |
| โ | DownloadProgressPublisherCoreTests | testAnnounceReturnStarted_doesNotCrash | 18ms |
| โ | DownloadProgressPublisherCoreTests | testAnnounceReturnSucceeded_doesNotCrash | 3ms |
| โ | DownloadProgressPublisherCoreTests | testBroadcastUpdate_postsNotification | 6ms |
| โ | DownloadProgressPublisherCoreTests | testBroadcastUpdate_throttles_rapidCalls | 527ms |
| โ | DownloadProgressPublisherCoreTests | testBroadcastUpdate_usesNotificationSender | 6ms |
| โ | DownloadProgressPublisherCoreTests | testClearTransfer_dropsTheRegistrationWithoutACompletion | 387ms |
| โ | DownloadProgressPublisherCoreTests | testClearTransfer_forAnUnregisteredBook_publishesNothing | 6ms |
| โ | DownloadProgressPublisherCoreTests | testClearTransfer_publishesTheInactiveEdge | 7ms |
| โ | DownloadProgressPublisherCoreTests | testConformsToDownloadProgressPublishing | <1ms |
| โ | DownloadProgressPublisherCoreTests | testIdleExpiry_publishesTheInactiveEdge | 5ms |
| โ | DownloadProgressPublisherCoreTests | testPublishAndAnnounceError_publishesOnErrorPublisher | 1ms |
| โ | DownloadProgressPublisherCoreTests | testPublishAndAnnounceError_withRetryAction | 2ms |
| โ | DownloadProgressPublisherCoreTests | testSendProgress_differentBooks_publishesSeparately | 6ms |
| โ | DownloadProgressPublisherCoreTests | testSendProgress_multipleUpdates_allReceived | 38ms |
| โ | DownloadProgressPublisherCoreTests | testSendProgress_publishesOnProgressPublisher | 44ms |
| โ | DownloadProgressPublisherCoreTests | testTransferRegistry_clearsOnCompletion | 1ms |
| โ | DownloadProgressPublisherCoreTests | testTransferRegistry_expiresATransferThatHasGoneQuiet | <1ms |
| โ | DownloadProgressPublisherCoreTests | testTransferRegistry_heartbeatKeepsALongDownloadAlive | <1ms |
| โ | DownloadProgressPublisherCoreTests | testTransferRegistry_isScopedPerBook | <1ms |
| โ | DownloadProgressPublisherCoreTests | testTransferRegistry_progressForAnUnregisteredBookDoesNotRegisterIt | <1ms |
| โ | DownloadProgressPublisherCoreTests | testTransferRegistry_reflectsActiveImmediately_withoutAwaitingThePublish | 2ms |
| โ | DownloadQueueIntegrationTests | testMaxConcurrentDownloads_limitsActiveDownloads | 1ms |
| โ | DownloadQueueIntegrationTests | testQueuedBooks_preserveOrderAcrossMultipleDequeues | 11ms |
| โ | DownloadQueueIntegrationTests | testQueuedBooks_startedWhenCapacityAvailable | 8ms |
| โ | DownloadQueueOrchestratorTests | testEnqueuePending_appendsToCoordinatorPendingQueue | 17ms |
| โ | DownloadQueueOrchestratorTests | testEnqueuePending_doesNotPostOnDefaultCenter_whenInjectedCenterDiffers | 31ms |
| โ | DownloadQueueOrchestratorTests | testEnqueuePending_marksBookAsDownloadingInRegistry | 6ms |
| โ | DownloadQueueOrchestratorTests | testEnqueuePending_postsDidChangeNotificationOnInjectedCenter | 5ms |
| โ | DownloadQueueOrchestratorTests | testSchedulePendingStartsAsync_atCap_doesNotDequeueOrCallDelegate | 9ms |
| โ | DownloadQueueOrchestratorTests | testSchedulePendingStartsAsync_emptyQueue_doesNotCallDelegate | 6ms |
| โ | DownloadQueueOrchestratorTests | testSchedulePendingStartsAsync_passesNilRequestToDelegate | 83ms |
| โ | DownloadQueueOrchestratorTests | testSchedulePendingStartsAsync_underCap_dequeuesUpToRemainingCapacityInFIFOOrder | 11ms |
| โ | DownloadQueueOrchestratorTests | testSchedulePendingStartsIfPossible_drivesDelegateAsynchronously | 39ms |
| โ | DownloadRMSDKHandoffTests | testHandoff_cancellation_resetsRegistryAndBroadcasts | 23ms |
| โ | DownloadRMSDKHandoffTests | testHandoff_destinationURLUnresolvable_silentEarlyReturn | 42ms |
| โ | DownloadRMSDKHandoffTests | testHandoff_didFinishFalse_propagatesAsFailureAlert | 12ms |
| โ | DownloadRMSDKHandoffTests | testHandoff_fullSuccessPath_persistsRightsAndFulfillmentID | 13ms |
| โ | DownloadRMSDKHandoffTests | testHandoff_missingAdeptToURL_failsWithAlert | 32ms |
| โ | DownloadRMSDKHandoffTests | testHandoff_noAuthorization_isDiagnosticOnly_noRegistryMutation | 5ms |
| โ | DownloadRMSDKHandoffTests | testHandoff_nonReturnable_skipsFulfillmentIDPersistence | 25ms |
| โ | DownloadRMSDKHandoffTests | testHandoff_progressForwarding_invokesDelegateWithExactValues | 4ms |
| โ | DownloadRMSDKHandoffTests | testHandoff_progressForwarding_preservesOrderAcrossMultipleCallbacks | 3ms |
| โ | DownloadRMSDKHandoffTests | testHandoff_returnableButNoFulfillmentID_marksSuccessfulButSkipsIDPersistence | 8ms |
| โ | DownloadRMSDKHandoffTests | testHandoff_sourceFileVanishesBeforeCopy_failsWithAlert | 124ms |
| โ | DownloadRMSDKHandoffTests | testHandoff_undecodableRightsData_abortsWithoutSuccess | 116ms |
| โ | DownloadRMSDKHandoffTests | testHandoff_unknownTag_silentEarlyReturn | 5ms |
| โ | DownloadReconciliationLaunchOrderContractTests | testLaunchReconciliation_callOrder_registryLoad_getAllTasks_reconcile_apply | 17ms |
| โ | DownloadReconciliationLaunchOrderContractTests | testLaunchReconciliation_registryNotLoaded_gatesBeforeAnyTaskOrPersistenceRead | 2ms |
| โ | DownloadReconciliationTests | testAmbiguousURL_butExactIdentifierMatch_prefersTheExactTask | 60ms |
| โ | DownloadReconciliationTests | testAmbiguousURL_completedBook_isCleanedUpNotRestarted | <1ms |
| โ | DownloadReconciliationTests | testAmbiguousURL_declinesInEveryWantsContentState | <1ms |
| โ | DownloadReconciliationTests | testAmbiguousURL_twoLiveTasksSameURL_isNotAdopted | <1ms |
| โ | DownloadReconciliationTests | testCollidingTaskIdentifier_differentURL_restartsWhenStillWanted | 3ms |
| โ | DownloadReconciliationTests | testContestedURL_completedBooks_areCleanedUpNotRestarted | <1ms |
| โ | DownloadReconciliationTests | testContestedURL_decisionIsRestart_inEveryWantsContentState | 4ms |
| โ | DownloadReconciliationTests | testContestedURL_doesNotBlockAnUnrelatedRecordInTheSamePass | 1ms |
| โ | DownloadReconciliationTests | testDeadTask_downloadFailed_isMarkedFailed | 64ms |
| โ | DownloadReconciliationTests | testDeadTask_downloadNeeded_isRestarted | <1ms |
| โ | DownloadReconciliationTests | testDeadTask_downloadSuccessful_isCleanedUp | <1ms |
| โ | DownloadReconciliationTests | testDeadTask_downloading_isRestarted | 1ms |
| โ | DownloadReconciliationTests | testDeadTask_holding_isCleanedUp | <1ms |
| โ | DownloadReconciliationTests | testDeadTask_noRegistryEntry_isCleanedUp | <1ms |
| โ | DownloadReconciliationTests | testDeadTask_returning_isCleanedUp | 1ms |
| โ | DownloadReconciliationTests | testDeadTask_samlStarted_isRestarted | 2ms |
| โ | DownloadReconciliationTests | testDeadTask_unregistered_isCleanedUp | 3ms |
| โ | DownloadReconciliationTests | testDeadTask_unsupported_isCleanedUp | 2ms |
| โ | DownloadReconciliationTests | testDeadTask_used_isCleanedUp | 6ms |
| โ | DownloadReconciliationTests | testEmptyPersisted_yieldsNoDecisions | 12ms |
| โ | DownloadReconciliationTests | testLiveTask_isAdopted_evenIfRegistrySaysFailed | 93ms |
| โ | DownloadReconciliationTests | testLiveTask_isAdopted_evenWithNoRegistryEntry | 1ms |
| โ | DownloadReconciliationTests | testLiveTask_isAdopted_notRestarted_downloadingState | 2.04s |
| โ | DownloadReconciliationTests | testMatchingTaskIdentifierAndURL_isStillAdopted | 45ms |
| โ | DownloadReconciliationTests | testMixedBatch_eachRecordDecidedIndependently_orderPreserved | <1ms |
| โ | DownloadReconciliationTests | testRelaunch_identifierReusedByAnotherDownload_adoptsByURL | <1ms |
| โ | DownloadReconciliationTests | testSameURL_renumberedTaskIdentifier_isAdoptedWithTheLiveIdentifier | 82ms |
| โ | DownloadReconciliationTests | testTwoBooksSharingOneDownloadURL_neitherIsAdopted | <1ms |
| โ | DownloadReconciliationTests | testTwoLiveRecords_bothAdopted_withOwnTaskIdentifiers | <1ms |
| โ | DownloadRedirectTests | testBearerTokenJSON_shouldUseDistributorToken_notPalaceToken | <1ms |
| โ | DownloadRedirectTests | testRedirectRequest_crossDomain_shouldNotContainAuthHeader | 2ms |
| โ | DownloadRedirectTests | testRedirectRequest_sameDomain_shouldNotContainAuthHeader | 4ms |
| โ | DownloadRedirectTests | testRedirectRequest_shouldNotContainAuthHeader_whenFollowingRedirect | 536ms |
| โ | DownloadRedirectTests | testRedirect_httpsToHttp_shouldBeBlocked | 349ms |
| โ | DownloadRedirectTests | testRedirect_httpsToHttps_shouldBeAllowed | 3ms |
| โ | DownloadRedirectTests | testRedirect_maxRedirectAttempts_shouldBeEnforced | 2ms |
| โ | DownloadReissuePersistenceTests | testAcquisitionLinkTask_isNotAdoptedByAnotherBookSharingItsURL | 1.74s |
| โ | DownloadReissuePersistenceTests | testBearerTokenHop_persistsTheTaskItStarts | 715ms |
| โ | DownloadReissuePersistenceTests | testBearerTokenHop_preservesTheAccountTheDownloadStartedUnder | 463ms |
| โ | DownloadReissuePersistenceTests | testBearerTokenHop_reportsALiveFollowUpTask_soTheCallerKeepsTheRecord | 84ms |
| โ | DownloadReissuePersistenceTests | testControl_anUnrecordedTaskOnAnotherBooksURL_isAdopted | 1.27s |
| โ | DownloadReissuePersistenceTests | testFollowAcquisitionLink_persistsTheTaskItStarts | 1.16s |
| โ | DownloadReissuePersistenceTests | testFollowAcquisitionLink_preservesTheAccountTheDownloadStartedUnder | 392ms |
| โ | DownloadReissuePersistenceTests | testFollowAcquisitionLink_whenTheBookIdentifierChanges_carriesTheAccountAndDropsTheStaleRecord | 377ms |
| โ | DownloadReissuePersistenceTests | testFollowAcquisitionLink_withNoPriorRecord_recordsAnEmptyAccount | 1.32s |
| โ | DownloadReissuePersistenceTests | testHandleDownloadCompletion_bearerHop_keepsTheRecordForTheLiveTask | 2.32s |
| โ | DownloadReissuePersistenceTests | testHandleDownloadCompletion_opdsFollowUp_keepsTheRecordForTheLiveTask | 328ms |
| โ | DownloadReissuePersistenceTests | testHandleDownloadCompletion_parseFailure_stillRetiresTheRecord | 1.80s |
| โ | DownloadReissuePersistenceTests | testHandleDownloadCompletion_resetsTheTransferRetryCounter | 1.57s |
| โ | DownloadReissuePersistenceTests | testHandleDownloadCompletion_withoutAFollowUp_stillRetiresTheRecord | 928ms |
| โ | DownloadReissuePersistenceTests | testNonFollowUpDispatch_reportsNoLiveTask | 789ms |
| โ | DownloadReissuePersistenceTests | testPersistReissuedTask_stampsTheInheritedAccountOnTheLiveTask | 183ms |
| โ | DownloadReissuePersistenceTests | testPersistReissuedTask_withNothingToInherit_leavesTheTaskUnstamped | 1.13s |
| โ | DownloadReissuePersistenceTests | testReissue_whenNeitherSourceNorTargetHasARecord_writesAnEmptyAccount | 5.66s |
| โ | DownloadReissuePersistenceTests | testReissue_whenTheSourceHasNoRecordButTheTargetDoes_keepsTheTargetsAccount | 27ms |
| โ | DownloadResumeAfterKillTests | testCancel_at99PercentProgress_resetsStateAndClearsMaps | 10ms |
| โ | DownloadResumeAfterKillTests | testMoveFile_overStalePartialAtDestination_removesAndReplaces | 8ms |
| โ | DownloadResumeAfterKillTests | testReplaceBook_missingSourceAfterKill_failsCleanly | 7ms |
| โ | DownloadResumeAfterKillTests | testReplaceBook_noDoubleWriteOrConcatenation | 7ms |
| โ | DownloadResumeAfterKillTests | testReplaceBook_partialAtDestination_isReplacedByFreshFullPayload | 5ms |
| โ | DownloadResumeAfterKillTests | testReplaceBook_truncatedResumePayload_failsValidationAndStateUnchanged | 18ms |
| โ | DownloadResumeAfterKillTests | testValidateDownloadedFile_after99PercentCancelLeavesZeroBytes_returnsFalse | 18ms |
| โ | DownloadSlotManagementTests | testHoldingState_bookRegistryTracksCorrectly | 2ms |
| โ | DownloadSlotManagementTests | testStateTransition_completeDownloadFlow | 2ms |
| โ | DownloadSlotManagementTests | testStateTransition_downloadingToFailed | 2ms |
| โ | DownloadSlotManagementTests | testStateTransition_downloadingToHolding | 3ms |
| โ | DownloadSlotManagementTests | testStateTransitions_holdingStateIsTracked | 2ms |
| โ | DownloadStartCoordinatorContractTests | test_startDownload_downloadNeeded_callsProcessWithCredentials | 59ms |
| โ | DownloadStartCoordinatorContractTests | test_startDownload_downloadSuccessful_isNonsensical_returns | 28ms |
| โ | DownloadStartCoordinatorContractTests | test_startDownload_downloadingState_isShortCircuited | 11ms |
| โ | DownloadStartCoordinatorContractTests | test_startDownload_holding_callsStartBorrow_withAttemptDownloadTrue | 80ms |
| โ | DownloadStartCoordinatorContractTests | test_startDownload_unregistered_routesThroughProcessUnregistered | 9ms |
| โ | DownloadStartCoordinatorTests | testStartBorrow_resultsInHolding_releasesSlotAndSchedules | 54ms |
| โ | DownloadStartCoordinatorTests | testStartBorrow_success_invokesCompletionAndDoesNotReleaseSlot | 16ms |
| โ | DownloadStartCoordinatorTests | testStartBorrow_throws_releasesSlotAndSchedulesAndCallsCompletion | 17ms |
| โ | DownloadStartCoordinatorTests | testStartDownloadAsync_alreadyDownloadingState_skips | 19ms |
| โ | DownloadStartCoordinatorTests | testStartDownloadAsync_anotherBooksTransfer_doesNotBlockThisDownload | 188ms |
| โ | DownloadStartCoordinatorTests | testStartDownloadAsync_capExceeded_enqueuesPending | 8ms |
| โ | DownloadStartCoordinatorTests | testStartDownloadAsync_credentialsAvailable_dispatches | 26ms |
| โ | DownloadStartCoordinatorTests | testStartDownloadAsync_existingDownloadInProgress_skipsDuplicate | 24ms |
| โ | DownloadStartCoordinatorTests | testStartDownloadAsync_lcpContentTransferAlreadyRunning_skipsDuplicate | 118ms |
| โ | DownloadStartCoordinatorTests | testStartDownloadAsync_terminalState_isNonsensicalNoOp | 21ms |
| โ | DownloadStartCoordinatorTests | testStartDownloadAsync_unregisteredState_callsProcessUnregisteredFirst | 9ms |
| โ | DownloadStartDispatcherContractTests | test_regular_downloadNeededWithBorrow_setUnregisteredThenAutoBorrow | 6ms |
| โ | DownloadStartDispatcherContractTests | test_regular_expiredWithBorrow_setUnregisteredThenReBorrow | 58ms |
| โ | DownloadStartDispatcherContractTests | test_regular_noAcquisitionURL_logsInvalidRequest | 2ms |
| โ | DownloadStartDispatcherContractTests | test_regular_normal_clearCookiesThenAddDownloadTask | 5ms |
| โ | DownloadStartDispatcherContractTests | test_regular_samlWithCookies_routesSAMLHandler_noDownloadTask | 29ms |
| โ | DownloadStartDispatcherContractTests | test_regular_wifiOnlyEnforced_failsWifi_noDownloadTask | 5ms |
| โ | DownloadStartDispatcherContractTests | test_unregisteredState_borrowLink_staysUnregistered_emitsNothing | 2ms |
| โ | DownloadStartDispatcherContractTests | test_unregisteredState_openAccess_seedsDownloadNeeded | 2ms |
| โ | DownloadStartDispatcherContractTests | test_withCredentials_holding_routesStartBorrow | 2ms |
| โ | DownloadStartDispatcherContractTests | test_withCredentials_overdriveAudiobook_divertsToOverdriveHandler | 3ms |
| โ | DownloadStartDispatcherContractTests | test_withCredentials_streamingHTML_returnsEarly_emitsNothing | 6ms |
| โ | DownloadStartDispatcherContractTests | test_withCredentials_unregistered_routesStartBorrow | 2ms |
| โ | DownloadStartDispatcherTests | testProcessDownloadWithCredentials_epubBook_stillCallsStartBorrow | 2ms |
| โ | DownloadStartDispatcherTests | testProcessDownloadWithCredentials_holding_routesToStartBorrow | 1ms |
| โ | DownloadStartDispatcherTests | testProcessDownloadWithCredentials_nonBorrowStates_doNotCallStartBorrow | 11ms |
| โ | DownloadStartDispatcherTests | testProcessDownloadWithCredentials_overdriveDistributorEpub_doesNotRouteToOverdriveHandler | 34ms |
| โ | DownloadStartDispatcherTests | testProcessDownloadWithCredentials_streamingHTMLBook_returnsEarlyWithoutCallingStartBorrow | 2ms |
| โ | DownloadStartDispatcherTests | testProcessDownloadWithCredentials_streamingHTMLBook_unregisteredState_alsoReturnsEarly | 2ms |
| โ | DownloadStartDispatcherTests | testProcessDownloadWithCredentials_unregistered_routesToStartBorrow | 2ms |
| โ | DownloadStartDispatcherTests | testProcessRegularDownload_downloadNeededAutoBorrow_completionFires_withDownloadingState | 32ms |
| โ | DownloadStartDispatcherTests | testProcessRegularDownload_downloadNeededAutoBorrow_completionFires_withHoldingState | 37ms |
| โ | DownloadStartDispatcherTests | testProcessRegularDownload_downloadNeededWithBorrowLink_triggersAutoBorrow | 4ms |
| โ | DownloadStartDispatcherTests | testProcessRegularDownload_expiredBookWithBorrowLink_triggersReBorrow | 41ms |
| โ | DownloadStartDispatcherTests | testProcessRegularDownload_initedRequestPassedThrough_overridesAcquisitionURL | 3ms |
| โ | DownloadStartDispatcherTests | testProcessRegularDownload_nonSamlStateWithCookies_doesNotRouteToSAMLHandler | 5ms |
| โ | DownloadStartDispatcherTests | testProcessRegularDownload_normalOpenAccess_callsAddDownloadTaskWithBearerRequest | 5ms |
| โ | DownloadStartDispatcherTests | testProcessRegularDownload_samlStateWithoutCookies_fallsThroughToAddDownloadTask | 10ms |
| โ | DownloadStartDispatcherTests | testProcessRegularDownload_samlState_routesThroughSAMLHandler | 12ms |
| โ | DownloadStartDispatcherTests | testProcessRegularDownload_unexpiredBookWithBorrowLink_doesNotReBorrowViaExpiredBranch | 5ms |
| โ | DownloadStartDispatcherTests | testProcessRegularDownload_wifiOnlyEnforced_failsAndDoesNotStartDownload | 4ms |
| โ | DownloadStartDispatcherTests | testProcessRegularDownload_wifiOnlyToggleOff_offWifi_proceedsWithDownload | 10ms |
| โ | DownloadStartDispatcherTests | testProcessRegularDownload_wifiOnlyToggleOn_onWifi_proceedsWithDownload | 8ms |
| โ | DownloadStartDispatcherTests | testProcessUnregisteredState_hasBorrowLink_doesNotRegister | 1ms |
| โ | DownloadStartDispatcherTests | testProcessUnregisteredState_loginNotRequired_noBorrowLink_registersAsDownloadNeeded | 33ms |
| โ | DownloadStartDispatcherTests | testProcessUnregisteredState_loginRequiredNoOpenAccess_returnsUnregistered | 2ms |
| โ | DownloadStartDispatcherTests | testProcessUnregisteredState_openAccessBook_registersAndReturnsDownloadNeeded | 4ms |
| โ | DownloadStartDispatcherTests | testProcessUnregisteredState_openAccessWithLoginRequired_stillRegistersAsDownloadNeeded | 1ms |
| โ | DownloadStartDispatcherTests | testProcessUnregisteredState_streamingHTMLOpenAccessBook_transitionsToDownloadNeeded | 3ms |
| โ | DownloadStartReducerContractTests | test_reduceUnregistered_borrowLink_staysUnregistered | 1ms |
| โ | DownloadStartReducerContractTests | test_reduceUnregistered_noBorrow_loginRequired_noOpenAccess_staysUnregistered | <1ms |
| โ | DownloadStartReducerContractTests | test_reduceUnregistered_noBorrow_noLogin_seeds | <1ms |
| โ | DownloadStartReducerContractTests | test_reduceUnregistered_openAccessNoBorrow_seeds | 22ms |
| โ | DownloadStartReducerContractTests | test_regular_downloadNeededButNoBorrowLink_fallsToNormalDownload | <1ms |
| โ | DownloadStartReducerContractTests | test_regular_downloadNeededWithBorrow_setUnregisteredThenAutoBorrow | 1ms |
| โ | DownloadStartReducerContractTests | test_regular_expiredButNoBorrowLink_fallsToDownload | 2ms |
| โ | DownloadStartReducerContractTests | test_regular_expiredWithBorrow_setUnregisteredThenReBorrow | 640ms |
| โ | DownloadStartReducerContractTests | test_regular_noRequestSource_logsInvalid | 1ms |
| โ | DownloadStartReducerContractTests | test_regular_normal_reclaimClearCookiesAddTask | <1ms |
| โ | DownloadStartReducerContractTests | test_regular_samlWithCookies_reclaimThenHandleSAML | 80ms |
| โ | DownloadStartReducerContractTests | test_regular_wifiOnlyEnforced_failsWifi | 1ms |
| โ | DownloadStartReducerContractTests | test_route_holding_startBorrow | 39ms |
| โ | DownloadStartReducerContractTests | test_route_overdriveAudiobook_deferred_defers | <1ms |
| โ | DownloadStartReducerContractTests | test_route_overdriveAudiobook_ready_processes | 1ms |
| โ | DownloadStartReducerContractTests | test_route_regular_fallsThrough | <1ms |
| โ | DownloadStartReducerContractTests | test_route_streamingHTML_noop | 82ms |
| โ | DownloadStartReducerContractTests | test_route_unregistered_startBorrow | 83ms |
| โ | DownloadStartReducerContractTests | test_snapshot_regular_downloadNeededWithBorrow | 166ms |
| โ | DownloadStartReducerContractTests | test_snapshot_regular_expiredWithBorrow | 2ms |
| โ | DownloadStartReducerContractTests | test_snapshot_regular_noAcquisitionURL | 2ms |
| โ | DownloadStartReducerContractTests | test_snapshot_regular_normal | 2ms |
| โ | DownloadStartReducerContractTests | test_snapshot_regular_samlWithCookies | 2ms |
| โ | DownloadStartReducerContractTests | test_snapshot_regular_wifiOnly | 3ms |
| โ | DownloadStateMachineIntegrationTests | testBorrowResponseState_borrowFromLimited_reservedResponse_returnsRaceLossError | <1ms |
| โ | DownloadStateMachineIntegrationTests | testBorrowResponseState_borrowFromReady_unavailableResponse_returnsRaceLossError | <1ms |
| โ | DownloadStateMachineIntegrationTests | testBorrowResponseState_borrowFromUnlimited_unavailableResponse_returnsRaceLossError | 29ms |
| โ | DownloadStateMachineIntegrationTests | testBorrowResponseState_placeHold_reservedResponse_noError | <1ms |
| โ | DownloadStateMachineIntegrationTests | testBorrowResponseState_placeHold_unavailableResponse_noError | 1ms |
| โ | DownloadStateMachineIntegrationTests | testBorrowResponseState_postLimited_returnsDownloadNeededWithNoError | <1ms |
| โ | DownloadStateMachineIntegrationTests | testBorrowResponseState_postReady_returnsDownloadNeededWithNoError | 6ms |
| โ | DownloadStateMachineIntegrationTests | testBorrowResponseState_postUnlimited_returnsDownloadNeededWithNoError | <1ms |
| โ | DownloadStateMachineIntegrationTests | testState_completeFailedDownloadWithRetryFlow | 2ms |
| โ | DownloadStateMachineIntegrationTests | testState_completeSuccessfulDownloadFlow | 2ms |
| โ | DownloadStateMachineIntegrationTests | testState_downloadFailedToDownloading_retryTransition | 2ms |
| โ | DownloadStateMachineIntegrationTests | testState_downloadNeededToDownloading_validTransition | 2ms |
| โ | DownloadStateMachineIntegrationTests | testState_downloadingToDownloadFailed_validTransition | 2ms |
| โ | DownloadStateMachineIntegrationTests | testState_downloadingToDownloadSuccessful_validTransition | 2ms |
| โ | DownloadStateMachineIntegrationTests | testState_unregisteredToDownloadNeeded_validTransition | 2ms |
| โ | DownloadStateMachineTests | testState_downloadFailed_canRetry | 2ms |
| โ | DownloadStateMachineTests | testState_downloadNeeded_canTransitionToDownloadSuccessful | 2ms |
| โ | DownloadStateMachineTests | testState_downloadNeeded_canTransitionToDownloading | 2ms |
| โ | DownloadStateMachineTests | testState_downloading_canTransitionToFailed | 41ms |
| โ | DownloadStateMachineTests | testState_downloading_canTransitionToSuccess | 6ms |
| โ | DownloadStateManagerTests | testBookIdentifierToDownloadTask_storesAndRetrieves | 6ms |
| โ | DownloadStateManagerTests | testCleanupDownload_removesAllTracking | 6ms |
| โ | DownloadStateManagerTests | testCleanupDownload_removesOldTaskIdEntry | 7ms |
| โ | DownloadStateManagerTests | testCleanupDownload_withoutTaskId_stillCleansInfo | 17ms |
| โ | DownloadStateManagerTests | testConcurrentAccess_doesNotCrash | 4ms |
| โ | DownloadStateManagerTests | testDownloadInfoAsync_cachesInCoordinator | 6ms |
| โ | DownloadStateManagerTests | testDownloadInfoAsync_existingEntry_returnsInfo | 12ms |
| โ | DownloadStateManagerTests | testDownloadInfoAsync_missingEntry_returnsNil | 4ms |
| โ | DownloadStateManagerTests | testDownloadInfo_sync_returnsNilForMissing | 2ms |
| โ | DownloadStateManagerTests | testDownloadProgress_noInfo_returnsZero | 2ms |
| โ | DownloadStateManagerTests | testInit_defaultMaxConcurrentDownloads | 12ms |
| โ | DownloadStateManagerTests | testInit_emptyCollections | 4ms |
| โ | DownloadStateManagerTests | testResetAll_clearsEverything | 45ms |
| โ | DownloadStateManagerTests | testTaskIdentifierToBook_recycleSameId_doesNotLeakOldBook | 13ms |
| โ | DownloadStateManagerTests | testTaskIdentifierToBook_setBeforeRemove_intentionalOverwrite | 41ms |
| โ | DownloadStateManagerTests | testTaskIdentifierToBook_storesAndRetrieves | 8ms |
| โ | DownloadTaskLifecycleServiceTests | testHandleTaskCompletionError_cancelledError_doesNotAlert | 9ms |
| โ | DownloadTaskLifecycleServiceTests | testHandleTaskCompletionError_realError_logsFailureAndAlerts | 77ms |
| โ | DownloadTaskLifecycleServiceTests | testHandleTaskCompletionError_successPath_registersCompletionAndSchedules | 45ms |
| โ | DownloadTaskLifecycleServiceTests | testHandleTaskCompletionError_unknownTask_isNoOp | 5ms |
| โ | DownloadTaskLifecycleServiceTests | testRegisterStartedTask_announcesDownloadStartedAndNotifiesCenter | 178ms |
| โ | DownloadTaskLifecycleServiceTests | testRegisterStartedTask_marksBookAsDownloadingInRegistry | 153ms |
| โ | DownloadTaskLifecycleServiceTests | testRegisterStartedTask_resumesTheTask | 6ms |
| โ | DownloadTaskLifecycleServiceTests | testRegisterStartedTask_storesDownloadInfoKeyedByBookIdentifier | 7ms |
| โ | DownloadTaskLifecycleServiceTests | testRegisterStartedTask_storesTaskIdentifierToBookMapping | 6ms |
| โ | DownloadTaskPersistenceTests | testRecord_encodeDecode_roundTripsAllFields | 3ms |
| โ | DownloadTaskPersistenceTests | testRecord_nilExpectedBytes_roundTrips | <1ms |
| โ | DownloadTaskPersistenceTests | testStateManager_cleanupDownload_alsoDropsPersistedRecord | 4ms |
| โ | DownloadTaskPersistenceTests | testStateManager_persistStartedTask_thenList | 2ms |
| โ | DownloadTaskPersistenceTests | testStateManager_removePersistedRecord | 3ms |
| โ | DownloadTaskPersistenceTests | testStateManager_resetAll_clearsPersistence | 5ms |
| โ | DownloadTaskPersistenceTests | testStateManager_transferRetryCounter_incrementsAndResets | 4ms |
| โ | DownloadTaskPersistenceTests | testStore_corruptFile_returnsEmptyNotCrash | 559ms |
| โ | DownloadTaskPersistenceTests | testStore_missingFile_returnsEmptyNotCrash | 2ms |
| โ | DownloadTaskPersistenceTests | testStore_recordSameBookTwice_upsertsNotDuplicates | 4ms |
| โ | DownloadTaskPersistenceTests | testStore_recordThenAll_returnsPersistedAcrossFreshInstances | 5ms |
| โ | DownloadTaskPersistenceTests | testStore_removeAbsent_isNoOp | 4ms |
| โ | DownloadTaskPersistenceTests | testStore_removeAll_empties | 258ms |
| โ | DownloadTaskPersistenceTests | testStore_remove_dropsOnlyThatBook | 4ms |
| โ | DownloadThrottlingContractTests | test_limitActiveDownloads_propagatesCap_andRepumpsPendingQueue | 2ms |
| โ | DownloadThrottlingContractTests | test_resumeIntelligentDownloads_reappliesCurrentCap_andRepumps | 3ms |
| โ | DownloadThrottlingServiceTests | testLimitActiveDownloads_alwaysCallsScheduleAfterPolicyApplied | 70ms |
| โ | DownloadThrottlingServiceTests | testLimit_atCap_doesNothingButCallsSchedule | 11ms |
| โ | DownloadThrottlingServiceTests | testLimit_overCap_audiobookTaskNotSuspended | 398ms |
| โ | DownloadThrottlingServiceTests | testLimit_overCap_suspendsExcessNonAudiobookTasks | 11ms |
| โ | DownloadThrottlingServiceTests | testLimit_underCap_resumesSuspendedTasks | 20ms |
| โ | DownloadThrottlingServiceTests | testPauseAllDownloads_preservesAudiobookTasks | 219ms |
| โ | DownloadThrottlingServiceTests | testPauseAllDownloads_suspendsAllNonAudiobookTasks | 8ms |
| โ | DownloadThrottlingServiceTests | testResumeIntelligentDownloads_reAppliesCurrentCap | 62ms |
| โ | DownloadThrottlingServiceTests | testSetupNetworkMonitoring_calledTwice_replacesPriorObserver | 8ms |
| โ | DownloadThrottlingServiceTests | testSetupNetworkMonitoring_observesAppDidBecomeActiveAndReAppliesCap | 5ms |
| โ | DownloadTransferRetryTests | testCancelledError_isNotRetried | 8ms |
| โ | DownloadTransferRetryTests | testIsRegistryLoadedForReconcile_trueOnlyAfterLoad | 1ms |
| โ | DownloadTransferRetryTests | testNoMappedBook_isNotRetried | 6ms |
| โ | DownloadTransferRetryTests | testNonTransientError_isNotRetried | 4ms |
| โ | DownloadTransferRetryTests | testTransientError_atCap_stopsRetryingAndResetsCounter | 5ms |
| โ | DownloadTransferRetryTests | testTransientError_underCap_retriesAndIncrementsCounter | 2.03s |
| โ | DownloadWatchdogTests | testDefaultConfiguration | 1ms |
| โ | DownloadWatchdogTests | testStartAndStop | 28ms |
| โ | DownloadWatchdogTests | testWatchdogConfiguration | 1ms |
| โ | EPUBKeyCommandsPP4289Tests | testReaderKeyCommands_everyBindingClaimsPriorityOverSystem | <1ms |
| โ | EPUBKeyCommandsPP4289Tests | testReaderKeyCommands_includesCmdComma_routedToSettings | <1ms |
| โ | EPUBKeyCommandsPP4289Tests | testReaderKeyCommands_includesCmdW_routedToCloseReader | 6ms |
| โ | EPUBKeyCommandsPP4289Tests | testReaderKeyCommands_preservesArrowLeftRightSpaceShiftSpaceEscape | <1ms |
| โ | EPUBModuleTests | testEPUBModule_canBeInitialized | 81ms |
| โ | EPUBModuleTests | testEPUBModule_conformsToReaderFormatModule | 4ms |
| โ | EPUBModuleTests | testReaderError_epubNotValid_exists | 8ms |
| โ | EPUBModuleTests | testReaderError_epubNotValid_isError | <1ms |
| โ | EPUBPositionTests | testBookLocation_CreationFromDictionary | <1ms |
| โ | EPUBPositionTests | testBookLocation_CreationWithValidData | <1ms |
| โ | EPUBPositionTests | testBookLocation_DictionaryRoundTrip | <1ms |
| โ | EPUBPositionTests | testBookLocation_FailsWithMissingLocationString | 41ms |
| โ | EPUBPositionTests | testBookLocation_FailsWithMissingRenderer | 9ms |
| โ | EPUBPositionTests | testLocationSimilarity_DifferentProgressions | <1ms |
| โ | EPUBPositionTests | testLocationSimilarity_IdenticalLocations | <1ms |
| โ | EPUBPositionTests | testLocatorRoundTrip_preservesCssSelectorPositionProgression_throughJSONValue | 4ms |
| โ | EPUBPositionTests | testLocatorRoundTrip_withoutCssSelector_succeedsAndPreservesPosition | 6ms |
| โ | EPUBPositionTests | testThrottlingInterval_Value | <1ms |
| โ | EPUBSearchViewModelTests | testClearSearch_ResetsState | 11ms |
| โ | EPUBSearchViewModelTests | testFetchNextBatch_WhenNotIdle_DoesNothing | 3ms |
| โ | EPUBSearchViewModelTests | testFetchNextBatch_WithMoreResults_AppendsResults | 5ms |
| โ | EPUBSearchViewModelTests | testInit_HasCorrectDefaults | 7ms |
| โ | EPUBSearchViewModelTests | testSearch_CancelsInFlight_OnNewQuery | 5ms |
| โ | EPUBSearchViewModelTests | testSearch_FiltersDuplicateResults | 8ms |
| โ | EPUBSearchViewModelTests | testSearch_GroupsResultsByTitle | 9ms |
| โ | EPUBSearchViewModelTests | testSearch_PublicationNotSearchable_SetsFailureState | 11ms |
| โ | EPUBSearchViewModelTests | testSearch_SetsIsSearching | 5ms |
| โ | EPUBSearchViewModelTests | testSearch_WithEmptyQuery_DoesNotSearch | 5ms |
| โ | EPUBSearchViewModelTests | testSearch_WithError_SetsErrorMessage | 10ms |
| โ | EPUBSearchViewModelTests | testSearch_WithIteratorError_SetsErrorState | 28ms |
| โ | EPUBSearchViewModelTests | testSearch_WithNoResults_SetsEmptyState | 9ms |
| โ | EPUBSearchViewModelTests | testSearch_WithResults_UpdatesResults | 9ms |
| โ | EPUBSearchViewModelTests | testSearch_WithValidQuery_PerformsSearch | 4ms |
| โ | EPUBSearchViewModelTests | testSelectResult_NavigatesToLocation | 5ms |
| โ | EPUBSearchViewModelTests | testSelectResult_WithNilDelegate_DoesNotCrash | 5ms |
| โ | EPUBSearchViewModelTests | testState_IsLoadingState_ReturnsCorrectValues | 7ms |
| โ | EPUBToolbarToggleTests | testDoubleToggle_restoresOriginalState | <1ms |
| โ | EPUBToolbarToggleTests | testDualPath_edgeTap_doesNotToggleToolbar | 2ms |
| โ | EPUBToolbarToggleTests | testFixedDualPath_centerTap_togglesToolbarExactlyOnce | 2ms |
| โ | EPUBToolbarToggleTests | testFixedDualPath_repeatedCenterTaps_alternateToolbarState | 3ms |
| โ | EPUBToolbarToggleTests | testKeyboardNavigable_doubleToggle_restoresState | <1ms |
| โ | EPUBToolbarToggleTests | testKeyboardNavigable_toggleToolbar_changesState | 92ms |
| โ | EPUBToolbarToggleTests | testSingleToggle_changesToolbarVisibility | <1ms |
| โ | EPUBToolbarToggleTests | testTapRegion_classifiesViewportInToThreeZones | <1ms |
| โ | EPUBToolbarToggleTests | testTapRegion_threshold_isInclusiveOnEdgeAndExclusiveAtCenter | 171ms |
| โ | EPUBToolbarToggleTests | testTapRegion_zeroWidthViewport_defaultsToCenter | <1ms |
| โ | EPUBToolbarToggleTests | testUnfixedDualPath_centerTap_doubleTogglesToolbar | <1ms |
| โ | EffectBoundaryTests | test_authEnvironment_satisfiesSendableBound_andEffectResolvesOverIt | <1ms |
| โ | EffectBoundaryTests | test_customInit_runsTheProvidedClosure | <1ms |
| โ | EffectBoundaryTests | test_none_resolvesToNoFollowUpAction | 464ms |
| โ | EffectBoundaryTests | test_send_deliversExactlyThatAction_regardlessOfEnvironment | <1ms |
| โ | EffectBoundaryTests | test_task_returningNil_endsTheChain | <1ms |
| โ | EffectBoundaryTests | test_task_runsClosureAndThreadsTheCallersEnvironment | 346ms |
| โ | EmailAddressTests | testEmail_withLeadingWhitespace_isTrimmed | 30ms |
| โ | EmailAddressTests | testEmail_withTrailingWhitespace_isTrimmed | <1ms |
| โ | EmailAddressTests | testEquality_differentRawValue_haveDifferentRawValue | 1ms |
| โ | EmailAddressTests | testEquality_sameRawValue_haveSameRawValue | 2ms |
| โ | EmailAddressTests | testInvalidEmail_emptyString | 1ms |
| โ | EmailAddressTests | testInvalidEmail_justText | 4ms |
| โ | EmailAddressTests | testInvalidEmail_multipleAtSigns | <1ms |
| โ | EmailAddressTests | testInvalidEmail_noAtSign | 21ms |
| โ | EmailAddressTests | testInvalidEmail_noDomain | 1ms |
| โ | EmailAddressTests | testInvalidEmail_noLocalPart | 1ms |
| โ | EmailAddressTests | testRawValue_matchesInput | 51ms |
| โ | EmailAddressTests | testValidEmail_simpleAddress | 7ms |
| โ | EmailAddressTests | testValidEmail_withDots | 1ms |
| โ | EmailAddressTests | testValidEmail_withNumbers | 1ms |
| โ | EmailAddressTests | testValidEmail_withPlus | 1ms |
| โ | EmailAddressTests | testValidEmail_withSubdomain | 18ms |
| โ | EpubSampleFactoryTests | testCreateSample_withBookWithoutSample_returnsError | 18ms |
| โ | EpubSampleFactoryTests | testSamplePlayerError_fileSaveFailed_withUnderlyingError | 6ms |
| โ | EpubSampleFactoryTests | testSamplePlayerError_sampleDownloadFailed_withUnderlyingError | 2ms |
| โ | EpubSampleFactoryTests | testSamplePlayerError_threeDistinctCasesWithOptionalPayloads | 212ms |
| โ | EpubSampleFactoryTests | testSampleURLWrappers_polymorphismAllowsCallSiteRouting | 4ms |
| โ | ErrorActivityTrackerTests | testCategoryRawValues | 5ms |
| โ | ErrorActivityTrackerTests | testClear_removesAllEntries | 7ms |
| โ | ErrorActivityTrackerTests | testDisplayString_containsTimestampCategoryAndMessage | 8ms |
| โ | ErrorActivityTrackerTests | testLog_allCategories_areStoredCorrectly | 4ms |
| โ | ErrorActivityTrackerTests | testLog_capturesFileAndLine | 3ms |
| โ | ErrorActivityTrackerTests | testLog_exceedingMaxEntries_trimmsOldest | 11ms |
| โ | ErrorActivityTrackerTests | testLog_multipleEntries_preservesOrder | 2ms |
| โ | ErrorActivityTrackerTests | testLog_singleEntry_appearsInSnapshot | 4ms |
| โ | ErrorActivityTrackerTests | testLog_timestampsAreMonotonicallyIncreasing | 39ms |
| โ | ErrorActivityTrackerTests | testRecentActivities_defaultParameter_returns5Minutes | 106ms |
| โ | ErrorActivityTrackerTests | testRecentActivities_filtersOldEntries | 81ms |
| โ | ErrorActivityTrackerTests | testShortSource_containsFileAndLine | 6ms |
| โ | ErrorDetailTests | testBookInfo_withNilIdentifier_isNil | 11ms |
| โ | ErrorDetailTests | testCapture_populatesBasicFields | 6ms |
| โ | ErrorDetailTests | testCapture_populatesDeviceContext | 3ms |
| โ | ErrorDetailTests | testCapture_usesRegisteredLibraryNameProvider | 111ms |
| โ | ErrorDetailTests | testCapture_withBookInfo_populatesBookContext | 9ms |
| โ | ErrorDetailTests | testCapture_withError_storesUnderlyingError | 119ms |
| โ | ErrorDetailTests | testCapture_withoutBookInfo_bookInfoIsNil | 6ms |
| โ | ErrorDetailTests | testCapture_withoutProvider_fallsBackToNoLibrary | 5ms |
| โ | ErrorDetailTests | testFormattedReport_containsActivityTrailSection | 88ms |
| โ | ErrorDetailTests | testFormattedReport_containsDeviceSection | 8ms |
| โ | ErrorDetailTests | testFormattedReport_containsErrorSection | 3ms |
| โ | ErrorDetailTests | testFormattedReport_containsHeader | 8ms |
| โ | ErrorDetailTests | testFormattedReport_withBookInfo_containsBookSection | 91ms |
| โ | ErrorDetailTests | testFormattedReport_withError_containsErrorDetails | 64ms |
| โ | ErrorDetailViewControllerGapTests | testErrorDetailVC_rendersDeviceContextLines | 56ms |
| โ | ErrorDetailViewControllerGapTests | testErrorDetailVC_rendersFieldsCorrectly | 8ms |
| โ | ErrorDetailViewControllerGapTests | testErrorDetailVC_rendersSectionsCorrectly | 172ms |
| โ | ErrorDetailViewControllerTests | testErrorDetailViewController_Init_setsTitleAndPopulatesTextView | 242ms |
| โ | ErrorDetailViewControllerTests | testErrorDetailViewController_NavigationItems_AreConfigured | 9ms |
| โ | ErrorDetailViewControllerTests | testErrorDetailViewController_RenderContent_ContainsDeviceFields | 4ms |
| โ | ErrorDetailViewControllerTests | testErrorDetailViewController_RenderContent_ContainsErrorTitle | 3ms |
| โ | ErrorDetailViewControllerTests | testErrorDetailViewController_RenderContent_ContainsSection | 4ms |
| โ | ErrorDetailViewControllerTests | testErrorDetailViewController_RenderContent_EmptyTrailShowsMessage | 4ms |
| โ | ErrorDetailViewControllerTests | testErrorDetailViewController_ViewDidLoad_HasTextView | 67ms |
| โ | ErrorDetailViewControllerTests | testErrorDetail_FormattedReport_ContainsTimestamp | 1ms |
| โ | ErrorDetailViewControllerTests | testErrorDetail_FormattedReport_DeviceContextFields | 22ms |
| โ | ErrorDetailViewControllerTests | testErrorDetail_FormattedReport_EmptyActivityTrail | <1ms |
| โ | ErrorDetailViewControllerTests | testErrorDetail_FormattedReport_WithBookInfo_ContainsBookSection | <1ms |
| โ | ErrorDetailViewControllerTests | testErrorDetail_FormattedReport_WithUnderlyingError_ContainsDomain | 90ms |
| โ | ErrorDetailViewControllerTests | testErrorDetail_FormattedReport_includesAllSectionsAndPassesThroughTitleAndMessage | <1ms |
| โ | ErrorDetailViewControllerTests | testErrorDetail_FormattedReport_omitsBookSectionWhenNoBookInfoButRendersRestOfReport | 30ms |
| โ | ErrorLogExporterTests | testErrorLogData_deviceLogsField_acceptsEmptyData | 6ms |
| โ | ErrorLogExporterTests | testErrorLogData_deviceLogsField_acceptsLargeData | 3ms |
| โ | ErrorLogExporterTests | testErrorLogData_initializesWithAllFields | 2ms |
| โ | ErrorLogExporterTests | testErrorLogExporter_sharedInstance_isNotNil | 24ms |
| โ | ErrorLogExporterTests | testPP3651_collectLogsForPreview_containsPatronIDField | 486ms |
| โ | ExecutorNetworkHermeticityTests | testSharedExecutor_GETToNonStubHost_isBlocked_notRealNetwork | 227ms |
| โ | ExpiredLoanStringsTests | testExpiredLoanMessageWithDate_containsFormatSpecifier | <1ms |
| โ | ExpiredLoanStringsTests | testExpiredLoanMessageWithDate_formatsDateCorrectly | <1ms |
| โ | ExpiredLoanStringsTests | testExpiredLoanMessage_isNonEmpty | 1ms |
| โ | ExpiredLoanStringsTests | testExpiredLoanMessage_mentionsRemoval | 24ms |
| โ | ExpiredLoanStringsTests | testExpiredLoanTitle_isNonEmpty | 68ms |
| โ | FCMRegistrationReadinessLintTests | testCallSiteCensus_anUnparseableSpellingFailsInsteadOfVanishing | <1ms |
| โ | FCMRegistrationReadinessLintTests | testLint_compliantBodyProducesNoViolations | 2ms |
| โ | FCMRegistrationReadinessLintTests | testLint_detectsACatchThatFallsThroughToRegistration | <1ms |
| โ | FCMRegistrationReadinessLintTests | testLint_detectsACatchWhoseLastArmFallsThrough | 86ms |
| โ | FCMRegistrationReadinessLintTests | testLint_detectsAGateWithNoTaskAtAll | <1ms |
| โ | FCMRegistrationReadinessLintTests | testLint_detectsAwaitParkedInADifferentTask | <1ms |
| โ | FCMRegistrationReadinessLintTests | testLint_detectsDirectProfileFetch | 2ms |
| โ | FCMRegistrationReadinessLintTests | testLint_detectsRegistrationBeforeAwaitInsideTheTask | <1ms |
| โ | FCMRegistrationReadinessLintTests | testLint_detectsRegistrationMoreThanOnce | 12ms |
| โ | FCMRegistrationReadinessLintTests | testLint_detectsRegistrationOutsideTheAwaitingTask | <1ms |
| โ | FCMRegistrationReadinessLintTests | testLint_detectsSwallowedReadinessError | 2ms |
| โ | FCMRegistrationReadinessLintTests | testLint_detectsUnboundedAwait | <1ms |
| โ | FCMRegistrationReadinessLintTests | testLint_ignoresCommentMentions | <1ms |
| โ | FCMRegistrationReadinessLintTests | testLint_ignoresMultilineStringLiteralContent | 7ms |
| โ | FCMRegistrationReadinessLintTests | testLint_recognisesATaskWithAPriority | <1ms |
| โ | FCMRegistrationReadinessLintTests | testMarkTokenRegistered_neverLatchesTheCurrentAccount | 8ms |
| โ | FCMRegistrationReadinessLintTests | testUnbalancedQuoteLines_reportsTheOffendingLine | <1ms |
| โ | FCMRegistrationReadinessLintTests | testUpdateToken_satisfiesEveryReadinessCheck | 11ms |
| โ | FacetEnumTests | testFacet_LocalizedStrings_AreDistinct | <1ms |
| โ | FacetEnumTests | testFacet_LocalizedStrings_AreNotEmpty | <1ms |
| โ | FacetEnumTests | testFacet_LocalizedStrings_MatchStringsFile | 5ms |
| โ | FacetToolbarAccessibilityTests | testFilterButtonLabel_differsBasedOnFilterState | <1ms |
| โ | FacetToolbarAccessibilityTests | testFilterButtonLabel_noFiltersApplied | <1ms |
| โ | FacetToolbarAccessibilityTests | testFilterButtonLabel_withFiltersApplied | 2ms |
| โ | FacetToolbarAccessibilityTests | testSortButtonLabel_hasConsistentFormat | 2ms |
| โ | FacetToolbarAccessibilityTests | testSortButtonLabel_includesSortOption | 129ms |
| โ | FacetViewModelLogoDelegateTests | testAccountScreenURL_WithValidHomePageURL | 5ms |
| โ | FacetViewModelLogoDelegateTests | testActiveSort_DefaultsToFirstFacet_AuthorFirst | 10ms |
| โ | FacetViewModelLogoDelegateTests | testActiveSort_DefaultsToFirstFacet_TitleFirst | 28ms |
| โ | FacetViewModelLogoDelegateTests | testLogoDidUpdate_SetsLogo | 4ms |
| โ | FacetViewModelTests | testActiveSortPublished | 15ms |
| โ | FacetViewModelTests | testChangingSortMultipleTimes | 5ms |
| โ | FacetViewModelTests | testCurrentAccountURLWithNilAccount | 120ms |
| โ | FacetViewModelTests | testEmptyGroupName | 1.22s |
| โ | FacetViewModelTests | testFacetLocalizedStrings | <1ms |
| โ | FacetViewModelTests | testFacetRawValues | 5ms |
| โ | FacetViewModelTests | testFacetsArrayPublished | 9ms |
| โ | FacetViewModelTests | testGroupNamePublished | 5ms |
| โ | FacetViewModelTests | testGroupNameWithSpecialCharacters | 6ms |
| โ | FacetViewModelTests | testInitWithAuthorAndTitleFacets | 3ms |
| โ | FacetViewModelTests | testInitWithSingleFacet | 5ms |
| โ | FacetViewModelTests | testInitWithTitleFirst | 660ms |
| โ | FacetViewModelTests | testLogoInitiallyNilWithoutAccount | 25.22s |
| โ | FacetViewModelTests | testMultipleSubscribersToActiveSort | 114ms |
| โ | FacetViewModelTests | testSettingSameSortValue | 70ms |
| โ | FacetViewModelTests | testShowAccountScreenInitiallyFalse | 8ms |
| โ | FacetViewModelTests | testShowAccountScreenToggle | 208ms |
| โ | FacetViewModelTests | testUpdatingFacetsDoesNotChangeActiveSort | 9ms |
| โ | FetchManifestWithBearerTokenLCPSafetyTests | testFetchManifestWithBearerToken_receivingLCPLicense_returnsJSON | 9ms |
| โ | FetchManifestWithBearerTokenTests | testEmptyResponseBody_returnsNil | 4ms |
| โ | FetchManifestWithBearerTokenTests | testHTMLResponse_returnsNil | 6ms |
| โ | FetchManifestWithBearerTokenTests | testHTTP401_returnsNil | 13ms |
| โ | FetchManifestWithBearerTokenTests | testHTTP500_returnsNil | 5ms |
| โ | FetchManifestWithBearerTokenTests | testInvalidJSON_returnsNil | 19ms |
| โ | FetchManifestWithBearerTokenTests | testJSONArray_returnsNil | 52ms |
| โ | FetchManifestWithBearerTokenTests | testSuccess_requestsFromCorrectURL | 5ms |
| โ | FetchManifestWithBearerTokenTests | testSuccess_returnsManifestJSON | 11ms |
| โ | FetchManifestWithBearerTokenTests | testSuccess_sendsCorrectBearerTokenHeader | 152ms |
| โ | FetchOpenAccessManifestLCPSafetyTests | testBearerTokenResponseVsLCPLicense_areDistinct | 5ms |
| โ | FetchOpenAccessManifestLCPSafetyTests | testLCPLicenseResponse_notDetectedAsBearerToken_inFetchFlow | 4ms |
| โ | FetchOpenAccessManifestLCPSafetyTests | testLCPLicenseResponse_wouldBeReturnedAsManifest_withoutRouting | 2ms |
| โ | FetchOpenAccessManifestLCPSafetyTests | testManifestVsLCPLicense_structuralDifferences | 94ms |
| โ | FileURLGenerationTests | testFileUrl_contentDirectoryExists | 5ms |
| โ | FileURLGenerationTests | testFileUrl_deterministicForSameIdentifier | 371ms |
| โ | FileURLGenerationTests | testFileUrl_epubBook_hasEpubExtension | 35ms |
| โ | FindawayChapterStatusGuardTests | testFindawayObservationPattern_RetainsObserverForDuration | 2ms |
| โ | FindawaySavedVsPlayedTests | testDuneOversubdivided_savedBookmarkKeyEqualsPlayedTrack | 25ms |
| โ | FloatTPPAdditionsTests | testApproxEqual_isSymmetric | <1ms |
| โ | FloatTPPAdditionsTests | testApproxEqual_returnsFalseWhenRightHandSideIsNil | 357ms |
| โ | FloatTPPAdditionsTests | testApproxEqual_returnsTrueOnlyForValuesWithinEpsilon | 3ms |
| โ | FloatTPPAdditionsTests | testRoundTo_formatsAsPercentageWithSpecifiedDecimalPlaces | 45ms |
| โ | FloatTPPAdditionsTests | testRoundTo_preservesTrailingZerosFromFormatSpecifier | 2ms |
| โ | FocusIndicationTests | testAccessibilityElements_areOrderedLogically | 57ms |
| โ | FocusIndicationTests | testCatalogCell_accessibilityLabelBehavior | 7ms |
| โ | FocusIndicationTests | testFocusColor_hasSufficientContrastInDarkMode | <1ms |
| โ | FocusIndicationTests | testFocusColor_hasSufficientContrastInLightMode | <1ms |
| โ | FocusIndicationTests | testFocusableButton_hasFocusEffect | 6ms |
| โ | FocusIndicationTests | testReaderToolbar_buttonsInLogicalOrder | 14ms |
| โ | FocusIndicationTests | testTPPRoundedButton_isAccessible | 86ms |
| โ | FontManagerTests | testAllFontFamiliesHaveCSSValue | <1ms |
| โ | FontManagerTests | testAllFontFamiliesHaveCategory | 1ms |
| โ | FontManagerTests | testAllFontFamiliesHaveDisplayName | 45ms |
| โ | FontManagerTests | testAllFontFamiliesHavePreviewText | <1ms |
| โ | FontManagerTests | testAvailableFamiliesNotEmpty | 5ms |
| โ | FontManagerTests | testFamilyAvailabilityForSystemFonts | 25ms |
| โ | FontManagerTests | testFontFamilyCategorization | <1ms |
| โ | FontManagerTests | testFontFamilyIsCodable | 5ms |
| โ | FontManagerTests | testFontsInCategory | 1ms |
| โ | FontManagerTests | testNonExistentFontIsNotAvailable | 72ms |
| โ | FontManagerTests | testOpenDyslexicCSSContainsFontName | 15ms |
| โ | FontManagerTests | testRegisterCustomFontsDoesNotCrash | 73ms |
| โ | FontManagerTests | testRegisterNonexistentFontReturnsFalse | 252ms |
| โ | FontManagerTests | testSharedInstanceExists | 20ms |
| โ | FontManagerTests | testSwiftUIFontCreation | 2ms |
| โ | FontManagerTests | testSystemFontsAreAvailable | 8ms |
| โ | FontManagerTests | testUIFontCreation | 8ms |
| โ | ForceResetTests | testConsume_clearsTheUserDefaultsKey | 3ms |
| โ | ForceResetTests | testConsume_secondCallAfterSet_returnsFalse | 9ms |
| โ | ForceResetTests | testConsume_supportsMultipleSetThenConsumeCycles | 50ms |
| โ | ForceResetTests | testConsume_whenFlagNeverSet_returnsFalse | 7ms |
| โ | ForceResetTests | testConsume_whenFlagSet_returnsTrueOnce | 4ms |
| โ | ForceResetTests | testRegressionForBug_resetAccountForcesNextOIDCSessionEphemeral_perHelpSpot17716 | 9ms |
| โ | GeneralCacheClearOnUpdateTests | testGeneralCache_clearOnUpdate_firstLaunch_purgesAndSeedsFlag | 6ms |
| โ | GeneralCacheClearOnUpdateTests | testGeneralCache_clearOnUpdate_sameVersion_doesNotPurge | 3ms |
| โ | GeneralCacheClearOnUpdateTests | testGeneralCache_clearOnUpdate_versionGateStaysSync_purgeOffMain | 8ms |
| โ | GeneralCacheTests | testCachePolicy_cacheFirst_callsFetcher_onCacheMiss | 5ms |
| โ | GeneralCacheTests | testCachePolicy_cacheFirst_returnsCachedValue_whenPresent | 10ms |
| โ | GeneralCacheTests | testCachePolicy_cacheFirst_usesCache_whenFetcherFails | 9ms |
| โ | GeneralCacheTests | testCachePolicy_noCache_alwaysFetches | 10ms |
| โ | GeneralCacheTests | testCache_withCodableValues | 10ms |
| โ | GeneralCacheTests | testCache_withIntKeys | 106ms |
| โ | GeneralCacheTests | testClearAllCaches_preservesBundleIDDirectory | 8ms |
| โ | GeneralCacheTests | testClearMemory_removesMemoryEntries | 2ms |
| โ | GeneralCacheTests | testClear_removesAllEntries | <1ms |
| โ | GeneralCacheTests | testDiskCache_persistsValue | 319ms |
| โ | GeneralCacheTests | testFileURL_returnsURL | 61ms |
| โ | GeneralCacheTests | testGetAndSet_fromSaturatedThreadPool_allComplete | 40ms |
| โ | GeneralCacheTests | testGet_unknownKey_returnsNil | 2ms |
| โ | GeneralCacheTests | testMemoryAndDisk_persistsValue | 5ms |
| โ | GeneralCacheTests | testNoneMode_doesNotStore | 220ms |
| โ | GeneralCacheTests | testRemove_afterConcurrentDiskReads_leavesNoValue | 78ms |
| โ | GeneralCacheTests | testRemove_deletesEntry | 1ms |
| โ | GeneralCacheTests | testRemove_nonexistentKey_doesNotCrash | 58ms |
| โ | GeneralCacheTests | testSet_afterExternalDirectoryDeletion_recreatesAndSucceeds | 13ms |
| โ | GeneralCacheTests | testSet_andGet_returnsValue | <1ms |
| โ | GeneralCacheTests | testSet_overwrite_updatesValue | 2ms |
| โ | GeneralCacheTests | testSet_withExpiration_isAvailableBeforeExpiry | 1ms |
| โ | GroupEnumTests | testGroup_UsedAsSection_FacetViewModelGroupNameMatches | 12ms |
| โ | HTMLTextViewTests | testAngleBracketsWithSpaces | 21ms |
| โ | HTMLTextViewTests | testBOMCausesIssuesWithoutSanitization | 282ms |
| โ | HTMLTextViewTests | testBOMCharacter | 17ms |
| โ | HTMLTextViewTests | testBOMCharacterIsRemoved | 20ms |
| โ | HTMLTextViewTests | testControlCharacters | 45ms |
| โ | HTMLTextViewTests | testControlCharactersAreRemoved | 29ms |
| โ | HTMLTextViewTests | testControlCharactersCauseIssuesWithoutSanitization | 48ms |
| โ | HTMLTextViewTests | testDataURL | 59ms |
| โ | HTMLTextViewTests | testDeeplyNestedTags | 20ms |
| โ | HTMLTextViewTests | testDefensiveMeasuresPreventCrashes | 619ms |
| โ | HTMLTextViewTests | testEmptyParagraph | 45ms |
| โ | HTMLTextViewTests | testEmptyString | <1ms |
| โ | HTMLTextViewTests | testExistingDoctypeNotDoubleWrapped | 25ms |
| โ | HTMLTextViewTests | testExistingHTMLTagNotDoubleWrapped | 17ms |
| โ | HTMLTextViewTests | testFallbackStripsHTMLTags | 16ms |
| โ | HTMLTextViewTests | testFastPathLongContent | 3ms |
| โ | HTMLTextViewTests | testFastPathLongContentWithHTML | 45ms |
| โ | HTMLTextViewTests | testFastPathNoHTMLTags | 46ms |
| โ | HTMLTextViewTests | testFormElements | 39ms |
| โ | HTMLTextViewTests | testHTML5Elements | 64ms |
| โ | HTMLTextViewTests | testHTMLDocumentWrapping | 32ms |
| โ | HTMLTextViewTests | testHTMLEntities | 27ms |
| โ | HTMLTextViewTests | testHTMLTagsAreNotDisplayedAsText | 120ms |
| โ | HTMLTextViewTests | testHTMLWithMultipleTags | 33ms |
| โ | HTMLTextViewTests | testInvalidUTF8Sequence | 36ms |
| โ | HTMLTextViewTests | testLeadingWhitespaceIsTrimmed | 23ms |
| โ | HTMLTextViewTests | testMalformedBrokenAttributes | 128ms |
| โ | HTMLTextViewTests | testMalformedEmptyTags | 17ms |
| โ | HTMLTextViewTests | testMalformedNestedTags | 38ms |
| โ | HTMLTextViewTests | testMalformedOnlyClosingTag | 58ms |
| โ | HTMLTextViewTests | testMalformedOnlyOpeningTag | 31ms |
| โ | HTMLTextViewTests | testMalformedRandomAngleBrackets | 634ms |
| โ | HTMLTextViewTests | testMalformedTable | 31ms |
| โ | HTMLTextViewTests | testMalformedUnclosedTags | 24ms |
| โ | HTMLTextViewTests | testMathMLContent | 67ms |
| โ | HTMLTextViewTests | testMixedContentRapidCalls | 1.53s |
| โ | HTMLTextViewTests | testMultipleDoctypes | 16ms |
| โ | HTMLTextViewTests | testMultipleEmptyParagraphs | 16ms |
| โ | HTMLTextViewTests | testNullCharacterInHTML | 25ms |
| โ | HTMLTextViewTests | testNumericEntities | 20ms |
| โ | HTMLTextViewTests | testOPDSSummaryPatterns | 194ms |
| โ | HTMLTextViewTests | testOnlyAngleBracket | 276ms |
| โ | HTMLTextViewTests | testOnlyClosingAngleBracket | <1ms |
| โ | HTMLTextViewTests | testOnlyWhitespaceBeforeTag | 14ms |
| โ | HTMLTextViewTests | testPlainTextWithoutHTML | 93ms |
| โ | HTMLTextViewTests | testProcessingInstruction | 30ms |
| โ | HTMLTextViewTests | testRapidBookDetailViewSimulation | 6.11s |
| โ | HTMLTextViewTests | testRapidSequentialCalls | 2.06s |
| โ | HTMLTextViewTests | testRefugeeGraphicNovelSummaryPattern | 158ms |
| โ | HTMLTextViewTests | testSVGContent | 33ms |
| โ | HTMLTextViewTests | testSafeVsUnsafeParsingComparison | 275ms |
| โ | HTMLTextViewTests | testScriptTag | 296ms |
| โ | HTMLTextViewTests | testSimpleHTMLParagraph | 16ms |
| โ | HTMLTextViewTests | testStartsWithCDATA | 44ms |
| โ | HTMLTextViewTests | testStartsWithClosingTag | 25ms |
| โ | HTMLTextViewTests | testStartsWithComment | 16ms |
| โ | HTMLTextViewTests | testStartsWithDoctype | 213ms |
| โ | HTMLTextViewTests | testStartsWithEndOfDocument | 93ms |
| โ | HTMLTextViewTests | testStartsWithXMLDeclaration | 55ms |
| โ | HTMLTextViewTests | testStyleTag | 53ms |
| โ | HTMLTextViewTests | testSummaryWithLineBreaks | 138ms |
| โ | HTMLTextViewTests | testSummaryWithLinks | 18ms |
| โ | HTMLTextViewTests | testTableHTML | 38ms |
| โ | HTMLTextViewTests | testTypicalBookDescriptionHTML | 28ms |
| โ | HTMLTextViewTests | testTypicalBookSummary | 142ms |
| โ | HTMLTextViewTests | testUnclosedScriptTag | 20ms |
| โ | HTMLTextViewTests | testUnexpectedSummaryStarts | 134ms |
| โ | HTMLTextViewTests | testUnicodeContent | 60ms |
| โ | HTMLTextViewTests | testVeryLongAttribute | 25ms |
| โ | HTMLTextViewTests | testWhitespaceOnly | <1ms |
| โ | HalfSheetProgressCueTests | testBorrowFlagSetButBytesFlowing_showsDeterminateBar | <1ms |
| โ | HalfSheetProgressCueTests | testBorrowInFlightBeforeAnyBytes_showsBorrowingSpinner | <1ms |
| โ | HalfSheetProgressCueTests | testBorrowSpinner_stillShowsWhenNoContentDownloadIsRunning | 6ms |
| โ | HalfSheetProgressCueTests | testContentDownload_outranksTheBorrowSpinner | 9ms |
| โ | HalfSheetProgressCueTests | testContentTransfer_outranksBorrowing_evenForAnAlreadySuccessfulBook | 6ms |
| โ | HalfSheetProgressCueTests | testDownloadingStateButButtonAlreadySuccessful_isIdle | <1ms |
| โ | HalfSheetProgressCueTests | testDownloadingState_showsDeterminateBar | <1ms |
| โ | HalfSheetProgressCueTests | testLCPContentDownloadAtZeroProgress_stillShowsBar | <1ms |
| โ | HalfSheetProgressCueTests | testLCPContentDownloadFinished_returnsToIdle | 3ms |
| โ | HalfSheetProgressCueTests | testLCPContentDownloadWhileBookIsSuccessful_showsDeterminateBar | <1ms |
| โ | HalfSheetProgressCueTests | testNothingInFlight_isIdle | <1ms |
| โ | HoldNotificationClassificationTests | testIsHoldRelated_returnsTrueForHoldOrReservationKeywords_falseOtherwise | <1ms |
| โ | HoldNotificationClassificationTests | testIsHoldRelated_withTypeHold_returnsTrue | 2ms |
| โ | HoldsBadgeCountTests | testBadgeCount_allReserved_returnsZero | 4ms |
| โ | HoldsBadgeCountTests | testBadgeCount_mixedHolds_countsOnlyReady | 9ms |
| โ | HoldsBadgeCountTests | testBadgeCount_multipleReady_countsAll | 30ms |
| โ | HoldsBadgeCountTests | testBadgeCount_noBooks_returnsZero | 2ms |
| โ | HoldsBadgeCountTests | testBadgeCount_oneReadyBook_returnsOne | 2ms |
| โ | HoldsBadgeCountTests | testBadgeCount_oneReservedBook_returnsZero | 3ms |
| โ | HoldsBadgeCountTests | testBadgeCount_regularBook_notCounted | 3ms |
| โ | HoldsBadgeCountTests | testReadyBookHasReadyAvailability | 61ms |
| โ | HoldsBadgeCountTests | testReservedBookHasReservedAvailability | 49ms |
| โ | HoldsBookViewModelTests | testBookPropertyReturnsCorrectBook | 2ms |
| โ | HoldsBookViewModelTests | testHoldReady_DistinguishesFromReserved | 4ms |
| โ | HoldsBookViewModelTests | testHoldReady_IdentifiesReadyHolds | 4ms |
| โ | HoldsBookViewModelTests | testIdMatchesBookIdentifier | 3ms |
| โ | HoldsBookViewModelTests | testIsReservedForHoldBook | 410ms |
| โ | HoldsBookViewModelTests | testIsReservedForNonReservedBook | 4ms |
| โ | HoldsBookViewModelTests | testIsReservedForReadyBook | 5ms |
| โ | HoldsBookViewModelTests | testIsReserved_WithLimitedAvailability_ReturnsFalse | 4ms |
| โ | HoldsReducerTests | testDismissSyncError_clearsTheErrorMessage | <1ms |
| โ | HoldsReducerTests | testRegistryChanged_partitionsBooksByReservedStatus | 4ms |
| โ | HoldsReducerTests | testRegistryChanged_withActiveSearch_leavesVisibleBooksAlone | 3ms |
| โ | HoldsReducerTests | testSearchQueryChanged_nonEmpty_returnsFilterEffectThatYieldsFilterCompleted | 11ms |
| โ | HoldsReducerTests | testSearchQueryChanged_toEmpty_restoresAllHeldBooks | 3ms |
| โ | HoldsReducerTests | testSyncBegan_setsLoadingTrueAndClearsPreviousError | <1ms |
| โ | HoldsReducerTests | testSyncEnded_setsLoadingFalse | <1ms |
| โ | HoldsReducerTests | testSyncFailed_whenAnonymous_suppressesErrorBanner | 38ms |
| โ | HoldsReducerTests | testSyncFailed_whenAuthenticatedWithNoCacheAndNoMessage_fallsBackToGenericText | <1ms |
| โ | HoldsReducerTests | testSyncFailed_whenAuthenticatedWithNoCache_surfacesServerDetailMessage | 82ms |
| โ | HoldsReducerTests | testSyncFailed_whenCachedDataVisible_suppressesErrorBanner | 2ms |
| โ | HoldsSyncFailureTests | testDismissSyncError_ClearsError | 14ms |
| โ | HoldsSyncFailureTests | testSyncBegan_ClearsPreviousSyncError | 188ms |
| โ | HoldsSyncFailureTests | testSyncFailure_AnonymousLibrary_SuppressesErrorBanner_EvenWhenHasCredentialsRacesTrue | 77ms |
| โ | HoldsSyncFailureTests | testSyncFailure_AnonymousUser_SuppressesErrorBanner | 460ms |
| โ | HoldsSyncFailureTests | testSyncFailure_AuthenticatedUser_ShowsErrorBanner | 13ms |
| โ | HoldsSyncFailureTests | testSyncFailure_LibraryNeedsAuth_AndHasCredentials_ShowsBanner | 14ms |
| โ | HoldsSyncFailureTests | testSyncFailure_SetsSyncError | 38ms |
| โ | HoldsSyncFailureTests | testSyncFailure_StaleDataPersists_ErrorSuppressedWhenCachedDataExists | 93ms |
| โ | HoldsSyncFailureTests | testSyncFailure_StopsLoading | 14ms |
| โ | HoldsSyncFailureTests | testSyncFailure_WithProblemDocument_ShowsServerMessage | 16ms |
| โ | HoldsSyncFailureTests | testSyncFailure_WithTitleOnly_UsesTitle | 1.73s |
| โ | HoldsSyncFailureTests | testSyncFailure_WithoutProblemDocument_ShowsGenericMessage | 11ms |
| โ | HoldsViewModelTests | testFilterBooksWithEmptyQueryReturnsAll | 10ms |
| โ | HoldsViewModelTests | testFilterBooksWithQuery | 321ms |
| โ | HoldsViewModelTests | testFilterBooks_CaseInsensitive | 192ms |
| โ | HoldsViewModelTests | testFilterBooks_WithAuthorMatch_ReturnsMatchingBooks | 24ms |
| โ | HoldsViewModelTests | testFilterBooks_WithTitleMatch_ReturnsMatchingBooks | 16ms |
| โ | HoldsViewModelTests | testInitialState_EmptyBookLists | 6ms |
| โ | HoldsViewModelTests | testInitialState_HasCorrectDefaults | 2ms |
| โ | HoldsViewModelTests | testIsLoading_PublishesChanges | 5ms |
| โ | HoldsViewModelTests | testLoadHolds_WithEmptyResult_SetsEmptyState | 13ms |
| โ | HoldsViewModelTests | testLoadHolds_WithSuccess_UpdatesHolds | 254ms |
| โ | HoldsViewModelTests | testOpenSearchDescriptionHumanReadableDescription | 8ms |
| โ | HoldsViewModelTests | testOpenSearchDescription_IncludesAllBooks | 11ms |
| โ | HoldsViewModelTests | testRegistryDidChange_ReloadsData | 24ms |
| โ | HoldsViewModelTests | testReloadData_CallsMethod | 37ms |
| โ | HoldsViewModelTests | testReloadData_HandlesMultipleBooks | 10ms |
| โ | HoldsViewModelTests | testReloadData_SeparatesReservedAndReadyBooks | 730ms |
| โ | HoldsViewModelTests | testSearchQueryUpdate | 7ms |
| โ | HoldsViewModelTests | testSelectNewLibraryToggle | 2ms |
| โ | HoldsViewModelTests | testShowLibraryAccountViewToggle | 13ms |
| โ | HoldsViewModelTests | testShowSearchSheetToggle | 54ms |
| โ | HoldsViewModelTests | testSyncBeganSetsLoadingTrue | 13ms |
| โ | HoldsViewModelTests | testSyncEndedSetsLoadingFalse | 90ms |
| โ | HoldsViewModelTests | testVisibleBooks_PublishesChanges | 29ms |
| โ | HostFailureTrackerTests | testHostFailureTracker_reachabilityChange_resetsCircuit | 311ms |
| โ | HostFailureTrackerTests | testHostFailureTracker_singleFailure_belowThreshold_notTripped | 2ms |
| โ | ImageCacheContinuationTests | testGetAsync_whenOperationsCancelledWhileQueued_everyCallResumes | 3.74s |
| โ | ImageCacheOffMainIsolationTests | testMainThreadGetMiss_schedulesOffMainPromotionWithoutIsolationTrap | 58ms |
| โ | ImageCacheOffMainIsolationTests | testSetThenGetAsync_roundTripsOffMainWithoutIsolationTrap | 26ms |
| โ | ImageCacheTypeTests | testImageCacheType_defaultSetUses7DayTTL | 13ms |
| โ | ImageCoverKeyUnificationTests | testCoverKey_cellAndPrefetch_coalesceForSmallDisplay | 1ms |
| โ | ImageCoverKeyUnificationTests | testCoverSourceURL_smallDisplayWithNoThumbnail_fallsBackToFullSize | 7ms |
| โ | ImageLoaderTests | testClearAll_clearsUnderlyingImageCache | <1ms |
| โ | ImageLoaderTests | testCompletionBridge_book_deallocatedBeforeCompletion_noCrash | 6ms |
| โ | ImageLoaderTests | testCompletionBridge_cover_invokesOnMainThread | 10ms |
| โ | ImageLoaderTests | testCompletionBridge_thumbnail_invokesOnMainThread | 9ms |
| โ | ImageLoaderTests | testCoverImage_cacheHit_returnsCachedImageWithoutTouchingFallback | 3ms |
| โ | ImageLoaderTests | testCoverImage_displayPoints_cacheHit_skipsNetwork | 39ms |
| โ | ImageLoaderTests | testCoverImage_displayPoints_nonFinite_fallsBackToUnsizedCover_withoutTrapping | 63ms |
| โ | ImageLoaderTests | testDownsampleImage_returnsImageWithinMaxDimension | 16ms |
| โ | ImageLoaderTests | testFinitePositiveDimension_keepsFinitePositive_rejectsEverythingElse | <1ms |
| โ | ImageLoaderTests | testGetSet_delegateToUnderlyingCache | 3ms |
| โ | ImageLoaderTests | testRegistryCoverImage_displayPoints_nonFinite_fallsBackToUnsizedCover_withoutTrapping | 4ms |
| โ | ImageLoaderTests | testRemove_delegateToUnderlyingCache | <1ms |
| โ | ImageLoaderTests | testSet_defaultExpiry_isSevenDays | 15ms |
| โ | ImageLoaderTests | testThumbnailImage_falsBackToTenPrintPlaceholder_whenThumbnailURLIsNil | 5ms |
| โ | InflightFeedFetchesTimeoutTests | testRun_afterTimeout_freesEntry_allowingFreshFetch | 5.01s |
| โ | InflightFeedFetchesTimeoutTests | testRun_concurrentSameURL_sharesSingleInvocation | 212ms |
| โ | InflightFeedFetchesTimeoutTests | testRun_fastWork_returnsWithoutTimeout | 9ms |
| โ | InflightFeedFetchesTimeoutTests | testRun_wedgedWork_timesOutWithURLTimedOut | 5.02s |
| โ | IntExtensionsTests | testOrdinal_FourAndAbove_ReturnsTh | 310ms |
| โ | IntExtensionsTests | testOrdinal_TwentyFirstPattern_ReturnsCorrectSuffix | 141ms |
| โ | IntExtensionsTests | testOrdinal_Zero_ReturnsZeroth | <1ms |
| โ | IntExtensionsTests | testOrdinal_followsEnglishOrdinalRules_includingTeenExceptions | 4ms |
| โ | IsReaderActiveTrackingModifierTests | testIsReaderActiveTrackingModifier_isConstructibleWithPresenter | 7ms |
| โ | IsReaderActiveTrackingModifierTests | testTracksReaderActiveExtension_appliesModifierToView | 7ms |
| โ | IsReaderActiveTrackingModifierTests | testTracksReaderActive_setsFalseOnDisappear | 7ms |
| โ | IsReaderActiveTrackingModifierTests | testTracksReaderActive_setsTrueOnAppear | 9ms |
| โ | KeyboardNavigationFKATests | testFKA_escapeKey_isStillConsumed | 14ms |
| โ | KeyboardNavigationFKATests | testFKA_leftArrow_isNotConsumed | 20ms |
| โ | KeyboardNavigationFKATests | testFKA_pageDown_isStillConsumed | 3ms |
| โ | KeyboardNavigationFKATests | testFKA_pageUp_isStillConsumed | 23ms |
| โ | KeyboardNavigationFKATests | testFKA_rightArrow_isNotConsumed | 3ms |
| โ | KeyboardNavigationFKATests | testFKA_spaceKey_isStillConsumed | 2ms |
| โ | KeyboardNavigationFKATests | testHandleCommand_goBackward_navigatesLeft | 3ms |
| โ | KeyboardNavigationFKATests | testHandleCommand_goForward_navigatesRight | 3ms |
| โ | KeyboardNavigationFKATests | testHandleCommand_toggleUI_togglesToolbar | 2ms |
| โ | KeyboardNavigationFKATests | testHandleKeyEvent_whenNavigableIsNil_returnsFalse | 1ms |
| โ | KeyboardNavigationFKATests | testNoFKA_rightArrow_isConsumed | 2ms |
| โ | KeyboardNavigationHandlerTests | testArrowKeyRelease_doesNotTurnPage | 9ms |
| โ | KeyboardNavigationHandlerTests | testArrowKey_withCommandModifier_doesNotTurnPage | 5ms |
| โ | KeyboardNavigationHandlerTests | testArrowKey_withShiftModifier_doesNotTurnPage | 5ms |
| โ | KeyboardNavigationHandlerTests | testEscapeKeyRelease_doesNotToggleToolbar | 55ms |
| โ | KeyboardNavigationHandlerTests | testEscapeKey_whenToolbarHidden_togglesToolbar | 20ms |
| โ | KeyboardNavigationHandlerTests | testEscapeKey_whenToolbarVisible_togglesToolbar | 12ms |
| โ | KeyboardNavigationHandlerTests | testEscapeKey_withModifier_doesNotToggleToolbar | 10ms |
| โ | KeyboardNavigationHandlerTests | testLeftArrow_whenToolbarHidden_goesToPreviousPage | 6ms |
| โ | KeyboardNavigationHandlerTests | testLeftArrow_whenToolbarVisible_doesNotChangePage | 8ms |
| โ | KeyboardNavigationHandlerTests | testPageDown_whenToolbarHidden_advancesPage | 34ms |
| โ | KeyboardNavigationHandlerTests | testPageUp_whenToolbarHidden_goesBackward | 8ms |
| โ | KeyboardNavigationHandlerTests | testRightArrow_whenToolbarHidden_advancesToNextPage | 8ms |
| โ | KeyboardNavigationHandlerTests | testRightArrow_whenToolbarVisible_doesNotChangePage | 7ms |
| โ | KeyboardNavigationHandlerTests | testSpaceKey_whenToolbarHidden_advancesPage | 16ms |
| โ | KeyboardNavigationHandlerTests | testSpaceKey_whenToolbarVisible_doesNotAdvancePage | 11ms |
| โ | KeyboardNavigationHandlerTests | testUnhandledKey_isNotConsumed | 52ms |
| โ | KeyboardVoiceOverTests | testEscapeKey_respectsVoiceOverToolbarBehavior | 20ms |
| โ | KeyboardVoiceOverTests | testKeyboardHandler_doesNotBlockAccessibilityNotifications | 44ms |
| โ | KeyboardVoiceOverTests | testKeyboardNavigation_worksRegardlessOfVoiceOverState | 16ms |
| โ | KeyboardVoiceOverTests | testReaderViewController_voiceOverObserverExists | 30ms |
| โ | KeyboardVoiceOverTests | testTouchNavigation_notAffectedByKeyboardSupport | 4ms |
| โ | LCPAcquisitionPredicateTests | testHasLCPAcquisition_audiobookContentType_required | 12ms |
| โ | LCPAcquisitionPredicateTests | testHasLCPAcquisition_nestedLCPInIndirectChain_returnsTrue | 2ms |
| โ | LCPAcquisitionPredicateTests | testHasLCPAcquisition_noLCPAnywhere_returnsFalse | 2ms |
| โ | LCPAcquisitionPredicateTests | testHasLCPAcquisition_topLevelLCPMime_returnsTrue | 57ms |
| โ | LCPAdapterTests | testCanHandle_marketplaceJSONFeedFixture_returnsTrue | 3ms |
| โ | LCPAdapterTests | testCanHandle_openAccessAudiobook_returnsFalse | 2ms |
| โ | LCPAdapterTests | testCanHandle_xmlFeedLCPFixture_returnsTrue | 867ms |
| โ | LCPAdapterTests | testResolveManifest_lcpInstantiationFailure_failsWithLcpInstantiationFailed | 21ms |
| โ | LCPAdapterTests | testResolveManifest_licenseFileExists_usesLicenseFile | 107ms |
| โ | LCPAdapterTests | testResolveManifest_localLCPAFile_usesLocalFile | 66ms |
| โ | LCPAdapterTests | testResolveManifest_neitherLocalNorLicense_redownloadsLicense | 435ms |
| โ | LCPAdapterTests | testResolveManifest_redownloadFailure_failsWithLicenseDownloadFailed | 2ms |
| โ | LCPAudiobookURLSchemeTests | testHTTPURLConversion_toReadiumLCPScheme | 3ms |
| โ | LCPAudiobookURLSchemeTests | testReadiumLCPScheme_isCorrect | <1ms |
| โ | LCPAudiobookURLSchemeTests | testReadiumLCPURL_preservesPath | 1.21s |
| โ | LCPAudiobookURLSchemeTests | testReadiumLCPURL_preservesQueryParameters | 1ms |
| โ | LCPAudiobooksTests | testCachedContentDictionary_initiallyReturnsNil | 2ms |
| โ | LCPAudiobooksTests | testCanOpenBook_withEpub_returnsFalse | 2ms |
| โ | LCPAudiobooksTests | testCanOpenBook_withLCPAudiobook_returnsTrue | 20ms |
| โ | LCPAudiobooksTests | testCanOpenBook_withNonLCPAudiobook_returnsFalse | 3ms |
| โ | LCPAudiobooksTests | testCanOpenBook_withPDF_returnsFalse | 18ms |
| โ | LCPAudiobooksTests | testCancelPrefetch_doesNotCrash | 1ms |
| โ | LCPAudiobooksTests | testCancelPrefetch_withoutStart_doesNotCrash | 61ms |
| โ | LCPAudiobooksTests | testContentDictionary_afterRelease_failsFast | 5ms |
| โ | LCPAudiobooksTests | testDecrypt_afterRelease_failsFast | 1ms |
| โ | LCPAudiobooksTests | testGetPublication_initiallyReturnsNil | 2ms |
| โ | LCPAudiobooksTests | testInit_withLcplLicenseURL_setsLicenseUrl | 1ms |
| โ | LCPAudiobooksTests | testInit_withNilURL_returnsNil | 2ms |
| โ | LCPAudiobooksTests | testInit_withSeparateLicenseURL_acceptsBothURLs | 28ms |
| โ | LCPAudiobooksTests | testInit_withValidFileURL_createsInstance | <1ms |
| โ | LCPAudiobooksTests | testInit_withValidHTTPURL_createsInstance | 2ms |
| โ | LCPAudiobooksTests | testReleaseResources_canBeCalledMultipleTimes | 1ms |
| โ | LCPAudiobooksTests | testReleaseResources_cancelsPrefetch | 2ms |
| โ | LCPAudiobooksTests | testReleaseResources_clearsPublication | 4ms |
| โ | LCPAudiobooksTests | testSetupStreamingFor_whenLive_handsProviderToPlayerExactlyOnce | 1ms |
| โ | LCPAudiobooksTests | testSetupStreamingFor_whenPlayerIsNotStreamingCapable_returnsFalse | 4ms |
| โ | LCPAudiobooksTests | testSetupStreamingFor_whenReleased_refusesWithoutHandingItselfOver | 76ms |
| โ | LCPAudiobooksTests | testStartPrefetch_afterRelease_isNoOp | 35ms |
| โ | LCPAudiobooksTests | testStartPrefetch_doesNotCrash | 2ms |
| โ | LCPAudiobooksTests | testSupportsStreaming_returnsTrue | <1ms |
| โ | LCPBotanCRLGuardTests | testCreateContext_WithGarbageJSONLicense_ThrowsRatherThanReturningNilSilently | 10ms |
| โ | LCPBotanCRLGuardTests | testDecryptExtension_WithEmptyData_ReturnsNil | 1ms |
| โ | LCPBotanCRLGuardTests | testDecryptExtension_WithoutContext_ReturnsNil | 902ms |
| โ | LCPBotanCRLGuardTests | testDecrypt_WithEmptyData_ReturnsNilWithoutCallingR2LCPClient | 4ms |
| โ | LCPBotanCRLGuardTests | testDecrypt_WithNonDRMContext_ReturnsNilWithoutCallingR2LCPClient | 299ms |
| โ | LCPCharacterizationTests | test_LCPLibraryService_canFulfill_acceptsLcplExtensionCaseInsensitively | 29ms |
| โ | LCPCharacterizationTests | test_LCPLibraryService_canFulfill_rejectsEpubAndPdf | 32ms |
| โ | LCPCharacterizationTests | test_LCPLibraryService_licenseExtensionConstant_isLcpl | 1ms |
| โ | LCPCharacterizationTests | test_TPPLCPLicense_extractsPublicationLink_byRel | 10ms |
| โ | LCPCharacterizationTests | test_TPPLCPLicense_parsesLinkOptionalFields_preservesNils | 6ms |
| โ | LCPCharacterizationTests | test_TPPLCPLicense_parsesMinimalValidJSON_succeeds | 4ms |
| โ | LCPCharacterizationTests | test_TPPLCPLicense_returnsNil_onCompletelyMalformedJSON | 1ms |
| โ | LCPCharacterizationTests | test_TPPLCPLicense_returnsNil_onEmptyFile | 70ms |
| โ | LCPCharacterizationTests | test_TPPLCPLicense_returnsNil_onMissingRequiredId | 95ms |
| โ | LCPCharacterizationTests | test_TPPLCPLicense_returnsNil_whenFileDoesNotExist | 1ms |
| โ | LCPCharacterizationTests | test_TPPLCPLicense_returnsNil_whenRelNotFound | 2ms |
| โ | LCPCharacterizationTests | test_TPPLicensesServiceError_descriptionExposesMessage | 18ms |
| โ | LCPCharacterizationTests | test_TPPLicensesService_acquirePublication_invalidLicense_callsCompletionWithLicenseError | 96ms |
| โ | LCPCharacterizationTests | test_TPPLicensesService_acquirePublication_missingPublicationLink_failsWithDistinctMessage | 1ms |
| โ | LCPCharacterizationTests | test_createContext_emptyPemCrl_isAcceptedByHeaderGuard | 1ms |
| โ | LCPCharacterizationTests | test_createContext_jsonContentTypeRejected_atHeaderGuard | <1ms |
| โ | LCPCharacterizationTests | test_createContext_prefixCappedAt40Chars_preventsLogSpam | <1ms |
| โ | LCPCharacterizationTests | test_createContext_whitespacePadding_isTrimmedBeforeHeaderCheck | 27ms |
| โ | LCPCharacterizationTests | test_decryptExtensionOverload_noPriorContext_returnsNil | <1ms |
| โ | LCPCharacterizationTests | test_decrypt_emptyData_returnsNil_priorToReachingR2LCPClient | 2ms |
| โ | LCPCharacterizationTests | test_decrypt_nonDRMContext_returnsNil_priorToForceCastingInsideR2LCPClient | 4ms |
| โ | LCPCharacterizationTests | test_findOneValidPassphrase_emptyHashedPassphrasesArray_returnsNilWithoutCrashing | 25ms |
| โ | LCPCharacterizationTests | test_findOneValidPassphrase_extremelyLongPassphrase_isHandledWithoutCrashing | 72ms |
| โ | LCPCharacterizationTests | test_findOneValidPassphrase_garbageJSON_returnsNilWithoutCrashing | 50ms |
| โ | LCPCharacterizationTests | test_findOneValidPassphrase_multipleGarbageInputs_returnsConsistentNil | 87ms |
| โ | LCPCharacterizationTests | test_findOneValidPassphrase_passphraseContainingNUL_isHandledWithoutCrashing | 2ms |
| โ | LCPCharacterizationTests | test_findOneValidPassphrase_passphraseContainingUTF8_isHandledWithoutCrashing | 1ms |
| โ | LCPCharacterizationTests | test_pathInZip_returnsNilForUnknownContentType | <1ms |
| โ | LCPCharacterizationTests | test_pathInZip_returnsNilWhenTypeIsMissing | 35ms |
| โ | LCPCharacterizationTests | test_pathInZip_routesAudiobookLCPToRootPath | 1ms |
| โ | LCPCharacterizationTests | test_pathInZip_routesEpubToMetaInfPath | <1ms |
| โ | LCPClientTests | test_createContext_botanThrowsDecoding_isCaughtByObjCExceptionWrapper | 1ms |
| โ | LCPClientTests | test_createContext_invalidPemCrl_throwsInvalidPemCrl | 18ms |
| โ | LCPClientTests | test_createContext_validHeaderGarbageJSON_throwsRatherThanReturningNilSilently | 2ms |
| โ | LCPClientTests | test_decryptExtension_withEmptyData_returnsNil | 1ms |
| โ | LCPClientTests | test_decryptExtension_withoutContext_returnsNil | <1ms |
| โ | LCPClientTests | test_decrypt_emptyData_returnsNil | <1ms |
| โ | LCPClientTests | test_decrypt_nonDRMContext_returnsNilWithoutCallingR2LCPClient | 5ms |
| โ | LCPClientTests | test_findOneValidPassphrase_garbageLicenseJSON_returnsNilWithoutCrashing | 16ms |
| โ | LCPClientTests | test_getSupportedLCPProfileURIs_forwardsLiblcpAdvertisedProfiles | 32ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_audiobook_doesNotMarkSuccessfulUntilContentLands | 46ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_audiobook_freshFulfillmentContentError_surfacesAlert | 84ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_audiobook_inUsedState_secondaryDownloadError_doesNotFlipToFailed | 368ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_audiobook_marksSuccessfulOnceContentLands | 64ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_audiobook_secondaryDownloadError_doesNotFlipStreamingReadyBook | 90ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_completionWithError_alsoClearsTheContentTransfer | 336ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_completionWithError_publishesFulfilmentErrorAlert | 147ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_completionWithoutLocalURL_publishesNoLocalURLAlert | 19ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_completion_clearsTheContentTransfer | 125ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_epub_secondaryDownloadError_stillSurfacesAlert | 68ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_invokesLCPServiceWithRenamedLicenseURL | 21ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_progressCallbackHeartbeatsTheRegistration | 8ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_registersTheContentTransfer_beforeStartingIt | 73ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_registersTheContentTransfer_forEpubsToo | 4ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_storesReturnedDownloadTaskInStateManager | 21ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_streamingEnabled_audiobook_marksSuccessfulOnLicense_noDownload | 337ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_streamingEnabled_epub_stillDownloads | 13ms |
| โ | LCPFulfillmentHandlerTests | testFulfill_streamingEnabled_unreadableLicense_stillMarksSuccessful_noFulfillmentId | 49ms |
| โ | LCPKeychainMigrationTests | testRunIfNeeded_whenARetryAfterAPartialFailureSucceeds_setsTheFlag | 11ms |
| โ | LCPKeychainMigrationTests | testRunIfNeeded_whenASecondCallerArrivesMidCopy_migratesAtMostOnce | 4ms |
| โ | LCPKeychainMigrationTests | testRunIfNeeded_whenFlagAlreadySet_skipsMigration | 3ms |
| โ | LCPKeychainMigrationTests | testRunIfNeeded_whenFlagUnset_runsMigrationAndSetsFlag | 3ms |
| โ | LCPKeychainMigrationTests | testRunIfNeeded_whenMigrationThrows_leavesFlagUnsetAndRetriesNextTime | 7ms |
| โ | LCPLibraryServiceTests | testCanFulfill_withAudiobookExtension_returnsFalse | 55ms |
| โ | LCPLibraryServiceTests | testCanFulfill_withEpubExtension_returnsFalse | 1ms |
| โ | LCPLibraryServiceTests | testCanFulfill_withLcpaExtension_returnsFalse | <1ms |
| โ | LCPLibraryServiceTests | testCanFulfill_withLcplExtension_returnsTrue | 1ms |
| โ | LCPLibraryServiceTests | testCanFulfill_withMixedCaseLcplExtension_returnsTrue | 1ms |
| โ | LCPLibraryServiceTests | testCanFulfill_withNoExtension_returnsFalse | 2ms |
| โ | LCPLibraryServiceTests | testCanFulfill_withPdfExtension_returnsFalse | 2ms |
| โ | LCPLibraryServiceTests | testCanFulfill_withUppercaseLcplExtension_returnsTrue | 3ms |
| โ | LCPLibraryServiceTests | testContentProtection_isAvailable | 128ms |
| โ | LCPLibraryServiceTests | testContentProtection_multipleAccess_returnsValue | 4ms |
| โ | LCPLibraryServiceTests | testDecrypt_withEmptyData_returnsNil | 11ms |
| โ | LCPLibraryServiceTests | testDecrypt_withInvalidData_returnsNil | 26ms |
| โ | LCPLibraryServiceTests | testDecrypt_withSmallData_returnsNil | <1ms |
| โ | LCPLibraryServiceTests | testFulfillAsync_withEmptyPath_throwsError | 265ms |
| โ | LCPLibraryServiceTests | testFulfillAsync_withInvalidURL_throwsError | 24ms |
| โ | LCPLibraryServiceTests | testFulfill_reportsProgress | 67ms |
| โ | LCPLibraryServiceTests | testFulfill_withNonExistentFile_callsCompletionWithError | 4ms |
| โ | LCPLibraryServiceTests | testInit_createsInstance | 4ms |
| โ | LCPLibraryServiceTests | testInit_multipleInstances_areIndependent | 2ms |
| โ | LCPLibraryServiceTests | testLicenseExtension_isLcpl | 1ms |
| โ | LCPLicenseDocumentDetectionTests | testLCPLicenseDocument_doesNotContainManifestKeys | 2ms |
| โ | LCPLicenseDocumentDetectionTests | testLCPLicenseDocument_isNotDetectedAsBearerToken | <1ms |
| โ | LCPLicenseDocumentDetectionTests | testLCPLicenseDocument_isValidJSON | <1ms |
| โ | LCPLicenseDocumentDetectionTests | testLCPLicenseDocument_parsedAsManifest_lacksReadingOrder | <1ms |
| โ | LCPLicenseDocumentDetectionTests | testLCPLicenseDocument_withMinimalFields_isNotBearerToken | <1ms |
| โ | LCPLicenseFilePathTests | testLCPLicenseExtension_isLcpl | 2ms |
| โ | LCPLicenseFilePathTests | testLCPLicensePath_derivedFromContentPath | 440ms |
| โ | LCPLicenseFilePathTests | testLCPLicensePath_everyContentExtensionProducesLcplSibling | 4ms |
| โ | LCPOrphanedDownloadRegistryTests | testBookState_downloadSuccessful_withExistingFile_staysDownloadSuccessful | 3ms |
| โ | LCPOrphanedDownloadRegistryTests | testBookState_downloadSuccessful_withMissingFile_transitionsToDownloadNeeded | 2ms |
| โ | LCPOrphanedDownloadRegistryTests | testLCPAudiobook_withBothFiles_remainsDownloadSuccessful | 59ms |
| โ | LCPOrphanedDownloadRegistryTests | testLCPAudiobook_withOnlyLicense_shouldBeConsideredMissing | 2ms |
| โ | LCPPDFAcquisitionPredicateTests | testHasLCPAcquisition_nestedLCPInIndirectChain_returnsTrue | 2ms |
| โ | LCPPDFAcquisitionPredicateTests | testHasLCPAcquisition_noLCPAnywhere_returnsFalse | <1ms |
| โ | LCPPDFAcquisitionPredicateTests | testHasLCPAcquisition_pdfContentType_required | <1ms |
| โ | LCPPDFAcquisitionPredicateTests | testHasLCPAcquisition_siblingLCPAcquisition_returnsTrue | <1ms |
| โ | LCPPDFAcquisitionPredicateTests | testHasLCPAcquisition_topLevelLCPMime_returnsTrue | 1ms |
| โ | LCPPDFDiskExtractTests | testCachedURL_noFileOnDisk_returnsNil | 4ms |
| โ | LCPPDFDiskExtractTests | testCachedURL_partialWriteWithGoodHeader_stillRejected | 91ms |
| โ | LCPPDFDiskExtractTests | testCachedURL_undersizedFile_returnsNilAndDeletesFile | 7ms |
| โ | LCPPDFDiskExtractTests | testCachedURL_validPDFHeaderAndSize_returnsURL | 6ms |
| โ | LCPPDFDiskExtractTests | testCachedURL_wrongMagicBytes_returnsNilAndDeletesFile | 16ms |
| โ | LCPPDFOpenProgressTests | testBegin_clearsCountersFromPreviousOpen | 2ms |
| โ | LCPPDFOpenProgressTests | testBegin_setsPhaseAndIdentifierAndZeroesCounters | 3ms |
| โ | LCPPDFOpenProgressTests | testFinish_resetsToIdleAndClearsIdentifier | 3ms |
| โ | LCPPDFOpenProgressTests | testPercentComplete_clampsAt99NotAt100 | 15ms |
| โ | LCPPDFOpenProgressTests | testPercentComplete_withByteTotal_returnsTrueRatio | 4ms |
| โ | LCPPDFOpenProgressTests | testPercentComplete_withoutByteTotal_usesDecryptCurve | 60ms |
| โ | LCPPDFOpenProgressTests | testPercentComplete_zeroProgress_isZero | 4ms |
| โ | LCPPDFOpenProgressTests | testRecordDecrypt_autoTransitionsFromOpeningPublicationToDecrypting | 45ms |
| โ | LCPPDFOpenProgressTests | testRecordDecrypt_fromCache_incrementsCachedHitsNotBlocks | 7ms |
| โ | LCPPDFOpenProgressTests | testRecordDecrypt_incrementsBlocksAndBytes | 3ms |
| โ | LCPPDFOpenProgressTests | testRecordDecrypt_whenIdle_doesNothing | 4ms |
| โ | LCPPDFOpenProgressTests | testRecordExtractedBytes_incrementsBytesAndTransitionsPhase | 42ms |
| โ | LCPPDFOpenProgressTests | testRoundTrip_beginWorkFinishBegin_endsAtCleanState | 4ms |
| โ | LCPPassphraseReadinessTests | testReadiness_underDetailsFailed_returnsNil | 2ms |
| โ | LCPPassphraseReadinessTests | testReadiness_underDetailsLoading_doesNotShortCircuitOnNilLoansUrl | 22ms |
| โ | LCPSessionIdentifierTests | testSessionIdentifier_isDifferentForDifferentURLs | 1ms |
| โ | LCPSessionIdentifierTests | testSessionIdentifier_isSameAcrossMultipleComputations | 2ms |
| โ | LCPSessionIdentifierTests | testURLHashValue_isNotStableAcrossComputations | 52ms |
| โ | LegacySAMLProblemDocumentPropagationTests | testSAMLPresenter_problemDocumentNil_firesDelegateWithGenericFallback | 28ms |
| โ | LegacySAMLProblemDocumentPropagationTests | testSAMLPresenter_problemDocumentTitleOnly_surfacesWithFallbackMessage | 83ms |
| โ | LegacySAMLProblemDocumentPropagationTests | testSAMLPresenter_problemDocumentWithTitleAndDetail_surfacesToUIDelegate | 34ms |
| โ | LegacySAMLProblemDocumentPropagationTests | testSAMLPresenter_problemDocument_errorDomainIdentifiesSAMLPath | 135ms |
| โ | LegacySAMLProblemDocumentPropagationTests | testSAMLPresenter_problemHandler_businessLogicReleased_doesNotCrash | 57ms |
| โ | LegacySAMLProblemDocumentPropagationTests | testSignInBusinessLogic_pinAllowsAlphanumeric_isNumericNegation | 95ms |
| โ | LegacySAMLProblemDocumentPropagationTests | testSignInBusinessLogic_usernameIsEmailKeyboard_matchesAuthKeyboard | 94ms |
| โ | LibrariesSectionViewModelTests | test_deleteSecondary_callsTokenDeleter_andRemovesAccount_andPersists | 1ms |
| โ | LibrariesSectionViewModelTests | test_deleteSecondary_noOpsOnCurrentAccount | <1ms |
| โ | LibrariesSectionViewModelTests | test_isLoading_false_whenAnAccountResolves_evenIfCatalogNotLoaded | 2ms |
| โ | LibrariesSectionViewModelTests | test_isLoading_false_whenEmptyButCatalogHasLoaded | <1ms |
| โ | LibrariesSectionViewModelTests | test_isLoading_flipsFalse_onRefresh_afterAccountBecomesResolvable | <1ms |
| โ | LibrariesSectionViewModelTests | test_isLoading_true_whenNoAccountsResolveAndCatalogNotLoaded | 25ms |
| โ | LibrariesSectionViewModelTests | test_presentAddLibrary_flipsSheetBool | <1ms |
| โ | LibrariesSectionViewModelTests | test_refresh_doesNotPersist_whenNoStaleUUIDs | 1ms |
| โ | LibrariesSectionViewModelTests | test_refresh_filtersUUIDsNotInRegistry_andPersistsCleanedList | <1ms |
| โ | LibrariesSectionViewModelTests | test_refresh_putsCurrentAccountFirstAndSortsOthersByName | 1ms |
| โ | LibrariesSectionViewModelTests | test_refresh_withNoCurrentAccount_sortsAllAlphabetically | <1ms |
| โ | LibrariesSectionViewModelTests | test_shouldShowSkeleton_onlyWhenEmptyAndNotLoaded | <1ms |
| โ | LibrariesSectionViewModelTests | test_switchToAccount_callsEnvironment_andUpdatesCurrentUUID_andResortsAccounts | 1ms |
| โ | LibrariesSectionViewModelTests | test_switchToAccount_firesCompletion_andClearsIsSwitching_whenEnvironmentReportsReady | 3ms |
| โ | LibrariesSectionViewModelTests | test_switchToAccount_isNoOpForCurrentAccount | <1ms |
| โ | LibrariesSectionViewModelTests | test_switchToAccount_newlyAddedAccount_insertsItFirst_andFiresCompletion | 5ms |
| โ | LibraryCatalogMergerTests | testMerge_EmptyExistingWithNewPublications_AddsAll | <1ms |
| โ | LibraryCatalogMergerTests | testMerge_FullCrawl_RemovesAbsentPublications | <1ms |
| โ | LibraryCatalogMergerTests | testMerge_FullCrawl_ReplacesAllWithUpdates | <1ms |
| โ | LibraryCatalogMergerTests | testMerge_NewPublication_AppendsToList | 61ms |
| โ | LibraryCatalogMergerTests | testMerge_PreservesUnmodifiedPublications_InIncrementalMode | 30ms |
| โ | LibraryCatalogMergerTests | testMerge_UpdatesExistingByID_ReplacesOldPublication | <1ms |
| โ | LibraryCatalogMergerTests | testMerge_uuidsWithChangedLogos_includesAllTransitionsAndExcludesUnchangedURL | 2ms |
| โ | LibraryCatalogMergerTests | testSerializeAsCatalogsFeed_PreservesPublicationIDs | 24ms |
| โ | LibraryCatalogMergerTests | testSerializeAsCatalogsFeed_ProducesValidJSON | 6ms |
| โ | LibraryIconInertLintTests | testPalaceIconIsBrandingOnlyEverywhereItIsUsed | 421ms |
| โ | LibraryRegistryCrawlerTests | testCrawl_HandlesNetworkFailure_ReturnsFailure | 11ms |
| โ | LibraryRegistryCrawlerTests | testCrawl_PersistsCurrentAppVersion | 13ms |
| โ | LibraryRegistryCrawlerTests | testCrawl_ReportsProgress | 113ms |
| โ | LibraryRegistryCrawlerTests | testCrawl_SavesCrawlState_OnSuccess | 30ms |
| โ | LibraryRegistryCrawlerTests | testCrawl_WhenAppVersionChanged_HitsCrawlableURL_NotFacetURL | 98ms |
| โ | LibraryRegistryCrawlerTests | testCrawl_WhenFacetNotActive_StoresFacetURLForFutureUse | 20ms |
| โ | LibraryRegistryCrawlerTests | testCrawl_WhenLastFullCrawlOlderThan7Days_HitsCrawlableURL | 111ms |
| โ | LibraryRegistryCrawlerTests | testCrawl_WhenLastFullCrawlWithin7Days_UsesFacetURL | 11ms |
| โ | LibraryRegistryCrawlerTests | testCrawl_WhenTaskCancelledDuringFetch_StopsPromptlyWithFailure_AndDoesNotPaginate | 15ms |
| โ | LibraryRegistryCrawlerTests | testFirstLaunch_PerformsFullCrawl_PaginatesAllPages | 7ms |
| โ | LibraryRegistryCrawlerTests | testFirstLaunch_PerformsFullCrawl_SinglePage | 10ms |
| โ | LibraryRegistryCrawlerTests | testFullCrawl_WhenNoOrderModifiedFacet_FetchesAllPages | 91ms |
| โ | LibraryRegistryCrawlerTests | testIncrementalCrawl_ReachingEndOfFeed_ReconcilesDeletions | 13ms |
| โ | LibraryRegistryCrawlerTests | testIncrementalCrawl_StopsAtLastCrawlTimestamp | 27ms |
| โ | LibraryRegistryCrawlerTests | testIncrementalCrawl_WhenNotReachingEndOfFeed_PreservesExistingEntries | 11ms |
| โ | LibraryRowPresentationTests | test_inactiveRowBody_opensLibraryDetails_notTheSwitchConfirmation | 3ms |
| โ | LibraryRowPresentationTests | test_noTapOnAnyRowSwitchesLibrariesExceptTheSelectionControl | 217ms |
| โ | LibraryRowPresentationTests | test_rowAccessibilityLabel_carriesNameAndSubtitle | 138ms |
| โ | LibraryRowPresentationTests | test_rowAccessibilityLabel_doesNotRepeatTheSelectionState | 167ms |
| โ | LibraryRowPresentationTests | test_rowAccessibilityLabel_isJustTheName_whenThereIsNoSubtitle | 1ms |
| โ | LibraryRowPresentationTests | test_selectionAccessibilityLabel_announcesSelectionOnCurrent_andTheSwitchActionOnOthers | 80ms |
| โ | LibraryRowPresentationTests | test_selectionControl_isInertOnTheCurrentLibrary_andActionableOnEveryOther | 2ms |
| โ | LibraryRowPresentationTests | test_selectionSymbol_isFilledCheckmarkOnlyForTheCurrentLibrary | <1ms |
| โ | LibraryRowPresentationTests | test_swipeToDelete_isOfferedOnlyOnLibrariesThePatronIsNotIn | 1ms |
| โ | LibraryRowPresentationTests | test_tapOutcomeTable_coversEveryLibraryStateAndTapTarget | 2ms |
| โ | LicensesServiceTests | testAcquirePublication_WithInvalidLCPLFile_CompletesWithError | 2ms |
| โ | LicensesServiceTests | testAcquirePublication_WithNonexistentFile_CompletesWithError | 27ms |
| โ | LicensesServiceTests | testLicensesServiceError_licenseError_exposesMessageViaDescriptionVerbatim | <1ms |
| โ | LicensesServiceTests | testPathInZip_mapsEveryContentTypeToTheCorrectPath | <1ms |
| โ | LiveCrawlableParsingTest | testCrawlableURL_FromBetaURL | 1ms |
| โ | LiveCrawlableParsingTest | testCrawlableURL_FromProdURL | 18ms |
| โ | LiveCrawlableParsingTest | testFullCrawl_LiveEndpoint | 77ms |
| โ | LiveCrawlableParsingTest | testParseLiveCrawlableFeed | 4ms |
| โ | LiveDownloadTaskBoxTests | testCapture_keysOnTheTaskIdentifier | 2ms |
| โ | LiveDownloadTaskBoxTests | testCapture_recordsTheTaskAndTheURLItIsFetching | 6ms |
| โ | LiveDownloadTaskBoxTests | testCapture_reportsSuccess_whenTheTaskHasAURL | 5ms |
| โ | LiveDownloadTaskBoxTests | testCapture_severalTasks_keepsEachURLWithItsOwnIdentifier | 2ms |
| โ | LiveDownloadTaskBoxTests | testCapture_twoTasksOnTheSameURL_bothAreRecorded | 1ms |
| โ | LiveDownloadTaskBoxTests | testDownloadURL_fallsBackToCurrent_whenOriginalIsAbsent | 153ms |
| โ | LiveDownloadTaskBoxTests | testDownloadURL_isNil_whenNeitherRequestHasAURL | 728ms |
| โ | LiveDownloadTaskBoxTests | testDownloadURL_prefersOriginalOverCurrent_soARedirectStillMatchesItsRecord | 108ms |
| โ | LiveDownloadTaskBoxTests | testDownloadURL_usesOriginal_whenCurrentIsAbsent | 3ms |
| โ | LoanEvictionPolicyTests | testExactlyAtExpiration_notPastYet_keeps | <1ms |
| โ | LoanEvictionPolicyTests | testNoExpiration_offline_keeps | <1ms |
| โ | LoanEvictionPolicyTests | testNoExpiration_online_keeps | <1ms |
| โ | LoanEvictionPolicyTests | testNotExpired_offline_keeps | 2ms |
| โ | LoanEvictionPolicyTests | testNotExpired_online_keeps | <1ms |
| โ | LoanEvictionPolicyTests | testOfflineExpiredByCachedUntil_keepsFile | <1ms |
| โ | LoanEvictionPolicyTests | testOfflineExpiredPastGrace_stillKeeps | 51ms |
| โ | LoanEvictionPolicyTests | testOfflineExpiredWithinGrace_keepsFile | <1ms |
| โ | LoanEvictionPolicyTests | testOnlineExactlyAtExpiration_withZeroGrace_evicts | <1ms |
| โ | LoanEvictionPolicyTests | testOnlineExactlyAtGraceEdge_evicts | 2ms |
| โ | LoanEvictionPolicyTests | testOnlineExpiredPastGrace_evicts | <1ms |
| โ | LoanEvictionPolicyTests | testOnlineExpiredWithinGrace_confirmsWithServer | 51ms |
| โ | LoanEvictionPolicyTests | testOnlineJustInsideGraceEdge_confirmsWithServer | 25ms |
| โ | LoanRenewalServiceTests | testAccountHost401_marksCredentialsStale | 4ms |
| โ | LoanRenewalServiceTests | testForeignHost401_doesNotMarkCredentialsStale | 7ms |
| โ | LoanRenewalServiceTests | testNoRenewURL_returnsNoRenewURL | 142ms |
| โ | LoanRenewalServiceTests | testOfflineTransport_returnsNetworkError | 6ms |
| โ | LoanRenewalServiceTests | testProductionFactory_foreignHost401_classifiesOk | 35ms |
| โ | LoanRenewalServiceTests | testRenewURL_extractsBorrowRelAcquisition | <1ms |
| โ | LoanRenewalServiceTests | testRenewURL_noBorrowAcquisition_isNil | <1ms |
| โ | LoanRenewalServiceTests | testServerError500_returnsFailed_doesNotMarkStale | 6ms |
| โ | LoanRenewalServiceTests | testSuccess2xx_returnsSuccess_doesNotMarkStale | 5ms |
| โ | LocalBookContentServiceTests | testBackgroundFetchAllowed_acrossConnectivityAndPreference | 3ms |
| โ | LocalBookContentServiceTests | testBackgroundFetchAllowed_onCellularWithWiFiOnlySet_refuses | 8ms |
| โ | LocalBookContentServiceTests | testClaim_heartbeatedByProgress_isNOTReclaimed | 7ms |
| โ | LocalBookContentServiceTests | testClaim_silentPastTheIdleWindow_isReclaimed | 18ms |
| โ | LocalBookContentServiceTests | testContentFetchIsTriggeredAfterDownloadInfoIsCleared | 18ms |
| โ | LocalBookContentServiceTests | testContentFetchResolvesTheAccountFromTheInjectedManager | 84ms |
| โ | LocalBookContentServiceTests | testDeleteForBook_accountOverride_passedThroughToBookFileManager | 10ms |
| โ | LocalBookContentServiceTests | testDeleteForBook_epub_missingFile_logsButDoesNotThrow | 26ms |
| โ | LocalBookContentServiceTests | testDeleteForBook_epub_removesFileWhenPresent | 28ms |
| โ | LocalBookContentServiceTests | testDeleteForBook_pdf_removesContentFile | 5ms |
| โ | LocalBookContentServiceTests | testDeleteForBook_unresolvableFileURL_doesNotCrashAndLogsWarning | 4ms |
| โ | LocalBookContentServiceTests | testDeleteForIdentifier_lookUpsBookInRegistryAndDelegates | 5ms |
| โ | LocalBookContentServiceTests | testDeleteForIdentifier_unknownIdentifier_logsAndDoesNothing | 3ms |
| โ | LocalBookContentServiceTests | testDownloadCenter_wiresItsReporterIntoTheContentService | 23ms |
| โ | LocalBookContentServiceTests | testDownloadCenter_wiresTheLCPTransferRegistryIntoEveryConsumer | 8ms |
| โ | LocalBookContentServiceTests | testDownloadCentreFetch_whenNotOnWiFiAndWiFiOnlySet_doesNotFetch | 10ms |
| โ | LocalBookContentServiceTests | testDownloadCentreFetch_whenPolicyAllows_fetches | 15ms |
| โ | LocalBookContentServiceTests | testDuplicateGuardStillConsultsDownloadInfo | 21ms |
| โ | LocalBookContentServiceTests | testHandleDownloadCompletion_whenTheDownloadFailed_startsNoBackgroundFetch | 174ms |
| โ | LocalBookContentServiceTests | testRedownload_afterTheTransferClears_fetches | 38ms |
| โ | LocalBookContentServiceTests | testRedownload_afterTransferCompletes_allowsAFreshDownload | 12ms |
| โ | LocalBookContentServiceTests | testRedownload_licenseOnly_fetchesTheArchiveSoTheBookWorksOffline | 8ms |
| โ | LocalBookContentServiceTests | testRedownload_nonLCPAudiobook_doesNotTransfer | 14ms |
| โ | LocalBookContentServiceTests | testRedownload_onSuccess_doesNotOverwriteATerminalState | 6ms |
| โ | LocalBookContentServiceTests | testRedownload_onSuccess_promotesTheRecordToDownloadSuccessful | 6ms |
| โ | LocalBookContentServiceTests | testRedownload_reportsActiveThenProgressThenIdle | 37ms |
| โ | LocalBookContentServiceTests | testRedownload_whenAnotherBookIsTransferring_stillStarts | 40ms |
| โ | LocalBookContentServiceTests | testRedownload_whenContentAlreadyOnDisk_doesNotTransferAtAll | 9ms |
| โ | LocalBookContentServiceTests | testRedownload_whenFileMoveFails_stillReleasesTheSlot | 91ms |
| โ | LocalBookContentServiceTests | testRedownload_whenTheDownloadCenterIsAlreadyTransferring_doesNotStartASecond | 3ms |
| โ | LocalBookContentServiceTests | testRedownload_whileDownloadCenterReportsATransfer_isSkipped | 19ms |
| โ | LocalBookContentServiceTests | testRedownload_whileFirstTransferInFlight_doesNotStartADuplicate | 29ms |
| โ | LocalBookContentServiceTests | testRedownload_withoutLicenseOnDisk_doesNotTransfer | 74ms |
| โ | LocalBookContentServiceTests | testRelease_fromAReclaimedTransfer_doesNotFreeTheSuccessorsSlot | 5ms |
| โ | LocalFileAdapterTests | testCanHandle_localFileExists_returnsTrue | 2ms |
| โ | LocalFileAdapterTests | testCanHandle_noLocalFile_returnsFalse | 6ms |
| โ | LocalFileAdapterTests | testResolveManifest_bearerTokenFulfillURL_refreshesTokenBeforeReturn | 19ms |
| โ | LocalFileAdapterTests | testResolveManifest_noBearerTokenFulfillURL_skipsRefresh | 7ms |
| โ | LocalFileAdapterTests | testResolveManifest_unreadableFile_failsWithManifestParseFailed | 15ms |
| โ | LocalFileAdapterTests | testResolveManifest_validJSON_succeeds | 7ms |
| โ | LocalizationTablesTests | testEveryLanguageShipsATable | 26ms |
| โ | LocalizationTablesTests | testFormatSpecifierCountMatchesTheKey | 30ms |
| โ | LocalizationTablesTests | testKeySetsAreIdenticalAcrossLanguages | 494ms |
| โ | LocalizationTablesTests | testNoValueIsEmpty | 537ms |
| โ | LogTests | testDebug_doesNotCrash | 311ms |
| โ | LogTests | testDebug_doesNotPersistToLogger | 124ms |
| โ | LogTests | testError_doesNotCrash | 3ms |
| โ | LogTests | testError_persistsToLogger | 948ms |
| โ | LogTests | testFault_doesNotCrash | 3ms |
| โ | LogTests | testFault_persistsToLogger | 351ms |
| โ | LogTests | testInfo_doesNotCrash | 4ms |
| โ | LogTests | testInfo_doesNotPersistToLogger | 425ms |
| โ | LogTests | testLog_objcCompatibility_doesNotCrash | 445ms |
| โ | LogTests | testLog_withFilePathTag_trimsProperly | 48ms |
| โ | LogTests | testSubsystem_isCorrectValue | 20ms |
| โ | LogTests | testSubsystem_isNotEmpty | 1ms |
| โ | LogTests | testWarn_doesNotCrash | 15ms |
| โ | LoginKeyboardTests | testInit_WithCaseSensitiveString_ReturnsNil | 36ms |
| โ | LoginKeyboardTests | testInit_WithDefaultString_ReturnsStandard | 13ms |
| โ | LoginKeyboardTests | testInit_WithEmailString_ReturnsEmail | 10ms |
| โ | LoginKeyboardTests | testInit_WithEmptyString_ReturnsNil | 1ms |
| โ | LoginKeyboardTests | testInit_WithInvalidString_ReturnsNil | 34ms |
| โ | LoginKeyboardTests | testInit_WithNilString_ReturnsNil | 2ms |
| โ | LoginKeyboardTests | testInit_WithNoInputString_ReturnsNone | 2ms |
| โ | LoginKeyboardTests | testInit_WithNumberPadString_ReturnsNumeric | <1ms |
| โ | MainActorHelpersTests | testBarrierExecutor_Modify_TransformsValue | 4ms |
| โ | MainActorHelpersTests | testBarrierExecutor_ReadInitialValue | <1ms |
| โ | MainActorHelpersTests | testBarrierExecutor_Write_UpdatesValue | 5ms |
| โ | MainActorHelpersTests | testDebouncer_Cancel_PreventsExecution | 102ms |
| โ | MainActorHelpersTests | testDebouncer_OnlExecutesLastCall | 500ms |
| โ | MainActorHelpersTests | testOnceExecutor_ExecutesOnlyOnce | 3ms |
| โ | MainActorHelpersTests | testOnceExecutor_Reset_AllowsReExecution | 89ms |
| โ | MainActorHelpersTests | testRunParallelFireAndForget_EmptyArray_CompletesImmediately | 4ms |
| โ | MainActorHelpersTests | testRunParallelFireAndForget_ExecutesAllTasks | 17ms |
| โ | MainActorHelpersTests | testRunParallel_EmptyArray_ReturnsEmptyArray | 6ms |
| โ | MainActorHelpersTests | testRunParallel_MultipleItems_ReturnsInOriginalOrder | 54ms |
| โ | MainActorHelpersTests | testRunParallel_SingleItem_ReturnsSingleResult | 3ms |
| โ | MainActorHelpersTests | testRunParallel_ThrowingTask_PropagatesError | 4ms |
| โ | MainActorHelpersTests | testSerialExecutor_ExecutesInOrder | 55ms |
| โ | MainActorHelpersTests | testSerialExecutor_WaitForAll_WaitsForCompletion | 52ms |
| โ | MainActorHelpersTests | testTaskSleepSeconds_CompletesAfterDuration | 59ms |
| โ | MainActorHelpersTests | testThrottler_AfterInterval_ExecutesAgain | 103ms |
| โ | MainActorHelpersTests | testThrottler_FirstCall_ExecutesImmediately | 7ms |
| โ | MainActorHelpersTests | testThrottler_RapidCalls_SkipsSubsequent | <1ms |
| โ | MainActorHelpersTests | testWithAsyncCallback_ConvertsCallbackToAsync | 30ms |
| โ | MainActorHelpersTests | testWithAsyncThrowingCallback_Failure_ThrowsError | 71ms |
| โ | MainActorHelpersTests | testWithAsyncThrowingCallback_Success_ReturnsValue | 86ms |
| โ | ManifestFixtureTests | testEveryManifestFixtureIsBundled | 15ms |
| โ | ManifestFixtureTests | testFixtureSetIsNotEmpty | 107ms |
| โ | MappedCatalogBridgeTests | testToCatalogContent_EmptyFeed | <1ms |
| โ | MappedCatalogBridgeTests | testToCatalogContent_GroupedFeed | 2ms |
| โ | MappedCatalogBridgeTests | testToCatalogContent_UngroupedFeed | 4ms |
| โ | MappedCatalogModelTests | testEdgeCase_EmptyTitle | 15ms |
| โ | MappedCatalogModelTests | testEdgeCase_LongTitle | 19ms |
| โ | MappedCatalogModelTests | testEdgeCase_ManyLanes | <1ms |
| โ | MappedCatalogModelTests | testEdgeCase_ManyUngroupedBooks | 246ms |
| โ | MappedCatalogModelTests | testInit_CompleteFeedWithAllComponents | 159ms |
| โ | MappedCatalogModelTests | testInit_EmptyFeed | 5ms |
| โ | MappedCatalogModelTests | testInit_GroupedFeedWithLanes | 26ms |
| โ | MappedCatalogModelTests | testInit_StoresAllProperties | 3ms |
| โ | MappedCatalogModelTests | testInit_UngroupedFeedWithBooks | 9ms |
| โ | MappedCatalogModelTests | testInit_WithEntryPoints | 2ms |
| โ | MappedCatalogModelTests | testInit_WithFacetGroups | 1ms |
| โ | MarqueeTextTests | testShouldScroll_exactFitDoesNotScroll | <1ms |
| โ | MarqueeTextTests | testShouldScroll_fittingTextIsStatic | <1ms |
| โ | MarqueeTextTests | testShouldScroll_overflowingTextScrolls | 43ms |
| โ | MarqueeTextTests | testShouldScroll_reduceMotionSuppressesOverflowScroll | 1ms |
| โ | MarqueeTextTests | testShouldScroll_unmeasuredContainerDoesNotScroll | <1ms |
| โ | MockBackendExpiredCredentialsTests | testBorrow_Returns403 | 5ms |
| โ | MockBackendExpiredCredentialsTests | testCatalog_StillReturns200 | 6ms |
| โ | MockBackendExpiredCredentialsTests | testLoans_Returns403WithProblemDocument | 16ms |
| โ | MockBackendHoldsTests | testHoldsScenario_LoansFeed_ServesReservedAndReadyEntries | 23ms |
| โ | MockBackendHoldsTests | testHoldsScenario_ReadyEntry_HasReadyAvailability | 24ms |
| โ | MockBackendHoldsTests | testHoldsScenario_ReservedEntry_ExposesQueuePosition | 14ms |
| โ | MockBackendIntegrationTests | testBorrow_Returns201 | 111ms |
| โ | MockBackendIntegrationTests | testFetchAnnotations_ReturnsAnnotations | 11ms |
| โ | MockBackendIntegrationTests | testFetchAuthDocument_ParsesCorrectly | 18ms |
| โ | MockBackendIntegrationTests | testFetchCatalog_ReturnsParsedFeed | 51ms |
| โ | MockBackendLoanLimitTests | testBorrow_Returns403WithLoanLimitProblem | 27ms |
| โ | MockBackendLoanLimitTests | testCatalogBrowsing_StillWorks | 89ms |
| โ | MockBackendRouteMatchingTests | testRouteMatching_CatchAll | 53ms |
| โ | MockBackendRouteMatchingTests | testRouteMatching_ExactPath | 2ms |
| โ | MockBackendRouteMatchingTests | testRouteMatching_MethodFilter | 37ms |
| โ | MockBackendRouteMatchingTests | testScenarioLoading | 10ms |
| โ | MockBackendServerDownTests | testAllEndpoints_Return502 | 7ms |
| โ | MockIsolationLintTests | testEveryFileWithCancellables_tearsThemDown | 797ms |
| โ | MockIsolationLintTests | testEveryFileWithNotificationObserver_removesIt | 665ms |
| โ | MockIsolationLintTests | testEveryFileWithSharedSingleton_hasResetShared | 382ms |
| โ | MockIsolationLintTests | testLintAcceptsInheritedTearDown | <1ms |
| โ | MockIsolationLintTests | testLintCatchesSyntheticViolator | 26ms |
| โ | MultiLibraryTokenIsolationTests | test_CancelNonEssential_ClearsTheRegistry | 27ms |
| โ | MultiLibraryTokenIsolationTests | test_CancelNonEssential_PreservesAudiobookTasks | 30ms |
| โ | MultiLibraryTokenIsolationTests | test_GET_ForLibraryB_SendsBBearerOverWire | 61ms |
| โ | MultiLibraryTokenIsolationTests | test_POST_ToLibraryB_CarriesBBearerAndBody | 131ms |
| โ | MultiLibraryTokenIsolationTests | test_ProblemDocument_RecoverableVsUnrecoverableAuthError | 21ms |
| โ | MultiLibraryTokenIsolationTests | test_QueuedRetry_UsesTheDispatchAccount_NotTheOneCurrentAt401 | 64ms |
| โ | MultiLibraryTokenIsolationTests | test_Reachability_IsStableAcrossAdjacentReads | 59ms |
| โ | MultiLibraryTokenIsolationTests | test_Refresh401WithProblemDocument_EmbedsDocumentInError | 40ms |
| โ | MultiLibraryTokenIsolationTests | test_Refresh401_NoProblemDoc_HasNilProblemDocument | 50ms |
| โ | MultiLibraryTokenIsolationTests | test_RefreshA_401_MarksOnlyAStale_NotB | 270ms |
| โ | MultiLibraryTokenIsolationTests | test_RefreshForA_AfterSwitchToB_StillHitsAsTokenURL | 276ms |
| โ | MultiLibraryTokenIsolationTests | test_RefreshForA_DoesNotMutateBToken | 201ms |
| โ | MultiLibraryTokenIsolationTests | test_RequestForA_CarriesABearer | 138ms |
| โ | MultiLibraryTokenIsolationTests | test_RequestForB_CarriesBBearer_NotA | 9ms |
| โ | MultiLibraryTokenIsolationTests | test_SwitchCurrency_PreservesBothBearers | 142ms |
| โ | MultiLibraryTokenIsolationTests | test_executeRequest_forANonCurrentLibrary_stampsThatLibraryOnTheTask | 258ms |
| โ | MultiLibraryTokenIsolationTests | test_executeRequest_withNoAccountNamed_stampsTheCurrentLibrary | 457ms |
| โ | MyBooksDownloadCenterAccountIdThreadingTests | testBearerAuthorized_explicitAccountId_appliesTokenForThatAccount | 118ms |
| โ | MyBooksDownloadCenterAccountIdThreadingTests | testBearerAuthorized_explicitAccountId_doesNotTouchAppContainerProduction | 66ms |
| โ | MyBooksDownloadCenterAccountIdThreadingTests | testBearerAuthorized_nilAccountId_delegatesToResolver | 8ms |
| โ | MyBooksDownloadCenterAccountIdThreadingTests | testConcurrentDownloadsAcrossRapidAccountSwitches_allUseCorrectToken | 67ms |
| โ | MyBooksDownloadCenterAccountIdThreadingTests | testStartDownload_capturesCurrentAccountIdOnce_doesNotReResolve | 7ms |
| โ | MyBooksDownloadCenterAccountIdThreadingTests | testStartDownload_currentAccountIdChangesAfterCapture_originalIdUsedForRequests | 86ms |
| โ | MyBooksDownloadCenterAccountIdThreadingTests | testStartDownload_currentAccountIdNilAtCapture_capturesSentinelUUID | 7ms |
| โ | MyBooksDownloadCenterAccountScopeSeamTests | testFileUrl_resolvesPathUnderAccountFromInjectedScopeSeam | 29ms |
| โ | MyBooksDownloadCenterAccountScopeSeamTests | testFileUrl_tracksInjectedScopeSeamAcrossAccountChange | 9ms |
| โ | MyBooksDownloadCenterAccountScopeSeamTests | testPersistStartedTaskRecord_alsoStampsTheTaskItself | 3ms |
| โ | MyBooksDownloadCenterAccountScopeSeamTests | testPersistStartedTaskRecord_stampsAccountFromInjectedScopeSeam | 3ms |
| โ | MyBooksDownloadCenterAccountScopeSeamTests | testPersistStartedTaskRecord_tracksInjectedScopeSeamAcrossAccountChange | 85ms |
| โ | MyBooksDownloadCenterAccountScopeSeamTests | testPersistStartedTaskRecord_withNoCurrentAccount_leavesTheTaskUnstamped | 4ms |
| โ | MyBooksDownloadCenterAccountScopeSeamTests | testPersistStartedTaskRecord_withNoCurrentAccount_stampsEmptySentinel | 5ms |
| โ | MyBooksDownloadCenterAdeptGapTests | testDownloadCenter_bookStateTransitions_downloadSuccess | 3ms |
| โ | MyBooksDownloadCenterAdeptGapTests | testDownloadCenter_bookStateTransitions_forAdobeAdeptBooks | 547ms |
| โ | MyBooksDownloadCenterAdeptGapTests | testDownloadCenter_downloadProgressPublisher_exists | <1ms |
| โ | MyBooksDownloadCenterCachePurgeTests | testDeleteLocalContentForBook_afterTheRecordIsGone_purgesItsChapters | 150ms |
| โ | MyBooksDownloadCenterCachePurgeTests | testDeleteLocalContent_whenTheDepartingBookIsStillRegistered_purgesItsChapters | 43ms |
| โ | MyBooksDownloadCenterCachePurgeTests | testDeleteLocalContent_whileAnotherAudiobookIsDownloading_keepsItsChapters | 37ms |
| โ | MyBooksDownloadCenterCachePurgeTests | testDeleteLocalContent_whileAnotherAudiobookIsOnTheShelf_keepsItsChapters | 40ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testCanStartDownload_returnsTrueOnlyStrictlyBelowMaxConcurrent | 3ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testCancellation_OfActiveDownload_FreesSlotAndSchedulesPendingStarts | 17ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testCancellation_OfActiveDownload_PromotesNextQueuedBook | 85ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testColdStart_ofCoordinator_HasNoActiveOrQueuedDownloads | 43ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testCompletion_PromotesNextQueuedToActive | 15ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testConcurrentEnqueueFromManyTasks_IsActorSerialized | 64ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testConcurrentSetProcessing_fromMultipleDownloads_serializes | 27ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testDequeuePending_RemovesBooksInFIFOOrder | 19ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testDequeuePending_zeroCapacity_returnsEmptyAndPreservesQueue | 7ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testEnqueuePending_isDedupedByBookIdentifier | 7ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testFailure_FreesSlot_AndPromotesQueuedBook | 73ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testForegroundReapplyOfCap_AlwaysPumpsThePendingQueue | 130ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testQueueOrdering_FIFOSurvivesInterleavedEnqueueAndDequeue | 30ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testRedirectAttempts_perTaskIsolated_andClearable | 3ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testRegisterCompletion_RemovesOnlyTheNamedIdentifier | 6ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testRegisterCompletion_unknownIdentifier_isSafeNoOp | 12ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testReset_ClearsActive_Queue_Cache_AndRedirectAttempts | 19ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testSchedulePendingStartsAsync_HonorsRemainingCapacity_NotQueueSize | 51ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testSchedulePendingStartsAsync_atCap_preservesQueueAndSkipsDelegate | 15ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testSchedulePendingStartsAsync_emptyQueue_doesNotInvokeDelegate | 91ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testStartingNPlus1Downloads_LeavesExactlyNActiveAnd1Queued | 29ms |
| โ | MyBooksDownloadCenterConcurrencyTests | testThreeRoundTrips_eachCompletion_promotesExactlyOneQueuedBook | 14ms |
| โ | MyBooksDownloadCenterEvictionTests | testEviction_multipleBooksOverBudget_evictsLRUFirstAndFlipsAllAffected | 185ms |
| โ | MyBooksDownloadCenterEvictionTests | testEviction_preservesLcpAudiobook_butEvictsEpubCompanion | 182ms |
| โ | MyBooksDownloadCenterEvictionTests | testEviction_preservesLcpLicense | 8ms |
| โ | MyBooksDownloadCenterEvictionTests | testEviction_whenAddingAnticipatedBytesPushesOverBudget_makesRoom | 19ms |
| โ | MyBooksDownloadCenterEvictionTests | testEviction_whenOverBudget_deletesFileAndFlipsRegistryToDownloadNeeded | 12ms |
| โ | MyBooksDownloadCenterEvictionTests | testEviction_whenUnderBudget_doesNothing | 5ms |
| โ | MyBooksDownloadCenterEvictionTests | testEviction_withOrphanFile_deletesButSkipsRegistryMutation | 43ms |
| โ | MyBooksDownloadCenterOfflineTests | testCleanupDownload_RemovesTaskIdentifierToBookEntry | 48ms |
| โ | MyBooksDownloadCenterOfflineTests | testInit_WithReachabilityConnected_DoesNotFailExistingDownloads | 2.22s |
| โ | MyBooksDownloadCenterOfflineTests | testReachabilityDrop_DuringActiveDownload_FailsBookWithinDeterministicWindow | 24ms |
| โ | MyBooksDownloadCenterOfflineTests | testReachabilityDrop_DuringMultipleActiveDownloads_FailsEach | 23ms |
| โ | MyBooksDownloadCenterOfflineTests | testReachabilityDrop_StaleAndActive_FailsOnlyTheActiveDownload | 93ms |
| โ | MyBooksDownloadCenterOfflineTests | testReachabilityDrop_WithNoActiveDownloads_IsNoOp | 358ms |
| โ | MyBooksDownloadCenterOfflineTests | testReachabilityDrop_WithStaleTaskEntryForDownloadedBook_DoesNotFlipToFailed | 39ms |
| โ | MyBooksDownloadCenterOfflineTests | testStartDownload_WhenOffline_FailsImmediatelyWithoutSpawningTask | 55ms |
| โ | MyBooksDownloadCenterProgressPublishingTests | testProgressPublisher_emitsMultipleUpdates | 22ms |
| โ | MyBooksDownloadCenterProgressPublishingTests | testProgressPublisher_emitsProgressUpdates | 8ms |
| โ | MyBooksDownloadSessionInvalidationTests | testDownloadTask_onInvalidatedSession_isSafelyCatchable | 1ms |
| โ | MyBooksDownloadSessionInvalidationTests | testDownloadTask_onLiveSession_returnsTaskWithoutException | 22ms |
| โ | MyBooksDownloadSessionInvalidationTests | testExceptionCatcher_returnsNSException_insteadOfPropagating | 6ms |
| โ | MyBooksSimplifiedBearerTokenTests | testFulfillURL_canBeSetAfterInit | 2ms |
| โ | MyBooksSimplifiedBearerTokenTests | testFulfillURL_canBeSetViaInit | 2ms |
| โ | MyBooksSimplifiedBearerTokenTests | testFulfillURL_defaultsToNil | <1ms |
| โ | MyBooksSimplifiedBearerTokenTests | testIsExpired_exactlyNow_returnsTrue | <1ms |
| โ | MyBooksSimplifiedBearerTokenTests | testIsExpired_futureExpiration_returnsFalse | <1ms |
| โ | MyBooksSimplifiedBearerTokenTests | testIsExpired_pastExpiration_returnsTrue | <1ms |
| โ | MyBooksSimplifiedBearerTokenTests | testParsing_acceptsExpirationKey | <1ms |
| โ | MyBooksSimplifiedBearerTokenTests | testParsing_invalidLocationURL_returnsNil | 2ms |
| โ | MyBooksSimplifiedBearerTokenTests | testParsing_missingAccessToken_returnsNil | <1ms |
| โ | MyBooksSimplifiedBearerTokenTests | testParsing_missingExpiration_returnsNil | <1ms |
| โ | MyBooksSimplifiedBearerTokenTests | testParsing_missingLocation_returnsNil | 132ms |
| โ | MyBooksSimplifiedBearerTokenTests | testParsing_negativeExpiration_usesDistantFuture | 55ms |
| โ | MyBooksSimplifiedBearerTokenTests | testParsing_validDictionary_createsToken | 5ms |
| โ | MyBooksSimplifiedBearerTokenTests | testParsing_zeroExpiration_usesDistantFuture | 2ms |
| โ | MyBooksSimplifiedBearerTokenTests | testRefreshToken_invalidJSON_returnsNil | 28ms |
| โ | MyBooksSimplifiedBearerTokenTests | testRefreshToken_serverError_returnsNil | 58ms |
| โ | MyBooksSimplifiedBearerTokenTests | testRefreshToken_success_returnsNewToken | 6ms |
| โ | MyBooksViewModelBooksPublisherTests | testBooksPublisher_EmitsInitialValue | 6ms |
| โ | MyBooksViewModelBooksPublisherTests | testBooksPublisher_EmitsOnFilter | 18ms |
| โ | MyBooksViewModelBooksPublisherTests | testBooksPublisher_EmitsRestoredCountAfterReset | 79ms |
| โ | MyBooksViewModelConcurrencyTests | testFilterBooks_MultipleCalls_EachProducesCorrectResult | 98ms |
| โ | MyBooksViewModelConcurrencyTests | testFilterBooks_RapidChanges_SettlesOnLastQuery | 62ms |
| โ | MyBooksViewModelConcurrencyTests | testLoadData_AfterInit_IsNotLoadingAndHasBooks | 6ms |
| โ | MyBooksViewModelConcurrencyTests | testReloadData_WhenRegistryIdle_BookListRemainsAccessible | 8ms |
| โ | MyBooksViewModelDownloadStateTests | testRegistryState_DownloadFailed_BookRemainsVisible | 6ms |
| โ | MyBooksViewModelDownloadStateTests | testRegistryState_DownloadSuccessful_BookRemainsInList | 7ms |
| โ | MyBooksViewModelDownloadStateTests | testRegistryState_HoldingBook_NotInMyBooksIfNotInMyBooks | 127ms |
| โ | MyBooksViewModelEmptyArrayTests | testFilterLogic_EmptyArray_ReturnsEmpty | 1ms |
| โ | MyBooksViewModelEmptyArrayTests | testSortLogic_EmptyArray_ReturnsEmpty | <1ms |
| โ | MyBooksViewModelEmptyArrayTests | testSortLogic_SingleBook_ReturnsSame | 432ms |
| โ | MyBooksViewModelEmptyStateTests | testBooksAndInstructionsLabel_CoordinateAfterFilterReset | 4ms |
| โ | MyBooksViewModelEmptyStateTests | testBooksPublisher_EmitsRegistryContents | 7ms |
| โ | MyBooksViewModelEmptyStateTests | testShowInstructionsLabel_FalseWhenRegistryHasBooks | 22ms |
| โ | MyBooksViewModelEmptyStateTests | testShowInstructionsLabel_TrueWhenRegistryEmpty | 3ms |
| โ | MyBooksViewModelExtendedTests | testAlert_ClearsOnNilAssignment | 31ms |
| โ | MyBooksViewModelExtendedTests | testFacetViewModel_InitializedWithCorrectConfig | 4ms |
| โ | MyBooksViewModelExtendedTests | testFilterBooks_WithEmptyQuery_RestoresAllBooks | 24ms |
| โ | MyBooksViewModelExtendedTests | testFilterBooks_WithQuery_NarrowsToMatchingBooks | 25ms |
| โ | MyBooksViewModelExtendedTests | testInitialFacetSort_DefaultsToTitle | 3ms |
| โ | MyBooksViewModelExtendedTests | testInitialState_HasCorrectDefaults | 93ms |
| โ | MyBooksViewModelExtendedTests | testIsPadProperty_MatchesUIDevice | 5ms |
| โ | MyBooksViewModelExtendedTests | testLoadAccount_WhenRegistryIsSyncing_ShowsSyncAlert | 301ms |
| โ | MyBooksViewModelExtendedTests | testResetFilter_RestoresBooksAfterQuery | 14ms |
| โ | MyBooksViewModelExtendedTests | testSelectNewLibrary_PublishesTransitionToSubscribers | 139ms |
| โ | MyBooksViewModelExtendedTests | testSelectedBook_PublishesThroughCombine | 4ms |
| โ | MyBooksViewModelExtendedTests | testShowLibraryAccountView_PublishesTransitionsToSubscribers | 91ms |
| โ | MyBooksViewModelExtendedTests | testShowSearchSheet_PublishesTransitionsToSubscribers | 12ms |
| โ | MyBooksViewModelExtendedTests | testSortByAuthor_ReordersBooks | 10ms |
| โ | MyBooksViewModelExtendedTests | testSortByTitle_ReordersBooks | 12ms |
| โ | MyBooksViewModelFacetIntegrationTests | testFacetSortChange_PropagatestoViewModel | 3ms |
| โ | MyBooksViewModelFacetIntegrationTests | testFacetViewModel_ConfiguredCorrectly | 5ms |
| โ | MyBooksViewModelFacetIntegrationTests | testFacet_LocalizedStrings_MatchExpected | 11ms |
| โ | MyBooksViewModelFacetIntegrationTests | testInitialActiveSort_IsFirstFacet | 2ms |
| โ | MyBooksViewModelFacetPublisherTests | testFacetSort_RoundTripPropagation | 2ms |
| โ | MyBooksViewModelFacetPublisherTests | testFacetViewModel_PublishesActiveSortChanges | 5ms |
| โ | MyBooksViewModelFacetPublisherTests | testLoadData_offline_doesNotDeleteExpiredLocalContent | 69ms |
| โ | MyBooksViewModelFacetPublisherTests | testLoadData_onlinePastGrace_evictsExpiredContent | 509ms |
| โ | MyBooksViewModelFacetPublisherTests | testMyBooksViewModel_SubscribesToFacetChanges | 14ms |
| โ | MyBooksViewModelFilterSortInteractionTests | testFilter_MaintainsSortOrder_Logic | 5ms |
| โ | MyBooksViewModelFilterSortInteractionTests | testSortAfterFilter_ProducesCorrectOrder | 35ms |
| โ | MyBooksViewModelFilterTests | testFilterBooks_EmptyQuery_ResetsToAllBooks | 31ms |
| โ | MyBooksViewModelFilterTests | testFilterBooks_WithQuery_MaintainsSearchQuerySeparately | 9ms |
| โ | MyBooksViewModelFilterTests | testFilterLogic_AuthorMatch_CaseInsensitive | 4ms |
| โ | MyBooksViewModelFilterTests | testFilterLogic_MatchesBothTitleAndAuthor_ReturnsAll | 5ms |
| โ | MyBooksViewModelFilterTests | testFilterLogic_NilAuthors_DoesNotCrash | 2ms |
| โ | MyBooksViewModelFilterTests | testFilterLogic_NoMatches_ReturnsEmpty | 3ms |
| โ | MyBooksViewModelFilterTests | testFilterLogic_SpecialCharacters_HandledCorrectly | 3ms |
| โ | MyBooksViewModelFilterTests | testFilterLogic_TitleMatch_CaseInsensitive | 4ms |
| โ | MyBooksViewModelFilterTests | testResetFilter_RestoresAllBooks | 68ms |
| โ | MyBooksViewModelGuardConditionsTests | testLoadData_CompletesWithIsLoadingFalse | 42ms |
| โ | MyBooksViewModelGuardConditionsTests | testLoadData_SequentialFilterCalls_EachProducesCorrectResult | 8ms |
| โ | MyBooksViewModelLargeDatasetTests | testFilterLogic_ManyBooks_FiltersCorrectly | 121ms |
| โ | MyBooksViewModelLargeDatasetTests | testSortLogic_ManyBooks_Completes | 110ms |
| โ | MyBooksViewModelLoadAccountTests | testLoadAccount_WhenNotSyncing_DoesNotShowSyncAlert | 63ms |
| โ | MyBooksViewModelLoadAccountTests | testLoadAccount_WhenSyncing_ShowsAlert | 78ms |
| โ | MyBooksViewModelLoginStateTests | testLoadData_EmptyRegistry_ShowsInstructionsLabel | 2ms |
| โ | MyBooksViewModelLoginStateTests | testLoadData_MultipleBooks_ExposesAllViaPublishedProperty | 34ms |
| โ | MyBooksViewModelLoginStateTests | testLoadData_PopulatedRegistry_HidesInstructionsLabel | 11ms |
| โ | MyBooksViewModelLoginStateTests | testRegistryChangeNotification_TriggersReload_UpdatesBooks | 310ms |
| โ | MyBooksViewModelMultipleAuthorSortingTests | testSortByAuthor_SameFirstName_SortsByFullName | 8ms |
| โ | MyBooksViewModelMultipleAuthorSortingTests | testSortByTitle_ThePrefix_SortedAlphabetically | 10ms |
| โ | MyBooksViewModelMultipleAuthorSortingTests | testSort_AlreadySorted_MaintainsOrder | 6ms |
| โ | MyBooksViewModelNotificationTests | testRegistryChangeNotification_IsRegistered | 25ms |
| โ | MyBooksViewModelNotificationTests | testStateChange_ViaBookStatePublisher_IsRegistered | 4ms |
| โ | MyBooksViewModelNotificationTests | testSyncEndedNotification_CausesBookListToUpdate | 312ms |
| โ | MyBooksViewModelNotificationTests | testSyncEndedNotification_IsRegistered | 11ms |
| โ | MyBooksViewModelOfflineFilteringTests | testExpiredBookFiltering_Logic | 5ms |
| โ | MyBooksViewModelOfflineFilteringTests | testOfflineState_FiltersExpiredBooks_Logic | 6ms |
| โ | MyBooksViewModelOfflineFilteringTests | testOnlineState_ShowsAllBooks_Logic | 4ms |
| โ | MyBooksViewModelPublisherTests | testAlertPublisher_EmitsWhenSet | 8ms |
| โ | MyBooksViewModelPublisherTests | testAlertPublisher_InitiallyNil | 55ms |
| โ | MyBooksViewModelPublisherTests | testFacetViewModelPublisher_TriggersSortUpdate | 3ms |
| โ | MyBooksViewModelPublisherTests | testIsLoadingPublisher_EmitsChanges | 7ms |
| โ | MyBooksViewModelPublisherTests | testSearchQueryPublisher_EmitsChanges | 4ms |
| โ | MyBooksViewModelPublisherTests | testSelectedBookPublisher_EmitsChanges | 4ms |
| โ | MyBooksViewModelPublisherTests | testShowInstructionsLabelPublisher_InitialState | 11ms |
| โ | MyBooksViewModelSearchEdgeCaseTests | testFilterLogic_EmojiInContent_HandledCorrectly | 44ms |
| โ | MyBooksViewModelSearchEdgeCaseTests | testFilterLogic_NumbersInQuery_Matches | 3ms |
| โ | MyBooksViewModelSearchEdgeCaseTests | testFilterLogic_PartialWord_Matches | 6ms |
| โ | MyBooksViewModelSearchEdgeCaseTests | testFilterLogic_UnicodeCharacters_Matches | 6ms |
| โ | MyBooksViewModelSearchEdgeCaseTests | testFilterLogic_VeryLongQuery_NoMatch | 4ms |
| โ | MyBooksViewModelSearchEdgeCaseTests | testFilterLogic_WhitespaceQuery_HandledCorrectly | 7ms |
| โ | MyBooksViewModelSearchQueryTests | testSearchQuery_IndependentOfFilterBooks | 19ms |
| โ | MyBooksViewModelSearchQueryTests | testSearchQuery_PublisherEmitsAllChanges | 11ms |
| โ | MyBooksViewModelSearchQueryTests | testSearchQuery_SetAndRetrieve | 4ms |
| โ | MyBooksViewModelSortPersistenceTests | testActiveFacetSort_StaysInSync | 2ms |
| โ | MyBooksViewModelSortPersistenceTests | testSortOrder_MaintainedAfterFilter | 14ms |
| โ | MyBooksViewModelSortPersistenceTests | testSortOrder_MaintainedAfterReset | 2ms |
| โ | MyBooksViewModelSortingIntegrationTests | testAuthorSort_SortKeyFormat | 4ms |
| โ | MyBooksViewModelSortingIntegrationTests | testSortByAuthor_MultipleBooks_CorrectOrder | 6ms |
| โ | MyBooksViewModelSortingIntegrationTests | testSortByTitle_MultipleBooks_CorrectOrder | 80ms |
| โ | MyBooksViewModelSortingIntegrationTests | testSort_SecondaryField_BreaksTies | 6ms |
| โ | MyBooksViewModelSortingIntegrationTests | testTitleSort_SortKeyFormat | 49ms |
| โ | MyBooksViewModelSortingTests | testSortChange_FromTitleToAuthor_UpdatesActiveFacetSort | 67ms |
| โ | MyBooksViewModelSortingTests | testSortComparator_AuthorSort_ComparesCorrectly | 9ms |
| โ | MyBooksViewModelSortingTests | testSortComparator_EmptyAuthor_TreatedAsEmptyString | 288ms |
| โ | MyBooksViewModelSortingTests | testSortComparator_IdenticalKeys_MaintainsOrder | 8ms |
| โ | MyBooksViewModelSortingTests | testSortComparator_NilAuthors_HandledCorrectly | 4ms |
| โ | MyBooksViewModelSortingTests | testSortComparator_TitleSort_ComparesCorrectly | 3ms |
| โ | MyBooksViewModelStateTransitionTests | testAlert_StateTransitions | 53ms |
| โ | MyBooksViewModelStateTransitionTests | testIsLoading_TransitionsDuringLoad | 2ms |
| โ | MyBooksViewModelStateTransitionTests | testShowInstructionsLabel_TransitionsOnRegistryChange | 310ms |
| โ | MyBooksViewModelUIBindingTests | testSelectNewLibrary_PublisherEmitsOnChange | 19ms |
| โ | MyBooksViewModelUIBindingTests | testShowLibraryAccountView_PublisherEmitsOnChange | 4ms |
| โ | MyBooksViewModelUIBindingTests | testShowSearchSheet_PublisherEmitsOnChange | 61ms |
| โ | NSErrorAdditionsTests | testLocalizedDescriptionWithRecovery_bothPresent_separatedByDoubleNewline | 167ms |
| โ | NSErrorAdditionsTests | testLocalizedDescriptionWithRecovery_emptyRecoverySuggestion_returnsDescriptionOnly | 67ms |
| โ | NSErrorAdditionsTests | testLocalizedDescriptionWithRecovery_multilineRecoverySuggestion | <1ms |
| โ | NSErrorAdditionsTests | testLocalizedDescriptionWithRecovery_nilDescription_usesDefaultDescription | 1ms |
| โ | NSErrorAdditionsTests | testLocalizedDescriptionWithRecovery_noRecoverySuggestion_returnsDescription | 3ms |
| โ | NSErrorAdditionsTests | testLocalizedDescriptionWithRecovery_whitespaceOnlyRecoverySuggestion_returnsDescriptionOnly | 2ms |
| โ | NSErrorAdditionsTests | testLocalizedDescriptionWithRecovery_withRecoverySuggestion_returnsBoth | 46ms |
| โ | NSNotificationTPPTests | testNSNotificationConstants_matchSwift | 6ms |
| โ | NSNotificationTPPTests | testNotificationKeys_exist | 7ms |
| โ | NSNotificationTPPTests | testNotificationNames_exist | 2ms |
| โ | NavigationCoordinatorHubTests | testCoordinatorForTab_ResolvesAStackThatIsNotSelected | <1ms |
| โ | NavigationCoordinatorHubTests | testCoordinator_FollowsTabSelection | 1ms |
| โ | NavigationCoordinatorHubTests | testCoordinator_PushLandsOnTheVisibleStack_NotTheOffscreenOne | 3ms |
| โ | NavigationCoordinatorHubTests | testCoordinator_SelectedTabHasNoRegisteredStack_ReturnsNil | 33ms |
| โ | NavigationCoordinatorHubTests | testCoordinator_WhenAnotherTabsStackRegisteredLast_StillResolvesTheSelectedTab | <1ms |
| โ | NavigationCoordinatorHubTests | testCoordinator_WithNoRouter_FallsBackToTheLastRegistration | <1ms |
| โ | NavigationCoordinatorHubTests | testCurrentTab_PrefersTheLiveRouterOverPending | <1ms |
| โ | NavigationCoordinatorHubTests | testCurrentTab_WithNoRouter_UsesPendingTab | 13ms |
| โ | NavigationCoordinatorHubTests | testRegister_DoesNotRetainTheCoordinator | 6ms |
| โ | NavigationCoordinatorHubTests | testRegister_SameTabTwice_ReplacesTheRegistration | <1ms |
| โ | NavigationCoordinatorHubTests | testRegister_WithNoTab_ProvidesFallbackOnly | 37ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_Book_NotStored_ReturnsNil | <1ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_ClearAudioRoutes_ClearsPath | 1ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_ClearAudioRoutes_OnEmptyPath_DoesNotCrash | 2ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_InitialState_NoEPUBSamplePresented | 84ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_InitialState_PathIsEmpty | 2ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_MultiplePushes_AccumulateInPath | <1ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_PopToRootUnanimated_ClearsEntirePath | 1ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_PopToRoot_ClearsEntirePath | 2ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_PopToRoot_OnEmptyPath_DoesNotCrash | 127ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_Pop_DecreasesPathCount | 110ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_Pop_OnEmptyPath_DoesNotCrash | 2ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_PushAudioRoute_ClearsExistingRoutes | 443ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_PushAudioRoute_FromBookDetail_PreservesStack | 2ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_PushAudioRoute_OnEmptyPath_AddsRoute | <1ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_PushAudioRoute_PreventsDuplicateAudioRoutes | <1ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_Push_IncreasesPathCount | 12ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_StoreAudioModel_CanBeRetrieved | 2ms |
| โ | NavigationCoordinatorTests | testNavigationCoordinator_StoreBook_CanBeRetrieved | 73ms |
| โ | NavigationFreezePreventionTests | testNavigation_failurePath_clearsOnPlaybackFailed | <1ms |
| โ | NavigationFreezePreventionTests | testNavigation_multipleBeginsThenFailure_stillClears | 3ms |
| โ | NavigationFreezePreventionTests | testNavigation_normalFlow_clearsOnPlaybackBegan | <1ms |
| โ | NavigationFreezePreventionTests | testNavigation_notNavigating_seekIsAllowed | <1ms |
| โ | NavigationFreezePreventionTests | testNavigation_unloadPath_clearsOnPlaybackUnloaded | <1ms |
| โ | NetworkCacheClearRoutingTests | testClearingURLCacheShared_leavesExecutorCacheIntact_executorClearCacheEmptiesIt | 5ms |
| โ | NetworkCacheClearRoutingTests | testExecutorClearCache_clearsPrivateURLCache | 4ms |
| โ | NetworkCacheClearRoutingTests | testSignOutAndForceReset_routeCacheClearThroughExecutor_notURLCacheShared | 218ms |
| โ | NetworkExecutorCredentialGuardTests | testExecuteTokenRefresh_BothEmpty_FailsViaTokenRequestGuard | 90ms |
| โ | NetworkExecutorCredentialGuardTests | testExecuteTokenRefresh_EmptyUsername_FailsViaTokenRequestGuard | 9ms |
| โ | NetworkExecutorCredentialGuardTests | testExecuteTokenRefresh_ServerReturns401_ReturnsFailure | 215ms |
| โ | NetworkExecutorCredentialGuardTests | testExecuteTokenRefresh_ValidCredentials_ReturnsTokenResponse | 13ms |
| โ | NetworkExecutorCredentialGuardTests | testExecuteTokenRefresh_WithAccountId_Succeeds | 110ms |
| โ | NetworkExecutorCredentialGuardTests | testRefreshTokenAndResume_DefaultAccountId_BackwardCompatible | 13ms |
| โ | NetworkExecutorCredentialGuardTests | testRefreshTokenAndResume_NilTask_NilAccountId_DoesNotCrash | 66ms |
| โ | NetworkExecutorCredentialGuardTests | testRefreshTokenAndResume_NoCredentials_FailsGracefully | 102ms |
| โ | NetworkExecutorResponseRegressionTests | testGET_handlesEmptyResponseBody | 4ms |
| โ | NetworkExecutorResponseRegressionTests | testGET_handlesHTTPErrorGracefully | 9ms |
| โ | NetworkExecutorResponseRegressionTests | testGET_receivesLCPLicenseJSON | 36ms |
| โ | NetworkExecutorResponseRegressionTests | testGET_receivesLargeManifestJSON | 5ms |
| โ | NetworkExecutorTaskTypeTests | testDownload_createsDownloadTask | 5ms |
| โ | NetworkExecutorTaskTypeTests | testGET_createsDataTask_notDownloadTask | 52ms |
| โ | NetworkExecutorTaskTypeTests | testGET_receivesResponseData | 11ms |
| โ | NetworkOfflineDetectionTests | testNetworkReachability_hasSharedInstance | 22ms |
| โ | NetworkOfflineDetectionTests | testURLError_nonOfflineErrorCodes | <1ms |
| โ | NetworkOfflineDetectionTests | testURLError_offlineErrorCodes | 1ms |
| โ | NetworkQueueTests | testAddRequestDoesNotCrash | 10ms |
| โ | NetworkQueueTests | testAddRequestWithHeadersDoesNotCrash | 6ms |
| โ | NetworkQueueTests | testAddRequest_DistinctKeysSurviveAsSeparateRows_SharedKeyCollapses | 440ms |
| โ | NetworkQueueTests | testAddRequest_NeverPersistsTheCredential_EvenThoughCallersPassIt | 32ms |
| โ | NetworkQueueTests | testAddRequest_SupersedingAnAttemptedRow_ResetsItsRetryBudget | 23ms |
| โ | NetworkQueueTests | testAddRequest_WhenDatabaseCannotBeOpened_ReportsTheDropInsteadOfSwallowingIt | 407ms |
| โ | NetworkQueueTests | testAddRequest_WhenDatabaseIsWritable_ReportsNothing | 56ms |
| โ | NetworkQueueTests | testAddRequest_WhenInsertThrows_ReportsUnderTheSameDedicatedCode | 531ms |
| โ | NetworkQueueTests | testDrain_SendsEachRowsOwnLibraryCredential_OnTheWire | 33ms |
| โ | NetworkQueueTests | testHTTPMethodTypeRawValues | 10ms |
| โ | NetworkQueueTests | testHeadersSafeToPersist_IsCaseInsensitive | 5ms |
| โ | NetworkQueueTests | testHeadersSafeToPersist_RemovesTheCredentialAndKeepsEverythingElse | 2ms |
| โ | NetworkQueueTests | testMaxRetriesInQueueIsFive | 3ms |
| โ | NetworkQueueTests | testMigrateCanBeCalledMultipleTimes | 16ms |
| โ | NetworkQueueTests | testMigrateDoesNotCrash | 11ms |
| โ | NetworkQueueTests | testMigrate_PurgesACredentialLeftBehindByAnOlderBuild | 19ms |
| โ | NetworkQueueTests | testMigrate_WithACorruptedHeaderArchive_SurvivesInsteadOfCrashing | 8ms |
| โ | NetworkQueueTests | testObjCSharedReturnsInstance | 43ms |
| โ | NetworkQueueTests | testSharedInstanceIsSingleton | 48ms |
| โ | NetworkQueueTests | testStatusCodesContainsExpectedNetworkErrors | 233ms |
| โ | NetworkQueueTests | testStatusCodesContainsRoamingAndCallErrors | 5ms |
| โ | NetworkQueueTests | testStatusCodesContainsSecureConnectionFailed | 181ms |
| โ | NetworkRequestQueueTests | testConcurrentRequests_respectsLimit | 10.09s |
| โ | NetworkRequestQueueTests | testRequestOrdering_maintainsOrder | 16ms |
| โ | NetworkResponderAuthChallengeWitnessTests | testAuthChallengeCallback_isPresentInTheObjCRuntime | <1ms |
| โ | NetworkResponderAuthChallengeWitnessTests | testBasicAuthChallenge_afterAPreviousFailure_cancelsInsteadOfReplaying | 5ms |
| โ | NetworkResponderAuthChallengeWitnessTests | testBasicAuthChallenge_suppliesTheProviderCredential | 4ms |
| โ | NetworkResponderAuthChallengeWitnessTests | testBasicAuthChallenge_withNoStoredPIN_cancels | 6ms |
| โ | NetworkResponderAuthChallengeWitnessTests | testNoProviderEverSupplied_stillDefersOnServerTrust | 5ms |
| โ | NetworkResponderAuthChallengeWitnessTests | testNoProviderEverSupplied_stillReachesTheCurrentAccount | 8ms |
| โ | NetworkResponderAuthChallengeWitnessTests | testNoProviderEverSupplied_stillRejectsAnUnsupportedMethod | 6ms |
| โ | NetworkResponderAuthChallengeWitnessTests | testProviderReleasedMidRequest_declinesRatherThanSendingTheCurrentLibrarysBarcode | 3ms |
| โ | NetworkResponderAuthChallengeWitnessTests | testProviderReleasedMidRequest_stillDefersOnServerTrust | 5ms |
| โ | NetworkResponderAuthChallengeWitnessTests | testProviderReleasedMidRequest_stillRejectsAnUnsupportedMethod | 4ms |
| โ | NetworkResponderAuthChallengeWitnessTests | testProviderStillAlive_usesItsCredentialsNotTheFallback | 9ms |
| โ | NetworkResponderAuthChallengeWitnessTests | testServerTrustChallenge_defersToTheSystem | 10ms |
| โ | NetworkResponderAuthChallengeWitnessTests | testUnsupportedAuthenticationMethod_rejectsTheProtectionSpace | 3ms |
| โ | NetworkRetryLogicTests | testNoRetry_on400BadRequest | 4ms |
| โ | NetworkRetryLogicTests | testNoRetry_on404NotFound | 8ms |
| โ | NetworkRetryLogicTests | testRateLimiting_429Response | 4ms |
| โ | NetworkRetryLogicTests | testRetry_on500Error_eventualSuccess | 4ms |
| โ | NetworkRetryLogicTests | testRetry_on502BadGateway | 5ms |
| โ | NetworkRetryLogicTests | testRetry_on503ServiceUnavailable | 28ms |
| โ | NetworkRetryLogicTests | testRetry_on504GatewayTimeout | 110ms |
| โ | NetworkTimeoutTests | testDefaultTimeout_isReasonable | <1ms |
| โ | NetworkTimeoutTests | testTimeout_configuration | <1ms |
| โ | NotificationEventTypeContractTests | testAllCMEventTypes_ParseToiOSEnum | 1ms |
| โ | NotificationEventTypeContractTests | testHoldAvailable_IsHoldRelated | 319ms |
| โ | NotificationEventTypeContractTests | testHoldRemoved_IsHoldRelated | <1ms |
| โ | NotificationEventTypeContractTests | testLoanExpiry_IsNotHoldRelated | <1ms |
| โ | NotificationEventTypeContractTests | testLoanRemoved_IsNotHoldRelated | <1ms |
| โ | NotificationEventTypeContractTests | testUnknownEventType_returnsNilForAllUnrecognizedRawValues | 5ms |
| โ | NotificationEventTypeContractTests | testiOSEnum_HasNoCasesUnknownToCM | 102ms |
| โ | NotificationPayloadContractTests | testAllFixturePayloads_ParseThroughiOSEventTypeEnum | 7ms |
| โ | NotificationPayloadContractTests | testAllPayloads_HaveAPSAlert | 4ms |
| โ | NotificationPayloadContractTests | testAllPayloads_HaveEventTypeField | 1ms |
| โ | NotificationPayloadContractTests | testAllPayloads_HaveIdentifierTypeField | <1ms |
| โ | NotificationPayloadContractTests | testAllPayloads_HaveLoansEndpointField | 21ms |
| โ | NotificationPayloadContractTests | testAllPayloads_haveIdentifierAndLibraryAsNonEmptyStrings | 2ms |
| โ | NotificationPayloadContractTests | testEventTypes_MatchPayloadKeys | 28ms |
| โ | NotificationPayloadContractTests | testHoldClassification_MatchesExpectedRouting | 1ms |
| โ | NotificationPayloadContractTests | testLoanExpiry_HasDaysToExpiryField | 3ms |
| โ | NotificationPayloadContractTests | testNonExpiryPayloads_DoNotHaveDaysToExpiry | 2ms |
| โ | NotificationServiceReadinessGateTests | testUpdateToken_onceTheAccountLoads_releasesTheClaim | 111ms |
| โ | NotificationServiceReadinessGateTests | testUpdateToken_whenAccountIsAlreadyReady_releasesWithinTheHoldingBudget | 39ms |
| โ | NotificationServiceReadinessGateTests | testUpdateToken_whenTokenAlreadyRegistered_doesNotClaimAtAll | 516ms |
| โ | NotificationServiceReadinessGateTests | testUpdateToken_whileLoading_holdsTheClaim | 1.39s |
| โ | NotificationServiceStateMachineTests | testAuthStateChange_idempotentTransitions_doNotTriggerRetry | 55ms |
| โ | NotificationServiceStateMachineTests | testAuthStateChange_loggedInToStale_doesNotTriggerRetry | 80ms |
| โ | NotificationServiceStateMachineTests | testAuthStateChange_loggedOutToLoggedIn_triggersRetry | 113ms |
| โ | NotificationServiceStateMachineTests | testAuthStateChange_staleToLoggedIn_triggersRetry | 202ms |
| โ | NotificationServiceStateMachineTests | testHoldNotification_blocksUntilLoaded_thenNavigates | 147ms |
| โ | NotificationServiceStateMachineTests | testHoldNotification_detailsFailed_completes | 86ms |
| โ | NotificationServiceStateMachineTests | testHoldNotification_doesNotSupportReservations_completes | 116ms |
| โ | NotificationServiceStateMachineTests | testHoldNotification_nilCurrentAccount_skipsNoAccount | 120ms |
| โ | NotificationServiceStateMachineTests | testHoldNotification_supportsReservations_navigates | 80ms |
| โ | NotificationServiceTests | testBackgroundFetchIsNeeded_isReferentiallyTransparent | 2ms |
| โ | NotificationServiceTests | testCompareAvailabilityDoesNotCrashWithNoAvailability | 427ms |
| โ | NotificationServiceTests | testCompareAvailabilityReservedToReady | 123ms |
| โ | NotificationServiceTests | testHoldClassificationFallback_WhenEventTypeNotInEnum | 3ms |
| โ | NotificationServiceTests | testHoldClassificationWithAPSAlertContainingAvailableKeyword | 364ms |
| โ | NotificationServiceTests | testHoldClassificationWithAPSAlertContainingReadyKeyword | 10ms |
| โ | NotificationServiceTests | testHoldClassificationWithNonHoldAPSAlert | 2ms |
| โ | NotificationServiceTests | testHoldClassificationWithReservationInBody | 2ms |
| โ | NotificationServiceTests | testHoldClassification_byEventType_routesAllKnownEnumCasesCorrectly | 2ms |
| โ | NotificationServiceTests | testHoldClassification_unparseableInputDefaultsToHoldRelated | 5ms |
| โ | NotificationServiceTests | testNotificationConstants_areStableAndDistinct | 2ms |
| โ | NotificationServiceTests | testTokenDataCodableRoundTrip | 2ms |
| โ | NotificationServiceTests | testTokenDataEncodesToValidJSON | 1ms |
| โ | NotificationServiceTests | testTokenDataEncoding | 55ms |
| โ | NotificationServiceTests | testTokenDataWithEmptyToken | 30ms |
| โ | NotificationServiceTests | testTokenDataWithSpecialCharacters_roundTripsThroughJSON | 2ms |
| โ | NotificationServiceTokenTests | testAccountReadinessTimeout_isFiniteAndPositive | 2ms |
| โ | NotificationServiceTokenTests | testReadinessFailure_accountNotFound_isReported | 40ms |
| โ | NotificationServiceTokenTests | testReadinessFailure_evicted_isQuiet | 34ms |
| โ | NotificationServiceTokenTests | testReadinessFailure_fetchFailed_isReported | <1ms |
| โ | NotificationServiceTokenTests | testReadinessFailure_malformed_isReported | 198ms |
| โ | NotificationServiceTokenTests | testReadinessFailure_timeout_isResidualNotQuiet | <1ms |
| โ | NotificationServiceTokenTests | testRegistrationClaims_differentAccountIsNotBlocked | 1ms |
| โ | NotificationServiceTokenTests | testRegistrationClaims_firstClaimSucceeds_secondForSameAccountIsRejected | <1ms |
| โ | NotificationServiceTokenTests | testRegistrationClaims_releaseAllowsARetry | <1ms |
| โ | NotificationServiceTokenTests | testShouldReportProfileFetchFailure_credentialsStale_isReported | <1ms |
| โ | NotificationServiceTokenTests | testShouldReportProfileFetchFailure_loggedIn_isReported | 98ms |
| โ | NotificationServiceTokenTests | testShouldReportProfileFetchFailure_loggedOut_isNotReported | 217ms |
| โ | NotificationServiceTokenTests | testShouldRetryTokenRegistration_loggedInToLoggedIn_doesNotRetry | <1ms |
| โ | NotificationServiceTokenTests | testShouldRetryTokenRegistration_loggedInToLoggedOut_doesNotRetry | 101ms |
| โ | NotificationServiceTokenTests | testShouldRetryTokenRegistration_loggedInToStale_doesNotRetry | 204ms |
| โ | NotificationServiceTokenTests | testShouldRetryTokenRegistration_loggedOutToLoggedIn_withFlagFalse_retries | <1ms |
| โ | NotificationServiceTokenTests | testShouldRetryTokenRegistration_loggedOutToLoggedOut_doesNotRetry | <1ms |
| โ | NotificationServiceTokenTests | testShouldRetryTokenRegistration_staleToLoggedIn_withFlagFalse_retries | 67ms |
| โ | NotificationServiceTokenTests | testShouldRetryTokenRegistration_staleToLoggedIn_withFlagTrue_doesNotRetry | <1ms |
| โ | NotificationServiceTokenTests | testShouldRetryTokenRegistration_staleToStale_doesNotRetry | 117ms |
| โ | NotificationServiceTokenTests | testTokenData_data_isNotNil | 3ms |
| โ | NotificationServiceTokenTests | testTokenData_emptyToken_stillEncodes | 1ms |
| โ | NotificationServiceTokenTests | testTokenData_encodesCorrectJSON | 120ms |
| โ | NotificationServiceTokenTests | testTokenData_longToken_encodesCorrectly | 234ms |
| โ | NotificationServiceTokenTests | testTokenData_tokenType_isAlwaysFCMiOS | 382ms |
| โ | NotificationSyncThrottleTests | testForceSync_bypassesThrottle_atExactThreshold | <1ms |
| โ | NotificationSyncThrottleTests | testForceSync_bypassesThrottle_evenIfRecentlySynced | 51ms |
| โ | NotificationSyncThrottleTests | testForceSync_proceedsRegardlessOfHistoryShape | 20ms |
| โ | NotificationSyncThrottleTests | testHoldNotification_alwaysSyncs | 1ms |
| โ | NotificationSyncThrottleTests | testThrottle_normalSync_blocksRecentAndAllowsAgedAndFirstSync | 1ms |
| โ | NotificationTokenDataTests | testTokenData_codableRoundTrip | 3ms |
| โ | NotificationTokenDataTests | testTokenData_dataNotNil | 9ms |
| โ | NotificationTokenDataTests | testTokenData_encodesToJSON | 1ms |
| โ | NotificationTokenDataTests | testTokenData_init | 95ms |
| โ | NotificationTokenRegistrationTests | testRegressionForBug_SAML401LeavesFlagUnlatched_perHelpSpot17680 | <1ms |
| โ | NotificationTokenRegistrationTests | testShouldMark_whenSaveSucceeds | <1ms |
| โ | NotificationTokenRegistrationTests | testShouldMark_whenTokenAlreadyRegistered | 1ms |
| โ | NotificationTokenRegistrationTests | testShouldNotMark_whenDeviceRegistrationLinkAbsent | 42ms |
| โ | NotificationTokenRegistrationTests | testShouldNotMark_whenExistsCheckInconclusive | <1ms |
| โ | NotificationTokenRegistrationTests | testShouldNotMark_whenFCMTokenUnavailable | <1ms |
| โ | NotificationTokenRegistrationTests | testShouldNotMark_whenProfileDocumentMissing | <1ms |
| โ | NotificationTokenRegistrationTests | testShouldNotMark_whenSaveFails | 2ms |
| โ | NotificationTokenRegistrationTests | testShouldNotMark_whenSaveNeededButNotAttempted | 206ms |
| โ | NotificationTokenRegistrationTests | testShouldNotMark_whenSaveSucceededButPrerequisiteMissing | 1ms |
| โ | NowPlayingCoordinatorBackgroundTests | testApplyUpdate_inBackground_bypassesDebounce | 81ms |
| โ | NowPlayingCoordinatorBackgroundTests | testApplyUpdate_inForeground_debouncesAsBefore | 447ms |
| โ | NowPlayingCoordinatorBackgroundTests | testDryStreamGuard_doesNotLog_atExactlyThreshold | <1ms |
| โ | NowPlayingCoordinatorBackgroundTests | testDryStreamGuard_doesNotLog_whenNotPlaying | 125ms |
| โ | NowPlayingCoordinatorBackgroundTests | testDryStreamGuard_doesNotLog_whenStreamIsFresh | 4ms |
| โ | NowPlayingCoordinatorBackgroundTests | testDryStreamGuard_logsErrorOnForegroundReturn_whenLastUpdateStale | 173ms |
| โ | NowPlayingCoordinatorTests | testClearNowPlaying_removesAllInfo | 36ms |
| โ | NowPlayingCoordinatorTests | testClearNowPlaying_setsStoppedState | 3ms |
| โ | NowPlayingCoordinatorTests | testSetPlaybackState_paused_setsCorrectPlaybackState | 68ms |
| โ | NowPlayingCoordinatorTests | testSetPlaybackState_paused_setsZeroRate | 74ms |
| โ | NowPlayingCoordinatorTests | testSetPlaybackState_playing_setsCorrectPlaybackState | <1ms |
| โ | NowPlayingCoordinatorTests | testSetPlaybackState_playing_setsNonZeroRate | 2ms |
| โ | NowPlayingCoordinatorTests | testUpdateArtwork_nil_clearsArtwork | 37ms |
| โ | NowPlayingCoordinatorTests | testUpdateArtwork_setsArtworkInInfo | 3ms |
| โ | NowPlayingCoordinatorTests | testUpdateNowPlaying_clampsElapsedToNotExceedDuration | 2ms |
| โ | NowPlayingCoordinatorTests | testUpdateNowPlaying_clampsNegativeElapsedToZero | 4ms |
| โ | NowPlayingCoordinatorTests | testUpdateNowPlaying_ensuresDurationIsAtLeastOne | 451ms |
| โ | NowPlayingCoordinatorTests | testUpdateNowPlaying_preservesArtwork_acrossUpdates | 4ms |
| โ | NowPlayingCoordinatorTests | testUpdateNowPlaying_rapidUpdates_lastOneWins | 400ms |
| โ | NowPlayingCoordinatorTests | testUpdateNowPlaying_setsElapsedAndDuration | 2ms |
| โ | NowPlayingCoordinatorTests | testUpdateNowPlaying_setsInfoCenter | <1ms |
| โ | NowPlayingCoordinatorTests | testUpdateNowPlaying_setsMediaType_toAudioBook | 2ms |
| โ | NowPlayingCoordinatorTests | testUpdateNowPlaying_setsPlaybackRate_whenPlaying | 1ms |
| โ | NowPlayingCoordinatorTests | testUpdateNowPlaying_setsZeroPlaybackRate_whenPaused | 2ms |
| โ | NowPlayingCoordinatorTests | testUpdatePlaybackRate_updatesDefaultRate | 3ms |
| โ | OAuthSAMLRedirectRegressionTests | testRegression_handleRedirectURL_rejectsCustomSchemeURL | 68ms |
| โ | OAuthSAMLRedirectRegressionTests | testRegression_oauthRedirect_stillUsesUniversalLinksPrefix | 24ms |
| โ | OAuthSAMLRedirectRegressionTests | testRegression_oauthRedirect_withError_stillHandlesError | 33ms |
| โ | OAuthSAMLRedirectRegressionTests | testRegression_samlRedirect_stillUsesUniversalLinksPrefix | 72ms |
| โ | OIDCAuthDocumentParsingTests | testAuthDocument_containsOidcType | 54ms |
| โ | OIDCAuthDocumentParsingTests | testAuthDocument_oidcAuthenticateLink_IsParsed | 301ms |
| โ | OIDCAuthDocumentParsingTests | testAuthDocument_oidcDoesNotAffectOtherAuthTypes | 139ms |
| โ | OIDCAuthDocumentParsingTests | testAuthDocument_unknownTypeStillFallsToNone | 48ms |
| โ | OIDCAuthTypeTests | testAuthType_InitFromLegacyOidcString_ReturnsOidc | 226ms |
| โ | OIDCAuthTypeTests | testAuthType_InitFromOidcString_ReturnsOidc | 2ms |
| โ | OIDCAuthTypeTests | testAuthType_LegacyOidcURI_DecodesViaCodeable | 3ms |
| โ | OIDCAuthTypeTests | testAuthType_OidcIsDistinct_FromOtherTypes | <1ms |
| โ | OIDCAuthTypeTests | testAuthType_OidcRawValue_IsCorrect | 1.09s |
| โ | OIDCAuthenticationPropertyTests | testOidcAuthentication_catalogRequiresAuthentication_ReturnsFalse | 70ms |
| โ | OIDCAuthenticationPropertyTests | testOidcAuthentication_hasAuthenticationUrl | 61ms |
| โ | OIDCAuthenticationPropertyTests | testOidcAuthentication_isNotOtherTypes | 23ms |
| โ | OIDCAuthenticationPropertyTests | testOidcAuthentication_isOidc_ReturnsTrue | 84ms |
| โ | OIDCAuthenticationPropertyTests | testOidcAuthentication_methodDescription_IsOpenIDConnect | 52ms |
| โ | OIDCAuthenticationPropertyTests | testOidcAuthentication_needsAgeCheck_ReturnsFalse | 28ms |
| โ | OIDCAuthenticationPropertyTests | testOidcAuthentication_needsAuth_ReturnsTrue | 59ms |
| โ | OIDCAuthenticationPropertyTests | testOidcAuthentication_otherUrlsAreNil | 66ms |
| โ | OIDCCallbackEdgeCaseTests | testHandleOIDCCallback_doesNotAffectPriorOAuthState | 874ms |
| โ | OIDCCallbackEdgeCaseTests | testHandleOIDCCallback_prefersQueryOverFragment | 84ms |
| โ | OIDCCallbackEdgeCaseTests | testHandleOIDCCallback_withEmptyQueryString_doesNotSetToken | 341ms |
| โ | OIDCCallbackEdgeCaseTests | testHandleOIDCCallback_withLongToken_setsFullToken | 34ms |
| โ | OIDCCallbackEdgeCaseTests | testHandleOIDCCallback_withMalformedPatronJSON_doesNotSetToken | 98ms |
| โ | OIDCCallbackEdgeCaseTests | testHandleOIDCCallback_withOnlyAccessToken_doesNotSetToken | 67ms |
| โ | OIDCCallbackEdgeCaseTests | testHandleOIDCCallback_withOnlyPatronInfo_doesNotSetToken | 697ms |
| โ | OIDCCallbackEdgeCaseTests | testHandleOIDCCallback_withPatronContainingMultipleFields_parsesAll | 125ms |
| โ | OIDCCallbackEdgeCaseTests | testHandleOIDCCallback_withPlusEncodedPatron_decodesSpaces | 111ms |
| โ | OIDCCallbackHandlingTests | testHandleOIDCCallback_withError_doesNotSetToken | 50ms |
| โ | OIDCCallbackHandlingTests | testHandleOIDCCallback_withFragment_extractsTokenAndValidates | 71ms |
| โ | OIDCCallbackHandlingTests | testHandleOIDCCallback_withNoPayload_doesNotSetToken | 261ms |
| โ | OIDCCallbackHandlingTests | testHandleOIDCCallback_withQueryParams_extractsTokenAndValidates | 153ms |
| โ | OIDCCallbackHandlingTests | testOIDCFlow_afterCallback_validatesAndCompletesSignIn | 121ms |
| โ | OIDCCallbackSchemeTests | testOidcCallbackHost_matchesAndroidConvention | 2ms |
| โ | OIDCCallbackSchemeTests | testOidcCallbackScheme_isNotHTTPS | 6.71s |
| โ | OIDCCallbackSchemeTests | testOidcCallbackScheme_matchesAndroidConvention | 2ms |
| โ | OIDCIsolationRegressionTests | testRegression_basicAuthentication_noTokenURLs | 79ms |
| โ | OIDCIsolationRegressionTests | testRegression_makeRequest_oauthAndOIDC_bothUseBearerToken | 26ms |
| โ | OIDCIsolationRegressionTests | testRegression_oauthAuthentication_typeIsCorrect | 69ms |
| โ | OIDCIsolationRegressionTests | testRegression_oidcAuthentication_noOtherAuthURLs | 45ms |
| โ | OIDCIsolationRegressionTests | testRegression_samlAuthentication_typeIsCorrect | 46ms |
| โ | OIDCIsolationRegressionTests | testRegression_updateUserAccount_oauthStillStoresToken | 91ms |
| โ | OIDCLoginRoutingTests | testLogIn_withOIDC_callsWillSignIn | 41ms |
| โ | OIDCLoginRoutingTests | testLogIn_withOIDC_capturesCredentials | 30ms |
| โ | OIDCLoginRoutingTests | testLogIn_withOIDC_doesNotValidateCredentialsDirectly | 36ms |
| โ | OIDCMakeRequestTests | testMakeRequest_forOIDCSignOut_usesUserProfileURL | 353ms |
| โ | OIDCMakeRequestTests | testMakeRequest_forOIDC_addsBearerTokenHeader | 51ms |
| โ | OIDCMakeRequestTests | testMakeRequest_forOIDC_withoutToken_stillCreatesRequest | 150ms |
| โ | OIDCNSCodingTests | testOidcAuthentication_NSCodingRoundTrip_PreservesProperties | 50ms |
| โ | OIDCNetworkLayer401Tests | testOIDC_authDefinition_hasNoTokenURL | 24ms |
| โ | OIDCNetworkLayer401Tests | testOIDC_authDefinition_isNotOauth | 55ms |
| โ | OIDCNetworkLayer401Tests | testOIDC_authDefinition_isNotToken | 26ms |
| โ | OIDCNetworkLayer401Tests | testOIDC_cannotDoClientSideTokenRefresh | 41ms |
| โ | OIDCNetworkLayer401Tests | testOIDC_isTreatedLikeSAML_forReauth | 39ms |
| โ | OIDCReauthAttemptTests | testClassify_canceledLogin_isPatronCancelled | <1ms |
| โ | OIDCReauthAttemptTests | testClassify_nonSessionError_isPlainFailure | 3ms |
| โ | OIDCReauthAttemptTests | testClassify_presentationContextInvalid_isPresentationFailed | <1ms |
| โ | OIDCReauthAttemptTests | testClassify_presentationContextNotProvided_isPresentationFailed | <1ms |
| โ | OIDCReauthAttemptTests | testIsRetryable_isTrueOnlyForPresentationFailure | <1ms |
| โ | OIDCReauthAttemptTests | testPatronCancellation_isNeverRetried | <1ms |
| โ | OIDCReauthAttemptTests | testShouldRetry_maxAttemptsOne_neverRetries | <1ms |
| โ | OIDCReauthAttemptTests | testShouldRetry_onlyPresentationFailure_andOnlyOnFirstAttempt | 5ms |
| โ | OIDCReauthAttemptTests | testShouldRetry_patronCancellation_isNeverRetried | 95ms |
| โ | OIDCReauthOnExpiredTokenTests | testOIDC_afterReauth_credentialsRestored | 44ms |
| โ | OIDCReauthOnExpiredTokenTests | testOIDC_refreshAuthIfNeeded_doesNotNilSelectedAuth | 22ms |
| โ | OIDCReauthOnExpiredTokenTests | testOIDC_refreshAuthIfNeeded_withoutExistingCredentials_requiresUI | 42ms |
| โ | OIDCReauthOnExpiredTokenTests | testOIDC_staleCredentials_authDefinitionPreserved | 24ms |
| โ | OIDCReauthOnExpiredTokenTests | testOIDC_staleCredentials_stillHasCredentials | 24ms |
| โ | OIDCReauthRetryBehaviorTests | testPatronCancellation_presentsExactlyOnce | 2.66s |
| โ | OIDCReauthRetryBehaviorTests | testPlainFailure_presentsExactlyOnce | 8ms |
| โ | OIDCReauthRetryBehaviorTests | testPresentationFailure_thenSuccess_presentsTwiceAndSucceeds | 803ms |
| โ | OIDCReauthRetryBehaviorTests | testPresentationFailure_twice_stopsAtTwoPresentations | 451ms |
| โ | OIDCReauthRetryBehaviorTests | testSuccess_presentsExactlyOnce | 9ms |
| โ | OIDCReauthWiringLintTests | testAttemptOIDCSilentReauth_delegatesToTheRetryLoop | 916ms |
| โ | OIDCReauthWiringLintTests | testEveryOIDCSite_usesTheSharedAnchorResolver | 9ms |
| โ | OIDCReauthWiringLintTests | testRetryDecision_routesThroughShouldRetry | 488ms |
| โ | OIDCReauthWiringLintTests | testSessionCompletion_classifiesTheError | 2ms |
| โ | OIDCRedirectURIConstructionTests | testOidcCallbackScheme_containsNoDots | 166ms |
| โ | OIDCRedirectURIConstructionTests | testOidcCallbackScheme_doesNotContainColonOrSlash | 90ms |
| โ | OIDCRedirectURIConstructionTests | testOidcCallbackScheme_isLowercase | 63ms |
| โ | OIDCRedirectURIConstructionTests | testOidcRedirectURI_doesNotUseHTTPS | 59ms |
| โ | OIDCRedirectURIConstructionTests | testOidcRedirectURI_doesNotUseUniversalLinksURL | 129ms |
| โ | OIDCRedirectURIConstructionTests | testOidcRedirectURI_isValidURL | 142ms |
| โ | OIDCRegressionTests | testRegression_allAuthTypes_areCodable | 181ms |
| โ | OIDCRegressionTests | testRegression_authTypeCodable_roundTripIncludesOidc | 730ms |
| โ | OIDCRegressionTests | testRegression_basicAuth_makeRequest_noBearerToken | 180ms |
| โ | OIDCRegressionTests | testRegression_basicAuth_needsAuth_StillTrue | 778ms |
| โ | OIDCRegressionTests | testRegression_defaultAuth_stillPrefersNonOAuth | 104ms |
| โ | OIDCRegressionTests | testRegression_existingAuthTypesUnchanged | 73ms |
| โ | OIDCRegressionTests | testRegression_oauthAuth_makeRequest_stillAddsBearerToken | 56ms |
| โ | OIDCRegressionTests | testRegression_samlAuth_makeRequest_stillAddsBearerToken | 57ms |
| โ | OIDCRegressionTests | testRegression_samlUpdateUserAccount_stillStoresCookies | 446ms |
| โ | OIDCSelectedAuthenticationTests | testRefreshAuthIfNeeded_withOIDC_resetsIgnoreSignedInState | 61ms |
| โ | OIDCSelectedAuthenticationTests | testSelectedAuthentication_canBeSetToOIDC | 55ms |
| โ | OIDCSignOutRegressionTests | testRegression_signOut_withOAuth_stillClearsToken | 80ms |
| โ | OIDCSignOutRegressionTests | testRegression_signOut_withSAML_stillClearsCookies | 46ms |
| โ | OIDCSignOutRegressionTests | testSignOut_resetsInFlightAuthState | 52ms |
| โ | OIDCSignOutRegressionTests | testSignOut_withOIDC_clearsAuthToken | 67ms |
| โ | OIDCSignOutRegressionTests | testSignOut_withOIDC_clearsPatronInfo | 114ms |
| โ | OIDCSignOutRegressionTests | testSignOut_withOIDC_triggersExplicitLogoutFlowAndCompletesDeauthorization | 93ms |
| โ | OIDCTokenRefreshRegressionTests | testRefreshAuth_withOIDC_doesNotNilOutSelectedAuth_unlikeSAML | 34ms |
| โ | OIDCTokenRefreshRegressionTests | testRefreshAuth_withOIDC_usingExistingCredentials_doesNotResetSelectedAuth | 44ms |
| โ | OIDCTokenRefreshRegressionTests | testRefreshAuth_withOIDC_withoutExistingCredentials_setsIgnoreSignedIn | 129ms |
| โ | OIDCTokenRefreshRegressionTests | testRegression_refreshAuth_withBasic_ignoreSignedInNotSet | 50ms |
| โ | OIDCTokenRefreshRegressionTests | testRegression_refreshAuth_withOAuth_stillSetsIgnoreSignedIn | 35ms |
| โ | OIDCTokenRefreshRegressionTests | testRegression_refreshAuth_withSAML_codepathIncludesSAML | 192ms |
| โ | OIDCUpdateUserAccountTests | testUpdateUserAccount_withOIDC_doesNotStoreCookies | 192ms |
| โ | OIDCUpdateUserAccountTests | testUpdateUserAccount_withOIDC_marksLoggedIn | 141ms |
| โ | OIDCUpdateUserAccountTests | testUpdateUserAccount_withOIDC_setsAuthDefinition | 1.61s |
| โ | OIDCUpdateUserAccountTests | testUpdateUserAccount_withOIDC_storesAuthToken | 63ms |
| โ | OIDCUpdateUserAccountTests | testUpdateUserAccount_withOIDC_storesPatronInfo | 213ms |
| โ | OIDCViewModelRegressionTests | testOIDCSignIn_doesNotRequireUsernameOrPIN | 23ms |
| โ | OIDCViewModelSignInTests | testSignIn_withActiveCredentials_showsSignOutAlert | 8ms |
| โ | OIDCViewModelSignInTests | testSignIn_withStaleOIDCCredentials_proceedsToLogin | 18ms |
| โ | OPDS1BorrowEntryContractTests | testBorrowEntry_HasAvailabilityWithDates | 2ms |
| โ | OPDS1BorrowEntryContractTests | testBorrowEntry_HasLCPAcquisition | 3ms |
| โ | OPDS1BorrowEntryContractTests | testBorrowEntry_HasRevokeLink | 4ms |
| โ | OPDS1BorrowEntryContractTests | testParseBorrowEntry_AsSingleEntryFeed | 20ms |
| โ | OPDS1CatalogGroupedContractTests | testGroupedFeed_EntriesHaveGroupAttributes | 4ms |
| โ | OPDS1CatalogGroupedContractTests | testGroupedFeed_HasMultipleGroups | 3ms |
| โ | OPDS1CatalogGroupedContractTests | testGroupedFeed_ParsesAsGroupedType | 5ms |
| โ | OPDS1HoldEntriesContractTests | testHoldsFeed_ReadyEntry_HasReadyAvailability | 6ms |
| โ | OPDS1HoldEntriesContractTests | testHoldsFeed_ReservedEntry_HasHoldPosition | 4ms |
| โ | OPDS1HoldEntriesContractTests | testHoldsFeed_ReservedEntry_HasRevokeLink | 3ms |
| โ | OPDS1HoldEntriesContractTests | testParseHoldsFeed_ReturnsTwoEntries | 2ms |
| โ | OPDS1LoansFeedContractTests | testLoansFeed_AudiobookEntry_HasAudiobookType | 81ms |
| โ | OPDS1LoansFeedContractTests | testLoansFeed_EPUBEntry_HasAdobeDRMAcquisition | 5ms |
| โ | OPDS1LoansFeedContractTests | testLoansFeed_EntryHasAnnotationLink | 47ms |
| โ | OPDS1LoansFeedContractTests | testLoansFeed_EntryHasRevokeLink | 13ms |
| โ | OPDS1LoansFeedContractTests | testLoansFeed_OpenAccessPDF_HasDirectAcquisition | 4ms |
| โ | OPDS1LoansFeedContractTests | testParseLoansFeed_ReturnsThreeEntries | 4ms |
| โ | OPDS1ParsingTests | testCatalog_acquisitionLinks_areBucketedSeparatelyFromLinks | 2ms |
| โ | OPDS1ParsingTests | testCatalog_multipleAuthors_allPreservedInOrder | 2ms |
| โ | OPDS1ParsingTests | testCatalog_openAccessAndBorrow_bothPreservedWithCorrectRelation | 2ms |
| โ | OPDS1ParsingTests | testCatalog_paginationNextLink_captured | 4ms |
| โ | OPDS1ParsingTests | testCatalog_parsesEntryIdentifiers | 42ms |
| โ | OPDS1ParsingTests | testCatalog_parsesEntryTitlesInDocumentOrder | 2ms |
| โ | OPDS1ParsingTests | testCatalog_parsesExpectedEntryCount | 2ms |
| โ | OPDS1ParsingTests | testCatalog_parsesFeedIdentifier | 2ms |
| โ | OPDS1ParsingTests | testCatalog_parsesFeedTitle | 30ms |
| โ | OPDS1ParsingTests | testCatalog_parsesFeedUpdatedAsRFC3339Date | 2ms |
| โ | OPDS1ParsingTests | testCatalog_searchLink_parsedWithType | 88ms |
| โ | OPDS1ParsingTests | testCatalog_singleAuthor_preserved | 8ms |
| โ | OPDS1ParsingTests | testEmptyData_returnsNilNotCrash | <1ms |
| โ | OPDS1ParsingTests | testEmptyFeed_yieldsEmptyEntriesArrayNotNil | 2ms |
| โ | OPDS1ParsingTests | testEntry_category_parsedWithTerm | 2ms |
| โ | OPDS1ParsingTests | testEntry_imageThumbnail_keptAsLink | 3ms |
| โ | OPDS1ParsingTests | testEntry_published_fallsBackToIssuedWhenPublishedAbsent | 4ms |
| โ | OPDS1ParsingTests | testEntry_published_isParsedFromPublishedElement | 1ms |
| โ | OPDS1ParsingTests | testEntry_published_prefersPublishedOverIssuedWhenBothPresent | 2ms |
| โ | OPDS1ParsingTests | testEntry_publisher_extracted | 61ms |
| โ | OPDS1ParsingTests | testEntry_summary_decoded | 2ms |
| โ | OPDS1ParsingTests | testEntry_unicodeTitle_preservedExactly | 1ms |
| โ | OPDS1ParsingTests | testEntry_veryLongTitle_preservedExactly | 2ms |
| โ | OPDS1ParsingTests | testFacetedFeed_activeFacet_attributeRecognized | 3ms |
| โ | OPDS1ParsingTests | testFacetedFeed_facetLinks_groupedCorrectly | 19ms |
| โ | OPDS1ParsingTests | testFacetedFeed_otherFacetsNotMarkedActive | 1ms |
| โ | OPDS1ParsingTests | testFeedType_acquisitionFeed_detectedUngrouped | 5ms |
| โ | OPDS1ParsingTests | testFeedType_emptyFeed_returnsAcquisitionUngrouped | 1ms |
| โ | OPDS1ParsingTests | testLink_invalidHrefScheme_capturedAsIs | 145ms |
| โ | OPDS1ParsingTests | testLink_missingHref_returnsNil | 3ms |
| โ | OPDS1ParsingTests | testLink_validHref_returnsLinkWithAttributes | 101ms |
| โ | OPDS1ParsingTests | testMalformedEntries_skippedNotCrashed | 5ms |
| โ | OPDS1ParsingTests | testMalformedXML_returnsNilNotCrash | <1ms |
| โ | OPDS1ParsingTests | testNonOPDSXML_returnsNil | <1ms |
| โ | OPDS1RevokeResponseContractTests | testRevokeResponse_HasBorrowLink_NotFulfillmentLink | 2ms |
| โ | OPDS1RevokeResponseContractTests | testRevokeResponse_ParsesAsSingleEntry | 2ms |
| โ | OPDS2AuthenticationDocumentTests | testAnnouncements_parsesIfPresent | 191ms |
| โ | OPDS2AuthenticationDocumentTests | testAuthentication_noAuthRequired | 5ms |
| โ | OPDS2AuthenticationDocumentTests | testAuthentication_parsesBarcodeFormat | 3ms |
| โ | OPDS2AuthenticationDocumentTests | testAuthentication_parsesBasicAuth | 70ms |
| โ | OPDS2AuthenticationDocumentTests | testAuthentication_parsesInputConfiguration | 1ms |
| โ | OPDS2AuthenticationDocumentTests | testAuthentication_parsesLabels | 2ms |
| โ | OPDS2AuthenticationDocumentTests | testAuthentication_parsesMaximumLength | 8ms |
| โ | OPDS2AuthenticationDocumentTests | testAuthentication_parsesMultipleMethods | 30ms |
| โ | OPDS2AuthenticationDocumentTests | testColorScheme_parsesIfPresent | 1ms |
| โ | OPDS2AuthenticationDocumentTests | testFeatures_parsesDisabledFeatures | 1ms |
| โ | OPDS2AuthenticationDocumentTests | testFeatures_parsesEnabledFeatures | 5.20s |
| โ | OPDS2AuthenticationDocumentTests | testFromData_withEmptyData_throwsError | 67ms |
| โ | OPDS2AuthenticationDocumentTests | testFromData_withInvalidJSON_throwsError | 482ms |
| โ | OPDS2AuthenticationDocumentTests | testFromData_withMissingRequiredFields_throwsError | <1ms |
| โ | OPDS2AuthenticationDocumentTests | testFromData_withValidJSON_parsesDocument | 1ms |
| โ | OPDS2AuthenticationDocumentTests | testLinks_firstRelMethod_findsPasswordReset | 2ms |
| โ | OPDS2AuthenticationDocumentTests | testLinks_parsesCorrectly | 2ms |
| โ | OPDS2AuthenticationDocumentTests | testServiceDescription_parsesIfPresent | <1ms |
| โ | OPDS2AvailabilityTests | testIsAvailable_AvailableState_ReturnsTrue | 162ms |
| โ | OPDS2AvailabilityTests | testIsReady_ReadyState_ReturnsTrue | <1ms |
| โ | OPDS2AvailabilityTests | testIsReserved_ReservedState_ReturnsTrue | <1ms |
| โ | OPDS2AvailabilityTests | testIsUnavailable_UnavailableState_ReturnsTrue | 2ms |
| โ | OPDS2BookBridgeTests | testConvertAvailability_availableWithoutCopiesIsUnlimited | 1ms |
| โ | OPDS2BookBridgeTests | testConvertAvailability_unknownStateDefaultsToUnlimited | 65ms |
| โ | OPDS2BookBridgeTests | testFullPublicationToBook_fromDecodedJSON | 109ms |
| โ | OPDS2BookBridgeTests | testFullPublicationToBook_mapsAuthors | 2ms |
| โ | OPDS2BookBridgeTests | testFullPublicationToBook_mapsDescription | 243ms |
| โ | OPDS2BookBridgeTests | testFullPublicationToBook_mapsMultipleAuthors | 1ms |
| โ | OPDS2BookBridgeTests | testFullPublicationToBook_mapsNarrators | 2ms |
| โ | OPDS2BookBridgeTests | testFullPublicationToBook_mapsPublishedDate | 156ms |
| โ | OPDS2BookBridgeTests | testFullPublicationToBook_mapsPublisher | 117ms |
| โ | OPDS2BookBridgeTests | testFullPublicationToBook_mapsSubjectsAsCategories | 81ms |
| โ | OPDS2BookBridgeTests | testFullPublicationToBook_mapsSubtitle | <1ms |
| โ | OPDS2BookBridgeTests | testMetadata_decodesAuthorFromSingleStringAndArray | 2ms |
| โ | OPDS2BookBridgeTests | testRelationMapping_allStandardRelations | 2ms |
| โ | OPDS2BookBridgeTests | testRelationMapping_nonAcquisitionRelReturnsNil | 1ms |
| โ | OPDS2BookBridgeTests | testToBook_fallsBackToFirstImageWhenNoRelSpecified | 1ms |
| โ | OPDS2BookBridgeTests | testToBook_filtersNonAcquisitionLinks | 140ms |
| โ | OPDS2BookBridgeTests | testToBook_fromDecodedJSON | 2ms |
| โ | OPDS2BookBridgeTests | testToBook_handlesInvalidHrefURL | 340ms |
| โ | OPDS2BookBridgeTests | testToBook_handlesLinkWithNoType | 1ms |
| โ | OPDS2BookBridgeTests | testToBook_keepsPublicationWhenAtLeastOneAcquisitionIsSupported | 5ms |
| โ | OPDS2BookBridgeTests | testToBook_keepsPublicationWhenOnlyAcquisitionIsStreamingHTMLIndirect | 43ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsAlternateLink | 586ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsAuthorsFromArrayMetadata | 2ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsAvailableState | 2ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsBorrowLink | 19ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsBuyLink | 9ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsGenericAcquisitionLink | 1ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsImageURLFromImages | 62ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsIndirectAcquisition | <1ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsLCPIndirectAcquisition | 2ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsOpenAccessLink | <1ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsPreviewLink | 3ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsReadyState | 209ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsRelatedWorksLink | <1ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsReservedState | <1ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsRevokeLink | 1ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsSampleLink | 2ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsThumbnailURL | 3ms |
| โ | OPDS2BookBridgeTests | testToBook_mapsUnavailableState | 3ms |
| โ | OPDS2BookBridgeTests | testToBook_multipleAcquisitionLinks | 1ms |
| โ | OPDS2BookBridgeTests | testToBook_noAvailabilityDefaultsToUnlimited | 1ms |
| โ | OPDS2BookBridgeTests | testToBook_passesThroughIdentifierTitleUpdatedAndDescription | 654ms |
| โ | OPDS2BookBridgeTests | testToBook_returnsNilWhenNoAcquisitionLinks | 404ms |
| โ | OPDS2BookBridgeTests | testToBook_returnsNilWhenNoUsableAcquisitionPath | 2ms |
| โ | OPDS2BorrowResponseContractTests | testBorrowResponse_HasAvailabilityWithDates | 144ms |
| โ | OPDS2BorrowResponseContractTests | testBorrowResponse_HasFulfillmentAndRevokeLinks | 17ms |
| โ | OPDS2BorrowResponseContractTests | testBorrowResponse_ParsesPublicationMetadata | 2ms |
| โ | OPDS2CatalogWiringTests | testCatalogFeed_opds2Init_createsShellOpdsFeed | 2ms |
| โ | OPDS2CatalogWiringTests | testCatalogFeed_opds2Init_mapsEntries | 34ms |
| โ | OPDS2CatalogWiringTests | testCatalogFeed_opds2Init_setsTitle | <1ms |
| โ | OPDS2CatalogWiringTests | testEndToEnd_jsonToLanes | 26ms |
| โ | OPDS2CatalogWiringTests | testExtractOPDS2Facets_fallsBackToNumberOfItemsHintWhenNoURLMatch | 2ms |
| โ | OPDS2CatalogWiringTests | testExtractOPDS2Facets_marksFacetActiveWhenHrefMatchesCurrentURL | 2ms |
| โ | OPDS2CatalogWiringTests | testExtractOPDS2Facets_urlMatchIgnoresQueryOrder | 423ms |
| โ | OPDS2CatalogWiringTests | testMapFeed_opds2Facets_extracted | 374ms |
| โ | OPDS2CatalogWiringTests | testMapFeed_opds2Grouped_lanesHaveMoreURLs | 73ms |
| โ | OPDS2CatalogWiringTests | testMapFeed_opds2Grouped_lanesTitlesMatch | 13ms |
| โ | OPDS2CatalogWiringTests | testMapFeed_opds2Grouped_producesLanes | 3ms |
| โ | OPDS2CatalogWiringTests | testMapFeed_opds2MultiTitleLane_isNotLoading_unchanged | 20ms |
| โ | OPDS2CatalogWiringTests | testMapFeed_opds2Navigation_producesEmptyLanesAndBooks | 62ms |
| โ | OPDS2CatalogWiringTests | testMapFeed_opds2Publication_producesUngroupedBooks | 2ms |
| โ | OPDS2CatalogWiringTests | testMapFeed_opds2SingleTitleLane_isNotLoading_soCoverRenders | 230ms |
| โ | OPDS2CatalogWiringTests | testMapFeed_opds2TwoTitleLane_isNotLoading | 670ms |
| โ | OPDS2CatalogWiringTests | testMapFeed_opds2ZeroTitleGroup_producesNoLane | 44ms |
| โ | OPDS2CatalogWiringTests | testMapFeed_opds2_bookMetadataPreserved | 72ms |
| โ | OPDS2CatalogWiringTests | testParser_detectsOPDS1XML | 223ms |
| โ | OPDS2CatalogWiringTests | testParser_detectsOPDS2JSON | 16ms |
| โ | OPDS2CatalogWiringTests | testParser_invalidJSONThrows | 192ms |
| โ | OPDS2CatalogsFeedTests | testAccountSetAuthenticationDocument | 314ms |
| โ | OPDS2CatalogsFeedTests | testInitAccountsWithPublication | 25ms |
| โ | OPDS2CatalogsFeedTests | testLoadCatalogsFeed | 26ms |
| โ | OPDS2ContributorTests | testDecode_ObjectValue_ParsesAllFields | 2ms |
| โ | OPDS2ContributorTests | testDecode_StringValue_ParsesAsName | 2ms |
| โ | OPDS2EmptyFeedContractTests | testEmptyFeed_ParsesWithZeroItems | 8ms |
| โ | OPDS2FeedContractTests | testParseAudiobook_IncludesCompleteMetadataAndLinks | 2ms |
| โ | OPDS2FeedContractTests | testParseFacets_ExtractsFormatEntryPoints | 18ms |
| โ | OPDS2FeedContractTests | testParseFeed_FromBackendFixture_SucceedsWithExpectedStructure | 49ms |
| โ | OPDS2FeedContractTests | testParsePublications_ExtractsBookMetadata | 29ms |
| โ | OPDS2FeedParsingTests | testDateParsing_withISO8601_parsesCorrectly | 22ms |
| โ | OPDS2FeedParsingTests | testDateParsing_withMilliseconds_parsesCorrectly | 19ms |
| โ | OPDS2FeedParsingTests | testDateParsing_withoutMilliseconds_parsesCorrectly | 1ms |
| โ | OPDS2FeedParsingTests | testFromData_withEmptyCatalogs_parsesSuccessfully | <1ms |
| โ | OPDS2FeedParsingTests | testFromData_withEmptyData_throwsError | 1ms |
| โ | OPDS2FeedParsingTests | testFromData_withInvalidJSON_throwsError | <1ms |
| โ | OPDS2FeedParsingTests | testFromData_withMissingCatalogs_throwsError | <1ms |
| โ | OPDS2FeedParsingTests | testFromData_withValidJSON_parsesFeed | 41ms |
| โ | OPDS2FeedParsingTests | testLinks_parsesCorrectly | 90ms |
| โ | OPDS2FeedParsingTests | testMetadata_parsesAdobeVendorId | 23ms |
| โ | OPDS2FeedParsingTests | testMetadata_parsesTitle | 19ms |
| โ | OPDS2FeedTests | testDetectOPDS2FromContentType | 197ms |
| โ | OPDS2FeedTests | testDetectOPDS2FromData | 1ms |
| โ | OPDS2FeedTests | testFeedEquatable | 3ms |
| โ | OPDS2FeedTests | testMixedFractionalAndNonFractionalDates_acrossPublications_bothParse | 4ms |
| โ | OPDS2FeedTests | testParseDateWithFractionalSeconds | <1ms |
| โ | OPDS2FeedTests | testParseDateWithoutFractionalSeconds | 2ms |
| โ | OPDS2FeedTests | testParseFeedWithFacets | 25ms |
| โ | OPDS2FeedTests | testParseFeedWithGroups | 4ms |
| โ | OPDS2FeedTests | testParseFeedWithNavigation | 3ms |
| โ | OPDS2FeedTests | testParseFeedWithPagination | 586ms |
| โ | OPDS2FeedTests | testParseFeedWithPublications | 10ms |
| โ | OPDS2FeedTests | testParseLinkWithIndirectAcquisition | 6ms |
| โ | OPDS2FeedTests | testParseLinkWithProperties | <1ms |
| โ | OPDS2FeedTests | testParseMinimalFeed | 286ms |
| โ | OPDS2FullMetadataTests | testDecode_AllOptionalFields_ParsesCorrectly | 2ms |
| โ | OPDS2FullMetadataTests | testDecode_AtIdKey_ParsesIdentifier | 1ms |
| โ | OPDS2FullMetadataTests | testDecode_MissingId_GeneratesUUID | 1ms |
| โ | OPDS2FullMetadataTests | testEncodeDecode_RoundTrip_PreservesData | 6ms |
| โ | OPDS2FullPublicationTests | testAcquisitionLinks_FiltersCorrectly | <1ms |
| โ | OPDS2FullPublicationTests | testBorrowLink_Found_ReturnsLink | <1ms |
| โ | OPDS2FullPublicationTests | testCoverURL_CoverRel_ReturnsCorrectURL | <1ms |
| โ | OPDS2FullPublicationTests | testCoverURL_LargeWidth_FallsBackToLargeImage | 5ms |
| โ | OPDS2FullPublicationTests | testImageURL_NoRelImage_ReturnsFirst | 1ms |
| โ | OPDS2FullPublicationTests | testIsAudiobook_AudiobookType_ReturnsTrue | <1ms |
| โ | OPDS2FullPublicationTests | testIsEPUB_EpubType_ReturnsTrue | 6ms |
| โ | OPDS2FullPublicationTests | testIsPDF_PdfType_ReturnsTrue | 117ms |
| โ | OPDS2FullPublicationTests | testOpenAccessLink_Found_ReturnsLink | 1ms |
| โ | OPDS2FullPublicationTests | testSampleLink_PreviewRel_ReturnsLink | 2ms |
| โ | OPDS2FullPublicationTests | testSampleLink_SampleRel_ReturnsLink | <1ms |
| โ | OPDS2FullPublicationTests | testThumbnailURL_SmallWidth_FallsBackToSmallImage | 14ms |
| โ | OPDS2FullPublicationTests | testThumbnailURL_ThumbnailRel_ReturnsCorrectURL | <1ms |
| โ | OPDS2IntegrationTests | testAllPublicationsConvertSuccessfully | 13ms |
| โ | OPDS2IntegrationTests | testBorrowableBookConversion | 21ms |
| โ | OPDS2IntegrationTests | testFeedFacets | 4ms |
| โ | OPDS2IntegrationTests | testFeedIsGrouped | 5ms |
| โ | OPDS2IntegrationTests | testFeedLinks | 5ms |
| โ | OPDS2IntegrationTests | testFeedMetadata | 6ms |
| โ | OPDS2IntegrationTests | testFormatDetection_JSON | 6ms |
| โ | OPDS2IntegrationTests | testFormatDetection_XML | 5ms |
| โ | OPDS2IntegrationTests | testFormatDetection_contentType | 47ms |
| โ | OPDS2IntegrationTests | testFullPublicationFromJSON | 23ms |
| โ | OPDS2IntegrationTests | testGroupCount | 15ms |
| โ | OPDS2IntegrationTests | testNewAndNotableGroup | 6ms |
| โ | OPDS2IntegrationTests | testOpenAccessBookConversion | 13ms |
| โ | OPDS2IntegrationTests | testPopularAudiobooksGroup | 173ms |
| โ | OPDS2IntegrationTests | testReadyBookConversion | 9ms |
| โ | OPDS2IntegrationTests | testReservedBookWithLCPConversion | 6ms |
| โ | OPDS2IntegrationTests | testStaffPicksGroup | 9ms |
| โ | OPDS2IntegrationTests | testUnavailableAudiobookConversion | 411ms |
| โ | OPDS2LinkArrayTests | testAllRel_MatchingLinks_ReturnsFiltered | <1ms |
| โ | OPDS2LinkArrayTests | testAllRel_NoMatchingLinks_ReturnsEmpty | 2ms |
| โ | OPDS2LinkArrayTests | testFirstRel_EmptyArray_ReturnsNil | 45ms |
| โ | OPDS2LinkArrayTests | testFirstRel_MatchingLink_ReturnsFirst | <1ms |
| โ | OPDS2LinkArrayTests | testFirstRel_NoMatch_ReturnsNil | 3ms |
| โ | OPDS2LinkComputedPropertyTests | testHrefURL_InvalidURL_ReturnsNil | 13ms |
| โ | OPDS2LinkComputedPropertyTests | testHrefURL_ValidURL_ReturnsURL | <1ms |
| โ | OPDS2LinkComputedPropertyTests | testId_ReturnsHref | 4ms |
| โ | OPDS2LinkComputedPropertyTests | testIsAcquisition_BorrowRel_ReturnsTrue | <1ms |
| โ | OPDS2LinkComputedPropertyTests | testIsAcquisition_NilRel_ReturnsFalse | <1ms |
| โ | OPDS2LinkComputedPropertyTests | testIsAcquisition_OpenAccessRel_ReturnsTrue | <1ms |
| โ | OPDS2LinkComputedPropertyTests | testIsAcquisition_SelfRel_ReturnsFalse | <1ms |
| โ | OPDS2LinkComputedPropertyTests | testIsBorrow_CorrectRel_ReturnsTrue | <1ms |
| โ | OPDS2LinkComputedPropertyTests | testIsBorrow_OpenAccessRel_ReturnsFalse | <1ms |
| โ | OPDS2LinkComputedPropertyTests | testIsImage_CoverRel_ReturnsTrue | <1ms |
| โ | OPDS2LinkComputedPropertyTests | testIsImage_ImageType_ReturnsTrue | <1ms |
| โ | OPDS2LinkComputedPropertyTests | testIsImage_NonImageType_ReturnsFalse | <1ms |
| โ | OPDS2LinkComputedPropertyTests | testIsImage_ThumbnailRel_ReturnsTrue | <1ms |
| โ | OPDS2LinkComputedPropertyTests | testIsOpenAccess_BorrowRel_ReturnsFalse | <1ms |
| โ | OPDS2LinkComputedPropertyTests | testIsOpenAccess_CorrectRel_ReturnsTrue | <1ms |
| โ | OPDS2LinkComputedPropertyTests | testIsSample_BorrowRel_ReturnsFalse | 25ms |
| โ | OPDS2LinkComputedPropertyTests | testIsSample_PreviewRel_ReturnsTrue | <1ms |
| โ | OPDS2LinkComputedPropertyTests | testIsSample_SampleRel_ReturnsTrue | <1ms |
| โ | OPDS2LinkComputedPropertyTests | testLink_CodableRoundTrip_MinimalFields | <1ms |
| โ | OPDS2LinkComputedPropertyTests | testLink_CodableRoundTrip_PreservesAllFields | <1ms |
| โ | OPDS2LinkRelTests | testPasswordReset_hasCorrectRawValue | 79ms |
| โ | OPDS2LinkTests | testLink_firstRelMethod_findsMatchingLink | 157ms |
| โ | OPDS2LinkTests | testLink_hasHref | 26ms |
| โ | OPDS2ParsingTests | testAuthDocument_basicAuthMechanism | 38ms |
| โ | OPDS2ParsingTests | testAuthDocument_decodesTitleAndId | 14ms |
| โ | OPDS2ParsingTests | testAuthDocument_featuresAndAnnouncements | 1ms |
| โ | OPDS2ParsingTests | testAuthDocument_passwordResetLink_present | 9ms |
| โ | OPDS2ParsingTests | testBookBridge_relationMapping_isExhaustiveForKnownRels | 1ms |
| โ | OPDS2ParsingTests | testBookBridge_revokeAndIssues_excludedFromAcquisitions | 3ms |
| โ | OPDS2ParsingTests | testBookBridge_unknownRel_returnsNil | 2ms |
| โ | OPDS2ParsingTests | testCatalog_borrowLink_propertiesPreserved | 4ms |
| โ | OPDS2ParsingTests | testCatalog_decodesWithExpectedPublicationCount | 3ms |
| โ | OPDS2ParsingTests | testCatalog_isPublicationFeedFlag | 1ms |
| โ | OPDS2ParsingTests | testCatalog_metadataTitleAndIdentifier | 3ms |
| โ | OPDS2ParsingTests | testCatalog_multipleAuthors_preservedInOrder | 3ms |
| โ | OPDS2ParsingTests | testCatalog_nextPageURL_capturedForPagination | 2ms |
| โ | OPDS2ParsingTests | testCatalog_openAccessLink_isFlaggedOpenAccess | 2ms |
| โ | OPDS2ParsingTests | testCatalog_publicationTitlesInOrder | 18ms |
| โ | OPDS2ParsingTests | testCatalog_publication_imageURLs_separated | 4ms |
| โ | OPDS2ParsingTests | testCatalog_searchURL_captured | 2ms |
| โ | OPDS2ParsingTests | testCatalog_selfURL_captured | 1ms |
| โ | OPDS2ParsingTests | testCatalogsFeed_parsesExistingFixture | 3ms |
| โ | OPDS2ParsingTests | testCatalogsFeed_parsesSyntheticCatalogsArray | <1ms |
| โ | OPDS2ParsingTests | testFeed_emptyData_throwsNotCrashes | <1ms |
| โ | OPDS2ParsingTests | testFeed_emptyPublicationsArray_isEmptyNotNil | 14ms |
| โ | OPDS2ParsingTests | testFeed_malformedJSON_throwsNotCrashes | <1ms |
| โ | OPDS2ParsingTests | testFeed_publicationWithUnicodeTitle_preserved | 19ms |
| โ | OPDS2ParsingTests | testFeed_publicationWithVeryLongTitle_preserved | 25ms |
| โ | OPDS2ParsingTests | testGroupedFeed_decodesAllGroups | 13ms |
| โ | OPDS2ParsingTests | testGroupedFeed_groupMoreURL_resolvesFromSelfOrSubsection | 1ms |
| โ | OPDS2ParsingTests | testGroupedFeed_groupTitlesInOrder | 2ms |
| โ | OPDS2ParsingTests | testGroupedFeed_navigationLanePreserved | 1ms |
| โ | OPDS2ParsingTests | testGroupedFeed_publicationsPerGroup | 2ms |
| โ | OPDS2ParsingTests | testProblemDocument_decodesAllRFC7807Fields | 1ms |
| โ | OPDS2ParsingTests | testProblemDocument_malformedJSON_throwsNotCrashes | 1ms |
| โ | OPDS2ParsingTests | testPublication_imageURLs_areExtractedFromImagesArray | <1ms |
| โ | OPDS2ParsingTests | testPublication_isSampleClassifier_acceptsBothPreviewAndSampleRel | <1ms |
| โ | OPDS2ParsingTests | testPublication_multipleAcquisitionLinks_allRetained | 1ms |
| โ | OPDS2ParsingTests | testPublication_toBook_skipsWhenNoAcquisitionLinks | 39ms |
| โ | OPDS2ParsingTests | testPublication_toBook_skipsWhenNoSupportedAcquisitionPath | 9ms |
| โ | OPDS2ParsingTests | testPublication_toBook_succeedsForSupportedEpubOpenAccess | 9ms |
| โ | OPDS2PublicationExtendedTests | testContributorDecodesFromObject | 5ms |
| โ | OPDS2PublicationExtendedTests | testContributorDecodesFromString | 79ms |
| โ | OPDS2PublicationExtendedTests | testConvertAcquisitionFromBorrowLink | 2ms |
| โ | OPDS2PublicationExtendedTests | testConvertAcquisitionFromNonAcquisitionLink | 72ms |
| โ | OPDS2PublicationExtendedTests | testConvertAcquisitionSynthesizesIndirectForBearerToken | 91ms |
| โ | OPDS2PublicationExtendedTests | testConvertAcquisitionSynthesizesIndirectForLCP | 39ms |
| โ | OPDS2PublicationExtendedTests | testConvertAcquisitionWithExplicitIndirectAcquisitions | 5ms |
| โ | OPDS2PublicationExtendedTests | testConvertAvailabilityAvailableWithCopies | <1ms |
| โ | OPDS2PublicationExtendedTests | testConvertAvailabilityAvailableWithoutCopies | 206ms |
| โ | OPDS2PublicationExtendedTests | testConvertAvailabilityNil | 1ms |
| โ | OPDS2PublicationExtendedTests | testConvertAvailabilityReady | 2ms |
| โ | OPDS2PublicationExtendedTests | testConvertAvailabilityReserved | <1ms |
| โ | OPDS2PublicationExtendedTests | testConvertAvailabilityReservedWithZeroPosition | 1ms |
| โ | OPDS2PublicationExtendedTests | testConvertAvailabilityUnavailable | 1ms |
| โ | OPDS2PublicationExtendedTests | testConvertAvailabilityUnknownState | <1ms |
| โ | OPDS2PublicationExtendedTests | testConvertIndirectAcquisitionsFlat | 63ms |
| โ | OPDS2PublicationExtendedTests | testConvertIndirectAcquisitionsNested | 79ms |
| โ | OPDS2PublicationExtendedTests | testConvertIndirectAcquisitions_nilOrEmptyInputYieldsEmptyResult | <1ms |
| โ | OPDS2PublicationExtendedTests | testExtractImageURLsFallsBackToFirstImage | 1ms |
| โ | OPDS2PublicationExtendedTests | testExtractImageURLsNil | 2ms |
| โ | OPDS2PublicationExtendedTests | testExtractImageURLsWithExplicitRels | 2ms |
| โ | OPDS2PublicationExtendedTests | testExtractSpecialLinks | 2ms |
| โ | OPDS2PublicationExtendedTests | testExtractSpecialLinksEmpty | 13ms |
| โ | OPDS2PublicationExtendedTests | testFullMetadataCodableRoundTrip | 18ms |
| โ | OPDS2PublicationExtendedTests | testFullMetadataDecodesWithAlternateIdKey | 42ms |
| โ | OPDS2PublicationExtendedTests | testFullMetadataDecodesWithMissingIdentifier | <1ms |
| โ | OPDS2PublicationExtendedTests | testFullPublicationAcquisitionLinks | 4ms |
| โ | OPDS2PublicationExtendedTests | testFullPublicationContentType | <1ms |
| โ | OPDS2PublicationExtendedTests | testFullPublicationDurationFormatting | 53ms |
| โ | OPDS2PublicationExtendedTests | testFullPublicationDurationFormattingSubHour | 1ms |
| โ | OPDS2PublicationExtendedTests | testFullPublicationId_delegatesToMetadataIdentifierAcrossInstances | <1ms |
| โ | OPDS2PublicationExtendedTests | testFullPublicationImageURLs | 3ms |
| โ | OPDS2PublicationExtendedTests | testFullPublicationToBookReturnsNilWithNoAcquisitions | 51ms |
| โ | OPDS2PublicationExtendedTests | testFullPublication_seriesNameAndURL_extractedFromBelongsTo | 167ms |
| โ | OPDS2PublicationExtendedTests | testFullPublication_seriesNameOnly_whenLinksAbsent | 80ms |
| โ | OPDS2PublicationExtendedTests | testFullPublication_seriesNil_whenBelongsToAbsent | 1ms |
| โ | OPDS2PublicationExtendedTests | testFullPublication_seriesNil_whenBelongsToSeriesEmpty | <1ms |
| โ | OPDS2PublicationExtendedTests | testOPDS2FullPublication_toBook_streamingMediaOnlyAcquisition_doesNotDrop | 158ms |
| โ | OPDS2PublicationExtendedTests | testOPDS2Publication_toBook_streamingMediaOnlyAcquisition_doesNotDrop | 2ms |
| โ | OPDS2PublicationExtendedTests | testOPDS2Publication_toBook_trulyUnsupportedFormat_stillDropped | 38ms |
| โ | OPDS2PublicationExtendedTests | testRelationFromBorrow | 1ms |
| โ | OPDS2PublicationExtendedTests | testRelationFromBuy | 2ms |
| โ | OPDS2PublicationExtendedTests | testRelationFromGenericAcquisition | 2ms |
| โ | OPDS2PublicationExtendedTests | testRelationFromIssuesRelIsNil | 1ms |
| โ | OPDS2PublicationExtendedTests | testRelationFromNonAcquisitionRel | <1ms |
| โ | OPDS2PublicationExtendedTests | testRelationFromOpenAccess | 83ms |
| โ | OPDS2PublicationExtendedTests | testRelationFromPreview | 1ms |
| โ | OPDS2PublicationExtendedTests | testRelationFromRevokeRelIsNil | 1ms |
| โ | OPDS2PublicationExtendedTests | testRelationFromSample | 106ms |
| โ | OPDS2PublicationExtendedTests | testRelationFromSubscribe | <1ms |
| โ | OPDS2PublicationExtendedTests | testRelationFromUnknownAcquisitionSubtype | 166ms |
| โ | OPDS2PublicationExtendedTests | testSubjectDecodesFromObject | 2ms |
| โ | OPDS2PublicationExtendedTests | testSubjectDecodesFromString | <1ms |
| โ | OPDS2PublicationImageTests | testCoverURL_CoverRel_ReturnsURL | 2ms |
| โ | OPDS2PublicationImageTests | testImageURL_NoImages_ReturnsNil | 2ms |
| โ | OPDS2PublicationImageTests | testImageURL_NonPNGImage_ReturnsNil | 11ms |
| โ | OPDS2PublicationImageTests | testImageURL_PNGImage_ReturnsURL | 2ms |
| โ | OPDS2PublicationImageTests | testThumbnailURL_NoThumbnailRel_ReturnsNil | 25ms |
| โ | OPDS2PublicationImageTests | testThumbnailURL_ThumbnailRel_ReturnsURL | <1ms |
| โ | OPDS2PublicationNarratorTests | testToBook_WithMultipleNarrators_JoinsWithSemicolons | 101ms |
| โ | OPDS2PublicationNarratorTests | testToBook_WithNarratorInJSON_ExposesNarratorOnBook | 3ms |
| โ | OPDS2PublicationNarratorTests | testToBook_WithoutNarrator_BookHasNilNarrators | <1ms |
| โ | OPDS2PublicationTests | testPublication_hasRequiredFields | 21ms |
| โ | OPDS2PublicationTests | testPublication_metadataHasTitle | 20ms |
| โ | OPDS2SamlIDPTests | testDisplayName_WithEnglishName_ReturnsEnglishValue | 6ms |
| โ | OPDS2SamlIDPTests | testDisplayName_WithNoEnglishName_ReturnsNil | 17ms |
| โ | OPDS2SamlIDPTests | testIdpDescription_WithEnglishDescription_ReturnsValue | 1ms |
| โ | OPDS2SamlIDPTests | testIdpDescription_WithNoDescriptions_ReturnsNil | 1ms |
| โ | OPDS2SamlIDPTests | testInit_WithInvalidHref_ReturnsNil | <1ms |
| โ | OPDS2SamlIDPTests | testInit_WithValidLink_MapsURLCorrectly | 3ms |
| โ | OPDS2SearchResultsContractTests | testSearchResults_ContainsThreePublications | 1ms |
| โ | OPDS2SearchResultsContractTests | testSearchResults_HasNextPageLink | 24ms |
| โ | OPDS2SearchResultsContractTests | testSearchResults_ParsesWithPagination | 2ms |
| โ | OPDS2SubjectTests | testDecode_ObjectValue_ParsesAllFields | 1ms |
| โ | OPDS2SubjectTests | testDecode_StringValue_ParsesAsName | <1ms |
| โ | OPDS2SupportingTypesTests | testBelongsTo_SeriesWithPosition | 83ms |
| โ | OPDS2SupportingTypesTests | testFacetLink_IsActive_WithNumberOfItems_ReturnsTrue | 166ms |
| โ | OPDS2SupportingTypesTests | testFacetLink_IsActive_WithoutProperties_ReturnsFalse | 2ms |
| โ | OPDS2SupportingTypesTests | testIndirectAcquisition_NestedChild | 53ms |
| โ | OPDS2SupportingTypesTests | testPrice_CodableRoundTrip | 6ms |
| โ | OPDSAcquisitionPathExpandedTests | test_acquisitionFromSingleEntry_hasDictionaryRepresentation | 6ms |
| โ | OPDSAcquisitionPathExpandedTests | test_acquisitionRelationString_distinctStringsForOpenAccessAndBorrow | 17ms |
| โ | OPDSAcquisitionPathExpandedTests | test_entryFromSingleEntryXML_hasAuthors | 1ms |
| โ | OPDSAcquisitionPathExpandedTests | test_entryFromSingleEntryXML_hasCorrectTitle | 1ms |
| โ | OPDSAcquisitionPathExpandedTests | test_entryFromSingleEntryXML_hasIdentifier | 4ms |
| โ | OPDSAcquisitionPathExpandedTests | test_entryInitWithInvalidXML_returnsNil | 1ms |
| โ | OPDSAcquisitionPathExpandedTests | test_feedFromMainXML_hasEntries | 27ms |
| โ | OPDSAcquisitionPathExpandedTests | test_feedFromMainXML_hasIdentifier | 21ms |
| โ | OPDSAcquisitionPathExpandedTests | test_feedFromMainXML_hasLinks | 57ms |
| โ | OPDSAcquisitionPathExpandedTests | test_feedFromMainXML_hasTitle | 25ms |
| โ | OPDSAcquisitionPathExpandedTests | test_feedFromMainXML_hasUpdatedDate | 191ms |
| โ | OPDSAcquisitionPathExpandedTests | test_initWithNilXML_returnsNilOnFeedAndLink | <1ms |
| โ | OPDSAcquisitionPathExpandedTests | test_linkFromSingleEntryXML_hasHref | 17ms |
| โ | OPDSAcquisitionPathExpandedTests | test_linksFromSingleEntryXML_haveCorrectCount | 332ms |
| โ | OPDSAcquisitionPathExpandedTests | test_supportedTypes_andAudiobookTypes_areNonEmptyAndDistinguishable | 12ms |
| โ | OPDSFeedCacheTests | testCacheEntryIsExpired | 2ms |
| โ | OPDSFeedCacheTests | testCacheEntryIsStale | 3ms |
| โ | OPDSFeedCacheTests | testClear | 5ms |
| โ | OPDSFeedCacheTests | testConditionalHeaders | 2ms |
| โ | OPDSFeedCacheTests | testConditionalHeadersEmptyWhenNoCachedEntry | 13ms |
| โ | OPDSFeedCacheTests | testExpiredEntriesNotReturned | 39ms |
| โ | OPDSFeedCacheTests | testGetNonExistent | 40ms |
| โ | OPDSFeedCacheTests | testGetWithRevalidationFetchesWhenNoCache | 25ms |
| โ | OPDSFeedCacheTests | testGetWithRevalidationReturnsFreshData | 4ms |
| โ | OPDSFeedCacheTests | testLRUEviction | 4ms |
| โ | OPDSFeedCacheTests | testLRUUpdatesOnAccess | 4ms |
| โ | OPDSFeedCacheTests | testRemove | 1ms |
| โ | OPDSFeedCacheTests | testSetAndGet | 3ms |
| โ | OPDSFeedCacheTests | testStats | 4ms |
| โ | OPDSFeedMigrationTests | testErrorMessageFallback_noDetail_usesLocalizedDescription | 43ms |
| โ | OPDSFeedMigrationTests | testErrorMessageFallback_problemDocDetail | 1ms |
| โ | OPDSFeedMigrationTests | testHalfSheetProvider_showAlert_exists | 241ms |
| โ | OPDSFeedMigrationTests | testReturnBook_authErrors_notTolerated | 4ms |
| โ | OPDSFeedMigrationTests | testReturnBook_nonOPDSRevokeResponse_treatedAsSuccess | 2ms |
| โ | OPDSFeedMigrationTests | testReturnBook_otherParsingErrors_notTolerated | 74ms |
| โ | OPDSFeedMigrationTests | testSignInModalPresenter_needsAuthCheck_anonymousReturnsFalse | <1ms |
| โ | OPDSFeedMigrationTests | testSignInModalPresenter_needsAuthCheck_basicReturnsTrue | 53ms |
| โ | OPDSFeedMigrationTests | testSignInModalPresenter_needsAuthCheck_oidcReturnsTrue | 1ms |
| โ | OPDSFeedMigrationTests | testSyntheticErrorDict_containsHTTPStatus | 2ms |
| โ | OPDSFeedMigrationTests | testSyntheticErrorDict_parsesAsProblemDocument | 2ms |
| โ | OPDSFeedParsingTests | testParseInvalidOPDSFeed | 3ms |
| โ | OPDSFeedParsingTests | testParseValidOPDSFeed | 37ms |
| โ | OPDSFeedServiceStateMachineTests | testFetchLoansFeed_blocksUntilLoaded_thenFetches | 108ms |
| โ | OPDSFeedServiceStateMachineTests | testFetchLoansFeed_failedDetailsLoad_throws | 38ms |
| โ | OPDSFeedServiceStateMachineTests | testFetchLoansFeed_failedDetailsLoad_throwsAccountLoadError_notPalaceError | 38ms |
| โ | OPDSFeedServiceTests | testCancelAllRequests_isNoOpAndIdempotent_whenNothingInFlight | 47ms |
| โ | OPDSFeedServiceTests | testCancelRequest_isNoOpAndIdempotent_whenNoInflightRequestForUrl | 4ms |
| โ | OPDSFormatTests | testDetectIsCaseInsensitive | <1ms |
| โ | OPDSFormatTests | testDetectOPDS1FromAtomXMLContentType | <1ms |
| โ | OPDSFormatTests | testDetectOPDS1FromGenericXMLContentType | <1ms |
| โ | OPDSFormatTests | testDetectOPDS1FromXMLData | 110ms |
| โ | OPDSFormatTests | testDetectOPDS2FromGenericJSONContentType | 45ms |
| โ | OPDSFormatTests | testDetectOPDS2FromJSONArrayData | <1ms |
| โ | OPDSFormatTests | testDetectOPDS2FromJSONContentType | 20ms |
| โ | OPDSFormatTests | testDetectOPDS2FromJSONData | <1ms |
| โ | OPDSFormatTests | testDetectUnknownFromEmptyData | 13ms |
| โ | OPDSFormatTests | testDetectUnknownFromNilContentType | <1ms |
| โ | OPDSFormatTests | testDetectUnknownFromUnrelatedContentType | 1ms |
| โ | OPDSFormatTests | testOPDS1RawValue | <1ms |
| โ | OPDSFormatTests | testOPDS2RawValue | <1ms |
| โ | OPDSParserCoreTests | testParseEmptyDataThrows | 1ms |
| โ | OPDSParserCoreTests | testParseInvalidXMLThrows | 2ms |
| โ | OPDSParserCoreTests | testParseValidOPDS1Feed | 909ms |
| โ | OPDSParserCoreTests | testParserErrorDescriptions | <1ms |
| โ | OPDSParserTests | testParseFeed_throwsForInvalidData | 2ms |
| โ | OPDSParserTests | testParseFeed_throwsForNonXML | 14ms |
| โ | OPDSParserTests | testParserError_invalidFeed | <1ms |
| โ | OPDSParserTests | testParserError_invalidXML | 1ms |
| โ | OPDSParsingTests | testAcquisitionLinks | 1ms |
| โ | OPDSParsingTests | testAnalyticsURLGeneration | 3ms |
| โ | OPDSParsingTests | testAuthorWithMissingName | 1ms |
| โ | OPDSParsingTests | testCategoryWithMissingTerm | 1ms |
| โ | OPDSParsingTests | testEmptyXMLData | <1ms |
| โ | OPDSParsingTests | testEntryExtractionFromFeed | 2ms |
| โ | OPDSParsingTests | testEntryWithCategories | 8ms |
| โ | OPDSParsingTests | testEntryWithContributors | 2ms |
| โ | OPDSParsingTests | testEntryWithDuration | 4ms |
| โ | OPDSParsingTests | testEntryWithMissingId | 518ms |
| โ | OPDSParsingTests | testEntryWithMissingTitle | 1ms |
| โ | OPDSParsingTests | testEntryWithMissingUpdated | 2ms |
| โ | OPDSParsingTests | testEntryWithMultipleAuthors | <1ms |
| โ | OPDSParsingTests | testEntryWithNamespacedContributorRoles_ParsesNarrator | 561ms |
| โ | OPDSParsingTests | testEntryWithPublisherAndDistribution | 2ms |
| โ | OPDSParsingTests | testEntryWithUnnamespacedContributorRole_StillParses | 1ms |
| โ | OPDSParsingTests | testEntry_AudienceAndLanguageNilWhenAbsent | 1ms |
| โ | OPDSParsingTests | testEntry_AudienceCategoryIsNotInRegularCategoryList | 472ms |
| โ | OPDSParsingTests | testEntry_ParsesAudienceFromSchemaOrgCategory | 1ms |
| โ | OPDSParsingTests | testEntry_ParsesLanguageWithDctermsNamespace | 9ms |
| โ | OPDSParsingTests | testEntry_ParsesLanguageWithoutNamespaceDeclaration | <1ms |
| โ | OPDSParsingTests | testFeedIgnoresMalformedEntries | 1ms |
| โ | OPDSParsingTests | testFeedIgnoresMalformedLinks | 632ms |
| โ | OPDSParsingTests | testFeedInitializationFromCompleteFeed | 1ms |
| โ | OPDSParsingTests | testFeedInitializationFromMinimalXML | 4ms |
| โ | OPDSParsingTests | testFeedInitializationFromSingleEntry | <1ms |
| โ | OPDSParsingTests | testFeedParsingPerformance | 660ms |
| โ | OPDSParsingTests | testFeedTypeAcquisitionGrouped | 318ms |
| โ | OPDSParsingTests | testFeedTypeAcquisitionUngrouped | 1ms |
| โ | OPDSParsingTests | testFeedTypeAcquisitionUngroupedWithEmptyFeed | <1ms |
| โ | OPDSParsingTests | testFeedTypeNavigation | 1ms |
| โ | OPDSParsingTests | testFeedWithInvalidDate | <1ms |
| โ | OPDSParsingTests | testFeedWithLicensorAndPatron | 1ms |
| โ | OPDSParsingTests | testFeedWithMissingId | <1ms |
| โ | OPDSParsingTests | testFeedWithMissingTitle | <1ms |
| โ | OPDSParsingTests | testFeedWithMissingUpdated | <1ms |
| โ | OPDSParsingTests | testGroupAttributes | 609ms |
| โ | OPDSParsingTests | testHTMLEntityDecoding | <1ms |
| โ | OPDSParsingTests | testImageLinks | 1ms |
| โ | OPDSParsingTests | testLinkInitialization | 680ms |
| โ | OPDSParsingTests | testLinkRelationAlternate | 3ms |
| โ | OPDSParsingTests | testLinkRelationAnnotations | 1ms |
| โ | OPDSParsingTests | testLinkRelationRelatedWorks | 50ms |
| โ | OPDSParsingTests | testLinkRelationTimeTracking | 1ms |
| โ | OPDSParsingTests | testLinkWithMissingHref | 447ms |
| โ | OPDSParsingTests | testLinkWithOptionalAttributesNil | 1ms |
| โ | OPDSParsingTests | testMalformedXML | <1ms |
| โ | OPDSParsingTests | testNilXMLFeed | 2ms |
| โ | OPDSParsingTests | testNonMarketplaceHTMLPreviewIsAccepted | 1ms |
| โ | OPDSParsingTests | testPalaceMarketplaceHTMLPreviewIsAccepted | 511ms |
| โ | OPDSParsingTests | testPreviewLinkParsing | 5ms |
| โ | OPDSParsingTests | testPreviewLinkUsesFirstAvailable | 2ms |
| โ | OPDSParsingTests | testRFC3339DateParsing | 1ms |
| โ | OPDSParsingTests | testSeriesLink | 284ms |
| โ | OPDSParsingTests | testSeriesLinkParsedFromEntry | <1ms |
| โ | OPDSParsingTests | testTPPBookFromEntry_populatesSeriesNameAndURLFromSeriesLink | <1ms |
| โ | OPDSParsingTests | testTPPBookFromEntry_seriesNameAndURLNilWhenNoSeriesElement | 2ms |
| โ | OfflineActionTests | testActionState_CodableRoundTrip | 9ms |
| โ | OfflineActionTests | testActionType_CodableRoundTrip | <1ms |
| โ | OfflineActionTests | testBorrowAction_Creation | 2ms |
| โ | OfflineActionTests | testCanRetry_CompletedState_False | <1ms |
| โ | OfflineActionTests | testCanRetry_FailedExceedingMaxRetries_False | 2ms |
| โ | OfflineActionTests | testCanRetry_FailedWithRetriesExhausted_False | <1ms |
| โ | OfflineActionTests | testCanRetry_FailedWithRetriesRemaining_True | 1ms |
| โ | OfflineActionTests | testCanRetry_PendingState_False | <1ms |
| โ | OfflineActionTests | testCanRetry_ProcessingState_False | <1ms |
| โ | OfflineActionTests | testCanRetry_ZeroMaxRetries_AlwaysFalse | <1ms |
| โ | OfflineActionTests | testCancelHoldAction_Creation | <1ms |
| โ | OfflineActionTests | testCodableRoundTrip_AllActionTypes | <1ms |
| โ | OfflineActionTests | testCodableRoundTrip_FailedAction | 8ms |
| โ | OfflineActionTests | testCodableRoundTrip_PendingAction | 9ms |
| โ | OfflineActionTests | testCustomMaxRetries | <1ms |
| โ | OfflineActionTests | testDisplayDescription_Borrow | 59ms |
| โ | OfflineActionTests | testDisplayDescription_CancelHold | <1ms |
| โ | OfflineActionTests | testDisplayDescription_Hold | 26ms |
| โ | OfflineActionTests | testDisplayDescription_Return | <1ms |
| โ | OfflineActionTests | testEquality_DifferentID_NotEqual | 84ms |
| โ | OfflineActionTests | testEquality_SameID_Equal | <1ms |
| โ | OfflineActionTests | testHoldAction_Creation | <1ms |
| โ | OfflineActionTests | testNextRetryDelay_FirstRetry | 5ms |
| โ | OfflineActionTests | testNextRetryDelay_FourthRetry | <1ms |
| โ | OfflineActionTests | testNextRetryDelay_GrowsExponentially | <1ms |
| โ | OfflineActionTests | testNextRetryDelay_SecondRetry | <1ms |
| โ | OfflineActionTests | testNextRetryDelay_ThirdRetry | <1ms |
| โ | OfflineActionTests | testRetryCount_IncrementWorks | <1ms |
| โ | OfflineActionTests | testReturnAction_Creation | 1ms |
| โ | OfflineQueueCoordinatorTests | testDedupe_completedKeyExpiresAfterTTL | 5ms |
| โ | OfflineQueueCoordinatorTests | testDifferentBooks_areNotDeduped | 3ms |
| โ | OfflineQueueCoordinatorTests | testDispatch_routesEachTypeToItsHandler | 13ms |
| โ | OfflineQueueCoordinatorTests | testDuplicateReturn_isDeduped | 6ms |
| โ | OfflineQueueCoordinatorTests | testFailedBorrow_isNotMarkedDone_staysQueued | 5ms |
| โ | OfflineQueueCoordinatorTests | testFailedReturn_isRetryable_notPermanentlyDeduped | 5ms |
| โ | OfflineQueueCoordinatorTests | testIsActiveLoanState_confirmsOnlyBorrowedStates | <1ms |
| โ | OfflineQueueCoordinatorTests | testIsHeldState_confirmsOnlyHolding | <1ms |
| โ | OfflineQueueCoordinatorTests | testIsReturnConfirmed_requiresUnregisteredOrAbsent | 7ms |
| โ | OfflineQueueCoordinatorTests | testRegisterExecutor_installsWorkingExecutor | 5ms |
| โ | OfflineQueueCoordinatorTests | testSameBookDifferentType_areNotDeduped | 5ms |
| โ | OfflineQueueServiceExtendedTests | testCancel_NonexistentAction_NoOp | 89ms |
| โ | OfflineQueueServiceExtendedTests | testCancel_SpecificPendingAction | 11ms |
| โ | OfflineQueueServiceExtendedTests | testClearFailed_RemovesOnlyFailedActions | 17ms |
| โ | OfflineQueueServiceExtendedTests | testIsProcessing_InitiallyFalse | 15ms |
| โ | OfflineQueueServiceExtendedTests | testMaxRetriesReached_ActionMarkedAsFailed | 86ms |
| โ | OfflineQueueServiceExtendedTests | testPersistence_ProcessingState_ResetToPending | 39ms |
| โ | OfflineQueueServiceExtendedTests | testPersistence_SaveAndReload | 18ms |
| โ | OfflineQueueServiceExtendedTests | testProcessQueue_FIFO_Order | 15ms |
| โ | OfflineQueueServiceExtendedTests | testQueueStatus_EmptyQueue | 1.64s |
| โ | OfflineQueueServiceExtendedTests | testQueueStatus_Summary_AllStates | 66ms |
| โ | OfflineQueueServiceExtendedTests | testQueueStatus_TotalActive | <1ms |
| โ | OfflineQueueServiceExtendedTests | testQueueStatus_WithPendingActions | 116ms |
| โ | OfflineQueueServiceExtendedTests | testRetry_MovesFailedToPending | 18ms |
| โ | OfflineQueueServiceTests | testActionPublisherEmits | 8ms |
| โ | OfflineQueueServiceTests | testCancelPendingAction | 8ms |
| โ | OfflineQueueServiceTests | testClearFailed | 12ms |
| โ | OfflineQueueServiceTests | testEnqueueAction | 16ms |
| โ | OfflineQueueServiceTests | testEnqueueMultipleActions | 16ms |
| โ | OfflineQueueServiceTests | testExponentialBackoff | 46ms |
| โ | OfflineQueueServiceTests | testMaxRetriesExceeded | 7ms |
| โ | OfflineQueueServiceTests | testNetworkAvailableTriggersProcessing | 54ms |
| โ | OfflineQueueServiceTests | testOfflineActionCanRetry | 1ms |
| โ | OfflineQueueServiceTests | testOfflineActionDisplayDescription | 5ms |
| โ | OfflineQueueServiceTests | testOfflineQueueStatusSummary | 60ms |
| โ | OfflineQueueServiceTests | testProcessQueueFIFOOrder | 6ms |
| โ | OfflineQueueServiceTests | testProcessQueueSuccess | 10ms |
| โ | OfflineQueueServiceTests | testProcessingStateResetOnRestart | 10ms |
| โ | OfflineQueueServiceTests | testQueuePersistsAcrossInstances | 7ms |
| โ | OfflineQueueServiceTests | testRetryFailedAction | 24ms |
| โ | OfflineQueueServiceTests | testStatusPublisherEmits | 44ms |
| โ | OpenAccessAdapterTests | testCanHandle_anyOPDSBook_returnsTrueAsFallback | 3ms |
| โ | OpenAccessAdapterTests | testEmptyManifest_stillThrows | 3ms |
| โ | OpenAccessAdapterTests | testOverdriveDescriptorManifest_decodesAndTypesAsOverdrive | 8ms |
| โ | OpenAccessAdapterTests | testOverdriveFormatWithoutContentLinks_stillThrows | 40ms |
| โ | OpenAccessAdapterTests | testResolveManifest_bearerSecondLegReturnsNil_failsWithManifestFetchFailed | 13ms |
| โ | OpenAccessAdapterTests | testResolveManifest_bearerWrapperButNoFetcher_returnsBodyVerbatim | 15ms |
| โ | OpenAccessAdapterTests | testResolveManifest_bearerWrapperWithFetcher_followsSecondLegToRealManifest | 49ms |
| โ | OpenAccessAdapterTests | testResolveManifest_emptyData_failsWithManifestFetchFailed | 7ms |
| โ | OpenAccessAdapterTests | testResolveManifest_htmlResponse_failsWithManifestFetchFailed | 10ms |
| โ | OpenAccessAdapterTests | testResolveManifest_invalidJSON_failsWithManifestParseFailed | 6ms |
| โ | OpenAccessAdapterTests | testResolveManifest_networkError_failsWithManifestFetchFailed | 10ms |
| โ | OpenAccessAdapterTests | testResolveManifest_plainManifestWithFetcher_returnsDirectlyWithoutSecondLeg | 15ms |
| โ | OpenAccessAdapterTests | testResolveManifest_successPath_completesWithJSON | 8ms |
| โ | OverdriveDeferredFulfillmentTests | testDeferFires_whenDownloadFailedWithBorrowAcquisition | 2ms |
| โ | OverdriveDeferredFulfillmentTests | testDeferFires_whenDownloadNeededWithBorrowAcquisition | 2ms |
| โ | OverdriveDeferredFulfillmentTests | testDeferSkipped_whenDefaultAcquisitionIsGeneric | 1ms |
| โ | OverdriveDeferredFulfillmentTests | testDeferSkipped_whenDefaultAcquisitionIsOpenAccess | 1ms |
| โ | OverdriveDeferredFulfillmentTests | testDeferSkipped_whenStateIsHolding | <1ms |
| โ | OverdriveDeferredFulfillmentTests | testDeferSkipped_whenStateIsUnregistered | 2ms |
| โ | OverdriveDownloadHandlerTests | testDeferOverdriveFulfillment_publishesLoanAlreadyExistsBorrowError | 28ms |
| โ | OverdriveDownloadHandlerTests | testHandleOverdriveResponse_completionWithError_failsDownloadAndSkipsManifestBuild | 78ms |
| โ | OverdriveDownloadHandlerTests | testHandleOverdriveResponse_manifestFactoryReturnsNil_failsDownload | 48ms |
| โ | OverdriveDownloadHandlerTests | testHandleOverdriveResponse_missingLocationHeader_failsDownload | 72ms |
| โ | OverdriveDownloadHandlerTests | testHandleOverdriveResponse_uppercaseHeaderKeys_arelowercaseNormalized | 12ms |
| โ | OverdriveDownloadHandlerTests | testHandleOverdriveResponse_validHeaders_buildsManifestRequestAndAddsDownloadTask | 4ms |
| โ | OverdriveDownloadHandlerTests | testProcessOverdriveDownload_whenWifiEnforced_failsWithWifiAndDoesNotCallAPI | 3ms |
| โ | OverdriveDownloadHandlerTests | testProcessOverdriveDownload_withAuthToken_issuesTokenFulfillRequest | 149ms |
| โ | OverdriveDownloadHandlerTests | testProcessOverdriveDownload_withBarcodePin_issuesBasicFulfillRequest | 2ms |
| โ | OverdriveFulfillmentTests | testHttpStatusCode_extractsFromUserInfo_underlyingChain_andNil | 31ms |
| โ | OverdriveFulfillmentTests | testIsResourceUnavailable_flattenedScalars_wrongDomain_returnsFalse | 22ms |
| โ | OverdriveFulfillmentTests | testIsResourceUnavailable_matchesMinus1008_rejectsOffline_timeout_andNil | 3ms |
| โ | OverdriveFulfillmentTests | testIsResourceUnavailable_throughBuildPlaybackFailureRecord_stillTriggers | 3ms |
| โ | OverdriveFulfillmentTests | testOverdriveRefulfillOutcome_landed_terminalFailure_and_keepPolling | 3ms |
| โ | OverdriveFulfillmentTests | testOverdriveRefulfill_401_returnsFalse_authNotExpiry | 2ms |
| โ | OverdriveFulfillmentTests | testOverdriveRefulfill_403_returnsFalse_ambiguousEntitlement | 3ms |
| โ | OverdriveFulfillmentTests | testOverdriveRefulfill_410ButAlreadyAttempted_returnsFalse_bounded | 1ms |
| โ | OverdriveFulfillmentTests | testOverdriveRefulfill_410ButNotOverdrive_returnsFalse | 95ms |
| โ | OverdriveFulfillmentTests | testOverdriveRefulfill_410InUnderlyingError_returnsTrue | 1ms |
| โ | OverdriveFulfillmentTests | testOverdriveRefulfill_410OnOverdriveBook_returnsTrue | 36ms |
| โ | OverdriveFulfillmentTests | testOverdriveRefulfill_noHttpStatus_returnsFalse_conservative | 4ms |
| โ | OverdriveFulfillmentTests | testOverdriveRefulfill_notConnected1009_returnsFalse_offlineIsNotExpiry | 3ms |
| โ | OverdriveFulfillmentTests | testOverdriveRefulfill_resourceUnavailable1008_alreadyAttempted_returnsFalse_bounded | 2ms |
| โ | OverdriveFulfillmentTests | testOverdriveRefulfill_resourceUnavailable1008_flattenedScalars_returnsTrue | 1ms |
| โ | OverdriveFulfillmentTests | testOverdriveRefulfill_resourceUnavailable1008_nestedUnderlying_returnsTrue | 52ms |
| โ | OverdriveFulfillmentTests | testOverdriveRefulfill_resourceUnavailable1008_notOverdrive_returnsFalse | 6ms |
| โ | OverdriveFulfillmentTests | testOverdriveRefulfill_resourceUnavailable1008_topLevel_returnsTrue | 3ms |
| โ | OverdriveFulfillmentTests | testOverdriveRefulfill_timedOut1001_returnsFalse_transientNotExpiry | 79ms |
| โ | OverdriveFulfillmentTests | testRefulfill_freshManifestURL_isConsumedIntoBuiltAudiobook | 525ms |
| โ | OverdriveFulfillmentTests | test_overdriveAudiobook_deferredFulfillment_isUsedWhenStateMatches | 36ms |
| โ | OverdriveFulfillmentTests | test_overdriveOPDSEntry_postBorrow_recognizesBorrowURLAsStale | 6ms |
| โ | OverdriveFulfillmentTests | test_overdriveScope_addsCorrectHeaders | 76ms |
| โ | OverdriveFulfillmentTests | test_overdriveTokenAbsent_fallsBackToBasicAuth | 2ms |
| โ | OverdriveFulfillmentTests | test_overdriveTokenRefresh_beforeOpen | 34ms |
| โ | PDFExtensionsTests | testBookmarkSelector_RoundTrips_AsTPPPDFPageBookmark | 99ms |
| โ | PDFExtensionsTests | testBookmarkSelector_ValidPage_ContainsLocatorPageType | 20ms |
| โ | PDFExtensionsTests | testLocationString_PageZero_ReturnsValidJSON | <1ms |
| โ | PDFExtensionsTests | testLocationString_RoundTrips_WithDecoder | <1ms |
| โ | PDFExtensionsTests | testLocationString_ValidPage_ReturnsJSONString | 1ms |
| โ | PDFExtensionsTests | testPageNumber_EmptyLocationString_ReturnsNil | 9ms |
| โ | PDFExtensionsTests | testPageNumber_InvalidLocationString_ReturnsNil | <1ms |
| โ | PDFExtensionsTests | testPageNumber_LargePageNumber_ReturnsCorrectly | 4ms |
| โ | PDFExtensionsTests | testPageNumber_NonPDFLocationString_ReturnsNil | <1ms |
| โ | PDFExtensionsTests | testPageNumber_PageZero_ReturnsZero | <1ms |
| โ | PDFExtensionsTests | testPageNumber_ValidLocationString_ReturnsPageNumber | 1ms |
| โ | PDFExtensionsTests | testPdfImageRenderingQueue_CreatesNewInstanceEachTime | 2ms |
| โ | PDFExtensionsTests | testPdfImageRenderingQueue_HasCorrectLabel | 2ms |
| โ | PDFExtensionsTests | testPdfPreviewSize_IsLargerThanThumbnail | 1ms |
| โ | PDFExtensionsTests | testPdfPreviewSize_IsSquare | 1ms |
| โ | PDFExtensionsTests | testPdfPreviewSize_ReturnsExpectedDimensions | <1ms |
| โ | PDFExtensionsTests | testPdfThumbnailRenderingQueue_CreatesNewInstanceEachTime | <1ms |
| โ | PDFExtensionsTests | testPdfThumbnailRenderingQueue_HasCorrectLabel | <1ms |
| โ | PDFExtensionsTests | testPdfThumbnailSize_IsSquare | <1ms |
| โ | PDFExtensionsTests | testPdfThumbnailSize_ReturnsExpectedDimensions | 2ms |
| โ | PDFKitThumbnailProviderTests | testCachedThumbnail_isNil_beforeAnyRender | 20ms |
| โ | PDFKitThumbnailProviderTests | testPageCount_reflectsDocument | 3ms |
| โ | PDFKitThumbnailProviderTests | testThumbnail_lastValidPage_renders | 3ms |
| โ | PDFKitThumbnailProviderTests | testThumbnail_outOfBounds_returnsNilAndDoesNotCache | 2ms |
| โ | PDFKitThumbnailProviderTests | testThumbnail_rendersAndCaches | 61ms |
| โ | PDFReaderTests | testLCPPDFBook_ContentType | 139ms |
| โ | PDFReaderTests | testPDFBook_ContentType | 2ms |
| โ | PDFReaderTests | testPDFPageBookmark_ConformsToBookmark | 4ms |
| โ | PDFReaderTests | testPDFPageBookmark_Decoding | 390ms |
| โ | PDFReaderTests | testPDFPageBookmark_Encoding | 5ms |
| โ | PDFReaderTests | testPDFPageBookmark_Initialization | 1ms |
| โ | PDFReaderTests | testPDFPageBookmark_WithAnnotationID | <1ms |
| โ | PDFReaderTests | testPDFPage_Decoding | 3ms |
| โ | PDFReaderTests | testPDFPage_Encoding | 6ms |
| โ | PDFReaderTests | testPDFPage_Initialization | <1ms |
| โ | PDFReaderTests | testPDFPage_RoundTrip | 3ms |
| โ | PDFReaderTests | testReaderMode_Values | <1ms |
| โ | PDFSearchEmptyStateTests | testShowsNoResults_committedQueryWithMatches_hidesEmptyState | 36ms |
| โ | PDFSearchEmptyStateTests | testShowsNoResults_committedQueryWithZeroMatches_showsEmptyState | <1ms |
| โ | PDFSearchEmptyStateTests | testShowsNoResults_shortQuery_neverShowsEmptyState | 365ms |
| โ | PDFSearchEmptyStateTests | testShowsNoResults_thresholdBoundary_isThreeChars | 2ms |
| โ | PP3596RegressionTests | testPP3596_multiplePlaybackStartedCalls_shouldNotOvercount | 566ms |
| โ | PP3596RegressionTests | testPP3596_onlyActualPlaybackIsTracked | 13ms |
| โ | PP3596RegressionTests | testPP3596_playbackStartedWithoutPlayback_shouldNotAccumulateTime | 14ms |
| โ | PalaceCheckPropertyTests | test_BackoffDelay_isNonNegativeAndMonotone | 390ms |
| โ | PalaceCheckPropertyTests | test_BookButtonMapper_map_isTotal_forAllStates | 55ms |
| โ | PalaceCheckPropertyTests | test_OPDS2Publication_jsonRoundTrip | 16ms |
| โ | PalaceCheckPropertyTests | test_TPPBookState_disallowedTransitionsAreRejected | 24ms |
| โ | PalaceCheckPropertyTests | test_TPPBookState_selfTransitionsAlwaysAllowed | 1ms |
| โ | PalaceCheckPropertyTests | test_TPPBookState_unregisteredToDownloadingAllowed | 98ms |
| โ | PalaceCheckPropertyTests | test_TPPBookState_validSequencesRespectTable | 6ms |
| โ | PalaceCheckPropertyTests | test_TPPBook_dictionaryRoundTrip | 64ms |
| โ | PalaceErrorCategoryTests | testAuthenticationError_allCases_haveDescriptions | 1ms |
| โ | PalaceErrorCategoryTests | testBookReaderError_allCases_haveDescriptions | 1ms |
| โ | PalaceErrorCategoryTests | testDownloadError_allCases_haveDescriptions | 1ms |
| โ | PalaceErrorCategoryTests | testErrorCode_authErrors_startAt6000 | 1ms |
| โ | PalaceErrorCategoryTests | testErrorCode_downloadErrors_startAt3000 | 1ms |
| โ | PalaceErrorCategoryTests | testErrorCode_drmErrors_startAt5000 | 13ms |
| โ | PalaceErrorCategoryTests | testErrorCode_networkErrors_startAt1000 | <1ms |
| โ | PalaceErrorCategoryTests | testErrorCode_uniquePerCase | <1ms |
| โ | PalaceErrorCategoryTests | testFromNSError_unknownDomain_mapsToNetworkUnknown | <1ms |
| โ | PalaceErrorCategoryTests | testFromNSError_urlErrorCancelled_mapsToCancelled | <1ms |
| โ | PalaceErrorCategoryTests | testFromNSError_urlErrorNotConnected_mapsToNoConnection | 13ms |
| โ | PalaceErrorCategoryTests | testFromNSError_urlErrorTimedOut_mapsToTimeout | 2ms |
| โ | PalaceErrorCategoryTests | testLocalizedError_conformance | 15ms |
| โ | PalaceErrorCategoryTests | testNetworkError_allCases_haveDescriptions | <1ms |
| โ | PalaceErrorCategoryTests | testOpdsFeedInvalid_errorDescriptionIsUserFacing | <1ms |
| โ | PalaceErrorCategoryTests | testOpdsFeedInvalid_localizedKey_hasPlaceholderEnglishValue | <1ms |
| โ | PalaceErrorCategoryTests | testOpdsFeedInvalid_recoverySuggestionPresent | 1ms |
| โ | PalaceErrorCategoryTests | testRecoverySuggestion_downloadInsufficientSpace | 1ms |
| โ | PalaceErrorCategoryTests | testRecoverySuggestion_networkErrors_provideGuidance | <1ms |
| โ | PalaceErrorCategoryTests | testStorageError_allCases_haveDescriptions | 1ms |
| โ | PalaceErrorExtendedTests | testAudiobookError_allCases_haveDescriptions | 1ms |
| โ | PalaceErrorExtendedTests | testAudiobookError_allCases_haveRecoverySuggestions | 1ms |
| โ | PalaceErrorExtendedTests | testBookRegistryError_allCases_haveDescriptions | <1ms |
| โ | PalaceErrorExtendedTests | testBookRegistryError_allCases_haveRecoverySuggestions | <1ms |
| โ | PalaceErrorExtendedTests | testCancellation_yieldsNoRecoverySuggestionAcrossNetworkAndDownload | 1ms |
| โ | PalaceErrorExtendedTests | testDRMError_allCases_haveDescriptions | 1ms |
| โ | PalaceErrorExtendedTests | testDRMError_allCases_haveRecoverySuggestions | 1ms |
| โ | PalaceErrorExtendedTests | testErrorCode_categoryOffsetsAreUniqueAndStable | 1ms |
| โ | PalaceErrorExtendedTests | testErrorCode_offsetByRawValue | 83ms |
| โ | PalaceErrorExtendedTests | testFromError_palaceErrorPassedDirectly_returnsItself | 1ms |
| โ | PalaceErrorExtendedTests | testFromNSError_palaceDomain_code0_mapsToNetworkUnknown | 16ms |
| โ | PalaceErrorExtendedTests | testFromNSError_palaceDomain_code3_mapsToParsingOpdsFeedInvalid | <1ms |
| โ | PalaceErrorExtendedTests | testFromNSError_palaceDomain_code5_mapsToAuthInvalidCredentials | <1ms |
| โ | PalaceErrorExtendedTests | testFromNSError_palaceDomain_code8_mapsToAudiobookPlaybackError | <1ms |
| โ | PalaceErrorExtendedTests | testFromNSError_palaceDomain_unknownCode_mapsToNetworkUnknown | <1ms |
| โ | PalaceErrorExtendedTests | testFromNSError_urlErrorBadURL_mapsToInvalidURL | 2ms |
| โ | PalaceErrorExtendedTests | testFromNSError_urlErrorCannotConnectToHost_mapsToServerError | <1ms |
| โ | PalaceErrorExtendedTests | testFromNSError_urlErrorCannotFindHost_mapsToServerError | <1ms |
| โ | PalaceErrorExtendedTests | testFromNSError_urlErrorUnsupportedURL_mapsToInvalidURL | <1ms |
| โ | PalaceErrorExtendedTests | testPalaceError_localizedErrorSurface_delegatesToInnerError | <1ms |
| โ | PalaceErrorExtendedTests | testParsingError_allCases_haveDescriptions | <1ms |
| โ | PalaceErrorExtendedTests | testParsingError_contentNotSupported_hasSpecificRecovery | 1ms |
| โ | PalaceErrorExtendedTests | testParsingError_otherCases_haveGenericRecovery | 197ms |
| โ | PalaceErrorTests | testPalaceError_authentication_accountNotFound | <1ms |
| โ | PalaceErrorTests | testPalaceError_authentication_invalidCredentials | 5ms |
| โ | PalaceErrorTests | testPalaceError_authentication_tokenExpired | 60ms |
| โ | PalaceErrorTests | testPalaceError_bookRegistry_alreadyBorrowed | 2ms |
| โ | PalaceErrorTests | testPalaceError_bookRegistry_bookNotFound | 7ms |
| โ | PalaceErrorTests | testPalaceError_download_cannotFulfill | 10ms |
| โ | PalaceErrorTests | testPalaceError_network_forbidden | <1ms |
| โ | PalaceErrorTests | testPalaceError_network_notFound | 1ms |
| โ | PalaceErrorTests | testPalaceError_network_rateLimited | 40ms |
| โ | PalaceErrorTests | testPalaceError_network_serverError | 1.37s |
| โ | PalaceErrorTests | testPalaceError_parsing_opdsFeedInvalid | 9ms |
| โ | PalaceHapticTests | testPalaceHapticModifier_readsInjectedServicePreference | 243ms |
| โ | PalaceHapticTests | testResolvedFeedback_enabled_playsFeedback | 2ms |
| โ | PalaceHapticTests | testResolvedFeedback_preferenceDisabled_suppressed | 2ms |
| โ | PalaceHapticTests | testResolvedFeedback_reduceMotion_suppressed | <1ms |
| โ | PalaceMotionTests | testRadiusTokens_haveExpectedValuesAndOrdering | 2ms |
| โ | PalaceMotionTests | testResolved_nilAnimation_staysNil | 2ms |
| โ | PalaceMotionTests | testResolved_reduceMotionOff_returnsAnimation | 23ms |
| โ | PalaceMotionTests | testResolved_reduceMotionOn_returnsNil | 46ms |
| โ | PalaceMotionTests | testShimmerOffset_centeredAtMidPhase | <1ms |
| โ | PalaceMotionTests | testShimmerOffset_clearsBothEdges | 167ms |
| โ | PalaceMotionTests | testShimmerOffset_movesWithPhase | <1ms |
| โ | PalaceMotionTests | testShouldAnimateContinuously_eitherConditionStops | 2ms |
| โ | PalaceMotionTests | testShouldAnimateContinuously_fullPowerMotionOn_returnsTrue | <1ms |
| โ | PalaceMotionTests | testShouldAnimateContinuously_lowPower_returnsFalse | <1ms |
| โ | PalaceMotionTests | testShouldAnimateContinuously_reduceMotion_returnsFalse | 94ms |
| โ | PalacePDFViewTests | testAllowsCopy_defaultsToTrue | 6ms |
| โ | PalacePDFViewTests | testCanPerformAccessibilityAction_whenAllowsCopyIsFalse_defersToSuper | 7ms |
| โ | PalacePDFViewTests | testCanPerformCopy_whenAllowsCopyIsFalse_returnsFalse | 3ms |
| โ | PalacePDFViewTests | testCanPerformCopy_whenAllowsCopyIsTrue_doesNotShortCircuit | 5ms |
| โ | PalacePDFViewTests | testCanPerformCut_whenAllowsCopyIsFalse_returnsFalse | 6ms |
| โ | PalacePDFViewTests | testCanPerformDefine_whenAllowsCopyIsFalse_returnsFalse | 3ms |
| โ | PalacePDFViewTests | testCanPerformLookup_whenAllowsCopyIsFalse_returnsFalse | 3ms |
| โ | PalacePDFViewTests | testCanPerformNonEditingAction_whenAllowsCopyIsFalse_defersToSuper | 7ms |
| โ | PalacePDFViewTests | testCanPerformPaste_whenAllowsCopyIsFalse_returnsFalse | 35ms |
| โ | PalacePDFViewTests | testCanPerformSelectAll_whenAllowsCopyIsFalse_returnsFalse | 3ms |
| โ | PalacePDFViewTests | testCanPerformShare_whenAllowsCopyIsFalse_returnsFalse | 3ms |
| โ | PalacePDFViewTests | testCanPerformTranslate_whenAllowsCopyIsFalse_returnsFalse | 3ms |
| โ | PalacePreferencesSettingsRoundTripTests | testAccountMainFeedURL_persistsUnderStableKeyAndRoundTrips | 32ms |
| โ | PalacePreferencesSettingsRoundTripTests | testCrashFreeLastSession_defaultsToTrueWhenKeyAbsent | 3ms |
| โ | PalacePreferencesSettingsRoundTripTests | testCrashFreeLastSession_reflectsStoredFalseThenTrue | 7ms |
| โ | PalacePreferencesSettingsRoundTripTests | testCustomMainFeedURL_persistsUnderStableKeyAndRoundTrips | 6ms |
| โ | PalacePreferencesSettingsRoundTripTests | testLastPromptDate_roundTripsThenClearsToNil | 23ms |
| โ | PalacePreferencesSettingsRoundTripTests | testStoredPrefs_persistUnderExactWireKeys | 7ms |
| โ | PalacePreferencesSettingsRoundTripTests | testUnsetDefaults_areEmptyZeroFalseNil | 38ms |
| โ | PalacePreferencesSettingsRoundTripTests | testUseBetaLibraries_persistsUnderStableKey | 8ms |
| โ | PalacePreferencesSettingsRoundTripTests | testWrites_arePersisted_andVisibleToASecondInstance | 9ms |
| โ | PalacePressableButtonStyleTests | testOpacity_pressed_dims | <1ms |
| โ | PalacePressableButtonStyleTests | testOpacity_released_isOpaque | 17ms |
| โ | PalacePressableButtonStyleTests | testPalacePressableConvenience_resolvesToStyle | 1ms |
| โ | PalacePressableButtonStyleTests | testScale_pressedWithMotion_shrinks | <1ms |
| โ | PalacePressableButtonStyleTests | testScale_pressedWithReduceMotion_noShrink | 17ms |
| โ | PalacePressableButtonStyleTests | testScale_released_isFullSize | <1ms |
| โ | PalaceTestSetupObservationTests | testBootstrap_isIdempotent_returnsSameObserver | 1ms |
| โ | PalaceTestSetupObservationTests | testCanary_AppContainerResetForTesting_yieldsCleanGraph | 50ms |
| โ | PalaceTestSetupObservationTests | testTestCaseDidFinish_callsRegistryResettersInRegistrationOrder | 1ms |
| โ | PalaceTestSetupObservationTests | testTestCaseDidFinish_observerCountIncreases_recordsDelta | 229ms |
| โ | PalaceWiringTestCaseTests | testMakeFreshAccountsManager_appliesTestOptOut | 42ms |
| โ | PalaceWiringTestCaseTests | testSetUp_runsAllResetters | 63ms |
| โ | PalaceWiringTestCaseTests | testTearDown_cancelsBackgroundWorkOnRegisteredManagers | 5ms |
| โ | PalaceWiringTestCaseTests | testTearDown_drainsCancellables | 174ms |
| โ | ParserFuzzTests | testFuzz_AnnotationsResponse_NoCrashes | 36.51s |
| โ | ParserFuzzTests | testFuzz_LCPLicense_NoCrashes | 22ms |
| โ | ParserFuzzTests | testFuzz_OPDS1XML_NoCrashes | 154ms |
| โ | ParserFuzzTests | testFuzz_OPDS2JSON_NoCrashes | 10.65s |
| โ | PatronProfileContractTests | testParsePatronProfile_ExtractsDRMInfo | 6ms |
| โ | PatronProfileContractTests | testParsePatronProfile_ExtractsSettings | 4ms |
| โ | PatronProfileContractTests | testParsePatronProfile_HasAnnotationAndDeviceLinks | 1ms |
| โ | PatronProfileContractTests | testParsePatronProfile_HasExpirationDate | 6ms |
| โ | PerformanceMonitorTests | testClearAll | 8ms |
| โ | PerformanceMonitorTests | testEmptyReport | 35ms |
| โ | PerformanceMonitorTests | testEndTimingSameTokenTwice | 9ms |
| โ | PerformanceMonitorTests | testEndTimingWithInvalidToken | 63ms |
| โ | PerformanceMonitorTests | testGenerateReport | 7ms |
| โ | PerformanceMonitorTests | testMaxMetricsPerCategoryEnforced | 11ms |
| โ | PerformanceMonitorTests | testMetricPublisherEmits | 17ms |
| โ | PerformanceMonitorTests | testMetricsGroupedByCategory | 3ms |
| โ | PerformanceMonitorTests | testPercentileCalculations | 5ms |
| โ | PerformanceMonitorTests | testRecordDurationDirectly | 13ms |
| โ | PerformanceMonitorTests | testRecordMetricDirectly | 7ms |
| โ | PerformanceMonitorTests | testReportByName | 3ms |
| โ | PerformanceMonitorTests | testReportSummaryFormat | 4ms |
| โ | PerformanceMonitorTests | testStartAndEndTiming | 76ms |
| โ | PerformanceReportTests | testEmptyMetrics_ReturnsZeros | <1ms |
| โ | PerformanceReportTests | testLargeDataset_PercentileAccuracy | 1ms |
| โ | PerformanceReportTests | testMinMaxMean | 26ms |
| โ | PerformanceReportTests | testMinMaxMean_UnsortedInput | 108ms |
| โ | PerformanceReportTests | testPercentile_P50_EvenCount | <1ms |
| โ | PerformanceReportTests | testPercentile_P50_OddCount | <1ms |
| โ | PerformanceReportTests | testPercentile_P95 | <1ms |
| โ | PerformanceReportTests | testPercentile_P99 | <1ms |
| โ | PerformanceReportTests | testReport_EmptyMonitor_ZeroMeasurements | 3ms |
| โ | PerformanceReportTests | testReport_StatisticsByCategory | 2ms |
| โ | PerformanceReportTests | testReport_StatisticsByName | 5ms |
| โ | PerformanceReportTests | testReport_SummaryContainsMeasurementCount | 1ms |
| โ | PerformanceReportTests | testReport_TotalMeasurements | 2ms |
| โ | PerformanceReportTests | testSingleMetric_AllPercentilesEqual | 23ms |
| โ | PersistentLoggerTests | testClearLogs_removesAllRotatedFiles | 547ms |
| โ | PersistentLoggerTests | testInit_withCustomLogsRoot_writesToProvidedDirectory | 8ms |
| โ | PersistentLoggerTests | testLog_andRetrieve_containsLoggedMessage | 27ms |
| โ | PersistentLoggerTests | testLog_containsTimestamp | 4ms |
| โ | PersistentLoggerTests | testLog_errorLevel_isRecorded | 7ms |
| โ | PersistentLoggerTests | testLog_faultLevel_isRecorded | 12ms |
| โ | PersistentLoggerTests | testLog_multipleEntries_allAppear | 20ms |
| โ | PersistentLoggerTests | testLog_rotatesAtMaxFileSize | 895ms |
| โ | PersistentLoggerTests | testRetrieveAllLogs_includesActiveFileHeaderExactlyOnce | 7ms |
| โ | PlaybackBootstrapperAudioSessionTests | testPlaybackBootstrapper_ensureInitialized_isIdempotent_doesNotRedispatch | 10ms |
| โ | PlaybackBootstrapperAudioSessionTests | testPlaybackBootstrapper_launch_defersAudioSession_keepsRemoteCommands | 169ms |
| โ | PlaybackBootstrapperTests | testAudiobookSessionManager_InitialState_IsIdle | 20ms |
| โ | PlaybackBootstrapperTests | testAudiobookSessionState_ErrorIsNotActive | 10ms |
| โ | PlaybackBootstrapperTests | testAudiobookSessionState_IdleIsNotActive | 10ms |
| โ | PlaybackBootstrapperTests | testAudiobookSessionState_LoadingIsActive | 14ms |
| โ | PlaybackBootstrapperTests | testAudiobookSessionState_PausedIsActive | 31ms |
| โ | PlaybackBootstrapperTests | testAudiobookSessionState_PlayingIsActive | 126ms |
| โ | PlaybackBootstrapperTests | testPlaybackBootstrapper_ConfiguresRemoteCommandCenter | 100ms |
| โ | PlaybackBootstrapperTests | testPlaybackBootstrapper_SkipIntervals_AreConfigured | 79ms |
| โ | PlaybackFailureRecordTests | testRecord_LocalizedDescriptionPrefixed | <1ms |
| โ | PlaybackFailureRecordTests | testRecord_NilBookId_FallsBackToUnknown | 2ms |
| โ | PlaybackFailureRecordTests | testRecord_NilError_RecordsBookIdAndDefaultCode | <1ms |
| โ | PlaybackFailureRecordTests | testRecord_OnlyAllowedSubKeysPropagate_BlocksAccidentalLeakage | 3ms |
| โ | PlaybackFailureRecordTests | testRecord_OpenAccess403_PreservesHttpStatusAndUrl | <1ms |
| โ | PlaybackOpenPolicyTests | testDecideForLoad_nilDecryptor_keepsGate | <1ms |
| โ | PlaybackOpenPolicyTests | testDecideForLoad_nonNilDecryptor_bypassesGate | 28ms |
| โ | PlaybackOpenPolicyTests | testDecide_lcpAudiobook_bypassesReadinessGate | <1ms |
| โ | PlaybackOpenPolicyTests | testDecide_nonLCPAudiobook_keepsReadinessGate | 50ms |
| โ | PlaybackOpenPolicyTests | testDecide_predicates_areIndependent | <1ms |
| โ | PlaybackOpenPolicyTests | testDecide_reBorrowOfSameBook_doesNotPersistFinalPosition | <1ms |
| โ | PlaybackOpenPolicyTests | testDecide_switchToDifferentBook_persistsFinalPosition | <1ms |
| โ | PlaybackRateTests | testAccessibleDescription_FastestIsNowTripleTime_Not2x | 4ms |
| โ | PlaybackRateTests | testConvert_IntermediateCases_ReturnCorrectMultipliers | <1ms |
| โ | PlaybackRateTests | testConvert_PresetCases_ReturnCorrectMultipliers | 2ms |
| โ | PlaybackRateTests | testFormatMultiplier_OneDecimalPlace_ShowsOneDecimalPlace | 28ms |
| โ | PlaybackRateTests | testFormatMultiplier_TwoDecimalPlaces_ShowsTwoDecimalPlaces | 169ms |
| โ | PlaybackRateTests | testFormatMultiplier_WholeNumber_ShowsOneDecimalPlace | 288ms |
| โ | PlaybackRateTests | testFormatMultiplier_allStepsProduceLabelEndingWithMultiplySign | 2ms |
| โ | PlaybackRateTests | testNearest_ExactIntermediateValues_ReturnExactCase | 2ms |
| โ | PlaybackRateTests | testNearest_ExactPresetValues_ReturnExactCase | 3ms |
| โ | PlaybackRateTests | testNearest_ValueBetweenSteps_SnapsToNearest | 86ms |
| โ | PlaybackRateTests | testNearest_clampsOutOfRangeValuesToBounds | 2ms |
| โ | PlaybackRateTests | testPresets_DoesNotContainOtherIntermediateCases | <1ms |
| โ | PlaybackRateTests | testPresets_DropOld0p75And1p2Chips_ButCasesStillReachable | 199ms |
| โ | PlaybackRateTests | testPresets_MultipliersAreEven0p5StepsFrom0p5To3p0 | 2ms |
| โ | PlaybackRateTests | testPresets_SlowChipIs0p5_AndTwoChipsExceed2x | 1ms |
| โ | PlaybackRateTests | testPresets_isExactly_0p5_1p0_1p5_2p0_2p5_3p0_inAscendingOrder | 2ms |
| โ | PlaybackRateTests | testRawValueRoundTrip_BoundaryAndAbove2xCases | <1ms |
| โ | PlaybackRateTests | testSteps_isMonotonicLadderFromHalfToTripleIn0Point05Increments | 1ms |
| โ | PlaybackTrackingRegressionTests | testMultiplePlaybackStartedCalls_doesNotOvercount | 4ms |
| โ | PlaybackTrackingRegressionTests | testMultipleStopStartCycles_preservesAllTime | 18ms |
| โ | PlaybackTrackingRegressionTests | testPlaybackStopped_savesAccumulatedTime | 5ms |
| โ | PlaybackTrackingRegressionTests | testRapidStartStopCycles_countsCorrectly | 37ms |
| โ | PlaybackTrackingRegressionTests | testSleepTimerPause_savesAllAccumulatedTime | 25ms |
| โ | PoolResponsivenessProbeTests | testAssertRuntimeResponsiveAsync_realProbeOnCleanPool_isResponsive | 44ms |
| โ | PoolResponsivenessProbeTests | testAssertRuntimeResponsive_healthyStub_recordsNoFailure | 19ms |
| โ | PoolResponsivenessProbeTests | testAssertRuntimeResponsive_realProbeOnCleanPool_isResponsive | 19ms |
| โ | PoolResponsivenessProbeTests | testAssertRuntimeResponsive_saturatedStub_recordsAttributedFailure | 364ms |
| โ | PoolResponsivenessProbeTests | testEnforcesPoolResponsiveness_isOffByDefault | 17ms |
| โ | PositionPersistenceLogicTests | testCriticalSave_onTermination_mustBypassSuppression | <1ms |
| โ | PositionPersistenceLogicTests | testNewPersistLocation_bypassesSuppression | 12ms |
| โ | PositionPersistenceLogicTests | testNoSuppression_allowsSave | <1ms |
| โ | PositionPersistenceLogicTests | testOldBehavior_suppressionBlocksSave | <1ms |
| โ | PositionPersistenceLogicTests | testSuppressionExpired_allowsSave | <1ms |
| โ | PositionPersistenceLogicTests | testSuppressionWindow_threeSeconds_blocksAndThenAllows | <1ms |
| โ | PositionPersistenceTests | testBookRegistry_setLocation_updatesPosition | 1ms |
| โ | PositionPersistenceTests | testBookRegistry_storesLocation | 2ms |
| โ | PositionSyncServiceTests | testClearAll | 7ms |
| โ | PositionSyncServiceTests | testClearPositionsForBook | 21ms |
| โ | PositionSyncServiceTests | testLatestPositionAnyFormat | 51ms |
| โ | PositionSyncServiceTests | testNoSyncOfferForUnknownBook | 6ms |
| โ | PositionSyncServiceTests | testNoSyncOfferWhenCurrentFormatIsMoreRecent | 28ms |
| โ | PositionSyncServiceTests | testPersistenceAcrossInstances | 10ms |
| โ | PositionSyncServiceTests | testPositionRecordedEventPublished | 8ms |
| โ | PositionSyncServiceTests | testRecordAudiobookPosition | 4ms |
| โ | PositionSyncServiceTests | testRecordEpubPosition | 11ms |
| โ | PositionSyncServiceTests | testRecordPdfPosition | 4ms |
| โ | PositionSyncServiceTests | testSetAndRetrieveMapping | 17ms |
| โ | PositionSyncServiceTests | testSyncAvailableEventPublished | 38ms |
| โ | PositionSyncServiceTests | testSyncOfferWhenOtherFormatIsMoreRecent | 58ms |
| โ | PositionSyncTests | testSyncIsPossibleAndPermitted_checksSyncState | 3ms |
| โ | PositionSyncTests | testTPPBookLocation_creation | <1ms |
| โ | PositionSyncTests | testTPPBookLocation_equality | <1ms |
| โ | PositionSyncTests | testTPPBookLocation_withEmptyString_createsLocation | <1ms |
| โ | PositionSyncTests | testTPPBookmarkR3Location_storesResourceIndex | 1ms |
| โ | PositionWriterContractTests | test_backgroundTask_postCompletes_aroundNetworkPost | 35ms |
| โ | PositionWriterContractTests | test_cancel_clearsState_thenSaveAgainPostsImmediately | 23ms |
| โ | PositionWriterContractTests | test_load_callsFetch | 157ms |
| โ | PositionWriterContractTests | test_save_firstSnapshot_postsImmediately | 7ms |
| โ | PositionWriterContractTests | test_save_secondWithinThrottle_queuesAndReturnsNil | 67ms |
| โ | PositionWriterContractTests | test_save_throttleElapsed_postsQueued | 421ms |
| โ | PostUpdateMigrationTests | testMigrate_doesNotCrash | 3ms |
| โ | PostUpdateMigrationTests | testMigrate_updatesStoredVersion | 1ms |
| โ | PostUpdateMigrationTests | testPostUpdateDetection_differentBuild_isDetected | 3ms |
| โ | PostUpdateMigrationTests | testPostUpdateDetection_firstLaunch_isNotUpdate | 382ms |
| โ | PostUpdateMigrationTests | testPostUpdateDetection_sameBuild_isNotDetected | 4ms |
| โ | ProblemDocumentContractTests | testAllProblemDocuments_Parse | 4ms |
| โ | ProblemDocumentContractTests | testAllProblemTypes_HaveDistinctTypeURIs | 2ms |
| โ | ProblemDocumentContractTests | testInvalidCredentials_HasExpectedShape | 1ms |
| โ | ProblemDocumentContractTests | testLoanLimitReached_HasExpectedShape | <1ms |
| โ | ProblemDocumentLoanExpiryTests | testDetailLoanTermLimitReached_detectedInRealServerDetail | <1ms |
| โ | ProblemDocumentLoanExpiryTests | testDetailLoanTermLimitReached_hasExpectedValue | 2ms |
| โ | ProblemDocumentLoanExpiryTests | testDetailLoanTermLimitReached_notDetectedInUnrelatedDetail | <1ms |
| โ | ProblemDocumentLoanExpiryTests | testLoanTermLimitReached_detectedFromErrorDictionary | <1ms |
| โ | ProblemDocumentLoanExpiryTests | testNoActiveLoan_doesNotMatchTermLimitCheck | <1ms |
| โ | ProblemDocumentTests | testBorrowError_credentialsSuspended_extractsDetails | <1ms |
| โ | ProblemDocumentTests | testBorrowError_loanLimitReached_extractsDetails | 15ms |
| โ | ProblemDocumentTests | testNSError_problemDocument_extractsCorrectly | <1ms |
| โ | ProblemDocumentTests | testNSError_withoutProblemDocument_hasNilProperties | <1ms |
| โ | ProblemDocumentTests | testProblemDocumentTypes_areCorrect | 3ms |
| โ | ProblemDocumentTests | testProblemDocument_fromData_parsesCorrectly | 1ms |
| โ | ProblemDocumentTests | testProblemDocument_fromDictionary_parsesCorrectly | 2ms |
| โ | ProblemDocumentTests | testProblemDocument_fromResponseError_extractsFromNSError | 3ms |
| โ | ProblemDocumentTests | testProblemDocument_fromResponseError_fallsBackToData | <1ms |
| โ | ProblemDocumentTests | testProblemDocument_fromResponseError_returnsNilWhenNoDocument | 19ms |
| โ | ProblemDocumentTests | testProblemDocument_stringValue_combinesTitleAndDetail | <1ms |
| โ | ProblemDocumentTests | testProblemDocument_stringValue_handlesMissingTitle | 3ms |
| โ | ProblemReportEmailTests | testGenerateBody_containsDeviceIdiom | 1ms |
| โ | ProblemReportEmailTests | testGenerateBody_includesEnvironmentFieldsInExpectedStructure | 2ms |
| โ | ProblemReportEmailTests | testGenerateBody_withBook_containsBookInfo | 3ms |
| โ | ProblemReportEmailTests | testGenerateBody_withoutBook_doesNotContainBookInfo | 1ms |
| โ | ProblemReportEmailTests | testPP3651_generateBody_doesNotLeakOtherLibrarysPatronIDWhenNilPassed | <1ms |
| โ | ProblemReportEmailTests | testPP3651_generateBody_includesPatronIDOnlyWhenProvided | <1ms |
| โ | ProblemReportEmailTests | testPP3651_generateBody_patronID_appearsAfterSeparator | 1ms |
| โ | ProblemReportEmailTests | testPP3651_generateBody_withBookAndPatronID_containsBothBookAndPatronInfo | 4ms |
| โ | ProblemReportEmailTests | testPP5078_generateBody_neverEmitsABareLibraryLine | 2ms |
| โ | ProblemReportEmailTests | testPP5078_generateBody_usesLibraryNameWhenKnown | <1ms |
| โ | ProblemReportEmailTests | testPP5078_libraryFieldValue_distinguishesItsThreeOutcomes | 68ms |
| โ | RatingCardMotionGateTests | testCardTransition_tracksScaleGate_bothDirections | 1.51s |
| โ | RatingCardMotionGateTests | testStepAnimation_reduceMotionOff_usesEmphasizedSpring | <1ms |
| โ | RatingCardMotionGateTests | testStepAnimation_reduceMotionOn_isNil | 91ms |
| โ | RatingCardMotionGateTests | testUsesScaleTransition_reduceMotionOff_scales | 1ms |
| โ | RatingCardMotionGateTests | testUsesScaleTransition_reduceMotionOn_dropsScale | <1ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_afterCrashingSession_isNotEligible | 31ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_allCriteriaMet_isEligible | <1ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_booksExactlyAtMinimum_isEligible | <1ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_clockMovedBackwardsPastLastPrompt_isNotEligible | <1ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_displayCountAboveCap_isNotEligible | <1ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_displayCountAtCap_isNotEligible | 22ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_displayCountBelowCap_isEligible | <1ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_exactlyAtCooldownBoundary_isEligible | <1ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_neverPrompted_ignoresCooldown | 37ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_noBooksCompleted_isNotEligible | <1ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_onFirstSession_isNotEligible | <1ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_respectsRemoteThresholds | <1ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_sessionsBelowMinimum_isNotEligible | 1ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_sessionsExactlyAtMinimum_isEligible | <1ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_wellPastCooldown_isEligible | 12ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_whenOptedOut_isNotEligible | 2ms |
| โ | RatingEligibilityPolicyTests | testEvaluate_withinCooldown_isNotEligible | <1ms |
| โ | RatingEngagementTrackerTests | testCurrentState_freshInstall_hasZeroCountsAndIsFirstSession | 25ms |
| โ | RatingEngagementTrackerTests | testRecordBookCompleted_incrementsCount | 3ms |
| โ | RatingEngagementTrackerTests | testRecordDismissal_incrementsDismissalCount | 5ms |
| โ | RatingEngagementTrackerTests | testRecordOptOut_setsOptedOut | 3ms |
| โ | RatingEngagementTrackerTests | testRecordPromptShown_stampsDateAndIncrementsDisplayCount | 7ms |
| โ | RatingEngagementTrackerTests | testRecordSession_calledTwice_accumulatesAndIsNoLongerFirstSession | 3ms |
| โ | RatingEngagementTrackerTests | testRecordSession_incrementsSessionCountAndStoresCrashSignal | 3ms |
| โ | RatingEngagementTrackerTests | testRecordSession_updatesCrashSignalEachSession | 4ms |
| โ | RatingEngagementTrackerTests | testState_survivesAppUpdate_viaPersistentDefaults | 5ms |
| โ | RatingFeedbackPresenterTests | testDefaultInit_wiresComposerToPalaceSupportAddress | 52ms |
| โ | RatingFeedbackPresenterTests | testPresentFeedback_composesToSupportFromTopViewController | 3ms |
| โ | RatingFeedbackPresenterTests | testPresentFeedback_withNoTopViewController_isSafeNoOp | 2ms |
| โ | RatingPromptPresenterTests | testConfirmFeedback_onSentimentStep_isNoOp | 6ms |
| โ | RatingPromptPresenterTests | testConfirmFeedback_presentsFeedbackNotAppStore | 10ms |
| โ | RatingPromptPresenterTests | testDeclineFeedback_dismissesWithoutPresenting | 14ms |
| โ | RatingPromptPresenterTests | testDeferralBudget_isBounded_whileTheModalStaysUp | 9ms |
| โ | RatingPromptPresenterTests | testDeferralBudget_isRestoredForEachNewTrigger | 21ms |
| โ | RatingPromptPresenterTests | testDeferralBudget_newTriggerDuringTheReArmWindow_isNotClobbered | 40ms |
| โ | RatingPromptPresenterTests | testDismiss_onFeedbackFollowup_behavesAsDecline | 8ms |
| โ | RatingPromptPresenterTests | testDismiss_onSentiment_behavesAsAskLater | 8ms |
| โ | RatingPromptPresenterTests | testHandleTrigger_whenAlreadyShowing_doesNotReshowOrRestamp | 12ms |
| โ | RatingPromptPresenterTests | testHandleTrigger_whenEligible_showsSentimentAndStampsDisplay | 27ms |
| โ | RatingPromptPresenterTests | testHandleTrigger_whenIneligible_showsNothing | 2ms |
| โ | RatingPromptPresenterTests | testHandleTrigger_whileModalPresented_doesNotShowGate | 1ms |
| โ | RatingPromptPresenterTests | testHandleTrigger_whileModalPresented_doesNotStampTheDisplay | 2ms |
| โ | RatingPromptPresenterTests | testHandleTrigger_withNoModal_stillShowsGate | 10ms |
| โ | RatingPromptPresenterTests | testNoteBookCompleted_recordsCompletionThenSchedulesGate | 13ms |
| โ | RatingPromptPresenterTests | testNoteBookCompleted_whenIneligible_recordsButShowsNoGate | 618ms |
| โ | RatingPromptPresenterTests | testNoteBorrowSucceeded_schedulesGateWithoutRecordingCompletion | 7ms |
| โ | RatingPromptPresenterTests | testRespondAskLater_dismissesWithoutActionOrDismissalCount | 6ms |
| โ | RatingPromptPresenterTests | testRespondNegative_recordsDismissalAndShowsFeedbackFollowup | 13ms |
| โ | RatingPromptPresenterTests | testRespondPositive_requestsReviewAndDismisses | 36ms |
| โ | RatingPromptPresenterTests | testRespondPositive_whenNothingShown_isNoOp | 1ms |
| โ | ReachabilityTests | testDetailedStatus_expensiveAndConstrained_appendBothFlags | 284ms |
| โ | ReachabilityTests | testDetailedStatus_expensiveOnly_appendsExpensiveNotConstrained | 468ms |
| โ | ReachabilityTests | testDetailedStatus_requiresConnection_reportsPending | 1ms |
| โ | ReachabilityTests | testDetailedStatus_satisfiedCellular_reportsConnectedViaCellular | <1ms |
| โ | ReachabilityTests | testDetailedStatus_satisfiedEthernet_reportsConnectedViaEthernet | 1ms |
| โ | ReachabilityTests | testDetailedStatus_satisfiedUnknownInterface_reportsUnknownType | <1ms |
| โ | ReachabilityTests | testDetailedStatus_satisfiedWiFi_reportsConnectedViaWiFi | <1ms |
| โ | ReachabilityTests | testDetailedStatus_unsatisfied_reportsNoConnection | 2ms |
| โ | ReachabilityTests | testDetailedStatus_wifiTakesPrecedenceOverCellular | <1ms |
| โ | ReachabilityTests | testGetDetailedConnectivityStatus_returnsNonEmptyFields | 314ms |
| โ | Reader2BookmarkContractTests | test_bookmarkDelete_removesFromRegistry_thenAnnotationsDelete | 7ms |
| โ | Reader2BookmarkContractTests | test_bookmarkSave_locatorFactoryRejects_doesNotEnqueueAnnotation | 5ms |
| โ | Reader2BookmarkContractTests | test_bookmarkSave_writesToRegistry_thenAnnotations | 16ms |
| โ | Reader2PositionAdapterContractTests | test_epubPoster_storeReadPosition_serializesLocator_callsWriterSave | 163ms |
| โ | Reader2PositionAdapterContractTests | test_epubSynchronizer_sync_remoteDifferentDevice_loadsThenReturns | 130ms |
| โ | Reader2PositionAdapterContractTests | test_epubSynchronizer_sync_sameDevice_returnsNil | 261ms |
| โ | Reader2PositionAdapterContractTests | test_pdf_setCurrentPage_callsRegistryThenWriter | 154ms |
| โ | Reader2PositionResumeContractTests | test_positionSave_writesRegistryThenSyncQueue | 120ms |
| โ | Reader2PositionResumeContractTests | test_readerResume_loadsRegistryThenSynchronizer | 4ms |
| โ | Reader2PositionResumeContractTests | test_readerResume_synchronizerSamePayload_noopShortCircuits | 10ms |
| โ | ReaderAccessibilityTests | testBookmarkToggleLabels_areDistinctAndDescriptive | 152ms |
| โ | ReaderAccessibilityTests | testBookmarksTabLabel_isDescriptive | 137ms |
| โ | ReaderAccessibilityTests | testChapterNavigationLabels_areDistinct | <1ms |
| โ | ReaderAccessibilityTests | testCloseSampleLabel_isDescriptive | <1ms |
| โ | ReaderAccessibilityTests | testPDFPickerSegmentLabels_areDistinct | 2ms |
| โ | ReaderAccessibilityTests | testPagePreviewsLabel_isDescriptive | 234ms |
| โ | ReaderAccessibilityTests | testTableOfContentsLabel_isDescriptive | <1ms |
| โ | ReaderChromeToggleFadeTests | test_overlayLabelsHidden_flipsWithBarState | 339ms |
| โ | ReaderChromeToggleFadeTests | test_overlayLabelsHidden_truthTable | <1ms |
| โ | ReaderChromeToggleFadeTests | test_shouldAnimateBookmarkBounce_respectsReduceMotion | <1ms |
| โ | ReaderEditingActionsTests | testResolve_appendsCustomActions_forNonDRMBook | <1ms |
| โ | ReaderEditingActionsTests | testResolve_returnsDefaultActions_forNonDRMBook | 5ms |
| โ | ReaderEditingActionsTests | testResolve_returnsEmpty_forDRMBook | <1ms |
| โ | ReaderEditingActionsTests | testResolve_returnsEmpty_forDRMBook_evenWithCustomActions | 10ms |
| โ | ReaderEditingActionsTests | testResolve_treatsSampleOfDRMBook_asNonDRM | 1ms |
| โ | ReaderErrorTests | testEpubNotValid_conformsToLocalizedError | <1ms |
| โ | ReaderErrorTests | testEpubNotValid_hasErrorDescription | 1ms |
| โ | ReaderErrorTests | testErrors_haveDifferentDescriptions | <1ms |
| โ | ReaderErrorTests | testFormatNotSupported_conformsToLocalizedError | <1ms |
| โ | ReaderErrorTests | testFormatNotSupported_hasErrorDescription | 2ms |
| โ | ReaderNavBarVoiceOverTests | testUpdateNavigationBar_keepsNavBarVisibleWhenVoiceOverIsRunning | 3ms |
| โ | ReaderNavBarVoiceOverTests | testViewDidAppear_reAppliesNavBarVisibilityWhenVoiceOverIsRunning | 2ms |
| โ | ReaderPageOfFormatTests | testCarriesTwoPositionalOperandsSoATranslationMayReorderThem | <1ms |
| โ | ReaderPageOfFormatTests | testDoesNotEndInASeparatorAwaitingConcatenation | 58ms |
| โ | ReaderPageOfFormatTests | testRendersBothOperands | 2ms |
| โ | ReaderServicePDFRouteTests | testPDFOpenRoute_nestedMarketplaceLCPPDF_routesLCP | 106ms |
| โ | ReaderServicePDFRouteTests | testPDFOpenRoute_plainPDF_routesPlain | 45ms |
| โ | ReaderServicePDFRouteTests | testPDFOpenRoute_topLevelLCPPDF_routesLCP | 1ms |
| โ | ReaderServiceRouteOwnershipTests | testIsSupersededOpen_AfterTeardown_OldGenerationIsSuperseded | <1ms |
| โ | ReaderServiceRouteOwnershipTests | testIsSupersededOpen_GenerationUnchanged_IsNotSuperseded | 96ms |
| โ | ReaderServiceRouteOwnershipTests | testIsSupersededOpen_IsScopedToTheBook | 4ms |
| โ | ReaderServiceRouteOwnershipTests | testPopRouteIfStillOwned_EmptyPath_DoesNotPop | 102ms |
| โ | ReaderServiceRouteOwnershipTests | testPopRouteIfStillOwned_NoCoordinator_DoesNothing | 1ms |
| โ | ReaderServiceRouteOwnershipTests | testPopRouteIfStillOwned_PatronBackedOutAndPushedTheirOwn_DoesNotPop | 2ms |
| โ | ReaderServiceRouteOwnershipTests | testPopRouteIfStillOwned_PendingForAnotherBook_DoesNotPop | <1ms |
| โ | ReaderServiceRouteOwnershipTests | testPopRouteIfStillOwned_RouteStillPending_PopsIt | 101ms |
| โ | ReaderServiceSyncTests | testLastReadPositionSynchronizer_canBeCreated | 11ms |
| โ | ReaderServiceSyncTests | testLastReadPositionSynchronizer_syncDoesNotCrash_withDeviceID | 9ms |
| โ | ReaderServiceSyncTests | testLastReadPositionSynchronizer_syncReturns_whenNoServerPosition | 7ms |
| โ | ReaderThemeTests | testAllCases_containsExactly5Themes | <1ms |
| โ | ReaderThemeTests | testAllCases_containsExpectedThemes | 2ms |
| โ | ReaderThemeTests | testAllThemes_haveCSSHexBackgrounds | <1ms |
| โ | ReaderThemeTests | testAllThemes_haveCSSHexTextColors | <1ms |
| โ | ReaderThemeTests | testAllThemes_haveValidBackgroundColors | <1ms |
| โ | ReaderThemeTests | testAllThemes_haveValidTextColors | 2ms |
| โ | ReaderThemeTests | testCSSHex_matchesExpectedFormat | 3ms |
| โ | ReaderThemeTests | testCodable_preservesAllProperties | <1ms |
| โ | ReaderThemeTests | testCodable_roundTrip | <1ms |
| โ | ReaderThemeTests | testDarkTheme_darkBackground | 91ms |
| โ | ReaderThemeTests | testDarkTheme_hasDarkBackground | 4ms |
| โ | ReaderThemeTests | testDarkTheme_hasLightText | <1ms |
| โ | ReaderThemeTests | testEachThemeID_isUnique | 11ms |
| โ | ReaderThemeTests | testEquatable_differentThemesAreNotEqual | <1ms |
| โ | ReaderThemeTests | testEquatable_sameThemesAreEqual | 190ms |
| โ | ReaderThemeTests | testLightTheme_hasDarkText | 3ms |
| โ | ReaderThemeTests | testLightTheme_hasLightBackground | <1ms |
| โ | ReaderThemeTests | testLightTheme_whiteBackground | <1ms |
| โ | ReaderThemeTests | testNightTheme_hasDarkBackground | <1ms |
| โ | ReaderThemeTests | testNightTheme_hasLightText | <1ms |
| โ | ReaderThemeTests | testNightTheme_nearBlackBackground | <1ms |
| โ | ReaderThemeTests | testSepiaTheme_hasDarkText | 1ms |
| โ | ReaderThemeTests | testSepiaTheme_hasLightBackground | 28ms |
| โ | ReaderThemeTests | testSolarizedTheme_hasLightBackground | 14ms |
| โ | ReadingPositionTests | testAudiobookPosition_CodableRoundTrip | 4ms |
| โ | ReadingPositionTests | testAudiobookPosition_NegativeTimeOffset_ClampedToZero | <1ms |
| โ | ReadingPositionTests | testAudiobookPosition_SetsFormatAndFields | 100ms |
| โ | ReadingPositionTests | testAudiobookPosition_ZeroTimeOffset | 28ms |
| โ | ReadingPositionTests | testDeviceID_IsPopulated | 23ms |
| โ | ReadingPositionTests | testDisplayDescription_Audiobook | 32ms |
| โ | ReadingPositionTests | testDisplayDescription_Epub | 3ms |
| โ | ReadingPositionTests | testDisplayDescription_Pdf | <1ms |
| โ | ReadingPositionTests | testEpubPosition_CodableRoundTrip | <1ms |
| โ | ReadingPositionTests | testEpubPosition_ProgressBoundary0 | <1ms |
| โ | ReadingPositionTests | testEpubPosition_ProgressBoundary1 | 23ms |
| โ | ReadingPositionTests | testEpubPosition_ProgressClampedAbove1 | 31ms |
| โ | ReadingPositionTests | testEpubPosition_ProgressClampedBelow0 | <1ms |
| โ | ReadingPositionTests | testEpubPosition_SetsFormatAndFields | <1ms |
| โ | ReadingPositionTests | testEquality_DifferentChapter_NotEqual | <1ms |
| โ | ReadingPositionTests | testEquality_DifferentFormat_NotEqual | <1ms |
| โ | ReadingPositionTests | testEquality_SamePosition | 1ms |
| โ | ReadingPositionTests | testPdfPosition_CodableRoundTrip | 1ms |
| โ | ReadingPositionTests | testPdfPosition_NegativePageNumber_ClampedTo1 | <1ms |
| โ | ReadingPositionTests | testPdfPosition_PageNumberClampedToMinimum1 | <1ms |
| โ | ReadingPositionTests | testPdfPosition_SetsFormatAndFields | 1ms |
| โ | ReadingPositionTests | testReadingFormat_CodableRoundTrip | 64ms |
| โ | RedirectHandlingIntegrationTests | testRedirect_attemptsCleared_afterCompletion | 3ms |
| โ | RedirectHandlingIntegrationTests | testRedirect_httpsToHttp_blockedForSecurity | 24ms |
| โ | RedirectHandlingIntegrationTests | testRedirect_httpsToHttps_allowed | 1ms |
| โ | RedirectHandlingIntegrationTests | testRedirect_maxAttempts_enforced | 241ms |
| โ | RedirectPolicyTests | testDecide_AboveMax_StillReturnsNil | 2ms |
| โ | RedirectPolicyTests | testDecide_AtMaxAttempts_ReturnsNilAndDoesNotIncrement | 2ms |
| โ | RedirectPolicyTests | testDecide_CounterIsPerTask | 3ms |
| โ | RedirectPolicyTests | testDecide_CustomMaxAttempts_Honored | 3ms |
| โ | RedirectPolicyTests | testDecide_HTTPSToHTTPS_Allowed | 5ms |
| โ | RedirectPolicyTests | testDecide_HTTPSToHTTP_ReturnsNilButHasIncremented | 86ms |
| โ | RedirectPolicyTests | testDecide_HTTPToAnything_NotADowngrade | 39ms |
| โ | RedirectPolicyTests | testDecide_NilOriginalScheme_NotTreatedAsDowngrade | 3ms |
| โ | RedirectPolicyTests | testDecide_OneBelowMax_AllowsAndIncrements | 5ms |
| โ | RegistryDownloadServicingSeamTests | testContentFileSatisfied_reflectsContentFileExistence | 58ms |
| โ | RegistryDownloadServicingSeamTests | testContentPresence_licenseOnlyLCPAudiobook_streamingOnReportsPresent | 12ms |
| โ | RegistryDownloadServicingSeamTests | testLcpContentFileMissing_nonLCPBook_isFalse | 687ms |
| โ | RegistryFileRecoveryTests | testBackupURL_appendsBakExtension | 1ms |
| โ | RegistryFileRecoveryTests | testClassify_jsonArrayAtRoot_isCorrupt | 3ms |
| โ | RegistryFileRecoveryTests | testClassify_jsonObjectMissingRecordsArray_isCorrupt | 3ms |
| โ | RegistryFileRecoveryTests | testClassify_nilData_isEmpty | 708ms |
| โ | RegistryFileRecoveryTests | testClassify_unparseableJSON_isCorrupt | 1ms |
| โ | RegistryFileRecoveryTests | testClassify_wellFormedEmptyRecordsArray_isValidEmpty_notCorrupt | 2ms |
| โ | RegistryFileRecoveryTests | testClassify_wellFormedWithRecords_isValidWithRecordCount | 3ms |
| โ | RegistryFileRecoveryTests | testClassify_zeroLengthData_isEmpty | 1ms |
| โ | RegistryFileRecoveryTests | testCorruptFile_isQuarantined_notOverwrittenEmpty | 5ms |
| โ | RegistryFileRecoveryTests | testNeedsMigration_falseForCorruptData | 1ms |
| โ | RegistryFileRecoveryTests | testNeedsMigration_falseForVersionedFile | 601ms |
| โ | RegistryFileRecoveryTests | testNeedsMigration_trueForUnversionedValidFile | 4ms |
| โ | RegistryFileRecoveryTests | testPurgeSidecars_removesBackupAndAllQuarantineCopies_leavingUnrelatedFiles | 7ms |
| โ | RegistryFileRecoveryTests | testPurgeSidecars_withNoSidecarsPresent_isSilentNoOp | 12ms |
| โ | RegistryFileRecoveryTests | testQuarantineURL_encodesTimestamp | 2ms |
| โ | RegistryFileRecoveryTests | testQuarantine_absentFile_returnsNil | 1ms |
| โ | RegistryFileRecoveryTests | testRecoverFromBackup_corruptBackup_returnsNil | 454ms |
| โ | RegistryFileRecoveryTests | testRecoverFromBackup_emptyRecordsBackup_returnsNil | 2ms |
| โ | RegistryFileRecoveryTests | testRecoverFromBackup_noBackup_returnsNil | 88ms |
| โ | RegistryFileRecoveryTests | testSchemaVersion_readsPersistedVersion | 43ms |
| โ | RegistryFileRecoveryTests | testSchemaVersion_unversionedFile_isNil | 2ms |
| โ | RegistryFileRecoveryTests | testWriteBackup_leavesNoTempFile | 4ms |
| โ | RegistryFileRecoveryTests | testWriteBackup_thenRecover_returnsRecords | 295ms |
| โ | RemoteFeatureFlagsGapTests | testRemoteFeatureFlags_convenienceProperties_dontCrash | 7ms |
| โ | RemoteFeatureFlagsGapTests | testRemoteFeatureFlags_fetchIfNeeded_completesWithoutCrashing | 5ms |
| โ | RemoteFeatureFlagsGapTests | testRemoteFeatureFlags_isFeatureEnabled_returnsBoolean | <1ms |
| โ | RemoteFeatureFlagsGapTests | testRemoteFeatureFlags_shared_isAccessible | 1ms |
| โ | RemoteFeatureFlagsSideLoadingTests | testIsSideLoadingEnabled_noOverride_defersToRemoteConfig | 5ms |
| โ | RemoteFeatureFlagsSideLoadingTests | testIsSideLoadingEnabled_overrideRoundTrip_true_false_true | 6ms |
| โ | RemoteFeatureFlagsSideLoadingTests | testIsSideLoadingEnabled_whenLocalOverrideFalse_returnsFalse_overridingDebugDefault | 5ms |
| โ | RemoteFeatureFlagsSideLoadingTests | testIsSideLoadingEnabled_whenLocalOverrideTrue_returnsTrue | 6ms |
| โ | RemoteFeatureFlagsSideLoadingTests | testSideLoadingFeatureFlag_mapsToRemoteConfigKey | 3ms |
| โ | RemoteFeatureFlagsTests | testContinuationCards_featureFlagDefault_isOff | <1ms |
| โ | RemoteFeatureFlagsTests | testContinuationCards_localOverrideFalse_forcesOff | 8ms |
| โ | RemoteFeatureFlagsTests | testContinuationCards_localOverrideTrue_forcesOn | 31ms |
| โ | RemoteFeatureFlagsTests | testContinuationCards_noOverride_defaultsOff | 3ms |
| โ | RemoteFeatureFlagsTests | testFeatureFlag_allCases_haveNonEmptyRawValues | 16ms |
| โ | RemoteFeatureFlagsTests | testFeatureFlag_defaultValues_areDefined | <1ms |
| โ | RemoteFeatureFlagsTests | testFetchIfNeeded_doesNotCrash | 10.01s |
| โ | RemoteFeatureFlagsTests | testFlags_continuationAndInAppNav_areIndependent | 5ms |
| โ | RemoteFeatureFlagsTests | testGetDeviceInfo_containsVersionInfo | 7ms |
| โ | RemoteFeatureFlagsTests | testGetDeviceInfo_returnsNonEmptyDict | 8ms |
| โ | RemoteFeatureFlagsTests | testInAppPlaybackNav_featureFlagDefault_isOff | <1ms |
| โ | RemoteFeatureFlagsTests | testInAppPlaybackNav_localOverrideFalse_forcesOff | 4ms |
| โ | RemoteFeatureFlagsTests | testInAppPlaybackNav_localOverrideTrue_forcesOn | 3ms |
| โ | RemoteFeatureFlagsTests | testInAppPlaybackNav_noOverride_defaultsOff | 2ms |
| โ | RemoteFeatureFlagsTests | testIsCarPlayEnabledCached_returnsBool | 2ms |
| โ | RemoteFeatureFlagsTests | testIsFeatureEnabled_withoutFirebase_returnsDefault | <1ms |
| โ | RemoteFeatureFlagsTests | testShared_isNotNil | <1ms |
| โ | RemoteFeatureFlagsTests | testShared_returnsSameInstance | 2ms |
| โ | RemoteFeatureFlagsTests | testWithTimeout_boundsAHangingOperation | 213ms |
| โ | RemoteFeatureFlagsTests | testWithTimeout_boundsANonCancellableHangingOperation | 213ms |
| โ | RemoteFeatureFlagsTests | testWithTimeout_returnsResultOfFastOperation | 63ms |
| โ | ResourcePropertiesLengthTests | testLength_isNilWhenUnset | 1ms |
| โ | ResourcePropertiesLengthTests | testLength_roundTripsLargeValueWithoutTruncation | 12ms |
| โ | ResourcePropertiesLengthTests | testLength_zeroRoundTrips | <1ms |
| โ | RetryClassificationTests | testAudiobookErrors_notRetryable | <1ms |
| โ | RetryClassificationTests | testAudiobookErrors_retryable | 1ms |
| โ | RetryClassificationTests | testAuthErrors_notRetryable | 16ms |
| โ | RetryClassificationTests | testAuthErrors_retryable | 363ms |
| โ | RetryClassificationTests | testBookRegistryErrors_notRetryable | 14ms |
| โ | RetryClassificationTests | testBookRegistryErrors_retryable | 199ms |
| โ | RetryClassificationTests | testDRMErrors_notRetryable | <1ms |
| โ | RetryClassificationTests | testDownloadErrors_notRetryable | <1ms |
| โ | RetryClassificationTests | testDownloadErrors_retryable | <1ms |
| โ | RetryClassificationTests | testNSURLError_notRetryable | <1ms |
| โ | RetryClassificationTests | testNSURLError_retryable | 362ms |
| โ | RetryClassificationTests | testNetworkErrors_notRetryable | 1ms |
| โ | RetryClassificationTests | testNetworkErrors_retryable | 560ms |
| โ | RetryClassificationTests | testParsingErrors_notRetryable | 155ms |
| โ | RetryClassificationTests | testParsingErrors_retryable | <1ms |
| โ | RetryClassificationTests | testStorageErrors_notRetryable | <1ms |
| โ | RetryClassificationTests | testUnknownError_notRetryable | 336ms |
| โ | ReturnFlowTests | testRetryTracker_limitsRetries | 1ms |
| โ | ReturnReducerContractTests | test_classify_authError_reauths | <1ms |
| โ | ReturnReducerContractTests | test_classify_authError_winsOverOffline | <1ms |
| โ | ReturnReducerContractTests | test_classify_loanTermLimit_treatsAsSuccess | 25ms |
| โ | ReturnReducerContractTests | test_classify_noActiveLoan_treatsAsSuccess | <1ms |
| โ | ReturnReducerContractTests | test_classify_offlineWithEnqueuer_enqueues | <1ms |
| โ | ReturnReducerContractTests | test_classify_offlineWithoutEnqueuer_fallsToGenericAlert | 23ms |
| โ | ReturnReducerContractTests | test_classify_opdsParseFailure_treatsAsSuccess | <1ms |
| โ | ReturnReducerContractTests | test_classify_treatAsSuccess_winsOverAuthError | <1ms |
| โ | ReturnReducerContractTests | test_classify_unknown_genericAlert | 1ms |
| โ | ReturnReducerContractTests | test_cleanup_downloaded_treatAsSuccess_order | <1ms |
| โ | ReturnReducerContractTests | test_cleanup_networkSuccess_usesUpdateAndRemoveThenSetState | <1ms |
| โ | ReturnReducerContractTests | test_cleanup_notDownloaded_skipsLocalTeardown | 10ms |
| โ | ReturnReducerContractTests | test_snapshot_cleanup_downloaded_treatAsSuccess | 2ms |
| โ | ReturnReducerContractTests | test_snapshot_cleanup_networkSuccess | 8ms |
| โ | ReturnReducerContractTests | test_startRoute_hasRevokeURL_revokesOverNetwork | 3ms |
| โ | ReturnReducerContractTests | test_startRoute_noRevokeURL_cleansUpWithoutNetwork | <1ms |
| โ | RightsManagementDetectionTests | testMimeType_adobeAdept_detectsAdobeRights | <1ms |
| โ | RightsManagementDetectionTests | testMimeType_bearerToken_detectsBearerTokenRights | <1ms |
| โ | RightsManagementDetectionTests | testMimeType_epubZip_detectsNoRights | <1ms |
| โ | RightsManagementDetectionTests | testMimeType_lcpLicense_detectsLCPRights | 2ms |
| โ | RightsManagementDetectionTests | testMimeType_unknown_detectsUnknown | <1ms |
| โ | RightsManagementDispatchContractTests | test_adobe_pdfPayload_rejectedAsUnsupported | 3ms |
| โ | RightsManagementDispatchContractTests | test_bearerTokenJSON_missingData_logsThenAlerts | 11ms |
| โ | RightsManagementDispatchContractTests | test_lcp_routesToFulfillLCPLicense_noAlert | 55ms |
| โ | RightsManagementDispatchContractTests | test_openAccess_moveFails_requiresAlert | 5ms |
| โ | RightsManagementDispatchContractTests | test_openAccess_routesToMoveFile_successNoAlert | 5ms |
| โ | RightsManagementDispatchContractTests | test_overdriveManifest_replaceFails_requiresAlert | 2ms |
| โ | RightsManagementDispatchContractTests | test_overdriveManifest_routesToReplaceBook_successNoAlert | 4ms |
| โ | RightsManagementDispatchContractTests | test_unknownRights_logsFailure_requiresAlert_preservesError | 25ms |
| โ | RightsManagementDispatcherTests | testDispatch_adobePDF_returnsFailureWithIgnoreError | 9ms |
| โ | RightsManagementDispatcherTests | testDispatch_bearerToken_invalidJSON_failsWithAlert | 17ms |
| โ | RightsManagementDispatcherTests | testDispatch_bearerToken_missingFile_failsWithAlert | 5ms |
| โ | RightsManagementDispatcherTests | testDispatch_bearerToken_validJSON_registersNewTaskInState | 22ms |
| โ | RightsManagementDispatcherTests | testDispatch_lcp_callsLcpFulfillmentAndDoesNotFlagFailure | 11ms |
| โ | RightsManagementDispatcherTests | testDispatch_none_moveFileFails_flagsFailure | 10ms |
| โ | RightsManagementDispatcherTests | testDispatch_none_moveFileSuccess_doesNotFlagFailure | 4ms |
| โ | RightsManagementDispatcherTests | testDispatch_overdrive_replaceBookFails_flagsFailure | 44ms |
| โ | RightsManagementDispatcherTests | testDispatch_overdrive_replaceBookSuccess_doesNotFlagFailure | 37ms |
| โ | RightsManagementDispatcherTests | testDispatch_unknown_logsAndFlagsFailure | 162ms |
| โ | RuntimeQuiescenceGateTests | testAuditLiveState_withFlagRestored_isQuiescent | <1ms |
| โ | RuntimeQuiescenceGateTests | testCaptureDeferFlag_reflectsLiveFlagValue | 443ms |
| โ | RuntimeQuiescenceGateTests | testCooperativePoolProbe_cleanPool_completesFast | <1ms |
| โ | RuntimeQuiescenceGateTests | testCooperativePoolProbe_saturatedPool_doesNotComplete_redFirst | 2.71s |
| โ | RuntimeQuiescenceGateTests | testDeferFlagViolations_flagLeftFalse_producesExactlyOneViolation | 1ms |
| โ | RuntimeQuiescenceGateTests | testDeferFlagViolations_flagLeftTrue_producesNoViolations | 2ms |
| โ | RuntimeQuiescenceGateTests | testDeferFlagViolations_message_isActionable | <1ms |
| โ | RuntimeQuiescenceGateTests | testObserverLeakViolations_bothDirections | 21ms |
| โ | RuntimeQuiescenceGateTests | testObserverLeakViolations_message_isActionable | 39ms |
| โ | RuntimeQuiescenceGateTests | testPoolResponsivenessViolations_bothDirections | 69ms |
| โ | RuntimeQuiescenceGateTests | testSampleObserverCount_reflectsLiveObserverAdd_orSkips | 12ms |
| โ | RuntimeQuiescenceLintTests | testDetector_flagsDirectXCTestCaseSubclassThatSetsFalse | 1ms |
| โ | RuntimeQuiescenceLintTests | testDetector_ignoresCommentsAndStringLiterals | <1ms |
| โ | RuntimeQuiescenceLintTests | testDetector_passesFileThatNeverSetsFalse | 69ms |
| โ | RuntimeQuiescenceLintTests | testDetector_passesQuiescenceBaseSubclassThatSetsFalse | 1ms |
| โ | RuntimeQuiescenceLintTests | testNoDeferFlagFalseSetterExtendsXCTestCaseDirectly | 1.89s |
| โ | SAMLCookieSyncTests | testCookieSyncToSharedStorage | 4ms |
| โ | SAMLCookieSyncTests | testCookieSync_emptyCookies_doesNotCrash | 29ms |
| โ | SAMLCookieSyncTests | testCookieSync_multipleCookies | 3ms |
| โ | SAMLCookieSyncTests | testCookieSync_replacesExistingCookie | 2ms |
| โ | SAMLCookieSyncTests | testRequestCreation_includesCookieHeader | 3ms |
| โ | SAMLLogoutCallbackDetectionTests | testCallbackSchemeError_DetectedAsSuccess | 3ms |
| โ | SAMLLogoutCallbackDetectionTests | testCallbackSchemeError_PartialStatus_AlsoDetected | 5ms |
| โ | SAMLLogoutCallbackDetectionTests | testOIDCCallbackScheme_NotSAMLDetected | 2ms |
| โ | SAMLLogoutCallbackDetectionTests | testUnrelatedError_NotDetected | 2ms |
| โ | SAMLLogoutLinkParsingTests | testRegression_OIDCLogoutHref_StillPopulated | 1.43s |
| โ | SAMLLogoutLinkParsingTests | testSAMLAuth_ParsesLogoutHrefIsTemplated_True | 229ms |
| โ | SAMLLogoutLinkParsingTests | testSAMLAuth_ParsesLogoutHref_FromAuthDocument | 1ms |
| โ | SAMLLogoutLinkParsingTests | testSAMLAuth_WithoutLogoutLink_LeavesHrefNil | 101ms |
| โ | SAMLLogoutLinkParsingTests | testSAMLLogoutHref_IsNil_ForBasicAuth | <1ms |
| โ | SAMLLogoutURLTests | testSAMLLogoutURL_CallbackSchemeIsPalaceSAML | 25ms |
| โ | SAMLLogoutURLTests | testSAMLLogoutURL_ExpandsTemplateWithRedirectURI | 8ms |
| โ | SAMLLogoutURLTests | testSAMLLogoutURL_InvalidTemplate_ReturnsNil | 3ms |
| โ | SAMLLogoutURLTests | testSAMLLogoutURL_NonTemplated_UsedAsIs | <1ms |
| โ | SAMLPlusBiblioBoardExpirationTests | testShouldTriggerSAMLReauth_AuthRequiredError_SAML_Credentials_Book_ReturnsTrue | 1.36s |
| โ | SAMLPlusBiblioBoardExpirationTests | testShouldTriggerSAMLReauth_BasicAuth_ReturnsFalse | 60ms |
| โ | SAMLPlusBiblioBoardExpirationTests | testShouldTriggerSAMLReauth_NilCurrentBook_ReturnsFalse | 30ms |
| โ | SAMLPlusBiblioBoardExpirationTests | testShouldTriggerSAMLReauth_NilError_ReturnsFalse | 5.51s |
| โ | SAMLPlusBiblioBoardExpirationTests | testShouldTriggerSAMLReauth_NoCredentials_ReturnsFalse | 22ms |
| โ | SAMLPlusBiblioBoardExpirationTests | testShouldTriggerSAMLReauth_OAuthAccount_ReturnsFalse | 65ms |
| โ | SAMLPlusBiblioBoardExpirationTests | testShouldTriggerSAMLReauth_WrongErrorCode_ReturnsFalse | 131ms |
| โ | SAMLPlusBiblioBoardExpirationTests | testShouldTriggerSAMLReauth_WrongErrorDomain_ReturnsFalse | 38ms |
| โ | SEMigrationsTests | testMigrate2_oldCacheFiles_areRemoved | 43ms |
| โ | SEMigrationsTests | testMigrate3_1_0_backupExclusion_isDispatchedForOldVersion | 5ms |
| โ | SEMigrationsTests | testMigrate3_1_0_backupExclusion_isSkippedForCurrentVersion | 4ms |
| โ | SEMigrationsTests | testRunMigrations_doesNotCrashAndDoesNotMutateAppVersionWhenNoMigrationsApply | 2ms |
| โ | SEMigrationsTests | testRunMigrations_multipleCallsAreSafe | 2ms |
| โ | SEMigrationsTests | testRunMigrations_nilOrEmptyVersion_handlesGracefullyWithoutCrashing | 21ms |
| โ | SafeDictionaryTests | testAllPairs_returnsAllKeyValuePairs | 2ms |
| โ | SafeDictionaryTests | testCompactMapValues_removesNils | 24ms |
| โ | SafeDictionaryTests | testContains_existingKey_returnsTrue | 70ms |
| โ | SafeDictionaryTests | testCount_reflectsEntries | 64ms |
| โ | SafeDictionaryTests | testFilter_selectsMatchingEntries | 4ms |
| โ | SafeDictionaryTests | testGetMetrics_returnsMetricsDictionary | 2ms |
| โ | SafeDictionaryTests | testGet_missingKey_returnsNil | 2ms |
| โ | SafeDictionaryTests | testInit_withInitialValues | <1ms |
| โ | SafeDictionaryTests | testIsEmpty_noEntries_returnsTrue | <1ms |
| โ | SafeDictionaryTests | testKeys_returnsAllKeys | 7ms |
| โ | SafeDictionaryTests | testMapValues_transformsValues | <1ms |
| โ | SafeDictionaryTests | testModify_createsNewValue | 2ms |
| โ | SafeDictionaryTests | testModify_updatesExistingValue | 3ms |
| โ | SafeDictionaryTests | testRemoveAll_clearsEverything | <1ms |
| โ | SafeDictionaryTests | testRemoveMultiple_removesSpecifiedKeys | 2ms |
| โ | SafeDictionaryTests | testRemove_deletesEntry | 4ms |
| โ | SafeDictionaryTests | testRemove_missingKey_returnsNil | 59ms |
| โ | SafeDictionaryTests | testSet_andGet_returnsValue | 76ms |
| โ | SafeDictionaryTests | testSet_overwrite_updatesValue | 4ms |
| โ | SafeDictionaryTests | testUpdateMultiple_addsAllEntries | <1ms |
| โ | SafeDictionaryTests | testValues_returnsAllValues | 16ms |
| โ | SamplePlayerErrorTests | testFileSaveFailed_WithUnderlyingError | <1ms |
| โ | SamplePlayerErrorTests | testFileSaveFailed_WithoutUnderlyingError | 1ms |
| โ | SamplePlayerErrorTests | testNoSampleAvailable_IsError | <1ms |
| โ | SamplePlayerErrorTests | testSampleDownloadFailed_WithUnderlyingError | 269ms |
| โ | SamplePlayerErrorTests | testSampleDownloadFailed_WithoutUnderlyingError | <1ms |
| โ | SampleTypeTests | testNeedsDownload_EpubZip_ReturnsTrue | <1ms |
| โ | SampleTypeTests | testNeedsDownload_OpenAccessAudiobook_ReturnsFalse | <1ms |
| โ | SampleTypeTests | testNeedsDownload_OverdriveAudiobookMpeg_ReturnsTrue | 49ms |
| โ | SampleTypeTests | testNeedsDownload_OverdriveAudiobookWaveFile_ReturnsTrue | 14ms |
| โ | SampleTypeTests | testNeedsDownload_OverdriveWeb_ReturnsFalse | <1ms |
| โ | SampleTypeTests | testRawValue_ContentTypeEpubZip | 15ms |
| โ | SampleTypeTests | testRawValue_OpenAccessAudiobook | 1ms |
| โ | SampleTypeTests | testRawValue_OverdriveWeb | 1ms |
| โ | SceneDelegateTests | testSceneDelegate_HasMainSceneConnected_IsConsistent | 2ms |
| โ | ScopedResetTests | testHostMatches_emptyHostSet_neverMatches | <1ms |
| โ | ScopedResetTests | testHostMatches_exactHost_matches | <1ms |
| โ | ScopedResetTests | testHostMatches_leadingDotCookieDomain_matches | <1ms |
| โ | ScopedResetTests | testHostMatches_parentDomainCookieCoveringHost_matches | <1ms |
| โ | ScopedResetTests | testHostMatches_rawSuffixWithoutDotBoundary_doesNotMatch | 1ms |
| โ | ScopedResetTests | testHostMatches_siblingHostOnSharedBaseDomain_doesNotMatch | 2ms |
| โ | ScopedResetTests | testHostMatches_unrelatedDomain_doesNotMatch | 1ms |
| โ | ScopedResetTests | testPerformScopedReset_resetsActiveLibraryOnly_andSkipsDRMDeauthorize | 442ms |
| โ | ScopedResetTests | testWebHostsToClear_nilAccount_isEmpty | 1ms |
| โ | SearchAccessibilityTests | testClearSearchLabel_isDescriptive | <1ms |
| โ | SearchAccessibilityTests | testClearSearchLabel_isLocalized | <1ms |
| โ | SearchAccessibilityTests | testGoBackLabel_isDescriptive | 5ms |
| โ | SearchAccessibilityTests | testPostSearchGate_emptyQuery_isFalse | 670ms |
| โ | SearchAccessibilityTests | testPostSearchGate_voiceOverOff_isFalse | 931ms |
| โ | SearchAccessibilityTests | testPostSearchGate_voiceOverOn_finishedRealQuery_isTrue | <1ms |
| โ | SearchAccessibilityTests | testPostSearchGate_whileLoading_isFalse | <1ms |
| โ | SearchAccessibilityTests | testPostSearchGate_whitespaceQuery_isFalse | 1ms |
| โ | SearchAccessibilityTests | testSearchBooksLabel_exists | <1ms |
| โ | SearchAccessibilityTests | testSearchCatalogLabel_differsFromSearchInBook | 403ms |
| โ | SearchAccessibilityTests | testSearchInBookLabel_isDescriptive | 56ms |
| โ | SearchFlowIntegrationTests | testSearchCancellation_StopsPendingRequest | 64ms |
| โ | SearchFlowIntegrationTests | testSearchDebouncing_PreventsExcessiveRequests | 7ms |
| โ | SearchFlowIntegrationTests | testSearchQuery_DispatchesToCatalogRepository | 8ms |
| โ | SearchFlowIntegrationTests | testSearchResults_ContainExpectedBookData | 2ms |
| โ | SearchFlowIntegrationTests | testSearchWithEmptyQuery_ReturnsNilResult | 7ms |
| โ | SearchFlowIntegrationTests | testSearchWithNetworkError_PropagatesError | 35ms |
| โ | SearchFlowIntegrationTests | testSearchWithServerError_PropagatesServerError | 9ms |
| โ | SearchFlowIntegrationTests | testSequentialSearches_TrackAllQueries | 7ms |
| โ | SettingsViewModelComputedPropertyTests | testAccountCount_ReflectsSettingsAccountsList | 2ms |
| โ | SettingsViewModelComputedPropertyTests | testDuplicateWrite_DoesNotTriggerSettingsUpdate | 9ms |
| โ | SettingsViewModelComputedPropertyTests | testIsUsingCustomFeed_AfterClear_ReturnsFalse | 4ms |
| โ | SettingsViewModelComputedPropertyTests | testIsUsingCustomRegistry_AfterClear_ReturnsFalse | 3ms |
| โ | SettingsViewModelComputedPropertyTests | testShowDeveloperSettings_CanBeToggled | 2ms |
| โ | SettingsViewModelComputedPropertyTests | testShowDeveloperSettings_DefaultsFalse | 42ms |
| โ | SettingsViewModelEdgeCaseTests | testSettingsViewModel_InitWithPartialSettings_HandlesGracefully | 4ms |
| โ | SettingsViewModelEdgeCaseTests | testSettingsViewModel_MultipleRapidChanges_MaintainsConsistency | 5ms |
| โ | SettingsViewModelEdgeCaseTests | testSettingsViewModel_ResetThenModify_WorksCorrectly | 7ms |
| โ | SettingsViewModelEdgeCaseTests | testSettingsViewModel_SetCustomFeedURL_LocalhostHTTP_ReturnsTrue | 7ms |
| โ | SettingsViewModelEdgeCaseTests | testSettingsViewModel_SetCustomFeedURL_URLWithFragment_ReturnsTrue | 9ms |
| โ | SettingsViewModelEdgeCaseTests | testSettingsViewModel_SetCustomFeedURL_URLWithPort_ReturnsTrue | 8ms |
| โ | SettingsViewModelEdgeCaseTests | testSettingsViewModel_SetCustomFeedURL_URLWithQueryParams_ReturnsTrue | 10ms |
| โ | SettingsViewModelGapTests | testSettingsViewModel_refreshAccountsList_updatesProperty | 2ms |
| โ | SettingsViewModelSyncTests | testResetToDefaults_ClearsAllSettings | 37ms |
| โ | SettingsViewModelSyncTests | testResetToDefaults_UpdatesSettingsProvider | 40ms |
| โ | SettingsViewModelSyncTests | testSetCustomFeedURL_WithEmptyString_ClearsURL | 6ms |
| โ | SettingsViewModelSyncTests | testSetCustomFeedURL_WithInvalidURL_ReturnsFalse | 6ms |
| โ | SettingsViewModelSyncTests | testSetCustomFeedURL_WithNil_ClearsURL | 4ms |
| โ | SettingsViewModelSyncTests | testSetCustomFeedURL_WithNonHttpScheme_ReturnsFalse | 4ms |
| โ | SettingsViewModelSyncTests | testSetCustomFeedURL_WithValidHttpURL_ReturnsTrue | 6ms |
| โ | SettingsViewModelSyncTests | testSetCustomFeedURL_WithValidHttpsURL_ReturnsTrue | 4ms |
| โ | SettingsViewModelSyncTests | testSetCustomRegistryServer_WithEmptyString_ReturnsTrueAndClears | 5ms |
| โ | SettingsViewModelSyncTests | testSetCustomRegistryServer_WithNil_ClearsServer | 4ms |
| โ | SettingsViewModelSyncTests | testSetCustomRegistryServer_WithValidURL_ReturnsTrue | 6ms |
| โ | SettingsViewModelSyncTests | testSettingsViewModel_BidirectionalSync_SettingsToViewModelViaRefresh | 6ms |
| โ | SettingsViewModelSyncTests | testSettingsViewModel_BidirectionalSync_ViewModelToSettings | 45ms |
| โ | SettingsViewModelSyncTests | testSettingsViewModel_ExternalSettingsChange_RequiresRefresh | 75ms |
| โ | SettingsViewModelTests | testSettingsViewModel_AcceptEULA_SetsTrue | 34ms |
| โ | SettingsViewModelTests | testSettingsViewModel_ClearCustomFeedURL_ClearsURL | 263ms |
| โ | SettingsViewModelTests | testSettingsViewModel_ClearCustomRegistryServer_ClearsServer | 60ms |
| โ | SettingsViewModelTests | testSettingsViewModel_CustomMainFeedURL_PublishesChanges | 67ms |
| โ | SettingsViewModelTests | testSettingsViewModel_FormattedAppVersion_ReturnsFormattedString | 5ms |
| โ | SettingsViewModelTests | testSettingsViewModel_Init_DefaultsAreCorrect | 12ms |
| โ | SettingsViewModelTests | testSettingsViewModel_Init_ReadsSettingsFromProvider | 8ms |
| โ | SettingsViewModelTests | testSettingsViewModel_IsUsingCustomFeed_FalseWhenURLNil | 17ms |
| โ | SettingsViewModelTests | testSettingsViewModel_IsUsingCustomFeed_TrueWhenURLSet | 31ms |
| โ | SettingsViewModelTests | testSettingsViewModel_IsUsingCustomRegistry_FalseWhenServerEmpty | 98ms |
| โ | SettingsViewModelTests | testSettingsViewModel_IsUsingCustomRegistry_FalseWhenServerNil | 30ms |
| โ | SettingsViewModelTests | testSettingsViewModel_IsUsingCustomRegistry_TrueWhenServerSet | 16ms |
| โ | SettingsViewModelTests | testSettingsViewModel_MarkAgeCheckPresented_SetsTrue | 11ms |
| โ | SettingsViewModelTests | testSettingsViewModel_RefreshSettings_ReloadsFromProvider | 6ms |
| โ | SettingsViewModelTests | testSettingsViewModel_ResetToDefaults_ResetsAllSettings | 54ms |
| โ | SettingsViewModelTests | testSettingsViewModel_SetCustomFeedURL_EmptyString_ClearsURL | 6ms |
| โ | SettingsViewModelTests | testSettingsViewModel_SetCustomFeedURL_InvalidScheme_ReturnsFalse | 6ms |
| โ | SettingsViewModelTests | testSettingsViewModel_SetCustomFeedURL_InvalidURL_ReturnsFalse | 18ms |
| โ | SettingsViewModelTests | testSettingsViewModel_SetCustomFeedURL_Nil_ClearsURL | 9ms |
| โ | SettingsViewModelTests | testSettingsViewModel_SetCustomFeedURL_ValidHTTPS_ReturnsTrue | 209ms |
| โ | SettingsViewModelTests | testSettingsViewModel_SetCustomFeedURL_ValidHTTP_ReturnsTrue | 10ms |
| โ | SettingsViewModelTests | testSettingsViewModel_SetCustomRegistryServer_EmptyString_ClearsServer | 141ms |
| โ | SettingsViewModelTests | testSettingsViewModel_SetCustomRegistryServer_InvalidURL_ReturnsFalse | 157ms |
| โ | SettingsViewModelTests | testSettingsViewModel_SetCustomRegistryServer_ValidURL_ReturnsTrue | 6ms |
| โ | SettingsViewModelTests | testSettingsViewModel_SetEnterLCPPassphraseManually_UpdatesSettings | 53ms |
| โ | SettingsViewModelTests | testSettingsViewModel_SetSameValue_DoesNotWriteToSettings | 11ms |
| โ | SettingsViewModelTests | testSettingsViewModel_SetUseBetaLibraries_UpdatesSettings | 7ms |
| โ | SettingsViewModelTests | testSettingsViewModel_SetUserHasAcceptedEULA_UpdatesSettings | 38ms |
| โ | SettingsViewModelTests | testSettingsViewModel_SetUserPresentedAgeCheck_UpdatesSettings | 153ms |
| โ | SettingsViewModelTests | testSettingsViewModel_ToggleBetaLibraries_TogglesValue | 7ms |
| โ | SettingsViewModelTests | testSettingsViewModel_ToggleLCPManualPassphrase_TogglesValue | 7ms |
| โ | SettingsViewModelTests | testSettingsViewModel_UpdateAppVersion_UpdatesSettings | 7ms |
| โ | SettingsViewModelTests | testSettingsViewModel_UseBetaLibraries_PublishesChanges | 134ms |
| โ | SideloadBoundaryTests | testImport_registersDownloadSuccessful_butNeverCallsSetState | 47ms |
| โ | SideloadBoundaryTests | testState_afterAdd_isDownloadSuccessful | 8ms |
| โ | SideloadBoundaryTests | testState_afterRemove_returnsToUnregistered | 23ms |
| โ | SideloadBoundaryTests | testState_forNilIdentifier_isUnregistered | 40ms |
| โ | SideloadBoundaryTests | testState_forUnknownIdentifier_isUnregistered | 6ms |
| โ | SideloadBoundaryTests | testTwoOwners_answerOnlyForTheirOwnBooks_andNeverReconcile | 83ms |
| โ | SideloadImportContractTests | testImportPipeline_recordsOrderedDependencyCalls | 14ms |
| โ | SideloadedBookManagerTests | testCaption_importedBook_isFilename_unknownBook_fallsBackToTitle | 21ms |
| โ | SideloadedBookManagerTests | testImport_audiobookManifest_mintsAudiobookContentType | 21ms |
| โ | SideloadedBookManagerTests | testImport_copiesFileToFixedAccountPath_notCurrentAccount | 21ms |
| โ | SideloadedBookManagerTests | testImport_copyFailure_throws_andMutatesNeitherRegistry | 14ms |
| โ | SideloadedBookManagerTests | testImport_destinationUnavailable_throwsDestinationUnavailable_andMutatesNeitherRegistry | 25ms |
| โ | SideloadedBookManagerTests | testImport_epubFile_mintsEpubOpenAccessBook_andRegistersDownloadSuccessful | 22ms |
| โ | SideloadedBookManagerTests | testImport_manifestPersistFails_throwsPersistenceFailed_andDoesNotRegisterInMainRegistry | 64ms |
| โ | SideloadedBookManagerTests | testImport_pdfFile_mintsPdfContentType | 19ms |
| โ | SideloadedBookManagerTests | testImport_sameContentTwice_doesNotDuplicate | 23ms |
| โ | SideloadedBookManagerTests | testImport_unreadableSourceFile_throwsUnreadableFile_andMutatesNeitherRegistry | 15ms |
| โ | SideloadedBookManagerTests | testImport_unsupportedType_throws_andMutatesNeitherRegistry | 13ms |
| โ | SideloadedBookManagerTests | testOriginalFilename_afterImport_returnsImportedFilename | 67ms |
| โ | SideloadedBookManagerTests | testOriginalFilename_unknownIdentifier_returnsNil | 54ms |
| โ | SideloadedBookManagerTests | testRehydrateAtLaunch_reRegistersPersistedBooks_intoMainRegistry_asDownloadSuccessful | 16ms |
| โ | SideloadedBookManagerTests | testRehydrateAtLaunch_runTwice_isIdempotent_doesNotReAddPresentBook | 15ms |
| โ | SideloadedBookManagerTests | testRemove_bookPresentOnlyInSideloadedRegistry_deletesFileViaFallbackLookup | 62ms |
| โ | SideloadedBookManagerTests | testRemove_deletesFile_andClearsBothRegistries | 19ms |
| โ | SideloadedBookRegistryTests | test_addDuplicateIdentifier_doesNotDoubleInsert_andUpdatesInPlace | 3ms |
| โ | SideloadedBookRegistryTests | test_add_persistsAcrossReload_preservingIdentifiersTitlesAndFilenames | 115ms |
| โ | SideloadedBookRegistryTests | test_add_whenManifestWriteFails_throws_andRollsBackInMemory | 12ms |
| โ | SideloadedBookRegistryTests | test_corruptManifest_loadsAsEmpty_withoutCrashing | 183ms |
| โ | SideloadedBookRegistryTests | test_emptyManifestFile_loadsAsEmpty | 1ms |
| โ | SideloadedBookRegistryTests | test_manifestWithGarbageRecord_skipsUnreadableEntry_keepsValidOnes | 6ms |
| โ | SideloadedBookRegistryTests | test_missingManifest_loadsAsEmpty | 3ms |
| โ | SideloadedBookRegistryTests | test_remove_dropsBookFromIdentifiersAndPersists | 4ms |
| โ | SideloadedBookRegistryTests | test_remove_unknownIdentifier_isNoOp | 34ms |
| โ | SideloadedBookRegistryTests | test_rename_changesPersistedTitle_survivesReload | 7ms |
| โ | SideloadedBookRegistryTests | test_rename_doesNotMutateSharedBookInstance_replacesWithCopy | 2ms |
| โ | SideloadedBookRegistryTests | test_rename_unknownIdentifier_isNoOp | 3ms |
| โ | SideloadedBookRegistryTests | test_update_replacesBookButPreservesOriginalFilename | 24ms |
| โ | SideloadedBookRegistryTests | test_update_unknownIdentifier_doesNotInsert | 1ms |
| โ | SideloadedLaneBridgeTests | testPrependingEmpty_emptyBase_shapeUnchanged | <1ms |
| โ | SideloadedLaneBridgeTests | testPrependingEmpty_groupedBase_shapeUnchanged | <1ms |
| โ | SideloadedLaneBridgeTests | testPrependingEmpty_ungroupedBase_shapeUnchanged | 2ms |
| โ | SideloadedLaneBridgeTests | testPrepending_emptyBase_groupedWithOnlySideloadedLane | 24ms |
| โ | SideloadedLaneBridgeTests | testPrepending_groupedBase_sideloadedLaneIsFirst_baseLanesRetained | 12ms |
| โ | SideloadedLaneBridgeTests | testPrepending_ungroupedBase_forcesGrouped_keepsOriginalBooks | 49ms |
| โ | SideloadedLaneViewModelTests | testApplyFacet_cacheHit_stillShowsSideloadedLane | 72ms |
| โ | SideloadedLaneViewModelTests | testLoadFailure_connected_emptyProvider_exposesErrorOnly_noLane | 12ms |
| โ | SideloadedLaneViewModelTests | testLoadFailure_connected_nonEmptyProvider_exposesErrorAndSideloadedLane | 35ms |
| โ | SideloadedLaneViewModelTests | testLoadFailure_offline_emptyProvider_exposesOfflineOnly_noLane | 14ms |
| โ | SideloadedLaneViewModelTests | testLoadFailure_offline_nonEmptyProvider_exposesOfflineAndSideloadedLane | 8ms |
| โ | SideloadedLaneViewModelTests | testLoad_providerEmpty_noSideloadedLane | 23ms |
| โ | SideloadedLaneViewModelTests | testLoad_providerNonEmpty_prependsSideloadedLaneAtTop | 9ms |
| โ | SignInFormPresentationTests | test_shouldShowInlineFormError_requiresAlertAndMessage | 2ms |
| โ | SignInFormPresentationTests | test_titleOpacity_hidesTitleWhileLoading | 2ms |
| โ | SignInFormPresentationTests | test_titleOpacity_showsTitleWhenIdle | 6ms |
| โ | SignInModalLifecycleTests | testPresenter_currentAccountIDNil_firesCompletionWithoutPublishingState | 4ms |
| โ | SignInModalLifecycleTests | testPresenter_currentAccountNeedsNoAuth_shortCircuitsWithoutPublishingState | 9ms |
| โ | SignInModalLifecycleTests | testPresenter_dismissAfterPresent_resetsPresentationState | 2ms |
| โ | SignInModalLifecycleTests | testPresenter_dismissedToIdle_secondPresentAfterFirstCompletes_publishesAgain | 57ms |
| โ | SignInModalLifecycleTests | testPresenter_idleToPresenting_publishesForCurrentAccountOnFirstPresent | 2ms |
| โ | SignInModalLifecycleTests | testPresenter_presentForCurrentAccount_publishesState_invokesDriver_clearsState_firesCompletion | 3ms |
| โ | SignInModalLifecycleTests | testPresenter_presentingToDismissed_clearsPresentationStateOnDriverCompletion | 2ms |
| โ | SignInModalLifecycleTests | testPresenter_singleFlight_secondPresentationBeforeFirstDismisses_isNoOp | 103ms |
| โ | SignInModalLifecycleTests | testReauth_TPPReauthenticator_authenticateIfNeeded_drivesSpyPresenterViaAppContainerSeam | 14ms |
| โ | SignInModalPredicateTests | testShouldAutoDismiss_whenCredentialsStale_returnsFalse | 2ms |
| โ | SignInModalPredicateTests | testShouldAutoDismiss_whenLoggedIn_returnsTrue | 5ms |
| โ | SignInModalPredicateTests | testShouldAutoDismiss_whenLoggedOut_returnsFalse | <1ms |
| โ | SignInModalSAMLOIDCTests | testBorrowReauthGuard_allBookStates | 2ms |
| โ | SignInModalSAMLOIDCTests | testBorrowReauthGuard_downloadNeededBook_blocksReauth | 2ms |
| โ | SignInModalSAMLOIDCTests | testBorrowReauthGuard_unregisteredBook_allowsReauth | 1.02s |
| โ | SignInModalSAMLOIDCTests | testNeedsAuth_allAuthTypes | 53ms |
| โ | SignInModalSAMLOIDCTests | testNeedsAuth_consistencyBetweenTwoImplementations | 400ms |
| โ | SignInModalSAMLOIDCTests | testSignInModalGuard_needsAuth_classifiesAuthTypesCorrectly | 997ms |
| โ | SignInOAuthErrorPropagationTests | testHandleRedirectURL_accessTokenButNoPatronInfo_routesToMissingPayloadBranch | 38ms |
| โ | SignInOAuthErrorPropagationTests | testHandleRedirectURL_accessTokenWithEqualsPadding_parsesCorrectly | 28ms |
| โ | SignInOAuthErrorPropagationTests | testHandleRedirectURL_authDataParseFail_synthesizesNonNilErrorWithTitleAndMessage | 74ms |
| โ | SignInOAuthErrorPropagationTests | testHandleRedirectURL_missingPayload_synthesizesNonNilErrorWithTitleAndMessage | 44ms |
| โ | SignInOAuthErrorPropagationTests | testHandleRedirectURL_notificationWithoutURL_synthesizesNonNilError | 46ms |
| โ | SignInOAuthErrorPropagationTests | testHandleRedirectURL_serverErrorWithoutDetail_fallsBackToGenericMessage | 131ms |
| โ | SignInOAuthErrorPropagationTests | testHandleRedirectURL_serverReturnsErrorInPayload_synthesizesErrorWithParsedTitleAndDetail | 37ms |
| โ | SignInOAuthErrorPropagationTests | testHandleRedirectURL_successPath_completionFiresWithNilError | 52ms |
| โ | SignInRequestServiceCharacterizationTests | test_makeRequest_signIn_basicAuth_omitsBearerHeader | 22ms |
| โ | SignInRequestServiceCharacterizationTests | test_makeRequest_signIn_oauth_attachesInFlightBearer | 65ms |
| โ | SignInRequestServiceCharacterizationTests | test_makeRequest_signIn_oauth_fallsBackToPersistedToken | 53ms |
| โ | SignInRequestServiceCharacterizationTests | test_makeRequest_signIn_oidc_attachesInFlightBearer | 28ms |
| โ | SignInRequestServiceCharacterizationTests | test_makeRequest_signIn_saml_attachesInFlightBearer | 26ms |
| โ | SignInRequestServiceCharacterizationTests | test_makeRequest_signOut_basicAuth_hasProfileURL_andNoBearerHeader | 51ms |
| โ | SignInRequestServiceCharacterizationTests | test_makeRequest_signOut_oauth_attachesBearer | 39ms |
| โ | SignInRequestServiceCharacterizationTests | test_validateCredentials_basicAuthSuccess_reportsDidReceiveCredentials | 64ms |
| โ | SignInRequestServiceCharacterizationTests | test_validateCredentials_basicAuth_firesUserProfileRequest | 116ms |
| โ | SignInRequestServiceCharacterizationTests | test_validateCredentials_httpFailure_surfacesValidationError_andNoCredentialsReceived | 131ms |
| โ | SignInRequestServiceCharacterizationTests | test_validateCredentials_whenRequestUnbuildable_surfacesError_andFiresNoNetworkCall | 212ms |
| โ | SignInToReadFlowIntegrationTests | testAuthToken_AttachedToSubsequentRequest | 43ms |
| โ | SignInToReadFlowIntegrationTests | testCatalogLoad_503ThenRetrySucceeds | 90ms |
| โ | SignInToReadFlowIntegrationTests | testHappyPath_SignIn_Borrow_Download_ReaderOpens_AllStepsHappen | 84ms |
| โ | SignInToReadFlowIntegrationTests | testNetworkDrop_DuringSignIn_SurfacesAsConnectivityError | 67ms |
| โ | SignInToReadFlowIntegrationTests | testSignInFails_RegistryRemainsEmpty_AuthStateNotSignedIn | 60ms |
| โ | SignInWebSheetIntegrationTests | test_initialLoad_injectsCookiesBeforeLoadingRequest | 87ms |
| โ | SignInWebSheetIntegrationTests | test_loadingOverlay_startsTrueAndBecomesFalseOnNavigationFinish | 3.02s |
| โ | SignInWebSheetIntegrationTests | test_navigatingToUniversalLinksURL_firesLoginCompletionWithCookies | 749ms |
| โ | SignInWebSheetViewModelTests | test_autoPresentIfNeeded_canBeTrue | <1ms |
| โ | SignInWebSheetViewModelTests | test_autoPresentIfNeeded_defaultsToFalse | <1ms |
| โ | SignInWebSheetViewModelTests | test_bookFoundThenCancel_doesNotFireCancel | 30ms |
| โ | SignInWebSheetViewModelTests | test_cancelThenLoginCompletion_doesNotFireLogin | <1ms |
| โ | SignInWebSheetViewModelTests | test_cookieInjection_emptyCookies_loadsRequestImmediately | 3ms |
| โ | SignInWebSheetViewModelTests | test_cookieInjection_loadHandlerOnlyFiresAfterAllCookiesInjected | 54ms |
| โ | SignInWebSheetViewModelTests | test_cookieInjection_orderPreserved | 5ms |
| โ | SignInWebSheetViewModelTests | test_decideAction_loginCompletionURL_isStillRecordedAsPreviousRequest | <1ms |
| โ | SignInWebSheetViewModelTests | test_decideAction_navigationToOtherURL_returnsAllow | 1ms |
| โ | SignInWebSheetViewModelTests | test_decideAction_navigationToUniversalLinksHostButDifferentPath_doesNotMatch | <1ms |
| โ | SignInWebSheetViewModelTests | test_decideAction_navigationToUniversalLinksURL_returnsCompleteLogin | 1ms |
| โ | SignInWebSheetViewModelTests | test_decideAction_recordsPreviousRequestForLaterBookFound | 7ms |
| โ | SignInWebSheetViewModelTests | test_decideResponse_htmlMime_returnsAllow | <1ms |
| โ | SignInWebSheetViewModelTests | test_decideResponse_nilMime_returnsAllow | <1ms |
| โ | SignInWebSheetViewModelTests | test_decideResponse_problemJsonMime_returnsProblemFound | <1ms |
| โ | SignInWebSheetViewModelTests | test_decideResponse_supportedBookMime_returnsBookFound | 40ms |
| โ | SignInWebSheetViewModelTests | test_decideResponse_unsupportedTypeNotInBookList_returnsAllow | 6ms |
| โ | SignInWebSheetViewModelTests | test_didFinishNavigation_setsLoadingFalse | <1ms |
| โ | SignInWebSheetViewModelTests | test_didStartProvisionalNavigation_resetsLoadingTrue | 24ms |
| โ | SignInWebSheetViewModelTests | test_isLoading_trueByDefault | <1ms |
| โ | SignInWebSheetViewModelTests | test_loginCompletionThenCancel_doesNotFireCancel | 348ms |
| โ | SignInWebSheetViewModelTests | test_problemThenCancel_doesNotFireCancel | <1ms |
| โ | SignInWebSheetViewModelTests | test_recordBookFound_invokesHandlerOnceWithPreviousRequestAndCookies | <1ms |
| โ | SignInWebSheetViewModelTests | test_recordBookFound_secondCallIgnored | <1ms |
| โ | SignInWebSheetViewModelTests | test_recordCancel_invokesHandlerOnce | <1ms |
| โ | SignInWebSheetViewModelTests | test_recordLoginCompletion_invokesHandlerOnceWithURLAndCookies | 19ms |
| โ | SignInWebSheetViewModelTests | test_recordLoginCompletion_secondCallIgnored | <1ms |
| โ | SignInWebSheetViewModelTests | test_recordProblem_invokesHandlerOnce | 19ms |
| โ | SignInWebSheetViewModelTests | test_wasBookFound_falseAfterOnlyLoginCompletion | <1ms |
| โ | SignInWebSheetViewModelTests | test_wasBookFound_falseInitially | <1ms |
| โ | SignInWebSheetViewModelTests | test_wasBookFound_trueAfterRecordBookFound | <1ms |
| โ | SignOutCacheClearingTests | testClearCache_doesNotCrash_andExecutorStaysReusable | 148ms |
| โ | SignOutCacheClearingTests | testNetworkExecutorAndSharedCache_areSeparate | 15ms |
| โ | SignOutCacheClearingTests | testURLCacheShared_clearIsIdempotentAndPreservesCapacity | 11ms |
| โ | SingletonResetRegistryTests | testInvokeAll_reentrantRegisterDuringResetter_isDroppedWithWarning | 55ms |
| โ | SingletonResetRegistryTests | testInvokeAll_resetterClosureCapturingNilWeakRef_doesNotCrash | 1ms |
| โ | SingletonResetRegistryTests | testRegister_multipleThreadsConcurrently_yieldsConsistentSnapshot | 23ms |
| โ | SingletonResetRegistryTests | testRegister_reRegisterSameName_overwritesInPlacePreservingOrder | 2ms |
| โ | SingletonResetRegistryTests | testRegister_thenInvokeAll_callsResettersInRegistrationOrder | 1ms |
| โ | SkeletonTests | testBandWidth_floorsForTinyContent | <1ms |
| โ | SkeletonTests | testBandWidth_isFractionOfWideContent | 29ms |
| โ | SkeletonTests | testBaseColor_differsBetweenSchemes | <1ms |
| โ | SkeletonTests | testEntryPointsSkeleton_footprintIsNonDegenerate | 8ms |
| โ | SkeletonTests | testEntryPointsSkeleton_reservesRealSelectorFootprint | <1ms |
| โ | SkeletonTests | testHighlightColor_differsBetweenSchemes | <1ms |
| โ | SkeletonTests | testLineWidth_lastLineIsShorter | <1ms |
| โ | SkeletonTests | testLineWidth_middleLineIsFullWidth | <1ms |
| โ | SkeletonTests | testLineWidth_singleLineIsFullWidth | 186ms |
| โ | SkeletonTests | testPhase_loopsWithPeriodEqualToDuration | 79ms |
| โ | SkeletonTests | testPhase_movesWithTime | <1ms |
| โ | SkeletonTests | testPhase_rampsFromMinusOneTowardPlusOne | 46ms |
| โ | SkeletonTests | testPhase_zeroDurationIsSafe | <1ms |
| โ | SkeletonTests | testShouldAnimateSweep_activeAndMotionAllowed_returnsTrue | <1ms |
| โ | SkeletonTests | testShouldAnimateSweep_inactive_returnsFalse | <1ms |
| โ | SkeletonTests | testShouldAnimateSweep_lowPowerOn_returnsFalse | <1ms |
| โ | SkeletonTests | testShouldAnimateSweep_reduceMotionOn_returnsFalse | <1ms |
| โ | SkeletonTests | testSweepTranslation_centeredAtMidPhase | 1ms |
| โ | SkeletonTests | testSweepTranslation_fullyClearsContentAtExtremes | <1ms |
| โ | SkeletonTests | testSweepTranslation_movesWithPhase | 1ms |
| โ | SkeletonTests | testSweepTranslation_symmetricAboutCenter | <1ms |
| โ | SkeletonTests | testSweepTranslation_tiltMakesTallerContentTravelFarther | <1ms |
| โ | StatusAnnouncementTests | testPP3673_allAnnouncementTypes_areProgrammaticallyDeterminable | 5ms |
| โ | StatusAnnouncementTests | testPP3673_borrowFailed_announces | 35ms |
| โ | StatusAnnouncementTests | testPP3673_borrowLifecycle_producesSequentialAnnouncements | 9ms |
| โ | StatusAnnouncementTests | testPP3673_borrowStarted_announces | 14ms |
| โ | StatusAnnouncementTests | testPP3673_borrowSucceeded_announcesWithoutFocusShift | 3ms |
| โ | StatusAnnouncementTests | testPP3673_differentMessages_allAnnounced | 4ms |
| โ | StatusAnnouncementTests | testPP3673_downloadCompleted_announces | 4ms |
| โ | StatusAnnouncementTests | testPP3673_downloadFailed_announces | 88ms |
| โ | StatusAnnouncementTests | testPP3673_downloadStarted_announces | 5ms |
| โ | StatusAnnouncementTests | testPP3673_errorAnnouncement_doesNotMoveFocus | 5ms |
| โ | StatusAnnouncementTests | testPP3673_errorMessage_announcedViaVoiceOver | 4ms |
| โ | StatusAnnouncementTests | testPP3673_quickSuccession_sameMessage_collapsed | 12ms |
| โ | StatusAnnouncementTests | testPP3673_searchAnnouncement_usesAnnouncementNotification | 6ms |
| โ | StatusAnnouncementTests | testPP3673_searchFailed_announces | 3ms |
| โ | StatusAnnouncementTests | testPP3673_searchNoResults_announcesNoResults | 8ms |
| โ | StatusAnnouncementTests | testPP3673_searchRerun_announcesNewStatus | 6ms |
| โ | StatusAnnouncementTests | testPP3673_searchStrings_areLocalized | <1ms |
| โ | StatusAnnouncementTests | testPP3673_searchWithResults_announcesResultsForQuery | 38ms |
| โ | StatusAnnouncementTests | testPP3673_statusStrings_areUnderstandable | <1ms |
| โ | StatusAnnouncementTests | testPP3673_statusWithTitleAndMessage_isClear | 111ms |
| โ | StatusAnnouncementTests | testPP3673_updatedStatus_replacesOld | 8ms |
| โ | StatusAnnouncementTests | testPP3673_voiceOverDisabled_noAnnouncements | 43ms |
| โ | StopPositionSaveTests | testStop_bypassesSaveSuppression | 1ms |
| โ | StopPositionSaveTests | testStop_savesEvenDuringActiveSuppression | <1ms |
| โ | StoreTests | testEnvironment_substitution_changesEffectOutput | 7ms |
| โ | StoreTests | testReducer_canBeExercisedWithoutAStore | 9ms |
| โ | StoreTests | testSendAwait_runsEffectChainToCompletionBeforeReturning | 4ms |
| โ | StoreTests | testSend_effect_feedsFollowupActionThroughReducer | 3ms |
| โ | StoreTests | testSend_synchronousReducer_updatesStateBeforeReturning | 1ms |
| โ | StreamingReaderPresentationContractTests | testStreamingReaderPresentation_handleActionReadStreaming_callSequence | 15ms |
| โ | StreamingReaderProgressStoreTests | testStreamingReaderProgressStore_read_malformedJSON_returnsNil | 4ms |
| โ | StreamingReaderProgressStoreTests | testStreamingReaderProgressStore_read_returnsNilForDifferentBookID | 13ms |
| โ | StreamingReaderProgressStoreTests | testStreamingReaderProgressStore_read_unknownBookID_returnsNil | 3ms |
| โ | StreamingReaderProgressStoreTests | testStreamingReaderProgressStore_save_doesNotOverwriteOtherBooks | 7ms |
| โ | StreamingReaderProgressStoreTests | testStreamingReaderProgressStore_save_usesPalaceStreamingReaderPrefix | 4ms |
| โ | StreamingReaderProgressStoreTests | testStreamingReaderProgressStore_writeThenRead_nilFragmentRoundTrips | 4ms |
| โ | StreamingReaderProgressStoreTests | testStreamingReaderProgressStore_writeThenRead_returnsExactScrollOffset | 26ms |
| โ | StreamingReaderViewControllerScrollRestoreTests | testStreamingReaderViewController_didFinish_whenActualWithinTolerance_doesNotRetry | 130ms |
| โ | StreamingReaderViewControllerScrollRestoreTests | testStreamingReaderViewController_didFinish_whenJSReportsActualMatchesTarget_doesNotRetry | 90ms |
| โ | StreamingReaderViewControllerScrollRestoreTests | testStreamingReaderViewController_didFinish_whenJSReportsActualMismatch_retriesUpToMax | 64ms |
| โ | StreamingReaderViewControllerScrollRestoreTests | testStreamingReaderViewController_didFinish_whenJSResultMalformed_retriesUpToMax | 48ms |
| โ | StreamingReaderViewControllerScrollRestoreTests | testStreamingReaderViewController_didFinish_withNoSavedScroll_doesNotInvokeScrollTo | 235ms |
| โ | StreamingReaderViewControllerScrollRestoreTests | testStreamingReaderViewController_didFinish_withSavedScrollZero_doesNotInvokeScrollTo | 34ms |
| โ | StreamingReaderViewControllerScrollRestoreTests | testStreamingReaderViewController_didFinish_withSavedScroll_invokesScrollToInJS | 17ms |
| โ | StreamingReaderViewControllerScrollRestoreTests | testStreamingReaderViewController_parseActualY_returnsNilOnNonDictionary | 286ms |
| โ | StreamingReaderViewControllerScrollRestoreTests | testStreamingReaderViewController_parseActualY_returnsNilWhenActualMissing | 18ms |
| โ | StreamingReaderViewControllerScrollRestoreTests | testStreamingReaderViewController_parseActualY_returnsValueFromDouble | 1ms |
| โ | StreamingReaderViewControllerScrollRestoreTests | testStreamingReaderViewController_parseActualY_returnsValueFromInt | 1ms |
| โ | StreamingReaderViewControllerScrollRestoreTests | testStreamingReaderViewController_parseActualY_returnsValueFromNSNumber | 3ms |
| โ | StreamingReaderViewModelTests | testStreamingReaderViewModel_didDismiss_persistsScrollOffsetToStore | 2ms |
| โ | StreamingReaderViewModelTests | testStreamingReaderViewModel_didDismiss_withoutPriorNavigation_doesNotSave | 2ms |
| โ | StreamingReaderViewModelTests | testStreamingReaderViewModel_didNavigationFinish_thenDismiss_persistsLatestOffset | 4ms |
| โ | StreamingReaderViewModelTests | testStreamingReaderViewModel_init_whenOffline_emitsOfflineState | 36ms |
| โ | StreamingReaderViewModelTests | testStreamingReaderViewModel_init_withMalformedSavedProgress_doesNotCrashAndStaysReady | 20ms |
| โ | StreamingReaderViewModelTests | testStreamingReaderViewModel_init_withSavedProgress_emitsReadyStateWithRestoredOffset | 2ms |
| โ | StreamingReaderViewModelTests | testStreamingReaderViewModel_init_withoutSavedProgress_emitsReadyStateWithNilOffset | 2ms |
| โ | StreamingReaderViewModelTests | testStreamingReaderViewModel_loadingThenReadyThenDismissed_persistsLastOffsetRoundtrip | 2ms |
| โ | StreamingReaderViewModelTests | testStreamingReaderViewModel_reload_whenReachabilityRestored_emitsReadyState | 2ms |
| โ | StringExtensionTests | testMd5hex_differsByInput | <1ms |
| โ | StringExtensionTests | testMd5hex_emptyString | <1ms |
| โ | StringExtensionTests | testMd5hex_length | <1ms |
| โ | StringExtensionTests | testMd5hex_returnsConsistentHash | 1ms |
| โ | StringExtensionTests | testParseJSONString_arrayJSON | 3ms |
| โ | StringExtensionTests | testParseJSONString_emptyString | <1ms |
| โ | StringExtensionTests | testParseJSONString_invalidJSON | 7ms |
| โ | StringExtensionTests | testParseJSONString_validJSON | 2ms |
| โ | StringExtensionsTests | testIsDate_delayBoundary_isStrictGreaterThan | 5ms |
| โ | StringExtensionsTests | testIsDate_invalidOrEmptyStrings_returnFalse | 6ms |
| โ | StringExtensionsTests | testIsDate_temporalDirection_acrossSecondsDaysAndYears | 2ms |
| โ | StringHTMLEntitiesTests | testDecode_CommonHTMLEntities_DecodesCorrectly | 6ms |
| โ | StringHTMLEntitiesTests | testDecode_NumericDecimal_DecodesCorrectly | 2ms |
| โ | StringHTMLEntitiesTests | testDecode_NumericHex_DecodesCorrectly | <1ms |
| โ | StringHTMLEntitiesTests | testDecode_XMLPredefinedEntities_DecodesCorrectly | 2ms |
| โ | StringHTMLEntitiesTests | testDecode_malformedInputPreservedVerbatim | 2ms |
| โ | StringHTMLEntitiesTests | testDecode_passThroughAndMixedContentEdgeCases | 21ms |
| โ | StringHTMLEntitiesTests | testNSStringBridge_decodesEntitiesAndMixedContent | 1ms |
| โ | StringNYPLAdditionsTests | testStringContains_caseInsensitive | 4ms |
| โ | StringNYPLAdditionsTests | testStringIsEmpty_withWhitespace | 1ms |
| โ | StringNYPLAdditionsTests | testStringPrefix_matching | 1.11s |
| โ | StringNYPLAdditionsTests | testStringSuffix_matching | 1ms |
| โ | String_NYPLAdditionsTests | testFileSystemSafeBase64_encodeAndDecodeRoundTripWithoutUnsafeChars | 221ms |
| โ | String_NYPLAdditionsTests | testMD5 | 3ms |
| โ | String_NYPLAdditionsTests | testSHA256 | 4ms |
| โ | String_NYPLAdditionsTests | testURLEncodingQueryParam | 1ms |
| โ | SupportSectionDecisionTests | testDecide_botDisabled_withAccountEmail_usesAccountEmail | 42ms |
| โ | SupportSectionDecisionTests | testDecide_botDisabled_withEmptyEmail_usesGeneralFallback | 1ms |
| โ | SupportSectionDecisionTests | testDecide_botDisabled_withoutAccountEmail_usesGeneralFallback | <1ms |
| โ | SupportSectionDecisionTests | testDecide_botEnabled_choosesTriageBot_regardlessOfEmail | 1ms |
| โ | SupportSectionDecisionTests | testEmailAddress_isNilForTriageBot_andResolvedForLegacy | 4ms |
| โ | SyncConflictResolutionTests | testConflictResolution_localNewer_usesLocal | 2ms |
| โ | SyncConflictResolutionTests | testConflictResolution_sameTimestamp_usesHigherProgress | <1ms |
| โ | SyncConflictResolutionTests | testConflictResolution_serverNewer_usesServer | <1ms |
| โ | SyncDeletionGuardTests | testVersionComparison_emptyIsLessThan | 44ms |
| โ | SyncDeletionGuardTests | testVersionComparison_equal_returnsFalse | 3ms |
| โ | SyncDeletionGuardTests | testVersionComparison_sameMajor | <1ms |
| โ | SyncDeletionGuardTests | testVersionComparison_shorterIsLess | 2ms |
| โ | SyncDeletionGuardTests | testVersionComparison_shorterIsNotLess_ifZero | 21ms |
| โ | SyncDeletionRatioTests | testCompleteFeed_noDeletions | 1ms |
| โ | SyncDeletionRatioTests | testEmptyFeedWithLocalBooks_shouldSkipDeletion | 65ms |
| โ | SyncDeletionRatioTests | testEmptyFeedWithNoLocalBooks_shouldNotSkip | 70ms |
| โ | SyncDeletionRatioTests | testNormalSync_singleBookRemoved_noWarning | <1ms |
| โ | SyncDeletionRatioTests | testPartialFeed_shouldWarnButNotSkip | 2ms |
| โ | SyncDeletionRatioTests | testSmallLibrary_noProtection | <1ms |
| โ | SyncPermissionTests | testAccountDetails_nilDetails_makesSyncPropertiesFalse | 69ms |
| โ | SyncPermissionTests | testAccountDetails_syncProperties_matchExpectations | 52ms |
| โ | SyncPermissionTests | testSyncIsPossibleAndPermitted_doesNotCrash | 4ms |
| โ | SyncPermissionTests | testSyncIsPossible_withCredentials_dependsOnCurrentAccountDetails | 2ms |
| โ | SyncPermissionTests | testSyncIsPossible_withoutCredentials_returnsFalse | 65ms |
| โ | TPPAccountAuthStateEnumTests | testCodable_encodesAndDecodesCorrectly | 3ms |
| โ | TPPAccountAuthStateEnumTests | testDescription_returnsCorrectStrings | 1ms |
| โ | TPPAccountAuthStateEnumTests | testHasAdobeActivation_trueForLoggedInAndStale | 109ms |
| โ | TPPAccountAuthStateEnumTests | testHasStoredCredentials_falseOnlyForLoggedOut | 46ms |
| โ | TPPAccountAuthStateEnumTests | testNeedsReauthentication_trueForLoggedOutAndStale | 2ms |
| โ | TPPAccountListDataSourceTests | testLoadData_MixedCaseLibraryNames_SortsCaseInsensitively | <1ms |
| โ | TPPAccountListDataSourceTests | testLoadData_WithFilter_FiltersCaseInsensitively | 101ms |
| โ | TPPAccountListDataSourceTests | testLoadData_WithNationalAccounts_SeparatesAndSortsCaseInsensitively | 2ms |
| โ | TPPAdobeActivationSkipTests | testShouldSkipAdobeActivation_falseWhenLoggedIn | 62ms |
| โ | TPPAdobeActivationSkipTests | testShouldSkipAdobeActivation_falseWhenLoggedOut | 24ms |
| โ | TPPAdobeActivationSkipTests | testShouldSkipAdobeActivation_falseWhenStaleButAdobeNotAuthorized | 28ms |
| โ | TPPAdobeActivationSkipTests | testShouldSkipAdobeActivation_falseWhenStaleButNoAdobeCredentials | 51ms |
| โ | TPPAdobeActivationSkipTests | testShouldSkipAdobeActivation_trueWhenStaleAndAdobeAuthorized | 22ms |
| โ | TPPAdobeActivationSkipTests | testUpdateUserAccount_marksLoggedIn | 76ms |
| โ | TPPAgeCheckCompletionTests | test_didComplete_birthYear14YearsAgo_marksAboveAgeLimit | 23ms |
| โ | TPPAgeCheckCompletionTests | test_didComplete_birthYear5YearsAgo_marksBelowAgeLimit | 23ms |
| โ | TPPAgeCheckCompletionTests | test_didComplete_birthYearExactly13YearsAgo_marksBelowAgeLimit | 30ms |
| โ | TPPAgeCheckCompletionTests | test_didComplete_setsUserPresentedAgeCheckTrue | 25ms |
| โ | TPPAgeCheckCompletionTests | test_didFail_doesNotSetUserPresentedAgeCheck | 22ms |
| โ | TPPAgeCheckIsValidTests | test_birthYearList_spansMinToCurrentInclusive | 97ms |
| โ | TPPAgeCheckIsValidTests | test_isValid_aboveCurrentYear_isRejected | <1ms |
| โ | TPPAgeCheckIsValidTests | test_isValid_belowMinYear_isRejected | 2ms |
| โ | TPPAgeCheckIsValidTests | test_isValid_currentYear_isAdmitted | 3ms |
| โ | TPPAgeCheckIsValidTests | test_isValid_minYear_isAdmitted | 682ms |
| โ | TPPAgeCheckStateMachineTests | testAgeCheck_blocksUntilLoaded_thenVerifies | 236ms |
| โ | TPPAgeCheckStateMachineTests | testAgeCheck_evictedDetails_completionFalse | 205ms |
| โ | TPPAgeCheckStateMachineTests | testAgeCheck_failedDetailsLoad_completionFalse | 43ms |
| โ | TPPAgeCheckStateMachineTests | testAgeCheck_nilCurrentAccount_completionFalse | 113ms |
| โ | TPPAgeCheckTests | testAge0 | 65ms |
| โ | TPPAgeCheckTests | testAge100 | 40ms |
| โ | TPPAgeCheckTests | testAge12 | 47ms |
| โ | TPPAgeCheckTests | testAge13 | 49ms |
| โ | TPPAgeCheckTests | testAge14 | 36ms |
| โ | TPPAgeCheckTests | testAgeCheckFailed | 1.38s |
| โ | TPPAgeCheckVerifyDecisionTests | test_verify_needsAuthTrue_admitsUserWithoutPrompt | 36ms |
| โ | TPPAgeCheckVerifyDecisionTests | test_verify_nilCompletion_doesNotCrash | 23ms |
| โ | TPPAgeCheckVerifyDecisionTests | test_verify_nilCurrentAccount_blocksDefensively | 1ms |
| โ | TPPAgeCheckVerifyDecisionTests | test_verify_userAboveAgeLimitTrue_admitsImmediately | 29ms |
| โ | TPPAgeCheckVerifyDecisionTests | test_verify_userPresentedAgeCheckAndBelowLimit_blocksWithoutReprompt | 71ms |
| โ | TPPAlertUtilsTests | testAlertTitleMessageError_withMessage_prefersMessageOverError | 3ms |
| โ | TPPAlertUtilsTests | testAlertTitleMessageError_withNilMessage_fallsBackToError | 69ms |
| โ | TPPAlertUtilsTests | testAlertWithDetails_hasOKAction | 3ms |
| โ | TPPAlertUtilsTests | testAlertWithDetails_hasTwoActions | 4ms |
| โ | TPPAlertUtilsTests | testAlertWithDetails_hasViewDetailsAction | 2ms |
| โ | TPPAlertUtilsTests | testAlertWithDetails_plainMessageWithProblemDoc_includesDetail | 35ms |
| โ | TPPAlertUtilsTests | testAlertWithDetails_retryAction_invokesClosure | 3ms |
| โ | TPPAlertUtilsTests | testAlertWithDetails_withError_buildsAlert | 4ms |
| โ | TPPAlertUtilsTests | testAlertWithDetails_withProblemDocument_doesNotDuplicateDetail | 4ms |
| โ | TPPAlertUtilsTests | testAlertWithDetails_withRetryAction_hasRetryAndCancelNoOK | 4ms |
| โ | TPPAlertUtilsTests | testAlertWithDetails_withoutRetry_okActionIsDefaultStyle | 3ms |
| โ | TPPAlertUtilsTests | testAlert_cancelStyle_okActionIsCancel | 4ms |
| โ | TPPAlertUtilsTests | testAlert_customStyle_usesProvidedStyle | 3ms |
| โ | TPPAlertUtilsTests | testAlert_defaultStyle_okActionIsDefaultStyle | 2ms |
| โ | TPPAlertUtilsTests | testAlert_destructiveStyle_okActionIsDestructive | 3ms |
| โ | TPPAlertUtilsTests | testAlert_emptyMessage_returnsEmptyMessage | 2ms |
| โ | TPPAlertUtilsTests | testAlert_emptyTitle_substitutesAlertDefault | 2ms |
| โ | TPPAlertUtilsTests | testAlert_hasOKAction | 10ms |
| โ | TPPAlertUtilsTests | testAlert_nilMessage_substitutesEmpty | 59ms |
| โ | TPPAlertUtilsTests | testAlert_nilTitle_substitutesDefault | 61ms |
| โ | TPPAlertUtilsTests | testAlert_titleAndMessage_createsAlert | 2ms |
| โ | TPPAlertUtilsTests | testAlert_veryLongMessage_preservesContent | 43ms |
| โ | TPPAlertUtilsTests | testAlert_withError_createsAlert | 50ms |
| โ | TPPAlertUtilsTests | testAlert_withNSURLErrorCancelled_setsMessage | 34ms |
| โ | TPPAlertUtilsTests | testAlert_withNSURLErrorNotConnected_setsMessage | 58ms |
| โ | TPPAlertUtilsTests | testAlert_withNSURLErrorTimedOut_setsMessage | 13ms |
| โ | TPPAlertUtilsTests | testAlert_withNSURLErrorUnknownCode_setsUnknownRequestMessage | 3ms |
| โ | TPPAlertUtilsTests | testAlert_withNSURLErrorUnsupportedURL_setsMessage | 3ms |
| โ | TPPAlertUtilsTests | testAlert_withNilError_createsAlert | 8ms |
| โ | TPPAlertUtilsTests | testAlert_withUnknownDomainAndLocalizedDescription_usesDescription | 51ms |
| โ | TPPAlertUtilsTests | testAlert_withUnknownDomainNoDescription_usesGenericFallback | 24ms |
| โ | TPPAlertUtilsTests | testBorrowErrorPipeline_doesNotDuplicateProblemDocDetail | 2ms |
| โ | TPPAlertUtilsTests | testCrashlyticsFE741015_PresentAlertWhileAlertShowing_DoesNotCrash | 143ms |
| โ | TPPAlertUtilsTests | testPresentAlert_WhenNoAlertShowing_PresentsSuccessfully | 160ms |
| โ | TPPAlertUtilsTests | testRetryPresentation_AfterFirstAlertDismisses_PresentsSecond | 145ms |
| โ | TPPAlertUtilsTests | testRetryPresentation_ExceedsMaxRetries_DropsAlertWithCompletion | 188ms |
| โ | TPPAlertUtilsTests | testSetProblemDocument_appendMode_appendsDetailAfterExisting | 2ms |
| โ | TPPAlertUtilsTests | testSetProblemDocument_appendMode_titleAndDetailBothAppended | 8ms |
| โ | TPPAlertUtilsTests | testSetProblemDocument_appendsToMessage | 3ms |
| โ | TPPAlertUtilsTests | testSetProblemDocument_emptyAlertTitle_fillsFromDoc | 2ms |
| โ | TPPAlertUtilsTests | testSetProblemDocument_nilController_doesNotCrash | 2ms |
| โ | TPPAlertUtilsTests | testSetProblemDocument_nilDocument_doesNotCrash | 2ms |
| โ | TPPAlertUtilsTests | testSetProblemDocument_replaceMode_setsTitleAndDetail | 40ms |
| โ | TPPAlertUtilsTests | testSetProblemDocument_replaceMode_titleOnly_fillsMessageFromDetail | 2ms |
| โ | TPPAlertUtilsTests | testSetProblemDocument_replacesMessage | 162ms |
| โ | TPPAnnotationsHermeticTests | testAnnotationsURL_WhenMainFeedURLPresent_EndsInAnnotationsPath | 1ms |
| โ | TPPAnnotationsHermeticTests | testDeleteBookmark_InvalidURLString_ReturnsFalseWithoutNetwork | 3ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_NetworkError_ReturnsFailure | 48ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_Non200StatusCode_ReturnsFailure | 26ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_NonHTTPResponse_ReportsFailedWithNeitherErrorNorStatus | 1ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_NonHTTPURLResponse_ReturnsFailure | 3ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_NotFound404_ReturnsFailure | 1ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_QueuedForRetry_IsReportedAsPendingNotFailure | 4ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_RequestShape_PreservesMethodHeadersTimeoutAndBody | 1ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_ServerRefusal_ReportsFailedCarryingStatusCode | 2ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_Success200WithFullPayload_ReturnsIdAndTimestamp | 2ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_Success200WithMalformedJSON_ReturnsNilIdAndTimestamp | 33ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_Success200WithMissingBodyKey_ReturnsNilTimestamp | 14ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_Success200WithMissingIdKey_ReturnsNilId | 2ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_Success200WithNilData_ReturnsNilIdAndTimestamp | 1ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_Success_ReportsSucceededWithServerValues | 31ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_TransportErrorNotQueued_ReportsFailedCarryingUnderlyingError | 10ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_Unauthorized401_ReturnsFailure | 2ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_UnserializableParameters_ReportsFailedWithoutNetwork | 1ms |
| โ | TPPAnnotationsHermeticTests | testPostAnnotation_UsesExecutorOverride_NotShared | 183ms |
| โ | TPPAnnotationsHermeticTests | testPostReadingPosition_GenuineTransportLoss_ReportsWithUnderlyingErrorAttached | 76ms |
| โ | TPPAnnotationsHermeticTests | testPostReadingPosition_ProductionNoResponseShape_ReportsUnder902 | 115ms |
| โ | TPPAnnotationsHermeticTests | testPostReadingPosition_QueuedForRetry_ReportsNothingToErrorLogging | 67ms |
| โ | TPPAnnotationsHermeticTests | testPostReadingPosition_ServerRefusal_ReportsStatusCodeInMetadata | 80ms |
| โ | TPPAnnotationsHermeticTests | testPostReadingPosition_TwoBookmarksSameBook_GetDistinctKeysSoNeitherIsLost | 139ms |
| โ | TPPAnnotationsHermeticTests | testPostReadingPosition_TwoPositionsSameBook_ShareAKeySoTheLatestWins | 83ms |
| โ | TPPAnnotationsHermeticTests | testPostReadingPosition_WhenQueuedForRetry_ActuallyEnqueuesTheWrite | 188ms |
| โ | TPPAnnotationsOverrideTests | testAnnotationDevice_FirebaseOverride_IsClearedAfterReset | 1ms |
| โ | TPPAnnotationsOverrideTests | testAnnotationDevice_FirebaseOverride_IsUsedWhenAdobeIDIsAbsent | 75ms |
| โ | TPPAnnotationsOverrideTests | testSyncIsPossible_ExplicitProviderArgumentBeatsOverride | 192ms |
| โ | TPPAnnotationsOverrideTests | testSyncIsPossible_RoutesThroughAccountsManagerOverride | 63ms |
| โ | TPPAnnotationsTests | testAnnotationResponse_HandlesNilValues | 35ms |
| โ | TPPAnnotationsTests | testAnnotationResponse_StoresValues | 30ms |
| โ | TPPAnnotationsTests | testTPPAnnotationsWrapper_isUsablePolymorphicallyThroughProtocolWithStableValue | 59ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_DeleteAllBookmarks_CompletesImmediately | 37ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_DeleteBookmark_Handles404AsSuccess | 29ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_DeleteBookmark_HandlesServerError | 38ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_DeleteBookmark_HandlesSuccessfulDeletion | 61ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_DeleteBookmark_ReturnsFalseForInvalidURL | 45ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_DeleteBookmarks_HandlesArray | 158ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_GetServerBookmarks_ParsesValidResponse | 37ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_GetServerBookmarks_ReturnsNilForNilBook | 99ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_GetServerBookmarks_ReturnsNilForNilURL | 49ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_GetServerBookmarks_ReturnsNilWhenSyncNotPermitted | 784ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_HandlesConcurrentRequests | 91ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_PostAnnotation_CreatesCorrectRequestFormat | 83ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_PostAnnotation_HandlesInvalidJSONGracefully | 160ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_PostAnnotation_HandlesNetworkError | 115ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_PostAnnotation_HandlesNon200StatusCode | 72ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_PostAnnotation_HandlesSuccessResponse | 191ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_PostAudiobookBookmark_ThrowsOnFailure | 125ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_PostListeningPosition_CallsPostReadingPosition | 29ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_SyncIsPossible_ReturnsFalseWithoutCredentials | 22ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_SyncIsPossible_ReturnsTrueWithCredentialsAndSyncSupport | 52ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_SyncReadingPosition_ReturnsNilWhenNotPermitted | 84ms |
| โ | TPPAnnotationsTests | testTPPAnnotations_UploadLocalBookmarks_SkipsAlreadySyncedBookmarks | 63ms |
| โ | TPPAnnotationsTests | testTPPBookmarkFactory_FiltersBookmarksByMotivation | 61ms |
| โ | TPPAnnotationsTests | testTPPBookmarkFactory_RejectsBookmarksForWrongBook | 310ms |
| โ | TPPAnnotationsTests | testTPPBookmarkSpec_ReadingProgressMotivation | 33ms |
| โ | TPPAnnotationsTests | testTPPBookmarkSpec_SerializesToValidJSON | 67ms |
| โ | TPPAnnouncementManagerTests | testAddPresentedAnnouncement | 4ms |
| โ | TPPAnnouncementManagerTests | testDeletePresentedAnnouncement | 1ms |
| โ | TPPAnnouncementManagerTests | testShouldPresentAnnouncement | 1ms |
| โ | TPPAuthDocumentContractTests | testCoverageTable_CoversEveryKnownAuthType | 9ms |
| โ | TPPAuthDocumentContractTests | testEveryAdvertisedRel_HasAClientSideHandler | 6ms |
| โ | TPPAuthDocumentContractTests | testLogoutRel_OnAuthWithLogoutLink_IsCapturedAsHref | 2ms |
| โ | TPPBackgroundExecutorTests | testExecutorCallsSetUpWorkItem | 70ms |
| โ | TPPBackgroundExecutorTests | testExecutorDoesNotRetainOwner | 5ms |
| โ | TPPBackgroundExecutorTests | testExecutorHandlesNilWorkItem | 13ms |
| โ | TPPBadgeImageGapTests | testTPPBadgeImageView_audiobook_initSucceeds | 13ms |
| โ | TPPBadgeImageGapTests | testTPPBadgeImage_audiobook_assetNameReturnsAudiobookBadge | <1ms |
| โ | TPPBaseReaderViewControllerInitialLocationTests | testGate_afterReady_invokesGoOnce | 21ms |
| โ | TPPBaseReaderViewControllerInitialLocationTests | testGate_beforeReady_doesNotInvokeGo | 813ms |
| โ | TPPBaseReaderViewControllerInitialLocationTests | testGate_goFalseThenTrue_retriesToSuccess_noDegradation | 309ms |
| โ | TPPBaseReaderViewControllerInitialLocationTests | testGate_goPersistentlyFalse_retriesThenRecordsPage1Degradation | 44ms |
| โ | TPPBaseReaderViewControllerInitialLocationTests | testGate_goReturnsTrue_doesNotFlagDegradation | 13ms |
| โ | TPPBaseReaderViewControllerInitialLocationTests | testGate_noInitialLocation_neverInvokesGo | 87ms |
| โ | TPPBaseReaderViewControllerInitialLocationTests | testGate_readyBeforeAttach_navigatesWhenAttachLands | 129ms |
| โ | TPPBaseReaderViewControllerInitialLocationTests | testGate_secondReadySignal_doesNotDuplicateGo | 15ms |
| โ | TPPBaseReaderViewControllerInitialLocationTests | testNeverRead_nilLocator_zeroRestoresReachNavigator | 16ms |
| โ | TPPBaseReaderViewControllerInitialLocationTests | testSyncRestore_serverShapedLocator_exactlyOneRestoreReachesNavigator | 10ms |
| โ | TPPBasicAuthTests | testHandleChallenge_basicAuth_withEmptyCredentials_usesCredential | <1ms |
| โ | TPPBasicAuthTests | testHandleChallenge_basicAuth_withMultipleFailures_cancelsChallenge | 1ms |
| โ | TPPBasicAuthTests | testHandleChallenge_basicAuth_withNilPassword_cancelsChallenge | <1ms |
| โ | TPPBasicAuthTests | testHandleChallenge_basicAuth_withNilUsername_cancelsChallenge | <1ms |
| โ | TPPBasicAuthTests | testHandleChallenge_basicAuth_withPreviousFailure_cancelsChallenge | 1ms |
| โ | TPPBasicAuthTests | testHandleChallenge_basicAuth_withValidCredentials_usesCredential | 2ms |
| โ | TPPBasicAuthTests | testHandleChallenge_clientCertificate_rejectsProtectionSpace | 38ms |
| โ | TPPBasicAuthTests | testHandleChallenge_credentials_noPersistence | <1ms |
| โ | TPPBasicAuthTests | testHandleChallenge_serverTrust_performsDefaultHandling | <1ms |
| โ | TPPBasicAuthTests | testHandleChallenge_unknownMethod_rejectsProtectionSpace | <1ms |
| โ | TPPBasicAuthTests | testInit_createsInstance | 26ms |
| โ | TPPBasicAuthTests | testResponseTo_returnsTheSameAnswerAsTheCompletionForm | 15ms |
| โ | TPPBasicAuthTests | testResponseTo_returnsTheStoredCredentialForABasicAuthChallenge | 1ms |
| โ | TPPBookAccessibilityLabelTests | testVoiceOverLabel_audiobook_authorOnly_includesFormatAndAuthor | 19ms |
| โ | TPPBookAccessibilityLabelTests | testVoiceOverLabel_audiobook_narratorOnly_omitsAuthorPhrase | <1ms |
| โ | TPPBookAccessibilityLabelTests | testVoiceOverLabel_audiobook_neitherAuthorNorNarrator_titlePlusFormat | <1ms |
| โ | TPPBookAccessibilityLabelTests | testVoiceOverLabel_audiobook_withNarrator_includesNarrator | 1ms |
| โ | TPPBookAccessibilityLabelTests | testVoiceOverLabel_ebook_blankAuthor_titleOnly | 78ms |
| โ | TPPBookAccessibilityLabelTests | testVoiceOverLabel_ebook_noAuthor_titleOnly | 2ms |
| โ | TPPBookAccessibilityLabelTests | testVoiceOverLabel_ebook_titleByAuthor | 2ms |
| โ | TPPBookAccessibilityLabelTests | testVoiceOverLabel_neverIncludesSummary | 43ms |
| โ | TPPBookAuthorCoverageTests | testBookAuthor_NilURL_IsDistinctFromEmptyURL | 2ms |
| โ | TPPBookAuthorCoverageTests | testBookAuthor_initWithNameAndURL | 2ms |
| โ | TPPBookAuthorCoverageTests | testBookAuthor_initWithNilURL | 35ms |
| โ | TPPBookAuthorTests | testInit_EmptyName_AllowsEmptyString | 26ms |
| โ | TPPBookAuthorTests | testInit_WithNameAndURL_SetsProperties | <1ms |
| โ | TPPBookAuthorTests | testInit_WithNilURL_SetsURLToNil | 50ms |
| โ | TPPBookAuthorTests | testIsKindOfClass_NSObject | <1ms |
| โ | TPPBookAuthorTests | test_differentName_haveDifferentProperties | <1ms |
| โ | TPPBookAuthorTests | test_sameNameAndURL_haveMatchingProperties | <1ms |
| โ | TPPBookBearerTokenTests | testBearerToken_clearWithNil | 15ms |
| โ | TPPBookBearerTokenTests | testBearerToken_defaultsToNil | 9ms |
| โ | TPPBookBearerTokenTests | testBearerToken_writeAndRead | 24ms |
| โ | TPPBookBearerTokenTests | testFulfillURL_clearWithNil | 39ms |
| โ | TPPBookBearerTokenTests | testFulfillURL_defaultsToNil | 1.60s |
| โ | TPPBookBearerTokenTests | testFulfillURL_independentPerBook | 218ms |
| โ | TPPBookBearerTokenTests | testFulfillURL_overwrite | 13ms |
| โ | TPPBookBearerTokenTests | testFulfillURL_persistsAcrossNewBookInstances | 15ms |
| โ | TPPBookBearerTokenTests | testFulfillURL_writeAndRead | 7ms |
| โ | TPPBookButtonsStateTests | testAllFiveAvailabilityKindsProduceDistinctStates_exceptLimitedAndUnlimited | 12ms |
| โ | TPPBookButtonsStateTests | testStateForLimited_returnsCanBorrow | <1ms |
| โ | TPPBookButtonsStateTests | testStateForNilAvailability_returnsUnsupported | 2ms |
| โ | TPPBookButtonsStateTests | testStateForReady_returnsHoldingFOQ | 65ms |
| โ | TPPBookButtonsStateTests | testStateForReserved_returnsHolding | <1ms |
| โ | TPPBookButtonsStateTests | testStateForUnavailable_returnsCanHold | <1ms |
| โ | TPPBookButtonsStateTests | testStateForUnlimited_returnsCanBorrow | 2ms |
| โ | TPPBookContentMetadataFilesHelperTests | testCurrentAccountDirectory_returnsURLOrNil | 1ms |
| โ | TPPBookContentMetadataFilesHelperTests | testDirectory_containsBundleIdentifier | 6ms |
| โ | TPPBookContentMetadataFilesHelperTests | testDirectory_differentAccounts_returnDifferentPaths | <1ms |
| โ | TPPBookContentMetadataFilesHelperTests | testDirectory_emptyString_handlesGracefully | <1ms |
| โ | TPPBookContentMetadataFilesHelperTests | testDirectory_longAccountId_handlesGracefully | 39ms |
| โ | TPPBookContentMetadataFilesHelperTests | testDirectory_pathContainsApplicationSupport | <1ms |
| โ | TPPBookContentMetadataFilesHelperTests | testDirectory_sameAccount_returnsSamePath | 1ms |
| โ | TPPBookContentMetadataFilesHelperTests | testDirectory_specialCharacters_handlesGracefully | 1ms |
| โ | TPPBookContentMetadataFilesHelperTests | testDirectory_validAccountId_returnsURL | 7ms |
| โ | TPPBookContentTypeConverterStreamingHTMLTests | testTPPBookContentTypeConverter_stringValue_allCases_returnDistinctNonEmptyTokens | 2ms |
| โ | TPPBookContentTypeConverterStreamingHTMLTests | testTPPBookContentTypeConverter_stringValue_streamingHTML_returnsExpectedToken | <1ms |
| โ | TPPBookContentTypeConverterTests | testStringValue_audiobook | 4ms |
| โ | TPPBookContentTypeConverterTests | testStringValue_epub | 41ms |
| โ | TPPBookContentTypeConverterTests | testStringValue_pdf | 2ms |
| โ | TPPBookContentTypeConverterTests | testStringValue_unsupported | 824ms |
| โ | TPPBookContentTypeExtendedTests | testFromMimeType_empty | <1ms |
| โ | TPPBookContentTypeExtendedTests | testFromMimeType_epubAndPdfMappedCorrectly | 5ms |
| โ | TPPBookContentTypeExtendedTests | testFromMimeType_nil | <1ms |
| โ | TPPBookContentTypeExtendedTests | testFromMimeType_unknown | <1ms |
| โ | TPPBookContentTypeTests | test_converter_audiobook_returnsAudioBook | <1ms |
| โ | TPPBookContentTypeTests | test_converter_epub_returnsEpub | <1ms |
| โ | TPPBookContentTypeTests | test_converter_pdf_returnsPDF | <1ms |
| โ | TPPBookContentTypeTests | test_converter_unsupported_returnsUnsupported | 1ms |
| โ | TPPBookContentTypeTests | test_from_audiobookJsonMimeType_returnsAudiobook | <1ms |
| โ | TPPBookContentTypeTests | test_from_emptyMimeType_returnsUnsupported | <1ms |
| โ | TPPBookContentTypeTests | test_from_epubZipMimeType_returnsEpub | <1ms |
| โ | TPPBookContentTypeTests | test_from_nilMimeType_returnsUnsupported | 42ms |
| โ | TPPBookContentTypeTests | test_from_octetStreamMimeType_returnsEpub | <1ms |
| โ | TPPBookContentTypeTests | test_from_pdfMimeType_returnsPdf | <1ms |
| โ | TPPBookContentTypeTests | test_from_unknownMimeType_returnsUnsupported | 18ms |
| โ | TPPBookContentTypeTests | test_opdsPublicationType_isInSupportedTypes | <1ms |
| โ | TPPBookContentTypeTests | test_opdsPublicationType_withDirectEpubIndirect_producesEpubPath | <1ms |
| โ | TPPBookContentTypeTests | test_opdsPublicationType_withLCPEpubIndirect_producesEpubPath | <1ms |
| โ | TPPBookCoverCacheLookupTests | test_fetchCoverImage_consultsTheCacheOncePerKey | 3ms |
| โ | TPPBookCoverCacheLookupTests | test_fetchCoverImage_onHit_doesNotReReadTheHitKey | <1ms |
| โ | TPPBookCoverCacheLookupTests | test_lookup_fallsThroughToLaterKey_whenEarlierMisses | <1ms |
| โ | TPPBookCoverCacheLookupTests | test_lookup_onHit_consultsCacheExactlyOncePerKey | <1ms |
| โ | TPPBookCoverCacheLookupTests | test_lookup_prefersEarlierKey_whenBothArePresent | <1ms |
| โ | TPPBookCoverCacheLookupTests | test_lookup_returnsNil_whenNoKeyIsCached | 28ms |
| โ | TPPBookCoverCacheLookupTests | test_lookup_whenEntryIsEvictedBetweenReads_returnsFirstReadAndDoesNotTrap | <1ms |
| โ | TPPBookCoverCacheLookupTests | test_lookup_withNoKeys_returnsNilWithoutTouchingCache | <1ms |
| โ | TPPBookCoverRegistryTests | testDecodePixels_ClampsToMemoryCeiling | <1ms |
| โ | TPPBookCoverRegistryTests | testDecodePixels_TargetsExactDisplayPixels_NoOversample | <1ms |
| โ | TPPBookCoverRegistryTests | testDownsampleImage_DecodesJPEGAtTargetSize | 115ms |
| โ | TPPBookCoverRegistryTests | testDownsampleImage_DecodesPNGData | 49ms |
| โ | TPPBookCoverRegistryTests | testDownsampleImage_EmptyDataReturnsNil | 1ms |
| โ | TPPBookCoverRegistryTests | testDownsampleImage_InvalidDataReturnsNil | 15ms |
| โ | TPPBookCoverRegistryTests | testDownsampleImage_MemoryEfficiency_LargeImage | 201ms |
| โ | TPPBookCoverRegistryTests | testDownsampleImage_PreservesAspectRatio | 115ms |
| โ | TPPBookCoverRegistryTests | testDownsampleImage_SmallImageNotUpscaled | 2ms |
| โ | TPPBookCoverRegistryTests | testDownsampleImage_nonFiniteMaxDimension_returnsNil | 4ms |
| โ | TPPBookCoverRegistryTests | testHostFailureTracker_NilHostHandledGracefully | 7ms |
| โ | TPPBookCoverRegistryTests | testHostFailureTracker_RecordsFailureAndSkips | 8ms |
| โ | TPPBookCoverRegistryTests | testHostFailureTracker_ResetClearsAll | 69ms |
| โ | TPPBookCoverRegistryTests | testHostFailureTracker_ResetsAfterCooldown | 214ms |
| โ | TPPBookCoverRegistryTests | testHostFailureTracker_SuccessClearsFailure | 164ms |
| โ | TPPBookCoverRegistryTests | testHostFailureTracker_TracksHostsIndependently | 189ms |
| โ | TPPBookCoverRegistryTests | testRegistry_UsesCustomImageSession | 126ms |
| โ | TPPBookCreationTests | testBookCreationViaDictionary | 17ms |
| โ | TPPBookCreationTests | testBookCreationViaFactoryMethod | 2ms |
| โ | TPPBookCreationTests | testBookCreationViaMemberWiseInitializer | 6ms |
| โ | TPPBookCreationTests | testBookCreation_FromEntry_AudienceAbsent | 2ms |
| โ | TPPBookCreationTests | testBookCreation_FromEntry_PopulatesAudienceAndLanguage | 2ms |
| โ | TPPBookCreationTests | testBookCreation_RoundTripsAudienceAndLanguageThroughDictionary | 3ms |
| โ | TPPBookCreationTests | testMergingPreservingMetadata_PrefersFreshThenSelf | 6ms |
| โ | TPPBookExtensionsTests | test_format_forAudiobook_matchesLocalizedString | 489ms |
| โ | TPPBookExtensionsTests | test_format_forEpub_matchesLocalizedString | 1ms |
| โ | TPPBookExtensionsTests | test_format_forPDF_matchesLocalizedString | 278ms |
| โ | TPPBookExtensionsTests | test_format_forUnsupported_matchesLocalizedString | 13ms |
| โ | TPPBookExtensionsTests | test_format_isNonEmptyAndDistinguishableAcrossContentTypes | 4ms |
| โ | TPPBookExtensionsTests | test_hasAudiobookSample_audiobookWithSample_returnsTrue | 3ms |
| โ | TPPBookExtensionsTests | test_hasAudiobookSample_audiobookWithoutSample_returnsFalse | 3ms |
| โ | TPPBookExtensionsTests | test_hasAudiobookSample_epubWithSample_returnsFalse | 2ms |
| โ | TPPBookExtensionsTests | test_hasAudiobookSample_pdfWithSample_returnsFalse | 3ms |
| โ | TPPBookExtensionsTests | test_hasSample_returnsTrueOnlyWhenSampleIsPresent_andDistinguishesAudiobook | 20ms |
| โ | TPPBookExtensionsTests | test_hasSample_withMockerHasSampleFalse_returnsFalse | 3ms |
| โ | TPPBookExtensionsTests | test_hasSample_withMockerHasSampleTrue_returnsTrue | 2ms |
| โ | TPPBookExtensionsTests | test_loggableDictionary_containsExpectedKeys | 82ms |
| โ | TPPBookExtensionsTests | test_loggableShortString_containsTitleAndId | 3ms |
| โ | TPPBookExtensionsTests | test_sample_nilForUnsupportedContentType | <1ms |
| โ | TPPBookExtensionsTests | test_sample_preservesURL | 1ms |
| โ | TPPBookExtensionsTests | test_sample_returnsNilWhenNoSampleIsAvailable | 6ms |
| โ | TPPBookExtensionsTests | test_sample_withAudiobookSample_returnsAudiobookSample | 521ms |
| โ | TPPBookExtensionsTests | test_sample_withEpubSample_returnsEpubSample | 10ms |
| โ | TPPBookExtensionsTests | test_showAudiobookToolbar_falseForEpubEvenWithSample | 2ms |
| โ | TPPBookExtensionsTests | test_showAudiobookToolbar_falseWhenNoSample | 6ms |
| โ | TPPBookIsDRMProtectedTests | testIsDRMProtected_falseForBookWithNoAcquisitions | 2ms |
| โ | TPPBookIsDRMProtectedTests | testIsDRMProtected_falseForOpenAccessAudiobook | <1ms |
| โ | TPPBookIsDRMProtectedTests | testIsDRMProtected_falseForOpenAccessEpub | 2ms |
| โ | TPPBookIsDRMProtectedTests | testIsDRMProtected_falseForOpenAccessPdf | 1ms |
| โ | TPPBookIsDRMProtectedTests | testIsDRMProtected_trueForAdobeAdeptEpub | 22ms |
| โ | TPPBookIsDRMProtectedTests | testIsDRMProtected_trueForLCPAudiobook | 1ms |
| โ | TPPBookIsDRMProtectedTests | testIsDRMProtected_trueForLCPEpub | <1ms |
| โ | TPPBookIsDRMProtectedTests | testIsDRMProtected_trueForLCPPdf | 31ms |
| โ | TPPBookIsDRMProtectedTests | testIsDRMProtected_trueForOPDSFixtureEntry | 6ms |
| โ | TPPBookLocationCoverageTests | testBookLocation_dictionaryRoundTrip | 1ms |
| โ | TPPBookLocationCoverageTests | testBookLocation_initWithDictionary | <1ms |
| โ | TPPBookLocationCoverageTests | testBookLocation_initWithEmptyDictionary | 2ms |
| โ | TPPBookLocationCoverageTests | testBookLocation_initWithIncompleteDictionary | 324ms |
| โ | TPPBookLocationCoverageTests | testBookLocation_initWithStrings | 1ms |
| โ | TPPBookLocationCoverageTests | testBookLocation_locationStringMutation_ReflectsInDictionary | <1ms |
| โ | TPPBookLocationCoverageTests | testBookLocation_rendererMutation_ReflectsInDictionary | 12ms |
| โ | TPPBookLocationEdgeCaseTests | test_bookLocationData_stringForKey_missingKey_returnsNil | <1ms |
| โ | TPPBookLocationEdgeCaseTests | test_bookLocationData_stringForKey_returnsValue | <1ms |
| โ | TPPBookLocationEdgeCaseTests | test_bookLocationData_stringForKey_wrongType_returnsNil | <1ms |
| โ | TPPBookLocationEdgeCaseTests | test_dictionaryRepresentation_containsExpectedKeys | <1ms |
| โ | TPPBookLocationEdgeCaseTests | test_dictionaryRepresentation_preservesJSONContent | 38ms |
| โ | TPPBookLocationEdgeCaseTests | test_dictionaryRepresentation_roundTrips | 3ms |
| โ | TPPBookLocationEdgeCaseTests | test_initFromDictionary_emptyDictionary_returnsNil | <1ms |
| โ | TPPBookLocationEdgeCaseTests | test_initFromDictionary_extraKeys_ignoresExtras | 6ms |
| โ | TPPBookLocationEdgeCaseTests | test_initFromDictionary_missingLocationString_returnsNil | <1ms |
| โ | TPPBookLocationEdgeCaseTests | test_initFromDictionary_missingRenderer_returnsNil | 1ms |
| โ | TPPBookLocationEdgeCaseTests | test_initFromDictionary_withValidData_createsLocation | 4ms |
| โ | TPPBookLocationEdgeCaseTests | test_initFromDictionary_wrongTypes_returnsNil | <1ms |
| โ | TPPBookLocationEdgeCaseTests | test_init_withEmptyLocationString_createsLocation | <1ms |
| โ | TPPBookLocationEdgeCaseTests | test_init_withEmptyRenderer_createsLocation | 49ms |
| โ | TPPBookLocationEdgeCaseTests | test_init_withLongJSON_createsLocation | 42ms |
| โ | TPPBookLocationEdgeCaseTests | test_init_withValidStringAndRenderer_createsLocation | <1ms |
| โ | TPPBookLocationEdgeCaseTests | test_isSimilarTo_differentContent_returnsFalse | <1ms |
| โ | TPPBookLocationEdgeCaseTests | test_isSimilarTo_differentRenderer_returnsFalse | <1ms |
| โ | TPPBookLocationEdgeCaseTests | test_isSimilarTo_identicalLocations_returnsTrue | <1ms |
| โ | TPPBookLocationEdgeCaseTests | test_isSimilarTo_ignoresAnnotationIdDifferences | 2ms |
| โ | TPPBookLocationEdgeCaseTests | test_isSimilarTo_ignoresTimeStampDifferences | 8ms |
| โ | TPPBookLocationEdgeCaseTests | test_isSimilarTo_nonJSONLocationString_returnsFalse | <1ms |
| โ | TPPBookLocationEdgeCaseTests | test_isSimilarTo_sameContentDifferentTimeStampAndAnnotationId_returnsTrue | 2ms |
| โ | TPPBookLocationEdgeCaseTests | test_locationStringDictionary_arrayJSON_returnsNil | 11ms |
| โ | TPPBookLocationEdgeCaseTests | test_locationStringDictionary_emptyString_returnsNil | 4ms |
| โ | TPPBookLocationEdgeCaseTests | test_locationStringDictionary_invalidJSON_returnsNil | <1ms |
| โ | TPPBookLocationEdgeCaseTests | test_locationStringDictionary_validJSON_returnsParsedDictionary | <1ms |
| โ | TPPBookLocationKeyTests | testBookLocationData_stringAccessor | 2ms |
| โ | TPPBookLocationKeyTests | testBookLocationData_stringAccessorWrongType | 16ms |
| โ | TPPBookLocationKeyTests | testBookLocationKey_MatchesDictionaryRepresentationKeys | 2ms |
| โ | TPPBookLocationTests | testDictionaryRepresentation_ContainsAllFields | <1ms |
| โ | TPPBookLocationTests | testInit_FromDictionary_Succeeds | 114ms |
| โ | TPPBookLocationTests | testInit_FromDictionary_WithMissingLocationString_ReturnsNil | 514ms |
| โ | TPPBookLocationTests | testInit_FromDictionary_WithMissingRenderer_ReturnsNil | 2ms |
| โ | TPPBookLocationTests | testInit_WithValidParams_Succeeds | 31ms |
| โ | TPPBookLocationTests | testIsSimilarTo_IgnoresAnnotationId | 1ms |
| โ | TPPBookLocationTests | testIsSimilarTo_IgnoresTimestamp | 40ms |
| โ | TPPBookLocationTests | testIsSimilarTo_WithDifferentRenderer_ReturnsFalse | <1ms |
| โ | TPPBookLocationTests | testIsSimilarTo_WithSameContent_ReturnsTrue | 7ms |
| โ | TPPBookLocationTests | testLocationStringDictionary_ParsesValidJSON | 3ms |
| โ | TPPBookLocationTests | testLocationStringDictionary_WithInvalidJSON_ReturnsNil | 225ms |
| โ | TPPBookModelGapTests | testTPPBook_bookWithMetadata_returnsBookWithUpdatedMetadata | 147ms |
| โ | TPPBookModelGapTests | testTPPBook_dictionaryRepresentation_producesNonEmptyDict | 47ms |
| โ | TPPBookModelGapTests | testTPPBook_dictionaryRepresentation_roundTripPreservesKeyProperties | 3ms |
| โ | TPPBookModelGapTests | testTPPBook_sameIdentifier_comparableEquivalent | 5ms |
| โ | TPPBookRegistryAccountCaptureContractTests | testAddBook_capturesAccountAtDispatch_persistsToOriginalAccount | 72ms |
| โ | TPPBookRegistryAccountCaptureContractTests | testAddReadiumBookmark_capturesAccountAtDispatch_persistsToOriginalAccount | 49ms |
| โ | TPPBookRegistryAccountCaptureContractTests | testSaveSync_persistsToCurrentAccount_synchronously | 539ms |
| โ | TPPBookRegistryAccountCaptureContractTests | testSetState_capturesAccountAtDispatch_persistsToOriginalAccount | 38ms |
| โ | TPPBookRegistryAsyncReadinessTests | testIntegration_underDetailsFailed_throwsAccountNotFound | 113ms |
| โ | TPPBookRegistryAsyncReadinessTests | testReadiness_underDetailsFailed_gateThrows | 316ms |
| โ | TPPBookRegistryAsyncReadinessTests | testReadiness_underDetailsLoading_gateBlocksUntilTransition | 58ms |
| โ | TPPBookRegistryAtomicWriteTests | testAsyncSave_EventuallyProducesValidFile | 21ms |
| โ | TPPBookRegistryAtomicWriteTests | testConcurrentSaves_EveryDiskStateBetweenSaves_IsValidJSON | 638ms |
| โ | TPPBookRegistryAtomicWriteTests | testSaveSync_FileSizeNonZero_AndJSONComplete | 671ms |
| โ | TPPBookRegistryAtomicWriteTests | testSaveSync_LeavesNoStagingArtifactsInRegistryDir | 23ms |
| โ | TPPBookRegistryAtomicWriteTests | testSaveSync_OverlappingSaves_FinalContentsOnly | 314ms |
| โ | TPPBookRegistryAtomicWriteTests | testSaveSync_ProducesCompleteParseableJSON | 58ms |
| โ | TPPBookRegistryAtomicWriteTests | testSave_AfterDirectoryDeleted_DoesNotLeaveCorruptedFile | 388ms |
| โ | TPPBookRegistryBookRetrievalTests | testAllBooks_ReturnsRegisteredBooks | 144ms |
| โ | TPPBookRegistryBookRetrievalTests | testBook_ForEmptyIdentifier_ReturnsNil | 2ms |
| โ | TPPBookRegistryBookRetrievalTests | testBook_ForNilIdentifier_ReturnsNil | 2ms |
| โ | TPPBookRegistryBookRetrievalTests | testBook_ForNonExistentIdentifier_ReturnsNil | 2ms |
| โ | TPPBookRegistryBookRetrievalTests | testBook_ForValidIdentifier_ReturnsBook | 49ms |
| โ | TPPBookRegistryBookRetrievalTests | testHeldBooks_ReturnsOnlyHoldingBooks | 34ms |
| โ | TPPBookRegistryBookRetrievalTests | testMyBooks_ReturnsDownloadRelatedBooks | 6ms |
| โ | TPPBookRegistryBookmarkTests | testAddGenericBookmark_AppendsToList | 82ms |
| โ | TPPBookRegistryBookmarkTests | testAddOrReplaceGenericBookmark_ReplacesExisting | 103ms |
| โ | TPPBookRegistryBookmarkTests | testAddReadiumBookmark_AppendsToList | 6ms |
| โ | TPPBookRegistryBookmarkTests | testDeleteGenericBookmark_RemovesFromList | 4ms |
| โ | TPPBookRegistryBookmarkTests | testDeleteReadiumBookmark_RemovesFromList | 3ms |
| โ | TPPBookRegistryBookmarkTests | testReadiumBookmarks_SortedByProgress | 38ms |
| โ | TPPBookRegistryBookmarkTests | testReplaceGenericBookmark_UpdatesBookmark | 21ms |
| โ | TPPBookRegistryCorruptedDataTests | testRecordInit_WithCorruptedBookmarks_SkipsInvalid | 630ms |
| โ | TPPBookRegistryCorruptedDataTests | testRecordInit_WithInvalidState_ReturnsNil | 3ms |
| โ | TPPBookRegistryCorruptedDataTests | testRecordInit_WithMissingBook_ReturnsNil | 57ms |
| โ | TPPBookRegistryCorruptedDataTests | testRecordInit_WithMissingOptionalFields_Succeeds | 6ms |
| โ | TPPBookRegistryCorruptedDataTests | testRecordInit_WithMissingState_ReturnsNil | 15ms |
| โ | TPPBookRegistryDataTests | testArrayForKey_ReturnsArray | <1ms |
| โ | TPPBookRegistryDataTests | testObjectForKey_ReturnsDictionary | <1ms |
| โ | TPPBookRegistryDataTests | testSetValue_SetsValue | <1ms |
| โ | TPPBookRegistryDataTests | testValueForKey_ReturnsValue | 1ms |
| โ | TPPBookRegistryDependencyTests | testAppContainer_constructionDoesNotDeadlock | 40ms |
| โ | TPPBookRegistryDependencyTests | testAppContainer_returnsSameRegistryInstance | 1ms |
| โ | TPPBookRegistryDependencyTests | testInit_takesAccountsManagerExplicitly | 56ms |
| โ | TPPBookRegistryDependencyTests | testWithAccount_inheritsParentAccountsManager | 25ms |
| โ | TPPBookRegistryFacadeContractTests | testAddBook_fetchesAddedBookThumbnail_andEmitsInitialState | 435ms |
| โ | TPPBookRegistryFacadeContractTests | testRemoveBook_emitsUnregistered_andFetchesRemovedBookThumbnail | 19ms |
| โ | TPPBookRegistryFacadeContractTests | testSetFulfillmentId_doesNotEmitPerBookState_norFetchThumbnail | 22ms |
| โ | TPPBookRegistryFacadeContractTests | testSetState_emitsNewState_withoutFetchingThumbnail | 15ms |
| โ | TPPBookRegistryFacadeContractTests | testUpdateAndRemoveBook_fetchesThumbnail_andEmitsUnregistered | 44ms |
| โ | TPPBookRegistryFacadeContractTests | testUpdateBook_statePreserving_doesNotEmit_norFetchThumbnail | 107ms |
| โ | TPPBookRegistryFulfillmentIdTests | testFulfillmentId_ForEmptyIdentifier_ReturnsNil | 364ms |
| โ | TPPBookRegistryFulfillmentIdTests | testFulfillmentId_ForNilIdentifier_ReturnsNil | 5ms |
| โ | TPPBookRegistryFulfillmentIdTests | testFulfillmentId_ForNonExistentBook_ReturnsNil | 7ms |
| โ | TPPBookRegistryFulfillmentIdTests | testSetFulfillmentId_UpdatesFulfillmentId | 40ms |
| โ | TPPBookRegistryLargeCorpusTests | testLoad_5000Books_CompletesUnderTimeBudget | 6.26s |
| โ | TPPBookRegistryLargeCorpusTests | testLoad_5000Books_ProducesExactCount | 7.75s |
| โ | TPPBookRegistryLargeCorpusTests | testLookupByIdentifier_5000Books_AllUnique | 6.22s |
| โ | TPPBookRegistryLargeCorpusTests | testRoundTrip_5000Books_AllFieldsPreserved | 15.18s |
| โ | TPPBookRegistryLargeCorpusTests | testSave_5000Books_FileContainsAllRecords | 8.07s |
| โ | TPPBookRegistryLoadReentrancyTests | testLoad_EmitsBookStateEventsForAllBooks | 65ms |
| โ | TPPBookRegistryLoadReentrancyTests | testLoad_RapidCallsForSameAccount_KeepsTheShelfIntact | 34ms |
| โ | TPPBookRegistryLoadReentrancyTests | testLoad_WithNoRegistryFile_CompletesAndAnnouncesNothing | 115ms |
| โ | TPPBookRegistryLocationTests | testLocation_ForNonExistentBook_ReturnsNil | 9ms |
| โ | TPPBookRegistryLocationTests | testSetLocationSync_UpdatesSynchronously | 4ms |
| โ | TPPBookRegistryLocationTests | testSetLocation_UpdatesLocation | 13ms |
| โ | TPPBookRegistryLocationTests | testSetLocation_WithNil_ClearsLocation | 52ms |
| โ | TPPBookRegistryMigrationTests | testDuplicateIdentifiersOnDisk_CollapseToOneRecord | 139ms |
| โ | TPPBookRegistryMigrationTests | testLookupByIdentifier_IsUnique_AfterLoad | 77ms |
| โ | TPPBookRegistryMigrationTests | testRecordLevelFulfillmentId_IsPreservedAcrossLoad | 37ms |
| โ | TPPBookRegistryMigrationTests | testRecordMissingAudienceAndLanguage_FillsNilDefaults | 33ms |
| โ | TPPBookRegistryMigrationTests | testRecordMissingCategoriesField_DefaultsToEmptyArray | 72ms |
| โ | TPPBookRegistryMigrationTests | testRecordMissingMetadataField_Dropped | 40ms |
| โ | TPPBookRegistryMigrationTests | testRecordMissingStateField_Dropped | 196ms |
| โ | TPPBookRegistryMigrationTests | testRecordWithLegacyISO8601DateOnlyUpdated_StillParses | 188ms |
| โ | TPPBookRegistryMigrationTests | testRecordWithMalformedUpdated_FallsBackToDistantPast_StillLoads | 23ms |
| โ | TPPBookRegistryMigrationTests | testRecordWithUnknownFutureFields_FieldDroppedButRecordSurvives | 157ms |
| โ | TPPBookRegistryMigrationTests | testRecordWithUnknownState_DroppedFromRegistry | 140ms |
| โ | TPPBookRegistryMigrationTests | testSavedFile_StateField_IsStringValueNotInteger | 31ms |
| โ | TPPBookRegistryMigrationTests | testSavedFile_TopLevelShape_IsRecordsArray | 16ms |
| โ | TPPBookRegistryMigrationTests | testV1AcquisitionsLackingIndirectKey_StillParses | 22ms |
| โ | TPPBookRegistryMigrationTests | testV1SingularAcquisitionKey_IsIgnoredButRecordIsPreserved | 10ms |
| โ | TPPBookRegistryMigrationTests | testV2BaselineRoundTrip_LoadsAndPreservesIdentifierAndState | 24ms |
| โ | TPPBookRegistryMutationContractTests | testCanTransition_illegalPairs_areRejected | 80ms |
| โ | TPPBookRegistryMutationContractTests | testCanTransition_newlyLegalPairs_areAllowed | 52ms |
| โ | TPPBookRegistryMutationContractTests | testEmptyRegistryLoad_lifecycleObserversFire_withZeroPerBookEmissions | 20ms |
| โ | TPPBookRegistryMutationContractTests | testEnforcedSeam_illegalTransitionSequence_matchesContract | 43ms |
| โ | TPPBookRegistryMutationContractTests | testHoldsBadge_refreshesOnHoldsChangedTrigger | 22ms |
| โ | TPPBookRegistryMutationContractTests | testHoldsBadge_refreshesOnLifecycleSync_withZeroPerBookEmissions | 13ms |
| โ | TPPBookRegistryMutationContractTests | testRegistryStatePublisher_isFed_onStateWrite | 86ms |
| โ | TPPBookRegistryMutationContractTests | testSetState_illegalTransition_invokesHandler_andStillApplies | 26ms |
| โ | TPPBookRegistryMutationContractTests | testSetState_legalTransition_doesNotInvokeHandler | 22ms |
| โ | TPPBookRegistryMutationContractTests | testSetState_newlyLegalTransitions_doNotInvokeHandler_atRealSeam | 173ms |
| โ | TPPBookRegistryPersistenceTests | testAccountIsolation_AccountADoesNotLeakIntoAccountB | 47ms |
| โ | TPPBookRegistryPersistenceTests | testBookStatePublisher_DoesNotFireOnNoOpUpdateBook | 12ms |
| โ | TPPBookRegistryPersistenceTests | testBookStatePublisher_FiresOnDownloadingToDownloadedTransition | 17ms |
| โ | TPPBookRegistryPersistenceTests | testConcurrentSaves_ProduceValidJSONOnDisk | 107ms |
| โ | TPPBookRegistryPersistenceTests | testLoad_WithCorruptedJSON_RegistryIsEmpty_DoesNotCrash | 58ms |
| โ | TPPBookRegistryPersistenceTests | testLoad_WithJSONMissingRecordsKey_RegistryIsEmpty | 8ms |
| โ | TPPBookRegistryPersistenceTests | testLoad_WithTruncatedJSON_RegistryIsEmpty_DoesNotCrash | 6ms |
| โ | TPPBookRegistryPersistenceTests | testRegistryUrl_DiffersAcrossAccounts | 2ms |
| โ | TPPBookRegistryPersistenceTests | testSave_OverwritesPreviousSave_NotAppends | 18ms |
| โ | TPPBookRegistryPersistenceTests | testSave_ThenColdStartLoad_PreservesRecord | 13ms |
| โ | TPPBookRegistryProcessingTests | testSetProcessing_False_ClearsProcessingState | 3ms |
| โ | TPPBookRegistryProcessingTests | testSetProcessing_TracksProcessingState | 9ms |
| โ | TPPBookRegistryPublisherTests | testBookStatePublisher_EmitsOnBookAdd | 905ms |
| โ | TPPBookRegistryPublisherTests | testBookStatePublisher_EmitsOnBookRemove | 313ms |
| โ | TPPBookRegistryPublisherTests | testBookStatePublisher_EmitsOnStateChange | 64ms |
| โ | TPPBookRegistryPublisherTests | testBookStatePublisher_MultipleStateChanges_EmitsAll | 305ms |
| โ | TPPBookRegistryPublisherTests | testRegistryPublisher_EmitsOnBookAdd | 12ms |
| โ | TPPBookRegistryPublisherTests | testRegistryPublisher_EmitsOnBookRemove | 177ms |
| โ | TPPBookRegistryRebuildRefusalContractTests | testRebuildWindow_refusesNonAuthoritativeEmpty_thenAllowsAuthoritativeEmpty | 14ms |
| โ | TPPBookRegistryRecordPersistenceTests | testAllStatesSerializeCorrectly | 152ms |
| โ | TPPBookRegistryRecordPersistenceTests | testDictionaryRepresentation_ContainsAllFields | 6ms |
| โ | TPPBookRegistryRecordPersistenceTests | testDictionaryRoundTrip_PreservesData | 59ms |
| โ | TPPBookRegistryRecordTests | testAllStatesCanBePreserved | 2ms |
| โ | TPPBookRegistryRecordTests | testDeriveInitialStateForBookWithoutAcquisition | <1ms |
| โ | TPPBookRegistryRecordTests | testDeriveInitialStateForBorrowableBook | <1ms |
| โ | TPPBookRegistryRecordTests | testDictionaryRepresentationPreservesState | 3ms |
| โ | TPPBookRegistryRecordTests | testInitFromDictionaryPreservesState | 3ms |
| โ | TPPBookRegistryRecordTests | testInitPreservesDownloadFailedState | <1ms |
| โ | TPPBookRegistryRecordTests | testInitPreservesDownloadSuccessfulState | <1ms |
| โ | TPPBookRegistryRecordTests | testInitPreservesDownloadingState | 1ms |
| โ | TPPBookRegistryRecordTests | testInitPreservesHoldingState | 9ms |
| โ | TPPBookRegistryRecordTests | testInitPreservesUsedState | <1ms |
| โ | TPPBookRegistryStateConcurrencyTests | testConcurrentStateReads_duringResetWrites_neverCorruptTerminalState | 83ms |
| โ | TPPBookRegistryStateConcurrencyTests | testReset_drivesRegistryStateToUnloaded_andClearsIsSyncing | 18ms |
| โ | TPPBookRegistryStateManagementTests | testAddBook_NewBook_RegistersWithCorrectState | 32ms |
| โ | TPPBookRegistryStateManagementTests | testAddBook_WithBookmarks_StoresBookmarks | 72ms |
| โ | TPPBookRegistryStateManagementTests | testAddBook_WithFulfillmentId_StoresFulfillmentId | 423ms |
| โ | TPPBookRegistryStateManagementTests | testAddBook_WithLocation_StoresLocation | 5ms |
| โ | TPPBookRegistryStateManagementTests | testRemoveBook_RemovesFromRegistry | 52ms |
| โ | TPPBookRegistryStateManagementTests | testRemoveBook_WithEmptyIdentifier_DoesNotCrash | 6ms |
| โ | TPPBookRegistryStateManagementTests | testSetState_ForUnregisteredBook_DoesNotCrash | 14ms |
| โ | TPPBookRegistryStateManagementTests | testSetState_TransitionsCorrectly | 7ms |
| โ | TPPBookRegistryStateManagementTests | testStateFor_EmptyIdentifier_ReturnsUnregistered | 394ms |
| โ | TPPBookRegistryStateManagementTests | testStateFor_NilIdentifier_ReturnsUnregistered | 251ms |
| โ | TPPBookRegistryStateManagementTests | testStateFor_NonExistentBook_ReturnsUnregistered | 19ms |
| โ | TPPBookRegistrySyncContractTests | testSync_awaitReadyFailure_revertsToLoaded_withoutFetching | 38ms |
| โ | TPPBookRegistrySyncContractTests | testSync_bulkDeletionGuard_emptyFeedNonEmptyShelf_skipsAllDeletions | 40ms |
| โ | TPPBookRegistrySyncContractTests | testSync_happyPath_reconcilesFeed_evicts_persistsAuthoritative_andSyncs | 161ms |
| โ | TPPBookRegistrySyncContractTests | testSync_noCredentials_emitsLoadedAndCompletes_withoutFetchingFeed | 14ms |
| โ | TPPBookRegistryThreadSafetyTests | testCrashlytics30c41d7e_ConcurrentAddAndUpdate_DoNotCrash | 71ms |
| โ | TPPBookRegistryThreadSafetyTests | testCrashlytics30c41d7e_RapidRegistryMutations_DoNotCrashPublisher | 172ms |
| โ | TPPBookRegistryThreadSafetyTests | testRegistryPublisher_EmitsConsistentSnapshots_DuringRapidMutations | 54ms |
| โ | TPPBookRegistryUpdateAndRemoveTests | testUpdateAndRemoveBook_SetsStateToUnregistered | 11ms |
| โ | TPPBookRequiresAdobeDRMTests | testRequiresAdobeDRM_falseForLCPBook | 1ms |
| โ | TPPBookRequiresAdobeDRMTests | testRequiresAdobeDRM_falseForOpenAccessAudiobook | <1ms |
| โ | TPPBookRequiresAdobeDRMTests | testRequiresAdobeDRM_falseForOpenAccessBook | 1ms |
| โ | TPPBookRequiresAdobeDRMTests | testRequiresAdobeDRM_falseWhenNoAdobeAcquisitionsPresent | 1ms |
| โ | TPPBookRequiresAdobeDRMTests | testRequiresAdobeDRM_trueForAdobeAdeptBook | 2ms |
| โ | TPPBookRequiresAdobeDRMTests | testRequiresAdobeDRM_trueForOPDSFixtureEntry | 19ms |
| โ | TPPBookSerializationTests | test_categoryStrings_returnsCategories | 1ms |
| โ | TPPBookSerializationTests | test_comparable_sortsAlphabeticallyByTitle | 1ms |
| โ | TPPBookSerializationTests | test_defaultBookContentType_forAudiobook_returnsAudiobook | 1ms |
| โ | TPPBookSerializationTests | test_defaultBookContentType_forEpub_returnsEpub | 2ms |
| โ | TPPBookSerializationTests | test_dictionaryRoundTrip_preservesAllFields | 31ms |
| โ | TPPBookSerializationTests | test_dictionaryRoundTrip_preservesIdentifier | 3ms |
| โ | TPPBookSerializationTests | test_dictionaryRoundTrip_preservesUpdatedTimestamp | 3ms |
| โ | TPPBookSerializationTests | test_initFromDictionary_missingCategories_usesEmptyArray | 1ms |
| โ | TPPBookSerializationTests | test_initFromDictionary_missingId_returnsNil | 415ms |
| โ | TPPBookSerializationTests | test_initFromDictionary_missingTitle_returnsNil | 2ms |
| โ | TPPBookSerializationTests | test_initFromDictionary_missingUpdated_fallsBackToDistantPast | 6ms |
| โ | TPPBookSerializationTests | test_initFromDictionary_updatedBareDate_parsesSuccessfully | 2ms |
| โ | TPPBookSerializationTests | test_initFromDictionary_updatedFullRFC3339Datetime_parsesSuccessfully | 265ms |
| โ | TPPBookStateInitializationTests | testStateInit_FromInvalidString_ReturnsNil | 3ms |
| โ | TPPBookStateInitializationTests | testStateInit_FromValidStrings | 330ms |
| โ | TPPBookStateInitializationTests | testStateRoundTrip_AllStates | 303ms |
| โ | TPPBookStateInitializationTests | testStateStringValue_IsUniquePerState | 5ms |
| โ | TPPBookStateInitializationTests | testStateStringValue_ReturnsCorrectString | 2ms |
| โ | TPPBookStateTests | testAllBookState | 1ms |
| โ | TPPBookStateTests | testBookStateFromString | <1ms |
| โ | TPPBookStateTests | testInitWithString | 2ms |
| โ | TPPBookStateTests | testStringValue | <1ms |
| โ | TPPBookTests | testTPPBook_isStreamingHTML_epubOnly_returnsFalse | <1ms |
| โ | TPPBookTests | testTPPBook_isStreamingHTML_streamingMediaOnly_returnsTrue | 1ms |
| โ | TPPBookTests | testTPPBook_isStreamingHTML_unsupported_returnsFalse | <1ms |
| โ | TPPBookTests | testTPPBook_mixedStreamingAndEpub_epubFirst_prefersEpub | <1ms |
| โ | TPPBookTests | testTPPBook_mixedStreamingAndEpub_streamingFirst_prefersEpub | 27ms |
| โ | TPPBookTests | testTPPBook_openAccessSeparateLinks_streamingFirst_defaultsToEpub | 2ms |
| โ | TPPBookTests | testTPPBook_openAccessSeparateLinks_streamingFirst_fallsBackToPDF | <1ms |
| โ | TPPBookTests | testTPPBook_openAccessSeparateLinks_streamingOnly_staysStreaming | 5ms |
| โ | TPPBookTests | test_authorLinkArray_excludesNilURLs | <1ms |
| โ | TPPBookTests | test_authorLinkArray_returnsURLStrings | <1ms |
| โ | TPPBookTests | test_authorNameArray_nilWhenNoAuthors | 1ms |
| โ | TPPBookTests | test_authorNameArray_returnsNames | <1ms |
| โ | TPPBookTests | test_authors_joinsNamesWithSemicolon | <1ms |
| โ | TPPBookTests | test_authors_nilWhenNoAuthors | <1ms |
| โ | TPPBookTests | test_authors_singleAuthor | 17ms |
| โ | TPPBookTests | test_availabilityDetails_defaultValues | 1ms |
| โ | TPPBookTests | test_bookWithMetadata_preservesSelfIdentifierAndAcquisitions | 12ms |
| โ | TPPBookTests | test_bookWithMetadata_preservesSelfRevokeReportAndTimeTrackingURLs | <1ms |
| โ | TPPBookTests | test_bookWithMetadata_takesImageURLsFromMetadataBook | <1ms |
| โ | TPPBookTests | test_bookWithMetadata_takesMetadataFromOtherBook | 2ms |
| โ | TPPBookTests | test_bookWithMetadata_takesSeriesNameFromMetadataBook | 20ms |
| โ | TPPBookTests | test_categories_joinsWithSemicolon | <1ms |
| โ | TPPBookTests | test_categories_nilWhenNil | 1ms |
| โ | TPPBookTests | test_categoryStringsFromCategories_emptyArrayReturnsEmpty | <1ms |
| โ | TPPBookTests | test_categoryStringsFromCategories_extractsLabelsFromSimplifiedScheme | 13ms |
| โ | TPPBookTests | test_categoryStringsFromCategories_filtersOutUnknownSchemes | <1ms |
| โ | TPPBookTests | test_categoryStringsFromCategories_includesCategoriesWithNilScheme | 1ms |
| โ | TPPBookTests | test_categoryStringsFromCategories_usesTermWhenNoLabel | <1ms |
| โ | TPPBookTests | test_clearCachedImages_removesAllKeysFromCache | 17ms |
| โ | TPPBookTests | test_comparable_equalIdentifiersNotLessThan | <1ms |
| โ | TPPBookTests | test_comparable_ordersById | 2ms |
| โ | TPPBookTests | test_comparable_sortingMultipleBooks | 3ms |
| โ | TPPBookTests | test_defaultAcquisitionIfBorrow_nilWhenOpenAccess | 2ms |
| โ | TPPBookTests | test_defaultAcquisitionIfBorrow_returnsAcquisitionWhenBorrow | 1ms |
| โ | TPPBookTests | test_defaultAcquisitionIfOpenAccess_nilWhenBorrow | 4ms |
| โ | TPPBookTests | test_defaultAcquisitionIfOpenAccess_returnsWhenOpenAccess | <1ms |
| โ | TPPBookTests | test_defaultBookContentType_audiobook | 2ms |
| โ | TPPBookTests | test_defaultBookContentType_epub | 1ms |
| โ | TPPBookTests | test_defaultBookContentType_pdf | 33ms |
| โ | TPPBookTests | test_defaultBookContentType_unsupportedWhenNoAcquisitions | <1ms |
| โ | TPPBookTests | test_dictionaryInit_handlesFlatAuthorArrayFormat | <1ms |
| โ | TPPBookTests | test_dictionaryInit_handlesNestedAuthorArrayFormat | 1ms |
| โ | TPPBookTests | test_dictionaryInit_nilWhenMissingId | 27ms |
| โ | TPPBookTests | test_dictionaryInit_nilWhenMissingTitle | 38ms |
| โ | TPPBookTests | test_dictionaryInit_readsSeriesNameFromSeriesNameKey | 2ms |
| โ | TPPBookTests | test_dictionaryInit_salvagesWhenCategoriesMissing | 1ms |
| โ | TPPBookTests | test_dictionaryInit_salvagesWhenUpdatedMissing | 2ms |
| โ | TPPBookTests | test_dictionaryInit_seriesNameNilWhenKeyAbsent | 3ms |
| โ | TPPBookTests | test_dictionaryRepresentation_containsRequiredKeys | 2ms |
| โ | TPPBookTests | test_dictionaryRepresentation_writesSeriesNameUnderSeriesNameKey | 93ms |
| โ | TPPBookTests | test_dictionaryRoundTrip_preservesAuthors | 46ms |
| โ | TPPBookTests | test_dictionaryRoundTrip_preservesCategories | 1ms |
| โ | TPPBookTests | test_dictionaryRoundTrip_preservesDistributor | 2ms |
| โ | TPPBookTests | test_dictionaryRoundTrip_preservesIdentifierAndTitle | 2ms |
| โ | TPPBookTests | test_dictionaryRoundTrip_preservesOptionalURLs | 1ms |
| โ | TPPBookTests | test_dictionaryRoundTrip_preservesSeriesName | 13ms |
| โ | TPPBookTests | test_dictionaryRoundTrip_preservesSubtitleAndSummary | 26ms |
| โ | TPPBookTests | test_getAvailabilityDetails_nilForUnlimitedAvailability | <1ms |
| โ | TPPBookTests | test_getAvailabilityDetails_populatesForLimitedAvailability | 2ms |
| โ | TPPBookTests | test_getExpirationDate_nilForUnlimitedAvailability | 1ms |
| โ | TPPBookTests | test_getExpirationDate_returnsDateForLimitedAvailability | 5ms |
| โ | TPPBookTests | test_getExpirationDate_returnsRawUntilDate_andIsExpiredFlagsPastDates | 42ms |
| โ | TPPBookTests | test_getReservationDetails_populatesFromReservedAvailability | 4ms |
| โ | TPPBookTests | test_getReservationDetails_timeUnitPluralForMultipleDays | <1ms |
| โ | TPPBookTests | test_getReservationDetails_timeUnitSingularForOneDay | 2ms |
| โ | TPPBookTests | test_getReservationDetails_zeroValuesForUnlimitedAvailability | <1ms |
| โ | TPPBookTests | test_hasDuration_falseWhenDurationEmpty | <1ms |
| โ | TPPBookTests | test_hasDuration_falseWhenDurationNil | <1ms |
| โ | TPPBookTests | test_hasDuration_trueWhenDurationSet | 15ms |
| โ | TPPBookTests | test_identifiable_conformance | 2ms |
| โ | TPPBookTests | test_isAudiobook_falseForEpub | <1ms |
| โ | TPPBookTests | test_isAudiobook_falseForPDF | 2ms |
| โ | TPPBookTests | test_isAudiobook_trueForAudiobookContentType | 2ms |
| โ | TPPBookTests | test_isExpired_falseWhenNoExpiration | 1ms |
| โ | TPPBookTests | test_mergingPreservingMetadata_carriesCoverImageFromSelf | 20ms |
| โ | TPPBookTests | test_mergingPreservingMetadata_fallsBackToFreshCoverImage | 1ms |
| โ | TPPBookTests | test_mergingPreservingMetadata_preservesRichSelfFieldsWhenFreshIsEmpty | <1ms |
| โ | TPPBookTests | test_mergingPreservingMetadata_preservesSelfAuthorsWhenFreshIsEmpty | 21ms |
| โ | TPPBookTests | test_mergingPreservingMetadata_preservesSelfAuthorsWhenFreshIsNil | <1ms |
| โ | TPPBookTests | test_mergingPreservingMetadata_preservesSelfIdentifier | 12ms |
| โ | TPPBookTests | test_mergingPreservingMetadata_preservesSelfSeriesNameWhenFreshIsEmpty | 51ms |
| โ | TPPBookTests | test_mergingPreservingMetadata_takesFreshAuthorsWhenPresent | 9ms |
| โ | TPPBookTests | test_mergingPreservingMetadata_takesFreshSeriesNameWhenPresent | 9ms |
| โ | TPPBookTests | test_mergingPreservingMetadata_usesFreshUpdatedTimestamp | 9ms |
| โ | TPPBookTests | test_narrators_joinsContributorsNrt | 1ms |
| โ | TPPBookTests | test_narrators_nilWhenNoContributors | <1ms |
| โ | TPPBookTests | test_narrators_nilWhenNoNrtKey | <1ms |
| โ | TPPBookTests | test_ordinalString_eleventh | 25ms |
| โ | TPPBookTests | test_ordinalString_first | 3ms |
| โ | TPPBookTests | test_ordinalString_hundredAndFirst | 8ms |
| โ | TPPBookTests | test_ordinalString_second | 28ms |
| โ | TPPBookTests | test_ordinalString_third | 35ms |
| โ | TPPBookTests | test_ordinalString_thirteenth | <1ms |
| โ | TPPBookTests | test_ordinalString_twelfth | 1ms |
| โ | TPPBookTests | test_ordinalString_twentyFirst | <1ms |
| โ | TPPBookTests | test_reservationDetails_defaultValues | <1ms |
| โ | TPPBookTests | test_sampleAcquisition_nilWhenNoSampleOrPreview | <1ms |
| โ | TPPBookTests | test_sampleAcquisition_returnsPreviewLinkAsFallback | 20ms |
| โ | TPPBookmarkDeletionLogTests | testClearAllDeletions_OnlyAffectsSpecifiedBook | 8ms |
| โ | TPPBookmarkDeletionLogTests | testClearAllDeletions_RemovesAllForBook | 5ms |
| โ | TPPBookmarkDeletionLogTests | testClearDeletion_RemovesSpecificAnnotation | 3ms |
| โ | TPPBookmarkDeletionLogTests | testLogDeletion_AddsToPendingDeletions | 4ms |
| โ | TPPBookmarkDeletionLogTests | testLogDeletion_HandlesDuplicates | 5ms |
| โ | TPPBookmarkDeletionLogTests | testLogDeletion_IgnoresEmptyAnnotationId | 5ms |
| โ | TPPBookmarkDeletionLogTests | testLogDeletion_MultipleDeletionsForSameBook | 28ms |
| โ | TPPBookmarkDeletionLogTests | testPP3555_ClearAllDeletionsOnBookReturn | 29ms |
| โ | TPPBookmarkDeletionLogTests | testPP3555_DeletionLogTracksBookmarksForServerDeletion | 3ms |
| โ | TPPBookmarkDeletionLogTests | testPendingDeletions_ReturnsEmptyForUnknownBook | 3ms |
| โ | TPPBookmarkDeletionLogTests | testThreadSafety_ConcurrentWrites | 30ms |
| โ | TPPBookmarkFactoryInitTests | testInit_StoresProperties | 7ms |
| โ | TPPBookmarkFactoryInitTests | testInit_WithNilDeviceId_CreatesFactory | <1ms |
| โ | TPPBookmarkFactoryServerAnnotationEdgeCaseTests | testMakeFromServerAnnotation_DoubleProgressValue_ConvertsToFloat | 4ms |
| โ | TPPBookmarkFactoryServerAnnotationEdgeCaseTests | testMakeFromServerAnnotation_EmptyHref_CreatesBookmarkWithEmptyHref | 3ms |
| โ | TPPBookmarkFactoryServerAnnotationEdgeCaseTests | testMakeFromServerAnnotation_MissingProgressValues_UsesDefaults | 2ms |
| โ | TPPBookmarkFactoryServerAnnotationEdgeCaseTests | testMakeFromServerAnnotation_ProgressFromBodyFallback | 1ms |
| โ | TPPBookmarkFactoryServerAnnotationEdgeCaseTests | testMakeFromServerAnnotation_WithReadingOrderItem_IncludesIt | 76ms |
| โ | TPPBookmarkFactoryTests | testMakeFromServerAnnotation_ExtractsChapterTitle | 6ms |
| โ | TPPBookmarkFactoryTests | testMakeFromServerAnnotation_InvalidSelectorJSON_ReturnsNil | 14ms |
| โ | TPPBookmarkFactoryTests | testMakeFromServerAnnotation_MismatchedBookId_ReturnsNil | 45ms |
| โ | TPPBookmarkFactoryTests | testMakeFromServerAnnotation_MismatchedMotivation_ReturnsNil | 4ms |
| โ | TPPBookmarkFactoryTests | testMakeFromServerAnnotation_MissingAnnotationId_ReturnsNil | 11ms |
| โ | TPPBookmarkFactoryTests | testMakeFromServerAnnotation_MissingBody_ReturnsNil | 1ms |
| โ | TPPBookmarkFactoryTests | testMakeFromServerAnnotation_MissingSelector_ReturnsNil | 2ms |
| โ | TPPBookmarkFactoryTests | testMakeFromServerAnnotation_MissingTarget_ReturnsNil | 2ms |
| โ | TPPBookmarkFactoryTests | testMakeFromServerAnnotation_ReadingProgress_CreatesBookmark | 20ms |
| โ | TPPBookmarkFactoryTests | testMakeFromServerAnnotation_ValidBookmark_CreatesBookmark | 2ms |
| โ | TPPBookmarkFactoryTests | testMake_FromR3Location_CreatesBookmark | 16ms |
| โ | TPPBookmarkFactoryTests | testMake_FromR3Location_GeneratesLocationFromLocator | 22ms |
| โ | TPPBookmarkFactoryTests | testMake_FromR3Location_UsesCreationDate | 13ms |
| โ | TPPBookmarkFactoryTests | testMake_FromR3Location_WithNilProgression_ReturnsNil | 73ms |
| โ | TPPBookmarkFactoryTests | testMake_FromR3Location_WithPagePosition_IncludesPage | 3ms |
| โ | TPPBookmarkR3ConversionTests | testConvertToR3_bookmarkNotInPublication_returnsNil | 1ms |
| โ | TPPBookmarkR3ConversionTests | testConvertToR3_parsesTimeCorrectly | 24ms |
| โ | TPPBookmarkR3ConversionTests | testConvertToR3_preservesChapterTitle | <1ms |
| โ | TPPBookmarkR3ConversionTests | testConvertToR3_preservesProgressionValues | <1ms |
| โ | TPPBookmarkR3ConversionTests | testConvertToR3_validBookmark_createsR3Location | 1ms |
| โ | TPPBookmarkR3LocationTests | testFrom_emptyReadingOrder_returnsNil | 195ms |
| โ | TPPBookmarkR3LocationTests | testFrom_firstChapter_returnsIndexZero | <1ms |
| โ | TPPBookmarkR3LocationTests | testFrom_lastChapter_returnsCorrectIndex | <1ms |
| โ | TPPBookmarkR3LocationTests | testFrom_locatorNotInPublication_returnsNil | 2ms |
| โ | TPPBookmarkR3LocationTests | testFrom_locatorWithDifferentMediaType_findsMatchByHref | 449ms |
| โ | TPPBookmarkR3LocationTests | testFrom_validLocatorInPublication_createsLocation | 397ms |
| โ | TPPBookmarkR3LocationTests | testFrom_withCustomCreationDate_usesProvidedDate | 2ms |
| โ | TPPBookmarkR3LocationTests | testInit_preservesResourceIndex | <1ms |
| โ | TPPBookmarkR3LocationTests | testInit_withDefaultCreationDate_usesCurrentDate | 94ms |
| โ | TPPBookmarkR3LocationTests | testInit_withValidParameters_createsLocation | 1ms |
| โ | TPPBookmarkR3LocationTests | testLocator_preservesMediaType | 2ms |
| โ | TPPBookmarkR3LocationTests | testLocator_preservesProgression | 74ms |
| โ | TPPBookmarkR3LocationTests | testLocator_preservesTitle | 1ms |
| โ | TPPBookmarkSpecTests | testBookmarkMotivationKeyword | 27ms |
| โ | TPPCachingTests | testMaxAgeExtraction | 1ms |
| โ | TPPCachingTests | testResponseModification | 6ms |
| โ | TPPCachingTests | testSufficientCacheHeaders | 2ms |
| โ | TPPCapturedCredentialsTests | testFinalizeSignIn_fallsBackToUIDelegate_whenCapturedNil | 181ms |
| โ | TPPCapturedCredentialsTests | testFinalizeSignIn_usesCapturedCredentials_whenUIDelegateCleared | 394ms |
| โ | TPPCapturedCredentialsTests | testLogIn_refreshesCapturedCredentials_onSubsequentAttempts | 89ms |
| โ | TPPCapturedCredentialsTests | testUpdateUserAccount_usesAtomicUpdateWithCorrectLibraryUUID | 122ms |
| โ | TPPCapturedCredentialsTests | testUpdateUserAccount_withAuthToken_savesAllCredentials | 103ms |
| โ | TPPCirculationAnalyticsRequestShapeContractTests | testOfflineEnqueue_noAccount_pinnedShape_GET_emptyLibraryID | 1ms |
| โ | TPPCirculationAnalyticsRequestShapeContractTests | testOfflineEnqueue_withAccount_libraryIDIsAccountUUID | 212ms |
| โ | TPPConfigurationCustomRegistryTests | test_bareHost_whenHiddenLibrariesOn_isNotRewrittenAtThisLayer | 193ms |
| โ | TPPConfigurationCustomRegistryTests | test_customRegistryIsExplicitURL_unparseableExplicitInput_isFalse | 4ms |
| โ | TPPConfigurationCustomRegistryTests | test_customUrlHash_matchesHashOfActualFetchURL | 5ms |
| โ | TPPConfigurationCustomRegistryTests | test_customUrl_bareHost_appendsLibrariesQa | 4ms |
| โ | TPPConfigurationCustomRegistryTests | test_customUrl_emptyOrWhitespaceOnly_isNil | 90ms |
| โ | TPPConfigurationCustomRegistryTests | test_customUrl_fullHttpURL_isUsedVerbatim | 6ms |
| โ | TPPConfigurationCustomRegistryTests | test_customUrl_fullHttpsURL_isUsedVerbatim | 6ms |
| โ | TPPConfigurationCustomRegistryTests | test_customUrl_fullURLWithQuery_preservesQuery | 5ms |
| โ | TPPConfigurationCustomRegistryTests | test_customUrl_whenUnset_isNil | 2ms |
| โ | TPPConfigurationCustomRegistryTests | test_customUrl_whitespacePaddedHost_isTrimmed | 6ms |
| โ | TPPConfigurationCustomRegistryTests | test_explicitURL_whenHiddenLibrariesOff_hasNoAvailability | 7ms |
| โ | TPPConfigurationCustomRegistryTests | test_explicitURL_whenHiddenLibrariesOff_leavesTypedAvailabilityUntouched | 8ms |
| โ | TPPConfigurationCustomRegistryTests | test_explicitURL_whenHiddenLibrariesOn_appendsAvailabilityAll | 50ms |
| โ | TPPConfigurationCustomRegistryTests | test_explicitURL_whenHiddenLibrariesOn_overwritesExistingAvailability | 19ms |
| โ | TPPConfigurationCustomRegistryTests | test_explicitURL_whenHiddenLibrariesOn_preservesOtherQueryItems | 6ms |
| โ | TPPConfigurationCustomRegistryTests | test_hiddenLibrariesToggle_changesCacheHashForExplicitURL | 9ms |
| โ | TPPConfigurationTests | test_accentColor_returnsValidUIColor | <1ms |
| โ | TPPConfigurationTests | test_appearanceWithBackgroundColor_usesProvidedColor | 2ms |
| โ | TPPConfigurationTests | test_backgroundColor_returnsValidUIColor | <1ms |
| โ | TPPConfigurationTests | test_backgroundMediaOverlayHighlightColor_returnsValidUIColor | 6ms |
| โ | TPPConfigurationTests | test_betaUrlHash_isNonEmpty | 275ms |
| โ | TPPConfigurationTests | test_betaUrl_isValid | 2ms |
| โ | TPPConfigurationTests | test_boldSystemFontName_returnsNonEmptyString | <1ms |
| โ | TPPConfigurationTests | test_defaultAppearance_returnsConfiguredAppearance | 40ms |
| โ | TPPConfigurationTests | test_defaultBookmarkRowHeight_returnsPositiveValue | <1ms |
| โ | TPPConfigurationTests | test_defaultTOCRowHeight_returnsPositiveValue | <1ms |
| โ | TPPConfigurationTests | test_mainColor_returnsValidUIColor | 2ms |
| โ | TPPConfigurationTests | test_palaceRed_returnsValidUIColor | 1ms |
| โ | TPPConfigurationTests | test_prodUrlHash_isDeterministic | 101ms |
| โ | TPPConfigurationTests | test_prodUrlHash_isNonEmpty | <1ms |
| โ | TPPConfigurationTests | test_prodUrl_isValid | 2ms |
| โ | TPPConfigurationTests | test_readerBackgroundColor_returnsValidUIColor | <1ms |
| โ | TPPConfigurationTests | test_readerBackgroundDarkColor_returnsValidUIColor | 6ms |
| โ | TPPConfigurationTests | test_readerBackgroundSepiaColor_returnsValidUIColor | 88ms |
| โ | TPPConfigurationTests | test_semiBoldSystemFontName_returnsNonEmptyString | <1ms |
| โ | TPPConfigurationTests | test_systemFontFamilyName_returnsNonEmptyString | <1ms |
| โ | TPPConfigurationTests | test_systemFontFamilyName_returnsOpenSans | <1ms |
| โ | TPPConfigurationTests | test_systemFontName_returnsNonEmptyString | <1ms |
| โ | TPPContentTypeTests | testFrom_EmptyString_ReturnsUnsupported | 1ms |
| โ | TPPContentTypeTests | testFrom_EpubZip_ReturnsEpub | 24ms |
| โ | TPPContentTypeTests | testFrom_NilMimeType_ReturnsUnsupported | <1ms |
| โ | TPPContentTypeTests | testFrom_OctetStream_ReturnsEpub | <1ms |
| โ | TPPContentTypeTests | testFrom_OpenAccessAudiobook_ReturnsAudiobook | <1ms |
| โ | TPPContentTypeTests | testFrom_OpenAccessPDF_ReturnsPDF | 8ms |
| โ | TPPContentTypeTests | testFrom_UnknownMimeType_ReturnsUnsupported | <1ms |
| โ | TPPContentTypeTests | testTPPBookContentType_from_plainTextHtml_returnsUnsupported | <1ms |
| โ | TPPContentTypeTests | testTPPBookContentType_from_streamingMediaMIME_returnsStreamingHTML | <1ms |
| โ | TPPCredentialConcurrencyTests | testAtomicUpdate_writesAreVisibleInSnapshot | 2ms |
| โ | TPPCredentialConcurrencyTests | testConcurrentRefreshCredentials_doesNotCrash | 9ms |
| โ | TPPCredentialConcurrencyTests | testConcurrentSnapshots_returnConsistentData | 49ms |
| โ | TPPCredentialIsolationE2ETests | testMarkCredentialsStale_doesNotAffectOtherAccount | 35ms |
| โ | TPPCredentialIsolationE2ETests | testRapidSwitching_500Iterations_noContamination | 1.10s |
| โ | TPPCredentialIsolationE2ETests | testSignInA_switchB_signInB_signOutB_verifyAIntact | 41ms |
| โ | TPPCredentialIsolationE2ETests | testSignInA_switchToB_signInB_verifyAIntact | 45ms |
| โ | TPPCredentialIsolationE2ETests | testThreeLibraries_allIsolated | 50ms |
| โ | TPPCredentialPersistenceTests | testFullSignInFlow_authStateIsLoggedIn | 110ms |
| โ | TPPCredentialPersistenceTests | testFullSignInFlow_completionCalledOnce | 55ms |
| โ | TPPCredentialPersistenceTests | testFullSignInFlow_credentialsRemainAccessible | 146ms |
| โ | TPPCredentialPersistenceTests | testUpdateUserAccount_basicAuth_setsCredentialsAndAuthState | 33ms |
| โ | TPPCredentialPersistenceTests | testUpdateUserAccount_credentialsPersistedAndRefreshable | 66ms |
| โ | TPPCredentialPersistenceTests | testUpdateUserAccount_noSelectedAuth_stillMarksLoggedIn | 88ms |
| โ | TPPCredentialSnapshotCoherenceTests | testCredentialSnapshot_AuthStateTransitions_ArePeerVisible | 44ms |
| โ | TPPCredentialSnapshotCoherenceTests | testCredentialSnapshot_ReflectsRemoveAllFromPeerInstance | 101ms |
| โ | TPPCredentialSnapshotCoherenceTests | testCredentialSnapshot_ReflectsWriteFromPeerInstance | 43ms |
| โ | TPPCredentialSnapshotTests | testSnapshot_identifiesTokenCredentials | <1ms |
| โ | TPPCredentialSnapshotTests | testSnapshot_isSignedInLogic_OAuth_stale | 19ms |
| โ | TPPCredentialSnapshotTests | testSnapshot_isSignedInLogic_basicAuth | <1ms |
| โ | TPPCredentialSnapshotTests | testSnapshot_isSignedInLogic_basicAuth_stale | <1ms |
| โ | TPPCredentialSnapshotTests | testSnapshot_isSignedInLogic_loggedOut | <1ms |
| โ | TPPCredentialSnapshotTests | testSnapshot_reportsNoCredentials | 79ms |
| โ | TPPCredentialSnapshotTests | testSnapshot_returnsAuthState | <1ms |
| โ | TPPCredentialSnapshotTests | testSnapshot_returnsCredentialsAfterSet | <1ms |
| โ | TPPCredentialsCoverageTests | testBarcodeAndPin_codableRoundTrip | 2ms |
| โ | TPPCredentialsCoverageTests | testBarcodeAndPin_storesFields | <1ms |
| โ | TPPCredentialsCoverageTests | testCookies_codableRoundTrip | 6ms |
| โ | TPPCredentialsCoverageTests | testCookies_storesCookies | <1ms |
| โ | TPPCredentialsCoverageTests | testToken_codableRoundTrip | <1ms |
| โ | TPPCredentialsCoverageTests | testToken_nilOptionals_codableRoundTrip | 59ms |
| โ | TPPCredentialsCoverageTests | testToken_optionalDefaults | 3ms |
| โ | TPPCredentialsCoverageTests | testToken_storesFields | 42ms |
| โ | TPPCredentialsCoverageTests | testTypeID_rawValues | 61ms |
| โ | TPPCredentialsTests | testBarcodeAndPin_WithEmptyValues_StoresEmptyStrings | <1ms |
| โ | TPPCredentialsTests | testBarcodeAndPin_WithSpecialCharacters_PreservesCharacters | <1ms |
| โ | TPPCredentialsTests | testBarcodeAndPin_WithValidData_StoresValues | 1ms |
| โ | TPPCredentialsTests | testCookies_WithEmptyArray_StoresEmptyArray | 7ms |
| โ | TPPCredentialsTests | testCookies_WithMultipleCookies_StoresAllCookies | 2ms |
| โ | TPPCredentialsTests | testCookies_WithValidCookies_StoresCookies | <1ms |
| โ | TPPCredentialsTests | testDecode_WithInvalidTypeID_ThrowsError | 1ms |
| โ | TPPCredentialsTests | testDecode_WithMissingType_ThrowsError | 2ms |
| โ | TPPCredentialsTests | testEncodeDecode_BarcodeAndPin_PreservesValues | 12ms |
| โ | TPPCredentialsTests | testEncodeDecode_BarcodeAndPin_WithEmptyStrings | <1ms |
| โ | TPPCredentialsTests | testEncodeDecode_BarcodeAndPin_WithLongStrings | <1ms |
| โ | TPPCredentialsTests | testEncodeDecode_Cookies_WithEmptyArray | 7ms |
| โ | TPPCredentialsTests | testEncodeDecode_Cookies_WithMultipleCookies | 1ms |
| โ | TPPCredentialsTests | testEncodeDecode_Cookies_WithValidCookies | 4ms |
| โ | TPPCredentialsTests | testEncodeDecode_Token_ExpirationDatePrecision | 4ms |
| โ | TPPCredentialsTests | testEncodeDecode_Token_WithAllProperties | <1ms |
| โ | TPPCredentialsTests | testEncodeDecode_Token_WithEmptyAuthToken | 1ms |
| โ | TPPCredentialsTests | testEncodeDecode_Token_WithNilOptionals | 42ms |
| โ | TPPCredentialsTests | testEncodeDecode_Token_WithSpecialCharacters | 16ms |
| โ | TPPCredentialsTests | testEncodeDecode_Token_WithUnicodeCharacters | <1ms |
| โ | TPPCredentialsTests | testToken_WithAllProperties_StoresValues | <1ms |
| โ | TPPCredentialsTests | testToken_WithEmptyAuthToken_StoresEmptyString | <1ms |
| โ | TPPCredentialsTests | testToken_WithOnlyAuthToken_StoresNilOptionals | <1ms |
| โ | TPPCredentialsTests | testTypeID_BarcodeAndPinHasCorrectRawValue | <1ms |
| โ | TPPCredentialsTests | testTypeID_CookiesHasCorrectRawValue | <1ms |
| โ | TPPCredentialsTests | testTypeID_TokenHasCorrectRawValue | <1ms |
| โ | TPPCrossLibrarySignOutTests | testMultiLibraryMock_returnsSeparateAccountsPerUUID | 42ms |
| โ | TPPCrossLibrarySignOutTests | testSequentialSignOuts_ofMultipleLibraries_clearCorrectCredentials | 55ms |
| โ | TPPCrossLibrarySignOutTests | testSignOut_ofNonActiveLibrary_doesNotClearActiveLibraryCredentials | 53ms |
| โ | TPPCrossLibrarySignOutTests | testSignOut_ofNonActiveOAuthLibrary_doesNotClearActiveLibraryToken | 45ms |
| โ | TPPCrossLibrarySignOutTests | testSignOut_ofNonActiveSAMLLibrary_doesNotClearActiveLibraryCookies | 69ms |
| โ | TPPCrossLibrarySignOutTests | testUserAccount_isScopedToLibraryAccountID | 39ms |
| โ | TPPDRMAuthorizingMockTimeoutTests | test_awaitDeauthorize_whenAlreadyCalled_returnsImmediately | <1ms |
| โ | TPPDRMAuthorizingMockTimeoutTests | test_awaitDeauthorize_whenCalledMidWait_observesItBeforeTheDeadline | 104ms |
| โ | TPPDRMAuthorizingMockTimeoutTests | test_awaitDeauthorize_whenNeverCalled_reportsTimeoutInsteadOfHanging | 504ms |
| โ | TPPDRMFailureCredentialPreservationTests | testUpdateUserAccount_drmFailure_doesNotChangeAuthState | 43ms |
| โ | TPPDRMFailureCredentialPreservationTests | testUpdateUserAccount_drmFailure_doesNotWipeExistingCredentials | 65ms |
| โ | TPPDRMFailureCredentialPreservationTests | testUpdateUserAccount_drmFailure_noExistingCredentials_noWipe | 23ms |
| โ | TPPDRMFailureCredentialPreservationTests | testUpdateUserAccount_drmSuccess_doesSaveCredentials | 44ms |
| โ | TPPErrorLoggerTests | testClientDomain_isCorrect | 1ms |
| โ | TPPErrorLoggerTests | testErrorCode_appLaunchAndRegistryCodesAreDistinct | <1ms |
| โ | TPPErrorLoggerTests | testErrorCode_drmCodesAreSeparateFromNetworking | 29ms |
| โ | TPPErrorLoggerTests | testErrorCode_ignoreProducesNoError | 2ms |
| โ | TPPErrorLoggerTests | testErrorCode_imageLoadingCodesAreUnique | <1ms |
| โ | TPPErrorLoggerTests | testErrorCode_networkingCodesAreUnique | 22ms |
| โ | TPPErrorLoggerTests | testErrorCode_parseAndImageGroupsDoNotOverlap | 62ms |
| โ | TPPErrorLoggerTests | testErrorCode_parseFailureCodesAreUnique | <1ms |
| โ | TPPErrorLoggerTests | testErrorCode_signInCodesAreDistinct | 2ms |
| โ | TPPErrorLoggerTests | testErrorCodes_areUnique | 1ms |
| โ | TPPErrorLoggerTests | testImageDecodeFail_doesNotCrash | 109ms |
| โ | TPPErrorLoggerTests | testImageHostFailure_isThrottled | 417ms |
| โ | TPPErrorLoggerTests | testLogBarcodeException_doesNotCrash | 1ms |
| โ | TPPErrorLoggerTests | testLogError_withCodeAndSummary_doesNotCrash | 1ms |
| โ | TPPErrorLoggerTests | testLogError_withErrorAndSummary_doesNotCrash | 30ms |
| โ | TPPErrorLoggerTests | testLogInvalidLicensor_doesNotCrash | 4ms |
| โ | TPPErrorLoggerTests | testLogInvalidLicensor_withNilAccountID_doesNotCrash | 17ms |
| โ | TPPErrorLoggerTests | testLogLocalAuthFailed_doesNotCrash | 41ms |
| โ | TPPErrorLoggerTests | testLogLoginError_withProblemDocument_doesNotCrash | 4ms |
| โ | TPPErrorLoggerTests | testLogNetworkError_doesNotCrash | 23ms |
| โ | TPPErrorLoggerTests | testLogNetworkError_withIgnoreCode_usesApiCallCode | 65ms |
| โ | TPPErrorLoggerTests | testLogNetworkError_withNilSummary_usesDefault | 36ms |
| โ | TPPErrorLoggerTests | testLogProblemDocumentParseError_doesNotCrash | 49ms |
| โ | TPPErrorLoggerTests | testLogProblemDocumentParseError_withNilData_doesNotCrash | 82ms |
| โ | TPPErrorLoggerTests | testSeverity_errorStringValue | <1ms |
| โ | TPPErrorLoggerTests | testSeverity_infoStringValue | 118ms |
| โ | TPPErrorLoggerTests | testSeverity_warningStringValue | 1ms |
| โ | TPPIdleSignOutRegressionTests | testCancelPendingSignOut_preventsCredentialCleanup | 235ms |
| โ | TPPIdleSignOutRegressionTests | testNormalSignOut_stillClearsCredentials | 60ms |
| โ | TPPIdleSignOutRegressionTests | testOAuthSignOut401_clearsTokenCredentials | 672ms |
| โ | TPPIdleSignOutRegressionTests | testRaceCondition_signInDuringPendingDeauth_preservesNewCredentials | 494ms |
| โ | TPPIdleSignOutRegressionTests | testRapidSignOutSignInCycles_doNotCorruptState | 421ms |
| โ | TPPIdleSignOutRegressionTests | testSignOut401_clearsCredentials | 103ms |
| โ | TPPIdleSignOutRegressionTests | testSignOut401_deauthorizesDeviceWithLicensor | 56ms |
| โ | TPPIdleSignOutRegressionTests | testSignOut401_doesNotShowUnexpectedCredentialsError | 52ms |
| โ | TPPIdleSignOutRegressionTests | testSignOut500_showsErrorToUser | 291ms |
| โ | TPPIdleSignOutRegressionTests | testSignOutSignInCycle_licensorPreservedForBorrow | 369ms |
| โ | TPPIdleSignOutRegressionTests | testSignOut_alwaysCallsDidFinishDeauthorizing | 218ms |
| โ | TPPIdleSignOutRegressionTests | testSignOut_withNoDRMAuthorizer_completes | 39ms |
| โ | TPPIdleSignOutRegressionTests | testStaleSignOut_stillCallsDidFinishDeauthorizing | 270ms |
| โ | TPPJWKConversionTest | testJWKConversion | 11ms |
| โ | TPPKeychainManagerTests | testDecodeKeychainKey_withCorruptedArchive_returnsNilInsteadOfCrashing | 3ms |
| โ | TPPKeychainManagerTests | testDecodeKeychainValue_withCorruptedArchive_returnsNilInsteadOfCrashing | 5ms |
| โ | TPPKeychainManagerTests | testDecodeKeychainValue_withRawJSON_returnsNilQuietly | <1ms |
| โ | TPPKeychainManagerTests | testDecoders_stillReadArchivesWrittenTheOldWay | 1ms |
| โ | TPPKeychainManagerTests | testLogKeychainError_doesNotCrash_withEmptyMessage | 532ms |
| โ | TPPKeychainManagerTests | testLogKeychainError_doesNotCrash_withEmptyVendor | 194ms |
| โ | TPPKeychainManagerTests | testLogKeychainError_doesNotCrash_withKnownStatuses | 684ms |
| โ | TPPKeychainManagerTests | testLogKeychainError_doesNotCrash_withUnknownStatus | 152ms |
| โ | TPPKeychainManagerTests | testSecClassItems_coversAllExpectedTypes | 2ms |
| โ | TPPLastReadPositionPosterTests | testShouldStore_cssSelectorWithRenderedZeroProgression_stores | 4ms |
| โ | TPPLastReadPositionPosterTests | testShouldStore_meaningfulProgression_stores | 6ms |
| โ | TPPLastReadPositionPosterTests | testShouldStore_positionGreaterThanZero_stores | 7ms |
| โ | TPPLastReadPositionPosterTests | testShouldStore_positionZero_doesNotStore | 32ms |
| โ | TPPLastReadPositionPosterTests | testShouldStore_progressionExactlyZero_doesNotStore | 2ms |
| โ | TPPLastReadPositionPosterTests | testShouldStore_progressionNil_doesNotStore | 4ms |
| โ | TPPLastReadPositionPosterTests | testShouldStore_progressionPositiveButTinyAndRendered_stores | 12ms |
| โ | TPPLastReadPositionPosterTests | testStoreReadPosition_multipleCalls_eachDelegatesToWriter | 14ms |
| โ | TPPLastReadPositionPosterTests | testStoreReadPosition_validLocator_savesLocally_andDelegatesToWriter | 12ms |
| โ | TPPLastReadPositionPosterTests | testStoreReadPosition_writerThrows_doesNotCrash_localStateUnaffected | 21ms |
| โ | TPPLastReadPositionPosterTests | testStoreReadPosition_zeroProgressionNoCssSelector_doesNotStore | 5ms |
| โ | TPPLastReadPositionPosterTests | testStoreReadPosition_zeroProgressionWithCssSelector_storesLocally_andDelegates | 7ms |
| โ | TPPLastReadPositionPosterTests | testThrottlingInterval_isLockedAtFifteenSeconds | 3ms |
| โ | TPPLastReadPositionSynchronizerIntegrationTests | testRealSynchronizer_Init_Succeeds | 2ms |
| โ | TPPLastReadPositionSynchronizerIntegrationTests | testRealSynchronizer_MultipleBooks_IndependentLocations | 1ms |
| โ | TPPLastReadPositionSynchronizerIntegrationTests | testRealSynchronizer_WithEmptyRegistry_DoesNotCrash | <1ms |
| โ | TPPLastReadPositionSynchronizerIntegrationTests | testRealSynchronizer_WithManyBooks_PerformsEfficiently | 10ms |
| โ | TPPLastReadPositionSynchronizerIntegrationTests | testRealSynchronizer_WithRegistryContainingBook_AccessesLocation | <1ms |
| โ | TPPLastReadPositionSynchronizerTests | testBookRegistry_GetLocation_ForNonexistentBook_ReturnsNil | 1ms |
| โ | TPPLastReadPositionSynchronizerTests | testBookRegistry_SetLocationToNil_ClearsPosition | 408ms |
| โ | TPPLastReadPositionSynchronizerTests | testBookRegistry_SetLocation_UpdatesPosition | 1ms |
| โ | TPPLastReadPositionSynchronizerTests | testBookRegistry_StoresLocation | 2ms |
| โ | TPPLastReadPositionSynchronizerTests | testBookRegistry_UpdateLocation_OverwritesPrevious | 150ms |
| โ | TPPLastReadPositionSynchronizerTests | testReadiumBookmark_StoresAllProperties | 3ms |
| โ | TPPLastReadPositionSynchronizerTests | testSyncDecision_WhenBothDeviceIDsNilButLocalExists_ReturnsTrue | 125ms |
| โ | TPPLastReadPositionSynchronizerTests | testSyncDecision_WhenDifferentDeviceWithDifferentPosition_ReturnsTrue | <1ms |
| โ | TPPLastReadPositionSynchronizerTests | testSyncDecision_WhenDifferentDeviceWithNoLocalPosition_ReturnsTrue | 23ms |
| โ | TPPLastReadPositionSynchronizerTests | testSyncDecision_WhenNilLocalDeviceIDAndServerHasDevice_ReturnsTrue | 149ms |
| โ | TPPLastReadPositionSynchronizerTests | testSyncDecision_WhenPositionsMatchExactly_RegardlessOfDevice_ReturnsFalse | 3ms |
| โ | TPPLastReadPositionSynchronizerTests | testSyncDecision_WhenSameDeviceWithLocalPosition_ReturnsFalse | <1ms |
| โ | TPPLastReadPositionSynchronizerTests | testSyncDecision_WhenSameDeviceWithNoLocalPosition_ReturnsTrue | 3ms |
| โ | TPPLastReadPositionSynchronizerTests | testSyncDecision_WhenServerBookmarkHasEmptyDevice_AndLocalDeviceEmpty_ReturnsFalse | 1ms |
| โ | TPPLastReadPositionSynchronizerTests | testSyncDecision_WhenServerDeviceIsNilAndLocalDeviceIDEmpty_ReturnsFalse | 68ms |
| โ | TPPLastReadPositionSynchronizerTests | testSyncDecision_WhenServerHasNoPositionAndNilDeviceID_ReturnsFalse | 260ms |
| โ | TPPLastReadPositionSynchronizerTests | testSyncDecision_WhenServerHasNoPositionAndNoLocalPosition_ReturnsFalse | 25ms |
| โ | TPPLastReadPositionSynchronizerTests | testSyncDecision_WhenServerHasNoPosition_ReturnsFalse | 36ms |
| โ | TPPLastReadPositionSynchronizerTests | testSyncDecision_WhenServerPositionMatchesLocal_ReturnsFalse | 13ms |
| โ | TPPLastReadPositionSynchronizerTests | testSyncDecision_WhenServerReturnsNilOnError_ReturnsFalse | 4ms |
| โ | TPPLastReadPositionSynchronizerTests | testSyncDecision_WithMatchingLocation_StillComparesAsStrings | 100ms |
| โ | TPPLastReadPositionSynchronizerTests | testSynchronizer_Init_AcceptsDifferentRegistryImplementations | 6ms |
| โ | TPPLastReadPositionSynchronizerTests | testSynchronizer_Init_StoresBookRegistry | 1ms |
| โ | TPPLastReadPositionSynchronizer_BehaviorDocumentationTests | testBehavior_DifferentDevice_UserShouldBePrompted | <1ms |
| โ | TPPLastReadPositionSynchronizer_BehaviorDocumentationTests | testBehavior_FreshDevice_ShouldSyncFromServer | 1ms |
| โ | TPPLastReadPositionSynchronizer_BehaviorDocumentationTests | testBehavior_IdenticalPositions_NoPromptNeeded | 1ms |
| โ | TPPLastReadPositionSynchronizer_BehaviorDocumentationTests | testBehavior_NoServerPosition_NoSync | <1ms |
| โ | TPPLastReadPositionSynchronizer_BehaviorDocumentationTests | testBehavior_SameDevice_LocalPositionIsAuthoritative | 1ms |
| โ | TPPLastReadPositionSynchronizer_BookLocationTests | testTPPBookLocation_Creation_WithValidParameters | <1ms |
| โ | TPPLastReadPositionSynchronizer_BookLocationTests | testTPPBookLocation_DictionaryRepresentation_ContainsRequiredKeys | 25ms |
| โ | TPPLastReadPositionSynchronizer_BookLocationTests | testTPPBookLocation_DifferentLocationStrings_AreNotEqual | 4ms |
| โ | TPPLastReadPositionSynchronizer_BookLocationTests | testTPPBookLocation_EmptyLocationString_IsValid | <1ms |
| โ | TPPLastReadPositionSynchronizer_BookLocationTests | testTPPBookLocation_FromDictionary_CreatesValidLocation | <1ms |
| โ | TPPLastReadPositionSynchronizer_BookLocationTests | testTPPBookLocation_FromDictionary_WithMissingKeys_ReturnsNil | 1ms |
| โ | TPPLastReadPositionSynchronizer_BookLocationTests | testTPPBookLocation_LocationStringEquality_MatchesExactly | 5ms |
| โ | TPPLastReadPositionSynchronizer_BookLocationTests | testTPPBookLocation_R3Renderer_HasCorrectValue | <1ms |
| โ | TPPLastReadPositionSynchronizer_BookLocationTests | testTPPBookLocation_VeryLongLocationString_IsHandled | 2ms |
| โ | TPPLastReadPositionSynchronizer_ConcurrencyTests | testConcurrentLocationUpdates_DoNotCrash | 2ms |
| โ | TPPLastReadPositionSynchronizer_ConcurrencyTests | testConcurrentSyncDecisions_AreConsistent | 4ms |
| โ | TPPLastReadPositionSynchronizer_ConcurrencyTests | testMultipleSynchronizersWithSameRegistry_DoNotConflict | 28ms |
| โ | TPPLastReadPositionSynchronizer_ReadiumBookmarkTests | testReadiumBookmark_DeviceProperty_WithNilDevice_ReturnsNil | 2ms |
| โ | TPPLastReadPositionSynchronizer_ReadiumBookmarkTests | testReadiumBookmark_DictionaryRepresentation_ContainsAllKeys | 449ms |
| โ | TPPLastReadPositionSynchronizer_ReadiumBookmarkTests | testReadiumBookmark_Equality_SameAnnotationId | <1ms |
| โ | TPPLastReadPositionSynchronizer_ReadiumBookmarkTests | testReadiumBookmark_FullProgress_FormatsAs100 | 1ms |
| โ | TPPLastReadPositionSynchronizer_ReadiumBookmarkTests | testReadiumBookmark_Init_WithNilHref_ReturnsNil | 1ms |
| โ | TPPLastReadPositionSynchronizer_ReadiumBookmarkTests | testReadiumBookmark_Init_WithValidParameters | 1ms |
| โ | TPPLastReadPositionSynchronizer_ReadiumBookmarkTests | testReadiumBookmark_PercentInBook_FormatsCorrectly | 1ms |
| โ | TPPLastReadPositionSynchronizer_ReadiumBookmarkTests | testReadiumBookmark_PercentInChapter_FormatsCorrectly | 2ms |
| โ | TPPLastReadPositionSynchronizer_ReadiumBookmarkTests | testReadiumBookmark_ZeroProgress_FormatsAsZero | 263ms |
| โ | TPPLastReadPositionSynchronizer_SyncLogicTests | testSyncLogic_DeviceCheckTakesPrecedenceOverLocationMatch | <1ms |
| โ | TPPLastReadPositionSynchronizer_SyncLogicTests | testSyncLogic_DeviceIDCaseSensitivity | 2ms |
| โ | TPPLastReadPositionSynchronizer_SyncLogicTests | testSyncLogic_DeviceIDWithSpecialCharacters | 29ms |
| โ | TPPLastReadPositionSynchronizer_SyncLogicTests | testSyncLogic_LocationMatchPreventsSync_EvenFromDifferentDevice | 17ms |
| โ | TPPLastReadPositionSynchronizer_SyncLogicTests | testSyncLogic_LocationWithWhitespace_ExactMatchRequired | 2ms |
| โ | TPPLastReadPositionSynchronizer_SyncLogicTests | testSyncLogic_ProgressAtExactBoundaries | 48ms |
| โ | TPPLastReadPositionSynchronizer_SyncLogicTests | testSyncLogic_SameBookmarkLocation_ExactStringMatch | <1ms |
| โ | TPPLastReadPositionSynchronizer_SyncLogicTests | testSyncLogic_SameLocationString_HandledGracefully | <1ms |
| โ | TPPLastReadPositionSynchronizer_SyncLogicTests | testSyncLogic_VeryLongDeviceID | <1ms |
| โ | TPPLastReadPositionSynchronizer_SyncLogicTests | testSyncLogic_VerySmallProgressDifference | <1ms |
| โ | TPPLastReadPositionSynchronizer_WriterDelegationTests | testSync_sameDevice_andLocalExists_skipsAlertPath | 15ms |
| โ | TPPLastReadPositionSynchronizer_WriterDelegationTests | testSync_serverEqualsLocal_skipsAlertPath | 32ms |
| โ | TPPLastReadPositionSynchronizer_WriterDelegationTests | testSync_writerReturnsNil_callsLoadOnce_noAlertPath | 4ms |
| โ | TPPLastReadPositionSynchronizer_WriterDelegationTests | testSync_writerThrows_logsAndReturnsWithoutAlert | 25ms |
| โ | TPPLoginNoActivationTests | testValidateCredentials_doesNotTriggerAdobeActivation | 84ms |
| โ | TPPLoginNoActivationTests | testValidateCredentials_savesLicensorForLaterUse | 388ms |
| โ | TPPLoginNoActivationTests | testValidateCredentials_withStaleCredentials_doesNotActivate | 109ms |
| โ | TPPMainThreadCheckerTests | testAsyncIfNeeded_FromBackgroundThread_DispatchesAsyncToMain | 3ms |
| โ | TPPMainThreadCheckerTests | testAsyncIfNeeded_FromMainThread_ExecutesSynchronously | <1ms |
| โ | TPPMainThreadCheckerTests | testSync_FromBackgroundThread_DispatchesToMainThread | 3ms |
| โ | TPPMainThreadCheckerTests | testSync_FromMainThread_ExecutesSynchronously | <1ms |
| โ | TPPMigrationManagerTests | testMigrate_returnsAHandleOnTheLCPMigrationRatherThanDiscardingIt | 77ms |
| โ | TPPMigrationManagerTests | testMigrate_runsTheLCPKeychainMigration | 16ms |
| โ | TPPMigrationManagerTests | testVersion_emptyA_nonEmptyB_returnsTrue | <1ms |
| โ | TPPMigrationManagerTests | testVersion_emptyA_zeroB_returnsFalse | 4ms |
| โ | TPPMigrationManagerTests | testVersion_emptyA_zeroZeroB_returnsFalse | <1ms |
| โ | TPPMigrationManagerTests | testVersion_emptyArrays_returnsFalse | <1ms |
| โ | TPPMigrationManagerTests | testVersion_equalVersions_returnsFalse | <1ms |
| โ | TPPMigrationManagerTests | testVersion_longerA_returnsFalse | 35ms |
| โ | TPPMigrationManagerTests | testVersion_majorGreaterThan_returnsFalse | 25ms |
| โ | TPPMigrationManagerTests | testVersion_majorLessThan_returnsTrue | 1ms |
| โ | TPPMigrationManagerTests | testVersion_minorGreaterThan_returnsFalse | 1ms |
| โ | TPPMigrationManagerTests | testVersion_minorLessThan_returnsTrue | <1ms |
| โ | TPPMigrationManagerTests | testVersion_patchLessThan_returnsTrue | 2ms |
| โ | TPPMigrationManagerTests | testVersion_shorterA_withNonZeroRemainder_returnsTrue | 1ms |
| โ | TPPMigrationManagerTests | testVersion_shorterA_withZeroRemainder_returnsFalse | 2ms |
| โ | TPPMigrationManagerTests | testVersion_singleComponent_equal | 1ms |
| โ | TPPMigrationManagerTests | testVersion_singleComponent_lessThan | 1ms |
| โ | TPPNetworkExecutorAPITests | testBearerAuthorized_preservesExistingHeaders | 74ms |
| โ | TPPNetworkExecutorAPITests | testBearerAuthorized_setsAuthorizationHeader | 286ms |
| โ | TPPNetworkExecutorAPITests | testCancelNonEssentialTasks_doesNotCrash | 6ms |
| โ | TPPNetworkExecutorAPITests | testClearCache_doesNotCrash | 19ms |
| โ | TPPNetworkExecutorAPITests | testInit_withCachingStrategy_doesNotCrash | 29ms |
| โ | TPPNetworkExecutorAPITests | testInit_withCustomSessionConfiguration | 1ms |
| โ | TPPNetworkExecutorAPITests | testInit_withDefaultCachingStrategy | <1ms |
| โ | TPPNetworkExecutorAPITests | testInit_withFallbackCachingStrategy | 2ms |
| โ | TPPNetworkExecutorAPITests | testPauseAllTasks_doesNotCrash | 198ms |
| โ | TPPNetworkExecutorAPITests | testRequest_forURL_createsValidRequest | 6ms |
| โ | TPPNetworkExecutorAPITests | testRequest_forURL_setsAcceptLanguageEmpty | 8ms |
| โ | TPPNetworkExecutorAPITests | testRequest_forURL_setsUserAgent | 10ms |
| โ | TPPNetworkExecutorAPITests | testResumeAllTasks_doesNotCrash | 12ms |
| โ | TPPNetworkExecutorAPITests | testShared_isNotNil | <1ms |
| โ | TPPNetworkExecutorCancellationTests | testDELETE_honoursTaskCancellation | 726ms |
| โ | TPPNetworkExecutorCancellationTests | testFixture_serverNeverAnswers | 2.02s |
| โ | TPPNetworkExecutorCancellationTests | testGETRequest_honoursTaskCancellation | 146ms |
| โ | TPPNetworkExecutorCancellationTests | testGET_url_honoursTaskCancellation | 249ms |
| โ | TPPNetworkExecutorCancellationTests | testPOST_honoursTaskCancellation | 197ms |
| โ | TPPNetworkExecutorCancellationTests | testPUT_honoursTaskCancellation | 165ms |
| โ | TPPNetworkExecutorConcurrencyTests | testConcurrentExecuteRequest_completionHandlerPath_firesExactlyOnce | 495ms |
| โ | TPPNetworkExecutorConcurrencyTests | testConcurrentGET_serverError_eachFailureFiresExactlyOnce | 1.81s |
| โ | TPPNetworkExecutorConcurrencyTests | testConcurrentGET_viaContinuations_eachCompletionFiresExactlyOnce | 475ms |
| โ | TPPNetworkExecutorConcurrencyTests | testConcurrentNetworkCancellation_allTasksCancelOrComplete | 686ms |
| โ | TPPNetworkExecutorStubbedTests | testAddBearerAndExecute_setsAuthHeader | 18ms |
| โ | TPPNetworkExecutorStubbedTests | testDELETE_async_success | 24ms |
| โ | TPPNetworkExecutorStubbedTests | testDELETE_nilCompletion_doesNotCrash | 7ms |
| โ | TPPNetworkExecutorStubbedTests | testDELETE_setsMethodToDELETE | 83ms |
| โ | TPPNetworkExecutorStubbedTests | testDownload_createsDownloadTask | 21ms |
| โ | TPPNetworkExecutorStubbedTests | testGET_async_success | 17ms |
| โ | TPPNetworkExecutorStubbedTests | testGET_async_withRequest | 11ms |
| โ | TPPNetworkExecutorStubbedTests | testGET_correctsHTTPMethodIfNotGET | 7ms |
| โ | TPPNetworkExecutorStubbedTests | testGET_objcAPI_success | 20ms |
| โ | TPPNetworkExecutorStubbedTests | testGET_serverError_returnsFailure | 78ms |
| โ | TPPNetworkExecutorStubbedTests | testGET_success_returnsData | 14ms |
| โ | TPPNetworkExecutorStubbedTests | testPOST_async_success | 15ms |
| โ | TPPNetworkExecutorStubbedTests | testPOST_nilCompletion_doesNotCrash | 8ms |
| โ | TPPNetworkExecutorStubbedTests | testPOST_setsMethodToPOST | 5ms |
| โ | TPPNetworkExecutorStubbedTests | testPUT_async_success | 26ms |
| โ | TPPNetworkExecutorStubbedTests | testPUT_correctsHTTPMethodIfNotPUT | 58ms |
| โ | TPPNetworkExecutorStubbedTests | testPUT_setsMethodToPUT | 38ms |
| โ | TPPNetworkExecutorTests | testExecutor_conformsToProtocol | 2ms |
| โ | TPPNetworkExecutorTests | testExecutor_hasCorrectTimeout | <1ms |
| โ | TPPNetworkExecutorTests | testExecutor_usesEphemeralCaching | 13ms |
| โ | TPPNetworkResponderAuthCoordinatorTests | testClassifier_seam_401_crossDomain_returnsOk_preservingResponderCDNGuard | 9ms |
| โ | TPPNetworkResponderAuthCoordinatorTests | testClassifier_seam_401_foreignHost_returnsOk_preservingResponderForeignHostGuard | 2ms |
| โ | TPPNetworkResponderAuthCoordinatorTests | testResponder_200_doesNotConsumeRetryBudget_andCompletionSucceeds | 4ms |
| โ | TPPNetworkResponderAuthCoordinatorTests | testResponder_401_completion_fires_underBudget_andPreservesRetryTrackingShape | 4ms |
| โ | TPPNetworkResponderAuthCoordinatorTests | testResponder_401_whenURLAlreadyRetried_completionFiresWithFailure | 46ms |
| โ | TPPNetworkResponderRetryBufferTests | testBodyAfterRetryIsTheRetryBodyVerbatim | 2ms |
| โ | TPPNetworkResponderRetryBufferTests | testChunkedRetryBodyAccumulatesFullyWithoutStalePrefix | 69ms |
| โ | TPPNetworkResponderRetryBufferTests | testOldTaskIdIsVacatedByTheMove | 7ms |
| โ | TPPNetworkResponderRetryBufferTests | testRemapOfUnknownIdCreatesNothing | 3ms |
| โ | TPPNetworkResponderRetryBufferTests | testRetryTaskDoesNotInheritThe401Body | 4ms |
| โ | TPPNetworkResponderSizeLimitTests | testResponse_declaredContentLengthExactlyAtCap_succeeds | 62ms |
| โ | TPPNetworkResponderSizeLimitTests | testResponse_declaredContentLengthOverCap_refusedUpFront | 33ms |
| โ | TPPNetworkResponderSizeLimitTests | testResponse_exactlyAtCap_succeeds | 62ms |
| โ | TPPNetworkResponderSizeLimitTests | testResponse_overCap_failsWithResponseTooLarge_andDropsBody | 30ms |
| โ | TPPNetworkResponderSizeLimitTests | testResponse_underCap_succeedsWithFullBody | 31ms |
| โ | TPPNetworkResponderTests | testAddCompletionStoresTaskInfo | 58ms |
| โ | TPPNetworkResponderTests | testCanRetryReturnsFalseAfterMarkRetried | <1ms |
| โ | TPPNetworkResponderTests | testCanRetryReturnsFalseForNilURL | <1ms |
| โ | TPPNetworkResponderTests | testCanRetryReturnsTrueForFreshURL | <1ms |
| โ | TPPNetworkResponderTests | testClearAllRetriesResetsEverything | <1ms |
| โ | TPPNetworkResponderTests | testClearRetryResetsURL | <1ms |
| โ | TPPNetworkResponderTests | testInitWithCredentialsProvider | 1ms |
| โ | TPPNetworkResponderTests | testInitWithFallbackCachingDisabledByDefault | 2ms |
| โ | TPPNetworkResponderTests | testMarkRetriedWithNilURL_isNoOp_andLeavesRealURLTrackingIntact | <1ms |
| โ | TPPNetworkResponderTests | testMultipleURLsTrackedIndependently | <1ms |
| โ | TPPNetworkResponderTests | testSessionInvalidationCallsPendingCompletionsWithCancelError | 6ms |
| โ | TPPNetworkResponderTests | testUpdateCompletionIdTransfersInfo | 1ms |
| โ | TPPOPDSAcquisitionPathTests | testSampleLinkInAcquisitions | 5ms |
| โ | TPPOPDSAcquisitionPathTests | testSimplifiedAdeptEpubAcquisition | 24ms |
| โ | TPPOPDSAcquisitionPathTests | testSupportedAcquisitionPaths_borrowToStreamingHTMLIndirect_producesStreamingPath | 5ms |
| โ | TPPOPDSAcquisitionPathTests | testTPPOPDSAcquisitionPath_supportedSubtypes_forOPDSPublication_containsStreamingHTML | 6ms |
| โ | TPPOPDSAcquisitionPathTests | testTPPOPDSAcquisitionPath_supportedTypes_containsStreamingHTML | 3ms |
| โ | TPPOPDSEntryTests | testAuthorStrings | 2ms |
| โ | TPPOPDSEntryTests | testEntryFromSingleEntryFixture_parsesAllScalarFields | 2ms |
| โ | TPPOPDSEntryTests | testGroupAttributes | 3ms |
| โ | TPPOPDSEntryTests | testInit_returnsNilWhenRequiredIdElementIsMissing | 1ms |
| โ | TPPOPDSEntryTests | testUpdated | 4ms |
| โ | TPPOPDSFeedTests | testFeedFromMainFixture_parsesAllTopLevelFields | 22ms |
| โ | TPPOPDSFeedTests | testInit_nilXMLYieldsNil_validXMLYieldsParsedFeed | 28ms |
| โ | TPPOPDSFeedTests | testUpdated | 23ms |
| โ | TPPOPDSGroupSwiftTests | testInitStoresEntries | 2ms |
| โ | TPPOPDSGroupSwiftTests | testInitStoresProperties | <1ms |
| โ | TPPOPDSGroupSwiftTests | testInitWithDifferentHref_storesDifferentHref | <1ms |
| โ | TPPOPDSLinkTests | testCount | 13ms |
| โ | TPPOPDSLinkTests | testHandlesNilInit | 2ms |
| โ | TPPOPDSLinkTests | testLink0 | 19ms |
| โ | TPPOPDSLinkTests | testLink1 | 3ms |
| โ | TPPOPDSLinkTests | testLink2 | 5ms |
| โ | TPPOPDSLinkTests | testLink3 | 1ms |
| โ | TPPOPDSLinkTests | testLink4 | 1ms |
| โ | TPPOpenSearchDescriptionExpandedTests | test_initWithTitle_emptyBooks_setsEmptyBooks | 29ms |
| โ | TPPOpenSearchDescriptionExpandedTests | test_initWithTitle_setsDescriptionAndBooks | 3ms |
| โ | TPPOpenSearchDescriptionExpandedTests | test_initWithXML_missingDescription_returnsNil | 1ms |
| โ | TPPOpenSearchDescriptionExpandedTests | test_initWithXML_missingOPDSUrl_returnsNil | 57ms |
| โ | TPPOpenSearchDescriptionExpandedTests | test_initWithXML_validOpenSearchXML_returnsNonNil | 1ms |
| โ | TPPOpenSearchDescriptionExpandedTests | test_opdsURLForSearching_emptyString_returnsURL | 36ms |
| โ | TPPOpenSearchDescriptionExpandedTests | test_opdsURLForSearching_encodesAmpersand | 2ms |
| โ | TPPOpenSearchDescriptionExpandedTests | test_opdsURLForSearching_encodesSpecialCharacters | 2ms |
| โ | TPPOpenSearchDescriptionExpandedTests | test_opdsURLForSearching_encodesUnicode | 7ms |
| โ | TPPOpenSearchDescriptionExpandedTests | test_opdsURLForSearching_preservesEntrypoint | 38ms |
| โ | TPPOpenSearchDescriptionTests | testOPDSURLSearch | <1ms |
| โ | TPPPDFDocumentMetadataTests | testAddBookmark_AtCurrentPage_WhenNilPassed_UsesCurrentPage | 73ms |
| โ | TPPPDFDocumentMetadataTests | testAddBookmark_AtPageZero_HandlesCorrectly | 10ms |
| โ | TPPPDFDocumentMetadataTests | testAddBookmark_AtSpecificPage_AddsToBookmarks | 3ms |
| โ | TPPPDFDocumentMetadataTests | testAddBookmark_DuplicatePage_DoesNotDuplicate | 183ms |
| โ | TPPPDFDocumentMetadataTests | testAddBookmark_MultipleTimes_AddsAllBookmarks | 113ms |
| โ | TPPPDFDocumentMetadataTests | testBookmarks_IsPublished_EmitsChanges | 3ms |
| โ | TPPPDFDocumentMetadataTests | testCurrentPage_IsPublished_EmitsChanges | 6ms |
| โ | TPPPDFDocumentMetadataTests | testIsBookmarked_WhenPageInBookmarks_ReturnsTrue | 4ms |
| โ | TPPPDFDocumentMetadataTests | testIsBookmarked_WhenPageNotInBookmarks_ReturnsFalse | 4ms |
| โ | TPPPDFDocumentMetadataTests | testIsBookmarked_WithEmptyBookmarks_ReturnsFalse | 154ms |
| โ | TPPPDFDocumentMetadataTests | testIsBookmarked_WithLargePageNumber_HandlesCorrectly | 3ms |
| โ | TPPPDFDocumentMetadataTests | testIsBookmarked_WithNilPage_ChecksCurrentPage | 227ms |
| โ | TPPPDFDocumentMetadataTests | testIsBookmarked_WithZeroPage_HandlesCorrectly | 29ms |
| โ | TPPPDFDocumentMetadataTests | testRemoveBookmark_NonexistentPage_DoesNotCrash | 3.90s |
| โ | TPPPDFDocumentMetadataTests | testRemoveBookmark_RemovesFromBookmarks | 6ms |
| โ | TPPPDFDocumentTests | testPDFDocument_delegateCanBeSet | 3ms |
| โ | TPPPDFDocumentTests | testPDFDocument_initFromData_exposesData | 67ms |
| โ | TPPPDFDocumentTests | testPDFDocument_labelReturnsNilForInvalidPage | <1ms |
| โ | TPPPDFDocumentTests | testPDFDocument_pageCountForInvalidData | <1ms |
| โ | TPPPDFDocumentTests | testPDFDocument_previewReturnsNilForInvalidPage | 1ms |
| โ | TPPPDFDocumentTests | testPDFDocument_sizeReturnsNilForInvalidPage | 5ms |
| โ | TPPPDFDocumentTests | testPDFDocument_tableOfContentsEmptyForInvalidData | 9ms |
| โ | TPPPDFDocumentTests | testPDFDocument_thumbnailReturnsNilForInvalidPage | <1ms |
| โ | TPPPDFLocationCoverageTests | testPDFLocation_defaultLevelIsZero | 3ms |
| โ | TPPPDFLocationCoverageTests | testPDFLocation_differentLocations_differentIds | 1ms |
| โ | TPPPDFLocationCoverageTests | testPDFLocation_id_encodesAllFields | 2ms |
| โ | TPPPDFLocationCoverageTests | testPDFLocation_id_handlesNils | 30ms |
| โ | TPPPDFLocationCoverageTests | testPDFLocation_identifiableId_isDeterministic | <1ms |
| โ | TPPPDFLocationCoverageTests | testPDFLocation_initWithAllParameters | <1ms |
| โ | TPPPDFLocationCoverageTests | testPDFLocation_nilProperties | 2ms |
| โ | TPPPDFLocationTests | testId_ContainsPageNumber | 1ms |
| โ | TPPPDFLocationTests | testId_HandlesNilValues_WithEmptyStrings | 2ms |
| โ | TPPPDFLocationTests | testId_SameForIdenticalLocations | 216ms |
| โ | TPPPDFLocationTests | testId_UniqueForDifferentLevels | 3ms |
| โ | TPPPDFLocationTests | testId_UniqueForDifferentPageLabels | 2ms |
| โ | TPPPDFLocationTests | testId_UniqueForDifferentPages | 1ms |
| โ | TPPPDFLocationTests | testId_UniqueForDifferentSubtitles | <1ms |
| โ | TPPPDFLocationTests | testId_UniqueForDifferentTitles | 78ms |
| โ | TPPPDFLocationTests | testInit_AllParameters_SetsProperties | 2ms |
| โ | TPPPDFLocationTests | testInit_NilOptionals_DefaultsLevelToZero | 3ms |
| โ | TPPPDFPageBookmarkTests | testPageBookmark_annotationIdCanBeSet | 223ms |
| โ | TPPPDFPageBookmarkTests | testPageBookmark_annotationIdDefaultsToNil | 12ms |
| โ | TPPPDFPageBookmarkTests | testPageBookmark_codableRoundTrip | 5ms |
| โ | TPPPDFPageBookmarkTests | testPageBookmark_conformsToBookmark | 10ms |
| โ | TPPPDFPageBookmarkTests | testPageBookmark_decodesFromJSON | 2ms |
| โ | TPPPDFPageBookmarkTests | testPageBookmark_encodesAtTypeKey | 47ms |
| โ | TPPPDFPageBookmarkTests | testPageBookmark_initSetsPage | 2ms |
| โ | TPPPDFPageBookmarkTests | testPageBookmark_isNSObject | <1ms |
| โ | TPPPDFPageBookmarkTests | testPageBookmark_typeIsLocatorPage | 11ms |
| โ | TPPPDFPageTests | testPDFPage_codableRoundTrip | <1ms |
| โ | TPPPDFPageTests | testPDFPage_decodesFromJSON | 7ms |
| โ | TPPPDFPageTests | testPDFPage_encodesToExpectedJSON | <1ms |
| โ | TPPPDFPageTests | testPDFPage_initStoresPageNumber | 1ms |
| โ | TPPPDFPageTests | testPDFPage_zeroPageNumber | 40ms |
| โ | TPPPDFReaderModeTests | testReaderMode_allCasesHaveUniqueValues | <1ms |
| โ | TPPPDFReaderModeTests | testReaderMode_bookmarksValue | 2ms |
| โ | TPPPDFReaderModeTests | testReaderMode_previewsValue | 1ms |
| โ | TPPPDFReaderModeTests | testReaderMode_readerValue | 100ms |
| โ | TPPPDFReaderModeTests | testReaderMode_searchValue | 135ms |
| โ | TPPPDFReaderModeTests | testReaderMode_tocValue | 3ms |
| โ | TPPPDFReaderSearchBindingTests | test_searchSheetReaderMode_dismissFromNonSearch_isNoOp | 3ms |
| โ | TPPPDFReaderSearchBindingTests | test_searchSheetReaderMode_dismissFromSearch_returnsToReader | 126ms |
| โ | TPPPDFReaderSearchBindingTests | test_searchSheetReaderMode_stillPresented_staysSearch | <1ms |
| โ | TPPPerAccountIsolationTests | testConcurrentAccess_noContamination | 192ms |
| โ | TPPPerAccountIsolationTests | testConcurrentSnapshots_returnCorrectData | 76ms |
| โ | TPPPerAccountIsolationTests | testCredentialIsolation_bothAccountsHoldIndependentCredentials | 26ms |
| โ | TPPPerAccountIsolationTests | testCredentialIsolation_tokenCredentials | 82ms |
| โ | TPPPerAccountIsolationTests | testCredentialIsolation_writeToA_doesNotAffectB | 19ms |
| โ | TPPPerAccountIsolationTests | testCredentialSnapshot_perAccountIsolation | 23ms |
| โ | TPPPerAccountIsolationTests | testInstanceCache_isStableSameUUID_distinctDifferentUUIDs_andPreservesBinding | 42ms |
| โ | TPPPerAccountIsolationTests | testRemoveAll_doesNotAffectOtherAccount | 86ms |
| โ | TPPPreferredAuthSelectionTests | testAfterAutoSelection_SelectedAuthIsSaml_forMultiAuthLibrary | 134ms |
| โ | TPPPreferredAuthSelectionTests | testPrecondition_NYPLFixtureHasMultipleAuthMethods | 76ms |
| โ | TPPPreferredAuthSelectionTests | testSelectPreferredAuth_AutoSelectsSoleSAMLIDP | 52ms |
| โ | TPPPreferredAuthSelectionTests | testSelectPreferredAuth_DoesNotOverrideExplicitChoice | 60ms |
| โ | TPPPreferredAuthSelectionTests | testSelectPreferredAuth_DoesNotOverrideExplicitIDPChoice | 122ms |
| โ | TPPPreferredAuthSelectionTests | testSelectPreferredAuth_IsIdempotent | 92ms |
| โ | TPPPreferredAuthSelectionTests | testSelectPreferredAuth_NoOp_ForSingleAuthLibrary | 74ms |
| โ | TPPPreferredAuthSelectionTests | testSelectPreferredAuth_PicksSAML_WhenMultipleAuthsAndNoneSelected | 141ms |
| โ | TPPProblemDocumentCacheManagerTests | testCacheMultipleDocuments_lastEntryRetrievable | 346ms |
| โ | TPPProblemDocumentCacheManagerTests | testCacheProblemDocument_andRetrieve | 2ms |
| โ | TPPProblemDocumentCacheManagerTests | testCacheProblemDocument_postsNotification | 2ms |
| โ | TPPProblemDocumentCacheManagerTests | testCacheSize_isFive | <1ms |
| โ | TPPProblemDocumentCacheManagerTests | testCache_exceedingSize_evictsOldestEntry | <1ms |
| โ | TPPProblemDocumentCacheManagerTests | testClearCachedDoc_nonexistentKey_doesNotCrash | <1ms |
| โ | TPPProblemDocumentCacheManagerTests | testClearCachedDoc_preventsRetrieval | <1ms |
| โ | TPPProblemDocumentCacheManagerTests | testClearThenReCache_works | <1ms |
| โ | TPPProblemDocumentCacheManagerTests | testConcurrentCacheAndClear_sameKey_doesNotCrash | 5ms |
| โ | TPPProblemDocumentCacheManagerTests | testConcurrentReadWrite_doesNotCrash | 153ms |
| โ | TPPProblemDocumentCacheManagerTests | testGetLastCachedDoc_unknownKey_returnsNil | 32ms |
| โ | TPPProblemDocumentCacheManagerTests | testSharedInstance_returnsSameObject | <1ms |
| โ | TPPProblemDocumentTests | testAccountStatusTypeConstants | 12ms |
| โ | TPPProblemDocumentTests | testCodableRoundTrip | 9ms |
| โ | TPPProblemDocumentTests | testDictionaryValue_roundTrip | <1ms |
| โ | TPPProblemDocumentTests | testForExpiredOrMissing_hasCredentials | 1ms |
| โ | TPPProblemDocumentTests | testForExpiredOrMissing_noCredentials | 2ms |
| โ | TPPProblemDocumentTests | testFromData_invalidJSON | 3ms |
| โ | TPPProblemDocumentTests | testFromData_validJSON | 20ms |
| โ | TPPProblemDocumentTests | testFromDictionary_createsDocument | <1ms |
| โ | TPPProblemDocumentTests | testFromProblemResponseData_invalidData | <1ms |
| โ | TPPProblemDocumentTests | testFromProblemResponseData_nonProblemJSON | <1ms |
| โ | TPPProblemDocumentTests | testFromProblemResponseData_validData | <1ms |
| โ | TPPProblemDocumentTests | testFromResponseError_nilErrorNilData | <1ms |
| โ | TPPProblemDocumentTests | testFromResponseError_withResponseData | <1ms |
| โ | TPPProblemDocumentTests | testIsRecoverableAuthError | <1ms |
| โ | TPPProblemDocumentTests | testIsUnrecoverableAuthError | 3ms |
| โ | TPPProblemDocumentTests | testNilType_authChecks | <1ms |
| โ | TPPProblemDocumentTests | testNonAuthError | 2ms |
| โ | TPPProblemDocumentTests | testStaticTypeConstants | <1ms |
| โ | TPPProblemDocumentTests | testStringValue_format | 1ms |
| โ | TPPProblemDocumentTests | testStringValue_noDetail | 2ms |
| โ | TPPProblemDocumentTests | testStringValue_noTitle | 2ms |
| โ | TPPReaderAppearanceTests | testAssociatedColors_blackOnWhite_hasLightBackground | 1ms |
| โ | TPPReaderAppearanceTests | testBlackOnSepia_hasCorrectPropertyIndex | 17ms |
| โ | TPPReaderAppearanceTests | testBlackOnWhite_hasCorrectPropertyIndex | <1ms |
| โ | TPPReaderAppearanceTests | testWhiteOnBlack_hasCorrectPropertyIndex | 2ms |
| โ | TPPReaderBlockNavigationTests | testAnnotationJS_isNonEmptyAndCarriesSelectorMarkerAndCount | 3ms |
| โ | TPPReaderBlockNavigationTests | testAnnotationJS_skipsNestedBlocks | 12ms |
| โ | TPPReaderBlockNavigationTests | testBlockSelector_containsKeyBlockTags | 195ms |
| โ | TPPReaderBlockNavigationTests | testIsBlockTag_blockquote_isTrue | <1ms |
| โ | TPPReaderBlockNavigationTests | testIsBlockTag_definitionAndFigureAndPre_areTrue | <1ms |
| โ | TPPReaderBlockNavigationTests | testIsBlockTag_headings_areTrue | 2ms |
| โ | TPPReaderBlockNavigationTests | testIsBlockTag_inlineElements_areFalse | 24ms |
| โ | TPPReaderBlockNavigationTests | testIsBlockTag_isCaseInsensitive | 1ms |
| โ | TPPReaderBlockNavigationTests | testIsBlockTag_listItem_isTrue | <1ms |
| โ | TPPReaderBlockNavigationTests | testIsBlockTag_nilAndUnrelated_areFalse | <1ms |
| โ | TPPReaderBlockNavigationTests | testIsBlockTag_paragraph_isTrue | <1ms |
| โ | TPPReaderBlockNavigationTests | testNextBlockJS_forwardAndBackBothFocusAMarkedBlock | 2ms |
| โ | TPPReaderBookmarksBusinessLogicTests | testBookmarkAtIndex_WithEmptyBookmarks_ReturnsNil | 382ms |
| โ | TPPReaderBookmarksBusinessLogicTests | testBookmarkAtIndex_WithValidIndex_ReturnsBookmark | 352ms |
| โ | TPPReaderBookmarksBusinessLogicTests | testBookmarkAtIndex_returnsNilForOutOfRangeIndicesEmptyOrPopulated | 35ms |
| โ | TPPReaderBookmarksBusinessLogicTests | testDeleteBookmarkAtIndex_WithInvalidIndex_ReturnsNil | 269ms |
| โ | TPPReaderBookmarksBusinessLogicTests | testDeleteBookmarkAtIndex_WithValidIndex_RemovesAndReturns | 79ms |
| โ | TPPReaderBookmarksBusinessLogicTests | testDeleteBookmark_RemovesFromList | 152ms |
| โ | TPPReaderBookmarksBusinessLogicTests | testPP3555_OldBookmarksDoNotReappearAfterReborrow | 27ms |
| โ | TPPReaderBookmarksBusinessLogicTests | testReadOnlySurfaces_noBookmarksText_shouldSelect_isBookmarkExisting | 142ms |
| โ | TPPReaderBookmarksBusinessLogicTests | testUpdateLocalBookmarksWithDuplicatedLocalBookmarks | 40ms |
| โ | TPPReaderBookmarksBusinessLogicTests | testUpdateLocalBookmarksWithExtraLocalBookmarks | 32ms |
| โ | TPPReaderBookmarksBusinessLogicTests | testUpdateLocalBookmarksWithFailedUploadBookmarks | 36ms |
| โ | TPPReaderBookmarksBusinessLogicTests | testUpdateLocalBookmarksWithNoLocalBookmarks | 464ms |
| โ | TPPReaderBookmarksReadinessTests | testReadiness_underDetailsFailed_gateThrowsForBookmarkTask | 48ms |
| โ | TPPReaderBookmarksReadinessTests | testReadiness_underDetailsLoading_gateConsumedByPostBookmark | 98ms |
| โ | TPPReaderFontTests | testDyslexic_hasPropertyIndex | 24ms |
| โ | TPPReaderFontTests | testOriginal_hasCorrectPropertyIndex | 2ms |
| โ | TPPReaderFontTests | testSansSerif_hasPropertyIndex | <1ms |
| โ | TPPReaderFontTests | testSerif_hasPropertyIndex | 2ms |
| โ | TPPReaderFootnoteAccessibilityDOMTests | testAnnotate_isIdempotent | 501ms |
| โ | TPPReaderFootnoteAccessibilityDOMTests | testAnnotate_nonFootnoteElements_areNotLabelled | 577ms |
| โ | TPPReaderFootnoteAccessibilityDOMTests | testAnnotate_roleOnlyReference_isLabelled | 523ms |
| โ | TPPReaderFootnoteAccessibilityDOMTests | testAnnotate_unrelatedEPUBTypeWithFootnoteRole_stillClassifies | 424ms |
| โ | TPPReaderFootnoteAccessibilityDOMTests | testAnnotate_whenParsedAsHTML_stillLabelsEpubTypeElements | 1.54s |
| โ | TPPReaderFootnoteAccessibilityDOMTests | testAnnotate_whenParsedAsXHTML_labelsNamespacedEpubTypeElements | 590ms |
| โ | TPPReaderFootnoteAccessibilityTests | testAnnotationJS_isNonEmptyAndCarriesLabelsAndSelectors | 158ms |
| โ | TPPReaderFootnoteAccessibilityTests | testLabel_backlink_isBackToReference | <1ms |
| โ | TPPReaderFootnoteAccessibilityTests | testLabel_note_isFootnote | 1ms |
| โ | TPPReaderFootnoteAccessibilityTests | testLabel_referenceTrimsMarker | 2ms |
| โ | TPPReaderFootnoteAccessibilityTests | testLabel_referenceWithEmptyOrWhitespaceMarker_isGeneric | 380ms |
| โ | TPPReaderFootnoteAccessibilityTests | testLabel_referenceWithMarker_includesMarker | 127ms |
| โ | TPPReaderFootnoteAccessibilityTests | testLabel_referenceWithNonNumericMarker_includesMarker | <1ms |
| โ | TPPReaderFootnoteAccessibilityTests | testRole_ariaRoleVocabularyShared | 2ms |
| โ | TPPReaderFootnoteAccessibilityTests | testRole_backlink_isBacklink | 2ms |
| โ | TPPReaderFootnoteAccessibilityTests | testRole_endnoteAndRearnote_areNote | 91ms |
| โ | TPPReaderFootnoteAccessibilityTests | testRole_footnote_isNote | 2ms |
| โ | TPPReaderFootnoteAccessibilityTests | testRole_isCaseInsensitive | <1ms |
| โ | TPPReaderFootnoteAccessibilityTests | testRole_multiTokenList_picksReferenceFirst | 107ms |
| โ | TPPReaderFootnoteAccessibilityTests | testRole_nilAndEmptyAndUnrelated_areNil | 1ms |
| โ | TPPReaderFootnoteAccessibilityTests | testRole_noteref_isReference | 28ms |
| โ | TPPReaderFootnoteAccessibilityTests | testRole_toleratesMissingDocPrefix | 660ms |
| โ | TPPReaderPageListBusinessLogicTests | testCurrentPageLabel_locatorWithoutProgression_returnsNil | 7ms |
| โ | TPPReaderPageListBusinessLogicTests | testCurrentPageLabel_noPageList_returnsNil | 3ms |
| โ | TPPReaderPageListBusinessLogicTests | testHasPageList_whenPublicationHasNoPageList_isFalse | <1ms |
| โ | TPPReaderPageListBusinessLogicTests | testHasPageList_whenPublicationHasPages_isTrue | 57ms |
| โ | TPPReaderPageListBusinessLogicTests | testIndexForPage_aboveHighestNumericPage_returnsLastNumericPage | 1ms |
| โ | TPPReaderPageListBusinessLogicTests | testIndexForPage_belowLowestNumericPage_returnsNil | 3ms |
| โ | TPPReaderPageListBusinessLogicTests | testIndexForPage_duplicateNumericLabels_resolvesToFirstPrecedingBoundary | 2ms |
| โ | TPPReaderPageListBusinessLogicTests | testIndexForPage_emptyOrWhitespaceRequest_returnsNil | 646ms |
| โ | TPPReaderPageListBusinessLogicTests | testIndexForPage_exactMatchIsCaseInsensitive_forRomanNumerals | <1ms |
| โ | TPPReaderPageListBusinessLogicTests | testIndexForPage_exactNumericMatch_returnsThatIndex | 2ms |
| โ | TPPReaderPageListBusinessLogicTests | testIndexForPage_noExactNumericMatch_fallsBackToNearestPreceding | <1ms |
| โ | TPPReaderPageListBusinessLogicTests | testIndexForPage_nonNumericRequestNoExactMatch_returnsNil | 1ms |
| โ | TPPReaderPageListBusinessLogicTests | testIndexForPage_numericRequestSkipsNonNumericLabels_forFallback | <1ms |
| โ | TPPReaderPageListBusinessLogicTests | testIndexForPage_numericValueEqualsRequestButLabelDiffers_resolvesViaInclusiveFallback | 1ms |
| โ | TPPReaderPageListBusinessLogicTests | testIndexForPage_trimsRequestWhitespace | 1ms |
| โ | TPPReaderPageListBusinessLogicTests | testInit_dropsEntriesWithEmptyOrWhitespaceLabels | 2ms |
| โ | TPPReaderPageListBusinessLogicTests | testInit_trimsWhitespaceFromLabels | 1ms |
| โ | TPPReaderPageListBusinessLogicTests | testLabelAt_outOfRange_returnsNil | 4ms |
| โ | TPPReaderPageListBusinessLogicTests | testLabelAt_validIndex_returnsLabel | 2ms |
| โ | TPPReaderPageListBusinessLogicTests | testLocatorAt_outOfRange_returnsNil | 3ms |
| โ | TPPReaderPageListBusinessLogicTests | testNearestPreceding_allUnresolved_returnsNil | 547ms |
| โ | TPPReaderPageListBusinessLogicTests | testNearestPreceding_currentBeforeFirstBoundary_returnsNil | 1ms |
| โ | TPPReaderPageListBusinessLogicTests | testNearestPreceding_emptyProgressions_returnsNil | 2ms |
| โ | TPPReaderPageListBusinessLogicTests | testNearestPreceding_exactMatchIsInclusive | <1ms |
| โ | TPPReaderPageListBusinessLogicTests | testNearestPreceding_picksLargestAtOrBelowCurrent | 435ms |
| โ | TPPReaderPageListBusinessLogicTests | testNearestPreceding_skipsUnresolvedProgressions | <1ms |
| โ | TPPReaderPageListBusinessLogicTests | testNearestPreceding_tiesSelectFirstBoundary | <1ms |
| โ | TPPReaderPositionReportTests | testAnnouncement_allComponents_joinsSectionPagePercentInOrder | 2ms |
| โ | TPPReaderPositionReportTests | testAnnouncement_emptyOrWhitespaceSection_omitsSection | 1.30s |
| โ | TPPReaderPositionReportTests | testAnnouncement_emptyPageLabel_treatedAsAbsent | 4ms |
| โ | TPPReaderPositionReportTests | testAnnouncement_noPageLabel_omitsPageButKeepsSectionAndPercent | 3ms |
| โ | TPPReaderPositionReportTests | testAnnouncement_noPercentage_omitsPercentComponent | 2ms |
| โ | TPPReaderPositionReportTests | testAnnouncement_noSection_omitsSection | 2ms |
| โ | TPPReaderPositionReportTests | testAnnouncement_nothingAvailable_returnsUnavailableFallback | 114ms |
| โ | TPPReaderPositionReportTests | testAnnouncement_onlySection_returnsSectionAlone | 4ms |
| โ | TPPReaderPositionReportTests | testAnnouncement_percentageClampsToZeroAndOneHundred | <1ms |
| โ | TPPReaderPositionReportTests | testAnnouncement_percentageRoundsToNearestWholePercent | <1ms |
| โ | TPPReaderPositionsVCTOCTests | testBookmarksTab_visibleLabelSurvives_whenTOCLandsWhileBookmarksSelected | 78ms |
| โ | TPPReaderPositionsVCTOCTests | testContentsTab_emptyTOC_staysEmpty | 19ms |
| โ | TPPReaderPositionsVCTOCTests | testContentsTab_populates_withoutSwitchingToBookmarksAndBack | 64ms |
| โ | TPPReaderPositionsVCTOCTests | testContentsTab_rendersTheTOCTitles_notBookmarkRows | 181ms |
| โ | TPPReaderPositionsVCTOCTests | testContents_populatesOnReturn_whenTOCLandsWhileBookmarksSelected | 18ms |
| โ | TPPReaderPreferencesLoadTests | testTPPReaderPreferencesLoad_disablesPublisherStyles | 7ms |
| โ | TPPReaderPreferencesLoadTests | testTPPReaderPreferencesLoad_returnsValidPreferences | 2ms |
| โ | TPPReaderPreferencesLoadTests | testTPPReaderPreferencesLoad_setsDefaultTheme | 6ms |
| โ | TPPReaderSettingsTests | testCanDecreaseFontSize_falseAtMinimum | 485ms |
| โ | TPPReaderSettingsTests | testCanIncreaseFontSize_trueWhenBelowMax | 4ms |
| โ | TPPReaderSettingsTests | testChangeAppearance_updatesColors | 3ms |
| โ | TPPReaderSettingsTests | testChangeAppearance_updatesIndex | 8ms |
| โ | TPPReaderSettingsTests | testChangeFontFamily_updatesIndex | 9ms |
| โ | TPPReaderSettingsTests | testDecreaseFontSize_decreasesByStep | 1ms |
| โ | TPPReaderSettingsTests | testDecreaseFontSize_respectsMinimum | 24ms |
| โ | TPPReaderSettingsTests | testIncreaseFontSize_increasesByStep | 128ms |
| โ | TPPReaderSettingsTests | testIncreaseFontSize_respectsMaximum | 601ms |
| โ | TPPReaderSettingsTests | testInit_getsScreenBrightness | 1ms |
| โ | TPPReaderSettingsTests | testInit_setsDefaultAppearanceIndex | <1ms |
| โ | TPPReaderSettingsTests | testInit_setsDefaultFontFamilyIndex | 7ms |
| โ | TPPReaderSettingsTests | testInit_setsDefaultFontSize | <1ms |
| โ | TPPReaderSettingsTests | testLoadPreferences_returnsPreferences | 51ms |
| โ | TPPReaderSettingsTests | testMapAppearanceToIndex_dark | 2ms |
| โ | TPPReaderSettingsTests | testMapAppearanceToIndex_light | <1ms |
| โ | TPPReaderSettingsTests | testMapAppearanceToIndex_sepia | <1ms |
| โ | TPPReaderSettingsTests | testMapFontFamilyToIndex_nil | <1ms |
| โ | TPPReaderSettingsTests | testMapFontFamilyToIndex_openDyslexic | 171ms |
| โ | TPPReaderSettingsTests | testMapFontFamilyToIndex_sansSerif | <1ms |
| โ | TPPReaderSettingsTests | testMapFontFamilyToIndex_serif | 2ms |
| โ | TPPReaderSettingsTests | testMapIndexToAppearance_dark | 89ms |
| โ | TPPReaderSettingsTests | testMapIndexToAppearance_default | 1ms |
| โ | TPPReaderSettingsTests | testMapIndexToAppearance_sepia | <1ms |
| โ | TPPReaderSettingsTests | testMapIndexToFontFamily_default | 174ms |
| โ | TPPReaderSettingsTests | testMapIndexToFontFamily_dyslexic | 4ms |
| โ | TPPReaderSettingsTests | testMapIndexToFontFamily_sansSerif | 1ms |
| โ | TPPReaderSettingsTests | testMapIndexToFontFamily_serif | 1ms |
| โ | TPPReaderTOCBusinessLogicTests | testInit_withCurrentLocation_storesLocation | 7ms |
| โ | TPPReaderTOCBusinessLogicTests | testInit_withPublication_initializesCorrectly | 122ms |
| โ | TPPReaderTOCBusinessLogicTests | testIsCurrentChapterTitled_caseInsensitiveMatch_returnsTrue | 11ms |
| โ | TPPReaderTOCBusinessLogicTests | testIsCurrentChapterTitled_withDifferentTitle_returnsFalse | 35ms |
| โ | TPPReaderTOCBusinessLogicTests | testIsCurrentChapterTitled_withMatchingTitle_returnsTrue | 3ms |
| โ | TPPReaderTOCBusinessLogicTests | testIsCurrentChapterTitled_withNilCurrentLocation_returnsFalse | 217ms |
| โ | TPPReaderTOCBusinessLogicTests | testIsCurrentChapterTitled_withNilLocationTitle_returnsFalse | 4ms |
| โ | TPPReaderTOCBusinessLogicTests | testShouldSelectTOCItem_invalidIndex_returnsFalse | 7ms |
| โ | TPPReaderTOCBusinessLogicTests | testTitleAndLevel_forValidIndex_returnsTitleAndLevel | 7ms |
| โ | TPPReaderTOCBusinessLogicTests | testTitleForHref_existingHref_returnsTitle | 289ms |
| โ | TPPReaderTOCBusinessLogicTests | testTitleForHref_nonExistentHref_returnsNil | 4ms |
| โ | TPPReaderTOCBusinessLogicTests | testTocDisplayTitle_returnsLocalizedString | 73ms |
| โ | TPPReaderTOCBusinessLogicTests | testTocElements_initiallyEmpty_beforeAsyncLoad | 9ms |
| โ | TPPReaderTOCBusinessLogicTests | testTocLocator_negativeIndex_returnsNil | 5ms |
| โ | TPPReaderTOCBusinessLogicTests | testTocLocator_outOfBoundsIndex_returnsNil | 208ms |
| โ | TPPReaderTOCFlattenTests | testFlatten_emptyTOC_producesEmptyElements | 71ms |
| โ | TPPReaderTOCFlattenTests | testFlatten_nestedTOC_assignsCorrectLevels | 12ms |
| โ | TPPReadiumBookmarkLocationMatchingTests | testLocationMatches_differentChapterProgress_returnsFalse | 3ms |
| โ | TPPReadiumBookmarkLocationMatchingTests | testLocationMatches_differentTotalProgress_returnsFalse | 479ms |
| โ | TPPReadiumBookmarkLocationMatchingTests | testLocationMatches_exactProgress_returnsTrue | <1ms |
| โ | TPPReadiumBookmarkLocationMatchingTests | testLocationMatches_matchingProgress_returnsTrue | <1ms |
| โ | TPPReadiumBookmarkLocationMatchingTests | testLocationMatches_nilLocatorProgress_matchesZeroBookmarkProgress | 2ms |
| โ | TPPReadiumBookmarkTests | testDescription_returnsNonEmptyString | <1ms |
| โ | TPPReadiumBookmarkTests | testDictionaryRepresentation_containsAllFields | 99ms |
| โ | TPPReadiumBookmarkTests | testInit_dictionary_withBothOffsetAndChapterProgress_prefersExplicitChapterProgress | 16ms |
| โ | TPPReadiumBookmarkTests | testInit_dictionary_withOnlyChapterProgress_preservesValue | <1ms |
| โ | TPPReadiumBookmarkTests | testInit_dictionary_withOnlyReadingOrderItemOffset_preservesValue | 1ms |
| โ | TPPReadiumBookmarkTests | testInit_fromDictionary_createsBookmark | <1ms |
| โ | TPPReadiumBookmarkTests | testInit_fromDictionary_withEmptyAnnotationId_setsNil | <1ms |
| โ | TPPReadiumBookmarkTests | testInit_fromDictionary_withMissingRequiredFields_returnsNil | 61ms |
| โ | TPPReadiumBookmarkTests | testInit_withDefaultTime_usesCurrentTime | 47ms |
| โ | TPPReadiumBookmarkTests | testInit_withNilHref_returnsNil | <1ms |
| โ | TPPReadiumBookmarkTests | testInit_withValidParameters_createsBookmark | <1ms |
| โ | TPPReadiumBookmarkTests | testIsEqual_differentHref_returnsFalse | <1ms |
| โ | TPPReadiumBookmarkTests | testIsEqual_differentProgress_returnsFalse | <1ms |
| โ | TPPReadiumBookmarkTests | testIsEqual_sameAnnotationId_returnsTrue | <1ms |
| โ | TPPReadiumBookmarkTests | testIsEqual_sameProgress_noAnnotationId_returnsTrue | 1ms |
| โ | TPPReadiumBookmarkTests | testIsEqual_withNonBookmarkObject_returnsFalse | 10ms |
| โ | TPPReadiumBookmarkTests | testPercentInBook_formatsCorrectly | <1ms |
| โ | TPPReadiumBookmarkTests | testPercentInBook_fullProgress_showsHundred | <1ms |
| โ | TPPReadiumBookmarkTests | testPercentInChapter_formatsCorrectly | <1ms |
| โ | TPPReadiumBookmarkTests | testPercentInChapter_zeroProgress_showsZero | 61ms |
| โ | TPPReadiumBookmarkTests | testToJSONDictionary_UsesPinnedWireKeys | <1ms |
| โ | TPPReadiumBookmarkTests | testToJSONDictionary_includesLocationFields | 17ms |
| โ | TPPReadiumBookmarkTests | testWireFormatKeys_ArePinned | <1ms |
| โ | TPPReauthenticatorMockTests | testMockReauthenticator_callsCompletion | 1ms |
| โ | TPPReauthenticatorMockTests | testMockReauthenticator_tracksReauthPerformed | 10ms |
| โ | TPPReauthenticatorTests | testAuthenticateIfNeeded_withNilCompletion_doesNotCrash | 67ms |
| โ | TPPReauthenticatorTests | testInit_conformsToReauthenticatorProtocol | 3ms |
| โ | TPPReauthenticatorTests | testInit_createsDistinctInstances | 16ms |
| โ | TPPReauthenticatorTests | testInit_isNSObjectSubclass | <1ms |
| โ | TPPReturnPromptHelperTests | testAudiobookPrompt_createsAlertController | 2ms |
| โ | TPPReturnPromptHelperTests | testAudiobookPrompt_hasExactlyKeepAndReturnActionsWithTitles | 2ms |
| โ | TPPReturnPromptHelperTests | testAudiobookPrompt_hasKeepAction_withCancelStyle | 5ms |
| โ | TPPReturnPromptHelperTests | testAudiobookPrompt_hasReturnAction_withDefaultStyle | 2ms |
| โ | TPPReturnPromptHelperTests | testAudiobookPrompt_hasTitleAndMessage | 63ms |
| โ | TPPSAMLCookieExpirationTests | testSAMLLogin_allCookiesExpired_filtersAllAndProceedsWithEmptyArray | 3ms |
| โ | TPPSAMLCookieExpirationTests | testSAMLLogin_allCookiesExpired_proceedsWithEmpty | 2ms |
| โ | TPPSAMLCookieExpirationTests | testSAMLLogin_cookieExpiringInFuture_isKept | 103ms |
| โ | TPPSAMLCookieExpirationTests | testSAMLLogin_filtersExpiredCookies | 2ms |
| โ | TPPSAMLCookieExpirationTests | testSAMLLogin_keepsSessionCookiesWithoutExpiry | 1ms |
| โ | TPPSAMLCookieExpirationTests | testSAMLLogin_mixOfExpiredAndValid_onlyPassesValid | 86ms |
| โ | TPPSAMLCookieExpirationTests | testSAMLLogin_mixedExpiredAndValidCookies_filtersOnlyExpired_passesValid | 2ms |
| โ | TPPSAMLFlowTests | testSAMLHelper_initRequiresContext_andStartsWithCleanCookieState | 9ms |
| โ | TPPSAMLFlowTests | testSAMLLogin_callsPresenterNotUIKit | 2ms |
| โ | TPPSAMLFlowTests | testSAMLLogin_cancelCallsCancelHandler | 1.66s |
| โ | TPPSAMLFlowTests | testSAMLLogin_completionCallsHandleRedirect | 3ms |
| โ | TPPSAMLFlowTests | testSAMLLogin_dismissCalledAfterCompletion | 105ms |
| โ | TPPSAMLFlowTests | testSAMLLogin_dismissCalledWithError | 131ms |
| โ | TPPSAMLFlowTests | testSAMLLogin_passesCorrectURLPreservesExistingQueryParams | 2ms |
| โ | TPPSAMLFlowTests | testSAMLLogin_passesCorrectURLWithRedirectURI | 24ms |
| โ | TPPSAMLFlowTests | testSAMLLogin_passesSavedCookiesToPresenter | 231ms |
| โ | TPPSAMLFlowTests | testSAMLLogin_withNilIDP_doesNotCallPresenter | <1ms |
| โ | TPPSAMLReauthFlowTests | testFreshLogin_callsAdobeActivation | 34ms |
| โ | TPPSAMLReauthFlowTests | testSAMLReauthFlow_skipsAdobeActivation | 37ms |
| โ | TPPSAMLRegressionTests | testOAuthFlow_unaffectedBySAMLRefactor | 84ms |
| โ | TPPSAMLRegressionTests | testSAMLAuthType_matchesCMValue | 22ms |
| โ | TPPSAMLRegressionTests | testSAMLIdPParsing_fromAuthDocumentLinks | 36ms |
| โ | TPPSAMLRegressionTests | testSAMLRedirectURL_matchesCMExpectedPattern | 207ms |
| โ | TPPSAMLSignInTests | testAuthState_transitionsFromLoggedOutToLoggedIn | 29ms |
| โ | TPPSAMLSignInTests | testCredentialsStale_PP418_userStillHasCredentials | 97ms |
| โ | TPPSAMLSignInTests | testCredentialsStale_hasCredentialsReturnsTrue | 62ms |
| โ | TPPSAMLSignInTests | testCredentialsStale_preservesCookies | 72ms |
| โ | TPPSAMLSignInTests | testCredentialsStale_reAuthClearsStaleState | 50ms |
| โ | TPPSAMLSignInTests | testRefreshCredentialsFromKeychain_returnsFalseWhenNoCredentials | 32ms |
| โ | TPPSAMLSignInTests | testRefreshCredentialsFromKeychain_returnsTrueWhenCredentialsExist | 47ms |
| โ | TPPSAMLSignInTests | testSAMLReauth_usesSavedCookiesForIDPSession | 138ms |
| โ | TPPSAMLSignInTests | testSAMLSignIn_PP418_credentialsArePersisted | 34ms |
| โ | TPPSAMLSignInTests | testSAMLSignIn_cookiesAreStored | 45ms |
| โ | TPPSAMLSignInTests | testSAMLSignIn_drmFailurePreservesExistingCredentials | 789ms |
| โ | TPPSAMLSignInTests | testSAMLSignIn_hasCredentialsReturnsTrue | 48ms |
| โ | TPPSAMLSignInTests | testSAMLSignIn_patronInfoIsStored | 37ms |
| โ | TPPSAMLSignInTests | testSAMLSignIn_setsAuthStateToLoggedIn | 88ms |
| โ | TPPSAMLSignInTests | testSAMLSignIn_stateTransitions | 552ms |
| โ | TPPSAMLSignInTests | testSAMLSignIn_usesCorrectLibraryUUID | 274ms |
| โ | TPPSAMLSignInTests | testSAMLSignIn_worksWithoutCookies | 209ms |
| โ | TPPSAMLSignInTests | testSAMLSignIn_worksWithoutPatronInfo | 83ms |
| โ | TPPSAMLSignInTests | testSAMLSignOut_clearsAllCredentials | 58ms |
| โ | TPPSAMLSignInTests | testSetAuthToken_clearsStaleState | 44ms |
| โ | TPPSAMLSignInTests | testSignIn_callsBusinessLogicDidCompleteSignIn | 152ms |
| โ | TPPSAMLSignInTests | testSignIn_callsBusinessLogicWillSignIn | 64ms |
| โ | TPPSAMLSignInTests | testSignIn_cancelledSetsLoadingFalse | 210ms |
| โ | TPPSAMLSignInTests | testSignIn_loadingStateTransitions | 52ms |
| โ | TPPSAMLSignInTests | testTokenRefresh_settingsScreenShowsSignedIn | 129ms |
| โ | TPPSAMLSignInTests | testTokenRefresh_transitionsFromStaleToLoggedIn | 42ms |
| โ | TPPSAMLStateIsolationTests | testNonSAMLLibrary_noSAMLHelperCreated | 24ms |
| โ | TPPSAMLStateIsolationTests | testSAMLCookies_storedOnHelper_notBusinessLogic | 7ms |
| โ | TPPSAMLStateIsolationTests | testSAMLLibrary_helperCreatedOnDemand | 31ms |
| โ | TPPSAMLStateIsolationTests | testSignOut_clearsSAMLState | 3ms |
| โ | TPPSAMLStateMachineTests | testFinalizeSignIn_transitionsToLoggedIn | 33ms |
| โ | TPPSAMLStateMachineTests | testIsSignedIn_returnsFalseWhenCredentialsStale | 31ms |
| โ | TPPSAMLStateMachineTests | testIsSignedIn_returnsFalseWhenLoggedOut | 36ms |
| โ | TPPSAMLStateMachineTests | testIsSignedIn_returnsTrueWhenLoggedIn | 75ms |
| โ | TPPSAMLStateMachineTests | testRefreshAuth_SAMLClearsSelectedAuth | 58ms |
| โ | TPPSAMLStateMachineTests | testRefreshAuth_transitionsToCredentialsStale | 36ms |
| โ | TPPSaveDRMCredentialsTests | testSaveDRMCredentials_preservesCredentialsOnInvalidData | 213ms |
| โ | TPPSaveDRMCredentialsTests | testSaveDRMCredentials_savesAuthorizationIdentifier | 122ms |
| โ | TPPSaveDRMCredentialsTests | testSaveDRMCredentials_savesLicensorWithoutActivating | 3.89s |
| โ | TPPSaveDRMCredentialsTests | testSaveDRMCredentials_succeedsWithNoDRMInfo | 56ms |
| โ | TPPSettingsTests | testAccountMainFeedURL_setToSameValue_doesNotPostNotification | 10ms |
| โ | TPPSettingsTests | testCustomMainFeedURL_publishesViaSettingsDidChange | 232ms |
| โ | TPPSettingsTests | testCustomMainFeedURL_setToDifferentValue_postsNotification | 5ms |
| โ | TPPSettingsTests | testCustomMainFeedURL_setToSameValue_doesNotPostNotification | 6ms |
| โ | TPPSettingsTests | testUseBetaLibraries_postsNotification | 3ms |
| โ | TPPSettingsTests | testUseBetaLibraries_publishesViaCombine | 9ms |
| โ | TPPSignInAdobeSkipTests | testEnsureAuthDocLoaded_callsCompletionImmediatelyWhenDetailsExist | 32ms |
| โ | TPPSignInAdobeSkipTests | testEnsureAuthDocLoaded_setsLoadingFlag | 36ms |
| โ | TPPSignInAdobeSkipTests | testIgnoreSignedInState_affectsIsSignedIn | 497ms |
| โ | TPPSignInAdobeSkipTests | testLogIn_capturedBarcode_nilWhenUIDelegateHasNilUsername | 174ms |
| โ | TPPSignInAdobeSkipTests | testLogIn_capturesBarcodeAndPIN | 308ms |
| โ | TPPSignInAdobeSkipTests | testLogIn_notifiesUIDelegateWillSignIn | 86ms |
| โ | TPPSignInAdobeSkipTests | testLogIn_postsSigningInNotification | 218ms |
| โ | TPPSignInAdobeSkipTests | testLogIn_withNoSelectedAuth_doesNotCrash | 38ms |
| โ | TPPSignInAdobeSkipTests | testMakeRequest_prefersBusinessLogicToken_overUserAccountToken | 257ms |
| โ | TPPSignInAdobeSkipTests | testMakeRequest_withOAuthButNoToken_logsError | 481ms |
| โ | TPPSignInAdobeSkipTests | testRefreshAuthIfNeeded_returnsFalseWithNoAuthDefinition | 23ms |
| โ | TPPSignInAdobeSkipTests | testRefreshAuthIfNeeded_setsRefreshAuthCompletion | 1.08s |
| โ | TPPSignInAdobeSkipTests | testShouldSkipAdobeActivation_falseWhenNotStale | 25ms |
| โ | TPPSignInAdobeSkipTests | testShouldSkipAdobeActivation_falseWithoutAdobeCredentials | 611ms |
| โ | TPPSignInAuthStateTransitionTests | testReauth_transitionsFromStaleToLoggedIn | 35ms |
| โ | TPPSignInAuthStateTransitionTests | testSignIn_isSignedInConditionMet | 102ms |
| โ | TPPSignInAuthStateTransitionTests | testSignIn_transitionsFromLoggedOutToLoggedIn | 86ms |
| โ | TPPSignInBusinessLogicExtendedTests | testCanResetPassword_dependsOnLibraryConfig | 28ms |
| โ | TPPSignInBusinessLogicExtendedTests | testCurrentAccount_matchesLibraryAccount | 84ms |
| โ | TPPSignInBusinessLogicExtendedTests | testEnsureAuthDoc_setsAndClearsLoadingFlag | 75ms |
| โ | TPPSignInBusinessLogicExtendedTests | testEnsureAuthenticationDocumentIsLoaded_whenDetailsAlreadyLoaded_firesCompletionSync | 53ms |
| โ | TPPSignInBusinessLogicExtendedTests | testInitialization_authTokenNilByDefault | 55ms |
| โ | TPPSignInBusinessLogicExtendedTests | testInitialization_cookiesNilByDefault | 61ms |
| โ | TPPSignInBusinessLogicExtendedTests | testInitialization_defaultsIgnoreSignedInStateToFalse | 36ms |
| โ | TPPSignInBusinessLogicExtendedTests | testInitialization_defaultsNotLoggingInAfterSignUp | 51ms |
| โ | TPPSignInBusinessLogicExtendedTests | testInitialization_defaultsNotValidatingCredentials | 43ms |
| โ | TPPSignInBusinessLogicExtendedTests | testInitialization_patronNilByDefault | 52ms |
| โ | TPPSignInBusinessLogicExtendedTests | testInitialization_setsCorrectLibraryAccountID | 24ms |
| โ | TPPSignInBusinessLogicExtendedTests | testInitialization_setsUIDelegate | 29ms |
| โ | TPPSignInBusinessLogicExtendedTests | testIsAuthenticationDocumentLoading_defaultsFalse | 35ms |
| โ | TPPSignInBusinessLogicExtendedTests | testIsLoggingInAfterSignUp_setterRoutesThroughReducer | 33ms |
| โ | TPPSignInBusinessLogicExtendedTests | testIsNetworkConnectivityError_NonURLDomain_ReturnsFalse | 35ms |
| โ | TPPSignInBusinessLogicExtendedTests | testIsSamlPossible_trueWhenLibrarySupports | 24ms |
| โ | TPPSignInBusinessLogicExtendedTests | testIsSignedIn_falseWhenIgnoreSignedInStateTrue | 61ms |
| โ | TPPSignInBusinessLogicExtendedTests | testIsSignedIn_falseWhenNoCredentials | 43ms |
| โ | TPPSignInBusinessLogicExtendedTests | testIsSignedIn_trueWhenHasCredentials | 31ms |
| โ | TPPSignInBusinessLogicExtendedTests | testLibraryAccount_returnsCorrectAccount | 44ms |
| โ | TPPSignInBusinessLogicExtendedTests | testLibrarySupportsBarcodeDisplay_WithoutAuthorizationIdentifier_ReturnsFalse | 30ms |
| โ | TPPSignInBusinessLogicExtendedTests | testLibrarySupportsBarcodeDisplay_falseWithoutCredentials | 24ms |
| โ | TPPSignInBusinessLogicExtendedTests | testLibrarySupportsBarcodeDisplay_requiresAuthorizationIdentifier | 28ms |
| โ | TPPSignInBusinessLogicExtendedTests | testLogIn_initiatesSignIn | 29ms |
| โ | TPPSignInBusinessLogicExtendedTests | testLogIn_preventsMultipleSimultaneousCalls | 34ms |
| โ | TPPSignInBusinessLogicExtendedTests | testLogIn_withBasicAuth_validatesCredentials | 38ms |
| โ | TPPSignInBusinessLogicExtendedTests | testMakeRequest_forBasicAuth_noAuthorizationHeader | 57ms |
| โ | TPPSignInBusinessLogicExtendedTests | testMakeRequest_forOAuth_hasBearerToken | 30ms |
| โ | TPPSignInBusinessLogicExtendedTests | testMakeRequest_forSAML_hasBearerToken | 23ms |
| โ | TPPSignInBusinessLogicExtendedTests | testMakeRequest_signOut_usesCorrectURL | 45ms |
| โ | TPPSignInBusinessLogicExtendedTests | testRefreshAuthIfNeeded_basicAuthWithoutSavedCredentials_returnsTrue | 197ms |
| โ | TPPSignInBusinessLogicExtendedTests | testRefreshAuthIfNeeded_oauthFreshFlow_marksCredentialsStaleButKeepsSelection | 76ms |
| โ | TPPSignInBusinessLogicExtendedTests | testRefreshAuthIfNeeded_returnsFalseWhenNoAuthDefinition | 24ms |
| โ | TPPSignInBusinessLogicExtendedTests | testRefreshAuthIfNeeded_samlAuthFreshFlow_marksCredentialsStale | 91ms |
| โ | TPPSignInBusinessLogicExtendedTests | testRegistrationIsPossible_falseWhenSignedIn | 73ms |
| โ | TPPSignInBusinessLogicExtendedTests | testRegistrationIsPossible_notSignedInAndLibraryHasSignUpUrl_returnsTrue | 37ms |
| โ | TPPSignInBusinessLogicExtendedTests | testSelectPreferredAuthIfNeeded_WithExistingSelection_DoesNotOverride | 31ms |
| โ | TPPSignInBusinessLogicExtendedTests | testSelectedAuthentication_canBeSetToBasic | 26ms |
| โ | TPPSignInBusinessLogicExtendedTests | testSelectedAuthentication_canBeSetToOAuth | 61ms |
| โ | TPPSignInBusinessLogicExtendedTests | testSelectedAuthentication_canBeSetToSAML | 30ms |
| โ | TPPSignInBusinessLogicExtendedTests | testSelectedAuthentication_nilByDefault | 70ms |
| โ | TPPSignInBusinessLogicExtendedTests | testShouldShowEULALink_basedOnLibraryDetails | 47ms |
| โ | TPPSignInBusinessLogicExtendedTests | testShouldShowSyncButton_PP3252_usesCurrentAccountIdNotCurrentAccountUuid | 53ms |
| โ | TPPSignInBusinessLogicExtendedTests | testShouldShowSyncButton_falseWhenDifferentLibrary | 65ms |
| โ | TPPSignInBusinessLogicExtendedTests | testShouldShowSyncButton_falseWhenNoCredentials | 31ms |
| โ | TPPSignInBusinessLogicExtendedTests | testShouldSkipAdobeActivation_WhenMissingAdobeCredentials_ReturnsFalse | 28ms |
| โ | TPPSignInBusinessLogicExtendedTests | testShouldSkipAdobeActivation_WhenNotCredentialsStale_ReturnsFalse | 76ms |
| โ | TPPSignInBusinessLogicExtendedTests | testSignOut_PP418_clearsWebViewDataBeforeCompletion | 124ms |
| โ | TPPSignInBusinessLogicExtendedTests | testSignOut_sequencesCookieClearingBeforeCompletionCallback | 39ms |
| โ | TPPSignInBusinessLogicExtendedTests | testUpdateUserAccount_clearsCapturedCredentials | 29ms |
| โ | TPPSignInBusinessLogicExtendedTests | testUpdateUserAccount_clearsIgnoreSignedInState | 104ms |
| โ | TPPSignInBusinessLogicExtendedTests | testUpdateUserAccount_clearsInFlightAuthToken | 76ms |
| โ | TPPSignInBusinessLogicExtendedTests | testUpdateUserAccount_setsAuthDefinition | 84ms |
| โ | TPPSignInBusinessLogicExtendedTests | testUpdateUserAccount_withBasicAuth_setsBarcodePIN | 99ms |
| โ | TPPSignInBusinessLogicExtendedTests | testUpdateUserAccount_withOAuth_setsAuthToken | 53ms |
| โ | TPPSignInBusinessLogicExtendedTests | testUpdateUserAccount_withSAML_setsCookies | 38ms |
| โ | TPPSignInBusinessLogicExtendedTests | testValidateCredentials_setsIsValidatingCredentialsTrue | 43ms |
| โ | TPPSignInBusinessLogicExtendedTests | testValidateCredentials_setsValidatingFlag | 89ms |
| โ | TPPSignInBusinessLogicOAuthTests | test_handleRedirectURL_baseTokenWithEqualsSign_isPreservedIntact | 91ms |
| โ | TPPSignInBusinessLogicOAuthTests | test_handleRedirectURL_missingAccessToken_skipsValidationAndReportsParseError | 183ms |
| โ | TPPSignInBusinessLogicOAuthTests | test_handleRedirectURL_missingPatronInfo_skipsValidationAndReportsParseError | 190ms |
| โ | TPPSignInBusinessLogicOAuthTests | test_handleRedirectURL_nonURLObject_reportsErrorWithoutSideEffects | 69ms |
| โ | TPPSignInBusinessLogicOAuthTests | test_handleRedirectURL_serverError_surfacesProblemDocumentTitle | 75ms |
| โ | TPPSignInBusinessLogicOAuthTests | test_handleRedirectURL_validPayload_storesAuthTokenAndPatron | 94ms |
| โ | TPPSignInBusinessLogicOAuthTests | test_handleRedirectURL_wrongPrefix_skipsParseAndReportsMissingPayload | 95ms |
| โ | TPPSignInBusinessLogicOAuthTests | test_makeRequest_OAuth_fallsBackToPersistedToken | 23ms |
| โ | TPPSignInBusinessLogicOAuthTests | test_makeRequest_OAuth_includesBearerHeaderFromInFlightToken | 93ms |
| โ | TPPSignInBusinessLogicOAuthTests | test_makeRequest_signIn_returnsNilWhenNoUserProfileURL | 66ms |
| โ | TPPSignInBusinessLogicOAuthTests | test_oauthRedirectObserver_registersAndRemovesItself_viaInjectedCenter | 48ms |
| โ | TPPSignInBusinessLogicSignOutTests | test_signOutProfileRequest_doesNotArmProactiveTokenRefresh | 168ms |
| โ | TPPSignInBusinessLogicSignOutTests | test_signOut_401Response_doesNotShowSignOutErrorToUser | 57ms |
| โ | TPPSignInBusinessLogicSignOutTests | test_signOut_500Response_surfacesSignOutErrorAndStillCleansUp | 218ms |
| โ | TPPSignInBusinessLogicSignOutTests | test_signOut_callsWillSignOutBeforeDeauthorize | 153ms |
| โ | TPPSignInBusinessLogicSignOutTests | test_signOut_clearsCredentialsFromKeychainAfterDeauthorize | 260ms |
| โ | TPPSignInBusinessLogicSignOutTests | test_signOut_clearsSAMLHelperState | 156ms |
| โ | TPPSignInBusinessLogicSignOutTests | test_signOut_clearsSelectedIDP | 485ms |
| โ | TPPSignInBusinessLogicSignOutTests | test_signOut_invokesDRMDeauthorizeExactlyOnce | 59ms |
| โ | TPPSignInBusinessLogicSignOutTests | test_signOut_preservesAdobeActivation_whenStaleCallbackArrives | 310ms |
| โ | TPPSignInBusinessLogicSignOutTests | test_signOut_preservesNewCredentials_whenUserReauthenticatesDuringSignOut | 143ms |
| โ | TPPSignInBusinessLogicSignOutTests | test_signOut_reentrantCall_isCoalesced | 192ms |
| โ | TPPSignInBusinessLogicSignOutTests | test_signOut_resetsBookRegistry | 232ms |
| โ | TPPSignInBusinessLogicStateMachineTests | testIsSamlAuth_failedDetailsLoad_returnsFalse | 98ms |
| โ | TPPSignInBusinessLogicStateMachineTests | testIsSamlPossible_loaded_returnsTrueWhenSamlAuthPresent | 50ms |
| โ | TPPSignInBusinessLogicStateMachineTests | testLogIn_racingAuthDocLoad_firesRequestOnceReady | 40ms |
| โ | TPPSignInBusinessLogicStateMachineTests | testRegistrationIsPossible_loaded_returnsTrueWhenSignUpUrlPresent | 91ms |
| โ | TPPSignInBusinessLogicStateMachineTests | testSelectPreferredAuthIfNeeded_loaded_picksSamlOverDefault | 52ms |
| โ | TPPSignInBusinessLogicStateMachineTests | testSelectPreferredAuthIfNeeded_loading_doesNotMutate | 23ms |
| โ | TPPSignInBusinessLogicStateMachineTests | testSelectedAuthentication_loading_returnsNil | 53ms |
| โ | TPPSignInBusinessLogicStateMachineTests | testShouldShowEULALink_loaded_reflectsEulaUrlAndSignInState | 50ms |
| โ | TPPSignInBusinessLogicStateMachineTests | testSignIn_blocksUntilLoaded_thenProceeds | 109ms |
| โ | TPPSignInBusinessLogicStateMachineTests | testSignIn_failedDetailsLoad_surfacesError | 110ms |
| โ | TPPSignInBusinessLogicTests | testBoundedCompletion_operationCompletesFast_firesRealValue_andNeverDoubleFires | 431ms |
| โ | TPPSignInBusinessLogicTests | testBoundedCompletion_operationNeverCompletes_firesTimeoutValueAfterTimeout | 331ms |
| โ | TPPSignInBusinessLogicTests | testBoundedCompletion_operationRacerWinsOffMain_deliversOnMainActor | 65ms |
| โ | TPPSignInBusinessLogicTests | testBoundedCompletion_timeoutRacerWins_deliversOnMainActor | 155ms |
| โ | TPPSignInBusinessLogicTests | testBoundedCompletion_zeroTimeout_stillFiresExactlyOnce | 179ms |
| โ | TPPSignInBusinessLogicTests | testIsNetworkConnectivityError_OnlyRecognizesURLErrorDomain | 32ms |
| โ | TPPSignInBusinessLogicTests | testIsTransientServerError_classification | 123ms |
| โ | TPPSignInBusinessLogicTests | testLogInFlow | 85ms |
| โ | TPPSignInBusinessLogicTests | testMakeSignInRequest | 62ms |
| โ | TPPSignInBusinessLogicTests | testShouldShowEULALink_WhenCredentialsStale_ReturnsTrue | 79ms |
| โ | TPPSignInBusinessLogicTests | testShouldShowEULALink_WhenSignedIn_ReturnsFalse | 30ms |
| โ | TPPSignInBusinessLogicTests | testShouldShowEULALink_WhenSignedOutAndEULAURLAvailable_ReturnsTrue | 134ms |
| โ | TPPSignInBusinessLogicTests | testUpdateUserAccountWithBarcodeAuthentication | 136ms |
| โ | TPPSignInBusinessLogicTests | testUpdateUserAccountWithCleverAuthentication | 48ms |
| โ | TPPSignInBusinessLogicTests | testUpdateUserAccountWithNoSelectedAuthentication | 57ms |
| โ | TPPSignInBusinessLogicTests | testUpdateUserAccountWithSAMLAuthentication | 95ms |
| โ | TPPSignInBusinessLogicTests | testUserFacingSignInError_ConnectionLost_ReturnsNetworkMessage | 55ms |
| โ | TPPSignInBusinessLogicTests | testUserFacingSignInError_NoInternet_ReturnsNetworkMessage | 154ms |
| โ | TPPSignInBusinessLogicTests | testUserFacingSignInError_NonURLErrorDomain_ReturnsInvalidCredentials | 105ms |
| โ | TPPSignInBusinessLogicTests | testUserFacingSignInError_ProblemDocument_TakesPrecedenceOverNetworkError | 153ms |
| โ | TPPSignInBusinessLogicTests | testUserFacingSignInError_Timeout_ReturnsNetworkMessage | 80ms |
| โ | TPPSignInBusinessLogicTests | testUserFacingSignInError_TokenRequest401_StillReturnsInvalidCredentials | 118ms |
| โ | TPPSignInBusinessLogicTests | testUserFacingSignInError_TransientServer5xx_ReturnsTryAgain_Not_InvalidCredentials | 23ms |
| โ | TPPSignInBusinessLogicTokenFlowTests | test_getBearerToken_emptyUsername_failsImmediatelyWithoutNetwork | 216ms |
| โ | TPPSignInBusinessLogicTokenFlowTests | test_getBearerToken_failure_doesNotStoreTokenAndSurfacesError | 798ms |
| โ | TPPSignInBusinessLogicTokenFlowTests | test_getBearerToken_success_persistsTokenViaTokenRefresher | 322ms |
| โ | TPPSignInBusinessLogicValidationCallbackOrderTests | test_validateCredentials_basicAuthFailure_doesNotFireReceiveCredentialsCallback | 2.73s |
| โ | TPPSignInBusinessLogicValidationCallbackOrderTests | test_validateCredentials_basicAuthSuccess_firesDidReceiveCredentialsCallback | 741ms |
| โ | TPPSignInCapabilitiesCharacterizationTests | test_canResetPassword_false_whenAuthDocHasNoResetLink | 47ms |
| โ | TPPSignInCapabilitiesCharacterizationTests | test_librarySupportsBarcodeDisplay_false_whenSelectedAuthLacksDisplaySupport | 46ms |
| โ | TPPSignInCapabilitiesCharacterizationTests | test_librarySupportsBarcodeDisplay_true_whenAllThreeConditionsMet | 79ms |
| โ | TPPSignInCapabilitiesCharacterizationTests | test_logIn_basicAuth_capturesCredentials_entersValidating_andFiresRequest | 41ms |
| โ | TPPSignInCapabilitiesCharacterizationTests | test_logIn_oidc_capturesBarcode_notifiesWillSignIn_doesNotValidateDirectly | 38ms |
| โ | TPPSignInCapabilitiesCharacterizationTests | test_refreshAuthIfNeeded_basicWithSavedCredentials_returnsFalse_andLogsIn | 88ms |
| โ | TPPSignInCapabilitiesCharacterizationTests | test_registrationIsPossible_flipsWithSignInState | 47ms |
| โ | TPPSignInCapabilitiesCharacterizationTests | test_selectPreferredAuthIfNeeded_autoSelectsSoleSamlIDP | 28ms |
| โ | TPPSignInCapabilitiesCharacterizationTests | test_selectPreferredAuthIfNeeded_doesNotSelectIDP_forNonSamlAuth | 54ms |
| โ | TPPSignInCapabilitiesCharacterizationTests | test_shouldSkipAdobeActivation_false_whenAuthorizedButNotStale | 29ms |
| โ | TPPSignInCapabilitiesCharacterizationTests | test_shouldSkipAdobeActivation_false_whenDeviceNoLongerAuthorized | 43ms |
| โ | TPPSignInCapabilitiesCharacterizationTests | test_shouldSkipAdobeActivation_false_whenStaleButMissingDeviceID | 56ms |
| โ | TPPSignInCapabilitiesCharacterizationTests | test_shouldSkipAdobeActivation_true_whenStaleWithAdobeCredsAndAuthorizedDevice | 39ms |
| โ | TPPSignInCapabilitiesCharacterizationTests | test_updateUserAccount_drmAuthorizationFailed_preservesExistingCredentials | 88ms |
| โ | TPPSignInErrorHandlingTests | testValidateCredentials_withSelectedAuth_doesNotCrash | 71ms |
| โ | TPPSignInErrorHandlingTests | testValidateCredentials_withoutSelectedAuth_doesNotCrash | 72ms |
| โ | TPPSignInProfileDocEdgeCaseTests | testSignIn_invalidProfileDoc_credentialsPreserved | 84ms |
| โ | TPPSignInProfileDocEdgeCaseTests | testSignIn_noDRMInProfileDoc_credentialsPreserved | 29ms |
| โ | TPPSignInProfileDocEdgeCaseTests | testSignIn_validDRMProfileDoc_savesCredentialsAndDRM | 47ms |
| โ | TPPSignedInStateProviderTests | testIsSignedIn_AfterRemoveAll_ReturnsFalse | 1ms |
| โ | TPPSignedInStateProviderTests | testIsSignedIn_WhenCredentialsPresent_ReturnsTrue | 88ms |
| โ | TPPSignedInStateProviderTests | testIsSignedIn_WhenNoCredentials_ReturnsFalse | <1ms |
| โ | TPPUserAccountAuthStateTests | testAuthState_defaultIsLoggedOut_andDerivesFromCredentialsWhenNotExplicit | 1ms |
| โ | TPPUserAccountAuthStateTests | testMarkCredentialsStale_doesNotTransitionFromLoggedOut | <1ms |
| โ | TPPUserAccountAuthStateTests | testMarkCredentialsStale_transitionsFromLoggedInToStale | <1ms |
| โ | TPPUserAccountAuthStateTests | testMarkLoggedIn_transitionsFromAnyReauthenticatableStateToLoggedIn | <1ms |
| โ | TPPUserAccountAuthStateTests | testRemoveAll_resetsStateToLoggedOut | 6ms |
| โ | TPPUserAccountAuthStateTests | testSetAuthToken_transitionsFromCredentialsStaleToLoggedIn | 39ms |
| โ | TPPUserAccountConcurrencyTests | testIncrementSignInGeneration_underConcurrentCallers_countsExactlyOncePerCall | 4ms |
| โ | TPPUserAccountGapTests | testTPPUserAccount_basicPropertyAccessors_dontCrash | 117ms |
| โ | TPPUserAccountGapTests | testTPPUserAccount_hasAuthToken_returnsFalseWhenNoToken | <1ms |
| โ | TPPUserAccountGapTests | testTPPUserAccount_hasBarcodeAndPIN_returnsFalseWhenNoCredentials | 316ms |
| โ | TPPUserAccountGapTests | testTPPUserAccount_sharedAccount_isAccessible | 4ms |
| โ | TPPUserAccountIsolationLintTests | testLintCatchesSyntheticViolator | 1ms |
| โ | TPPUserAccountIsolationLintTests | testNoSharedAccountOutsideWhitelist | 1.28s |
| โ | TPPUserAccountIsolationLintTests | testResetterIsRegisteredAfterFactoryUse | 2ms |
| โ | TPPUserAccountTestFactoryTests | testFactory_neverWritesToProductionKeychain | 5ms |
| โ | TPPUserAccountTestFactoryTests | testFactory_registersResetterUnderStableName | 4ms |
| โ | TPPUserAccountTestFactoryTests | testMakeIsolated_doesNotPolluteSharedCache | 33ms |
| โ | TPPUserAccountTestFactoryTests | testMakeIsolated_eachCallReturnsDistinctLibraryUUID | 3ms |
| โ | TPPUserAccountTestFactoryTests | testMakeIsolated_honorsExplicitLibraryUUID | 7ms |
| โ | TPPUserAccountTestFactoryTests | testMakeIsolated_reRegistersResetter_afterRegistryCleared | 4ms |
| โ | TPPUserAccountTestFactoryTests | testResetter_clearsKeychainResidue | 16ms |
| โ | TPPUserFriendlyErrorTests | testDefaultImplementation_messageIsNil | 1ms |
| โ | TPPUserFriendlyErrorTests | testDefaultImplementation_titleIsNil | 2ms |
| โ | TPPUserFriendlyErrorTests | testMakeFromProblemDocument_preservesExistingUserInfo | <1ms |
| โ | TPPUserFriendlyErrorTests | testMakeFromProblemDocument_setsDomainAndCode | <1ms |
| โ | TPPUserFriendlyErrorTests | testMakeFromProblemDocument_storesProblemDocument | 1ms |
| โ | TPPUserFriendlyErrorTests | testNSError_withProblemDocument_hasFriendlyMessage | <1ms |
| โ | TPPUserFriendlyErrorTests | testNSError_withProblemDocument_hasFriendlyTitle | 44ms |
| โ | TPPUserFriendlyErrorTests | testNSError_withoutProblemDocument_messageIsLocalizedDescription | 3ms |
| โ | TPPUserFriendlyErrorTests | testNSError_withoutProblemDocument_noUserInfo_messageIsNil | 1ms |
| โ | TPPUserFriendlyErrorTests | testNSError_withoutProblemDocument_titleIsNil | <1ms |
| โ | TPPUserFriendlyErrorTests | testProblemDocument_accessor_returnsStoredDocument | 16ms |
| โ | TPPUserNotificationsTests | testBackgroundFetchIsNeeded_returnsBasedOnHeldBooksCount | <1ms |
| โ | TPPUserNotificationsTests | testCompareAvailability_detectsTransitionFromReservedToReady | 7ms |
| โ | TPPUserNotificationsTests | testCompareAvailability_doesNotCrashWithValidInputs | 3ms |
| โ | TPPUserNotificationsTests | testCompareAvailability_doesNotNotifyWhenStillReserved | 3ms |
| โ | TPPUserNotificationsTests | testCompareAvailability_handlesNilAvailability | 5ms |
| โ | TPPUserNotificationsTests | testRequestAuthorization_isExposedAsObjcSelectorOnService | 125ms |
| โ | TPPUserNotificationsTests | testSharedInstance_isStableAcrossCallsAndConcurrentAccess | 1ms |
| โ | TPPUserNotificationsTests | testUpdateAppIconBadge_countsOnlyReadyBooks | 3ms |
| โ | TPPUserNotificationsTests | testUpdateAppIconBadge_withBooks_processesWithoutCrash | 5ms |
| โ | TPPUserNotificationsTests | testUpdateAppIconBadge_withEmptyArray_isIdempotentAndCrashFree | 1ms |
| โ | TPPXMLSwiftTests | test_attributes_emptyAttributes_returnsEmptyDictionary | 169ms |
| โ | TPPXMLSwiftTests | test_attributes_withAttributes_returnsDictionary | 14ms |
| โ | TPPXMLSwiftTests | test_childrenWithName_nonexistentName_returnsEmptyArray | 2ms |
| โ | TPPXMLSwiftTests | test_childrenWithName_returnsMatchingChildren | 2ms |
| โ | TPPXMLSwiftTests | test_firstChildWithName_nonexistent_returnsNil | 3ms |
| โ | TPPXMLSwiftTests | test_firstChildWithName_returnsFirstMatch | 9ms |
| โ | TPPXMLSwiftTests | test_parseEmptyData_returnsNil | 2ms |
| โ | TPPXMLSwiftTests | test_parseInlineXML_simpleElement | 24ms |
| โ | TPPXMLSwiftTests | test_parseInvalidXML_returnsNil | 2ms |
| โ | TPPXMLSwiftTests | test_parseNilData_returnsNil | 2ms |
| โ | TPPXMLSwiftTests | test_parseValidXML_rootHasNoParent | 3ms |
| โ | TPPXMLSwiftTests | test_parseValidXML_rootHasThreeChildren | 1ms |
| โ | TPPXMLSwiftTests | test_parseValidXML_rootName_isFoo | 2ms |
| โ | TPPXMLSwiftTests | test_parseValidXML_rootNamespaceURI_isCorrect | 3ms |
| โ | TPPXMLSwiftTests | test_parseValidXML_rootQualifiedName | 894ms |
| โ | TPPXMLSwiftTests | test_value_returnsTextContent | 1ms |
| โ | TPPXMLTests | testInvalid | 2ms |
| โ | TPPXMLTests | testNoData | 1ms |
| โ | TPPXMLTests | testValid | 6ms |
| โ | TabBarModernizationTests | test_miniPlayerBottomInset_bogusBarHeight_fallsBackToDefault | 1ms |
| โ | TabBarModernizationTests | test_miniPlayerBottomInset_fullFrameMeasurement_doesNotDoubleCountSafeArea | 1ms |
| โ | TabBarModernizationTests | test_miniPlayerBottomInset_negativeSafeArea_clampsToZero | <1ms |
| โ | TabBarModernizationTests | test_miniPlayerBottomInset_sumsSafeAreaBarAndMargin | <1ms |
| โ | TabBarModernizationTests | test_shouldEnableTabBarMinimize_miniPlayerActive_returnsFalse | <1ms |
| โ | TabBarModernizationTests | test_shouldEnableTabBarMinimize_noMiniPlayer_returnsTrue | <1ms |
| โ | TabBarModernizationTests | test_tabBarHeightObserver_measure_neverCorruptsToBogusHeight | 2ms |
| โ | TabBarModernizationTests | test_tabBarHeightObserver_seedsWithHistoricalDefault | 4ms |
| โ | TaskProvenanceTests | test_aSecondOwnersKey_doesNotEraseTheAccount | <1ms |
| โ | TaskProvenanceTests | test_bareAssignment_erasesTheAccount_whichIsWhyTheCautionExists | <1ms |
| โ | TaskProvenanceTests | test_malformedDescription_isIgnoredRatherThanTrapping | 2ms |
| โ | TaskProvenanceTests | test_nilOrEmptyAccount_isNotRecorded | <1ms |
| โ | TaskProvenanceTests | test_restamping_replacesRatherThanAppends | 43ms |
| โ | TaskProvenanceTests | test_unstampedTask_reportsNoAccount | <1ms |
| โ | TaskProvenanceTests | test_valueContainingColons_survivesTheRoundTrip | 48ms |
| โ | TearDownRequiredLintTests | testBaselineFileIsLoaded | 2ms |
| โ | TearDownRequiredLintTests | testLintAcceptsExplicitTearDown | 687ms |
| โ | TearDownRequiredLintTests | testLintAcceptsInheritedTearDown | 5ms |
| โ | TearDownRequiredLintTests | testLintCatchesSyntheticViolator | 14ms |
| โ | TearDownRequiredLintTests | testTearDownRequired_runsAgainstPalaceTestsTree | 3.20s |
| โ | TestAppContainerFactoryTests | testMakeTestAppContainer_acceptsBookRegistryOverride | 3ms |
| โ | TestAppContainerFactoryTests | testMakeTestAppContainer_acceptsExplicitDependencyOverrides | 5ms |
| โ | TestAppContainerFactoryTests | testMakeTestAppContainer_doesNotMutateProductionCache | 2ms |
| โ | TestAppContainerFactoryTests | testMakeTestAppContainer_doesNotSpawnLoadCatalogsTask | 62ms |
| โ | TestAppContainerFactoryTests | testMakeTestAppContainer_returnsDistinctInstancesPerCall | 21ms |
| โ | TestTargetCompilationConditionsTests | test_palaceTestsTarget_definesFeatureDRMConnector | 2ms |
| โ | TestTargetCompilationConditionsTests | test_palaceTestsTarget_retainsItsOtherFeatureFlags | 3ms |
| โ | TestTargetHermeticityRegressionTests | testAwaitCondition_onTimeout_predicateIsNeverEvaluatedAfterReturn | 337ms |
| โ | TestTargetHermeticityRegressionTests | testBootstrap_deferInitialLoadCatalogs_isPinnedTrueAtTestStart | <1ms |
| โ | TestTargetHermeticityRegressionTests | testMockRegistry_addBookFromBackgroundThread_deliversChangeNotificationOnMain | 7ms |
| โ | TestTargetHermeticityRegressionTests | testTestTarget_compilesWithDEBUG_soPerTestResetLayerIsActive | 9ms |
| โ | TimeEntryTests | testTimeEntry_creation | 3ms |
| โ | TimeEntryTests | testTimeEntry_durationLimit | 4ms |
| โ | TimeEntryTests | testTimeEntry_utcFormat | 42ms |
| โ | TokenRefreshAndRetryQueueTests | testConcurrentRefreshes_OnlyOneTokenRequestFires | 39ms |
| โ | TokenRefreshAndRetryQueueTests | testDELETE_401_DoesNotTriggerRefresh | 90ms |
| โ | TokenRefreshAndRetryQueueTests | testQueuedRequest_AfterRefresh_RetriesWithNewBearer | 44ms |
| โ | TokenRefreshAndRetryQueueTests | testQueuedRequest_CompletionFiresWithRetryBodyAfterRetry | 377ms |
| โ | TokenRefreshAndRetryQueueTests | testRefresh_SuccessWithoutTask_FiresSuccessCompletion | 103ms |
| โ | TokenRefreshAndRetryQueueTests | testRefresh_Success_ReleasesSingleFlightSlot | 313ms |
| โ | TokenRefreshAndRetryQueueTests | testRefresh_TokenEndpointNetworkError_DoesNotMarkCredentialsStale | 1.27s |
| โ | TokenRefreshAndRetryQueueTests | testRefresh_TokenEndpointReturns401_MarksCredentialsStaleAndDoesNotLoop | 186ms |
| โ | TokenRefreshAndRetryQueueTests | testRefresh_WithoutCredentials_FailsImmediatelyAndReleasesSlot | 145ms |
| โ | TokenRefreshIntegrationTests | testExecuteTokenRefresh_EmptyUsername_NeverHitsNetwork | 13ms |
| โ | TokenRefreshIntegrationTests | testExecuteTokenRefresh_ValidatesBasicAuthHeaderOnWire | 27ms |
| โ | TokenRefreshInterceptorAuthCoordinatorTests | testCoordinator_401_OAuthIntermediary_doesNotInvokeCoordinator_fallsToTokenRefreshPath | 16ms |
| โ | TokenRefreshInterceptorAuthCoordinatorTests | testCoordinator_401_OIDC_doesNotRouteThroughCoordinator | 99ms |
| โ | TokenRefreshInterceptorAuthCoordinatorTests | testCoordinator_401_SAML_dispatchesViaCoordinator_andSetsSAMLStarted | 177ms |
| โ | TokenRefreshInterceptorAuthCoordinatorTests | testCoordinator_401_SAML_userCancel_doesNotRetry_butStillFlipsPerBookState | 22ms |
| โ | TokenRefreshInterceptorAuthCoordinatorTests | testCoordinator_handleProblem_browserSAML_dispatchesViaCoordinator | 83ms |
| โ | TokenRefreshInterceptorAuthCoordinatorTests | testCoordinator_noActiveLoan_SAML_dispatchesViaCoordinator_andSetsSAMLStarted | 29ms |
| โ | TokenRefreshInterceptorAuthCoordinatorTests | testForeignHost_401_SAML_doesNotMarkCredentialsStale_doesNotDispatchCoordinator | 20ms |
| โ | TokenRefreshInterceptorAuthCoordinatorTests | testForeignHost_401_SAML_withNilProvider_fallsBackToLegacyDispatch | 82ms |
| โ | TokenRefreshInterceptorTests | testHandleBorrowInvalidCredentials_firstAttempt_triggersReauth | 6ms |
| โ | TokenRefreshInterceptorTests | testHandleBorrowInvalidCredentials_nilDelegate_doesNotCrash | 2ms |
| โ | TokenRefreshInterceptorTests | testHandleBorrowInvalidCredentials_secondAttempt_showsAlert | 6ms |
| โ | TokenRefreshInterceptorTests | testHandleBorrowInvalidCredentials_successfulReauth_startsDownload | 12ms |
| โ | TokenRefreshInterceptorTests | testHandleDownloadFailure_OIDC_401_marksCredentialsStale | 6ms |
| โ | TokenRefreshInterceptorTests | testHandleDownloadFailure_OIDC_401_triggersReauthViaSignInModal | 14ms |
| โ | TokenRefreshInterceptorTests | testHandleDownloadFailure_OIDC_cancelledReauth_doesNotRetry | 6ms |
| โ | TokenRefreshInterceptorTests | testHandleDownloadFailure_OIDC_successfulReauth_retriesDownload | 33ms |
| โ | TokenRefreshInterceptorTests | testHandleDownloadFailure_SAML_401_legacyPath_retriesViaSAMLNotBrowserModal | 11ms |
| โ | TokenRefreshInterceptorTests | testHandleDownloadFailure_SAML_noActiveLoan_legacyPath_retriesViaSAMLNotBrowserModal | 10ms |
| โ | TokenRefreshInterceptorTests | testHandleDownloadFailure_hasCredentials_noLoginRequired_returnsFalse | 4ms |
| โ | TokenRefreshInterceptorTests | testHandleDownloadFailure_noActiveLoan_OIDC_triggersReauth | 7ms |
| โ | TokenRefreshInterceptorTests | testHandleDownloadFailure_noActiveLoan_SAML_treatAsSessionExpiry | 6ms |
| โ | TokenRefreshInterceptorTests | testHandleDownloadFailure_noActiveLoan_nonSAML_autoBorrows | 62ms |
| โ | TokenRefreshInterceptorTests | testHandleDownloadFailure_noCredentialsLoginRequired_triggersSignIn | 3ms |
| โ | TokenRefreshInterceptorTests | testHandleDownloadFailure_noDelegateReturnsFalse | 5ms |
| โ | TokenRefreshInterceptorTests | testHandleDownloadFailure_nonAuthRelatedError_returnsFalse | 2ms |
| โ | TokenRefreshInterceptorTests | testHandleProblem_SAMLStartedState_circuitBreaker | 12ms |
| โ | TokenRefreshInterceptorTests | testHandleProblem_SAMLWithCredentials_retriesWithSAML | 26ms |
| โ | TokenRefreshInterceptorTests | testHandleProblem_authenticatedUser_noReauth | 48ms |
| โ | TokenRefreshInterceptorTests | testHandleProblem_nilDelegate_doesNotCrash | 79ms |
| โ | TokenRefreshInterceptorTests | testHandleProblem_noCredentials_triggersReauth | 19ms |
| โ | TokenRefreshInterceptorTests | testInit_defaultState | 79ms |
| โ | TokenRefreshInterceptorTests | testInit_withCustomReauthenticator | 37ms |
| โ | TokenRefreshOnForegroundTests | test_ConcurrentForegroundRequests_ProduceOneTokenRefresh | 218ms |
| โ | TokenRefreshOnForegroundTests | test_ForegroundRefreshFailure_StillResolvesCaller | 1.30s |
| โ | TokenRefreshOnForegroundTests | test_HealthyToken_NoProactiveRefresh | 377ms |
| โ | TokenRefreshOnForegroundTests | test_NearExpiryToken_GETBlocksOnRefresh | 55ms |
| โ | TokenRefreshOnForegroundTests | test_NearExpiryToken_OnForeground_FiresTokenRefreshBeforeUserRequest | 46ms |
| โ | TokenRefreshOnForegroundTests | test_NearExpiryToken_RetriedRequest_UsesFreshBearer | 49ms |
| โ | TokenRefreshOnForegroundTests | test_POSTBody_PreservedAcrossProactiveRefresh | 88ms |
| โ | TokenRefreshOnForegroundTests | test_SAMLAuth_DoesNotTriggerProactiveTokenRefresh | 39ms |
| โ | TokenRefreshOnForegroundTests | test_TokenAtExactExpiryThreshold_IsConsideredNearExpiry | 58ms |
| โ | TokenRefreshOnForegroundTests | test_UseTokenIfAvailableFalse_BypassesProactiveRefresh | 58ms |
| โ | TokenRefreshTests | testBearerAuthorized_AddsAuthorizationHeader | 1ms |
| โ | TokenRefreshTests | testBearerAuthorized_EmptyTokenSetsEmptyHeader | 90ms |
| โ | TokenRefreshTests | testMockExecutor_HandlesEmptyURL | 15ms |
| โ | TokenRefreshTests | testMockExecutor_Returns404ForUnknownURL | 7ms |
| โ | TokenRefreshTests | testMockExecutor_ReturnsConfiguredResponse | 13ms |
| โ | TokenRefreshTests | testNYPLResult_FailureCase | <1ms |
| โ | TokenRefreshTests | testNYPLResult_FailureWithNilResponse | 1ms |
| โ | TokenRefreshTests | testNYPLResult_SuccessCase | 49ms |
| โ | TokenRefreshTests | testNYPLResult_SuccessWithNilResponse | <1ms |
| โ | TokenRefreshTests | testRequestTimeout_DefaultValue | <1ms |
| โ | TokenRefreshTests | testRequestTimeout_StaticDefault | 2ms |
| โ | TokenRefreshTests | testTPPErrorCode_InvalidCredentialsValue | 1ms |
| โ | TokenRefreshTests | testTokenRequest_EmptyPassword | <1ms |
| โ | TokenRefreshTests | testTokenRequest_EmptyUsername | <1ms |
| โ | TokenRefreshTests | testTokenRequest_InitializesCorrectly | 1ms |
| โ | TokenRefreshTests | testTokenRequest_SpecialCharactersInCredentials | <1ms |
| โ | TokenRefreshTests | testTokenResponse_DecodesFromJSON | 2ms |
| โ | TokenRefreshTests | testTokenResponse_DifferentTokenTypes | 78ms |
| โ | TokenRefreshTests | testTokenResponse_EncodesToJSON | 3ms |
| โ | TokenRefreshTests | testTokenResponse_ExpirationDateCalculation | 128ms |
| โ | TokenRefreshTests | testTokenResponse_LargeExpiresIn | <1ms |
| โ | TokenRefreshTests | testTokenResponse_NegativeExpiresIn | 2ms |
| โ | TokenRefreshTests | testTokenResponse_RoundTrip | 1ms |
| โ | TokenRefreshTests | testTokenResponse_SmallExpiresIn | 1ms |
| โ | TokenRefreshTests | testTokenResponse_ZeroExpiresIn | 48ms |
| โ | TokenRefreshWatchdogTests | testClaim_isSingleFlight | 3ms |
| โ | TokenRefreshWatchdogTests | testWatchdog_doesNotDisturb_aRefreshThatCompletedNormally | 1ms |
| โ | TokenRefreshWatchdogTests | testWatchdog_forceReleasesStuckRefresh_andHandsBackStrandedQueue | 48ms |
| โ | TokenRefreshWatchdogTests | testWatchdog_isIdempotent | 2ms |
| โ | TokenRefreshWatchdogTests | testWatchdog_staleGeneration_doesNotReleaseNewerRefresh | 295ms |
| โ | TokenRequestCredentialGuardTests | testExecute_BothEmpty_ReturnsFailureWithoutNetworkCall | 5ms |
| โ | TokenRequestCredentialGuardTests | testExecute_ColonInPassword_EncodesCorrectly | 7ms |
| โ | TokenRequestCredentialGuardTests | testExecute_EmptyCredentials_ErrorDomain | 276ms |
| โ | TokenRequestCredentialGuardTests | testExecute_EmptyPassword_PinlessLogin_MakesNetworkCall | 382ms |
| โ | TokenRequestCredentialGuardTests | testExecute_EmptyUsername_ReturnsFailureWithoutNetworkCall | 20ms |
| โ | TokenRequestCredentialGuardTests | testExecute_SendsPOSTMethod | 472ms |
| โ | TokenRequestCredentialGuardTests | testExecute_ServerReturns400_ReturnsFailureWithStatusCode | 108ms |
| โ | TokenRequestCredentialGuardTests | testExecute_ServerReturns401_ReturnsFailureWithStatusCode | 96ms |
| โ | TokenRequestCredentialGuardTests | testExecute_ServerReturnsIncompleteJSON_ReturnsDecodingError | 214ms |
| โ | TokenRequestCredentialGuardTests | testExecute_ServerReturnsNonJSON_ReturnsDecodingError | 23ms |
| โ | TokenRequestCredentialGuardTests | testExecute_SpecialCharactersInCredentials_EncodesCorrectly | 13ms |
| โ | TokenRequestCredentialGuardTests | testExecute_ValidCredentials_MakesNetworkCall | 4ms |
| โ | TokenRequestCredentialGuardTests | testExecute_ValidCredentials_SendsCorrectBasicAuthHeader | 490ms |
| โ | TokenRequestTests | testExecute403WithNonJSONBody_FallsBackToGenericError | 51ms |
| โ | TokenRequestTests | testExecute403WithProblemDocument_EmbedsProblemDocInError | 101ms |
| โ | TokenRequestTests | testExecuteInvalidJSONReturnsDecodingError | 95ms |
| โ | TokenRequestTests | testExecuteNon200StatusReturnsFailure | 9ms |
| โ | TokenRequestTests | testExecuteSendsBasicAuthHeader | 28ms |
| โ | TokenRequestTests | testExecuteSuccessReturnsToken | 8ms |
| โ | TokenRequestTests | testExecuteUsesPOSTMethod | 8ms |
| โ | TokenRequestTests | testTokenRequestInitProperties | <1ms |
| โ | TokenRequestTests | testTokenResponseDecodableFromJSON | 3ms |
| โ | TokenRequestTests | testTokenResponseExpirationDate | 50ms |
| โ | TokenRequestTests | testTokenResponseInitProperties | 33ms |
| โ | TokenResponseTests | testAccessToken_WithSpecialCharacters | <1ms |
| โ | TokenResponseTests | testAccessToken_WithUnicodeCharacters | 3ms |
| โ | TokenResponseTests | testDecode_WithDifferentTokenType_ParsesCorrectly | 1ms |
| โ | TokenResponseTests | testDecode_WithExtraFields_IgnoresExtraFields | <1ms |
| โ | TokenResponseTests | testDecode_WithLargeExpiresIn_ParsesCorrectly | <1ms |
| โ | TokenResponseTests | testDecode_WithMissingAccessToken_ThrowsError | <1ms |
| โ | TokenResponseTests | testDecode_WithMissingExpiresIn_ThrowsError | <1ms |
| โ | TokenResponseTests | testDecode_WithMissingTokenType_ThrowsError | <1ms |
| โ | TokenResponseTests | testDecode_WithValidJSON_ParsesCorrectly | 14ms |
| โ | TokenResponseTests | testDecode_WithWrongTypeForExpiresIn_ThrowsError | 3ms |
| โ | TokenResponseTests | testEncodeDecode_RoundTrip_PreservesValues | 8ms |
| โ | TokenResponseTests | testEncode_ProducesValidJSON | <1ms |
| โ | TokenResponseTests | testExpirationDate_CalculatesCorrectInterval | 1ms |
| โ | TokenResponseTests | testExpirationDate_WithNegativeExpiresIn_ReturnsDateInPast | 3ms |
| โ | TokenResponseTests | testExpirationDate_WithPositiveExpiresIn_ReturnsDateInFuture | <1ms |
| โ | TokenResponseTests | testExpirationDate_WithZeroExpiresIn_ReturnsCurrentTime | 15ms |
| โ | TokenResponseTests | testExpiresIn_WithMaxInt32Value | <1ms |
| โ | TokenResponseTests | testInit_WithEmptyToken_StoresEmptyString | <1ms |
| โ | TokenResponseTests | testInit_WithNegativeExpiresIn_StoresNegativeValue | 90ms |
| โ | TokenResponseTests | testInit_WithValidParameters_StoresValues | <1ms |
| โ | TokenResponseTests | testInit_WithZeroExpiresIn_StoresZero | <1ms |
| โ | TriageBotKeyAdminTests | testClear_deletesTheStoredKey | <1ms |
| โ | TriageBotKeyAdminTests | testHasStoredKey_isFalseForNilOrEmpty_trueForNonEmpty | <1ms |
| โ | TriageBotKeyAdminTests | testSave_trimsSurroundingWhitespace_beforeStoring | 194ms |
| โ | TriageBotKeyAdminTests | testSave_whitespaceOnly_isRejected_andLeavesExistingKeyIntact | <1ms |
| โ | TypographyPresetTests | testAllPresetFontSizesInRange | 6ms |
| โ | TypographyPresetTests | testAllPresetLetterSpacingsInRange | 6ms |
| โ | TypographyPresetTests | testAllPresetLineSpacingsInRange | 80ms |
| โ | TypographyPresetTests | testAllPresetWordSpacingsInRange | 25ms |
| โ | TypographyPresetTests | testAllPresetsProduceCSS | 6ms |
| โ | TypographyPresetTests | testClassicCSSContainsGeorgia | 57ms |
| โ | TypographyPresetTests | testClassicPreset | 5ms |
| โ | TypographyPresetTests | testCozyPreset | 5ms |
| โ | TypographyPresetTests | testDensePreset | 26ms |
| โ | TypographyPresetTests | testDyslexiaCSSContainsOpenDyslexic | 9ms |
| โ | TypographyPresetTests | testDyslexiaFriendlyPreset | 5ms |
| โ | TypographyPresetTests | testModernCSSContainsSFPro | 4ms |
| โ | TypographyPresetTests | testModernPreset | 6ms |
| โ | TypographyPresetTests | testNightReaderCSSHasBlackBackground | 70ms |
| โ | TypographyPresetTests | testNightReaderPreset | 5ms |
| โ | TypographyPresetTests | testPresetCount | 5ms |
| โ | TypographyPresetTests | testPresetLookupById | 66ms |
| โ | TypographyPresetTests | testPresetLookupByInvalidId | 14ms |
| โ | TypographyPresetTests | testPresetSettingsAreCodable | 18ms |
| โ | TypographyPresetTests | testPresetsHaveUniqueIds | 5ms |
| โ | TypographyPresetTests | testPresetsHaveUniqueNames | 4ms |
| โ | TypographyServiceTests | testApplyPreset | 696ms |
| โ | TypographyServiceTests | testApplyPresetClearsPreviousCustomization | 6ms |
| โ | TypographyServiceTests | testCSSContainsBackgroundColor | 10ms |
| โ | TypographyServiceTests | testCSSContainsFontFamily | 4ms |
| โ | TypographyServiceTests | testCSSContainsFontSize | 20ms |
| โ | TypographyServiceTests | testCSSContainsLetterSpacing | 273ms |
| โ | TypographyServiceTests | testCSSContainsLineSpacing | 4ms |
| โ | TypographyServiceTests | testCSSContainsMargins | 7ms |
| โ | TypographyServiceTests | testCSSContainsParagraphSpacing | 7ms |
| โ | TypographyServiceTests | testCSSContainsTextAlignment | 3ms |
| โ | TypographyServiceTests | testCSSContainsWordSpacing | 4ms |
| โ | TypographyServiceTests | testCSSDisablesHyphensForLeftAligned | 5ms |
| โ | TypographyServiceTests | testCSSEnablesHyphensForJustifiedText | 4ms |
| โ | TypographyServiceTests | testCSSForArbitrarySettings | 4ms |
| โ | TypographyServiceTests | testCSSForDarkTheme | 4ms |
| โ | TypographyServiceTests | testCSSForSepiaTheme | 4ms |
| โ | TypographyServiceTests | testDefaultSettingsLoadClassicPreset | 2ms |
| โ | TypographyServiceTests | testResetToPresetRestoresOriginal | 3ms |
| โ | TypographyServiceTests | testResetToPresetWithNoPresetResetsToClassic | 6ms |
| โ | TypographyServiceTests | testSettingsPersistedAfterDebounce | 514ms |
| โ | TypographyServiceTests | testSettingsPublisherEmitsOnChange | 11ms |
| โ | TypographyServiceTests | testUpdateFontFamily | 4ms |
| โ | TypographyServiceTests | testUpdateFontSizeClampsToRange | 6ms |
| โ | TypographyServiceTests | testUpdateLetterSpacingClampsToRange | 5ms |
| โ | TypographyServiceTests | testUpdateLineSpacingClampsToRange | 221ms |
| โ | TypographyServiceTests | testUpdateMarginLevel | 5ms |
| โ | TypographyServiceTests | testUpdateParagraphSpacing | 6ms |
| โ | TypographyServiceTests | testUpdateSettingsReplacesAll | 18ms |
| โ | TypographyServiceTests | testUpdateTextAlignment | 4ms |
| โ | TypographyServiceTests | testUpdateTheme | 164ms |
| โ | TypographyServiceTests | testUpdateWordSpacingClampsToRange | 272ms |
| โ | TypographySettingsViewModelTests | testAlignmentGetterMatchesSettings | 13ms |
| โ | TypographySettingsViewModelTests | testAvailableFontsNotEmpty | 2ms |
| โ | TypographySettingsViewModelTests | testFontSizeGetterMatchesSettings | 24ms |
| โ | TypographySettingsViewModelTests | testHasCustomOverridesIsFalseForPreset | 23ms |
| โ | TypographySettingsViewModelTests | testHasCustomOverridesIsTrueAfterChange | 54ms |
| โ | TypographySettingsViewModelTests | testHasCustomOverridesIsTrueWithNoPreset | 13ms |
| โ | TypographySettingsViewModelTests | testInitialPresetIsClassic | 14ms |
| โ | TypographySettingsViewModelTests | testInitialStateMatchesService | 2ms |
| โ | TypographySettingsViewModelTests | testPreviewCSSChangesWithSettings | 13ms |
| โ | TypographySettingsViewModelTests | testPreviewCSSNotEmpty | 2ms |
| โ | TypographySettingsViewModelTests | testPreviewTextNotEmpty | 2ms |
| โ | TypographySettingsViewModelTests | testRapidChangesSettleCorrectly | 12ms |
| โ | TypographySettingsViewModelTests | testResetToPresetAfterCustomization | 36ms |
| โ | TypographySettingsViewModelTests | testResetWithNoPresetResetsToClassic | 90ms |
| โ | TypographySettingsViewModelTests | testSelectAllPresetsInSequence | 71ms |
| โ | TypographySettingsViewModelTests | testSelectPresetUpdatesService | 101ms |
| โ | TypographySettingsViewModelTests | testSelectPresetUpdatesSettings | 12ms |
| โ | TypographySettingsViewModelTests | testServiceChangesReflectedInViewModel | 2ms |
| โ | TypographySettingsViewModelTests | testUpdateFontFamily | 14ms |
| โ | TypographySettingsViewModelTests | testUpdateFontSize | 36ms |
| โ | TypographySettingsViewModelTests | testUpdateLetterSpacing | 13ms |
| โ | TypographySettingsViewModelTests | testUpdateLineSpacing | 14ms |
| โ | TypographySettingsViewModelTests | testUpdateMarginLevel | 57ms |
| โ | TypographySettingsViewModelTests | testUpdateParagraphSpacing | 12ms |
| โ | TypographySettingsViewModelTests | testUpdateTextAlignment | 85ms |
| โ | TypographySettingsViewModelTests | testUpdateTheme | 14ms |
| โ | TypographySettingsViewModelTests | testUpdateWordSpacing | 12ms |
| โ | UIAlertCACommitGuardTests | testAlertTitleError_WithCancelledNetworkError_DoesNotCrash | 41ms |
| โ | UIAlertCACommitGuardTests | testAlertTitleError_WithNilError_ProducesGenericMessage | 94ms |
| โ | UIAlertCACommitGuardTests | testAlertTitleError_WithUnknownDomain_ProducesGenericMessage | 565ms |
| โ | UIAlertCACommitGuardTests | testAlertTitleMessage_WithEmptyMessage_DoesNotCrashAndStillUsable | 2ms |
| โ | UIAlertCACommitGuardTests | testAlertTitleMessage_WithNonEmptyArgs_ProducesValidController | 15ms |
| โ | UIAlertCACommitGuardTests | testPresentFromViewControllerOrNil_WithNilController_DoesNothing | 288ms |
| โ | UIAlertCACommitGuardTests | testPresent_OnInWindowVC_NoTransition_StillPresentsAlert | 262ms |
| โ | UIAlertCACommitGuardTests | testSetProblemDocument_WithNilController_DoesNothing | 1ms |
| โ | UIAlertCACommitGuardTests | testSetProblemDocument_WithNilDocument_DoesNothing | 3ms |
| โ | UIColor_NYPLAdditionsTests | testExample | 98ms |
| โ | URLBackupExclusionTests | test_excludeFromBackup_returnsFalse_whenURLDoesNotExist | 27ms |
| โ | URLBackupExclusionTests | test_excludeFromBackup_setsFlag_onExistingDirectory | 2ms |
| โ | URLBackupExclusionTests | test_excludeFromBackup_setsFlag_onExistingFile | 2ms |
| โ | URLExtensionTests | testAppendingPathComponent | <1ms |
| โ | URLExtensionTests | testAppendingPathExtension | 3ms |
| โ | URLExtensionTests | testFileURL_deletingLastPathComponent | <1ms |
| โ | URLExtensionTests | testFileURL_isFileURL | 2ms |
| โ | URLExtensionTests | testFileURL_lastPathComponent | <1ms |
| โ | URLExtensionTests | testFileURL_pathExtension | <1ms |
| โ | URLExtensionTests | testHTTPURL_isNotFileURL | 7ms |
| โ | URLExtensionTests | testURLComponents_fragment | <1ms |
| โ | URLExtensionTests | testURLComponents_host | <1ms |
| โ | URLExtensionTests | testURLComponents_path | <1ms |
| โ | URLExtensionTests | testURLComponents_query | <1ms |
| โ | URLExtensionTests | testURLComponents_scheme | <1ms |
| โ | URLExtensionTests | testURLEncoding_spaceInQuery | 87ms |
| โ | URLExtensionTests | testURLEncoding_specialCharacters | <1ms |
| โ | URLExtensionTests | testURLQueryItems_building | <1ms |
| โ | URLExtensionTests | testURLQueryItems_parsing | <1ms |
| โ | URLExtensionsTests | testReplacingScheme_HttpToHttps_ReplacesScheme | 52ms |
| โ | URLExtensionsTests | testReplacingScheme_HttpsToHttp_ReplacesScheme | 57ms |
| โ | URLExtensionsTests | testReplacingScheme_PreservesFragment | 2ms |
| โ | URLExtensionsTests | testReplacingScheme_PreservesPort | <1ms |
| โ | URLExtensionsTests | testReplacingScheme_PreservesUserInfo | 2ms |
| โ | URLExtensionsTests | testReplacingScheme_ToCustomScheme_Works | 243ms |
| โ | URLExtensionsTests | testSettingQueryItem_NoExistingQuery_AddsItem | 74ms |
| โ | URLExtensionsTests | testSettingQueryItem_PercentEncodesValue | 1ms |
| โ | URLExtensionsTests | testSettingQueryItem_PreservesOtherItems_AndOrder | <1ms |
| โ | URLExtensionsTests | testSettingQueryItem_RemovesAllDuplicatesOfName | 1ms |
| โ | URLExtensionsTests | testSettingQueryItem_ReplacesExistingSameName_ExactlyOnce | 4ms |
| โ | URLRequestExtensionsCoverageTests | testURLRequest_applyCustomUserAgent | <1ms |
| โ | URLRequestExtensionsCoverageTests | testURLRequest_customUserAgent | 1ms |
| โ | URLRequestExtensionsCoverageTests | testURLRequest_noCustomUserAgent_doesNotSetUserAgentHeader | <1ms |
| โ | URLRequestExtensionsTests | testApplyCustomUserAgent_ReturnsSelf | <1ms |
| โ | URLRequestExtensionsTests | testApplyCustomUserAgent_SetsHeader | <1ms |
| โ | URLRequestExtensionsTests | testInit_WithCustomUserAgent_PreservesURL | 42ms |
| โ | URLRequestExtensionsTests | testInit_WithCustomUserAgent_SetsUserAgentHeader | <1ms |
| โ | URLRequestExtensionsTests | testInit_WithoutCustomUserAgent_NoUserAgentHeader | 7ms |
| โ | URLRequestExtensionsTests | testIsTokenAuthorized_NoAuthHeader_ReturnsFalse | 68ms |
| โ | URLRequestExtensionsTests | testIsTokenAuthorized_WithBasicAuth_ReturnsFalse | <1ms |
| โ | URLRequestExtensionsTests | testIsTokenAuthorized_WithBearerToken_ReturnsTrue | 2ms |
| โ | URLRequestExtensionsTests | testLoggableString_ContainsMethodAndURL | <1ms |
| โ | URLRequestExtensionsTests | testLoggableString_ExcludesAuthorizationHeader | 131ms |
| โ | URLRequestExtensionsTests | testLoggableString_IncludesNonSensitiveHeaders | 2ms |
| โ | URLRequestNYPLAdditionsTests | testPostParams_bodyContainsParams | <1ms |
| โ | URLRequestNYPLAdditionsTests | testPostParams_boundaryConsistencyBetweenHeaderAndBody | <1ms |
| โ | URLRequestNYPLAdditionsTests | testPostParams_emptyParams_doesNotCrash | <1ms |
| โ | URLRequestNYPLAdditionsTests | testPostParams_producesMultipartFormPOSTRequest | 2ms |
| โ | URLRequestNYPLAdditionsTests | testPostParams_setsContentLength | 1ms |
| โ | URLRequestNYPLAdditionsTests | testPostParams_withImage_bodyContainsImageData | 4ms |
| โ | URLRequestNYPLAdditionsTests | testPostParams_withNilImage_bodyLacksImageSection | 3ms |
| โ | URLRequestNYPLAdditionsTests | testPostProblemDocument_producesCompliantProblemJSONRequest | <1ms |
| โ | URLRequestNYPLAdditionsTests | testPostProblemDocument_setsBody | 1ms |
| โ | URLRequestNYPLAdditionsTests | testPostProblemDocument_setsContentLength | 9ms |
| โ | URLRequestNYPLAdditionsTests | testPostProblemDocument_usesTransportDefaultsForReporting | <1ms |
| โ | URLRequest_NYPLTests | testAuthorizationHeaderStrip | 7ms |
| โ | URLResponseAuthenticationTests | testHTTPURLResponse_with200StatusCode_returnsFalse | <1ms |
| โ | URLResponseAuthenticationTests | testHTTPURLResponse_with401StatusCode_returnsTrue | <1ms |
| โ | URLResponseAuthenticationTests | testHTTPURLResponse_with403StatusCode_returnsFalse | <1ms |
| โ | URLResponseAuthenticationTests | testHTTPURLResponse_withApiProblemMimeType_andInvalidCredentials_returnsTrue | <1ms |
| โ | URLResponseAuthenticationTests | testHTTPURLResponse_withInvalidCredentialsProblemDoc_returnsTrue | <1ms |
| โ | URLResponseAuthenticationTests | testHTTPURLResponse_withOPDSAuthMimeType_and200Status_returnsFalse | <1ms |
| โ | URLResponseAuthenticationTests | testHTTPURLResponse_withOPDSAuthMimeType_andNon2xxStatus_returnsTrue | <1ms |
| โ | URLResponseAuthenticationTests | testURLResponse_withInvalidCredentialsProblemDoc_returnsTrue | 1ms |
| โ | URLResponseAuthenticationTests | testURLResponse_withNilProblemDoc_returnsFalse | <1ms |
| โ | URLResponseAuthenticationTests | testURLResponse_withNonProblemMimeType_returnsFalse | <1ms |
| โ | URLResponseNYPLTests | testIsProblemDocument_WithApiProblemJsonMime_ReturnsTrue | 2ms |
| โ | URLResponseNYPLTests | testIsProblemDocument_WithHtmlMime_ReturnsFalse | 316ms |
| โ | URLResponseNYPLTests | testIsProblemDocument_WithNilMime_ReturnsFalse | 1ms |
| โ | URLResponseNYPLTests | testIsProblemDocument_WithProblemJsonMime_ReturnsTrue | 502ms |
| โ | URLResponseNYPLTests | testIsProblemDocument_WithRegularJsonMime_ReturnsFalse | 2ms |
| โ | URLResponseNYPLTests | testIsSuccess_199_ReturnsFalse | 1ms |
| โ | URLResponseNYPLTests | testIsSuccess_200_ReturnsTrue | 4ms |
| โ | URLResponseNYPLTests | testIsSuccess_201Created_ReturnsTrue | 1ms |
| โ | URLResponseNYPLTests | testIsSuccess_204NoContent_ReturnsTrue | <1ms |
| โ | URLResponseNYPLTests | testIsSuccess_299_ReturnsTrue | 2ms |
| โ | URLResponseNYPLTests | testIsSuccess_300Redirect_ReturnsFalse | 213ms |
| โ | URLResponseNYPLTests | testIsSuccess_400BadRequest_ReturnsFalse | 1ms |
| โ | URLResponseNYPLTests | testIsSuccess_401Unauthorized_ReturnsFalse | 2ms |
| โ | URLResponseNYPLTests | testIsSuccess_500ServerError_ReturnsFalse | 2ms |
| โ | URLSessionCredentialStorageTests | testMakeURLSessionConfiguration_Default_DisablesCredentialStorage | <1ms |
| โ | URLSessionCredentialStorageTests | testMakeURLSessionConfiguration_Ephemeral_ReturnsEphemeralConfig | 50ms |
| โ | URLSessionCredentialStorageTests | testMakeURLSessionConfiguration_Fallback_DisablesCredentialStorage | 2ms |
| โ | URLSessionStubbingResetTests | testResetStubbedSession_inFlightTaskOnOldSession_completesGracefully | 3ms |
| โ | URLSessionStubbingResetTests | testResetStubbedSession_returnsDistinctSessionInstance | 1ms |
| โ | URLTypeTests | testURLType_HasAllExpectedCases | 4ms |
| โ | URLTypeTests | testURLType_RawValues_AreDistinct | <1ms |
| โ | URLValidationTests | testEmptyString_returnsNil | <1ms |
| โ | URLValidationTests | testFileURL_alwaysValid | 1ms |
| โ | URLValidationTests | testInvalidURL_handledByURLInit | <1ms |
| โ | URLValidationTests | testURLWithSpaces_handledCorrectly | <1ms |
| โ | URLValidationTests | testValidHTTPURL | 1ms |
| โ | UnifiedOPDSServiceStateMachineTests | testFetchLoansFeed_blocksUntilLoaded_thenFetches | 73ms |
| โ | UnifiedOPDSServiceStateMachineTests | testFetchLoansFeed_failedDetailsLoad_throws | 41ms |
| โ | UserAccountPublisherAuthStateTests | testAuthStateDidChangePublisher_firesOnStateChanges | 5ms |
| โ | UserAccountPublisherAuthStateTests | testCredentialsStalePublisher_firesWhenStateBecomesStale | 5ms |
| โ | UserAccountPublisherAuthStateTests | testInitialState_isLoggedOut_andMarkCredentialsStaleFromLoggedOutIsNoOp | <1ms |
| โ | UserAccountPublisherAuthStateTests | testMarkCredentialsStale_updatesState | 36ms |
| โ | UserAccountPublisherAuthStateTests | testSignOut_resetsToLoggedOut | 14ms |
| โ | UserAccountPublisherTests | testAuthStateDidChangePublisher_emitsStateChanges | 2ms |
| โ | UserAccountPublisherTests | testCredentialsDidChangePublisher_emitsOnChange | 34ms |
| โ | UserAccountPublisherTests | testCredentialsStalePublisher_emitsWhenStale | 6ms |
| โ | UserAccountPublisherTests | testDidSignOutPublisher_emitsOnSignOut | 2ms |
| โ | UserAccountPublisherTests | testInit_hasCorrectDefaults | 2ms |
| โ | UserAccountPublisherTests | testMarkCredentialsStale_fromLoggedIn_setsStaleState | 8ms |
| โ | UserAccountPublisherTests | testMarkCredentialsStale_fromLoggedOut_doesNotChange | 10ms |
| โ | UserAccountPublisherTests | testMarkLoggedIn_setsLoggedInState | <1ms |
| โ | UserAccountPublisherTests | testShared_returnsSameInstance | 7ms |
| โ | UserAccountPublisherTests | testSignOut_calledTwice_cancelsFirstResetTask | 161ms |
| โ | UserAccountPublisherTests | testSignOut_deferredResetTask_isRetained | 2ms |
| โ | UserAccountPublisherTests | testSignOut_deinit_cancelsPendingReset | 20ms |
| โ | UserAccountPublisherTests | testSignOut_resetsAllState | 16ms |
| โ | UserAccountPublisherTests | testSignOut_resetsIsSigningOutAfterDelay | 111ms |
| โ | UserAccountValidationTests | testAcceptsASCIICharacters | 69ms |
| โ | UserAccountValidationTests | testAcceptsEmptyReplacementString | 28ms |
| โ | UserAccountValidationTests | testAcceptsPINAtExactlyAuthPasscodeLength | 109ms |
| โ | UserAccountValidationTests | testAcceptsUsernameAtExactly25Characters | 38ms |
| โ | UserAccountValidationTests | testRejectsNonASCIICharacters | 22ms |
| โ | UserAccountValidationTests | testRejectsPINLongerThanAuthPasscodeLength | 90ms |
| โ | UserAccountValidationTests | testRejectsUsernameLongerThan25Characters | 66ms |
| โ | UserAccountValidationTests | testRejectsUsernameRangeOutsideTextBounds | 125ms |
| โ | UserAccountValidationTests | testShouldBeginEditingWhenForceEditabilityIsTrue | 52ms |
| โ | UserAccountValidationTests | testShouldBeginEditingWhenNoBusinessLogic | 86ms |
| โ | UserAccountValidationTests | testShouldNotBeginEditingWhenBusinessLogicHasBarcodeAndPIN | 87ms |
| โ | UserDefaultsIsolationLintTests | testLintCatchesSyntheticViolatorIfStrictModeEnabled | <1ms |
| โ | UserDefaultsIsolationLintTests | testWarnsOnUserDefaultsStandardOutsideWhitelist | 1.00s |
| โ | UserProfileDocumentTests | testParse | <1ms |
| โ | UserProfileDocumentTests | testParseJSONExtraProperty | 3ms |
| โ | UserProfileDocumentTests | testParseJSONInvalid | <1ms |
| โ | UserProfileDocumentTests | testParseJSONMissingProperty | 60ms |
| โ | UserProfileDocumentTests | testParseJSONNilValue | <1ms |
| โ | UserProfileDocumentTests | testParseJSONTypeMismatch | 157ms |
| โ | UserProfileDocumentTests | testParseProfileDocCausingSIMPLY2491 | 3ms |
| โ | UserProfileDocumentTests | test_loggableSummary_absentIdentifierIsNamedRatherThanBlank | <1ms |
| โ | UserProfileDocumentTests | test_loggableSummary_distinguishesAbsentDRMFromEmptyDRM | <1ms |
| โ | UserProfileDocumentTests | test_loggableSummary_neverContainsTheBarcode | 1ms |
| โ | UserProfileDocumentTests | test_loggableSummary_neverContainsTheClientTokenSignature | 3ms |
| โ | UserProfileDocumentTests | test_loggableSummary_reportsTheFieldsDiagnosisActuallyUses | 1ms |
| โ | UserProfileDocumentTests | test_toJson_stillContainsTheSecrets_soTheRedactionIsMeasurable | 27ms |
| โ | UserRetryTrackerTests | testCanRetry_afterFiveRetries_returnsFalse | 1ms |
| โ | UserRetryTrackerTests | testCanRetry_afterFourRetries_returnsTrue | 94ms |
| โ | UserRetryTrackerTests | testCanRetry_afterOneRetry_returnsTrue | 1ms |
| โ | UserRetryTrackerTests | testCanRetry_newOperation_returnsTrue | 209ms |
| โ | UserRetryTrackerTests | testClearRetries_onlyAffectsSpecifiedOperation | 44ms |
| โ | UserRetryTrackerTests | testClearRetries_resetsCount | <1ms |
| โ | UserRetryTrackerTests | testConcurrentAccess_doesNotCrash | <1ms |
| โ | UserRetryTrackerTests | testRecordRetry_afterMax_returnsZero | 6ms |
| โ | UserRetryTrackerTests | testRecordRetry_returnsRemainingCount | 1ms |
| โ | UserRetryTrackerTests | testSeparateOperations_trackIndependently | 1ms |
| โ | VerbatimTextFieldTests | testApplyVerbatimInputTraits_doesNotChangeAutocapitalisation | 2ms |
| โ | VerbatimTextFieldTests | testCoordinator_beginAndEndEditing_driveTheFocusBindingBothWays | 12ms |
| โ | VerbatimTextFieldTests | testCoordinator_editingChanged_writesTheTypedTextBackToTheBinding | 78ms |
| โ | VerbatimTextFieldTests | testCoordinator_shouldReturn_invokesSubmit | 1ms |
| โ | VerbatimTextFieldTests | testMakeUIView_disablesEverySubstitutingInputTrait | 2ms |
| โ | VerbatimTextFieldTests | testMakeUIView_pinsFieldToItsIntrinsicHeightButStillFillsWidth | 73ms |
| โ | VerbatimTextFieldTests | testSyncFieldContent_leavesAnAlreadyCorrectFieldAlone | 4ms |
| โ | VerbatimTextFieldTests | testSyncFieldContent_writesPlaceholderWhenItDiffers | 2ms |
| โ | VerbatimTextFieldTests | testSyncFieldContent_writesTextWhenItDiffers | 146ms |
| โ | WebAuthPresentationAnchorTests | testAboveNormalLevelWindow_isRejected | 4ms |
| โ | WebAuthPresentationAnchorTests | testEachClauseIsLoadBearing | 4ms |
| โ | WebAuthPresentationAnchorTests | testHiddenWindow_isRejected | 1ms |
| โ | WebAuthPresentationAnchorTests | testRootlessWindow_isRejected | <1ms |
| โ | WebAuthPresentationAnchorTests | testUsableWindow_isAccepted | 68ms |
| โ | XCTestCase_testUserDefaultsTests | testTestUserDefaults_resetterClearsSuiteOnTestEnd | 33ms |
| โ | XCTestCase_testUserDefaultsTests | testTestUserDefaults_returnsIsolatedSuite | 8ms |
| โ | XCTestCase_testUserDefaultsTests | testTestUserDefaults_writesDoNotLeakToStandard | 6ms |
| โ | iPadOnMacRMSDKGuardTests | testDidUseAdobeDRMThisSession_isFalseUntilMarked_thenTrue | <1ms |
| โ | iPadOnMacRMSDKGuardTests | testProcessInfoExposes_isiOSAppOnMac_OnSupportedSDKs | 1ms |
| โ | iPadOnMacRMSDKGuardTests | testShouldRegisterStaticDestructorBypass_OnIOSDevice_NeverRegisters | 64ms |
| โ | iPadOnMacRMSDKGuardTests | testShouldRegisterStaticDestructorBypass_OnIPadOnMac_AlreadyRegistered_DoesNotReRegister | 80ms |
| โ | iPadOnMacRMSDKGuardTests | testShouldRegisterStaticDestructorBypass_OnIPadOnMac_NotYetRegistered_Registers | 1ms |
| โ | iPadOnMacRMSDKGuardTests | testShouldSkipStaticDestructorsOnExit_OnIOSDevice_ReturnsFalse | 1ms |
| โ | iPadOnMacRMSDKGuardTests | testShouldSkipStaticDestructorsOnExit_OnIPadOnMac_ReturnsTrue | 1ms |