๐Ÿงช Palace iOS Test Report

Generated: 2026-07-21 18:15:38 UTC | Commit: 220728e66c0a | Branch: fix/firebase-withtimeout-noncancellable-hang

โœ… ALL TESTS PASSED

7868 tests completed in 17m 53s

7868
Total Tests
7733
Passed
0
Failed
133
Skipped
17m 53s
Duration
44.5%
Coverage

๐Ÿ“Š Tests by Class

Class Total Passed Failed Duration
โœ… AccessLintComplianceTests 11 11 0 23ms
โœ… AccessibilityAnnouncementCenterTests 20 20 0 1.57s
โœ… AccessibilityLabelTests 9 9 0 171ms
โœ… AccessibilityPreferencesTests 26 26 0 1.59s
โœ… AccessibilityServiceTests 11 11 0 122ms
โœ… AccountAuthDocCarryoverTests 5 5 0 213ms
โœ… AccountAuthSurfaceHostsTests 7 7 0 66ms
โœ… AccountAwareNetworkTests 10 10 0 1.80s
โœ… AccountDetailCredentialStateTests 7 0 0 63ms
โœ… AccountDetailPINVisibilityTests 25 0 0 626ms
โœ… AccountDetailSignOutConfirmationTests 2 0 0 65ms
โœ… AccountDetailViewModelGapTests 1 1 0 85ms
โœ… AccountDetailViewModelLeakTests 1 1 0 167ms
โœ… AccountDetailViewModelSignedInDerivationTests 5 0 0 22ms
โœ… AccountDetailViewModelTests 19 0 0 5.06s
โœ… AccountDetailsAuthenticationIsBrowserBasedTests 10 10 0 255ms
โœ… AccountDetailsNeedsAuthAggregateTests 10 10 0 2.08s
โœ… AccountDetailsURLTests 17 17 0 386ms
โœ… AccountModelGapTests 9 9 0 1.40s
โœ… AccountModelTests 20 20 0 857ms
โœ… AccountProfileDocumentTests 3 3 0 55ms
โœ… AccountStateMachineTests 10 10 0 219ms
โœ… AccountSwitchCleanupTests 8 8 0 236ms
โœ… AccountSwitchIntegrationTests 8 8 0 318ms
โœ… AccountSwitchLifecycleTests 9 0 0 1.86s
โœ… AccountsManagerAccountIndexTests 7 7 0 79ms
โœ… AccountsManagerCacheReadTests 4 4 0 2.10s
โœ… AccountsManagerCacheTests 16 16 0 1.81s
โœ… AccountsManagerCancellationTests 5 5 0 792ms
โœ… AccountsManagerFirstRunDecodeTests 3 3 0 661ms
โœ… AccountsManagerGapTests 3 3 0 7ms
โœ… AccountsManagerHelpersTests 12 12 0 64ms
โœ… AccountsManagerIsolationLintTests 4 4 0 2.16s
โœ… AccountsManagerLaunchSnapshotTests 13 13 0 2.11s
โœ… AccountsManagerStateMachineWiringTests 16 16 0 6.28s
โœ… AccountsManagerTests 51 48 0 4.42s
โœ… ActiveSessionsViewModelTests 12 12 0 437ms
โœ… AdobeActivationTests 6 6 0 12ms
โœ… AdobeCertificateGapTests 7 7 0 48ms
โœ… AdobeDRMCharacterizationTests 21 21 0 1.24s
โœ… AdobeDRMErrorGapTests 3 3 0 210ms
โœ… AdobeDRMHandlerTests 12 12 0 164ms
โœ… AdobeDRMServiceGapTests 2 2 0 89ms
โœ… AlertModelCoverageTests 6 6 0 83ms
โœ… AlertModelRetryTests 7 7 0 27ms
โœ… AlertModelTests 2 2 0 2ms
โœ… AlertPresentationRawGuardLintTests 6 6 0 96ms
โœ… AlertUtilsTests 20 20 0 3.39s
โœ… AnnotationContractTests 3 3 0 154ms
โœ… AnnotationDeviceIDTests 2 2 0 3ms
โœ… AnnotationPostResponseContractTests 1 1 0 6ms
โœ… AnnouncementChainTests 5 5 0 6ms
โœ… AnnouncementTests 3 3 0 2ms
โœ… AnonymousBorrowBaselineFixtureTests 13 13 0 1.85s
โœ… AnonymousBorrowCandidateFixtureTests 6 6 0 40ms
โœ… AnonymousBorrowDeltaTests 2 2 0 18ms
โœ… AppContainerAudiobookFactoryTests 3 3 0 13ms
โœ… AppContainerAuthCoordinatorRegistrationTests 3 3 0 11ms
โœ… AppContainerImageLoaderInjectionTests 4 4 0 115ms
โœ… AppContainerIsolationLintTests 7 7 0 1.67s
โœ… AppContainerResetTests 5 5 0 630ms
โœ… AppContainerTests 4 4 0 20ms
โœ… AppContainerWithSignInModalSheetPresenterTests 2 2 0 7ms
โœ… AppHealthViewModelTests 8 8 0 1.82s
โœ… AppLaunchTrackerExtendedTests 16 16 0 546ms
โœ… AppLaunchTrackerTests 10 10 0 348ms
โœ… AppLaunchTrackerWiringTests 2 2 0 53ms
โœ… AppRatingServiceOverrideTests 3 3 0 234ms
โœ… AppRatingServiceTests 9 9 0 112ms
โœ… AppRouteTests 5 5 0 91ms
โœ… AppTabHostMiniPlayerIntegrationTests 6 6 0 772ms
โœ… AppTabHostViewBadgeCountTests 10 10 0 326ms
โœ… AppTabRouterCoverageTests 4 4 0 5ms
โœ… AppTabRouterGapTests 3 3 0 6ms
โœ… ArrayExtensionsTests 6 6 0 12ms
โœ… AudioBookmarkGapTests 6 6 0 154ms
โœ… AudioEngineWrapperTests 8 8 0 256ms
โœ… AudioInterruptionLogicTests 6 6 0 154ms
โœ… AudioSessionActivatorTests 8 8 0 187ms
โœ… AudiobookAccessibilityTests 7 7 0 12ms
โœ… AudiobookBackgroundAudioTests 2 2 0 28ms
โœ… AudiobookBookmarkBusinessLogicConcurrencyTests 3 3 0 680ms
โœ… AudiobookBookmarkBusinessLogicPositionWriteTests 6 6 0 1.96s
โœ… AudiobookBookmarkBusinessLogicTests 21 21 0 3.80s
โœ… AudiobookChapterTOCNormalizationTests 6 6 0 841ms
โœ… AudiobookColdLoadRecoveryTests 4 4 0 8ms
โœ… AudiobookCrossVendorSmokeTests 4 4 0 700ms
โœ… AudiobookDataManagerEmptyQueueTests 1 1 0 18ms
โœ… AudiobookDataManagerErrorHandlingTests 5 5 0 10.26s
โœ… AudiobookDataManagerModelsTests 20 20 0 107ms
โœ… AudiobookDataManagerNetworkSyncTests 5 5 0 5.07s
โœ… AudiobookDataManagerSaveTests 4 4 0 530ms
โœ… AudiobookDataManagerStoreRecoveryTests 5 5 0 2.07s
โœ… AudiobookFileLoggerTests 14 14 0 231ms
โœ… AudiobookFirstOpenHangTests 14 14 0 1.37s
โœ… AudiobookLoadFailureSAMLReauthTests 10 10 0 2.90s
โœ… AudiobookLoaderDispatchTests 7 7 0 1.31s
โœ… AudiobookLoaderFinalizeBuildTests 11 11 0 534ms
โœ… AudiobookLoaderOPDSShapeMatrixTests 8 0 0 180ms
โœ… AudiobookLoaderPredicateTests 11 11 0 79ms
โœ… AudiobookLoaderTests 2 2 0 36ms
โœ… AudiobookMorphingPlayerViewTests 10 10 0 457ms
โœ… AudiobookNetworkValidationTests 3 3 0 5ms
โœ… AudiobookOpenStateRaceTests 3 3 0 1.13s
โœ… AudiobookPhoneAlertContentTests 3 3 0 121ms
โœ… AudiobookPlaybackStateTests 3 3 0 45ms
โœ… AudiobookPlaybackTests 26 26 0 285ms
โœ… AudiobookPlaytimesLifecycleTests 6 6 0 1.81s
โœ… AudiobookPositionAdapterContractTests 3 3 0 134ms
โœ… AudiobookPositionPolicyValidatorTests 14 14 0 35ms
โœ… AudiobookPositionRestoreTests 18 18 0 389ms
โœ… AudiobookSAMLReauthTests 6 6 0 83ms
โœ… AudiobookSessionErrorDescriptionTests 4 4 0 86ms
โœ… AudiobookSessionErrorExtTests 4 4 0 51ms
โœ… AudiobookSessionErrorTests 3 3 0 38ms
โœ… AudiobookSessionManagerErrorMappingTests 6 6 0 8ms
โœ… AudiobookSessionManagerFlagGatePresentationTests 4 4 0 219ms
โœ… AudiobookSessionManagerPresenterMigrationTests 10 10 0 221ms
โœ… AudiobookSessionManagerShutdownTests 12 12 0 2.25s
โœ… AudiobookSessionPresenterTests 31 31 0 951ms
โœ… AudiobookSessionStateTests 6 6 0 217ms
โœ… AudiobookSessionStateTransitionTests 22 22 0 5.21s
โœ… AudiobookSkipIntervalSettingsTests 7 7 0 25ms
โœ… AudiobookSleepTimerIntegrationTests 5 5 0 2.63s
โœ… AudiobookStorageLocationTests 3 3 0 56ms
โœ… AudiobookTOCTests 18 18 0 2.06s
โœ… AudiobookTimeEntryTests 6 6 0 649ms
โœ… AudiobookTimeTrackerEdgeTests 8 8 0 84ms
โœ… AudiobookTimeTrackerLifecycleTests 5 5 0 2.11s
โœ… AudiobookTimeTrackerTests 9 9 0 621ms
โœ… AudiobookTrackCompletionTests 2 2 0 26ms
โœ… AudiobookTypeRoutingTests 5 5 0 827ms
โœ… AudiobookVendorAdapterTests 5 5 0 1.25s
โœ… AudiobookmarkTests 4 4 0 132ms
โœ… AuthCoordinatorTelemetryTests 5 5 0 13ms
โœ… AuthDecisionEventEmissionTests 7 7 0 534ms
โœ… AuthDocumentContractTests 2 2 0 57ms
โœ… AuthDocumentVariantsContractTests 5 5 0 25ms
โœ… AuthErrorCategoryTests 12 12 0 24ms
โœ… AuthErrorProblemDocSeamTests 6 6 0 93ms
โœ… AuthFlowSecurityTests 3 0 0 185ms
โœ… AuthReducerTests 21 21 0 27ms
โœ… AuthTypeTests 7 7 0 902ms
โœ… AuthenticationTests 16 16 0 185ms
โœ… BackgroundDownloadHandlerTests 28 28 0 1.84s
โœ… BackgroundListenerTests 2 2 0 97ms
โœ… BackgroundSessionRoutingTests 6 6 0 160ms
โœ… BackupExclusionMigrationTests 3 3 0 7ms
โœ… BadgeDefinitionTests 33 33 0 723ms
โœ… BadgeServiceTests 16 16 0 208ms
โœ… BadgeUnlockPhaseTests 4 4 0 819ms
โœ… BadgesViewModelTests 14 14 0 164ms
โœ… BasicAuthEmptyCredentialTests 4 4 0 203ms
โœ… BearerTokenAdapterTests 5 4 0 325ms
โœ… BearerTokenFulfillFlowTests 4 4 0 25ms
โœ… BearerTokenRefreshTests 4 4 0 5ms
โœ… BearerTokenResponseDetectionTests 7 7 0 31ms
โœ… BeginningPositionPolicyTests 8 8 0 125ms
โœ… BookAvailabilityFormatterTests 18 18 0 139ms
โœ… BookButtonMapperHoldReadyTests 10 10 0 228ms
โœ… BookButtonMapperTests 21 21 0 119ms
โœ… BookButtonMapperViewModelTests 18 18 0 185ms
โœ… BookButtonStateTests 8 8 0 301ms
โœ… BookButtonTypeMetaTests 4 4 0 108ms
โœ… BookButtonTypeTests 13 13 0 327ms
โœ… BookCellModelActionTests 18 18 0 736ms
โœ… BookCellModelCacheInvalidationTests 8 8 0 2.31s
โœ… BookCellModelCachePrefetchSafetyTests 9 9 0 251ms
โœ… BookCellModelCacheTests 22 22 0 548ms
โœ… BookCellModelComputedPropertyTests 19 19 0 1.50s
โœ… BookCellModelOfflineTests 9 9 0 380ms
โœ… BookCellModelRegistryBindingTests 4 4 0 413ms
โœ… BookCellModelStateTests 16 16 0 180ms
โœ… BookCellModelStreamingHTMLTests 2 2 0 117ms
โœ… BookCellStateComprehensiveTests 14 14 0 53ms
โœ… BookContentResetServiceTests 2 2 0 685ms
โœ… BookDetailMetadataHydrationTests 6 6 0 477ms
โœ… BookDetailViewModelAudiobookDismissTests 1 1 0 71ms
โœ… BookDetailViewModelTests 91 91 0 1.74s
โœ… BookFileManagerSideloadResolutionTests 4 4 0 196ms
โœ… BookFileManagerTests 8 8 0 143ms
โœ… BookListViewAccessibilityTests 9 9 0 36ms
โœ… BookPreviewTests 4 4 0 196ms
โœ… BookRegistryStoreTests 26 26 0 24.23s
โœ… BookRegistrySyncReadinessTests 3 2 0 175ms
โœ… BookRegistrySyncReentrancyTests 6 6 0 242ms
โœ… BookRegistrySyncSideloadExemptionTests 2 0 0 84ms
โœ… BookRegistrySyncTests 35 30 0 14.08s
โœ… BookReturnCleverReauthTests 1 1 0 10ms
โœ… BookReturnServiceAuthCoordinatorTests 3 3 0 745ms
โœ… BookReturnServiceContractTests 6 6 0 2.65s
โœ… BookReturnServiceTests 16 16 0 3.53s
โœ… BookServiceAudiobookOpenTests 2 2 0 18ms
โœ… BookSignInRedirectHandlerTests 8 8 0 401ms
โœ… BookStateIntegrationTests 8 8 0 1.22s
โœ… BookmarkBusinessLogicExtendedTests 6 6 0 192ms
โœ… BookmarkDeletionLogTests 3 3 0 5.69s
โœ… BookmarkDeviceIdMatchingTests 3 3 0 256ms
โœ… BookmarkExistenceTests 4 4 0 240ms
โœ… BookmarkManagerTests 24 24 0 490ms
โœ… BookmarkSortingTests 1 1 0 60ms
โœ… BookmarkSyncTests 3 3 0 568ms
โœ… BorrowAndDownloadIntegrationTests 7 7 0 3.76s
โœ… BorrowErrorMessageTests 13 13 0 90ms
โœ… BorrowErrorPresenterTests 6 6 0 645ms
โœ… BorrowOperationAuthCoordinatorTests 6 6 0 4.30s
โœ… BorrowOperationCleverReauthTests 2 2 0 346ms
โœ… BorrowOperationContractTests 6 6 0 406ms
โœ… BorrowOperationStreamingHTMLTests 3 3 0 390ms
โœ… BorrowOperationTests 13 13 0 2.57s
โœ… BorrowOperationTimeoutTests 3 3 0 118ms
โœ… BorrowReducerContractTests 2 2 0 15ms
โœ… BorrowReducerTests 21 21 0 2.42s
โœ… BundledRegistrySnapshotTests 5 5 0 384ms
โœ… ButtonStateMonotonicClampTests 10 10 0 5.07s
โœ… ButtonStateTests 16 16 0 3.93s
โœ… ButtonStyleTypeTests 2 2 0 4ms
โœ… C64ConversionTests 6 6 0 6ms
โœ… CarPlayAudiobookBridgePresenterMigrationTests 2 2 0 84ms
โœ… CarPlayAuthHelperReadinessTests 3 3 0 3.54s
โœ… CarPlayChapterListTests 3 3 0 46ms
โœ… CarPlayIntegrationTests 2 2 0 245ms
โœ… CarPlayLibraryRefreshTests 3 3 0 480ms
โœ… CarPlayNowPlayingTemplateTests 4 4 0 621ms
โœ… CarPlayOpenAppAlertTests 6 6 0 118ms
โœ… CarPlayPlaybackErrorTests 8 8 0 159ms
โœ… CarPlayTests 12 12 0 812ms
โœ… CarPlayTimeTrackingTests 3 3 0 387ms
โœ… CatalogAPIDedupeTests 3 3 0 424ms
โœ… CatalogAPIEntryPointTests 1 1 0 8ms
โœ… CatalogAccessibilityTests 8 8 0 145ms
โœ… CatalogCacheKeyAndIsolationTests 12 12 0 578ms
โœ… CatalogCacheMetadataExactBoundaryTests 4 4 0 225ms
โœ… CatalogCacheMetadataTests 21 21 0 196ms
โœ… CatalogFeedModelTests 4 4 0 177ms
โœ… CatalogFilterGroupModelTests 17 17 0 98ms
โœ… CatalogFilterModelTests 17 17 0 434ms
โœ… CatalogFilterServiceTests 29 29 0 168ms
โœ… CatalogFilterTests 1 1 0 2ms
โœ… CatalogLaneAssemblyTests 7 7 0 360ms
โœ… CatalogLaneModelStructTests 20 20 0 1.19s
โœ… CatalogLaneModelTests 3 3 0 13ms
โœ… CatalogLaneMoreFilterStateTests 8 8 0 166ms
โœ… CatalogLaneMoreViewModelTests 43 43 0 34.22s
โœ… CatalogLaneRowViewAccessibilityTests 11 11 0 167ms
โœ… CatalogLaneSortingTests 5 5 0 81ms
โœ… CatalogLoadIntegrationTests 6 6 0 177ms
โœ… CatalogOPDS2NegotiationTests 12 12 0 772ms
โœ… CatalogPreloaderTests 6 6 0 223ms
โœ… CatalogProblemDocumentTests 6 6 0 37ms
โœ… CatalogRepositoryCoreTests 9 9 0 281ms
โœ… CatalogRepositoryStaleWhileRevalidateTests 12 12 0 3.16s
โœ… CatalogRepositoryTests 19 19 0 269ms
โœ… CatalogSearchViewModelRegistryUpdateTests 5 5 0 72ms
โœ… CatalogSearchViewModelTests 67 67 0 7.25s
โœ… CatalogSelectorsTests 2 2 0 16ms
โœ… CatalogSortServiceTests 14 14 0 960ms
โœ… CatalogStateTests 7 7 0 113ms
โœ… CatalogViewContinueRowsIntegrationTests 3 3 0 492ms
โœ… CatalogViewModelStateMachineTests 19 19 0 459ms
โœ… ChaosFaultInjectionTests 5 5 0 176ms
โœ… ChapterChangeDetectorTests 5 5 0 54ms
โœ… ChapterTOCNormalizerTests 7 7 0 149ms
โœ… CirculationAnalyticsTests 4 4 0 131ms
โœ… ColdStartResumeIntegrationTests 10 10 0 4.49s
โœ… ColorExtensionTests 5 5 0 99ms
โœ… ConcurrentBookStateTests 3 3 0 25ms
โœ… ConcurrentDownloadStateTests 3 3 0 176ms
โœ… ConcurrentTokenRefreshTests 2 2 0 21ms
โœ… ContinueRowSectionTests 6 6 0 413ms
โœ… ContinuousPlaybackTrackingTests 3 3 0 333ms
โœ… CookiePersistenceTests 10 10 0 964ms
โœ… CrawlStateTests 16 16 0 186ms
โœ… CrawlableFeedAnalysisTests 17 17 0 145ms
โœ… CrawlerFallbackTests 12 12 0 1.44s
โœ… CredentialEdgeCaseTests 6 6 0 1.10s
โœ… CredentialPrivacyTests 4 4 0 466ms
โœ… CredentialPromptCoordinatorTests 4 4 0 736ms
โœ… CredentialSnapshotInvalidationTests 5 0 0 6.59s
โœ… CrossDeviceBookmarkSyncTests 12 12 0 342ms
โœ… CrossDeviceSyncE2ETests 5 5 0 266ms
โœ… CrossDomain401Tests 8 8 0 394ms
โœ… CrossFormatMappingTests 14 14 0 439ms
โœ… DPLAErrorTests 3 3 0 316ms
โœ… DRMAdversarialTests 4 1 0 338ms
โœ… DRMFulfilledPublicationTests 6 6 0 470ms
โœ… DataBase64Tests 3 3 0 64ms
โœ… DataReceptionComparisonTests 2 2 0 296ms
โœ… DateExtensionTests 9 9 0 619ms
โœ… DateFormattingTests 4 4 0 7ms
โœ… Date_NYPLAdditionsTests 7 7 0 965ms
โœ… DebugSettingsForceSkeletonsTests 4 4 0 155ms
โœ… DebugSettingsGapTests 4 4 0 11ms
โœ… DebugSettingsTests 31 31 0 2.56s
โœ… DefaultCatalogAPITests 31 31 0 3.17s
โœ… DefaultRecentlyReadingServiceTests 13 13 0 34ms
โœ… DeriveInitialStateTests 4 4 0 10ms
โœ… DeveloperSettingsEngineeringTierTests 4 4 0 73ms
โœ… DeveloperSettingsViewModelOverrideTests 3 0 0 36ms
โœ… DeviceLogCollectorGapTests 2 2 0 8.37s
โœ… DeviceLogCollectorTests 9 9 0 47.55s
โœ… DeviceOrientationTests 7 7 0 106ms
โœ… DeviceSpecificErrorMonitorTests 11 11 0 919ms
โœ… DictionaryExtensionsTests 5 5 0 1.13s
โœ… DiskBudgetManagerTests 7 7 0 57ms
โœ… DiskBudgetTests 2 2 0 94ms
โœ… DownloadAlertPresenterTests 8 8 0 248ms
โœ… DownloadAnnouncementServiceTests 12 12 0 26ms
โœ… DownloadAuthRetryHandlerAuthCoordinatorTests 6 6 0 2.64s
โœ… DownloadAuthRetryHandlerTaskLifecycleTests 4 4 0 1.60s
โœ… DownloadAuthRetryHandlerTests 17 17 0 2.09s
โœ… DownloadCancellationHandlerTests 5 5 0 308ms
โœ… DownloadCompleteMomentTests 6 6 0 420ms
โœ… DownloadCompletionParserTests 9 9 0 4.84s
โœ… DownloadCoordinatorIntegrationTests 10 10 0 4.09s
โœ… DownloadCoordinatorTests 11 11 0 1.73s
โœ… DownloadDiskSpaceTests 2 2 0 933ms
โœ… DownloadErrorInfoTests 3 3 0 4ms
โœ… DownloadErrorRecoveryPolicyTests 11 11 0 824ms
โœ… DownloadErrorRecoveryTests 3 3 0 41ms
โœ… DownloadFreeSpaceExhaustionTests 11 11 0 2.10s
โœ… DownloadInfoTests 5 5 0 56ms
โœ… DownloadIntegrityTests 10 10 0 2.37s
โœ… DownloadOnlyOnWiFiTests 10 10 0 5.75s
โœ… DownloadPersistenceStoreTests 5 5 0 67ms
โœ… DownloadProgressPublisherCoreTests 19 19 0 709ms
โœ… DownloadProgressPublisherTests 2 2 0 35ms
โœ… DownloadQueueIntegrationTests 3 3 0 67ms
โœ… DownloadQueueOrchestratorTests 9 9 0 366ms
โœ… DownloadRMSDKHandoffTests 1 1 0 3ms
โœ… DownloadReconciliationLaunchOrderContractTests 2 2 0 133ms
โœ… DownloadReconciliationTests 17 17 0 1.26s
โœ… DownloadRedirectTests 7 7 0 60ms
โœ… DownloadResumeAfterKillTests 7 7 0 108ms
โœ… DownloadSlotManagementTests 5 5 0 422ms
โœ… DownloadStartCoordinatorContractTests 5 5 0 256ms
โœ… DownloadStartCoordinatorTests 9 9 0 291ms
โœ… DownloadStartDispatcherTests 26 26 0 167ms
โœ… DownloadStateMachineIntegrationTests 15 15 0 179ms
โœ… DownloadStateMachineTests 5 5 0 232ms
โœ… DownloadStateManagerTests 16 16 0 173ms
โœ… DownloadTaskLifecycleServiceTests 9 9 0 307ms
โœ… DownloadTaskPersistenceTests 14 14 0 214ms
โœ… DownloadThrottlingServiceTests 10 10 0 511ms
โœ… DownloadTransferRetryTests 6 6 0 2.09s
โœ… DownloadWatchdogTests 3 3 0 213ms
โœ… EPUBKeyCommandsPP4289Tests 4 4 0 23ms
โœ… EPUBModuleTests 4 4 0 96ms
โœ… EPUBPositionTests 10 10 0 122ms
โœ… EPUBSearchViewModelTests 18 18 0 2.07s
โœ… EPUBToolbarToggleTests 11 11 0 520ms
โœ… EmailAddressTests 16 16 0 740ms
โœ… EpubSampleFactoryTests 5 5 0 18ms
โœ… ErrorActivityTrackerTests 12 12 0 488ms
โœ… ErrorDetailTests 12 12 0 589ms
โœ… ErrorDetailViewControllerGapTests 3 3 0 1.09s
โœ… ErrorDetailViewControllerTests 14 14 0 1.02s
โœ… ErrorLogExporterTests 5 5 0 42ms
โœ… ExecutorNetworkHermeticityTests 1 1 0 1.37s
โœ… ExpiredLoanStringsTests 5 5 0 191ms
โœ… FacetEnumTests 3 3 0 49ms
โœ… FacetToolbarAccessibilityTests 5 5 0 33ms
โœ… FacetViewModelLogoDelegateTests 4 4 0 193ms
โœ… FacetViewModelTests 18 18 0 703ms
โœ… FetchManifestWithBearerTokenLCPSafetyTests 1 1 0 27ms
โœ… FetchManifestWithBearerTokenTests 9 9 0 231ms
โœ… FetchOpenAccessManifestLCPSafetyTests 4 4 0 28ms
โœ… FileURLGenerationTests 3 3 0 424ms
โœ… FindawayChapterStatusGuardTests 1 1 0 6ms
โœ… FindawaySavedVsPlayedTests 1 1 0 599ms
โœ… FloatTPPAdditionsTests 5 5 0 539ms
โœ… FocusIndicationTests 7 7 0 110ms
โœ… FontManagerTests 17 17 0 153ms
โœ… ForceResetTests 6 6 0 83ms
โœ… GeneralCacheClearOnUpdateTests 3 3 0 13ms
โœ… GeneralCacheTests 20 20 0 2.14s
โœ… GroupEnumTests 1 1 0 144ms
โœ… HTMLTextViewTests 70 70 0 15.14s
โœ… HoldNotificationClassificationTests 2 2 0 15ms
โœ… HoldsBadgeCountTests 9 9 0 390ms
โœ… HoldsBookViewModelTests 8 8 0 185ms
โœ… HoldsReducerTests 11 11 0 311ms
โœ… HoldsSyncFailureTests 12 12 0 205ms
โœ… HoldsViewModelTests 23 23 0 1.21s
โœ… HostFailureTrackerTests 2 2 0 8ms
โœ… ImageCacheContinuationTests 1 1 0 2.63s
โœ… ImageCacheTypeTests 1 1 0 10ms
โœ… ImageCoverKeyUnificationTests 2 2 0 24.70s
โœ… ImageLoaderTests 14 14 0 123ms
โœ… InflightFeedFetchesTimeoutTests 4 4 0 10.27s
โœ… IntExtensionsTests 4 4 0 554ms
โœ… IsReaderActiveTrackingModifierTests 4 4 0 35ms
โœ… KeyboardNavigationFKATests 11 11 0 1.20s
โœ… KeyboardNavigationHandlerTests 16 16 0 93ms
โœ… KeyboardVoiceOverTests 5 5 0 274ms
โœ… LCPAcquisitionPredicateTests 4 4 0 9ms
โœ… LCPAdapterTests 8 8 0 41ms
โœ… LCPAudiobookURLSchemeTests 4 4 0 4ms
โœ… LCPAudiobooksTests 21 21 0 1.09s
โœ… LCPBotanCRLGuardTests 5 5 0 47ms
โœ… LCPCharacterizationTests 31 31 0 2.60s
โœ… LCPClientTests 8 8 0 1.59s
โœ… LCPFulfillmentHandlerTests 8 8 0 1.82s
โœ… LCPKeychainMigrationTests 3 3 0 68ms
โœ… LCPLibraryServiceTests 20 20 0 397ms
โœ… LCPLicenseDocumentDetectionTests 5 5 0 282ms
โœ… LCPLicenseFilePathTests 3 3 0 4ms
โœ… LCPOrphanedDownloadRegistryTests 4 4 0 23ms
โœ… LCPPDFAcquisitionPredicateTests 5 5 0 20ms
โœ… LCPPDFDiskExtractTests 5 5 0 85ms
โœ… LCPPDFOpenProgressTests 13 13 0 208ms
โœ… LCPPassphraseReadinessTests 2 2 0 12ms
โœ… LCPSessionIdentifierTests 3 3 0 14ms
โœ… LegacySAMLProblemDocumentPropagationTests 7 7 0 2.17s
โœ… LibrariesSectionViewModelTests 16 16 0 72ms
โœ… LibraryCatalogMergerTests 9 9 0 175ms
โœ… LibraryRegistryCrawlerTests 15 15 0 834ms
โœ… LicensesServiceTests 4 4 0 2.94s
โœ… LiveCrawlableParsingTest 4 0 0 9ms
โœ… LoanEvictionPolicyTests 13 13 0 85ms
โœ… LoanRenewalServiceTests 9 9 0 136ms
โœ… LocalBookContentServiceTests 7 7 0 189ms
โœ… LocalFileAdapterTests 6 5 0 29ms
โœ… LogTests 13 13 0 923ms
โœ… LoginKeyboardTests 8 8 0 293ms
โœ… MainActorHelpersTests 22 22 0 1.46s
โœ… MappedCatalogBridgeTests 3 3 0 6ms
โœ… MappedCatalogModelTests 11 11 0 427ms
โœ… MockBackendExpiredCredentialsTests 3 3 0 552ms
โœ… MockBackendHoldsTests 3 3 0 304ms
โœ… MockBackendIntegrationTests 4 4 0 608ms
โœ… MockBackendLoanLimitTests 2 2 0 7.06s
โœ… MockBackendRouteMatchingTests 4 4 0 12ms
โœ… MockBackendServerDownTests 1 1 0 61ms
โœ… MockIsolationLintTests 5 5 0 1.64s
โœ… MultiLibraryTokenIsolationTests 14 14 0 249ms
โœ… MyBooksDownloadCenterAccountIdThreadingTests 7 7 0 643ms
โœ… MyBooksDownloadCenterAdeptGapTests 3 3 0 12ms
โœ… MyBooksDownloadCenterConcurrencyTests 22 22 0 401ms
โœ… MyBooksDownloadCenterEvictionTests 7 7 0 126ms
โœ… MyBooksDownloadCenterOfflineTests 8 8 0 818ms
โœ… MyBooksDownloadSessionInvalidationTests 3 3 0 96ms
โœ… MyBooksSimplifiedBearerTokenTests 17 17 0 212ms
โœ… MyBooksViewModelBooksPublisherTests 3 3 0 429ms
โœ… MyBooksViewModelConcurrencyTests 4 4 0 86ms
โœ… MyBooksViewModelDownloadStateTests 3 3 0 110ms
โœ… MyBooksViewModelEmptyArrayTests 3 3 0 34ms
โœ… MyBooksViewModelEmptyStateTests 4 4 0 50ms
โœ… MyBooksViewModelExtendedTests 15 15 0 321ms
โœ… MyBooksViewModelFacetIntegrationTests 4 4 0 31ms
โœ… MyBooksViewModelFacetPublisherTests 5 5 0 88ms
โœ… MyBooksViewModelFilterSortInteractionTests 2 2 0 10ms
โœ… MyBooksViewModelFilterTests 9 9 0 1.41s
โœ… MyBooksViewModelGuardConditionsTests 2 2 0 42ms
โœ… MyBooksViewModelLargeDatasetTests 2 2 0 1.40s
โœ… MyBooksViewModelLoadAccountTests 2 2 0 173ms
โœ… MyBooksViewModelLoginStateTests 4 4 0 329ms
โœ… MyBooksViewModelMultipleAuthorSortingTests 3 3 0 731ms
โœ… MyBooksViewModelNotificationTests 4 4 0 464ms
โœ… MyBooksViewModelOfflineFilteringTests 3 3 0 11ms
โœ… MyBooksViewModelPublisherTests 7 7 0 67ms
โœ… MyBooksViewModelSearchEdgeCaseTests 6 6 0 129ms
โœ… MyBooksViewModelSearchQueryTests 3 3 0 150ms
โœ… MyBooksViewModelSortPersistenceTests 3 3 0 27ms
โœ… MyBooksViewModelSortingIntegrationTests 5 5 0 18ms
โœ… MyBooksViewModelSortingTests 6 6 0 208ms
โœ… MyBooksViewModelStateTransitionTests 3 3 0 1.46s
โœ… MyBooksViewModelUIBindingTests 3 3 0 333ms
โœ… NSErrorAdditionsTests 7 7 0 98ms
โœ… NSNotificationTPPTests 3 3 0 213ms
โœ… NavigationCoordinatorTests 18 18 0 189ms
โœ… NavigationFreezePreventionTests 5 5 0 429ms
โœ… NetworkCacheClearRoutingTests 3 3 0 57ms
โœ… NetworkExecutorCredentialGuardTests 8 8 0 6.36s
โœ… NetworkExecutorResponseRegressionTests 4 4 0 1.44s
โœ… NetworkExecutorTaskTypeTests 3 3 0 232ms
โœ… NetworkOfflineDetectionTests 3 3 0 54ms
โœ… NetworkQueueTests 11 11 0 191ms
โœ… NetworkRequestQueueTests 2 2 0 10.15s
โœ… NetworkRetryLogicTests 7 7 0 238ms
โœ… NetworkTimeoutTests 2 2 0 105ms
โœ… NotificationEventTypeContractTests 7 7 0 286ms
โœ… NotificationPayloadContractTests 10 10 0 46ms
โœ… NotificationServiceStateMachineTests 9 9 0 5.14s
โœ… NotificationServiceTests 16 16 0 5.35s
โœ… NotificationServiceTokenTests 13 13 0 80ms
โœ… NotificationSyncThrottleTests 5 5 0 69ms
โœ… NotificationTokenDataTests 4 4 0 267ms
โœ… NotificationTokenRegistrationTests 10 10 0 55ms
โœ… NowPlayingCoordinatorBackgroundTests 6 6 0 2.47s
โœ… NowPlayingCoordinatorTests 19 19 0 4.92s
โœ… OAuthSAMLRedirectRegressionTests 4 4 0 240ms
โœ… OIDCAuthDocumentParsingTests 4 4 0 92ms
โœ… OIDCAuthTypeTests 5 5 0 6ms
โœ… OIDCAuthenticationPropertyTests 8 8 0 1.12s
โœ… OIDCCallbackEdgeCaseTests 9 9 0 697ms
โœ… OIDCCallbackHandlingTests 5 5 0 483ms
โœ… OIDCCallbackSchemeTests 3 3 0 5ms
โœ… OIDCIsolationRegressionTests 6 6 0 482ms
โœ… OIDCLoginRoutingTests 3 3 0 1.51s
โœ… OIDCMakeRequestTests 3 3 0 1.53s
โœ… OIDCNSCodingTests 1 1 0 86ms
โœ… OIDCNetworkLayer401Tests 5 5 0 263ms
โœ… OIDCReauthOnExpiredTokenTests 5 5 0 170ms
โœ… OIDCRedirectURIConstructionTests 6 6 0 1.75s
โœ… OIDCRegressionTests 9 9 0 1.12s
โœ… OIDCSelectedAuthenticationTests 2 2 0 66ms
โœ… OIDCSignOutRegressionTests 6 6 0 1.09s
โœ… OIDCTokenRefreshRegressionTests 6 6 0 225ms
โœ… OIDCUpdateUserAccountTests 5 5 0 177ms
โœ… OIDCViewModelRegressionTests 1 1 0 76ms
โœ… OIDCViewModelSignInTests 2 2 0 88ms
โœ… OPDS1BorrowEntryContractTests 4 4 0 61ms
โœ… OPDS1CatalogGroupedContractTests 3 3 0 34ms
โœ… OPDS1HoldEntriesContractTests 4 4 0 366ms
โœ… OPDS1LoansFeedContractTests 6 6 0 23ms
โœ… OPDS1ParsingTests 34 34 0 2.29s
โœ… OPDS1RevokeResponseContractTests 2 2 0 5ms
โœ… OPDS2AuthenticationDocumentTests 18 18 0 81ms
โœ… OPDS2AvailabilityTests 4 4 0 164ms
โœ… OPDS2BookBridgeTests 44 44 0 3.31s
โœ… OPDS2BorrowResponseContractTests 3 3 0 4ms
โœ… OPDS2CatalogWiringTests 21 21 0 964ms
โœ… OPDS2CatalogsFeedTests 3 3 0 306ms
โœ… OPDS2ContributorTests 2 2 0 3ms
โœ… OPDS2EmptyFeedContractTests 1 1 0 163ms
โœ… OPDS2FeedContractTests 4 4 0 40ms
โœ… OPDS2FeedParsingTests 11 11 0 124ms
โœ… OPDS2FeedTests 14 14 0 701ms
โœ… OPDS2FullMetadataTests 4 4 0 34ms
โœ… OPDS2FullPublicationTests 13 13 0 154ms
โœ… OPDS2IntegrationTests 18 18 0 1.66s
โœ… OPDS2LinkArrayTests 5 5 0 14ms
โœ… OPDS2LinkComputedPropertyTests 20 20 0 1.04s
โœ… OPDS2LinkRelTests 1 1 0 1ms
โœ… OPDS2LinkTests 2 2 0 45ms
โœ… OPDS2ParsingTests 38 38 0 610ms
โœ… OPDS2PublicationExtendedTests 53 53 0 4.01s
โœ… OPDS2PublicationImageTests 6 6 0 11ms
โœ… OPDS2PublicationNarratorTests 3 3 0 3ms
โœ… OPDS2PublicationTests 2 2 0 604ms
โœ… OPDS2SamlIDPTests 6 6 0 222ms
โœ… OPDS2SearchResultsContractTests 3 3 0 6ms
โœ… OPDS2SubjectTests 2 2 0 106ms
โœ… OPDS2SupportingTypesTests 5 5 0 204ms
โœ… OPDSAcquisitionPathExpandedTests 15 15 0 175ms
โœ… OPDSFeedCacheTests 14 14 0 368ms
โœ… OPDSFeedMigrationTests 11 11 0 92ms
โœ… OPDSFeedParsingTests 2 2 0 78ms
โœ… OPDSFeedServiceStateMachineTests 3 3 0 649ms
โœ… OPDSFeedServiceTests 2 2 0 89ms
โœ… OPDSFormatTests 13 13 0 971ms
โœ… OPDSParserCoreTests 4 4 0 3ms
โœ… OPDSParserTests 4 4 0 52ms
โœ… OPDSParsingTests 57 57 0 8.08s
โœ… OfflineActionTests 29 29 0 2.28s
โœ… OfflineQueueCoordinatorTests 11 11 0 2.39s
โœ… OfflineQueueServiceExtendedTests 13 13 0 10.62s
โœ… OfflineQueueServiceTests 17 17 0 6.92s
โœ… OpenAccessAdapterTests 13 13 0 917ms
โœ… OverdriveDeferredFulfillmentTests 6 6 0 40ms
โœ… OverdriveDownloadHandlerTests 9 9 0 637ms
โœ… OverdriveFulfillmentTests 25 24 0 107ms
โœ… PDFExtensionsTests 20 20 0 1.61s
โœ… PDFKitThumbnailProviderTests 5 5 0 2.64s
โœ… PDFReaderTests 12 12 0 377ms
โœ… PDFSearchEmptyStateTests 4 4 0 12ms
โœ… PP3596RegressionTests 3 3 0 292ms
โœ… Palace 2 2 0 <1ms
โœ… PalaceCheckPropertyTests 8 8 0 662ms
โœ… PalaceErrorCategoryTests 20 20 0 45ms
โœ… PalaceErrorExtendedTests 23 23 0 225ms
โœ… PalaceErrorTests 11 11 0 2.65s
โœ… PalaceHapticTests 4 4 0 268ms
โœ… PalaceMotionTests 11 11 0 353ms
โœ… PalacePDFViewTests 12 12 0 522ms
โœ… PalacePressableButtonStyleTests 6 6 0 11ms
โœ… PalaceTestSetupObservationTests 4 4 0 277ms
โœ… PalaceWiringTestCaseTests 4 4 0 1.60s
โœ… ParserFuzzTests 4 4 0 32.42s
โœ… PatronProfileContractTests 4 4 0 26ms
โœ… PerformanceMonitorTests 14 14 0 410ms
โœ… PerformanceReportTests 14 14 0 486ms
โœ… PersistentLoggerTests 9 9 0 2.57s
โœ… PlaybackBootstrapperAudioSessionTests 2 2 0 172ms
โœ… PlaybackBootstrapperTests 8 8 0 596ms
โœ… PlaybackFailureRecordTests 5 5 0 328ms
โœ… PlaybackOpenPolicyTests 7 7 0 411ms
โœ… PlaybackRateTests 18 18 0 721ms
โœ… PlaybackTrackingRegressionTests 5 5 0 730ms
โœ… PoolResponsivenessProbeTests 5 4 0 2.17s
โœ… PositionPersistenceLogicTests 6 6 0 38ms
โœ… PositionPersistenceTests 2 2 0 4ms
โœ… PositionSyncServiceTests 13 13 0 2.03s
โœ… PositionSyncTests 5 5 0 28ms
โœ… PositionWriterContractTests 6 6 0 52ms
โœ… PostUpdateMigrationTests 5 5 0 42ms
โœ… ProblemDocumentContractTests 4 4 0 290ms
โœ… ProblemDocumentLoanExpiryTests 5 5 0 5ms
โœ… ProblemDocumentTests 12 12 0 207ms
โœ… ProblemReportEmailTests 8 8 0 15ms
โœ… RatingCardMotionGateTests 5 5 0 107ms
โœ… RatingEligibilityPolicyTests 17 17 0 1.16s
โœ… RatingEngagementTrackerTests 9 9 0 209ms
โœ… RatingFeedbackPresenterTests 3 3 0 20ms
โœ… RatingPromptPresenterTests 15 15 0 525ms
โœ… ReachabilityTests 10 10 0 1.14s
โœ… Reader2BookmarkContractTests 3 3 0 66ms
โœ… Reader2PositionAdapterContractTests 4 3 0 286ms
โœ… Reader2PositionResumeContractTests 3 3 0 132ms
โœ… ReaderAccessibilityTests 7 7 0 65ms
โœ… ReaderChromeToggleFadeTests 3 3 0 259ms
โœ… ReaderEditingActionsTests 5 5 0 96ms
โœ… ReaderErrorTests 5 5 0 29ms
โœ… ReaderNavBarVoiceOverTests 2 2 0 9ms
โœ… ReaderServicePDFRouteTests 3 3 0 3ms
โœ… ReaderServiceSyncTests 3 3 0 483ms
โœ… ReaderThemeTests 24 24 0 233ms
โœ… ReadingPositionTests 22 22 0 435ms
โœ… ReadingSessionTrackerTests 13 13 0 246ms
โœ… ReadingStatsServiceTests 12 12 0 239ms
โœ… ReadingStatsStoreTests 9 9 0 359ms
โœ… RedirectHandlingIntegrationTests 4 4 0 59ms
โœ… RedirectPolicyTests 9 9 0 136ms
โœ… RegistryFileRecoveryTests 21 21 0 690ms
โœ… RemoteFeatureFlagsGapTests 4 4 0 94ms
โœ… RemoteFeatureFlagsSideLoadingTests 5 5 0 24ms
โœ… RemoteFeatureFlagsTests 21 21 0 727ms
โœ… ResourcePropertiesLengthTests 3 3 0 8ms
โœ… RetryClassificationTests 17 17 0 102ms
โœ… ReturnFlowTests 1 1 0 102ms
โœ… RightsManagementDetectionTests 5 5 0 145ms
โœ… RightsManagementDispatcherTests 10 10 0 350ms
โœ… RuntimeQuiescenceGateTests 11 10 0 2.63s
โœ… RuntimeQuiescenceLintTests 5 5 0 975ms
โœ… SAMLCookieSyncTests 5 5 0 115ms
โœ… SAMLLogoutCallbackDetectionTests 4 4 0 214ms
โœ… SAMLLogoutLinkParsingTests 5 5 0 65ms
โœ… SAMLLogoutURLTests 4 4 0 14ms
โœ… SAMLPlusBiblioBoardExpirationTests 8 8 0 365ms
โœ… SEMigrationsTests 6 6 0 225ms
โœ… SafeDictionaryTests 21 21 0 23.27s
โœ… SamplePlayerErrorTests 5 5 0 185ms
โœ… SampleTypeTests 8 8 0 594ms
โœ… SceneDelegateTests 1 1 0 21ms
โœ… ScopedResetTests 9 9 0 315ms
โœ… SearchAccessibilityTests 11 11 0 16ms
โœ… SearchFlowIntegrationTests 8 8 0 145ms
โœ… SettingsViewModelComputedPropertyTests 6 6 0 43ms
โœ… SettingsViewModelEdgeCaseTests 7 7 0 1.18s
โœ… SettingsViewModelGapTests 1 1 0 6ms
โœ… SettingsViewModelSyncTests 14 14 0 944ms
โœ… SettingsViewModelTests 33 33 0 1.89s
โœ… SideloadImportContractTests 1 1 0 223ms
โœ… SideloadedBookManagerTests 17 17 0 419ms
โœ… SideloadedBookRegistryTests 14 14 0 1m 21s
โœ… SideloadedLaneBridgeTests 6 6 0 37ms
โœ… SideloadedLaneViewModelTests 7 7 0 121ms
โœ… SignInFormPresentationTests 3 3 0 15ms
โœ… SignInModalLifecycleTests 9 9 0 839ms
โœ… SignInModalPredicateTests 3 3 0 432ms
โœ… SignInModalSAMLOIDCTests 6 6 0 1.38s
โœ… SignInOAuthErrorPropagationTests 8 8 0 253ms
โœ… SignInToReadFlowIntegrationTests 5 5 0 591ms
โœ… SignInWebSheetIntegrationTests 3 3 0 3.02s
โœ… SignInWebSheetViewModelTests 31 31 0 135ms
โœ… SignOutCacheClearingTests 3 3 0 9ms
โœ… SingletonResetRegistryTests 5 5 0 662ms
โœ… SkeletonTests 22 22 0 374ms
โœ… StatsViewModelTests 10 10 0 1.04s
โœ… StatusAnnouncementTests 22 22 0 450ms
โœ… StopPositionSaveTests 2 2 0 2ms
โœ… StoreTests 5 5 0 57ms
โœ… StreamingReaderPresentationContractTests 1 1 0 4ms
โœ… StreamingReaderProgressStoreTests 7 7 0 1.83s
โœ… StreamingReaderViewControllerScrollRestoreTests 12 12 0 493ms
โœ… StreamingReaderViewModelTests 9 9 0 35ms
โœ… StringExtensionTests 8 8 0 38ms
โœ… StringExtensionsTests 3 3 0 24ms
โœ… StringHTMLEntitiesTests 7 7 0 18ms
โœ… StringNYPLAdditionsTests 4 4 0 4ms
โœ… String_NYPLAdditionsTests 4 4 0 12ms
โœ… SupportSectionDecisionTests 5 5 0 6ms
โœ… SyncConflictResolutionTests 3 3 0 3ms
โœ… SyncDeletionGuardTests 5 5 0 31ms
โœ… SyncDeletionRatioTests 6 6 0 122ms
โœ… SyncPermissionTests 5 5 0 151ms
โœ… TPPAccountAuthStateEnumTests 5 5 0 43ms
โœ… TPPAccountListDataSourceTests 3 3 0 8ms
โœ… TPPAdobeActivationSkipTests 6 6 0 937ms
โœ… TPPAgeCheckCompletionTests 5 5 0 177ms
โœ… TPPAgeCheckIsValidTests 5 5 0 27ms
โœ… TPPAgeCheckStateMachineTests 4 4 0 308ms
โœ… TPPAgeCheckTests 6 6 0 3.13s
โœ… TPPAgeCheckVerifyDecisionTests 5 5 0 250ms
โœ… TPPAlertUtilsTests 45 45 0 8.14s
โœ… TPPAnnotationsHermeticTests 15 15 0 391ms
โœ… TPPAnnotationsOverrideTests 4 4 0 220ms
โœ… TPPAnnotationsTests 29 29 0 992ms
โœ… TPPAnnouncementManagerTests 3 3 0 1.42s
โœ… TPPAuthDocumentContractTests 3 3 0 32ms
โœ… TPPBackgroundExecutorTests 3 3 0 618ms
โœ… TPPBadgeImageGapTests 2 2 0 56ms
โœ… TPPBaseReaderViewControllerInitialLocationTests 10 10 0 93ms
โœ… TPPBasicAuthTests 11 11 0 106ms
โœ… TPPBookAccessibilityLabelTests 8 8 0 252ms
โœ… TPPBookAuthorCoverageTests 3 3 0 133ms
โœ… TPPBookAuthorTests 6 6 0 8ms
โœ… TPPBookBearerTokenTests 9 8 0 146ms
โœ… TPPBookButtonsStateTests 7 7 0 373ms
โœ… TPPBookContentMetadataFilesHelperTests 9 9 0 11ms
โœ… TPPBookContentTypeConverterStreamingHTMLTests 2 2 0 3ms
โœ… TPPBookContentTypeConverterTests 4 4 0 2.64s
โœ… TPPBookContentTypeExtendedTests 4 4 0 104ms
โœ… TPPBookContentTypeTests 14 14 0 15ms
โœ… TPPBookCoverRegistryTests 17 17 0 817ms
โœ… TPPBookCreationTests 7 7 0 74ms
โœ… TPPBookExtensionsTests 21 21 0 274ms
โœ… TPPBookIsDRMProtectedTests 9 9 0 1.15s
โœ… TPPBookLocationCoverageTests 7 7 0 5.00s
โœ… TPPBookLocationEdgeCaseTests 27 27 0 4.52s
โœ… TPPBookLocationKeyTests 3 3 0 42ms
โœ… TPPBookLocationTests 11 11 0 18ms
โœ… TPPBookModelGapTests 4 4 0 78ms
โœ… TPPBookRegistryAsyncReadinessTests 3 3 0 289ms
โœ… TPPBookRegistryAtomicWriteTests 7 7 0 3.17s
โœ… TPPBookRegistryBookRetrievalTests 7 7 0 458ms
โœ… TPPBookRegistryBookmarkTests 7 7 0 3.82s
โœ… TPPBookRegistryCorruptedDataTests 5 5 0 26ms
โœ… TPPBookRegistryDataTests 4 4 0 12ms
โœ… TPPBookRegistryDependencyTests 4 4 0 47ms
โœ… TPPBookRegistryFulfillmentIdTests 4 4 0 35ms
โœ… TPPBookRegistryLargeCorpusTests 5 5 0 1m 15s
โœ… TPPBookRegistryLoadReentrancyTests 2 2 0 9ms
โœ… TPPBookRegistryLocationTests 4 4 0 136ms
โœ… TPPBookRegistryMigrationTests 16 16 0 2.10s
โœ… TPPBookRegistryPersistenceTests 10 10 0 2.35s
โœ… TPPBookRegistryProcessingTests 2 2 0 6ms
โœ… TPPBookRegistryPublisherTests 6 6 0 390ms
โœ… TPPBookRegistryRecordPersistenceTests 3 3 0 40ms
โœ… TPPBookRegistryRecordTests 10 10 0 126ms
โœ… TPPBookRegistryStateConcurrencyTests 2 2 0 56ms
โœ… TPPBookRegistryStateManagementTests 11 11 0 5.19s
โœ… TPPBookRegistryThreadSafetyTests 3 3 0 3.86s
โœ… TPPBookRegistryUpdateAndRemoveTests 1 1 0 18ms
โœ… TPPBookRequiresAdobeDRMTests 6 6 0 104ms
โœ… TPPBookSerializationTests 13 13 0 337ms
โœ… TPPBookStateInitializationTests 4 4 0 157ms
โœ… TPPBookStateTests 4 4 0 8ms
โœ… TPPBookTests 98 98 0 920ms
โœ… TPPBookmarkDeletionLogTests 11 11 0 154ms
โœ… TPPBookmarkFactoryInitTests 2 2 0 25ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests 5 5 0 554ms
โœ… TPPBookmarkFactoryTests 15 15 0 3.49s
โœ… TPPBookmarkR3ConversionTests 5 5 0 53ms
โœ… TPPBookmarkR3LocationTests 13 13 0 411ms
โœ… TPPBookmarkSpecTests 1 1 0 11ms
โœ… TPPCachingTests 3 3 0 36ms
โœ… TPPCapturedCredentialsTests 5 5 0 264ms
โœ… TPPConfigurationCustomRegistryTests 16 16 0 1.09s
โœ… TPPConfigurationTests 22 22 0 66ms
โœ… TPPContentTypeTests 9 9 0 20ms
โœ… TPPCredentialConcurrencyTests 3 3 0 9ms
โœ… TPPCredentialIsolationE2ETests 5 0 0 143ms
โœ… TPPCredentialPersistenceTests 6 6 0 4.42s
โœ… TPPCredentialSnapshotCoherenceTests 3 0 0 18ms
โœ… TPPCredentialSnapshotTests 8 8 0 226ms
โœ… TPPCredentialsCoverageTests 9 9 0 1.72s
โœ… TPPCredentialsTests 26 26 0 1.14s
โœ… TPPCrossLibrarySignOutTests 6 6 0 456ms
โœ… TPPDRMFailureCredentialPreservationTests 4 4 0 668ms
โœ… TPPErrorLoggerTests 27 27 0 5.21s
โœ… TPPIdleSignOutRegressionTests 13 13 0 592ms
โœ… TPPJWKConversionTest 1 1 0 42ms
โœ… TPPKeychainManagerTests 5 5 0 525ms
โœ… TPPLastReadPositionPosterTests 13 13 0 418ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests 5 5 0 48ms
โœ… TPPLastReadPositionSynchronizerTests 23 23 0 346ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests 5 5 0 146ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests 9 9 0 25ms
โœ… TPPLastReadPositionSynchronizer_ConcurrencyTests 3 3 0 467ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests 9 9 0 460ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests 10 10 0 278ms
โœ… TPPLastReadPositionSynchronizer_WriterDelegationTests 4 4 0 230ms
โœ… TPPLoginNoActivationTests 3 3 0 911ms
โœ… TPPMainThreadCheckerTests 4 4 0 15ms
โœ… TPPMigrationManagerTests 15 15 0 343ms
โœ… TPPNetworkExecutorAPITests 14 14 0 784ms
โœ… TPPNetworkExecutorConcurrencyTests 4 4 0 4.29s
โœ… TPPNetworkExecutorStubbedTests 17 17 0 1.25s
โœ… TPPNetworkExecutorTests 3 3 0 43ms
โœ… TPPNetworkResponderAuthCoordinatorTests 5 5 0 300ms
โœ… TPPNetworkResponderSizeLimitTests 5 5 0 311ms
โœ… TPPNetworkResponderTests 12 12 0 21ms
โœ… TPPOPDSAcquisitionPathTests 5 5 0 12ms
โœ… TPPOPDSEntryTests 5 5 0 17ms
โœ… TPPOPDSFeedTests 3 3 0 65ms
โœ… TPPOPDSGroupSwiftTests 3 3 0 63ms
โœ… TPPOPDSLinkTests 7 7 0 211ms
โœ… TPPOpenSearchDescriptionExpandedTests 10 10 0 580ms
โœ… TPPOpenSearchDescriptionTests 1 1 0 5ms
โœ… TPPPDFDocumentMetadataTests 15 15 0 1.12s
โœ… TPPPDFDocumentTests 8 8 0 91ms
โœ… TPPPDFLocationCoverageTests 7 7 0 53ms
โœ… TPPPDFLocationTests 10 10 0 92ms
โœ… TPPPDFPageBookmarkTests 9 9 0 618ms
โœ… TPPPDFPageTests 5 5 0 164ms
โœ… TPPPDFReaderModeTests 6 6 0 2.35s
โœ… TPPPDFReaderSearchBindingTests 3 3 0 438ms
โœ… TPPPerAccountIsolationTests 8 0 0 723ms
โœ… TPPPreferredAuthSelectionTests 8 8 0 537ms
โœ… TPPProblemDocumentCacheManagerTests 12 12 0 127ms
โœ… TPPProblemDocumentTests 21 21 0 599ms
โœ… TPPReaderAppearanceTests 4 4 0 11ms
โœ… TPPReaderBlockNavigationTests 12 12 0 1.63s
โœ… TPPReaderBookmarksBusinessLogicTests 12 12 0 3.89s
โœ… TPPReaderBookmarksReadinessTests 2 2 0 169ms
โœ… TPPReaderFontTests 4 4 0 46ms
โœ… TPPReaderFootnoteAccessibilityTests 16 16 0 757ms
โœ… TPPReaderPageListBusinessLogicTests 27 27 0 63ms
โœ… TPPReaderPositionReportTests 10 10 0 43ms
โœ… TPPReaderPreferencesLoadTests 3 3 0 1.11s
โœ… TPPReaderSettingsTests 28 28 0 3.68s
โœ… TPPReaderTOCBusinessLogicTests 15 15 0 3.09s
โœ… TPPReaderTOCFlattenTests 2 2 0 1.02s
โœ… TPPReadiumBookmarkLocationMatchingTests 5 5 0 1.49s
โœ… TPPReadiumBookmarkTests 23 23 0 583ms
โœ… TPPReauthenticatorMockTests 2 2 0 1ms
โœ… TPPReauthenticatorTests 4 4 0 937ms
โœ… TPPReturnPromptHelperTests 5 5 0 1.26s
โœ… TPPSAMLCookieExpirationTests 7 7 0 1.61s
โœ… TPPSAMLFlowTests 10 10 0 96ms
โœ… TPPSAMLReauthFlowTests 2 2 0 363ms
โœ… TPPSAMLRegressionTests 4 4 0 621ms
โœ… TPPSAMLSignInTests 26 26 0 8.15s
โœ… TPPSAMLStateIsolationTests 4 4 0 289ms
โœ… TPPSAMLStateMachineTests 6 6 0 433ms
โœ… TPPSettingsTests 6 6 0 333ms
โœ… TPPSignInAdobeSkipTests 14 14 0 709ms
โœ… TPPSignInAuthStateTransitionTests 3 3 0 215ms
โœ… TPPSignInBusinessLogicExtendedTests 58 58 0 10.50s
โœ… TPPSignInBusinessLogicOAuthTests 11 11 0 1.11s
โœ… TPPSignInBusinessLogicSignOutTests 11 11 0 862ms
โœ… TPPSignInBusinessLogicStateMachineTests 10 10 0 1.84s
โœ… TPPSignInBusinessLogicTests 18 18 0 1.79s
โœ… TPPSignInBusinessLogicTokenFlowTests 3 3 0 486ms
โœ… TPPSignInBusinessLogicValidationCallbackOrderTests 2 2 0 2.25s
โœ… TPPSignInErrorHandlingTests 2 2 0 454ms
โœ… TPPSignInProfileDocEdgeCaseTests 3 3 0 289ms
โœ… TPPSignedInStateProviderTests 3 3 0 2ms
โœ… TPPUserAccountAuthStateTests 6 6 0 139ms
โœ… TPPUserAccountConcurrencyTests 1 1 0 57ms
โœ… TPPUserAccountGapTests 4 4 0 339ms
โœ… TPPUserAccountIsolationLintTests 3 3 0 633ms
โœ… TPPUserAccountTestFactoryTests 7 0 0 832ms
โœ… TPPUserFriendlyErrorTests 11 11 0 21ms
โœ… TPPUserNotificationsTests 10 10 0 90ms
โœ… TPPXMLSwiftTests 16 16 0 95ms
โœ… TPPXMLTests 3 3 0 19ms
โœ… TabBarModernizationTests 8 8 0 90ms
โœ… TearDownRequiredLintTests 5 5 0 1.54s
โœ… TestAppContainerFactoryTests 5 5 0 115ms
โœ… TestTargetHermeticityRegressionTests 4 3 0 374ms
โœ… TimeEntryTests 3 3 0 69ms
โœ… TokenRefreshAndRetryQueueTests 9 9 0 4.89s
โœ… TokenRefreshIntegrationTests 2 2 0 30ms
โœ… TokenRefreshInterceptorAuthCoordinatorTests 8 8 0 4.27s
โœ… TokenRefreshInterceptorTests 24 24 0 6.71s
โœ… TokenRefreshOnForegroundTests 10 10 0 1.98s
โœ… TokenRefreshTests 25 25 0 240ms
โœ… TokenRefreshWatchdogTests 5 5 0 30ms
โœ… TokenRequestCredentialGuardTests 13 13 0 4.15s
โœ… TokenRequestTests 11 11 0 290ms
โœ… TokenResponseTests 21 21 0 291ms
โœ… TriageBotKeyAdminTests 4 4 0 256ms
โœ… TypographyPresetTests 21 21 0 1.21s
โœ… TypographyServiceTests 31 31 0 2.99s
โœ… TypographySettingsViewModelTests 27 27 0 12.10s
โœ… UIAlertCACommitGuardTests 9 9 0 432ms
โœ… UIColor_NYPLAdditionsTests 1 1 0 4ms
โœ… URLBackupExclusionTests 3 3 0 17ms
โœ… URLExtensionTests 16 16 0 79ms
โœ… URLExtensionsTests 11 11 0 312ms
โœ… URLRequestExtensionsCoverageTests 3 3 0 8ms
โœ… URLRequestExtensionsTests 11 11 0 166ms
โœ… URLRequestNYPLAdditionsTests 11 11 0 389ms
โœ… URLRequest_NYPLTests 1 1 0 4ms
โœ… URLResponseAuthenticationTests 10 10 0 301ms
โœ… URLResponseNYPLTests 14 14 0 89ms
โœ… URLSessionCredentialStorageTests 3 3 0 27ms
โœ… URLSessionStubbingResetTests 2 2 0 4ms
โœ… URLTypeTests 2 2 0 15ms
โœ… URLValidationTests 5 5 0 18ms
โœ… UnifiedOPDSServiceStateMachineTests 2 2 0 264ms
โœ… UserAccountPublisherAuthStateTests 5 5 0 112ms
โœ… UserAccountPublisherTests 14 14 0 1.15s
โœ… UserAccountValidationTests 11 11 0 2.06s
โœ… UserDefaultsIsolationLintTests 2 2 0 1.40s
โœ… UserProfileDocumentTests 7 7 0 207ms
โœ… UserRetryTrackerTests 10 10 0 1.30s
โœ… XCTestCase_testUserDefaultsTests 3 3 0 1.13s
โœ… iPadOnMacRMSDKGuardTests 7 7 0 366ms

๐Ÿ“ˆ Code Coverage

Target Coverage Lines
Palace.app
44.5%
45064 / 101201

๐Ÿ“‹ All Tests

Class Test Duration
โœ… AccessLintComplianceTests testAudiobookLabel_isDescriptive <1ms
โœ… AccessLintComplianceTests testBorrowAnnouncementStrings_areMeaningful <1ms
โœ… AccessLintComplianceTests testDownloadAnnouncementStrings_areMeaningful <1ms
โœ… AccessLintComplianceTests testExpandCollapseButton_labelsRoundTripOnStateFlip 10ms
โœ… AccessLintComplianceTests testPDFToolbarButton_fallbackLabel_isDistinctFromOkLabel 2ms
โœ… AccessLintComplianceTests testRetryAnnouncementStrings_areMeaningful 1ms
โœ… AccessLintComplianceTests testReturnAnnouncementStrings_areMeaningful 1ms
โœ… AccessLintComplianceTests testSearchAnnouncementStrings_areMeaningful 3ms
โœ… AccessLintComplianceTests testSortFilterLabels_areDescriptive <1ms
โœ… AccessLintComplianceTests testStatusAnnouncement_actionFailed_combinesTitleAndMessage <1ms
โœ… AccessLintComplianceTests testStatusAnnouncement_errorOccurred_passesThrough 3ms
โœ… AccessibilityAnnouncementCenterTests testPP3594_borrowAndReturnAnnouncements_postMessages 4ms
โœ… AccessibilityAnnouncementCenterTests testPP3594_downloadAnnouncements_respectVoiceOverDisabled 302ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_additionalResultsLoaded_announcesCount 3ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_additionalResultsLoaded_zeroCount_doesNotAnnounce 303ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_allAnnouncements_useAnnouncementNotificationType 4ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_announceError_postsMessage 3ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_announceMessage_postsArbitraryMessage 3ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_announceStatus_combinesTitleAndMessage 4ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_deduplication_allowsDifferentMessages 3ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_deduplication_allowsRepeatAfterWindowExpires 3ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_deduplication_crossMethod_sameText 4ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_deduplication_rapidFireSameMessage_onlyOneAnnouncement 5ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_deduplication_suppressesDuplicateWithinWindow 3ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_emptyMessage_isNotPosted 303ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_errorAnnouncements_respectVoiceOverDisabled 303ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_searchAnnouncements_respectVoiceOverDisabled 304ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_searchFailed_announcesFailure 5ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_searchNoResults_announcesNoResults 2ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_searchRerun_announcesUpdatedResults 2ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_searchResults_announcesResultCountAndQuery 4ms
โœ… AccessibilityLabelTests testAccessibilityStrings_areNotEmpty 39ms
โœ… AccessibilityLabelTests testAccessibilityStrings_formatStringsWork 2ms
โœ… AccessibilityLabelTests testBookmarkLabels_existAndAreDifferent 125ms
โœ… AccessibilityLabelTests testChapterNavigationLabels_exist <1ms
โœ… AccessibilityLabelTests testExistingAccessibilityStrings_areNotEmpty 2ms
โœ… AccessibilityLabelTests testExpandCollapseLabels_areDifferent <1ms
โœ… AccessibilityLabelTests testFilterButtonLabel_changesWithCount <1ms
โœ… AccessibilityLabelTests testPlayPauseLabels_areDifferent <1ms
โœ… AccessibilityLabelTests testSortButtonLabel_changesWithSortOption <1ms
โœ… AccessibilityPreferencesTests testButtonShapesEnabled_WhenEnabled_RoundTripsThroughCodable <1ms
โœ… AccessibilityPreferencesTests testCodableRoundTrip_CustomPreferences 6ms
โœ… AccessibilityPreferencesTests testCodableRoundTrip_DefaultPreferences <1ms
โœ… AccessibilityPreferencesTests testCustomRotorActionsEnabled_Toggle 1ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_ButtonShapesOff 67ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_CustomRotorEnabled 74ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_HapticFeedbackOn <1ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_HasStandardVerbosity 3ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_HighContrastOff <1ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_ReducedMotionOff <1ms
โœ… AccessibilityPreferencesTests testEquatable_DifferentValues 181ms
โœ… AccessibilityPreferencesTests testEquatable_SameValues <1ms
โœ… AccessibilityPreferencesTests testHapticFeedbackEnabled_Toggle 60ms
โœ… AccessibilityPreferencesTests testHighContrastBoost_WhenEnabled_MakesPrefsUnequalToDefault 2ms
โœ… AccessibilityPreferencesTests testPersistence_NoSavedData_ReturnsNil 59ms
โœ… AccessibilityPreferencesTests testPersistence_SaveAndLoad 9ms
โœ… AccessibilityPreferencesTests testReducedMotion_WhenEnabled_RoundTripsThroughCodable 1ms
โœ… AccessibilityPreferencesTests testStorageKey_IsCorrect 1.02s
โœ… AccessibilityPreferencesTests testVerbosityMinimal_Description 4ms
โœ… AccessibilityPreferencesTests testVerbosityMinimal_DisplayName 1ms
โœ… AccessibilityPreferencesTests testVerbosityStandard_Description 40ms
โœ… AccessibilityPreferencesTests testVerbosityStandard_DisplayName 1ms
โœ… AccessibilityPreferencesTests testVerbosityVerbose_Description 1ms
โœ… AccessibilityPreferencesTests testVerbosityVerbose_DisplayName 1ms
โœ… AccessibilityPreferencesTests testVerbosity_AllCases 52ms
โœ… AccessibilityPreferencesTests testVerbosity_CodableRoundTrip 2ms
โœ… AccessibilityServiceTests testAccessibilityPreferencesCodable <1ms
โœ… AccessibilityServiceTests testDefaultPreferences 3ms
โœ… AccessibilityServiceTests testHapticDisabledWhenPreferenceOff 4ms
โœ… AccessibilityServiceTests testHapticDisabledWithReducedMotion 35ms
โœ… AccessibilityServiceTests testHighContrastEffective 7ms
โœ… AccessibilityServiceTests testPreferencesPersistAcrossInstances 6ms
โœ… AccessibilityServiceTests testPreferencesPublisher 6ms
โœ… AccessibilityServiceTests testReducedMotionEffective 6ms
โœ… AccessibilityServiceTests testUpdatePreferences 52ms
โœ… AccessibilityServiceTests testVerbosityDescriptions <1ms
โœ… AccessibilityServiceTests testVerbosityDisplayNames <1ms
โœ… AccountAuthDocCarryoverTests testAccount_authenticationDocumentDidSet_createsDetails 29ms
โœ… AccountAuthDocCarryoverTests testAccount_detailsPreserved_whenAuthDocCopiedToNewAccount 37ms
โœ… AccountAuthDocCarryoverTests testAccount_detailsSyncPermission_defaultsToTrue 21ms
โœ… AccountAuthDocCarryoverTests testAccount_multipleAccountsCarryover_matchesByUUID 85ms
โœ… AccountAuthDocCarryoverTests testAccount_replacementWithoutCarryover_losesDetails 41ms
โœ… AccountAuthSurfaceHostsTests testAuthSurfaceHosts_includesAuthenticationDocumentUrlHost <1ms
โœ… AccountAuthSurfaceHostsTests testAuthSurfaceHosts_includesCatalogUrlHost 46ms
โœ… AccountAuthSurfaceHostsTests testAuthSurfaceHosts_includesHomePageUrlHost 1ms
โœ… AccountAuthSurfaceHostsTests testAuthSurfaceHosts_lowercasesAtProducer 2ms
โœ… AccountAuthSurfaceHostsTests testAuthSurfaceHosts_returnsEmptySetWhenAllURLsAbsent 9ms
โœ… AccountAuthSurfaceHostsTests testAuthSurfaceHosts_skipsMalformedURLs 3ms
โœ… AccountAuthSurfaceHostsTests testAuthSurfaceHosts_unionsAllProvidedHosts 3ms
โœ… AccountAwareNetworkTests testCancelNonEssentialTasks_CancelsActiveTasks 4ms
โœ… AccountAwareNetworkTests testCancelNonEssentialTasks_DoesNotCrash_andLeavesExecutorFullyUsable 131ms
โœ… AccountAwareNetworkTests testExecuteTokenRefresh_AcceptsAccountId 58ms
โœ… AccountAwareNetworkTests testExecuteTokenRefresh_NilAccountId_BackwardCompatible 1.44s
โœ… AccountAwareNetworkTests testRefreshTokenAndResume_AcceptsAccountIdParameter 4ms
โœ… AccountAwareNetworkTests testRefreshTokenAndResume_DefaultAccountId_BackwardCompatible 145ms
โœ… AccountAwareNetworkTests testRefreshTokenAndResume_NilAccountId_DoesNotCrash 4ms
โœ… AccountAwareNetworkTests testRequest_AccountIdParameter_AcceptsNil 1ms
โœ… AccountAwareNetworkTests testRequest_AccountIdParameter_AcceptsSpecificId 7ms
โœ… AccountAwareNetworkTests testRequest_CapturesCurrentAccountToken 4ms
โŠ˜ AccountDetailCredentialStateTests testIsSignedIn_OAuthRemainsSignedInWhenStateBecomesStale 2ms
โŠ˜ AccountDetailCredentialStateTests testIsSignedIn_SAMLUpdatesWhenStateBecomesStale 13ms
โŠ˜ AccountDetailCredentialStateTests testIsSignedIn_falseWhenSAMLCredentialsStale 2ms
โŠ˜ AccountDetailCredentialStateTests testIsSignedIn_trueWhenLoggedIn 19ms
โŠ˜ AccountDetailCredentialStateTests testIsSignedIn_trueWhenOAuthCredentialsStale 2ms
โŠ˜ AccountDetailCredentialStateTests testIsSignedIn_updatesAfterSAMLReauthentication 21ms
โŠ˜ AccountDetailCredentialStateTests testNeedsReauthentication_trueWhenCredentialsStale 4ms
โŠ˜ AccountDetailPINVisibilityTests testAccountDidChangeViaNotification_ClearsCredentialsOnLogout 13ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicDidCancelSignIn_ClearsLoadingAndSigningOut 7ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicDidCompleteSignIn_ClearsLoadingAndSigningOut 31ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicDidFinishDeauthorizing_ClearsLoadingAndSigningOut 6ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicDidReceiveCredentials_SetsLoadingTrue 13ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicSignOutError_401ShowsUnexpectedCredentialsAlert 25ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicSignOutError_WithErrorUsesLocalizedDescription 20ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicValidationError_CancelledErrorClearsPin 56ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicValidationError_ShowsAlertAndClearsLoading 155ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicWillSignIn_NonOAuth_SetsLoadingTrueAndClearsSigningOut 12ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicWillSignOut_SetsLoadingAndSigningOut 7ms
โŠ˜ AccountDetailPINVisibilityTests testCellType_HashableInSet 10ms
โŠ˜ AccountDetailPINVisibilityTests testCellType_InfoHeaderEqualityByText 39ms
โŠ˜ AccountDetailPINVisibilityTests testCellType_SimpleCasesEqual 58ms
โŠ˜ AccountDetailPINVisibilityTests testContext_ReturnsSettingsTab 14ms
โŠ˜ AccountDetailPINVisibilityTests testLibraryLogo_MatchesSelectedAccountLogo 7ms
โŠ˜ AccountDetailPINVisibilityTests testPINVisibility_DefaultsToHidden 20ms
โŠ˜ AccountDetailPINVisibilityTests testPINVisibility_IndependentOfCredentialChanges 5ms
โŠ˜ AccountDetailPINVisibilityTests testPINVisibility_ToggleMultipleTimes 14ms
โŠ˜ AccountDetailPINVisibilityTests testPinComputed_EmptyReturnsEmptyString 29ms
โŠ˜ AccountDetailPINVisibilityTests testRefreshSignInState_ReloadsTableWhenStateChanges 6ms
โŠ˜ AccountDetailPINVisibilityTests testSelectAuthMethod_ClearsIDPAndSetsSelectedAuth 9ms
โŠ˜ AccountDetailPINVisibilityTests testSignIn_WhenAlreadySignedIn_SetsIsSigningOutTrue 18ms
โŠ˜ AccountDetailPINVisibilityTests testUpdateSync_WritesToAccountDetails 9ms
โŠ˜ AccountDetailPINVisibilityTests testUsernameComputed_EmptyReturnsNil 41ms
โŠ˜ AccountDetailSignOutConfirmationTests testConfirmSignOut_WhenSignedIn_DoesNotImmediatelyDeauthorize 52ms
โŠ˜ AccountDetailSignOutConfirmationTests testMakeSignOutConfirmationAlert_HasDestructiveSignOutAndCancelActions 13ms
โœ… AccountDetailViewModelGapTests testAccountDetailViewModel_updateSync_setsPermission 85ms
โœ… AccountDetailViewModelLeakTests testViewModel_deallocatesAfterRelease_noLeakedObservers 167ms
โŠ˜ AccountDetailViewModelSignedInDerivationTests testOffMainAccountChange_credentialsPresentButLoggedOut_isNotSignedInAndClearsFields 8ms
โŠ˜ AccountDetailViewModelSignedInDerivationTests testOffMainAccountChange_credentialsStale_remainsSignedIn 2ms
โŠ˜ AccountDetailViewModelSignedInDerivationTests testOffMainAccountChange_noCredentials_isNotSignedIn 3ms
โŠ˜ AccountDetailViewModelSignedInDerivationTests testOffMainAccountChange_signedInWithNilBarcodeAndPin_fieldsFallThroughToEmpty 2ms
โŠ˜ AccountDetailViewModelSignedInDerivationTests testOffMainAccountChange_withValidCredentials_signsInAndPopulatesBarcodeAndPin 5ms
โŠ˜ AccountDetailViewModelTests testAlertPropertiesUpdate 7ms
โŠ˜ AccountDetailViewModelTests testBusinessLogic_IsInitialized 63ms
โŠ˜ AccountDetailViewModelTests testCanSignInWithBothCredentials 104ms
โŠ˜ AccountDetailViewModelTests testCanSignInWithEmptyCredentials 29ms
โŠ˜ AccountDetailViewModelTests testCanSignInWithOnlyUsername 6ms
โŠ˜ AccountDetailViewModelTests testCanSignIn_WithSpecialCharacters 6ms
โŠ˜ AccountDetailViewModelTests testCanSignIn_WithWhitespaceOnlyUsername 11ms
โŠ˜ AccountDetailViewModelTests testClearCredentials_WorksIndependently 6ms
โŠ˜ AccountDetailViewModelTests testCredentialFields_AreIndependent 47ms
โŠ˜ AccountDetailViewModelTests testInitialPublishedPropertiesState 2ms
โŠ˜ AccountDetailViewModelTests testIsPINHiddenDefaultsToTrue 2.54s
โŠ˜ AccountDetailViewModelTests testIsSyncEnabledToggle 180ms
โŠ˜ AccountDetailViewModelTests testLibraryNameReturnsAccountName 6ms
โŠ˜ AccountDetailViewModelTests testMultipleAlerts_CanBeShown 137ms
โŠ˜ AccountDetailViewModelTests testPinTextUpdate 1.37s
โŠ˜ AccountDetailViewModelTests testSelectedAccountMatchesInitialized 334ms
โŠ˜ AccountDetailViewModelTests testShowBarcode_WhenEnabled_TriggerObjectWillChange 3ms
โŠ˜ AccountDetailViewModelTests testTogglePINVisibility 214ms
โŠ˜ AccountDetailViewModelTests testUsernameTextUpdate 4ms
โœ… AccountDetailsAuthenticationIsBrowserBasedTests testIsBrowserBased_anonymous_returnsFalse 34ms
โœ… AccountDetailsAuthenticationIsBrowserBasedTests testIsBrowserBased_basic_returnsFalse 48ms
โœ… AccountDetailsAuthenticationIsBrowserBasedTests testIsBrowserBased_coppa_returnsFalse 19ms
โœ… AccountDetailsAuthenticationIsBrowserBasedTests testIsBrowserBased_isStrictSupersetOf_isOauthOrIsOidc_forSaml 2ms
โœ… AccountDetailsAuthenticationIsBrowserBasedTests testIsBrowserBased_none_returnsFalse 11ms
โœ… AccountDetailsAuthenticationIsBrowserBasedTests testIsBrowserBased_oauthIntermediary_returnsTrue 82ms
โœ… AccountDetailsAuthenticationIsBrowserBasedTests testIsBrowserBased_oidc_returnsTrue 5ms
โœ… AccountDetailsAuthenticationIsBrowserBasedTests testIsBrowserBased_saml_returnsTrue 1ms
โœ… AccountDetailsAuthenticationIsBrowserBasedTests testIsBrowserBased_token_returnsFalse 1ms
โœ… AccountDetailsAuthenticationIsBrowserBasedTests testIsBrowserBased_vs_needsAuth_areDistinctPredicates 53ms
โœ… AccountDetailsNeedsAuthAggregateTests testAccountDetails_NeedsAuth_AnonymousMixedWithBasic_ReturnsTrue <1ms
โœ… AccountDetailsNeedsAuthAggregateTests testAccountDetails_NeedsAuth_AnonymousOnly_ReturnsFalse <1ms
โœ… AccountDetailsNeedsAuthAggregateTests testAccountDetails_NeedsAuth_BasicOnly_ReturnsTrue 172ms
โœ… AccountDetailsNeedsAuthAggregateTests testAccountDetails_NeedsAuth_CoppaOnly_ReturnsFalse 1ms
โœ… AccountDetailsNeedsAuthAggregateTests testAccountDetails_NeedsAuth_OAuthOnly_ReturnsTrue 1ms
โœ… AccountDetailsNeedsAuthAggregateTests testAccountDetails_NeedsAuth_OidcOnly_ReturnsTrue 4ms
โœ… AccountDetailsNeedsAuthAggregateTests testAccountDetails_NeedsAuth_SamlOnly_ReturnsTrue 307ms
โœ… AccountDetailsNeedsAuthAggregateTests testAccount_NeedsAuth_AnonymousDetailsLoaded_ReturnsFalse 4ms
โœ… AccountDetailsNeedsAuthAggregateTests testAccount_NeedsAuth_BasicDetailsLoaded_ReturnsTrue 1.59s
โœ… AccountDetailsNeedsAuthAggregateTests testAccount_NeedsAuth_BeforeAuthDocLoaded_ReturnsNil <1ms
โœ… AccountDetailsURLTests testDebugDescription_ReflectsSupportsSimplyESync_WhenUserProfileUrlPresent 5ms
โœ… AccountDetailsURLTests testDefaultAuth_WithOAuthAndBasic_PrefersBasicOverOAuth 38ms
โœ… AccountDetailsURLTests testEulaIsAccepted_DefaultIsFalse 5ms
โœ… AccountDetailsURLTests testEulaIsAccepted_RoundTrips_ThroughUserDefaults 43ms
โœ… AccountDetailsURLTests testGetLicenseURL_AfterSettingMultipleTypes_ReturnsCorrectURLs 15ms
โœ… AccountDetailsURLTests testGetLicenseURL_WhenNotSet_ReturnsNil 7ms
โœ… AccountDetailsURLTests testSetURL_ForAcknowledgements_StoresURL 28ms
โœ… AccountDetailsURLTests testSetURL_ForAnnotations_StoresURL 9ms
โœ… AccountDetailsURLTests testSetURL_ForContentLicenses_StoresURL 13ms
โœ… AccountDetailsURLTests testSetURL_ForEULA_StoresURL 12ms
โœ… AccountDetailsURLTests testSetURL_ForPrivacyPolicy_StoresURL 9ms
โœ… AccountDetailsURLTests testSetURL_OverwritesPreviousURL 124ms
โœ… AccountDetailsURLTests testSetURL_PersistsToUserDefaults 17ms
โœ… AccountDetailsURLTests testSyncPermissionGranted_DefaultIsTrue 30ms
โœ… AccountDetailsURLTests testSyncPermissionGranted_ToggleOffThenOn_PersistsViaUserDefaults 14ms
โœ… AccountDetailsURLTests testUserAboveAgeLimit_DefaultIsFalse 9ms
โœ… AccountDetailsURLTests testUserAboveAgeLimit_RoundTrips_ThroughUserDefaults 9ms
โœ… AccountModelGapTests testAccountDetails_defaultAuth_prefersNonOAuth 78ms
โœ… AccountModelGapTests testAccountDetails_eulaIsAccepted_persistsAcrossObjectRecreation 131ms
โœ… AccountModelGapTests testAccountDetails_initFromAuthDoc_populatesAuthMethods 513ms
โœ… AccountModelGapTests testAccountDetails_setAndGetLicenseURL_roundTrips 76ms
โœ… AccountModelGapTests testAccountDetails_syncPermissionGranted_persistsAcrossObjectRecreation 69ms
โœ… AccountModelGapTests testAccount_hasSupportOption_reflectsSupportAvailability 79ms
โœ… AccountModelGapTests testAccount_initFromPublication_mapsPropertiesCorrectly 70ms
โœ… AccountModelGapTests testAccount_loansUrl_delegatesToDetails 25ms
โœ… AccountModelGapTests testAuthentication_NSCoding_roundTrip 358ms
โœ… AccountModelTests testAccount_DebugDescription_ContainsName 1ms
โœ… AccountModelTests testAccount_InitFromPublication_DefaultLogo_IsPlaceholder 279ms
โœ… AccountModelTests testAccount_InitFromPublication_DetailsAreNil 3ms
โœ… AccountModelTests testAccount_InitFromPublication_DropsHelpLink_TrailingSlashAndPathInsensitive 3ms
โœ… AccountModelTests testAccount_InitFromPublication_DropsHelpLink_WhenItPointsAtAboutAppMarketingURL 5ms
โœ… AccountModelTests testAccount_InitFromPublication_DropsHelpLink_WhenItPointsAtAboutAppMarketingURL_HTTPSScheme 4ms
โœ… AccountModelTests testAccount_InitFromPublication_HasUpdatedToken_IsFalse 1ms
โœ… AccountModelTests testAccount_InitFromPublication_KeepsHelpLink_WhenItPointsAtRealSupportPage 4ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsAuthDocUrl 1ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsCatalogUrl 231ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsHomePageUrl 112ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsName 2ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsSubtitle 57ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsSupportEmail 28ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsSupportURL 33ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsUUID <1ms
โœ… AccountModelTests testLoadAuthenticationDocument_WithNilUrl_CompletesWithFalse 17ms
โœ… AccountModelTests testLoadLogo_WithCachedImage_UsesCachedImage 65ms
โœ… AccountModelTests testLoadLogo_WithNilLogoUrl_DoesNotCrash 8ms
โœ… AccountModelTests testLoansUrl_WhenDetailsNil_ReturnsNil 2ms
โœ… AccountProfileDocumentTests testGetProfileDocument_WhenUserAccountHasNoCredentials_CompletesWithNil_DoesNotFetch 2ms
โœ… AccountProfileDocumentTests testGetProfileDocument_WithDetailsButNilProfileUrl_CompletesWithNil 52ms
โœ… AccountProfileDocumentTests testGetProfileDocument_WithNilDetails_CompletesWithNil <1ms
โœ… AccountStateMachineTests testAwaitReady_blocksUntilTransition_thenResolves 5ms
โœ… AccountStateMachineTests testAwaitReady_cancellingOneAwaiter_doesNotAffectOthers 5ms
โœ… AccountStateMachineTests testAwaitReady_detailsEvictedArrivesViaStream_throwsEvictionError 61ms
โœ… AccountStateMachineTests testAwaitReady_multipleConcurrentAwaiters_allResolve 7ms
โœ… AccountStateMachineTests testAwaitReady_terminalDetailsFailed_throwsImmediately 40ms
โœ… AccountStateMachineTests testAwaitReady_terminalDetailsLoaded_returnsImmediately 74ms
โœ… AccountStateMachineTests testDetailsEvicted_libraryDeselected_throwsEvictionError_fromAwaitReady 10ms
โœ… AccountStateMachineTests testDetailsFailedAccountNotFound_meansHTTP404_throwsAuthLoadError_fromAwaitReady 11ms
โœ… AccountStateMachineTests testInitialState_freshUUID_isNotLoaded 2ms
โœ… AccountStateMachineTests testStateStream_emitsCurrentThenTransitions 3ms
โœ… AccountSwitchCleanupTests testBookCellModelCache_ClearsOnAccountChange 97ms
โœ… AccountSwitchCleanupTests testCancelNonEssentialTasks_CalledMultipleTimes_ExecutorIdempotent 86ms
โœ… AccountSwitchCleanupTests testCancelNonEssentialTasks_WithNoActiveTasks_ExecutorRemainsUsable 6ms
โœ… AccountSwitchCleanupTests testFactoryAccount_DefaultMintIsNamespaced <1ms
โœ… AccountSwitchCleanupTests testFactoryAccount_DistinctUUIDsRemainIsolated 1ms
โœ… AccountSwitchCleanupTests testFactoryAccount_RapidMintingDoesNotCrash 37ms
โœ… AccountSwitchCleanupTests testFactoryAccount_WithSpecificUUID_BindsUUIDAndIsIsolated <1ms
โœ… AccountSwitchCleanupTests testPauseAllTasks_AfterCancel_ResumeAcceptsNewRequests 8ms
โœ… AccountSwitchIntegrationTests testAccountSwitch_ClearsBookRegistry 2ms
โœ… AccountSwitchIntegrationTests testAccountSwitch_ClearsCachedCredentials 20ms
โœ… AccountSwitchIntegrationTests testAccountSwitch_InvalidatesCatalogCache 9ms
โœ… AccountSwitchIntegrationTests testAccountSwitch_PostsCurrentAccountDidChangeNotification 3ms
โœ… AccountSwitchIntegrationTests testAccountSwitch_StopsPendingNetworkRequests 101ms
โœ… AccountSwitchIntegrationTests testMultipleRapidSwitches_DoNotCorruptRegistry 2ms
โœ… AccountSwitchIntegrationTests testNewAccount_LoadsFreshCatalog 145ms
โœ… AccountSwitchIntegrationTests testSwitchToSameAccount_IsIdempotent 35ms
โŠ˜ AccountSwitchLifecycleTests testSwitch_AToBAnonymous_NoBearerOnBRequest 150ms
โŠ˜ AccountSwitchLifecycleTests testSwitch_ATokenNeverLeaksIntoBRequest 615ms
โŠ˜ AccountSwitchLifecycleTests testSwitch_AtoB_AsRegistryFileIsUntouched 28ms
โŠ˜ AccountSwitchLifecycleTests testSwitch_AtoB_LoadsBsPersistedRegistry 238ms
โŠ˜ AccountSwitchLifecycleTests testSwitch_AtoBtoA_RestoresAsState 52ms
โŠ˜ AccountSwitchLifecycleTests testSwitch_BsCredentialsDoNotOverwriteAs 264ms
โŠ˜ AccountSwitchLifecycleTests testSwitch_CancelsInflightNonEssentialTasks 279ms
โŠ˜ AccountSwitchLifecycleTests testSwitch_LiveTaskCount_DropsToZeroAfterCancel 26ms
โŠ˜ AccountSwitchLifecycleTests testSwitch_PerLibraryAccountCacheIsStable 209ms
โœ… AccountsManagerAccountIndexTests testAccount_lookupIsConstantTime_notLinearInAccountCount 61ms
โœ… AccountsManagerAccountIndexTests testAccount_reseedRebuildsIndex_removedGoneAddedFound 3ms
โœ… AccountsManagerAccountIndexTests testAccount_resolvesUUIDInEitherBucket 2ms
โœ… AccountsManagerAccountIndexTests testAccount_unknownUUID_returnsNil 2ms
โœ… AccountsManagerAccountIndexTests testBuildAccountIndex_duplicateUUIDAcrossBuckets_resolvesToThatUUID 1ms
โœ… AccountsManagerAccountIndexTests testBuildAccountIndex_emptyInput_isEmpty 8ms
โœ… AccountsManagerAccountIndexTests testBuildAccountIndex_mapsAllAccounts 2ms
โœ… AccountsManagerCacheReadTests testLoadAccountSets_carryOver_isCorrectForEveryMatchingUUID 393ms
โœ… AccountsManagerCacheReadTests testPreload_dataPresentButNoMetadata_doesNotHydrate 102ms
โœ… AccountsManagerCacheReadTests testPreload_expiredMetadata_doesNotHydrate 10ms
โœ… AccountsManagerCacheReadTests testPreload_readsRegistryCacheOnce_hydratesEverySeededAccount 1.59s
โœ… AccountsManagerCacheTests testAccountMainFeedURL_NotOverwrittenWithNil_WhenCurrentAccountMissing 627ms
โœ… AccountsManagerCacheTests testCacheDataAndMetadata_AreWrittenTogether 37ms
โœ… AccountsManagerCacheTests testCacheExpiry_OldCacheIsNotUsed 359ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_Codable_EncodesAndDecodes 239ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsExpired_ReturnsFalseJustUnder24Hours 3ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsExpired_ReturnsFalseWhenRecent 1ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsExpired_ReturnsTrueAfter24Hours 469ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsStale_ReturnsFalseJustUnder6Hours 1ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsStale_ReturnsFalseWhenFresh 2ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsStale_ReturnsTrueAfter6Hours 1ms
โœ… AccountsManagerCacheTests testLoadCatalogs_WhenCacheExists_CompletesWithCachedData 27ms
โœ… AccountsManagerCacheTests testLoadCatalogs_WhenCacheExpired_ReturnsNil 6ms
โœ… AccountsManagerCacheTests testLoadCatalogs_WhenCacheStale_ReturnsDataButMarkedStale 7ms
โœ… AccountsManagerCacheTests testNotification_TPPCatalogDidLoad_IsDeliveredToObserver 5ms
โœ… AccountsManagerCacheTests testReadCacheMetadata_ReturnsNilWhenNotExists 2ms
โœ… AccountsManagerCacheTests testWriteAndReadCacheMetadata 22ms
โœ… AccountsManagerCancellationTests testCancelBackgroundWork_doesNotMutatePersistentAccountSets 3ms
โœ… AccountsManagerCancellationTests testCancelBackgroundWork_isIdempotent 142ms
โœ… AccountsManagerCancellationTests testCancelBackgroundWork_onLiveInstance_cancelsTheTask 71ms
โœ… AccountsManagerCancellationTests testCancelBackgroundWork_onOptOutInstance_isSafeNoOp 3ms
โœ… AccountsManagerCancellationTests testCancelBackgroundWork_whileFetchInFlight_doesNotCommitToAccountSets 573ms
โœ… AccountsManagerFirstRunDecodeTests testFirstRun_bundledDecode_runsOffMainThread 67ms
โœ… AccountsManagerFirstRunDecodeTests testFirstRun_networkFetchStillFiresOnce_afterBundledDecode 70ms
โœ… AccountsManagerFirstRunDecodeTests testSecondConcurrentLoad_shortCircuitsBeforeBundledDecode 524ms
โœ… AccountsManagerGapTests testAccountsManager_accountByUUID_returnsNilForUnknownUUID 2ms
โœ… AccountsManagerGapTests testAccountsManager_currentAccountId_persistsToUserDefaults 2ms
โœ… AccountsManagerGapTests testAccountsManager_tppAccountUUID_isNotEmpty 3ms
โœ… AccountsManagerHelpersTests test_isCacheStale_freshMetadata_returnsFalse <1ms
โœ… AccountsManagerHelpersTests test_isCacheStale_nilMetadata_returnsTrue 1ms
โœ… AccountsManagerHelpersTests test_isCacheStale_serverMaxAgeRespected 37ms
โœ… AccountsManagerHelpersTests test_isCacheStale_staleMetadata_returnsTrue <1ms
โœ… AccountsManagerHelpersTests test_shouldFinishSwitchingImmediately_bothNil_returnsTrue <1ms
โœ… AccountsManagerHelpersTests test_shouldFinishSwitchingImmediately_differentAccounts_returnsFalse 11ms
โœ… AccountsManagerHelpersTests test_shouldFinishSwitchingImmediately_newNilWithExistingPrevious_returnsFalse <1ms
โœ… AccountsManagerHelpersTests test_shouldFinishSwitchingImmediately_previousNil_returnsTrue <1ms
โœ… AccountsManagerHelpersTests test_shouldFinishSwitchingImmediately_sameAccount_returnsTrue <1ms
โœ… AccountsManagerHelpersTests test_shouldPopToRoot_onePath_returnsTrue 9ms
โœ… AccountsManagerHelpersTests test_shouldPopToRoot_threePath_returnsTrue <1ms
โœ… AccountsManagerHelpersTests test_shouldPopToRoot_zeroPath_returnsFalse <1ms
โœ… AccountsManagerIsolationLintTests testAccountsManagerConstructionSites_extendWiringBase_orAllowlisted 1.37s
โœ… AccountsManagerIsolationLintTests testLintCatchesSyntheticViolator 130ms
โœ… AccountsManagerIsolationLintTests testNoBareAccountsManagerOutsideWhitelist 655ms
โœ… AccountsManagerIsolationLintTests testWiringBaseLint_syntheticViolator 4ms
โœ… AccountsManagerLaunchSnapshotTests testCarveSlimFeed_emptyKeepSet_returnsNil 7ms
โœ… AccountsManagerLaunchSnapshotTests testCarveSlimFeed_keepsOnlyRequestedUUIDs_andRoundTripsThroughReader 29ms
โœ… AccountsManagerLaunchSnapshotTests testCarveSlimFeed_malformedData_returnsNil 54ms
โœ… AccountsManagerLaunchSnapshotTests testCarveSlimFeed_noMatchingUUIDs_returnsNil 6ms
โœ… AccountsManagerLaunchSnapshotTests testColdLaunch_authDocDrive_isDeferredOffSyncPreloadStack_notInline 40ms
โœ… AccountsManagerLaunchSnapshotTests testConsumerSmoke_readinessGateDriven_afterColdLaunch_andAfterLibrarySwap 184ms
โœ… AccountsManagerLaunchSnapshotTests testFetchCompletionMayWriteTerminal_evictedSuppressesWrite_othersAllow 31ms
โœ… AccountsManagerLaunchSnapshotTests testPicker_fullListMaterializes_reachesFullCount_notSlimCount 145ms
โœ… AccountsManagerLaunchSnapshotTests testPreload_slimSnapshotButNoFullCache_doesNotHydrate 28ms
โœ… AccountsManagerLaunchSnapshotTests testPreload_slimSnapshotPresent_hydratesOnlyCurrentAndSettings_notFullList 43ms
โœ… AccountsManagerLaunchSnapshotTests testPreload_staleSlimSnapshotLacksCurrentAccount_fallsThroughToFullHydrate 110ms
โœ… AccountsManagerLaunchSnapshotTests testRoundTrip_slimHydratedCurrentAccount_reselectAwayAndBack_redrivesViaProductionSeam 1.14s
โœ… AccountsManagerLaunchSnapshotTests testSlimToFull_reusesSlimCurrentAccountInstance_soInFlightAuthDocNotStranded 289ms
โœ… AccountsManagerStateMachineWiringTests testBoundaryDrain_flushesDeferredAuthDocMainHop_insideTheBoundary 12ms
โœ… AccountsManagerStateMachineWiringTests testDriveCurrentAccountAuthDoc_realAccountNotFound_doesNotRedrive 433ms
โœ… AccountsManagerStateMachineWiringTests testDriveCurrentAccountAuthDoc_staleEvictionMarker_redrives 570ms
โœ… AccountsManagerStateMachineWiringTests testDriveCurrentAccountAuthDoc_terminalState_isNoOp 227ms
โœ… AccountsManagerStateMachineWiringTests testFetchAuthDoc_afterCancelBackgroundWork_isInertNoOp_leavesStateNotLoaded 6ms
โœ… AccountsManagerStateMachineWiringTests testGlobalBoundaryDrain_flushesForeignUntornDownManager_leavesStoreClean 159ms
โœ… AccountsManagerStateMachineWiringTests testLibraryReselect_priorAccount_terminatesWithLibraryDeselected 487ms
โœ… AccountsManagerStateMachineWiringTests testLibraryReselect_reentry_resetsState_andRedrives 91ms
โœ… AccountsManagerStateMachineWiringTests testLibrarySwitch_drivesNewCurrentAccountPastBasicInfoLoaded 408ms
โœ… AccountsManagerStateMachineWiringTests testLoadCatalogs_authDocFetchFails_drivesDetailsFailed 132ms
โœ… AccountsManagerStateMachineWiringTests testLoadCatalogs_currentAccountWithoutDetails_drivesDetailsLoading_thenLoaded 1.61s
โœ… AccountsManagerStateMachineWiringTests testLoadCatalogs_warmPath_drivesCurrentAccountPastBasicInfoLoaded 169ms
โœ… AccountsManagerStateMachineWiringTests testPreload_drivesEachLoadedAccount_toBasicInfoLoaded 207ms
โœ… AccountsManagerStateMachineWiringTests testSingleFlight_twoConcurrentAwaiters_oneNetworkRequest 25ms
โœ… AccountsManagerStateMachineWiringTests testStartDownload_currentAccountIdRoundTrip_A_nil_A_B_eachCaptureIsPinned 1.26s
โœ… AccountsManagerStateMachineWiringTests testStartDownload_endToEnd_capturedAccountIdReachesAuthorizationHeader 480ms
โœ… AccountsManagerTests testAccountChangeNotification_HasCorrectName 43ms
โœ… AccountsManagerTests testAccountDetails_DefaultAuth_ReturnsNonOAuthFirst 63ms
โœ… AccountsManagerTests testAccountDetails_NeedsAgeCheck_WhenCOPPAAuthExists 50ms
โœ… AccountsManagerTests testAccountDetails_SupportsReservations 27ms
โœ… AccountsManagerTests testAccountDetails_SupportsSimplyESync 41ms
โœ… AccountsManagerTests testAccountLookup_FromMultipleThreads_DoesNotCrash 23ms
โœ… AccountsManagerTests testAccount_AuthenticationDocumentUrl_IsValid 101ms
โœ… AccountsManagerTests testAccount_BarcodeAuthentication_IsBasic 43ms
โœ… AccountsManagerTests testAccount_CatalogUrl_IsValid 31ms
โœ… AccountsManagerTests testAccount_HasAuthenticationTypes 32ms
โœ… AccountsManagerTests testAccount_HasRequiredProperties 74ms
โœ… AccountsManagerTests testAccount_OAuthAuthentication_IsOAuth 49ms
โœ… AccountsManagerTests testAccount_SAMLAuthentication_IsSAML 32ms
โœ… AccountsManagerTests testAccount_WithEmptyUUID_ReturnsNil 46ms
โœ… AccountsManagerTests testAccount_WithExistingUUID_ReturnsAccount 23ms
โœ… AccountsManagerTests testAccount_WithNonExistentUUID_CreatesNewAccount 247ms
โœ… AccountsManagerTests testAccount_WithNonExistentUUID_ReturnsNil 66ms
โœ… AccountsManagerTests testAccount_WithValidUUID_ReturnsAccount 23ms
โœ… AccountsManagerTests testAccountsHaveLoaded_IsConsistentWithAccountsQuery 67ms
โœ… AccountsManagerTests testAccountsManager_ConformsToTPPLibraryAccountsProvider 421ms
โœ… AccountsManagerTests testAccountsManager_HasAgeCheck 30ms
โœ… AccountsManagerTests testAccountsManager_HasNYPLAccountUUID 140ms
โœ… AccountsManagerTests testAccountsManager_WithEmptyUUID_ReturnsNil 81ms
โœ… AccountsManagerTests testAccounts_FromMultipleThreads_DoesNotCrash 102ms
โŠ˜ AccountsManagerTests testAccounts_WithNilKey_ReturnsCurrentAccountSet 92ms
โœ… AccountsManagerTests testAccounts_WithNonExistentKey_ReturnsEmptyArray 61ms
โœ… AccountsManagerTests testAuthenticationType_Basic_DoesNotRequireCatalogAuthentication 181ms
โœ… AccountsManagerTests testAuthenticationType_Basic_NeedsAuth 101ms
โœ… AccountsManagerTests testAuthenticationType_OAuth_NeedsAuth 33ms
โœ… AccountsManagerTests testAuthenticationType_OAuth_RequiresCatalogAuthentication 63ms
โœ… AccountsManagerTests testAuthenticationType_SAML_NeedsAuth 62ms
โœ… AccountsManagerTests testCatalogDidLoadNotification_CanBeObservedWithCombine 129ms
โœ… AccountsManagerTests testCatalogDidLoad_NotificationExists 25ms
โœ… AccountsManagerTests testClearCache_DoesNotThrow 26ms
โœ… AccountsManagerTests testCreateOPDS2Publication_ReturnsValidPublication 25ms
โœ… AccountsManagerTests testCurrentAccountId_AfterExplicitClear_ReturnsNilFromDefaults 84ms
โœ… AccountsManagerTests testCurrentAccountId_PersistsToUserDefaults 325ms
โœ… AccountsManagerTests testCurrentAccount_WhenChanged_PostsNotification 122ms
โœ… AccountsManagerTests testLoadCatalogs_PostsCatalogDidLoadNotification 73ms
โœ… AccountsManagerTests testMockLibraryAccountProvider_CurrentAccountId_MatchesUUID 23ms
โœ… AccountsManagerTests testMockLibraryAccountProvider_CurrentAccount_ReturnsTPPAccount 74ms
โœ… AccountsManagerTests testMultipleNotificationObservers_AllReceiveAccountChange 59ms
โœ… AccountsManagerTests testNotificationObserver_ForAccountChange_CanBeAdded 58ms
โœ… AccountsManagerTests testNotification_CanBeObservedWithCombine 25ms
โœ… AccountsManagerTests testShared_ReturnsSameInstance 29ms
โœ… AccountsManagerTests testTPPAccountUUIDs_ContainsExpectedAccounts 65ms
โœ… AccountsManagerTests testTPPNationalAccountUUIDs_ContainsPalaceBookshelf 23ms
โŠ˜ AccountsManagerTests testUpdateAccountSet_WithCompletion_CallsCompletion 37ms
โŠ˜ AccountsManagerTests testUpdateAccountSet_WithNilCompletion_DoesNotCrash 26ms
โœ… AccountsManagerTests testUseBetaDidChange_NotificationExists 27ms
โœ… AccountsManagerTests testUseBetaDidChange_PostsNotificationWhenSettingChanges 716ms
โœ… ActiveSessionsViewModelTests testContinueListening_emptyWhenSessionIdle 36ms
โœ… ActiveSessionsViewModelTests testContinueListening_includesPausedSession 7ms
โœ… ActiveSessionsViewModelTests testContinueListening_includesPlayingSession 5ms
โœ… ActiveSessionsViewModelTests testContinueListening_includesPositionGreaterThanZero_notExactlyZero 81ms
โœ… ActiveSessionsViewModelTests testDeriveMostRecent_picksListeningWhenListeningIsNewerThanReading 21ms
โœ… ActiveSessionsViewModelTests testDeriveMostRecent_picksReadingWhenReadingIsNewerThanListening <1ms
โœ… ActiveSessionsViewModelTests testInit_populatesBothArrays_fromInitialInputs 6ms
โœ… ActiveSessionsViewModelTests testReadingRowLimit_isHonored 4ms
โœ… ActiveSessionsViewModelTests testRefresh_firesOnAudiobookSessionStatePublisher 64ms
โœ… ActiveSessionsViewModelTests testRefresh_firesOnBookOpenedNotification 5ms
โœ… ActiveSessionsViewModelTests testRefresh_firesOnCurrentAccountDidChange 4ms
โœ… ActiveSessionsViewModelTests testRefresh_firesOnRegistryStateNotification 204ms
โœ… AdobeActivationTests test_acsmFulfillment_E_ADEPT_NOT_READY_surfacesError 2ms
โœ… AdobeActivationTests test_acsmFulfillment_validInput_succeedsAndReturnsEPUB <1ms
โœ… AdobeActivationTests test_deauthorize_clearsDeviceState 2ms
โœ… AdobeActivationTests test_deviceActivation_alreadyActivated_isIdempotent <1ms
โœ… AdobeActivationTests test_deviceActivation_failurePath_doesNotPersistInvalidCredentials 5ms
โœ… AdobeActivationTests test_deviceActivation_succeeds_withValidLicensor <1ms
โœ… AdobeCertificateGapTests testAdobeCertificate_expirationDate_computesFromTimestamp 19ms
โœ… AdobeCertificateGapTests testAdobeCertificate_expirationDate_nilWhenNoTimestamp <1ms
โœ… AdobeCertificateGapTests testAdobeCertificate_hasExpired_falseForFutureDate 1ms
โœ… AdobeCertificateGapTests testAdobeCertificate_hasExpired_falseWhenNoExpiration 2ms
โœ… AdobeCertificateGapTests testAdobeCertificate_hasExpired_trueForPastDate 10ms
โœ… AdobeCertificateGapTests testAdobeCertificate_initFromData_decodesValidJSON 2ms
โœ… AdobeCertificateGapTests testAdobeCertificate_initFromData_returnsNilForInvalidJSON 13ms
โœ… AdobeDRMCharacterizationTests test_acsmFulfillment_credentialsRequiredToFulfill_mapsToAdobeError <1ms
โœ… AdobeDRMCharacterizationTests test_acsmFulfillment_expiredACSM_mapsToAdobeErrorBucket <1ms
โœ… AdobeDRMCharacterizationTests test_acsmFulfillment_loanNotOnRecord_mapsToAdobeError <1ms
โœ… AdobeDRMCharacterizationTests test_authorize_incrementsCallCount_andSetsCalledFlag 92ms
โœ… AdobeDRMCharacterizationTests test_authorize_invokesCompletionWithSuccess_andCarriesIDs 2ms
โœ… AdobeDRMCharacterizationTests test_authorize_thenIsUserAuthorized_returnsTrue_simulatingGate 1ms
โœ… AdobeDRMCharacterizationTests test_deauthorize_deferredCompletion_canBeFiredManually 16ms
โœ… AdobeDRMCharacterizationTests test_deauthorize_failurePath_completionStillFires 1ms
โœ… AdobeDRMCharacterizationTests test_deauthorize_idempotency_doubleCallIsSafe <1ms
โœ… AdobeDRMCharacterizationTests test_deauthorize_invokesCompletionWithSuccess <1ms
โœ… AdobeDRMCharacterizationTests test_deauthorize_isInvokedWithLicensorCredentials_simulatingSignOut 1ms
โœ… AdobeDRMCharacterizationTests test_doubleAuthorize_doesNotShortCircuit_atTheMockLayer <1ms
โœ… AdobeDRMCharacterizationTests test_isUserAuthorized_defaultsTrue_onFreshMock 274ms
โœ… AdobeDRMCharacterizationTests test_isUserAuthorized_returnsFalse_whenFlagSet <1ms
โœ… AdobeDRMCharacterizationTests test_palaceErrorFrom_authenticationFailedNSError_mapsToDRMAuthFailed 2ms
โœ… AdobeDRMCharacterizationTests test_palaceErrorFrom_nonAdobeDomainNSError_doesNotMisroutToDRM 759ms
โœ… AdobeDRMCharacterizationTests test_palaceErrorFrom_passesThroughExistingPalaceError 50ms
โœ… AdobeDRMCharacterizationTests test_palaceErrorFrom_tooManyActivationsNSError_mapsToDRMTooMany 8ms
โœ… AdobeDRMCharacterizationTests test_palaceErrorFrom_unknownAdeptCode_fallsBackToAdobeError <1ms
โœ… AdobeDRMCharacterizationTests test_reset_clearsAllTrackingState <1ms
โœ… AdobeDRMCharacterizationTests test_workflowsInProgress_defaultsFalse 22ms
โœ… AdobeDRMErrorGapTests testAdobeDRMError_conformsToLocalizedError <1ms
โœ… AdobeDRMErrorGapTests testAdobeDRMError_errorDescription_isNotEmpty 2ms
โœ… AdobeDRMErrorGapTests testAdobeDRMError_expiredCase_exists 207ms
โœ… AdobeDRMHandlerTests testHandleCancellation_setsRegistryStateAndBroadcasts 4ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_copyFailure_failsWithAlert 9ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_didFinishCopySucceeded_marksSuccessfulAndPersistsRights 29ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_didFinishDownloadFalse_failsAndDoesNotMarkSuccessful 7ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_missingAdeptToURL_failsWithAlert 35ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_missingDestinationURL_failsWithAlert 3ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_nonReturnable_skipsFulfillmentIdPersistence 35ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_returnableButNoFulfillmentID_skipsPersistence 6ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_undecodableRightsData_returnsEarlyWithoutSideEffects 20ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_unknownBookIdentifier_returnsEarlyWithoutSideEffects 5ms
โœ… AdobeDRMHandlerTests testHandleNoAuthorization_doesNotMutateRegistryOrAlert 6ms
โœ… AdobeDRMHandlerTests testProgressForwarding_invokesDelegateWithProgressAndTag 5ms
โœ… AdobeDRMServiceGapTests testAdobeDRMService_isReady_returnsBoolean <1ms
โœ… AdobeDRMServiceGapTests testAdobeDRMService_shared_isAccessible 88ms
โœ… AlertModelCoverageTests testAlertModel_basicProperties <1ms
โœ… AlertModelCoverageTests testAlertModel_customButtonTitle <1ms
โœ… AlertModelCoverageTests testAlertModel_maxRetriesExceeded 2ms
โœ… AlertModelCoverageTests testAlertModel_retryable 79ms
โœ… AlertModelCoverageTests testAlertModel_retryableWithCancel <1ms
โœ… AlertModelCoverageTests testAlertModel_uniqueId <1ms
โœ… AlertModelRetryTests testAlertModel_eachInstanceHasUniqueIdentity <1ms
โœ… AlertModelRetryTests testDefaultAlertModel_hasExpectedDefaults <1ms
โœ… AlertModelRetryTests testHalfSheetBranching_secondaryNilSelectsOKOnly_secondaryNonNilSelectsRetryCancel 1ms
โœ… AlertModelRetryTests testMaxRetriesExceeded_factoryShapesAlertForOKOnlyBranch 1ms
โœ… AlertModelRetryTests testRetryable_factoryShapesAlertForRetryPlusCancelBranch <1ms
โœ… AlertModelRetryTests testRetryable_invokesRetryActionAndCancelActionOnTheCorrectSlots 22ms
โœ… AlertModelRetryTests testRetryable_omittedCancelActionIsSafeNoOp <1ms
โœ… AlertModelTests testAlertModel_StoresProvidedValues 1ms
โœ… AlertModelTests testAlertModel_SyncingAlertStrings_AreNotEmpty <1ms
โœ… AlertPresentationRawGuardLintTests testDetector_flagsRawAlertPresent <1ms
โœ… AlertPresentationRawGuardLintTests testDetector_passesCommentsAndNonAlertPresents <1ms
โœ… AlertPresentationRawGuardLintTests testDetector_passesGuardedPresenters <1ms
โœ… AlertPresentationRawGuardLintTests testDetector_routeDetector_bothPathsAndClean 62ms
โœ… AlertPresentationRawGuardLintTests testGuardedSites_neverPresentAnAlertRaw 27ms
โœ… AlertPresentationRawGuardLintTests testGuardedSites_routeThroughAGuardedPresenter 4ms
โœ… AlertUtilsTests testAlertWithDestructiveStyle 2ms
โœ… AlertUtilsTests testAlertWithDetailsHasOKButtonWhenNoRetry 117ms
โœ… AlertUtilsTests testAlertWithDetailsHasRetryAndCancelWhenRetryProvided 8ms
โœ… AlertUtilsTests testAlertWithDetailsHasViewErrorDetailsButton 37ms
โœ… AlertUtilsTests testAlertWithErrorHavingNoDescription 18ms
โœ… AlertUtilsTests testAlertWithNilError 580ms
โœ… AlertUtilsTests testAlertWithNilMessageAndError_ErrorWins 80ms
โœ… AlertUtilsTests testAlertWithNonURLError 82ms
โœ… AlertUtilsTests testAlertWithTitleAndMessage 6ms
โœ… AlertUtilsTests testAlert_explicitMessageOverridesErrorDerivedMessage 7ms
โœ… AlertUtilsTests testAlert_nilMessage_yieldsEmptyStringWithoutAffectingTitle 55ms
โœ… AlertUtilsTests testAlert_nsurlErrors_alwaysProduceNonEmptyMessage 1.18s
โœ… AlertUtilsTests testAlert_nsurlErrors_keyedMessages_areDistinguishable 161ms
โœ… AlertUtilsTests testAlert_titleFallback_handlesNilEmptyAndPassThrough 5ms
โœ… AlertUtilsTests testPresentFromViewControllerOrNilWithNilAlert 205ms
โœ… AlertUtilsTests testSetProblemDocumentAppend 3ms
โœ… AlertUtilsTests testSetProblemDocumentReplace 830ms
โœ… AlertUtilsTests testSetProblemDocumentWithNilController 3ms
โœ… AlertUtilsTests testSetProblemDocumentWithNilDocument 5ms
โœ… AlertUtilsTests testSetProblemDocument_partialDocumentReplacesOnlyPresentFields 3ms
โœ… AnnotationContractTests testBookmarkAndReadingPosition_HaveDifferentMotivations 50ms
โœ… AnnotationContractTests testParseAnnotationContainer 100ms
โœ… AnnotationContractTests testReadingPosition_HasEPUBCFISelector 4ms
โœ… AnnotationDeviceIDTests testAnnotationDeviceID_WhenNoAdobeDRM_ReturnsFirebaseDeviceID <1ms
โœ… AnnotationDeviceIDTests testAnnotationDeviceID_isStableAndDerivedFromFirebaseInTestEnvironment 2ms
โœ… AnnotationPostResponseContractTests testAnnotationPostResponse_HasRequiredFields 6ms
โœ… AnnouncementChainTests test_chainAttachmentIndices_fiveAnnouncements_returnsFourChainedPairs <1ms
โœ… 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 <1ms
โœ… AnnouncementTests testAnnouncement_withMissingId_throwsError <1ms
โœ… AnonymousBorrowBaselineFixtureTests test_02_afterAllowNotif_libraryPickerShowsPalaceBookshelfAtTop 3ms
โœ… AnonymousBorrowBaselineFixtureTests test_02_afterAllowNotif_notifPermissionOverlayDismissed 2ms
โœ… AnonymousBorrowBaselineFixtureTests test_03_catalog_anonymousFlowDoesNotShowSignInModal 420ms
โœ… AnonymousBorrowBaselineFixtureTests test_03_catalog_tabBarHasFourTabs 65ms
โœ… AnonymousBorrowBaselineFixtureTests test_03_catalog_threeLanesRenderInOrder 1.02s
โœ… AnonymousBorrowBaselineFixtureTests test_03_catalog_titleIsPalaceBookshelf 2ms
โœ… AnonymousBorrowBaselineFixtureTests test_04_bookDetail_borrowButtonAppearsAboveDescription 1ms
โœ… AnonymousBorrowBaselineFixtureTests test_04_bookDetail_borrowButtonPresent 5ms
โœ… AnonymousBorrowBaselineFixtureTests test_04_bookDetail_preBorrowDoesNotShowReadOrRemove 2ms
โœ… AnonymousBorrowBaselineFixtureTests test_05_afterBorrow_borrowButtonGoneReadAndRemoveAppear 64ms
โœ… AnonymousBorrowBaselineFixtureTests test_05_afterBorrow_libraryAttributionShowsPalaceBookshelf 258ms
โœ… AnonymousBorrowBaselineFixtureTests test_06_myBooks_borrowedBookAppears 1ms
โœ… AnonymousBorrowBaselineFixtureTests test_06_myBooks_sortIndicatorShowsTitle 8ms
โœ… AnonymousBorrowCandidateFixtureTests test_03_catalog_anonymousFlowDoesNotShowSignInModal 2ms
โœ… AnonymousBorrowCandidateFixtureTests test_03_catalog_tabBarHasFourTabs 5ms
โœ… AnonymousBorrowCandidateFixtureTests test_03_catalog_threeLanesRenderInOrder 3ms
โœ… AnonymousBorrowCandidateFixtureTests test_03_catalog_titleIsPalaceBookshelf 2ms
โœ… AnonymousBorrowCandidateFixtureTests test_05_afterBorrow_borrowButtonGoneReadAndRemoveAppear 25ms
โœ… AnonymousBorrowCandidateFixtureTests test_06_myBooks_borrowedBookAppears 2ms
โœ… AnonymousBorrowDeltaTests test_03_catalog_structureMatchesBetweenVersions 2ms
โœ… AnonymousBorrowDeltaTests test_06_myBooks_postBorrowStateMatchesBetweenVersions 16ms
โœ… AppContainerAudiobookFactoryTests testAudiobookFactories_areCoherentAcrossProductionReads 10ms
โœ… AppContainerAudiobookFactoryTests testAudiobookSession_returnsSameInstanceAcrossReads 1ms
โœ… AppContainerAudiobookFactoryTests testPlaybackBootstrapper_returnsSameInstanceAcrossReads 1ms
โœ… AppContainerAuthCoordinatorRegistrationTests testProductionAppContainer_authCoordinator_isSingletonAcrossCalls <1ms
โœ… AppContainerAuthCoordinatorRegistrationTests testProductionAppContainer_downloadCenter_isSingletonAcrossCalls <1ms
โœ… AppContainerAuthCoordinatorRegistrationTests testProductionAppContainer_exposesNonNilAuthCoordinator 10ms
โœ… AppContainerImageLoaderInjectionTests testContainer_holdsInjectedImageLoader <1ms
โœ… AppContainerImageLoaderInjectionTests testContainer_imageLoader_evictDecodedRoutesToInjectedInstance 2ms
โœ… AppContainerImageLoaderInjectionTests testContainer_imageLoader_setForwardsToInjectedInstance 68ms
โœ… AppContainerImageLoaderInjectionTests testProductionContainer_exposesNonNilImageLoader 45ms
โœ… AppContainerIsolationLintTests testDeferredListFileIsLoaded 4ms
โœ… AppContainerIsolationLintTests testLintCatchesSyntheticViolation 1ms
โœ… AppContainerIsolationLintTests testLintFlagsRealCallEvenWhenSameLineAlsoMentionsInString 2ms
โœ… AppContainerIsolationLintTests testLintIgnoresCommentLines 1ms
โœ… AppContainerIsolationLintTests testLintIgnoresStringLiteralMentions 1ms
โœ… AppContainerIsolationLintTests testLintRespectsPerLineExemptionMarker 1ms
โœ… AppContainerIsolationLintTests testNoAppContainerProductionOutsideWhitelist 1.66s
โœ… AppContainerResetTests testResetForTesting_cancelsOldBackgroundWork 40ms
โœ… AppContainerResetTests testResetForTesting_clearsLeakedActiveSessionFromSharedAudiobookPresenter 91ms
โœ… AppContainerResetTests testResetForTesting_disablesBackgroundLoadCatalogs 18ms
โœ… AppContainerResetTests testResetForTesting_isIdempotent_multipleConsecutiveCallsAreSafe 451ms
โœ… AppContainerResetTests testResetForTesting_reinitializesCachedGraph 30ms
โœ… AppContainerTests testEnvironmentValues_appContainerDefault_matchesProductionFactory <1ms
โœ… AppContainerTests testInit_twoContainersWithDifferentRegistries_remainIndependent 10ms
โœ… AppContainerTests testInit_withMockBookRegistry_exposesTheMockNotTheProductionRegistry <1ms
โœ… AppContainerTests testProduction_handsOutStableAppScopedRegistry 10ms
โœ… AppContainerWithSignInModalSheetPresenterTests testWithSignInModalSheetPresenter_overrideValue_isPreferredOverStaticCache 2ms
โœ… AppContainerWithSignInModalSheetPresenterTests testWithSignInModalSheetPresenter_productionContainer_fallsThroughToStaticCacheWhenOverrideNil 5ms
โœ… AppHealthViewModelTests testAppLaunchStatusThresholds 214ms
โœ… AppHealthViewModelTests testHealthMetricItemProperties 2ms
โœ… AppHealthViewModelTests testInitialState 287ms
โœ… AppHealthViewModelTests testLoadDataIncludesMemoryMetric 422ms
โœ… AppHealthViewModelTests testLoadDataIncludesOfflineQueueMetrics 241ms
โœ… AppHealthViewModelTests testLoadDataPopulatesMetrics 227ms
โœ… AppHealthViewModelTests testOfflineQueueStatusUpdates 215ms
โœ… AppHealthViewModelTests testPerformanceReportGenerated 213ms
โœ… AppLaunchTrackerExtendedTests testAllMilestones_RecordedInChronologicalOrder 23ms
โœ… AppLaunchTrackerExtendedTests testColdLaunch_AfterReset 3ms
โœ… AppLaunchTrackerExtendedTests testDefaultIsColdLaunch 37ms
โœ… AppLaunchTrackerExtendedTests testDuplicateMilestone_DoesNotCreateExtraEntries 5ms
โœ… AppLaunchTrackerExtendedTests testDuplicateMilestone_OverwritesTimestamp 56ms
โœ… AppLaunchTrackerExtendedTests testLaunchMilestone_AllCases 49ms
โœ… AppLaunchTrackerExtendedTests testMarkWarmLaunch_ChangesType 2ms
โœ… AppLaunchTrackerExtendedTests testMilestoneCount_MatchesRecordedCount 3ms
โœ… AppLaunchTrackerExtendedTests testTimeBetween_NilWhenBothMissing 4ms
โœ… AppLaunchTrackerExtendedTests testTimeBetween_NilWhenEndMissing 4ms
โœ… AppLaunchTrackerExtendedTests testTimeBetween_NilWhenStartMissing 5ms
โœ… AppLaunchTrackerExtendedTests testTimeToFirstFrame_NilWithoutFirstFrame 4ms
โœ… AppLaunchTrackerExtendedTests testTimeToInteractive_NilWithoutCatalogLoaded 62ms
โœ… AppLaunchTrackerExtendedTests testTimeToInteractive_NilWithoutProcessStart 2ms
โœ… AppLaunchTrackerExtendedTests testTimeToInteractive_RequiresProcessStartAndCatalogLoaded 34ms
โœ… AppLaunchTrackerExtendedTests testWarmLaunch_ReportsWithWarmType 253ms
โœ… AppLaunchTrackerTests testCatalogLoadedReportsToMonitor 147ms
โœ… AppLaunchTrackerTests testDefaultLaunchTypeIsCold 14ms
โœ… AppLaunchTrackerTests testRecordAllMilestones 56ms
โœ… AppLaunchTrackerTests testRecordProcessStart 3ms
โœ… AppLaunchTrackerTests testReset 3ms
โœ… AppLaunchTrackerTests testTimeBetweenMilestones 56ms
โœ… AppLaunchTrackerTests testTimeBetweenUnrecordedMilestones 4ms
โœ… AppLaunchTrackerTests testTimeToFirstFrame 26ms
โœ… AppLaunchTrackerTests testTimeToInteractive 35ms
โœ… AppLaunchTrackerTests testWarmLaunchType 4ms
โœ… AppLaunchTrackerWiringTests testLaunchTracker_firstFrameUnrecorded_timeToFirstFrameIsNil 3ms
โœ… AppLaunchTrackerWiringTests testLaunchTracker_recordsMilestones_computesTimeToInteractive 50ms
โœ… AppRatingServiceOverrideTests testForceEligible_bypassesIneligibleStateAndMasterSwitch 1ms
โœ… AppRatingServiceOverrideTests testResetEngagementState_clearsAllSignals 16ms
โœ… AppRatingServiceOverrideTests testWithoutForce_ineligibleStateStaysIneligible 216ms
โœ… AppRatingServiceTests testIsEligible_honorsInjectedConfigThresholds 17ms
โœ… AppRatingServiceTests testIsEligible_whenEligibleAndSwitchOn_returnsTrue 4ms
โœ… AppRatingServiceTests testIsEligible_whenMasterSwitchOff_returnsFalseEvenIfOtherwiseEligible 3ms
โœ… AppRatingServiceTests testIsEligible_whenPolicyFails_returnsFalse 4ms
โœ… AppRatingServiceTests testRecordBookCompleted_incrementsBooksCompleted 61ms
โœ… AppRatingServiceTests testRecordDismissal_incrementsDismissalCount 2ms
โœ… AppRatingServiceTests testRecordOptOut_setsOptedOut 12ms
โœ… AppRatingServiceTests testRecordPromptShown_usesInjectedClockAndIncrementsDisplayCount 5ms
โœ… AppRatingServiceTests testRecordSession_incrementsCountAndStoresCrashProbeResult 3ms
โœ… AppRouteTests testAppRoute_Audio_IsHashable 1ms
โœ… AppRouteTests testAppRoute_BookDetail_IsHashable <1ms
โœ… AppRouteTests testAppRoute_DifferentTypes_NotEqual 40ms
โœ… AppRouteTests testBookRoute_IsHashable 1ms
โœ… AppRouteTests testSearchRoute_IsHashable 48ms
โœ… AppTabHostMiniPlayerIntegrationTests testAppTabHost_fullScreenCoverBindsToPresenterIsPlayerExpanded 390ms
โœ… AppTabHostMiniPlayerIntegrationTests testAppTabHost_presentOnFirstOpen_flipsCoverBinding_synchronouslyForF011 15ms
โœ… AppTabHostMiniPlayerIntegrationTests testAppTabHost_safeAreaInsetContainsMiniPlayer 317ms
โœ… AppTabHostMiniPlayerIntegrationTests testNavigationHostView_epubRoute_setsIsReaderActiveTrue 35ms
โœ… AppTabHostMiniPlayerIntegrationTests testNavigationHostView_popsEpubRoute_setsIsReaderActiveFalse 6ms
โœ… AppTabHostMiniPlayerIntegrationTests testReaderActive_drivenThroughTwoRoutePushes_andTwoPops_acrossEpubAndPdf 9ms
โœ… AppTabHostViewBadgeCountTests test_computeReadyCount_emptyArray_returnsZero 2ms
โœ… AppTabHostViewBadgeCountTests test_computeReadyCount_mixedReservedAndReady_returnsOnlyReadyCount 5ms
โœ… AppTabHostViewBadgeCountTests test_computeReadyCount_oneReadyBook_returnsOne 3ms
โœ… AppTabHostViewBadgeCountTests test_computeReadyCount_reservedBooksOnly_returnsZero 5ms
โœ… AppTabHostViewBadgeCountTests test_computeReadyCount_threeReadyBooks_returnsThree 20ms
โœ… AppTabHostViewBadgeCountTests test_computeReservedCount_emptyArray_returnsZero 1ms
โœ… AppTabHostViewBadgeCountTests test_computeReservedCount_readyBooksOnly_returnsZero 256ms
โœ… AppTabHostViewBadgeCountTests test_computeReservedCount_twoReservedBooks_returnsTwo 3ms
โœ… AppTabHostViewBadgeCountTests test_shouldUpdateBadge_loadedOrSynced_returnsTrue 30ms
โœ… AppTabHostViewBadgeCountTests test_shouldUpdateBadge_unloadedOrLoadingOrSyncing_returnsFalse <1ms
โœ… AppTabRouterCoverageTests testAppTabRouterHub_weakRouterReference 1ms
โœ… AppTabRouterCoverageTests testAppTabRouter_defaultIsCatalog <1ms
โœ… AppTabRouterCoverageTests testAppTabRouter_publishesSelectionChanges 2ms
โœ… AppTabRouterCoverageTests testAppTabRouter_sequentialTabChangesPreserveLastValue <1ms
โœ… AppTabRouterGapTests testAppTabRouterHub_registeredRouterIsWeaklyHeld <1ms
โœ… AppTabRouterGapTests testAppTabRouter_roundTripToDefaultEmitsTwoChangeEvents 4ms
โœ… AppTabRouterGapTests testAppTabRouter_tabSwitchPublishesChangeEvent <1ms
โœ… ArrayExtensionsTests testSafeSubscriptGet_NegativeIndex_ReturnsNil <1ms
โœ… ArrayExtensionsTests testSafeSubscriptGet_OutOfBounds_ReturnsNil <1ms
โœ… ArrayExtensionsTests testSafeSubscriptGet_StringArray_ReturnsElement <1ms
โœ… ArrayExtensionsTests testSafeSubscriptGet_ValidIndex_ReturnsElement <1ms
โœ… ArrayExtensionsTests testSafeSubscriptGet_emptyArray_returnsNilForAllIndices 4ms
โœ… ArrayExtensionsTests testSafeSubscriptSet_updatesValidIndicesAndIgnoresInvalidWrites 6ms
โœ… AudioBookmarkGapTests testAudioBookmark_copy_createsIndependentCopy <1ms
โœ… AudioBookmarkGapTests testAudioBookmark_creation_storesBasicProperties 4ms
โœ… AudioBookmarkGapTests testAudioBookmark_isSimilar_returnsFalseForDifferentChapter 11ms
โœ… AudioBookmarkGapTests testAudioBookmark_isSimilar_returnsTrueForSameChapterPosition 115ms
โœ… AudioBookmarkGapTests testAudioBookmark_toData_producesRoundTripData 11ms
โœ… AudioBookmarkGapTests testAudioBookmark_toTPPBookLocation_producesValidLocation 12ms
โœ… AudioEngineWrapperTests test_chapterStatusCache_after_pause_doesNotDispose <1ms
โœ… AudioEngineWrapperTests test_chapterStatusCache_emptyChapters_returnsNoFault 233ms
โœ… AudioEngineWrapperTests test_feedbookVendor_classifiesCantook_fromValidSignature <1ms
โœ… AudioEngineWrapperTests test_feedbookVendor_isIdempotent_acrossRapidOpenClosePairs 3ms
โœ… AudioEngineWrapperTests test_feedbookVendor_returnsNil_forMissingMetadata 2ms
โœ… AudioEngineWrapperTests test_feedbookVendor_returnsNil_forUnknownIssuer <1ms
โœ… AudioEngineWrapperTests test_openFindawayBook_repeatedOpen_doesNotDoubleReleaseSemaphore 4ms
โœ… AudioEngineWrapperTests test_openFindawayBook_succeeds_withValidLicense 11ms
โœ… AudioInterruptionLogicTests testNoResume_whenNoShouldResume_andWasNotPlaying 139ms
โœ… AudioInterruptionLogicTests testResume_phoneCallDeclinedScenario 2ms
โœ… AudioInterruptionLogicTests testResume_siriInterruptionScenario 9ms
โœ… AudioInterruptionLogicTests testResume_whenNoShouldResume_butWasPlaying 3ms
โœ… AudioInterruptionLogicTests testResume_whenShouldResumeSet_andWasPlaying <1ms
โœ… AudioInterruptionLogicTests testResume_whenShouldResumeSet_butWasNotPlaying 1ms
โœ… AudioSessionActivatorTests testActivate_nonRetriableError_failsImmediately_noRetry_noSleep 6ms
โœ… AudioSessionActivatorTests testActivate_otherAudioPlaying_skipsWithoutActivating 11ms
โœ… AudioSessionActivatorTests testActivate_persistentTransient_isBoundedAtMaxAttempts 4ms
โœ… AudioSessionActivatorTests testActivate_succeedsFirstTry_returnsActivatedOneAttempt_noSleep 5ms
โœ… AudioSessionActivatorTests testActivate_transientThenSuccess_retriesWithBackoff 4ms
โœ… AudioSessionActivatorTests testBackoff_isExponential_andClampedToCap 3ms
โœ… AudioSessionActivatorTests testIsRetriable_terminalCodes_areNotRetriable 153ms
โœ… AudioSessionActivatorTests testIsRetriable_transientActivationCodes_areRetriable <1ms
โœ… AudiobookAccessibilityTests testAudiobookIndicator_labelExists <1ms
โœ… AudiobookAccessibilityTests testPauseLabel_isDescriptive <1ms
โœ… AudiobookAccessibilityTests testPlayLabel_isDescriptive <1ms
โœ… AudiobookAccessibilityTests testPlayPauseLabel_changesWithState 5ms
โœ… AudiobookAccessibilityTests testPlayPauseLabels_areDifferent <1ms
โœ… AudiobookAccessibilityTests testSkipBackLabel_indicatesTimeUnit 3ms
โœ… AudiobookAccessibilityTests testSkipBackLabel_isDescriptiveWithDuration <1ms
โœ… AudiobookBackgroundAudioTests testContinuousPlayback_accumulatesCorrectly 22ms
โœ… AudiobookBackgroundAudioTests testInterruptedPlayback_savesPartialTime 6ms
โœ… AudiobookBookmarkBusinessLogicConcurrencyTests testConcurrentDeleteAndFetch_doesNotCrash 53ms
โœ… AudiobookBookmarkBusinessLogicConcurrencyTests testDeleteBookmark_thenFetch_filtersDeletedBookmark 421ms
โœ… AudiobookBookmarkBusinessLogicConcurrencyTests testSyncBookmarks_concurrentCallers_everyCompletionFiresExactlyOnce 205ms
โœ… AudiobookBookmarkBusinessLogicPositionWriteTests testIsAtBeginning_preservedAfterMigration_doesNotOverwriteValidPosition 18ms
โœ… AudiobookBookmarkBusinessLogicPositionWriteTests testSaveListeningPosition_delegatesNetworkSaveToPositionWriter 10ms
โœ… AudiobookBookmarkBusinessLogicPositionWriteTests testSaveListeningPosition_savesLocallyImmediately 781ms
โœ… AudiobookBookmarkBusinessLogicPositionWriteTests testSaveListeningPosition_writerError_doesNotCrash_completionCalledWithError 153ms
โœ… AudiobookBookmarkBusinessLogicPositionWriteTests testSaveListeningPosition_writerThrottled_localStillCommitted 429ms
โœ… AudiobookBookmarkBusinessLogicPositionWriteTests testTimestampNewerRace_preservedAfterMigration_keepsLocal 571ms
โœ… AudiobookBookmarkBusinessLogicTests testBusinessLogic_canBeInitialized 4ms
โœ… AudiobookBookmarkBusinessLogicTests testBusinessLogic_hasBookReference 1ms
โœ… AudiobookBookmarkBusinessLogicTests testDebounce_DeallocDuringPendingWork_DoesNotCrash 1.53s
โœ… AudiobookBookmarkBusinessLogicTests testDebounce_RapidCalls_OnlyLastSyncs 79ms
โœ… AudiobookBookmarkBusinessLogicTests testFlushPendingOperations_ExecutesPendingWork 1ms
โœ… AudiobookBookmarkBusinessLogicTests testFlush_AfterDealloc_DoesNotCrash 6ms
โœ… AudiobookBookmarkBusinessLogicTests testLoadTracks_succeeds 24ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_BothNil_ReturnsNil 1ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_LocalNewerThanRemote_UsesLocal 5ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_OnlyLocalExists_UsesLocal 4ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_OnlyRemoteExists_UsesRemote 4ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_RemoteNewerThanLocal_UsesRemote 6ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_SameTimestamp_UsesLocal 5ms
โœ… AudiobookBookmarkBusinessLogicTests testSaveBookmark_AddsToRegistry 1.02s
โœ… AudiobookBookmarkBusinessLogicTests testSaveBookmark_CreatesBookmark 1.01s
โœ… AudiobookBookmarkBusinessLogicTests testSaveListeningPositionSync_SavesImmediately 5ms
โœ… AudiobookBookmarkBusinessLogicTests testSaveListeningPosition_SavesLocallyImmediately 14ms
โœ… AudiobookBookmarkBusinessLogicTests testSaveListeningPosition_SyncsToServer 11ms
โœ… AudiobookBookmarkBusinessLogicTests testSaveListeningPosition_track0_29s_track1AlreadySaved_doesNotOverwriteWithBeginning 8ms
โœ… AudiobookBookmarkBusinessLogicTests testSaveListeningPosition_track0_time0_savesToServer 38ms
โœ… AudiobookBookmarkBusinessLogicTests testSyncBookmarks_MergesLocalAndRemote 25ms
โœ… AudiobookChapterTOCNormalizationTests testNormalizedChaptersCount_balancedTOC_returnsOriginalCount 2ms
โœ… AudiobookChapterTOCNormalizationTests testNormalizedChaptersCount_exactlyAtThreshold_returnsOriginal <1ms
โœ… AudiobookChapterTOCNormalizationTests testNormalizedChaptersCount_oneOverThreshold_collapses <1ms
โœ… AudiobookChapterTOCNormalizationTests testNormalizedChaptersCount_oversubdividedTOC_collapsesToTrackCount 314ms
โœ… AudiobookChapterTOCNormalizationTests testNormalizedChaptersCount_slightlyInflatedTOC_returnsOriginalCount 448ms
โœ… AudiobookChapterTOCNormalizationTests testNormalizedChaptersCount_zeroTracks_returnsOriginal 76ms
โœ… AudiobookColdLoadRecoveryTests testColdLoad_firstFailure_triggersAutoReopen <1ms
โœ… AudiobookColdLoadRecoveryTests testNoCurrentBook_doesNotAutoReopen <1ms
โœ… AudiobookColdLoadRecoveryTests testSecondFailure_alreadyAttempted_surfacesAlertNotLoop 2ms
โœ… AudiobookColdLoadRecoveryTests testWarmFailure_afterPlaybackStarted_doesNotAutoReopen 5ms
โœ… AudiobookCrossVendorSmokeTests testSmoke_BearerToken_wiresThroughTwoLegManifestFetch 14ms
โœ… AudiobookCrossVendorSmokeTests testSmoke_LCP_wiresThroughToAudiobooksFactory 640ms
โœ… AudiobookCrossVendorSmokeTests testSmoke_LocalFile_wiresThroughLocalManifestRead 40ms
โœ… AudiobookCrossVendorSmokeTests testSmoke_OpenAccess_wiresThroughSingleLegManifestFetch 5ms
โœ… AudiobookDataManagerEmptyQueueTests testSyncValues_withEmptyQueue_makesNoRequests 18ms
โœ… AudiobookDataManagerErrorHandlingTests testSyncValues_with404Response_removesEntriesAndURL 2.06s
โœ… AudiobookDataManagerErrorHandlingTests testSyncValues_with500Response_keepsEntriesForRetry 2.06s
โœ… AudiobookDataManagerErrorHandlingTests testSyncValues_with503Response_keepsEntriesForRetry 2.05s
โœ… AudiobookDataManagerErrorHandlingTests testSyncValues_withNetworkError_keepsEntries 2.04s
โœ… AudiobookDataManagerErrorHandlingTests testSyncValues_withPartialSuccess_removesOnlySuccessfulEntries 2.05s
โœ… AudiobookDataManagerModelsTests testAudiobookDataManagerStoreInit_empty 32ms
โœ… AudiobookDataManagerModelsTests testAudiobookDataManagerStoreInit_fromData_invalidJson_returnsNil <1ms
โœ… AudiobookDataManagerModelsTests testAudiobookDataManagerStoreInit_fromData_validJson <1ms
โœ… AudiobookDataManagerModelsTests testAudiobookDataManagerStoreJsonRepresentation <1ms
โœ… AudiobookDataManagerModelsTests testAudiobookDataManagerStoreRoundTrip 12ms
โœ… AudiobookDataManagerModelsTests testAudiobookTimeEntryCodable <1ms
โœ… AudiobookDataManagerModelsTests testAudiobookTimeEntryEquality <1ms
โœ… AudiobookDataManagerModelsTests testLibraryBookCodable <1ms
โœ… AudiobookDataManagerModelsTests testLibraryBookEquality <1ms
โœ… AudiobookDataManagerModelsTests testLibraryBookHashable 1ms
โœ… AudiobookDataManagerModelsTests testLibraryBookInit_directAndFromTimeEntryAreEqual <1ms
โœ… AudiobookDataManagerModelsTests testLibraryBookInit_fromTimeEntry <1ms
โœ… AudiobookDataManagerModelsTests testRequestDataInit_fromLibraryBookAndEntries <1ms
โœ… AudiobookDataManagerModelsTests testRequestDataInit_timeEntryDurationMapsToSecondsPlayed 44ms
โœ… AudiobookDataManagerModelsTests testRequestDataJsonRepresentation <1ms
โœ… AudiobookDataManagerModelsTests testRequestDataTimeEntryDescription <1ms
โœ… AudiobookDataManagerModelsTests testResponseDataInit_fromData_emptyResponses <1ms
โœ… AudiobookDataManagerModelsTests testResponseDataInit_fromData_invalidJson_returnsNil 1ms
โœ… AudiobookDataManagerModelsTests testResponseDataInit_fromData_validJson <1ms
โœ… AudiobookDataManagerModelsTests testResponseDataInit_jsonAndDirectProduceSameResult 6ms
โœ… AudiobookDataManagerNetworkSyncTests testAudiobookDataManager_Sync_InitializesCorrectly 9ms
โœ… AudiobookDataManagerNetworkSyncTests testSyncValues_requestBodyContainsCorrectFormat 1.01s
โœ… AudiobookDataManagerNetworkSyncTests testSyncValues_withMultipleBooks_makesRequestForEach 1.01s
โœ… AudiobookDataManagerNetworkSyncTests testSyncValues_withQueuedEntries_postsToCorrectURL 1.01s
โœ… AudiobookDataManagerNetworkSyncTests testSyncValues_withSuccessfulResponse_removesEntriesFromQueue 2.02s
โœ… AudiobookDataManagerSaveTests testDataManagerConformance_savesViaProtocol 6ms
โœ… AudiobookDataManagerSaveTests testSave_addsEntryToQueue 491ms
โœ… AudiobookDataManagerSaveTests testSave_multipleEntries_allQueued 8ms
โœ… AudiobookDataManagerSaveTests testSave_storesURLMapping 25ms
โœ… AudiobookDataManagerStoreRecoveryTests testAudiobookDataManagerStoreInit_rejectsMalformedPayloads 2ms
โœ… AudiobookDataManagerStoreRecoveryTests testAudiobookDataManagerStoreInit_withPartialData_returnsNil 2ms
โœ… AudiobookDataManagerStoreRecoveryTests testLoadStore_withCorruptedJSON_doesNotCrash 17ms
โœ… AudiobookDataManagerStoreRecoveryTests testLoadStore_withEmptyFile_doesNotCrash 3ms
โœ… AudiobookDataManagerStoreRecoveryTests testSaveAndLoadStore_preservesData 2.04s
โœ… AudiobookFileLoggerTests testCleanup_whenOverSizeLimit_deletesOldestFileFirst 43ms
โœ… AudiobookFileLoggerTests testGetLogsDirectoryUrl_directoryExists 3ms
โœ… AudiobookFileLoggerTests testGetLogsDirectoryUrl_returnsURL 1ms
โœ… AudiobookFileLoggerTests testInit_withCustomLogsRoot_usesProvidedDirectory 3ms
โœ… AudiobookFileLoggerTests testLogEvent_atExact2MBBoundary_appendsRatherThanRotates 84ms
โœ… AudiobookFileLoggerTests testLogEvent_concurrentWritesToSameBook_atLeastSomeEventsAppear 39ms
โœ… AudiobookFileLoggerTests testLogEvent_containsTimestamp 3ms
โœ… AudiobookFileLoggerTests testLogEvent_createsLogFile 2ms
โœ… AudiobookFileLoggerTests testLogEvent_multipleEvents_allAppear 5ms
โœ… AudiobookFileLoggerTests testRetrieveLog_atExact1MBBoundary_doesNotTruncate 18ms
โœ… AudiobookFileLoggerTests testRetrieveLog_nonexistentBook_returnsNil 1ms
โœ… AudiobookFileLoggerTests testRetrieveLog_truncatesAbove1MBAndPrependsMarker 21ms
โœ… AudiobookFileLoggerTests testRetrieveLogs_emptyBookIds_returnsEmptyDict 1ms
โœ… AudiobookFileLoggerTests testRetrieveLogs_multipleBooks 6ms
โœ… AudiobookFirstOpenHangTests testAwaitReadinessAndIssueFirstPlay_drivesProbeAndCommand_onProductionWiring 6ms
โœ… AudiobookFirstOpenHangTests testAwaitReadinessAndIssueFirstPlay_timeout_surfacesLoadFailure_andNeverIssuesPlay 181ms
โœ… AudiobookFirstOpenHangTests testAwaitReady_manyConcurrentAwaiters_parkedBeforeFailed_allResumeSameFailureReason 103ms
โœ… AudiobookFirstOpenHangTests testAwaitReady_manyConcurrentAwaiters_parkedBeforeReady_allResumeReady 118ms
โœ… AudiobookFirstOpenHangTests testConfirmLCPFirstPlay_engineBecameReadyDuringGateWait_suppressesReissue 59ms
โœ… AudiobookFirstOpenHangTests testConfirmLCPFirstPlay_engineNeverLoaded_exhaustsBudgetSilently_noError 346ms
โœ… AudiobookFirstOpenHangTests testConfirmLCPFirstPlay_engineNotReadyInitially_reissuesPlayUntilLoaded 154ms
โœ… AudiobookFirstOpenHangTests testConfirmLCPFirstPlay_engineReadyAfterFirstPlay_issuesExactlyOnePlay 8ms
โœ… AudiobookFirstOpenHangTests testFirstOpen_engineNeverReady_within2s_emitsLoadError 159ms
โœ… AudiobookFirstOpenHangTests testFirstOpen_engineNotReadyAtBindTime_awaitsReadiness_beforeIssuingPlay 134ms
โœ… AudiobookFirstOpenHangTests testNavBackAndReopen_secondOpenSucceeds_withoutDoublePlay 67ms
โœ… AudiobookFirstOpenHangTests testPresentLoadingShellIfEligible_doesNotFireOrPresent_whenInAppNavOff 8ms
โœ… AudiobookFirstOpenHangTests testPresentLoadingShellIfEligible_doesNotFire_whenNotStartPlaying 21ms
โœ… AudiobookFirstOpenHangTests testPresentLoadingShellIfEligible_presentsShellAndFiresHook_whenEligible 7ms
โœ… AudiobookLoadFailureSAMLReauthTests testRegressionForBug_SAMLOpenFailureGetsReauth_perHelpSpot17727 61ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldNotTrigger_forBasicAuthAccount 126ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldNotTrigger_forOAuthAccount 669ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldNotTrigger_onCancelledLoadEvenWhenSAMLStale 304ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldNotTrigger_whenAuthStateIsLoggedIn 276ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldNotTrigger_whenAuthStateIsLoggedOut 76ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldNotTrigger_whenCurrentBookIsNil 280ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldNotTrigger_whenNoStoredCredentials 86ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldTrigger_forAnyNonCancelledLoadErrorWhenSAMLStale 262ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldTrigger_whenStaleCredentialsAndSAMLAndBook 755ms
โœ… AudiobookLoaderDispatchTests testLoad_bearerTokenBook_dispatchesToBearerTokenAdapter 180ms
โœ… AudiobookLoaderDispatchTests testLoad_cancelDuringDispatch_surfacesCancelled 7ms
โœ… AudiobookLoaderDispatchTests testLoad_lcpBook_dispatchesToLCPAdapter 219ms
โœ… AudiobookLoaderDispatchTests testLoad_lcpPriorityOverOthers 128ms
โœ… AudiobookLoaderDispatchTests testLoad_localFileBook_dispatchesToLocalFileAdapter 99ms
โœ… AudiobookLoaderDispatchTests testLoad_noAdapterMatches_failsWithManifestFetchFailed 91ms
โœ… AudiobookLoaderDispatchTests testLoad_openAccessBook_dispatchesToOpenAccessAdapter 589ms
โœ… AudiobookLoaderFinalizeBuildTests test_audiobookLoadError_factoryFailedCarriesManifestType 2ms
โœ… AudiobookLoaderFinalizeBuildTests test_audiobookLoadError_manifestDecodingFailedCarriesUnderlying <1ms
โœ… AudiobookLoaderFinalizeBuildTests test_finalizeBuild_factoryReturnsNil_noEncryptedBlock_decodesFine 13ms
โœ… AudiobookLoaderFinalizeBuildTests test_finalizeBuild_factoryReturnsNil_throwsFactoryFailed 77ms
โœ… AudiobookLoaderFinalizeBuildTests test_finalizeBuild_invalidJSON_throwsManifestDecodingFailed 3ms
โœ… AudiobookLoaderFinalizeBuildTests test_finalizeBuild_nilDecryptor_doesNotTrap 343ms
โœ… AudiobookLoaderFinalizeBuildTests test_finalizeBuild_overdriveBook_passesBearerToken 9ms
โœ… AudiobookLoaderFinalizeBuildTests test_finalizeBuild_truncatedJSON_throwsCleanly <1ms
โœ… AudiobookLoaderFinalizeBuildTests test_finalizeBuild_validManifest_succeeds 12ms
โœ… AudiobookLoaderFinalizeBuildTests test_finalizeBuild_zeroTrackAudiobook_failsWithFactoryFailed_notSuccess 70ms
โœ… AudiobookLoaderFinalizeBuildTests test_finalizeBuild_zeroTrackOverdrive_premise_factoryReturnsNonNilButTrackless 5ms
โŠ˜ AudiobookLoaderOPDSShapeMatrixTests testHermeticGuard_clearingExpiredToken_unblocksAdapterRouting 36ms
โŠ˜ AudiobookLoaderOPDSShapeMatrixTests testMatrix_OPDS1XMLFeedTopLevelLCP_routesToLCP 47ms
โŠ˜ AudiobookLoaderOPDSShapeMatrixTests testMatrix_OPDS2JSONFeedNestedLCP_routesToLCP 6ms
โŠ˜ AudiobookLoaderOPDSShapeMatrixTests testMatrix_findawayTypedManifest_routesToOpenAccessAdapter 39ms
โŠ˜ AudiobookLoaderOPDSShapeMatrixTests testMatrix_nestedBearerTokenMIME_fallsThroughToOpenAccess 16ms
โŠ˜ AudiobookLoaderOPDSShapeMatrixTests testMatrix_openAccessNoDRM_routesToOpenAccessAdapter 9ms
โŠ˜ AudiobookLoaderOPDSShapeMatrixTests testMatrix_openAccessWithBearerToken_routesToBearerTokenAdapter 6ms
โŠ˜ AudiobookLoaderOPDSShapeMatrixTests testRefreshInProgressClassifier_matchesOnlyTheInProgressError 22ms
โœ… AudiobookLoaderPredicateTests testHasRefreshableCredentials_allPresent_returnsTrue 2ms
โœ… AudiobookLoaderPredicateTests testHasRefreshableCredentials_emptyPin_returnsFalse 16ms
โœ… AudiobookLoaderPredicateTests testHasRefreshableCredentials_emptyUsername_returnsFalse 47ms
โœ… AudiobookLoaderPredicateTests testHasRefreshableCredentials_nilPin_returnsFalse 2ms
โœ… AudiobookLoaderPredicateTests testHasRefreshableCredentials_nilTokenURL_returnsFalse <1ms
โœ… AudiobookLoaderPredicateTests testHasRefreshableCredentials_nilUsername_returnsFalse 2ms
โœ… AudiobookLoaderPredicateTests testLooksLikeHTMLResponse_applicationJSON_returnsFalse <1ms
โœ… AudiobookLoaderPredicateTests testLooksLikeHTMLResponse_noContentTypeHeader_returnsFalse <1ms
โœ… AudiobookLoaderPredicateTests testLooksLikeHTMLResponse_textHTMLWithCharset_returnsTrue 4ms
โœ… AudiobookLoaderPredicateTests testLooksLikeHTMLResponse_textHTML_returnsTrue 2ms
โœ… AudiobookLoaderPredicateTests testLooksLikeHTMLResponse_xhtml_returnsTrue 1ms
โœ… AudiobookLoaderTests testLoad_missingLocalFileAndUnreachableURL_failsWithManifestError 18ms
โœ… AudiobookLoaderTests testLoad_whenCancelledFirst_surfacesCancelledError 18ms
โœ… AudiobookMorphingPlayerViewTests testBookmarkErrorMessage_mapsPublicCasesToLocalizedCopy 3ms
โœ… AudiobookMorphingPlayerViewTests testBookmarkErrorMessage_unknownErrorFallsBackToGeneric 118ms
โœ… AudiobookMorphingPlayerViewTests testControlMetrics_landscapeTier_matchesToolkit <1ms
โœ… AudiobookMorphingPlayerViewTests testControlMetrics_narrowBoundary_isStrictlyLessThan370 2ms
โœ… AudiobookMorphingPlayerViewTests testControlMetrics_narrowTier_matchesToolkit 317ms
โœ… AudiobookMorphingPlayerViewTests testControlMetrics_standardPortraitTier_matchesToolkit <1ms
โœ… AudiobookMorphingPlayerViewTests testFormatTime_returnsExpectedTimecodes 3ms
โœ… AudiobookMorphingPlayerViewTests testRubberBand_nonUpwardOffsetPassesThrough 2ms
โœ… AudiobookMorphingPlayerViewTests testRubberBand_upwardPullIsResistedAndClamped 4ms
โœ… AudiobookMorphingPlayerViewTests testToastIsError_classifiesSuccessAndFailureCopy 5ms
โœ… AudiobookNetworkValidationTests testFullyDownloaded_bypassesNetworkRulesAcrossAllConnectivityCombinations 1ms
โœ… AudiobookNetworkValidationTests testFullyDownloaded_neverNeedsNetwork_offline <1ms
โœ… AudiobookNetworkValidationTests testStreaming_networkValidationCoversAllConnectivityCombinations 3ms
โœ… AudiobookOpenStateRaceTests testF016Repro_audiobookOpenAwaitsReadiness_doesNotSilentlyReadPastNilDetails 782ms
โœ… AudiobookOpenStateRaceTests testF016Repro_audiobookOpenUnderDetailsFailed_gateThrows_callerMapsToNotAuthenticated 234ms
โœ… AudiobookOpenStateRaceTests testIntegration_openAudiobook_underDetailsFailed_returnsNotAuthenticated 117ms
โœ… AudiobookPhoneAlertContentTests testLoaderAndUnknownErrors_returnNil_toAvoidDoubleAlerts <1ms
โœ… AudiobookPhoneAlertContentTests testValidationErrors_allProduceAlertContent 9ms
โœ… AudiobookPhoneAlertContentTests testWifiRequired_producesAlertContent 111ms
โœ… AudiobookPlaybackStateTests testPlaybackStartAndStop_cycle 22ms
โœ… AudiobookPlaybackStateTests testPlaybackStarted_canBeCalledMultipleTimes 18ms
โœ… AudiobookPlaybackStateTests testPlaybackStopped_canBeCalledWithoutStart 5ms
โœ… AudiobookPlaybackTests testAudiobookTimeEntry_DurationCappedAt60 3ms
โœ… AudiobookPlaybackTests testAudiobookTimeEntry_ValidDuration 3ms
โœ… AudiobookPlaybackTests testChapterIndex_ValidTrack 4ms
โœ… AudiobookPlaybackTests testChapterNavigation_NextChapter 3ms
โœ… AudiobookPlaybackTests testChapterNavigation_NextChapter_AtEnd 38ms
โœ… AudiobookPlaybackTests testChapterNavigation_PreviousChapter 4ms
โœ… AudiobookPlaybackTests testChapterNavigation_PreviousChapter_ClampsToZero 3ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_0_75x_CalculatesCorrectDuration 16ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_1_0x_CalculatesCorrectDuration 4ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_1_25x_CalculatesCorrectDuration 3ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_1_5x_CalculatesCorrectDuration 3ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_2_0x_CalculatesCorrectDuration 37ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_ContentPlayedCalculation 33ms
โœ… AudiobookPlaybackTests testSkipAhead_Adds30Seconds 33ms
โœ… AudiobookPlaybackTests testSkipAhead_ClampsToTrackEnd 11ms
โœ… AudiobookPlaybackTests testSkipAhead_WithinTrackDuration 4ms
โœ… AudiobookPlaybackTests testSkipBehind_ClampsToZero 3ms
โœ… AudiobookPlaybackTests testSkipBehind_Subtracts30Seconds 14ms
โœ… AudiobookPlaybackTests testSleepTimer_15Minutes 42ms
โœ… AudiobookPlaybackTests testSleepTimer_30Minutes 3ms
โœ… AudiobookPlaybackTests testSleepTimer_60Minutes 3ms
โœ… AudiobookPlaybackTests testSleepTimer_Expired 3ms
โœ… AudiobookPlaybackTests testSleepTimer_RemainingTime 3ms
โœ… AudiobookPlaybackTests testTrackPosition_Creation 3ms
โœ… AudiobookPlaybackTests testTrackPosition_ToAudioBookmark 4ms
โœ… AudiobookPlaybackTests testTrackPosition_ToTPPBookLocation 5ms
โœ… AudiobookPlaytimesLifecycleTests testPlaytimes_accountSwitchNotification_doesNotClearQueue 72ms
โœ… AudiobookPlaytimesLifecycleTests testPlaytimes_allCrossAccount_backgroundTaskStillEnds 139ms
โœ… AudiobookPlaytimesLifecycleTests testPlaytimes_crossAccountUpload_isSkipped_andQueuePreserved 74ms
โœ… AudiobookPlaytimesLifecycleTests testPlaytimes_midFlightCancellation_notReplayedByQueue 95ms
โœ… AudiobookPlaytimesLifecycleTests testPlaytimes_sameAccountUpload_postsNormally 550ms
โœ… AudiobookPlaytimesLifecycleTests testPlaytimes_switchBack_flushesPreservedEntries 876ms
โœ… AudiobookPositionAdapterContractTests test_audiobookSave_localFirstThenWriter 88ms
โœ… AudiobookPositionAdapterContractTests test_audiobookSave_preservesIsAtBeginningGuard 33ms
โœ… AudiobookPositionAdapterContractTests test_audiobookSave_preservesTimestampNewerRace 14ms
โœ… AudiobookPositionPolicyValidatorTests testValidate_NaNTimestamp_fails <1ms
โœ… AudiobookPositionPolicyValidatorTests testValidate_capMultiplier_isExactly1Point1 3ms
โœ… AudiobookPositionPolicyValidatorTests testValidate_finiteCheckRunsBeforeNegativeCheck 16ms
โœ… AudiobookPositionPolicyValidatorTests testValidate_happyPath_succeeds 1ms
โœ… AudiobookPositionPolicyValidatorTests testValidate_infiniteTimestamp_fails <1ms
โœ… AudiobookPositionPolicyValidatorTests testValidate_negativeTimestamp_fails 2ms
โœ… AudiobookPositionPolicyValidatorTests testValidate_positionAtExact110Percent_succeeds <1ms
โœ… AudiobookPositionPolicyValidatorTests testValidate_positionAtExactTotalDuration_succeeds <1ms
โœ… AudiobookPositionPolicyValidatorTests testValidate_positionExceeds110Percent_fails <1ms
โœ… AudiobookPositionPolicyValidatorTests testValidate_timestampExactlyAtNegativeBoundary_fails 2ms
โœ… AudiobookPositionPolicyValidatorTests testValidate_timestampZero_succeeds <1ms
โœ… AudiobookPositionPolicyValidatorTests testValidate_totalDurationNegative_skipsCapCheck 6ms
โœ… AudiobookPositionPolicyValidatorTests testValidate_totalDurationZero_skipsCapCheck <1ms
โœ… AudiobookPositionPolicyValidatorTests testValidate_trackKeyMismatch_fails <1ms
โœ… AudiobookPositionRestoreTests testIsUserAuthenticated_authDocLoadFailed_returnsFalse 37ms
โœ… AudiobookPositionRestoreTests testIsUserAuthenticated_noCurrentAccount_returnsFalse 49ms
โœ… AudiobookPositionRestoreTests testIsValidPosition_foreignKey_returnsFalse 18ms
โœ… AudiobookPositionRestoreTests testIsValidPosition_negativeTimestamp_returnsFalse 16ms
โœ… AudiobookPositionRestoreTests testIsValidPosition_validPosition_returnsTrue 9ms
โœ… AudiobookPositionRestoreTests testPreferRemote_noLocalPosition_prefersRemote 52ms
โœ… AudiobookPositionRestoreTests testPreferRemote_remoteNewerByExactly5s_keepsLocal 10ms
โœ… AudiobookPositionRestoreTests testPreferRemote_remoteNewerByLessThan5s_keepsLocal 13ms
โœ… AudiobookPositionRestoreTests testPreferRemote_remoteNewerByMoreThan5s_prefersRemote 17ms
โœ… AudiobookPositionRestoreTests testPreferRemote_remoteOlderThanLocal_keepsLocal 18ms
โœ… AudiobookPositionRestoreTests testPreferRemote_unparseableLocalTimestamp_prefersRemote 18ms
โœ… AudiobookPositionRestoreTests testPreferRemote_unparseableRemoteTimestamp_keepsLocal 11ms
โœ… AudiobookPositionRestoreTests testSelectMostRecentValidBookmark_allFailValidation_returnsNil 14ms
โœ… AudiobookPositionRestoreTests testSelectMostRecentValidBookmark_dropsCapExceedingCandidate_keepsValidOlder 42ms
โœ… AudiobookPositionRestoreTests testSelectMostRecentValidBookmark_ignoresArrayOrder_usesTimestamp 14ms
โœ… AudiobookPositionRestoreTests testSelectMostRecentValidBookmark_picksNewestByTimestamp 15ms
โœ… AudiobookPositionRestoreTests testValidationFailure_trackKeyInManifest_returnsNil 14ms
โœ… AudiobookPositionRestoreTests testValidationFailure_trackKeyNotInManifest_returnsTrackKeyFailure 22ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthForNilError 2ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthForNonSAMLAuth 2ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthForWrongCode 38ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthForWrongDomain 39ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthWithNilBook <1ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthWithoutCredentials 2ms
โœ… AudiobookSessionErrorDescriptionTests testAllErrorCases_haveNonEmptyDescriptions 1ms
โœ… AudiobookSessionErrorDescriptionTests testErrorEquatable_differentTypes 1ms
โœ… AudiobookSessionErrorDescriptionTests testErrorEquatable_sameTypes 82ms
โœ… AudiobookSessionErrorDescriptionTests testUnknownError_preservesCustomMessage <1ms
โœ… AudiobookSessionErrorExtTests testErrorDescriptions 39ms
โœ… AudiobookSessionErrorExtTests testErrorEquality 9ms
โœ… AudiobookSessionErrorExtTests testUnknownErrorDescription_preservesCallerMessageVerbatim 2ms
โœ… AudiobookSessionErrorExtTests testUnknownErrorEquality <1ms
โœ… AudiobookSessionErrorTests testAudiobookSessionError_Equatable 1ms
โœ… AudiobookSessionErrorTests testAudiobookSessionError_localizedDescription_isCaseSpecificAndPreservesUnknownMessage 36ms
โœ… AudiobookSessionErrorTests testRemoteCommandStatus_gatesOnActiveManager 2ms
โœ… AudiobookSessionManagerErrorMappingTests testMap_cancelled_isUnknown <1ms
โœ… AudiobookSessionManagerErrorMappingTests testMap_factoryFailed_isPlayerCreationFailed 4ms
โœ… 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 52ms
โœ… AudiobookSessionManagerFlagGatePresentationTests testDismissPlayerOnPhone_flagOn_clearsPresenter_andDoesNotPopCoordinator 13ms
โœ… AudiobookSessionManagerFlagGatePresentationTests testPresentSession_flagOff_pushesAudioRoute_andDoesNotDrivePresenter 119ms
โœ… AudiobookSessionManagerFlagGatePresentationTests testPresentSession_flagOn_drivesPresenter_andDoesNotPushAudioRoute 34ms
โœ… AudiobookSessionManagerPresenterMigrationTests testOpenAudiobook_firstOpen_callsPresenterPresentOnFirstOpen 8ms
โœ… AudiobookSessionManagerPresenterMigrationTests testOpenAudiobook_firstOpen_doesNotPushAudioRouteOnRealCoordinator 9ms
โœ… AudiobookSessionManagerPresenterMigrationTests testOpenAudiobook_firstOpen_setsPresenterIsPlayerExpandedTrue_beforeReadinessGateCompletes 7ms
โœ… AudiobookSessionManagerPresenterMigrationTests testOpenAudiobook_resumeFromMiniPlayer_doesNOTForceIsPlayerExpanded 109ms
โœ… AudiobookSessionManagerPresenterMigrationTests testOpenAudiobook_switchingAudiobooks_clearsPreviousPlaybackModel 9ms
โœ… AudiobookSessionManagerPresenterMigrationTests testStopPlayback_clearsPresenterPlaybackModel 40ms
โœ… AudiobookSessionManagerPresenterMigrationTests testStopPlayback_doesNotLeaveAudioModelInCoordinatorCache 7ms
โœ… AudiobookSessionManagerPresenterMigrationTests testStopPlayback_doesNotPopRealCoordinatorPath 11ms
โœ… AudiobookSessionManagerPresenterMigrationTests testStopPlayback_nilBook_flagOff_doesNotClear 9ms
โœ… AudiobookSessionManagerPresenterMigrationTests testStopPlayback_nilBook_flagOn_clearsActiveSession 12ms
โœ… AudiobookSessionManagerShutdownTests test_buildPlaybackFailureRecord_isCallableOffMainActor 751ms
โœ… AudiobookSessionManagerShutdownTests test_concurrentRemoteCommandsAndStopPlayback_teardownSerializes 60ms
โœ… AudiobookSessionManagerShutdownTests test_doubleStopPlayback_isIdempotent 85ms
โœ… AudiobookSessionManagerShutdownTests test_lifecycleNotifications_whileUnbound_areHandledSafely 919ms
โœ… AudiobookSessionManagerShutdownTests test_networkValidationError_fullyDownloadedBypassesAllNetworkRules 14ms
โœ… AudiobookSessionManagerShutdownTests test_networkValidationError_isPureAcrossManyCalls 57ms
โœ… AudiobookSessionManagerShutdownTests test_networkValidationError_wifiRequiredOnCellularWhileStreaming 11ms
โœ… AudiobookSessionManagerShutdownTests test_persistActivePositionForLifecycleEvent_unbound_isSafeNoOp 15ms
โœ… AudiobookSessionManagerShutdownTests test_rapidStopPlayback_leavesSessionInIdleState 46ms
โœ… AudiobookSessionManagerShutdownTests test_shouldPersistLifecyclePosition_requiresFullyBoundSession 11ms
โœ… AudiobookSessionManagerShutdownTests test_stopPlayback_emitsIdleStateToPublisher 8ms
โœ… AudiobookSessionManagerShutdownTests test_stopPlayback_neverBound_isFastNoOp 273ms
โœ… AudiobookSessionPresenterTests testChapterProgress_clampsPastChapterEnd 6ms
โœ… AudiobookSessionPresenterTests testChapterProgress_midChapter_isOffsetOverDuration 2ms
โœ… AudiobookSessionPresenterTests testChapterProgress_negativeOffset_clampsToZero 6ms
โœ… AudiobookSessionPresenterTests testChapterProgress_zeroDuration_returnsZeroNotNaN 5ms
โœ… AudiobookSessionPresenterTests testClearActiveSession_resetsChapterProgressFields 4ms
โœ… AudiobookSessionPresenterTests testErrorState_tearsDownSession_soPlaybackViewDoesNotLingerAfterFailedOpen 109ms
โœ… AudiobookSessionPresenterTests testExpand_setsIsPlayerExpandedTrue 4ms
โœ… AudiobookSessionPresenterTests testHasActiveSession_becomesFalseWhenSessionReturnsToIdle 106ms
โœ… AudiobookSessionPresenterTests testHasActiveSession_becomesTrueWhenSessionTransitionsToLoading 57ms
โœ… AudiobookSessionPresenterTests testHasActiveSession_becomesTrueWhenSessionTransitionsToPlaying 59ms
โœ… AudiobookSessionPresenterTests testHasActiveSession_isFalseWhenSessionIdle 54ms
โœ… AudiobookSessionPresenterTests testInit_freshPresenterWithIdleSession_hasNoActiveSessionAndCollapsedPlayer 3ms
โœ… AudiobookSessionPresenterTests testIsReaderActive_isPubliclyMutable_andPersistsTransitions 5ms
โœ… AudiobookSessionPresenterTests testMinimize_setsIsPlayerExpandedFalse 8ms
โœ… AudiobookSessionPresenterTests testPresentLoadingShell_adoptsBookAndCoverAndExpands_withNoPlaybackModelYet 31ms
โœ… AudiobookSessionPresenterTests testPresentLoadingShell_thenErrorState_tearsDownShell 55ms
โœ… AudiobookSessionPresenterTests testPresentLoadingShell_withNilCover_clearsCoverForPlaceholder 14ms
โœ… AudiobookSessionPresenterTests testPresentOnFirstOpen_setsIsPlayerExpandedTrue 4ms
โœ… AudiobookSessionPresenterTests testPresenter_adoptCoverImage_writesIntoPublishedMirror 5ms
โœ… AudiobookSessionPresenterTests testPresenter_adoptsNewPlaybackModel_clearsPriorCurrentLocationSubscription 105ms
โœ… AudiobookSessionPresenterTests testPresenter_clearActiveSession_clearsPolishPhaseFields 56ms
โœ… AudiobookSessionPresenterTests testPresenter_collapse_and_restore_areInertNoOps_isCollapsedStaysFalse 54ms
โœ… AudiobookSessionPresenterTests testPresenter_expand_minimize_expandAgain_drivesIsPlayerExpandedCorrectly_acrossThreeTransitions 4ms
โœ… AudiobookSessionPresenterTests testPresenter_isPlayingFlipsAfterSessionPublisherEmits 162ms
โœ… AudiobookSessionPresenterTests testPresenter_managerNotPlaying_reconcileLeavesGlyphOnPlay 5ms
โœ… AudiobookSessionPresenterTests testPresenter_minimize_landsOnFullBar_notStalePill 5ms
โœ… AudiobookSessionPresenterTests testPresenter_normalizedProgress_handlesEdgeCases 3ms
โœ… AudiobookSessionPresenterTests testPresenter_playheadAdvancesWhileManagerIsPlaying_reconcileSelfHealsPlayGlyph 7ms
โœ… AudiobookSessionPresenterTests testShowDownloadProgress_clampsOutOfRangeFractions 3ms
โœ… AudiobookSessionPresenterTests testShowDownloadProgress_clearedByClearActiveSession 3ms
โœ… AudiobookSessionPresenterTests testShowDownloadProgress_setsProgressAndDownloadingFlag 6ms
โœ… AudiobookSessionStateTests testErrorState 2ms
โœ… AudiobookSessionStateTests testIdleState 2ms
โœ… AudiobookSessionStateTests testLoadingState <1ms
โœ… AudiobookSessionStateTests testPausedState 208ms
โœ… AudiobookSessionStateTests testPlayingState 2ms
โœ… AudiobookSessionStateTests testStateEquality 2ms
โœ… AudiobookSessionStateTransitionTests testErrorState_isNotActive_butHasBookId 54ms
โœ… AudiobookSessionStateTransitionTests testIdleState_isNotActive 9ms
โœ… AudiobookSessionStateTransitionTests testLoadingState_isActive_andHasBookId 997ms
โœ… AudiobookSessionStateTransitionTests testPausedState_isActive_andHasBookId 8ms
โœ… AudiobookSessionStateTransitionTests testPlayingState_isActive_andHasBookId 30ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_cyclePlaybackRate_withoutManager_returnsNormalTime 39ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_initialState_isIdle 5ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_pause_withoutManager_doesNotCrash 335ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_play_withoutManager_doesNotCrash 30ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_skipToChapter_withoutManager_doesNotCrash 174ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_stopPlayback_publishesIdleState 1.55s
โœ… AudiobookSessionStateTransitionTests testSessionManager_stopPlayback_resetsState 238ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_togglePlayPause_withoutManager_doesNotCrash 61ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_updateCoverImage_nil_clearsImage 75ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_updateCoverImage_setsImage 11ms
โœ… AudiobookSessionStateTransitionTests testShouldStopPlayback_currentBookNonUnregistered_returnsFalse 6ms
โœ… AudiobookSessionStateTransitionTests testShouldStopPlayback_currentBookUnregistered_returnsTrue 11ms
โœ… AudiobookSessionStateTransitionTests testShouldStopPlayback_differentBookUnregistered_returnsFalse 151ms
โœ… AudiobookSessionStateTransitionTests testShouldStopPlayback_noCurrentBook_returnsFalse 13ms
โœ… AudiobookSessionStateTransitionTests testStateEquality_differentBookIds 1.23s
โœ… AudiobookSessionStateTransitionTests testStateEquality_differentStates 20ms
โœ… AudiobookSessionStateTransitionTests testStateEquality_sameStates 164ms
โœ… AudiobookSkipIntervalSettingsTests testAllowedOptions_areTheDefinedSet 2ms
โœ… AudiobookSkipIntervalSettingsTests testChangingOneDirection_doesNotMoveTheOther 4ms
โœ… AudiobookSkipIntervalSettingsTests testDefaults_whenUnset_areThirtySecondsEachDirection 4ms
โœ… AudiobookSkipIntervalSettingsTests testForwardAndBack_areIndependent 4ms
โœ… AudiobookSkipIntervalSettingsTests testInvalidValue_fallsBackToDefault 4ms
โœ… AudiobookSkipIntervalSettingsTests testRawInvalidValueInDefaults_readsBackAsDefault 4ms
โœ… AudiobookSkipIntervalSettingsTests testValues_persistAcrossStoreInstances 5ms
โœ… AudiobookSleepTimerIntegrationTests testEndOfChapterSleepTimer_savesPartialTime 640ms
โœ… AudiobookSleepTimerIntegrationTests testSleepTimer30Minutes_savesAllPlayedTime 1.11s
โœ… AudiobookSleepTimerIntegrationTests testSleepTimerCancelResume_preservesAllTime 205ms
โœ… AudiobookSleepTimerIntegrationTests testSleepTimerMultipleMinutes_createsSeparateEntries 397ms
โœ… AudiobookSleepTimerIntegrationTests testSleepTimerScenario_savesAllPlayedTime 272ms
โœ… AudiobookStorageLocationTests testApplicationSupportDirectoryExists <1ms
โœ… AudiobookStorageLocationTests testAudiobooksDirectoryPath 44ms
โœ… AudiobookStorageLocationTests testOverdriveDirectoryPath 11ms
โœ… AudiobookTOCTests testChapterName_MatchesAfterNavigation 3ms
โœ… AudiobookTOCTests testChapterName_SavedCorrectly 4ms
โœ… AudiobookTOCTests testChapter_AutoAdvanceToNext 11ms
โœ… AudiobookTOCTests testChapter_HasDuration 10ms
โœ… AudiobookTOCTests testChapter_PositionAtStart 4ms
โœ… AudiobookTOCTests testChapter_PositionInMiddle 10ms
โœ… AudiobookTOCTests testChapter_PositionPersistsAfterRestart 4ms
โœ… AudiobookTOCTests testChapter_SelectionPersistsAfterReturn 4ms
โœ… AudiobookTOCTests testChapter_TotalDuration 8ms
โœ… AudiobookTOCTests testTOC_ChaptersAreOrdered 45ms
โœ… AudiobookTOCTests testTOC_ChaptersHaveTitles 293ms
โœ… AudiobookTOCTests testTOC_ContentsAndBookmarksTabs 35ms
โœ… AudiobookTOCTests testTOC_HasChapters 4ms
โœ… AudiobookTOCTests testTOC_OpenFirstChapter 721ms
โœ… AudiobookTOCTests testTOC_OpenRandomChapter 108ms
โœ… AudiobookTOCTests testTOC_OpenSpecificChapter 785ms
โœ… AudiobookTOCTests testTOC_SwitchToBookmarks 4ms
โœ… AudiobookTOCTests testTOC_SwitchToChapters 7ms
โœ… AudiobookTimeEntryTests testTimeEntry_codableRoundTrip 4ms
โœ… AudiobookTimeEntryTests testTimeEntry_conformsToProtocol 2ms
โœ… AudiobookTimeEntryTests testTimeEntry_durationCanExceed60InStruct 1ms
โœ… AudiobookTimeEntryTests testTimeEntry_equality 3ms
โœ… AudiobookTimeEntryTests testTimeEntry_hashable 7ms
โœ… AudiobookTimeEntryTests testTimeEntry_storesProperties 632ms
โœ… AudiobookTimeTrackerEdgeTests testPlaybackStopped_savesAccumulatedTime_beforeCancellingTimer 10ms
โœ… AudiobookTimeTrackerEdgeTests testReceiveValue_crossingMinuteBoundary_savesEntry 7ms
โœ… AudiobookTimeTrackerEdgeTests testReceiveValue_withinSameMinute_doesNotSaveUntilStop 4ms
โœ… AudiobookTimeTrackerEdgeTests testStopAndSave_calledMultipleTimes_doesNotDuplicate 29ms
โœ… AudiobookTimeTrackerEdgeTests testTimeEntry_containsCorrectBookAndLibraryIds 3ms
โœ… AudiobookTimeTrackerEdgeTests testTimeEntry_durationCappedAt60_andIsNonNegativeAtInit 8ms
โœ… AudiobookTimeTrackerEdgeTests testTimeEntry_duringMinute_isUTCFormat 13ms
โœ… AudiobookTimeTrackerEdgeTests testZeroDuration_isNotSaved 11ms
โœ… AudiobookTimeTrackerLifecycleTests testAppTerminationNotification_savesData 1.02s
โœ… AudiobookTimeTrackerLifecycleTests testStopAndSave_canBeCalledMultipleTimes 100ms
โœ… AudiobookTimeTrackerLifecycleTests testStopAndSave_savesAllAccumulatedTime 56ms
โœ… AudiobookTimeTrackerLifecycleTests testTimeEntryProperty_isThreadSafe 11ms
โœ… AudiobookTimeTrackerLifecycleTests testTrackerDeallocation_savesAccumulatedTime 922ms
โœ… AudiobookTimeTrackerTests testExactMinuteOfPlayback_savesCorrectTimeEntry 150ms
โœ… AudiobookTimeTrackerTests testMultipleMinuteBoundaries_createsMultipleEntries 20ms
โœ… AudiobookTimeTrackerTests testNoPlayback_savesNoTimeEntry 26ms
โœ… AudiobookTimeTrackerTests testPlaybackStarted_savesCorrectAggregateTime 22ms
โœ… AudiobookTimeTrackerTests testPlaybackStopped_stopsTimer 137ms
โœ… AudiobookTimeTrackerTests testSaveCurrentDuration_savesTimeEntryCorrectly 234ms
โœ… AudiobookTimeTrackerTests testTimeEntries_areInUTC 14ms
โœ… AudiobookTimeTrackerTests testTimeEntries_areLimitedTo60Seconds 13ms
โœ… AudiobookTimeTrackerTests testTimeEntry_hasCorrectMetadata 4ms
โœ… AudiobookTrackCompletionTests testTrackerFinalize_savesAccumulatedTime 16ms
โœ… AudiobookTrackCompletionTests testZeroDuration_notSaved 10ms
โœ… AudiobookTypeRoutingTests testAudiobookLCPBook_hasExpectedIdentifiers 3ms
โœ… AudiobookTypeRoutingTests testBearerTokenBook_hasExpectedIdentifiers 65ms
โœ… AudiobookTypeRoutingTests testLCPAudiobook_canOpenBook_usesCorrectAcquisitionType 7ms
โœ… AudiobookTypeRoutingTests testOpenAccessAudiobook_hasExpectedIdentifiers 745ms
โœ… AudiobookTypeRoutingTests testReadiumLCPBook_hasExpectedIdentifiers 7ms
โœ… AudiobookVendorAdapterTests testFirstMatchPriorityOrder 524ms
โœ… AudiobookVendorAdapterTests testFirstMatchPriorityOrder_skipsNonClaimingAdapter 3ms
โœ… AudiobookVendorAdapterTests testProtocol_canHandleMustBeSync 5ms
โœ… AudiobookVendorAdapterTests testProtocol_resolveManifestSignature_propagatesFailure 3ms
โœ… AudiobookVendorAdapterTests testProtocol_resolveManifestSignature_propagatesSuccess 719ms
โœ… AudiobookmarkTests testDecodeEarlyBookmark 5ms
โœ… AudiobookmarkTests testDecodeLocatorAudioBookTime2 3ms
โœ… AudiobookmarkTests testDecodeNewerBookmark 123ms
โœ… AudiobookmarkTests testEncodeAndDecodeBookmark 1ms
โœ… AuthCoordinatorTelemetryTests testAppContainerProduction_wiresAuthCoordinator 1ms
โœ… AuthCoordinatorTelemetryTests testCoordinator_payload_idpType_reflectsMechanismProvider 3ms
โœ… AuthCoordinatorTelemetryTests testCoordinator_payload_libraryUUID_reflectsProviderClosure 2ms
โœ… AuthCoordinatorTelemetryTests testCoordinator_refreshFlow_emitsStartAndEnd_correlatedByID 3ms
โœ… AuthCoordinatorTelemetryTests testCoordinator_samlModalCancel_emitsCancelSubEvent_forFastDashboardFilter 4ms
โœ… AuthDecisionEventEmissionTests testErrorCode_classifierClassified_is1001 1ms
โœ… AuthDecisionEventEmissionTests testErrorCode_partitionsPerStep_eachStepGetsDistinctCode 511ms
โœ… AuthDecisionEventEmissionTests testErrorDomain_isStableValue_distinctFromPlaybackFailureDomain 1ms
โœ… AuthDecisionEventEmissionTests testErrorUserInfo_dropsAbsentFields 6ms
โœ… AuthDecisionEventEmissionTests testErrorUserInfo_includesAllDashboardFields 2ms
โœ… AuthDecisionEventEmissionTests testErrorUserInfo_includesNSLocalizedDescription_withStepAndDecision 2ms
โœ… AuthDecisionEventEmissionTests testProductionRecorder_constructsWithoutCrash 10ms
โœ… AuthDocumentContractTests testAuthDocument_HasRequiredLinks 56ms
โœ… AuthDocumentContractTests testParseAuthDocument_ExtractsAllFields 2ms
โœ… AuthDocumentVariantsContractTests testOAuthAuthDocument_FeatureFlagsExpressedViaDisabledList 2ms
โœ… AuthDocumentVariantsContractTests testOAuthAuthDocument_HasMultipleAuthMethods 11ms
โœ… AuthDocumentVariantsContractTests testSAMLAuthDocument_HasAnnouncements 4ms
โœ… AuthDocumentVariantsContractTests testSAMLAuthDocument_HasRequiredLinks 6ms
โœ… AuthDocumentVariantsContractTests testSAMLAuthDocument_ParsesWithSAMLType 1ms
โœ… AuthErrorCategoryTests testHTTPURLResponse_bare401WithoutProblemDoc_shouldIndicateAuthRefresh <1ms
โœ… AuthErrorCategoryTests testHTTPURLResponse_withOldCredentialsInvalidType_shouldIndicateAuthRefresh 10ms
โœ… AuthErrorCategoryTests testHTTPURLResponse_withRecoverableError_shouldIndicateAuthRefresh 5ms
โœ… AuthErrorCategoryTests testHTTPURLResponse_withUnrecoverableError_shouldNotIndicateAuthRefresh <1ms
โœ… AuthErrorCategoryTests testHTTPURLResponse_withUnrecoverableNoAccess_shouldNotIndicateAuthRefresh <1ms
โœ… AuthErrorCategoryTests testProblemDocument_nilType_isNeitherCategory <1ms
โœ… AuthErrorCategoryTests testProblemDocument_nonAuthType_isNeitherCategory <1ms
โœ… AuthErrorCategoryTests testProblemDocument_recoverableSAMLBearerTokenInvalid_isRecoverable 4ms
โœ… AuthErrorCategoryTests testProblemDocument_recoverableSAMLSessionExpired_isRecoverable <1ms
โœ… AuthErrorCategoryTests testProblemDocument_recoverableTokenExpired_isRecoverable <1ms
โœ… AuthErrorCategoryTests testProblemDocument_unrecoverableInvalidCredentials_isUnrecoverable <1ms
โœ… AuthErrorCategoryTests testProblemDocument_unrecoverableNoAccess_isUnrecoverable <1ms
โœ… AuthErrorProblemDocSeamTests testMakeFromHTTPResponse_PreservesCallerUserInfo <1ms
โœ… AuthErrorProblemDocSeamTests testMakeFromHTTPResponse_WithNonJSONBody_NoProblemDoc 2ms
โœ… AuthErrorProblemDocSeamTests testMakeFromHTTPResponse_WithProblemDocBody_EmbedsDoc 2ms
โœ… AuthErrorProblemDocSeamTests testRewrappedError_PreservesUpstreamProblemDocument 1ms
โœ… AuthErrorProblemDocSeamTests testTokenRequest_On403WithProblemDoc_FlowsThroughToUserFacingTitle 46ms
โœ… AuthErrorProblemDocSeamTests testTokenRequest_On403WithoutProblemDoc_FallsBackToGenericTitle 40ms
โŠ˜ AuthFlowSecurityTests testSession_identifierRotatedOnSignIn 22ms
โŠ˜ AuthFlowSecurityTests testToken_networkExecutorRefreshCount_singleFlightSemantics 161ms
โŠ˜ AuthFlowSecurityTests testToken_reauthenticatorCallCount_observableForRawCallAssertion 3ms
โœ… AuthReducerTests testAuthDocumentLoadCompleted_clearsLoadingFlag 2ms
โœ… AuthReducerTests testAuthDocumentLoadStarted_setsLoadingFlag <1ms
โœ… AuthReducerTests testBearerTokenReceived_storesTokenAndExpiration <1ms
โœ… AuthReducerTests testClassifyValidationError_genericError_fallsBackToInvalidCredentials <1ms
โœ… AuthReducerTests testClassifyValidationError_networkConnectivityError_returnsConnectivityCopy 1ms
โœ… AuthReducerTests testClassifyValidationError_problemDocument_takesPrecedenceOverEverything <1ms
โœ… AuthReducerTests testCredentialCaptureStarted_acceptsNilCredentials <1ms
โœ… AuthReducerTests testCredentialCaptureStarted_storesBarcodeAndPinAndClearsStaleError <1ms
โœ… AuthReducerTests testCredentialsValidationFailed_clearsFlagAndSurfacesError <1ms
โœ… AuthReducerTests testCredentialsValidationStarted_setsFlagAndClearsAnyPriorError 8ms
โœ… AuthReducerTests testCredentialsValidationSucceeded_clearsFlagWithoutTouchingCapturedCreds 1ms
โœ… AuthReducerTests testErrorCleared_dropsPriorErrorWithoutTouchingOtherFields <1ms
โœ… AuthReducerTests testLoggingInAfterSignUpFlagSet_storesValue <1ms
โœ… AuthReducerTests testRefreshAuthStarted_basicAuth_neverArmsBypass 3ms
โœ… AuthReducerTests testRefreshAuthStarted_oauthNonExisting_armsIgnoreSignedInState <1ms
โœ… AuthReducerTests testRefreshAuthStarted_oidcNonExisting_armsIgnoreSignedInState <1ms
โœ… AuthReducerTests testRefreshAuthStarted_samlNonExisting_armsIgnoreSignedInState <1ms
โœ… 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 <1ms
โœ… AuthTypeTests testAuthType_CoppaRawValue_IsCorrect <1ms
โœ… AuthTypeTests testAuthType_InitFromInvalidString_ReturnsNil 109ms
โœ… AuthTypeTests testAuthType_OAuthRawValue_IsCorrect 65ms
โœ… AuthTypeTests testAuthType_SamlRawValue_IsCorrect 725ms
โœ… AuthTypeTests testAuthType_TokenRawValue_IsCorrect 1ms
โœ… AuthenticationTests testCatalogRequiresAuthentication_ForBasicType_ReturnsFalse 5ms
โœ… AuthenticationTests testCatalogRequiresAuthentication_ForOAuthType_ReturnsTrue 22ms
โœ… AuthenticationTests testCoppaURL_WhenOfAge_ReturnsOverUrl <1ms
โœ… AuthenticationTests testCoppaURL_WhenUnderAge_ReturnsUnderUrl <1ms
โœ… AuthenticationTests testIsBasic_ForBasicType_ReturnsTrue <1ms
โœ… AuthenticationTests testIsOauth_ForOAuthType_ReturnsTrue <1ms
โœ… AuthenticationTests testIsSaml_ForSamlType_ReturnsTrue <1ms
โœ… AuthenticationTests testIsToken_ForTokenType_ReturnsTrue <1ms
โœ… AuthenticationTests testNeedsAgeCheck_ForBasicType_ReturnsFalse 23ms
โœ… AuthenticationTests testNeedsAgeCheck_ForCoppaType_ReturnsTrue 94ms
โœ… AuthenticationTests testNeedsAuth_ForAnonymousType_ReturnsFalse <1ms
โœ… AuthenticationTests testNeedsAuth_ForBasicType_ReturnsTrue <1ms
โœ… AuthenticationTests testNeedsAuth_ForCoppaType_ReturnsFalse <1ms
โœ… AuthenticationTests testNeedsAuth_ForOAuthType_ReturnsTrue 31ms
โœ… AuthenticationTests testNeedsAuth_ForSamlType_ReturnsTrue <1ms
โœ… AuthenticationTests testNeedsAuth_ForTokenType_ReturnsTrue 2ms
โœ… BackgroundDownloadHandlerTests testDetectRightsManagement_adobeAdept 1ms
โœ… BackgroundDownloadHandlerTests testDetectRightsManagement_bearerToken 4ms
โœ… BackgroundDownloadHandlerTests testDetectRightsManagement_epubZip 1ms
โœ… BackgroundDownloadHandlerTests testDetectRightsManagement_readiumLCP 5ms
โœ… BackgroundDownloadHandlerTests testDetectRightsManagement_unknownType 114ms
โœ… BackgroundDownloadHandlerTests testHandleDownloadProgress_firstBytes_detectsMimeType 11ms
โœ… BackgroundDownloadHandlerTests testHandleDownloadProgress_noDelegate_doesNotCrash 7ms
โœ… BackgroundDownloadHandlerTests testInit_withDelegate <1ms
โœ… BackgroundDownloadHandlerTests testInit_withoutDelegate 4ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_applicationXml 2ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_atomXml 292ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_caseInsensitive 12ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_epub_returnsFalse 1ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_html_returnsFalse 1ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_json_returnsFalse 2ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_opdsCatalog 2ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_textXml 2ms
โœ… BackgroundDownloadHandlerTests testMoveFile_moveFailure_logsError 4ms
โœ… BackgroundDownloadHandlerTests testMoveFile_noDelegate_returnsFalse 43ms
โœ… BackgroundDownloadHandlerTests testMoveFile_noFileUrl_returnsFalse 3ms
โœ… BackgroundDownloadHandlerTests testMoveFile_success_setsDownloadSuccessful 521ms
โœ… BackgroundDownloadHandlerTests testReplaceBook_existingFile_replacesIt 10ms
โœ… BackgroundDownloadHandlerTests testReplaceBook_noDelegate_returnsFalse 313ms
โœ… BackgroundDownloadHandlerTests testReplaceBook_noFileUrl_returnsFalse 3ms
โœ… BackgroundDownloadHandlerTests testReplaceBook_success_setsDownloadSuccessful 18ms
โœ… BackgroundDownloadHandlerTests testValidateDownloadedFile_emptyFile_returnsFalse 4ms
โœ… BackgroundDownloadHandlerTests testValidateDownloadedFile_existingFileWithContent_returnsTrue 453ms
โœ… BackgroundDownloadHandlerTests testValidateDownloadedFile_missingFile_returnsFalse 4ms
โœ… BackgroundListenerTests testOpenAccessListenerIdentifiesCorrectSessions 89ms
โœ… BackgroundListenerTests testOverdriveListenerIdentifiesCorrectSessions 8ms
โœ… BackgroundSessionRoutingTests testDownloadCenterIdentifier_hasExpectedSuffix 2ms
โœ… BackgroundSessionRoutingTests testFinishEvents_afterClear_newHandlerCanBeStoredAndFiredOnce 59ms
โœ… BackgroundSessionRoutingTests testFinishEvents_invokesStoredHandlerOnce 2ms
โœ… BackgroundSessionRoutingTests testFinishEvents_withNoStoredHandler_isNoOp 4ms
โœ… BackgroundSessionRoutingTests testIsDownloadCenterBackgroundSession_matchesOwnIdentifier 2ms
โœ… BackgroundSessionRoutingTests testIsDownloadCenterBackgroundSession_rejectsAudiobookIdentifier 91ms
โœ… BackupExclusionMigrationTests test_run_continuesAfterMissingRoot_doesNotPoisonSubsequentRoots 2ms
โœ… BackupExclusionMigrationTests test_run_flagsFilesAddedBetweenInvocations 2ms
โœ… BackupExclusionMigrationTests test_run_recursivelyFlagsEveryFileAndDirectory 3ms
โœ… BadgeDefinitionTests testBadgeCatalog_ContainsAllBadges 1ms
โœ… BadgeDefinitionTests testBadgeCatalog_HasUniqueIDs 2ms
โœ… BadgeDefinitionTests testFiftyBooksClub_CapsAtOne 95ms
โœ… BadgeDefinitionTests testFiftyBooksClub_FailingCriteria 1ms
โœ… BadgeDefinitionTests testFiftyBooksClub_Metadata 157ms
โœ… BadgeDefinitionTests testFiftyBooksClub_PassingCriteria 3ms
โœ… BadgeDefinitionTests testFiftyBooksClub_ProgressCalculation <1ms
โœ… BadgeDefinitionTests testHundredBooksClub_FailingCriteria 1ms
โœ… BadgeDefinitionTests testHundredBooksClub_Metadata 2ms
โœ… BadgeDefinitionTests testHundredBooksClub_PassingCriteria 4ms
โœ… BadgeDefinitionTests testHundredBooksClub_ProgressCalculation 2ms
โœ… BadgeDefinitionTests testHundredBooksClub_ZeroCompletions <1ms
โœ… BadgeDefinitionTests testMakeBadge_DefaultsToNotEarned 28ms
โœ… BadgeDefinitionTests testMakeBadge_ProducesCorrectBadge 4ms
โœ… BadgeDefinitionTests testSpeedReader_FailingCriteria_MultiDayRead 9ms
โœ… BadgeDefinitionTests testSpeedReader_Metadata 1ms
โœ… BadgeDefinitionTests testSpeedReader_PassingCriteria_SameDayStartAndFinish <1ms
โœ… BadgeDefinitionTests testSpeedReader_ProgressWithCompletionsButNoneSameDay <1ms
โœ… BadgeDefinitionTests testSpeedReader_ZeroProgress_NoCompletions 104ms
โœ… BadgeDefinitionTests testStreakImmortal_CapsAtOne <1ms
โœ… BadgeDefinitionTests testStreakImmortal_FailingCriteria 1ms
โœ… BadgeDefinitionTests testStreakImmortal_Metadata <1ms
โœ… BadgeDefinitionTests testStreakImmortal_PassingCriteria 2ms
โœ… BadgeDefinitionTests testStreakImmortal_ProgressCalculation <1ms
โœ… BadgeDefinitionTests testStreakLegend_FailingCriteria 1ms
โœ… BadgeDefinitionTests testStreakLegend_Metadata 3ms
โœ… BadgeDefinitionTests testStreakLegend_PassingCriteria <1ms
โœ… BadgeDefinitionTests testStreakLegend_ProgressCalculation 70ms
โœ… BadgeDefinitionTests testStreakLegend_UsesLongestStreak 3ms
โœ… BadgeDefinitionTests testWeekendWarrior_FailingCriteria_NoWeekendSessions 7ms
โœ… BadgeDefinitionTests testWeekendWarrior_Metadata 12ms
โœ… BadgeDefinitionTests testWeekendWarrior_PassingCriteria_FourConsecutiveWeekends 1ms
โœ… BadgeDefinitionTests testWeekendWarrior_ProgressCalculation_TwoWeekends 204ms
โœ… BadgeServiceTests testAllBadgesAreDefined 23ms
โœ… BadgeServiceTests testAudiobookAdventurerEarned 8ms
โœ… BadgeServiceTests testBadgeEarnedNotificationFires 6ms
โœ… BadgeServiceTests testEarlyBirdBadge 6ms
โœ… BadgeServiceTests testFirstBookFinishedBadge 7ms
โœ… BadgeServiceTests testFirstBookNotEarnedWithNoCompletions 5ms
โœ… BadgeServiceTests testGenreExplorerProgress 8ms
โœ… BadgeServiceTests testInProgressBadges 11ms
โœ… BadgeServiceTests testLibraryExplorerProgress 3ms
โœ… BadgeServiceTests testLockedBadges 9ms
โœ… BadgeServiceTests testMarathonReaderEarned 6ms
โœ… BadgeServiceTests testMarathonReaderProgress 3ms
โœ… BadgeServiceTests testNightOwlBadge 16ms
โœ… BadgeServiceTests testStreakMasterProgress 29ms
โœ… BadgeServiceTests testTenBooksClubEarned 62ms
โœ… BadgeServiceTests testTenBooksClubProgress 5ms
โœ… BadgeUnlockPhaseTests testAnimation_idleRestsWithoutAnimation <1ms
โœ… BadgeUnlockPhaseTests testAnimation_popAndSettle_useSharedMotion 3ms
โœ… BadgeUnlockPhaseTests testPhaseOrder_isIdleThenPopThenSettle 3ms
โœ… BadgeUnlockPhaseTests testPop_scalesUp_whileIdleAndSettleRestAtUnitScale 811ms
โœ… BadgesViewModelTests testBadgeCategories_AreMutuallyExclusive 2ms
โœ… BadgesViewModelTests testInitialState_HasEmptyBadgeLists <1ms
โœ… BadgesViewModelTests testInitialState_IsNotLoading <1ms
โœ… BadgesViewModelTests testInitialState_NoSelectedBadge <1ms
โœ… BadgesViewModelTests testLoad_PopulatesEarnedBadges 1ms
โœ… BadgesViewModelTests testLoad_PopulatesInProgressBadges 2ms
โœ… BadgesViewModelTests testLoad_PopulatesLockedBadges 1ms
โœ… BadgesViewModelTests testLoad_SetsIsLoadingFalseOnCompletion <1ms
โœ… BadgesViewModelTests testNewBadgeNotification_AddsToBadgeIDs 2ms
โœ… BadgesViewModelTests testNewBadgeNotification_TriggersReload 53ms
โœ… BadgesViewModelTests testProgressSummary_FormatsCorrectly <1ms
โœ… BadgesViewModelTests testProgressSummary_ZeroEarned 49ms
โœ… BadgesViewModelTests testSelectBadge_SetsSelectedBadge 12ms
โœ… BadgesViewModelTests testTotalBadgesCount_MatchesCatalogCount 38ms
โœ… BasicAuthEmptyCredentialTests testHandleChallenge_EmptyUsername_StillUsesCredential 191ms
โœ… BasicAuthEmptyCredentialTests testHandleChallenge_NilPassword_CancelsChallenge 9ms
โœ… BasicAuthEmptyCredentialTests testHandleChallenge_NilUsername_CancelsChallenge <1ms
โœ… BasicAuthEmptyCredentialTests testHandleChallenge_ValidCredentials_UsesCredentialWithNoPersistence 2ms
โœ… BearerTokenAdapterTests testCanHandle_anyBookWithAcquisition_returnsTrue 9ms
โœ… BearerTokenAdapterTests testResolveManifest_bearerTokenFetchFails_failsWithManifestFetchFailed 82ms
โœ… BearerTokenAdapterTests testResolveManifest_bearerTokenFetchSuccess_completesWithRealManifest 16ms
โœ… BearerTokenAdapterTests testResolveManifest_detectsBearerTokenInResponse_recursesToLocationURL 176ms
โŠ˜ BearerTokenAdapterTests testResolveManifest_setsBookBearerTokenSideEffect 42ms
โœ… BearerTokenFulfillFlowTests testFulfillURL_andManifestURL_areDifferentEndpoints 12ms
โœ… BearerTokenFulfillFlowTests testFullFlow_bearerTokenWithExpiredManifestFetch_returnsNil 3ms
โœ… BearerTokenFulfillFlowTests testFullFlow_fulfillReturnsBearerToken_thenManifestIsFetched 10ms
โœ… BearerTokenFulfillFlowTests testFullFlow_manifestResponseIsNotMistakenForBearerToken <1ms
โœ… BearerTokenRefreshTests testRefreshRequest_includesAuthHeader 1ms
โœ… BearerTokenRefreshTests testRefreshRequest_withoutToken_noAuthHeader 1ms
โœ… BearerTokenRefreshTests testSimplifiedBearerToken_isExpired_withPastDate 2ms
โœ… BearerTokenRefreshTests testSimplifiedBearerToken_isNotExpired_withFutureDate <1ms
โœ… BearerTokenResponseDetectionTests testAudiobookManifestJSON_isNotMistakenForBearerToken 21ms
โœ… BearerTokenResponseDetectionTests testBearerTokenJSON_isDetectedCorrectly 5ms
โœ… BearerTokenResponseDetectionTests testBearerTokenJSON_withExpirationKey_isDetected <1ms
โœ… BearerTokenResponseDetectionTests testManifestWithAccessTokenKey_butNoLocation_isNotBearerToken <1ms
โœ… BearerTokenResponseDetectionTests testManifestWithLocationKey_butNoAccessToken_isNotBearerToken 2ms
โœ… BearerTokenResponseDetectionTests testNonBearerJSONShapes_areRejected <1ms
โœ… BearerTokenResponseDetectionTests testProblemDocumentJSON_isNotBearerToken <1ms
โœ… BeginningPositionPolicyTests testIsAtBeginning_negativePlaybackTime_isNotBeginning 1ms
โœ… BeginningPositionPolicyTests testIsAtBeginning_negativeTrackIndex_isNotBeginning <1ms
โœ… BeginningPositionPolicyTests testIsAtBeginning_track0_29s_isNotBeginning 2ms
โœ… BeginningPositionPolicyTests testIsAtBeginning_track0_30s_isNotBeginning 48ms
โœ… BeginningPositionPolicyTests testIsAtBeginning_track0_smallestPositiveTime_isNotBeginning 1ms
โœ… BeginningPositionPolicyTests testIsAtBeginning_track0_time0_isBeginning 67ms
โœ… BeginningPositionPolicyTests testIsAtBeginning_track1_anyTime_isNotBeginning 4ms
โœ… BeginningPositionPolicyTests testIsAtBeginning_track1_time0_isNotBeginning <1ms
โœ… BookAvailabilityFormatterTests test_isDate_crossDayBoundary 1ms
โœ… BookAvailabilityFormatterTests test_isDate_crossYearBoundary 1ms
โœ… BookAvailabilityFormatterTests test_isDate_emptyStrings_returnsFalse 4ms
โœ… BookAvailabilityFormatterTests test_isDate_invalidDateStrings_returnsFalse <1ms
โœ… BookAvailabilityFormatterTests test_isDate_moreRecentThan_newerDate_isMoreRecent 21ms
โœ… BookAvailabilityFormatterTests test_isDate_moreRecentThan_olderDate_notMoreRecent 1ms
โœ… BookAvailabilityFormatterTests test_isDate_moreRecentThan_sameDate_notMoreRecent 1ms
โœ… BookAvailabilityFormatterTests test_isDate_negativeDelay_makesNewerDateFail 4ms
โœ… BookAvailabilityFormatterTests test_isDate_newerDateWithDelay_alwaysPasses 1ms
โœ… BookAvailabilityFormatterTests test_isDate_oneSecondDifference_noDelay 1ms
โœ… BookAvailabilityFormatterTests test_isDate_sameTimestamp_withSmallDelay_returnsTrue 3ms
โœ… BookAvailabilityFormatterTests test_isDate_withInsufficientDelay_olderDateStillFails 29ms
โœ… BookAvailabilityFormatterTests test_isDate_withPositiveDelay_makesOlderDatePassAsNewer 65ms
โœ… BookAvailabilityFormatterTests test_syncDecision_bothExist_localNewer_usesLocal <1ms
โœ… BookAvailabilityFormatterTests test_syncDecision_bothExist_remoteNewer_promptsSync <1ms
โœ… BookAvailabilityFormatterTests test_syncDecision_localExistsRemoteNil_localIsUsed <1ms
โœ… BookAvailabilityFormatterTests test_syncDecision_localNilRemoteExists_remoteIsNewer 1ms
โœ… BookAvailabilityFormatterTests test_syncDecision_localNilRemoteNil_noSync 1ms
โœ… BookButtonMapperHoldReadyTests testMap_DownloadingState_Unaffected 8ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_LimitedNoCopiesAvailability_ReturnsHolding 44ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_LimitedWithCopiesAvailability_ReturnsHolding 1ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_NilAvailability_ReturnsHolding 61ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_ReadyAvailability_ReturnsCanBorrow <1ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_ReservedAvailability_ReturnsHolding 108ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_UnavailableAvailability_ReturnsHolding <1ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_UnlimitedAvailability_ReturnsHolding <1ms
โœ… BookButtonMapperHoldReadyTests testMap_ProcessingDownload_Unaffected <1ms
โœ… BookButtonMapperHoldReadyTests testStateForAvailability_dispatchesEachAvailabilityToItsExpectedButtonState 2ms
โœ… BookButtonMapperTests testBookButtonState_buttonTypes_streamingHTMLDownloadNeeded_yieldsReadStreamingAndReturn 4ms
โœ… BookButtonMapperTests testBookButtonState_buttonTypes_streamingHTMLDownloadSuccessful_yieldsReadStreaming 2ms
โœ… BookButtonMapperTests testBookButtonState_buttonTypes_streamingHTMLUnregistered_yieldsGet 6ms
โœ… BookButtonMapperTests testMapDownloadFailed 1ms
โœ… BookButtonMapperTests testMapDownloadNeeded <1ms
โœ… BookButtonMapperTests testMapDownloadSuccessful 23ms
โœ… BookButtonMapperTests testMapDownloading 1ms
โœ… BookButtonMapperTests testMapHolding <1ms
โœ… BookButtonMapperTests testMapReturning <1ms
โœ… BookButtonMapperTests testMapSAMLStarted_returnsDownloadInProgress 2ms
โœ… BookButtonMapperTests testMapUsed <1ms
โœ… BookButtonMapperTests testMap_coversAllTPPBookStates_withNeutralInputs 21ms
โœ… BookButtonMapperTests testMap_exhaustiveSwitch_noDefaultClause_andSAMLStartedExplicit 35ms
โœ… BookButtonMapperTests testMap_unregistered_limitedWithPositiveCopies_returnsCanBorrow 2ms
โœ… BookButtonMapperTests testMap_unregistered_limitedWithUnknownCopies_returnsCanBorrow 9ms
โœ… BookButtonMapperTests testMap_unregistered_limitedWithZeroCopies_returnsCanHold <1ms
โœ… BookButtonMapperTests testMappingIsDeterministic <1ms
โœ… BookButtonMapperTests testProcessingDownloadOverridesDownloadSuccessful 3ms
โœ… BookButtonMapperTests testProcessingDownloadOverridesState 1ms
โœ… BookButtonMapperTests testStateForNilAvailability 1ms
โœ… BookButtonMapperTests testUnregisteredWithNilAvailability 2ms
โœ… BookButtonMapperViewModelTests testMap_DownloadFailed_ReturnsDownloadFailed <1ms
โœ… BookButtonMapperViewModelTests testMap_DownloadNeeded_ReturnsDownloadNeeded <1ms
โœ… BookButtonMapperViewModelTests testMap_DownloadSuccessful_ReturnsDownloadSuccessful <1ms
โœ… BookButtonMapperViewModelTests testMap_DownloadingPrioritizedOverAvailability <1ms
โœ… 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 49ms
โœ… BookButtonMapperViewModelTests testMap_Unregistered_WithLimitedAvailability_CopiesAvailable_ReturnsCanBorrow 1ms
โœ… BookButtonMapperViewModelTests testMap_Unregistered_WithNilAvailability_ReturnsUnsupported <1ms
โœ… BookButtonMapperViewModelTests testMap_Unregistered_WithUnavailability_ReturnsCanHold 45ms
โœ… BookButtonMapperViewModelTests testMap_Unregistered_WithUnlimitedAvailability_ReturnsCanBorrow <1ms
โœ… BookButtonMapperViewModelTests testMap_Used_ReturnsUsed 35ms
โœ… BookButtonMapperViewModelTests testStateForAvailability_Nil_ReturnsNil <1ms
โœ… BookButtonMapperViewModelTests testStateForAvailability_Ready_ReturnsCanBorrow <1ms
โœ… BookButtonMapperViewModelTests testStateForAvailability_Reserved_ReturnsHoldingFrontOfQueue 45ms
โœ… BookButtonStateTests testAllCases 2ms
โœ… BookButtonStateTests testDownloadFailed_cancelAndRetry 123ms
โœ… BookButtonStateTests testDownloadInProgress_cancelButton <1ms
โœ… BookButtonStateTests testEquatable 1ms
โœ… BookButtonStateTests testReturning_returningButton 7ms
โœ… BookButtonStateTests testStateForAvailability_nilAvailability 164ms
โœ… BookButtonStateTests testStateForAvailability_unlimited 1ms
โœ… BookButtonStateTests testUnsupported_emptyButtons <1ms
โœ… BookButtonTypeMetaTests testBookButtonType_exhaustiveSwitch_coverage_includesReadStreaming 106ms
โœ… BookButtonTypeMetaTests testBookButtonType_readStreaming_displaysIndicatorTrue <1ms
โœ… BookButtonTypeMetaTests testBookButtonType_readStreaming_titleIsRead <1ms
โœ… BookButtonTypeMetaTests testBookButtonType_readStreaming_usesPrimaryButtonStyle 1ms
โœ… BookButtonTypeTests testAllCases_haveRawValues 2ms
โœ… BookButtonTypeTests testBorderColor 2ms
โœ… BookButtonTypeTests testButtonBackgroundColor <1ms
โœ… BookButtonTypeTests testButtonStyle_destructive 1ms
โœ… BookButtonTypeTests testButtonStyle_primary 2ms
โœ… BookButtonTypeTests testButtonStyle_secondary 224ms
โœ… BookButtonTypeTests testButtonStyle_tertiary 2ms
โœ… BookButtonTypeTests testButtonTextColor 67ms
โœ… BookButtonTypeTests testDisplaysIndicator_falseForOthers 18ms
โœ… BookButtonTypeTests testDisplaysIndicator_trueForExpected <1ms
โœ… BookButtonTypeTests testHasBorder 3ms
โœ… BookButtonTypeTests testIsPrimary 1ms
โœ… BookButtonTypeTests testTitle_returnsNonEmptyStrings 3ms
โœ… BookCellModelActionTests testAcquireReaderPresentationLock_FirstCall_Succeeds 3ms
โœ… BookCellModelActionTests testAcquireReaderPresentationLock_ReleasesAfterDelay 532ms
โœ… BookCellModelActionTests testAcquireReaderPresentationLock_SecondRapidCall_IsBlocked 7ms
โœ… BookCellModelActionTests testCancelHold_AlertContainsBookTitle 6ms
โœ… BookCellModelActionTests testCancelHold_AlertHasBothPrimaryAndDistinctCancelButton 32ms
โœ… BookCellModelActionTests testCancelHold_CancellingAlert_DoesNotSetReturningState 10ms
โœ… BookCellModelActionTests testCancelHold_ConfirmingAlert_SetsReturningState 54ms
โœ… BookCellModelActionTests testCancelHold_DoesNotStartReturnImmediately 13ms
โœ… BookCellModelActionTests testCancelHold_ShowsConfirmationAlert_BeforeRevoking 3ms
โœ… BookCellModelActionTests testRemove_doesNotShowAlertImmediatelyOrAfterDrain 5ms
โœ… BookCellModelActionTests testReturn_AlertContainsBookTitle 7ms
โœ… BookCellModelActionTests testReturn_AlertHasBothPrimaryAndDistinctCancelButton 3ms
โœ… BookCellModelActionTests testReturn_CancellingAlert_DoesNotSetReturningState 4ms
โœ… BookCellModelActionTests testReturn_CancellingAlert_ResetsIsLoading 4ms
โœ… BookCellModelActionTests testReturn_ConfirmingAlert_DismissesAlert 3ms
โœ… BookCellModelActionTests testReturn_ConfirmingAlert_SetsReturningState 9ms
โœ… BookCellModelActionTests testReturn_DoesNotStartReturnImmediately 3ms
โœ… BookCellModelActionTests testReturn_ShowsConfirmationAlert_BeforeRevoking 37ms
โœ… BookCellModelCacheInvalidationTests testCacheInvalidatesDownloadingToFailed 15ms
โœ… BookCellModelCacheInvalidationTests testCacheInvalidatesDownloadingToSuccessful 11ms
โœ… BookCellModelCacheInvalidationTests testCacheInvalidatesFailedToSuccessful 14ms
โœ… BookCellModelCacheInvalidationTests testCacheInvalidatesOnDirectInvalidation 10ms
โœ… BookCellModelCacheInvalidationTests testCacheReturnsDifferentModelsForDifferentBooks 2.19s
โœ… BookCellModelCacheInvalidationTests testCacheReturnsSameModel 54ms
โœ… BookCellModelCacheInvalidationTests testClearAllRemovesAllModels 12ms
โœ… BookCellModelCacheInvalidationTests testInvalidateForSpecificBook 9ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_EmptyBooksArray_DoesNotCrash 20ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_EmptyBooksArray_WithNonZeroRange_DoesNotCrash 6ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_EndOfList_DoesNotAccessBeyondBounds 14ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_LargeBuffer_ClampsToArraySize 35ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_NegativeBufferRange_ClampsToZero 15ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_NormalRange_PreloadsModels 78ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_RangeExceedsArraySize_DoesNotCrash 55ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_SingleElementArray_DoesNotCrash 9ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_StartOfList_DoesNotAccessNegativeIndex 18ms
โœ… BookCellModelCacheTests testAggressiveConfiguration_HasLargerValues 79ms
โœ… BookCellModelCacheTests testCacheWithSameIdentifierDifferentUpdatedDate 51ms
โœ… BookCellModelCacheTests testClear 6ms
โœ… BookCellModelCacheTests testConcurrentAccess_DoesNotCrash 38ms
โœ… BookCellModelCacheTests testDefaultConfiguration_HasReasonableValues 8ms
โœ… BookCellModelCacheTests testDifferentBooksGetDifferentModels 16ms
โœ… BookCellModelCacheTests testDirectInvalidation_RefreshesModel 6ms
โœ… BookCellModelCacheTests testDirectInvalidation_WorksForHoldingState 47ms
โœ… BookCellModelCacheTests testDirectInvalidation_WorksForStateTransitions 7ms
โœ… BookCellModelCacheTests testEmptyCache_survivesAllPublicMutatorsWithoutCrashOrSpuriousEntries 9ms
โœ… BookCellModelCacheTests testInvalidate 6ms
โœ… BookCellModelCacheTests testInvalidateMultiple 66ms
โœ… BookCellModelCacheTests testLRUEviction 18ms
โœ… BookCellModelCacheTests testMemoryWarning 23ms
โœ… BookCellModelCacheTests testModelCreation 5ms
โœ… BookCellModelCacheTests testModelReuse_returnsSameInstanceAndDoesNotGrowCacheCount 6ms
โœ… BookCellModelCacheTests testModelUpdate_SameInstance_DoesNotMutateBook 12ms
โœ… BookCellModelCacheTests testModelUpdate_SwapsInstance_IgnoringTimestamp 38ms
โœ… BookCellModelCacheTests testModelUpdate_WithNewerBook_DefersUpdateToTask 39ms
โœ… BookCellModelCacheTests testModelUpdate_WithSameBook_DoesNotUpdate 31ms
โœ… BookCellModelCacheTests testModelUpdatesWhenBookChanges 25ms
โœ… BookCellModelCacheTests testPreload 12ms
โœ… BookCellModelComputedPropertyTests testAuthors_ReturnsBookAuthors 7ms
โœ… BookCellModelComputedPropertyTests testAuthors_ReturnsEmptyStringWhenNil 922ms
โœ… BookCellModelComputedPropertyTests testBookState_ReturnsRegistryStateByDefault 4ms
โœ… BookCellModelComputedPropertyTests testBookState_SetToNonReturning_ClearsOverride 5ms
โœ… BookCellModelComputedPropertyTests testBookState_SetToReturning_OverridesRegistryState 6ms
โœ… BookCellModelComputedPropertyTests testButtonTypes_WhenReturning_UsesReturningState 4ms
โœ… BookCellModelComputedPropertyTests testIsManagingHold_DefaultsFalse 5ms
โœ… BookCellModelComputedPropertyTests testIsProcessing_ReturnsIsLoading 66ms
โœ… BookCellModelComputedPropertyTests testLoadBookCoverImage_UsesCachedImage 31ms
โœ… BookCellModelComputedPropertyTests testShowHalfSheet_CanBeToggled 5ms
โœ… BookCellModelComputedPropertyTests testShowHalfSheet_DefaultsFalse 4ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_FalseForDownloadFailed 111ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_FalseForDownloading 5ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_FalseForHolding 3ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_FalseForUnregistered 31ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_FalseForUsed 277ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_TrueForDownloadSuccessful 4ms
โœ… BookCellModelComputedPropertyTests testStatePublisher_EmitsOnIsLoadingChange 4ms
โœ… BookCellModelComputedPropertyTests testTitle_ReturnsBookTitle 4ms
โœ… BookCellModelOfflineTests testDidSelectDownload_whenOffline_doesNotInvokeDownloadCenter 20ms
โœ… BookCellModelOfflineTests testDidSelectDownload_whenOffline_doesNotSetIsLoading 31ms
โœ… BookCellModelOfflineTests testDidSelectDownload_whenOffline_surfacesRetryableNoConnectionAlert 27ms
โœ… BookCellModelOfflineTests testDidSelectDownload_whenOnline_proceedsWithoutAlert 19ms
โœ… BookCellModelOfflineTests testDidSelectReserve_whenOffline_doesNotSetIsLoading 14ms
โœ… BookCellModelOfflineTests testReachabilityDropsToOffline_whileLoading_clearsLoadingAndShowsAlert 26ms
โœ… BookCellModelOfflineTests testReachabilityInitialState_offline_withoutLoading_doesNotShowAlert 11ms
โœ… BookCellModelOfflineTests testReachabilityRecovers_doesNotAutoStartDownload 21ms
โœ… BookCellModelOfflineTests testReadAction_whenOffline_isNotGatedByReachability 209ms
โœ… BookCellModelRegistryBindingTests testRegistryStateChange_ClearsLoadingForTerminalStates 13ms
โœ… BookCellModelRegistryBindingTests testRegistryStateChange_IgnoresOtherBookIds 366ms
โœ… BookCellModelRegistryBindingTests testRegistryStateChange_ToDownloadFailed_ClearsLoading 7ms
โœ… BookCellModelRegistryBindingTests testRegistryStateChange_UpdatesRegistryState 27ms
โœ… BookCellModelStateTests testBookCellStateButtonState_MapsThroughCorrectly 25ms
โœ… BookCellModelStateTests testBookCellStateForDownloadFailed 22ms
โœ… BookCellModelStateTests testBookCellStateForDownloadInProgress 37ms
โœ… BookCellModelStateTests testBookCellStateForDownloadSuccessful 7ms
โœ… BookCellModelStateTests testDownloadErrorRoutesToCellAlertWhenHalfSheetHidden 8ms
โœ… BookCellModelStateTests testDownloadErrorRoutesToHalfSheetAlertWhenHalfSheetVisible 30ms
โœ… BookCellModelStateTests testInitialStateForDownloadFailed 3ms
โœ… BookCellModelStateTests testInitialStateForDownloadNeeded 4ms
โœ… BookCellModelStateTests testInitialStateForDownloading 5ms
โœ… BookCellModelStateTests testInitialStateForHolding 3ms
โœ… BookCellModelStateTests testInitialStateForUnregisteredBook 3ms
โœ… BookCellModelStateTests testInitialStateMatchesRegistry 6ms
โœ… BookCellModelStateTests testIsLoading_EmitsViaStatePublisher_WhenChanged 3ms
โœ… BookCellModelStateTests testIsLoading_SettlesFalseAfterImageFetchCompletes 9ms
โœ… BookCellModelStateTests testValidateStateConsistencyDetectsMismatch 10ms
โœ… BookCellModelStateTests testValidateStateConsistencyPasses 3ms
โœ… BookCellModelStreamingHTMLTests testBookCellModel_didSelectRead_epubBook_doesNotPushStreamingRoute 98ms
โœ… BookCellModelStreamingHTMLTests testBookCellModel_didSelectRead_streamingHTMLBook_presentsStreamingReaderView_viaCoordinator 19ms
โœ… BookCellStateComprehensiveTests testBookCellState_CanBorrow_MapsToNormal 3ms
โœ… BookCellStateComprehensiveTests testBookCellState_CanHold_MapsToNormal 1ms
โœ… BookCellStateComprehensiveTests testBookCellState_DownloadFailed_MapsToDownloadFailed 2ms
โœ… BookCellStateComprehensiveTests testBookCellState_DownloadInProgress_MapsToDownloading <1ms
โœ… BookCellStateComprehensiveTests testBookCellState_DownloadNeeded_MapsToNormal 1ms
โœ… BookCellStateComprehensiveTests testBookCellState_HoldingFrontOfQueue_MapsToNormal 2ms
โœ… BookCellStateComprehensiveTests testBookCellState_Holding_MapsToNormal <1ms
โœ… BookCellStateComprehensiveTests testBookCellState_ManagingHold_MapsToNormal 2ms
โœ… BookCellStateComprehensiveTests testBookCellState_Returning_MapsToNormal <1ms
โœ… BookCellStateComprehensiveTests testBookCellState_Unsupported_MapsToNormal <1ms
โœ… BookCellStateComprehensiveTests testBookCellState_Used_MapsToNormal 34ms
โœ… BookCellStateComprehensiveTests testButtonState_ExtractionFromDownloadFailed 2ms
โœ… BookCellStateComprehensiveTests testButtonState_ExtractionFromDownloading 2ms
โœ… BookCellStateComprehensiveTests testButtonState_ExtractionFromNormal 1ms
โœ… BookContentResetServiceTests testPurge_force_invokesEvenWithActiveAudiobooks 4ms
โœ… BookContentResetServiceTests testResetAccount_otherAccount_removesContentDirectory 681ms
โœ… BookDetailMetadataHydrationTests testHydrate_PopulatesAudienceAndLanguageFromAlternateFeed 34ms
โœ… BookDetailMetadataHydrationTests testHydrate_PreservesAcquisitionAndNavigationalURLs 98ms
โœ… BookDetailMetadataHydrationTests testHydrate_TriggeredWhenOnlyAudienceOrLanguageMissing_DoesNotFireIfOthersPopulated 268ms
โœ… BookDetailMetadataHydrationTests testHydrate_WhenAllTargetFieldsEmpty_PopulatesFromAlternateFeed 8ms
โœ… BookDetailMetadataHydrationTests testHydrate_WhenMetadataAlreadyPresent_DoesNotFetch 13ms
โœ… BookDetailMetadataHydrationTests testHydrate_WhenNoAlternateURL_DoesNotFetch 56ms
โœ… BookDetailViewModelAudiobookDismissTests testHandleActionListen_earlyShellHook_dismissesHalfSheetBeforeOpenCompletes 71ms
โœ… BookDetailViewModelTests testAllBookStates_HaveValidMapping 2ms
โœ… BookDetailViewModelTests testAllButtonStates_HaveValidButtonTypes 8ms
โœ… BookDetailViewModelTests testAvailability_Nil_ReturnsNil 9ms
โœ… BookDetailViewModelTests testAvailability_Unlimited_MapsToCanBorrow 50ms
โœ… BookDetailViewModelTests testBookContentType_Audiobook 24ms
โœ… BookDetailViewModelTests testBookContentType_EPUB 3ms
โœ… BookDetailViewModelTests testBookContentType_PDF 4ms
โœ… BookDetailViewModelTests testBookDetailViewModel_didSelectGet_streamingHTMLBook_thenButtonsAreReadStreaming 34ms
โœ… BookDetailViewModelTests testBookDetailViewModel_handleAction_readStreaming_callsDidSelectReadStreaming 13ms
โœ… BookDetailViewModelTests testBookLane_Creation 44ms
โœ… BookDetailViewModelTests testBookLane_EmptyBooks 5ms
โœ… BookDetailViewModelTests testBookLane_WithNilURL 4ms
โœ… BookDetailViewModelTests testBookState_SetReturning_SetsLocalOverride_HidesViaRegistryOnlyWhenUnregistered 7ms
โœ… BookDetailViewModelTests testBookState_SetUnregistered_ClearsLocalOverride 15ms
โœ… BookDetailViewModelTests testBook_GetExpirationDate_ReturnsDate_WhenLimitedAvailability 19ms
โœ… BookDetailViewModelTests testBook_GetExpirationDate_ReturnsNilForUnborrowed 7ms
โœ… BookDetailViewModelTests testButtonState_DownloadFailed_MapsToDownloadFailed 2ms
โœ… BookDetailViewModelTests testButtonState_DownloadNeeded_MapsToDownloadNeeded 2ms
โœ… BookDetailViewModelTests testButtonState_DownloadSuccessful_MapsToDownloadSuccessful 2ms
โœ… BookDetailViewModelTests testButtonState_Downloading_MapsToDownloadInProgress 2ms
โœ… BookDetailViewModelTests testButtonState_Holding_MapsToHolding 2ms
โœ… BookDetailViewModelTests testButtonState_IsProcessingDownload_MapsToDownloadInProgress 123ms
โœ… BookDetailViewModelTests testButtonState_Returning_MapsToReturning 2ms
โœ… BookDetailViewModelTests testButtonState_ReturnsStableButtonState 16ms
โœ… BookDetailViewModelTests testButtonState_Unregistered_MapsToCanBorrow 5ms
โœ… BookDetailViewModelTests testButtonState_Used_MapsToUsed 4ms
โœ… BookDetailViewModelTests testButtonTypesProvider_DelegatesToStableButtonState 3ms
โœ… BookDetailViewModelTests testButtonTypes_CanBorrowAudiobookWithSample_IncludesAudiobookSample 3ms
โœ… BookDetailViewModelTests testButtonTypes_CanBorrowWithSample_IncludesSampleButton 40ms
โœ… BookDetailViewModelTests testButtonTypes_CanBorrow_ReturnsGetButton 55ms
โœ… BookDetailViewModelTests testButtonTypes_CanHold_ReturnsReserveButton 4ms
โœ… BookDetailViewModelTests testButtonTypes_DownloadFailed_ReturnsCancelAndRetry 35ms
โœ… BookDetailViewModelTests testButtonTypes_DownloadInProgress_ReturnsCancelButton 3ms
โœ… BookDetailViewModelTests testButtonTypes_DownloadSuccessful_AudiobookReturnsListen 4ms
โœ… BookDetailViewModelTests testButtonTypes_DownloadSuccessful_EpubReturnsRead 4ms
โœ… BookDetailViewModelTests testButtonTypes_PreviewDisabled_ExcludesSampleButton 4ms
โœ… BookDetailViewModelTests testButtonTypes_Returning_ReturnsReturningButton 30ms
โœ… BookDetailViewModelTests testButtonTypes_Unsupported_ReturnsEmpty 3ms
โœ… BookDetailViewModelTests testCredentialCheck_AllowsActionWhenLoggedIn 3ms
โœ… BookDetailViewModelTests testCredentialCheck_PreventsActionWhenNotLoggedIn 2ms
โœ… BookDetailViewModelTests testDidSelectCancel_ResetsDownloadProgress 12ms
โœ… BookDetailViewModelTests testDownloadProgress_IgnoresDifferentBook 631ms
โœ… BookDetailViewModelTests testDownloadProgress_NeverGoesBackwards 5ms
โœ… BookDetailViewModelTests testEnsureAuthPattern_ChecksCredentialsAfterModalDismiss 3ms
โœ… BookDetailViewModelTests testFetchRelatedBooks_NilURL_IsNoOp_AndDoesNotSetLoading 14ms
โœ… BookDetailViewModelTests testHalfSheet_DismissedOnHoldPlaced 2ms
โœ… BookDetailViewModelTests testHalfSheet_DismissedOnUnregistered 2ms
โœ… BookDetailViewModelTests testHalfSheet_StaysOpenDuringDownload 4ms
โœ… BookDetailViewModelTests testHalfSheet_StaysOpenOnDownloadFailed 2ms
โœ… BookDetailViewModelTests testHalfSheet_StaysOpenOnDownloadSuccess 10ms
โœ… BookDetailViewModelTests testHalfSheet_StaysOpenOnUsedState 1ms
โœ… BookDetailViewModelTests testHandleAction_Cancel_ResetsDownloadProgressToZero 6ms
โœ… BookDetailViewModelTests testHandleAction_Close_DoesNothingButInsertsProcessing 5ms
โœ… BookDetailViewModelTests testHandleAction_DuplicateTap_IsIgnored 3ms
โœ… BookDetailViewModelTests testHandleAction_ManageHold_SetsManagingHoldAndHoldingState 4ms
โœ… BookDetailViewModelTests testHandleBookRegistryChange_UpdatesBookFromRegistry 9ms
โœ… BookDetailViewModelTests testHoldingState_ButtonTypesIncludeHoldManagement 5ms
โœ… BookDetailViewModelTests testHoldingState_MapsFromBorrowAttempt 2ms
โœ… BookDetailViewModelTests testIsBorrowProcessing_DefaultsToRegistryProcessingFlagAtInit 3ms
โœ… BookDetailViewModelTests testIsBorrowProcessing_FlipsBackToFalseOnCompletionNotification 12ms
โœ… BookDetailViewModelTests testIsBorrowProcessing_FlipsOnProcessingNotification_ForSameBook 5ms
โœ… BookDetailViewModelTests testIsBorrowProcessing_IgnoresNotificationsForDifferentBook 5ms
โœ… BookDetailViewModelTests testIsFullSize_ReturnsFalseOnNonIpad 33ms
โœ… BookDetailViewModelTests testIsProcessing_ReturnsTrueWhenButtonInSet 4ms
โœ… BookDetailViewModelTests testManagedHoldState_ButtonTypes 4ms
โœ… BookDetailViewModelTests testProcessingButtonTypes_DownloadRelated 2ms
โœ… BookDetailViewModelTests testProcessingButtons_ClearedWhenLoginCancelled 33ms
โœ… BookDetailViewModelTests testProcessingButtons_DidSetUpdatesIsProcessingFlag 30ms
โœ… BookDetailViewModelTests testRegistryTransitionToDownloadFailed_ClearsDownloadProcessingButtons 7ms
โœ… BookDetailViewModelTests testRegistryTransitionToDownloadSuccessful_ClearsDownloadProcessingButtons 7ms
โœ… BookDetailViewModelTests testRegistryTransitionToDownloading_ClearsDownloadProcessingButtons 6ms
โœ… BookDetailViewModelTests testRegistryTransitionToHolding_ClearsReserveAndDismissesHalfSheet 4ms
โœ… BookDetailViewModelTests testRegistryTransitionToUnregistered_ResetsManagingHoldAndHalfSheetAndReturning 20ms
โœ… BookDetailViewModelTests testRelatedBooks_ClearedWhenNavigatingToDifferentBook 5ms
โœ… BookDetailViewModelTests testRelatedBooks_PersistAfterViewReappears 17ms
โœ… BookDetailViewModelTests testRelatedBooks_PreservedDuringRefetchForSameBook 4ms
โœ… BookDetailViewModelTests testRemoveProcessingButton_RemovesTheButton 37ms
โœ… BookDetailViewModelTests testSelectRelatedBook_DifferentBook_UpdatesBookAndClearsLanes 6ms
โœ… BookDetailViewModelTests testSelectRelatedBook_SameBook_IsNoOp 4ms
โœ… BookDetailViewModelTests testSeriesRowDisplay_emptyName_isHidden 7ms
โœ… BookDetailViewModelTests testSeriesRowDisplay_nameAndURL_isLink 2ms
โœ… BookDetailViewModelTests testSeriesRowDisplay_nameWithoutURL_isPlainText 2ms
โœ… BookDetailViewModelTests testSeriesRowDisplay_nilName_isHidden 52ms
โœ… BookDetailViewModelTests testShowMoreBooksForLane_LaneWithNilURL_DoesNotSetSelected 32ms
โœ… BookDetailViewModelTests testShowMoreBooksForLane_MissingLane_LeavesSelectedNil 14ms
โœ… BookDetailViewModelTests testShowMoreBooksForLane_SetsSelectedBookURL 3ms
โœ… BookDetailViewModelTests testStableButtonState_ManagingHold_WhileHoldingOverridesToManagingHold 3ms
โœ… BookDetailViewModelTests testStableButtonState_UpdatesWhenBookStateChanges 5ms
โœ… BookDetailViewModelTests testViewModel_BookStatePublisher_TriggersBookUpdate 3ms
โœ… BookDetailViewModelTests testViewModel_ReceivesBookFromRegistry_NotCachedVersion 10ms
โœ… BookDetailViewModelTests testViewModel_UpdatesBookWhenRegistryChanges 37ms
โœ… BookFileManagerSideloadResolutionTests test_nonSideloadedId_resolvesAgainstCurrentAccount_unchanged 25ms
โœ… BookFileManagerSideloadResolutionTests test_sideloadPrefixedId_notInProvider_resolvesAgainstAccount_defenseInDepth 5ms
โœ… BookFileManagerSideloadResolutionTests test_sideloadedId_resolvesToFixedAccount_evenWhenCurrentAccountDiffers 161ms
โœ… BookFileManagerSideloadResolutionTests test_sideloadedId_resolvesToFixedAccount_evenWhenExplicitAccountDiffers 5ms
โœ… BookFileManagerTests testContentDirectoryURL_createsDirectoryOnFirstCall 3ms
โœ… BookFileManagerTests testContentDirectoryURL_distinctAccounts_distinctDirectories 6ms
โœ… BookFileManagerTests testContentDirectoryURL_idempotent_reusesExistingDirectory 2ms
โœ… BookFileManagerTests testFileUrl_byIdentifier_andByBook_returnSameUrlForSameAccount 3ms
โœ… BookFileManagerTests testFileUrl_byIdentifier_returnsNilWhenBookNotInRegistry 2ms
โœ… BookFileManagerTests testFileUrl_byIdentifier_returnsUrlWhenBookInRegistry 4ms
โœ… BookFileManagerTests testFileUrl_forBook_buildsHashedFileNameWithEpubExtension 4ms
โœ… BookFileManagerTests testPathExtension_defaultsToEpub_forNilOrNonLCPBooks 119ms
โœ… BookListViewAccessibilityTests testBookCell_unchangedFrom3_0_1 2ms
โœ… BookListViewAccessibilityTests testBookListView_announcesOpenDetailsHint 6ms
โœ… BookListViewAccessibilityTests testBookListView_doesNotIgnoreChildren 2ms
โœ… BookListViewAccessibilityTests testBookListView_doesNotRemoveButtonTrait 2ms
โœ… BookListViewAccessibilityTests testBookListView_rowWrapperIsSwiftUIButton 3ms
โœ… BookListViewAccessibilityTests testBookListView_usesCanonicalVoiceOverLabel 6ms
โœ… BookListViewAccessibilityTests testNormalBookCell_unchangedFrom3_0_1 4ms
โœ… BookListViewAccessibilityTests testVoiceOverLabel_audiobook_includesAudiobookDesignation 3ms
โœ… BookListViewAccessibilityTests testVoiceOverLabel_ebook_titleByAuthor 6ms
โœ… BookPreviewTests testEpubBookPreviewExtraction 191ms
โœ… BookPreviewTests testOverdriveMPEGAudiobookExtraction 3ms
โœ… BookPreviewTests testOverdriveWaveAudiobookExtraction 1ms
โœ… BookPreviewTests testOverdriveWebAudiobookExtraction 1ms
โœ… BookRegistryStoreTests test_addBook_thenRetrieve 7.65s
โœ… BookRegistryStoreTests test_addBook_withLocationAndBookmarks 213ms
โœ… BookRegistryStoreTests test_allBooks_returnsAllRegisteredBooks 30ms
โœ… BookRegistryStoreTests test_bookForIdentifier_returnsNilForUnregisteredOrInvalidInputs 52ms
โœ… BookRegistryStoreTests test_concurrentReadsAndWrites_noDataRace 13.56s
โœ… BookRegistryStoreTests test_fulfillmentId_emptyIdentifier_returnsNil 14ms
โœ… BookRegistryStoreTests test_fulfillmentId_nilIdentifier_returnsNil 2ms
โœ… BookRegistryStoreTests test_fulfillmentId_setAndGet 479ms
โœ… BookRegistryStoreTests test_heldBooks_onlyReturnsHoldingState 12ms
โœ… BookRegistryStoreTests test_mutateRegistrySync_directMutation 39ms
โœ… BookRegistryStoreTests test_myBooks_returnsCorrectStates 83ms
โœ… BookRegistryStoreTests test_processing_defaultsFalseForUnknownAndRegisteredBooks 85ms
โœ… BookRegistryStoreTests test_readRegistry_returnsSnapshot 7ms
โœ… BookRegistryStoreTests test_record_returnsNilForUnregisteredOrInvalidInputs 149ms
โœ… BookRegistryStoreTests test_registrySnapshot_returnsDictionaryRepresentations 458ms
โœ… BookRegistryStoreTests test_registrySubject_emitsOnAdd 1.07s
โœ… BookRegistryStoreTests test_removeAll_clearsRegistry 57ms
โœ… BookRegistryStoreTests test_removeBook_nonexistentId_completesWithNilBook 145ms
โœ… BookRegistryStoreTests test_removeBook_removesFromRegistry 8ms
โœ… BookRegistryStoreTests test_setProcessing_true_thenFalse 22ms
โœ… BookRegistryStoreTests test_setState_updatesState 29ms
โœ… BookRegistryStoreTests test_state_returnsUnregisteredForUnregisteredOrInvalidInputs 8ms
โœ… BookRegistryStoreTests test_updateAndRemoveBook_setsStateUnregistered 14ms
โœ… BookRegistryStoreTests test_updatedBookMetadata_preservesExistingAuthorsWhenIncomingIsEmpty 39ms
โœ… BookRegistryStoreTests test_updatedBookMetadata_returnsNilWhenBookIsNotInRegistry 1ms
โœ… BookRegistryStoreTests test_updatedBookMetadata_takesIncomingAuthorsWhenPresent 2ms
โŠ˜ BookRegistrySyncReadinessTests testIntegration_underDetailsLoading_setStateSyncingFiresUnconditionally 30ms
โœ… BookRegistrySyncReadinessTests testReadiness_underDetailsFailed_throwsAuthDocumentFetchFailed 45ms
โœ… BookRegistrySyncReadinessTests testReadiness_underDetailsLoading_blocksUntilTransition 100ms
โœ… BookRegistrySyncReentrancyTests testConcurrentLoadAndSync_bothComplete 99ms
โœ… BookRegistrySyncReentrancyTests testConcurrentSaveSync_allComplete 29ms
โœ… BookRegistrySyncReentrancyTests testSaveSync_fromInsideRegistryStoreBarrier_doesNotDeadlock 9ms
โœ… BookRegistrySyncReentrancyTests testSaveSync_persistsCurrentRegistrySnapshotToDisk 16ms
โœ… BookRegistrySyncReentrancyTests testSaveSync_writeRoutesThroughDiskWriteQueue_landsAfterInFlightAsyncSaves 47ms
โœ… BookRegistrySyncReentrancyTests testSetLocationSync_fromMultipleThreads_savesyncSucceeds 42ms
โŠ˜ BookRegistrySyncSideloadExemptionTests test_sync_withEmptyExemption_evictsTheSameBook_andDeletesItsContent 74ms
โŠ˜ BookRegistrySyncSideloadExemptionTests test_sync_withSideloadedIdExempt_preservesBookAndSkipsOnDiskDelete 10ms
โœ… BookRegistrySyncTests testCorruptLoad_recoversFromNonEmptyBackup_andQuarantinesOriginal 1.90s
โœ… BookRegistrySyncTests testCorruptLoad_thenNonAuthoritativeEmptySave_isRefused_untilServerSync 56ms
โœ… BookRegistrySyncTests testCorruptLoad_withoutBackup_leavesEmptyAndFlagsRebuild_andQuarantines 231ms
โœ… BookRegistrySyncTests testNonEmptySave_isNeverBlocked_evenDuringRebuildWindow 172ms
โœ… BookRegistrySyncTests testSaveEmptyOverNonEmptyBackup_isRefusedWithoutServerAuthority 589ms
โœ… BookRegistrySyncTests testSaveEmpty_withServerAuthority_persistsAndClearsRebuildFlag 26ms
โœ… BookRegistrySyncTests testSave_writesSchemaVersionField 783ms
โœ… BookRegistrySyncTests testSchemaMigration_unversionedFileLoads_thenSaveWritesVersion 55ms
โœ… BookRegistrySyncTests test_bulkDeletionProtection_emptyFeedWithLargeLibrary_skipsDeletion 2.03s
โœ… BookRegistrySyncTests test_bulkDeletionProtection_emptyFeedWithSingleLocalBook_skipsDeletion 139ms
โœ… BookRegistrySyncTests test_bulkDeletionProtection_emptyFeedWithTwoLocalBooks_skipsDeletion 3ms
โœ… BookRegistrySyncTests test_bulkDeletionProtection_normalFeedDoesNotSkip 5ms
โœ… BookRegistrySyncTests test_bulkDeletionProtection_zeroLocalBooks_doesNotSkip 7ms
โœ… BookRegistrySyncTests test_checkIfBookFileExists_returnsFalseForUnknownBook 19ms
โœ… BookRegistrySyncTests test_largeDeletionWarning_notTriggeredForSmallRatio 3ms
โœ… BookRegistrySyncTests test_loadStateTransition_downloadingWithNoFile_becomesDownloadFailed 470ms
โœ… BookRegistrySyncTests test_load_allowsLoadForDifferentAccount 44ms
โœ… BookRegistrySyncTests test_load_preventsReentrantLoadsForSameAccount 7ms
โœ… BookRegistrySyncTests test_load_withMalformedJSON_doesNotCrashAndLoadsEmpty 1.25s
โœ… BookRegistrySyncTests test_load_withMissingFile_transitionsToLoadedWithEmptyRegistry 859ms
โœ… BookRegistrySyncTests test_registrySnapshot_producesSerializableData 761ms
โœ… BookRegistrySyncTests test_registryUrl_returnsPathContainingAccountAndRegistryFile 873ms
โœ… BookRegistrySyncTests test_reset_clearsSyncUrlAndStore 121ms
โœ… BookRegistrySyncTests test_reset_removesRegistryFileFromDisk 7ms
โœ… BookRegistrySyncTests test_storeSnapshotWithMultipleStates 500ms
โœ… BookRegistrySyncTests test_syncUrl_isSetDuringSync_andClearedAfter 4ms
โŠ˜ BookRegistrySyncTests test_sync_whenAlreadySyncing_returnsBeforeSettingSyncingState 293ms
โŠ˜ BookRegistrySyncTests test_sync_whenAwaitReadyFails_revertsToLoadedWithoutFetching 283ms
โŠ˜ BookRegistrySyncTests test_sync_whenFeedFetchFails_revertsToLoadedAndForwardsErrorDocument 970ms
โŠ˜ BookRegistrySyncTests test_sync_whenFeedFetchSucceeds_resolvesToSyncedAndClearsSyncUrl 41ms
โŠ˜ BookRegistrySyncTests test_sync_whenNotSyncing_withCredentialsAndNoLoansUrl_resolvesToLoaded 198ms
โœ… BookRegistrySyncTests test_sync_whenStateIsLoading_shortCircuitsBeforeTouchingAccounts 830ms
โœ… BookRegistrySyncTests test_sync_whenStateIsUnloaded_shortCircuitsBeforeTouchingAccounts 328ms
โœ… BookRegistrySyncTests test_sync_withCurrentAccountButNoCredentials_resolvesToLoadedSynchronously 23ms
โœ… BookRegistrySyncTests test_validateDownloadedContent_marksDownloadNeededWhenFileMissing 208ms
โœ… BookReturnCleverReauthTests testReturn_OAuthIntermediary_AuthError_MarksCredentialsStaleBeforeReauth 10ms
โœ… BookReturnServiceAuthCoordinatorTests testService_authErrorOnReturn_withCoordinatorWired_routesThroughCoordinator_notLegacyReauthenticator 157ms
โœ… BookReturnServiceAuthCoordinatorTests testService_authErrorOnReturn_withoutCoordinator_fallsBackToLegacyReauthenticator 72ms
โœ… BookReturnServiceAuthCoordinatorTests testService_coordinatorCancellation_announcesReturnFailed_andDoesNotRetry 516ms
โœ… BookReturnServiceContractTests test_returnBook_authError_triggersReauth 816ms
โœ… BookReturnServiceContractTests test_returnBook_genericError_presentsAlert 723ms
โœ… BookReturnServiceContractTests test_returnBook_noActiveLoan_treatsAsSuccess 645ms
โœ… BookReturnServiceContractTests test_returnBook_offlineError_enqueues_noLocalCleanup 139ms
โœ… BookReturnServiceContractTests test_returnBook_withRevokeURL_happyPath_callsRegistrySetState_then_syncCompletes 270ms
โœ… BookReturnServiceContractTests test_returnBook_withoutRevokeURL_skipsNetwork_clearsLocalContent 55ms
โœ… BookReturnServiceTests testIsOfflineNSURLError_classifiesConnectivityCodes 7ms
โœ… BookReturnServiceTests testOfflineReturn_enqueues_doesNotDeleteLocalContent 73ms
โœ… BookReturnServiceTests testReturnBook_SAMLBrowserAuth_invalidCredentials_marksCredentialsStaleBeforeReauth 138ms
โœ… BookReturnServiceTests testReturnBook_basicAuth_invalidCredentials_doesNotMarkCredentialsStale 1.41s
โœ… BookReturnServiceTests testReturnBook_bookNotInRegistry_callsCompletionAndDoesNothing 21ms
โœ… BookReturnServiceTests testReturnBook_cancelAllInFlightTasks_emptiesTheRetentionSet 25ms
โœ… BookReturnServiceTests testReturnBook_noRevokeURL_downloaded_deletesContentAndRemovesBook 26ms
โœ… BookReturnServiceTests testReturnBook_noRevokeURL_notDownloaded_skipsContentDeletion 309ms
โœ… BookReturnServiceTests testReturnBook_revokeURLPath_retainsTaskWhileInFlight_andDrainsOnCompletion 27ms
โœ… BookReturnServiceTests testReturnBook_revokeURLReturnsGenericError_announcesFailureAndRunsCompletion 30ms
โœ… BookReturnServiceTests testReturnBook_revokeURLReturnsInvalidCredentials_reauthenticatesAndRetries 75ms
โœ… BookReturnServiceTests testReturnBook_revokeURLReturnsLoanTermLimitDetail_cleansUpLocallyAndAnnouncesSuccess 50ms
โœ… BookReturnServiceTests testReturnBook_revokeURLReturnsNoActiveLoan_cleansUpLocallyAndAnnouncesSuccess 848ms
โœ… BookReturnServiceTests testReturnBook_revokeURLReturnsParsingError_treatsAsSuccessAndCleansUp 293ms
โœ… BookReturnServiceTests testReturnService_cancelAllInFlightTasks_cancelsRetainedTask 23ms
โœ… BookReturnServiceTests testReturnService_inFlightTasks_shortCircuitAfterServiceDeinits 173ms
โœ… BookServiceAudiobookOpenTests testOpen_audiobook_failureWithoutShellHook_stillCallsOnFinishBackstop 13ms
โœ… BookServiceAudiobookOpenTests testOpen_audiobook_firesLoadingShellPresentedBeforeOnFinish 5ms
โœ… BookSignInRedirectHandlerTests testClearAndSetCookies_replacesSessionCookiesWithUserAccountCookies 2ms
โœ… BookSignInRedirectHandlerTests testHandleBookFound_nilRequest_skipsRetry 29ms
โœ… BookSignInRedirectHandlerTests testHandleBookFound_setsCookiesAndRetriesDownloadIfRequestPresent 140ms
โœ… BookSignInRedirectHandlerTests testHandleLoginCancellation_setsDownloadNeededAndCancelsViaDelegate 5ms
โœ… BookSignInRedirectHandlerTests testHandleProblem_alreadySAMLStarted_setsFailedAndPresentsReauthModal 47ms
โœ… BookSignInRedirectHandlerTests testHandleProblem_hasCredentialsAndNotSaml_logsButDoesNotAuthenticate 70ms
โœ… BookSignInRedirectHandlerTests testHandleProblem_noCredentialsLoginRequired_presentsReauthAndRetriesOnHasCredentials 76ms
โœ… BookSignInRedirectHandlerTests testHandleProblem_samlCookiesExpired_setsSAMLStartedAndRetries 32ms
โœ… BookStateIntegrationTests testBookBorrow_UpdatesRegistry 726ms
โœ… BookStateIntegrationTests testBookDownloadFailure_UpdatesStateToDownloadFailed 1ms
โœ… BookStateIntegrationTests testBookReturn_RemovesFromRegistry 1ms
โœ… BookStateIntegrationTests testBookStateChange_PublishesViaCombine 427ms
โœ… BookStateIntegrationTests testBookStateTransition_FullDownloadLifecycle 51ms
โœ… BookStateIntegrationTests testBookWithHolds_ShowsHoldingState 2ms
โœ… BookStateIntegrationTests testConcurrentStateChanges_DoNotCorruptRegistry 4ms
โœ… BookStateIntegrationTests testRegistryPublisher_EmitsOnBookAdd 4ms
โœ… BookmarkBusinessLogicExtendedTests testBookmarkAtIndex_returnsNilForOutOfRangeIndicesAndItemForValid 47ms
โœ… BookmarkBusinessLogicExtendedTests testBookmarkAtIndex_validIndex_returnsBookmark 27ms
โœ… BookmarkBusinessLogicExtendedTests testDeleteBookmarkAtIndex_guardsOutOfRangeAndRemovesOnlyValidIndex 26ms
โœ… BookmarkBusinessLogicExtendedTests testDeleteBookmarkAtIndex_validIndex_removesAndReturns 46ms
โœ… BookmarkBusinessLogicExtendedTests testDeleteBookmark_existingBookmark_removes 24ms
โœ… BookmarkBusinessLogicExtendedTests testReadOnlySurfaces_noBookmarksText_shouldSelect_shouldAllowRefresh 23ms
โœ… BookmarkDeletionLogTests testUpdateLocalBookmarks_matchingLocalBookmark_preservesLocal 2.33s
โœ… BookmarkDeletionLogTests testUpdateLocalBookmarks_serverBookmarkNotDeleted_addsLocally 2.78s
โœ… BookmarkDeletionLogTests testUpdateLocalBookmarks_withPendingDeletion_deletesFromServer 585ms
โœ… BookmarkDeviceIdMatchingTests testUpdateLocalBookmarks_ServerBookmarkFromDifferentDevice_AddedLocally 162ms
โœ… BookmarkDeviceIdMatchingTests testUpdateLocalBookmarks_ServerBookmarkFromSameDevice_NotLocallyPresent_MarkedForDeletion 38ms
โœ… BookmarkDeviceIdMatchingTests testUpdateLocalBookmarks_ServerBookmarkWithNilDevice_AddedLocally 55ms
โœ… BookmarkExistenceTests testIsBookmarkExisting_differentProgress_returnsNil 29ms
โœ… BookmarkExistenceTests testIsBookmarkExisting_matchingBookmark_returnsBookmark 43ms
โœ… BookmarkExistenceTests testIsBookmarkExisting_noBookmarks_returnsNil 74ms
โœ… BookmarkExistenceTests testIsBookmarkExisting_returnsNilForNilLocationAndForLocationWithoutMatch 93ms
โœ… BookmarkManagerTests test_addGenericBookmark 7ms
โœ… BookmarkManagerTests test_addGenericBookmark_initializesArrayIfNil 6ms
โœ… BookmarkManagerTests test_addGenericBookmark_toMissingBook_doesNotCrash 6ms
โœ… BookmarkManagerTests test_addMultipleReadiumBookmarks_sortedByProgress 187ms
โœ… BookmarkManagerTests test_addOrReplaceGenericBookmark_addsWhenNew 5ms
โœ… BookmarkManagerTests test_addOrReplaceGenericBookmark_initializesArrayIfNil 7ms
โœ… BookmarkManagerTests test_addOrReplaceGenericBookmark_replacesExisting 10ms
โœ… BookmarkManagerTests test_addReadiumBookmark 11ms
โœ… BookmarkManagerTests test_addReadiumBookmark_initializesArrayIfNil 18ms
โœ… BookmarkManagerTests test_addReadiumBookmark_toMissingBook_doesNotCrash 10ms
โœ… BookmarkManagerTests test_bookmarksAreIsolatedBetweenBooks 33ms
โœ… BookmarkManagerTests test_deleteGenericBookmark_byAnnotationId 36ms
โœ… BookmarkManagerTests test_deleteGenericBookmark_bySimilarity 5ms
โœ… BookmarkManagerTests test_deleteReadiumBookmark 28ms
โœ… BookmarkManagerTests test_everyMutationCallsSave 10ms
โœ… BookmarkManagerTests test_locationAndBookmarksAreIndependent 9ms
โœ… BookmarkManagerTests test_missingBook_locationAndBookmarkLookups_returnAbsentValues 11ms
โœ… BookmarkManagerTests test_replaceGenericBookmark 24ms
โœ… BookmarkManagerTests test_replaceReadiumBookmark 8ms
โœ… BookmarkManagerTests test_setAndGetLocation 8ms
โœ… BookmarkManagerTests test_setLocationSync_callsSaveSyncInsteadOfSave 34ms
โœ… BookmarkManagerTests test_setLocationSync_emptyIdentifier_neitherSyncNorAsyncSaveFires <1ms
โœ… BookmarkManagerTests test_setLocation_emptyIdentifier_doesNotSaveAndDoesNotTouchAnyBook 8ms
โœ… BookmarkManagerTests test_setLocation_nil_clearsLocation 6ms
โœ… BookmarkSortingTests testBookmarks_sortedByProgressWithinBook 60ms
โœ… BookmarkSyncTests testUpdateLocalBookmarks_addsServerBookmarks 275ms
โœ… BookmarkSyncTests testUpdateLocalBookmarks_handlesEmptyServerList 94ms
โœ… BookmarkSyncTests testUpdateLocalBookmarks_preservesFailedUploads 199ms
โœ… BorrowAndDownloadIntegrationTests testAudiobookBorrow_ManifestWithZeroTracks_ParsesGracefully 273ms
โœ… BorrowAndDownloadIntegrationTests testBorrowFlow_NetworkError_ShowsAlert_RegistryUnchanged 198ms
โœ… BorrowAndDownloadIntegrationTests testBorrowFlow_Success_RegistryUpdated_DownloadTriggered_NoAlert 48ms
โœ… BorrowAndDownloadIntegrationTests testDownload_StartedWhileOffline_FailsImmediately_NoTaskSpawned 642ms
โœ… BorrowAndDownloadIntegrationTests testFullLifecycle_BorrowDownloadReturn_OnRealRegistry 316ms
โœ… BorrowAndDownloadIntegrationTests testReachabilityDrop_DuringActiveDownloads_FailsAllOfThem 2.15s
โœ… BorrowAndDownloadIntegrationTests testReturn_RemovesBookFromRegistry_AndEmitsUnregisteredState 130ms
โœ… BorrowErrorMessageTests testAllRetryableParsingErrors_showUserFriendlyBaseMessage 3ms
โœ… BorrowErrorMessageTests testBookTitle_isIncludedInMessage 2ms
โœ… BorrowErrorMessageTests testDifferentBookTitles_produceDistinctMessages <1ms
โœ… BorrowErrorMessageTests testMessageFormat_matchesLegacyPattern_noProblemDoc 32ms
โœ… BorrowErrorMessageTests testMessageFormat_matchesLegacyPattern_withProblemDoc 5ms
โœ… BorrowErrorMessageTests testNetworkErrors_showUserFriendlyBaseMessage <1ms
โœ… BorrowErrorMessageTests testNilProblemDocument_usesRecoverySuggestion <1ms
โœ… BorrowErrorMessageTests testNoTechnicalErrorString_appearsAsMessage <1ms
โœ… BorrowErrorMessageTests testOPDSFeedInvalid_showsUserFriendlyMessage_notTechnicalError 9ms
โœ… BorrowErrorMessageTests testProblemDocument_takesPriorityOverRecoverySuggestion <1ms
โœ… BorrowErrorMessageTests testWithProblemDocument_appendsServerDetail <1ms
โœ… BorrowErrorMessageTests testWithProblemDocument_emptyDetail_fallsBackToBaseMessage 3ms
โœ… BorrowErrorMessageTests testWithProblemDocument_nilDetail_fallsBackToBaseMessage 31ms
โœ… BorrowErrorPresenterTests testProcess_genericProblemDoc_publishesAlertWithProblemDocDetail 35ms
โœ… BorrowErrorPresenterTests testProcess_invalidCredentialsTwice_secondCallSkipsReauthAndShowsAlert 281ms
โœ… BorrowErrorPresenterTests testProcess_invalidCredentialsWhileAlreadyRequesting_skipsBoth 82ms
โœ… BorrowErrorPresenterTests testProcess_invalidCredentials_triggersReauthAndRetriesViaDelegate 166ms
โœ… BorrowErrorPresenterTests testProcess_loanAlreadyExists_publishesLoanAlreadyExistsAlertWithoutRetry 35ms
โœ… BorrowErrorPresenterTests testProcess_noErrorDict_publishesGenericBorrowFailedAlert 45ms
โœ… BorrowOperationAuthCoordinatorTests testCoordinator_OAuthIntermediary_authError_routesThroughCoordinator 539ms
โœ… BorrowOperationAuthCoordinatorTests testCoordinator_OIDC_silentReauthFails_fallsBackToCoordinator 528ms
โœ… BorrowOperationAuthCoordinatorTests testCoordinator_OIDC_silentReauthSucceeds_doesNotInvokeCoordinator 592ms
โœ… BorrowOperationAuthCoordinatorTests testCoordinator_SAML_authError_routesThroughCoordinator_skipsLegacyPresentSignInModal 544ms
โœ… BorrowOperationAuthCoordinatorTests testCoordinator_perBookCircuitBreaker_clearAllReleasesAllBookGates 1.05s
โœ… BorrowOperationAuthCoordinatorTests testCoordinator_perBookCircuitBreaker_isStillHonored_acrossTwoSeparateAttempts 1.05s
โœ… BorrowOperationCleverReauthTests testBorrow_OAuthIntermediary_AuthError_RoutesToBrowserReauthModal 173ms
โœ… BorrowOperationCleverReauthTests testBorrow_OAuthIntermediary_NoActiveLoanProblemDoc_TreatedAsAuthError 173ms
โœ… BorrowOperationContractTests test_borrowAsync_401NoProblemDoc_routesToSignInModal 12ms
โœ… BorrowOperationContractTests test_borrowAsync_alreadyBorrowed_isIdempotent_perSQ007 120ms
โœ… BorrowOperationContractTests test_borrowAsync_attemptDownloadFalse_onSuccessfulBorrow_doesNotCallStartDownload 123ms
โœ… BorrowOperationContractTests test_borrowAsync_attemptDownloadTrue_onSuccessfulBorrow_callsStartDownload 11ms
โœ… BorrowOperationContractTests test_borrowAsync_authError_triggersRetryViaSilentReauth 10ms
โœ… BorrowOperationContractTests test_borrowAsync_holdResponse_doesNotCallStartDownload 130ms
โœ… BorrowOperationStreamingHTMLTests testBorrowOperation_borrowSucceeded_epubBook_callsStartDownloadOnce 192ms
โœ… BorrowOperationStreamingHTMLTests testBorrowOperation_borrowSucceeded_streamingHTMLBook_attemptDownloadFalse_doesNotCallStartDownload 28ms
โœ… BorrowOperationStreamingHTMLTests testBorrowOperation_borrowSucceeded_streamingHTMLBook_doesNotCallStartDownload 170ms
โœ… BorrowOperationTests testBorrowAsync_attemptDownloadTrue_callsDelegateStartDownload 166ms
โœ… BorrowOperationTests testBorrowAsync_genericError_presentsAlertAndRethrows 175ms
โœ… BorrowOperationTests testBorrowAsync_holdingRace_throwsHoldCopyUnavailableAndSetsHolding 122ms
โœ… BorrowOperationTests testBorrowAsync_noAcquisitionURL_throwsInvalidState 10ms
โœ… BorrowOperationTests testBorrowAsync_success_addsBookToRegistryAsDownloadNeeded 13ms
โœ… BorrowOperationTests testBorrow_401NetworkUnauthorizedNoProblemDoc_presentsSignInModal 205ms
โœ… BorrowOperationTests testBorrow_403NetworkForbiddenNoProblemDoc_presentsSignInModal 425ms
โœ… BorrowOperationTests testBorrow_AlreadyHasLoanWithoutCredentials_proceedsAsAuthError 184ms
โœ… BorrowOperationTests testBorrow_NetworkUnknownError_fallsThroughToAlert 186ms
โœ… BorrowOperationTests testBorrow_SAMLBrowserAuth_withCredentials_routesToReauthModalNotAlert 180ms
โœ… BorrowOperationTests testBorrow_SQ007AlreadyHasLoanWithCredentials_doesNotShowAlert 174ms
โœ… BorrowOperationTests testBorrow_StateHolding_isTreatedAsAlreadyHavingLoan 499ms
โœ… BorrowOperationTests testBorrow_StateUnregistered_isNotTreatedAsAlreadyHavingLoan 236ms
โœ… BorrowOperationTimeoutTests testWithTimeout_FastOperation_ReturnsValue 3ms
โœ… BorrowOperationTimeoutTests testWithTimeout_OperationThrowsBeforeDeadline_PropagatesOriginalError 5ms
โœ… BorrowOperationTimeoutTests testWithTimeout_SlowOperation_ThrowsTimeoutError 109ms
โœ… BorrowReducerContractTests test_registryStateChanged_transitionContract 13ms
โœ… BorrowReducerContractTests test_userActions_transitionContract 2ms
โœ… BorrowReducerTests testBookStateAssigned_toOtherState_doesNotChangeOverride 2ms
โœ… BorrowReducerTests testBookStateAssigned_toReturning_armsTheOverride 291ms
โœ… BorrowReducerTests testBookStateAssigned_toUnregistered_clearsTheOverride <1ms
โœ… BorrowReducerTests testCancelTapped_resetsDownloadProgressAndIsIdempotent 64ms
โœ… BorrowReducerTests testDownloadErrorOccurred_resyncsBookStateAndPurgesAllAcquireSpinners 4ms
โœ… BorrowReducerTests testDownloadProgressUpdated_clampsToMaxSeen_neverSlidesBackward 3ms
โœ… BorrowReducerTests testDownloadStartConfirmed_setsDownloadingAndOpensHalfSheet <1ms
โœ… BorrowReducerTests testManageHoldTapped_setsHoldingStateAndManagingFlag <1ms
โœ… BorrowReducerTests testProcessingButtonInserted_addsTheButton 6ms
โœ… BorrowReducerTests testProcessingButtonRemoved_removesOnlyThatButton_andIsIdempotent 53ms
โœ… BorrowReducerTests testRegistryStateChanged_clearsAcquireFlags_forAllBorrowCompletedStates 1.12s
โœ… BorrowReducerTests testRegistryStateChanged_toDownloadFailed_keepsHalfSheetOpenForRetryAlert 2ms
โœ… BorrowReducerTests testRegistryStateChanged_toDownloadNeeded_clearsBorrowProcessingFlags <1ms
โœ… BorrowReducerTests testRegistryStateChanged_toDownloadSuccessful_keepsHalfSheetOpenSoUserCanReadOrListen <1ms
โœ… BorrowReducerTests testRegistryStateChanged_toDownloading_clearsDownloadSpinnersOnly 8ms
โœ… BorrowReducerTests testRegistryStateChanged_toHolding_clearsReserveAndDismissesHalfSheet 1ms
โœ… BorrowReducerTests testRegistryStateChanged_toUnregistered_closesHalfSheetAndClearsReturnSpinners 1ms
โœ… BorrowReducerTests testRegistryStateChanged_whenReturningOverrideArmed_acceptsUnregisteredAsTerminal 232ms
โœ… BorrowReducerTests testRegistryStateChanged_whenReturningOverrideArmed_suppressesNonTerminalState 207ms
โœ… BorrowReducerTests testReturnStartConfirmed_insertsReturningSpinnerOnlyAndPreservesBookState 416ms
โœ… BorrowReducerTests testSignInCancelled_releasesAcquireSpinnersAndPreservesUnrelatedFlags <1ms
โœ… BundledRegistrySnapshotTests testBundleMain_LoadsAValidSnapshotWhenEmbedded 355ms
โœ… BundledRegistrySnapshotTests testLoad_RoundTripsThroughOPDS2CatalogsFeedDecoder 10ms
โœ… BundledRegistrySnapshotTests testLoad_WhenResourceMissing_ReturnsNil 5ms
โœ… BundledRegistrySnapshotTests testLoad_WhenResourcePresent_ReturnsBytes 5ms
โœ… BundledRegistrySnapshotTests testLoad_WhenResourceUnreadable_ReturnsNil 9ms
โœ… ButtonStateMonotonicClampTests testCell_downloadFailedThenReDownload_latchDropped_showsDownloading 376ms
โœ… ButtonStateMonotonicClampTests testCell_downloadingToDownloadNeeded_notClamped_showsDownload 249ms
โœ… ButtonStateMonotonicClampTests testCell_evictionToDownloadNeeded_showsDownload_notStrandedListen 2.06s
โœ… ButtonStateMonotonicClampTests testCell_forwardProgressionStillAdvances 374ms
โœ… ButtonStateMonotonicClampTests testCell_listenHoldsAgainstTransientDownloading 254ms
โœ… ButtonStateMonotonicClampTests testCell_returnThenReDownload_latchDropped_showsDownloading 380ms
โœ… ButtonStateMonotonicClampTests testDetail_evictionToDownloadNeeded_showsDownload 365ms
โœ… ButtonStateMonotonicClampTests testDetail_forwardProgressionStillAdvances 375ms
โœ… ButtonStateMonotonicClampTests testDetail_listenHoldsAgainstTransientDownloading 263ms
โœ… ButtonStateMonotonicClampTests testDetail_returnThenReDownload_latchDropped_showsDownloading 370ms
โœ… ButtonStateTests testCanBorrow_audiobookButtonsRespectPreviewToggle <1ms
โœ… ButtonStateTests testCanBorrow_epubButtonsRespectPreviewToggle <1ms
โœ… ButtonStateTests testCanHold_audiobookButtonsRespectPreviewToggle 3ms
โœ… ButtonStateTests testCanHold_epubButtonsRespectPreviewToggle 2ms
โœ… ButtonStateTests testDownloadFailed_yieldsCancelAndRetry 254ms
โœ… ButtonStateTests testDownloadInProgress_yieldsOnlyCancelButton <1ms
โœ… ButtonStateTests testDownloadNeededAudiobook 1ms
โœ… ButtonStateTests testDownloadNeededEpub 3ms
โœ… ButtonStateTests testDownloadSuccessfulAudiobook 4ms
โœ… ButtonStateTests testDownloadSuccessfulEpub 2ms
โœ… ButtonStateTests testDownloadSuccessfulPDF 2ms
โœ… ButtonStateTests testHoldingFrontOfQueue_withoutHoldReady_returnsManageHoldOnly 37ms
โœ… ButtonStateTests testHolding_audiobookButtonsRespectPreviewToggle 33ms
โœ… ButtonStateTests testHolding_epubButtonsRespectPreviewToggle 1ms
โœ… ButtonStateTests testUnsupported_yieldsEmptyButtonSetAndNoLeakageFromOtherStates 3.58s
โœ… ButtonStateTests testUsedEpub <1ms
โœ… ButtonStyleTypeTests testAllCases <1ms
โœ… ButtonStyleTypeTests testEquality 3ms
โœ… C64ConversionTests testC64ConverionWithAccentedString <1ms
โœ… C64ConversionTests testC64ConverionWithEmptyString 2ms
โœ… C64ConversionTests testC64ConverionWithNilString <1ms
โœ… C64ConversionTests testC64ConverionWithRegularString <1ms
โœ… C64ConversionTests testC64ConverionWithSpecialCharacters 2ms
โœ… C64ConversionTests testC64ConverionWithUnicodeCharecters <1ms
โœ… CarPlayAudiobookBridgePresenterMigrationTests testCarPlayBridge_dismissBookOnPhone_callsPresenterMinimize 78ms
โœ… CarPlayAudiobookBridgePresenterMigrationTests testCarPlayBridge_dismissBookOnPhone_doesNotKillSession 5ms
โœ… CarPlayAuthHelperReadinessTests testIntegration_underDetailsFailed_returnsFalse 901ms
โœ… CarPlayAuthHelperReadinessTests testReadiness_underDetailsFailed_gateThrows 42ms
โœ… CarPlayAuthHelperReadinessTests testReadiness_underDetailsLoading_gateBlocksUntilTransition 2.59s
โœ… CarPlayChapterListTests testCarPlayBridge_NoChaptersAvailable_ReturnsNil <1ms
โœ… CarPlayChapterListTests testCarPlayBridge_NoPlayback_CurrentChapterIsNil 44ms
โœ… CarPlayChapterListTests testCarPlayBridge_SkipToChapter_WithoutPlayback_DoesNotCrash 1ms
โœ… CarPlayIntegrationTests testCarPlayTemplateIntegration_BookSelectionHandling 238ms
โœ… CarPlayIntegrationTests testCarPlay_ImageProvider_CachesBehavior 7ms
โœ… CarPlayLibraryRefreshTests testCarPlay_BookRegistry_IsAccessible 474ms
โœ… CarPlayLibraryRefreshTests testCarPlay_DownloadedAudiobooks_CanBeFiltered 3ms
โœ… CarPlayLibraryRefreshTests testCarPlay_LibraryName_CanBeUpdated 3ms
โœ… CarPlayNowPlayingTemplateTests testCarPlayBridge_DoesNotConfigureNowPlayingOnInit 3ms
โœ… CarPlayNowPlayingTemplateTests testCarPlayBridge_HasPlaybackStatePublisher 507ms
โœ… CarPlayNowPlayingTemplateTests testCarPlayBridge_NowPlayingConfigurationIsIdempotent 1ms
โœ… CarPlayNowPlayingTemplateTests testCarPlayImageProvider_InitializesIndependently 110ms
โœ… CarPlayOpenAppAlertTests testCarPlay_OpenAppMessage_MentionsPalace 24ms
โœ… CarPlayOpenAppAlertTests testCarPlay_OpenAppMessage_MentionsPhone 5ms
โœ… CarPlayOpenAppAlertTests testCarPlay_OpenAppStrings_AreConfigured 23ms
โœ… CarPlayOpenAppAlertTests testShouldShowOpenAppAlert_whenMainSceneConnected_isFalse 10ms
โœ… CarPlayOpenAppAlertTests testShouldShowOpenAppAlert_whenMainSceneNotConnected_isTrue 43ms
โœ… CarPlayOpenAppAlertTests testStatebleed_resetForTesting_rebuildsFreshAudiobookStatics 12ms
โœ… CarPlayPlaybackErrorTests testAudiobookSessionError_MapsToCarPlayAlert 2ms
โœ… CarPlayPlaybackErrorTests testBridge_currentBook_nilWhenNoSession 2ms
โœ… CarPlayPlaybackErrorTests testBridge_isPlaying_reflectsSessionManager 11ms
โœ… CarPlayPlaybackErrorTests testCarPlay_ErrorStrings_AuthRequired 1ms
โœ… CarPlayPlaybackErrorTests testCarPlay_ErrorStrings_NotDownloaded 2ms
โœ… CarPlayPlaybackErrorTests testCarPlay_ErrorStrings_Offline 130ms
โœ… CarPlayPlaybackErrorTests testCarPlay_ErrorStrings_PlaybackFailed 1ms
โœ… CarPlayPlaybackErrorTests testNowPlayingInfo_isAccessible 9ms
โœ… CarPlayTests testAudiobookSessionManager_Initialization 638ms
โœ… CarPlayTests testCarPlayBridge_Initialization 12ms
โœ… CarPlayTests testCarPlayImageProvider_GeneratesPlaceholder 31ms
โœ… CarPlayTests testCarPlay_BookDownloadedState 2ms
โœ… CarPlayTests testCarPlay_ChapterListFormatting <1ms
โœ… CarPlayTests testCarPlay_ChapterNumber_Formatting 2ms
โœ… CarPlayTests testCarPlay_ErrorStrings_NotEmpty 2ms
โœ… CarPlayTests testCarPlay_FiltersOnlyAudiobooks 7ms
โœ… CarPlayTests testCarPlay_NoEbooksInLibrary 33ms
โœ… CarPlayTests testCarPlay_ShortDurationFormatting 69ms
โœ… CarPlayTests testCarPlay_UIStrings_NotEmpty 1ms
โœ… CarPlayTests testCarPlay_ZeroDurationFormatting 14ms
โœ… CarPlayTimeTrackingTests testCarPlayChapterSkip_properlyTracksTime 51ms
โœ… CarPlayTimeTrackingTests testCarPlayDisconnect_trackerContinuesIndependently 93ms
โœ… CarPlayTimeTrackingTests testCarPlayPlayback_usesStandardTrackerDelegateMethods 243ms
โœ… CatalogAPIDedupeTests testFetchFeed_ConcurrentCallersForDifferentURLs_DoNotDedupe 104ms
โœ… CatalogAPIDedupeTests testFetchFeed_ConcurrentCallersForSameURL_ShareOneNetworkRequest 107ms
โœ… CatalogAPIDedupeTests testFetchFeed_SequentialCallsAfterCompletion_FireFreshRequests 212ms
โœ… CatalogAPIEntryPointTests testExtractSearchEntryPointsFromEmptyFeed 8ms
โœ… CatalogAccessibilityTests testCollapseSectionLabel_isDescriptive <1ms
โœ… CatalogAccessibilityTests testExpandCollapseLabel_roundTripsOnRepeatedFlips 2ms
โœ… CatalogAccessibilityTests testExpandCollapseLabels_areDifferent <1ms
โœ… CatalogAccessibilityTests testExpandSectionLabel_isDescriptive <1ms
โœ… CatalogAccessibilityTests testMoreBooksInLaneLabel_includesLaneTitle 15ms
โœ… CatalogAccessibilityTests testMoreBooksLabel_differsForDifferentLanes 1ms
โœ… CatalogAccessibilityTests testMoreBooksLabel_indicatesNavigation 124ms
โœ… CatalogAccessibilityTests testSwitchLibraryLabel_isDescriptive <1ms
โœ… CatalogCacheKeyAndIsolationTests testCacheKey_SameAccount_RepeatedReads_ShareOneCacheEntry 10ms
โœ… CatalogCacheKeyAndIsolationTests testCacheKey_SamePathDifferentQueryStrings_AreDistinctEntries 22ms
โœ… CatalogCacheKeyAndIsolationTests testCacheKey_SameURL_DistinctAccounts_AreDistinctEntries 20ms
โœ… CatalogCacheKeyAndIsolationTests testCacheKey_SchemeCasing_RetainedAsURLSpec 127ms
โœ… CatalogCacheKeyAndIsolationTests testCacheKey_TrailingSlashDifference_AreDistinctEntries 11ms
โœ… CatalogCacheKeyAndIsolationTests testConcurrentStaleReads_AcrossDistinctURLs_EachURLGetsItsOwnRefresh 80ms
โœ… CatalogCacheKeyAndIsolationTests testConcurrentStaleReads_BackgroundRefreshDoesNotPoisonNeighborKey 63ms
โœ… CatalogCacheKeyAndIsolationTests testInMemoryCache_AfterSystemMemoryWarning_IsClearedAndNextReadHitsNetwork 184ms
โœ… CatalogCacheKeyAndIsolationTests testInvalidateCache_DoesNotClearUnrelatedURLs 13ms
โœ… CatalogCacheKeyAndIsolationTests testInvalidateCache_IsScopedToCurrentAccount 15ms
โœ… CatalogCacheKeyAndIsolationTests testMemoryWarning_ClearsBothInMemoryAndFormatEntriesCache 17ms
โœ… CatalogCacheKeyAndIsolationTests testSignOutContract_InvalidateAllCachedURLs_NextReadsHitNetwork 19ms
โœ… CatalogCacheMetadataExactBoundaryTests testIsExpired_AtExactlyMaxAge_IsNotExpired 18ms
โœ… CatalogCacheMetadataExactBoundaryTests testIsStale_AtExactlyDefaultStaleTTL_IsFresh <1ms
โœ… CatalogCacheMetadataExactBoundaryTests testStaleTTL_ExtremelyLargeServerMaxAge_IsClampedToCeiling 205ms
โœ… CatalogCacheMetadataExactBoundaryTests testStaleTTL_ServerMaxAgeJustBelowFloor_IsClampedToFiveMinutes <1ms
โœ… CatalogCacheMetadataTests testCacheLifecycle_FreshThenStaleThenExpired <1ms
โœ… CatalogCacheMetadataTests testDecode_LegacyMetadataWithoutIsBundledField_DefaultsToFalse 14ms
โœ… CatalogCacheMetadataTests testEncodeDecode_PreservesAllProperties <1ms
โœ… CatalogCacheMetadataTests testEncodeDecode_PreservesIsBundledFalse_Explicitly <1ms
โœ… CatalogCacheMetadataTests testEncodeDecode_PreservesIsBundledTrue 2ms
โœ… CatalogCacheMetadataTests testInvariant_ExpiredImpliesStale <1ms
โœ… CatalogCacheMetadataTests testIsBundled_DefaultsFalse_ForBackCompat <1ms
โœ… CatalogCacheMetadataTests testIsBundled_False_PreservesExistingStalenessBehavior 22ms
โœ… CatalogCacheMetadataTests testIsBundled_True_ForcesStaleness_AcrossAllServerMaxAges <1ms
โœ… CatalogCacheMetadataTests testIsBundled_True_ForcesStaleness_RegardlessOfFreshTimestamp 3ms
โœ… CatalogCacheMetadataTests testIsExpired_EpochTimestamp_IsAlwaysStaleAndExpired 34ms
โœ… CatalogCacheMetadataTests testIsExpired_TransitionsAtTwentyFourHourBoundary <1ms
โœ… CatalogCacheMetadataTests testIsStale_DeepInsideTTL_RemainsFresh <1ms
โœ… CatalogCacheMetadataTests testIsStale_FreshCache_StaysFreshAcrossSubSecondJitter 103ms
โœ… CatalogCacheMetadataTests testIsStale_FutureTimestamp_TreatsAsFresh <1ms
โœ… CatalogCacheMetadataTests testIsStale_TransitionsAtSixHourBoundary 7ms
โœ… CatalogCacheMetadataTests testIsStale_WithServerMaxAge_RespectsOverride <1ms
โœ… CatalogCacheMetadataTests testStaleTTL_ClampsAboveTwelveHoursDownToCeiling <1ms
โœ… CatalogCacheMetadataTests testStaleTTL_ClampsBelowFiveMinutesUpToFloor 2ms
โœ… CatalogCacheMetadataTests testStaleTTL_HalvesServerMaxAgeInMidRange <1ms
โœ… CatalogCacheMetadataTests testStaleTTL_NilOrNegativeServerMaxAge_UsesDefault 1ms
โœ… CatalogFeedModelTests testCatalogEntryFromOPDS1Entry 11ms
โœ… CatalogFeedModelTests testCatalogFeedFromNilFeedReturnsNil <1ms
โœ… CatalogFeedModelTests testCatalogFeedFromOPDS1 3ms
โœ… CatalogFeedModelTests testSearchFormatEntryEquality 163ms
โœ… CatalogFilterGroupModelTests testEdgeCase_EmptyGroupName 3ms
โœ… CatalogFilterGroupModelTests testEdgeCase_SpecialCharactersInName <1ms
โœ… CatalogFilterGroupModelTests testEquality_DifferentFiltersMakesGroupsUnequal <1ms
โœ… CatalogFilterGroupModelTests testEquality_DifferentIdsMakesGroupsUnequal 2ms
โœ… CatalogFilterGroupModelTests testEquality_DifferentNamesMakesGroupsUnequal <1ms
โœ… CatalogFilterGroupModelTests testEquality_IdenticalGroupsAreEqual 2ms
โœ… CatalogFilterGroupModelTests testFilters_FilterByHrefPresence 1ms
โœ… CatalogFilterGroupModelTests testFilters_FindActiveFilter 31ms
โœ… CatalogFilterGroupModelTests testFilters_MultipleActiveFilters <1ms
โœ… CatalogFilterGroupModelTests testFilters_NoActiveFilter 2ms
โœ… CatalogFilterGroupModelTests testHashable_EqualGroupsHaveSameHash 2ms
โœ… CatalogFilterGroupModelTests testHashable_GroupsCanBeUsedInSet 2ms
โœ… CatalogFilterGroupModelTests testIdentifiable_UsesIdProperty 47ms
โœ… CatalogFilterGroupModelTests testInit_StoresAllProperties <1ms
โœ… CatalogFilterGroupModelTests testInit_WithEmptyFilters <1ms
โœ… CatalogFilterGroupModelTests testInit_WithManyFilters <1ms
โœ… CatalogFilterGroupModelTests testInit_WithSingleFilter 2ms
โœ… CatalogFilterModelTests testEdgeCase_ComplexURL 2ms
โœ… CatalogFilterModelTests testEdgeCase_EmptyStringId 2ms
โœ… CatalogFilterModelTests testEdgeCase_EmptyStringTitle 1ms
โœ… CatalogFilterModelTests testEdgeCase_SpecialCharactersInTitle 72ms
โœ… CatalogFilterModelTests testEdgeCase_UnicodeInTitle <1ms
โœ… CatalogFilterModelTests testEquality_DifferentActiveStateMakesFiltersUnequal 1ms
โœ… CatalogFilterModelTests testEquality_DifferentHrefMakesFiltersUnequal <1ms
โœ… CatalogFilterModelTests testEquality_DifferentIdsMakesFiltersUnequal 1ms
โœ… CatalogFilterModelTests testEquality_DifferentTitlesMakesFiltersUnequal 228ms
โœ… CatalogFilterModelTests testEquality_IdenticalFiltersAreEqual 58ms
โœ… CatalogFilterModelTests testEquality_NilAndNonNilHrefMakesFiltersUnequal 1ms
โœ… CatalogFilterModelTests testHashable_DifferentFiltersCanBeUsedInSet 2ms
โœ… CatalogFilterModelTests testHashable_EqualFiltersHaveSameHash 38ms
โœ… CatalogFilterModelTests testIdentifiable_UsesIdProperty 3ms
โœ… CatalogFilterModelTests testInit_StoresAllProperties 1ms
โœ… CatalogFilterModelTests testInit_WithInactiveState 1ms
โœ… CatalogFilterModelTests testInit_WithNilHref 21ms
โœ… CatalogFilterServiceTests testActiveFacetHrefs_excludesDefaultsWhenFlagFalse 2ms
โœ… CatalogFilterServiceTests testActiveFacetHrefs_returnsActiveURLs 1ms
โœ… CatalogFilterServiceTests testActiveFiltersCount_emptySet_returnsZero 1ms
โœ… CatalogFilterServiceTests testActiveFiltersCount_excludesDefaults 1ms
โœ… CatalogFilterServiceTests testCategorizeFacetURL_categorisesCorrectly <1ms
โœ… CatalogFilterServiceTests testFindFacetGroupName_matchesURL <1ms
โœ… CatalogFilterServiceTests testFindFacetGroupName_returnsNilForUnknownURL 17ms
โœ… CatalogFilterServiceTests testFindFilterInCurrentFacets_caseInsensitiveMatch 2ms
โœ… CatalogFilterServiceTests testFindFilterInCurrentFacets_returnsNilWhenNotFound <1ms
โœ… CatalogFilterServiceTests testGroupPriority_caseInsensitive <1ms
โœ… CatalogFilterServiceTests testGroupPriority_collectionIsHighest <1ms
โœ… CatalogFilterServiceTests testGroupPriority_distributorBeforeFormat 1ms
โœ… CatalogFilterServiceTests testGroupPriority_unknownGroupReturnsFallback 42ms
โœ… CatalogFilterServiceTests testKeysForCurrentFacets_excludesSortGroups 3ms
โœ… CatalogFilterServiceTests testKeysForCurrentFacets_mapsGroupTitleKeysToFullKeys 1ms
โœ… CatalogFilterServiceTests testMakeGroupTitleKey_omitsHref <1ms
โœ… CatalogFilterServiceTests testMakeKey_producesCanonicalFormat 1ms
โœ… CatalogFilterServiceTests testNormalizeTitle_trimsAndLowercases 6ms
โœ… CatalogFilterServiceTests testParseKey_handlesEmptyComponents 13ms
โœ… CatalogFilterServiceTests testParseKey_returnsNilForInvalidKey 49ms
โœ… CatalogFilterServiceTests testParseKey_roundTrips 4ms
โœ… CatalogFilterServiceTests testParsedKey_isDefaultTitle_detectsAllVariants 1ms
โœ… CatalogFilterServiceTests testParsedKey_isDefaultTitle_rejectsNonDefaults <1ms
โœ… CatalogFilterServiceTests testPrioritizeSelectedFilters_ordersCollectionBeforeFormat 1ms
โœ… CatalogFilterServiceTests testReconstructSelections_matchesByGroupAndTitle 1ms
โœ… CatalogFilterServiceTests testReconstructSelections_skipsInvalidKeys 1ms
โœ… CatalogFilterServiceTests testSelectionKeys_excludesDefaultsWhenFlagFalse <1ms
โœ… CatalogFilterServiceTests testSelectionKeys_excludesSortGroups 13ms
โœ… CatalogFilterServiceTests testSelectionKeys_includesDefaultsWhenFlagTrue <1ms
โœ… CatalogFilterTests testCatalogFilter_StoresValues 2ms
โœ… CatalogLaneAssemblyTests testDistinctIDs_sameTitle_areNotDeduped 2ms
โœ… CatalogLaneAssemblyTests testFlatPublications_duplicateIDs_areDeduped 27ms
โœ… CatalogLaneAssemblyTests testNoGroupsOrPublications_emptyEntries 1ms
โœ… CatalogLaneAssemblyTests testOrdering_groupOrderPreservedAcrossDedupe 243ms
โœ… CatalogLaneAssemblyTests testPublicationInEveryGroup_resultsInNEntriesNotNPlusOne 3ms
โœ… CatalogLaneAssemblyTests testPublicationInMultipleGroups_dedupedByID_firstOccurrenceWins 3ms
โœ… CatalogLaneAssemblyTests testSingleGroup_unchangedFromFlatten 81ms
โœ… CatalogLaneModelStructTests testBooks_EmptyCollection 455ms
โœ… CatalogLaneModelStructTests testBooks_LargeCollection 152ms
โœ… CatalogLaneModelStructTests testBooks_MixedContentTypes 191ms
โœ… CatalogLaneModelStructTests testBooks_MultipleBooks 10ms
โœ… CatalogLaneModelStructTests testBooks_OrderPreserved 7ms
โœ… CatalogLaneModelStructTests testBooks_SingleBook 4ms
โœ… CatalogLaneModelStructTests testEdgeCase_ComplexMoreURL <1ms
โœ… CatalogLaneModelStructTests testEdgeCase_EmptyTitle 38ms
โœ… CatalogLaneModelStructTests testEdgeCase_LongTitle <1ms
โœ… CatalogLaneModelStructTests testEdgeCase_SpecialCharactersInTitle <1ms
โœ… CatalogLaneModelStructTests testEdgeCase_UnicodeInTitle 61ms
โœ… CatalogLaneModelStructTests testIdentity_DifferentMoreURL_ProducesDifferentID 1ms
โœ… CatalogLaneModelStructTests testIdentity_DifferentTitle_ProducesDifferentID 2ms
โœ… CatalogLaneModelStructTests testIdentity_NilMoreURL_IsStableAndDistinctFromNonNil <1ms
โœ… CatalogLaneModelStructTests testIdentity_SameTitleAndURL_ProducesEqualID 3ms
โœ… CatalogLaneModelStructTests testInit_StoresAllProperties 77ms
โœ… CatalogLaneModelStructTests testInit_WithDefaultIsLoading <1ms
โœ… CatalogLaneModelStructTests testInit_WithLoadingState 176ms
โœ… CatalogLaneModelStructTests testInit_WithNilMoreURL 1ms
โœ… CatalogLaneModelStructTests testSnapshotBooks_WithDeterministicData 6ms
โœ… CatalogLaneModelTests testId_differsWhenMoreURLDiffers <1ms
โœ… CatalogLaneModelTests testId_differsWhenTitleDiffers <1ms
โœ… CatalogLaneModelTests testId_isStableAcrossReMapsOfSameLane 12ms
โœ… CatalogLaneMoreFilterStateTests testActiveSortTitle_WithMultipleActive_ReturnsFirst 5ms
โœ… CatalogLaneMoreFilterStateTests testOpeningFilterSheet_PopulatesPendingFromApplied 4ms
โœ… CatalogLaneMoreFilterStateTests testOpeningFilterSheet_WithNoApplied_ClearsPending 4ms
โœ… CatalogLaneMoreFilterStateTests testRestoreFilterState_RestoresAppliedSelections 4ms
โœ… CatalogLaneMoreFilterStateTests testRestoreFilterState_RestoresFacetGroups 24ms
โœ… CatalogLaneMoreFilterStateTests testRestoreFilterState_WithEmptyState_ClearsAll 108ms
โœ… CatalogLaneMoreFilterStateTests testSortFacets_CaseInsensitiveGroupMatch 8ms
โœ… CatalogLaneMoreFilterStateTests testURL_MatchesInitializer 8ms
โœ… CatalogLaneMoreViewModelTests testActiveFiltersCount_AfterClearingSelections 93ms
โœ… CatalogLaneMoreViewModelTests testActiveFiltersCount_FiltersOutAllDefaults 249ms
โœ… CatalogLaneMoreViewModelTests testActiveFiltersCount_WhenEmpty 2ms
โœ… CatalogLaneMoreViewModelTests testActiveFiltersCount_WithAppliedSelections 3ms
โœ… CatalogLaneMoreViewModelTests testActiveSortTitle_WhenActiveFacetExists_ReturnsTitle 6ms
โœ… CatalogLaneMoreViewModelTests testActiveSortTitle_WhenNoActiveFacet_FallsBackToFirstFilterTitle 5ms
โœ… CatalogLaneMoreViewModelTests testActiveSortTitle_WhenSortGroupEmpty_ReturnsNil 4ms
โœ… CatalogLaneMoreViewModelTests testAllBooks_CombinesMultipleLanes 82ms
โœ… CatalogLaneMoreViewModelTests testAllBooks_EmptyWhenNoData 2ms
โœ… CatalogLaneMoreViewModelTests testAllBooks_WhenLanesEmpty_ReturnsUngroupedBooks 374ms
โœ… CatalogLaneMoreViewModelTests testAllBooks_WhenLanesHaveBooks_ReturnsLaneBooks 8ms
โœ… CatalogLaneMoreViewModelTests testAppliedSelectionsUpdate 81ms
โœ… CatalogLaneMoreViewModelTests testApplyRegistryUpdates_OnlyTargetsChangedIdentifier_WhenProvided 7ms
โœ… CatalogLaneMoreViewModelTests testApplyRegistryUpdates_PreservesIdentifierSequenceAfterBorrow 28ms
โœ… CatalogLaneMoreViewModelTests testDisplayedSortFacets_WhenNoneActive_MarksFirstAsDefault 8ms
โœ… CatalogLaneMoreViewModelTests testDisplayedSortFacets_WhenOneActive_Unchanged 3ms
โœ… CatalogLaneMoreViewModelTests testDisplayedSortFacets_WhenPendingIDUnknown_FallsBackNormally 3ms
โœ… CatalogLaneMoreViewModelTests testDisplayedSortFacets_WhenPendingSet_HighlightsOnlyPendingFacet 11ms
โœ… CatalogLaneMoreViewModelTests testErrorPublishes 3ms
โœ… CatalogLaneMoreViewModelTests testError_CanBeCleared 77ms
โœ… CatalogLaneMoreViewModelTests testError_CanBeSet 2ms
โœ… CatalogLaneMoreViewModelTests testFacetGroups_MultipleGroups 2ms
โœ… CatalogLaneMoreViewModelTests testFilterStateInitialValues 2ms
โœ… CatalogLaneMoreViewModelTests testInitialState 588ms
โœ… CatalogLaneMoreViewModelTests testIsApplyingFiltersInitiallyFalse 165ms
โœ… CatalogLaneMoreViewModelTests testIsLoadingMoreInitiallyFalse 799ms
โœ… CatalogLaneMoreViewModelTests testIsLoadingPublishes 5ms
โœ… CatalogLaneMoreViewModelTests testLanesPublishes 31.35s
โœ… CatalogLaneMoreViewModelTests testPagination_ClearedWhenNil 1ms
โœ… CatalogLaneMoreViewModelTests testPagination_NextPageURLCanBeSet 3ms
โœ… CatalogLaneMoreViewModelTests testPendingSelectionsUpdate 73ms
โœ… CatalogLaneMoreViewModelTests testProcessOPDS2GroupedFeed_UsesFeedURLForActiveDetection 4ms
โœ… CatalogLaneMoreViewModelTests testProcessOPDS2GroupedFeed_singleTitleLane_isNotLoading_soCoverRenders 44ms
โœ… CatalogLaneMoreViewModelTests testProcessOPDS2PublicationFeed_UsesFeedURLForActiveDetection 10ms
โœ… CatalogLaneMoreViewModelTests testShouldShowPagination_WhenNextPageURLExists 6ms
โœ… CatalogLaneMoreViewModelTests testShowSearchToggle 5ms
โœ… CatalogLaneMoreViewModelTests testShowingFiltersSheetToggle 2ms
โœ… CatalogLaneMoreViewModelTests testShowingSortSheetToggle 4ms
โœ… CatalogLaneMoreViewModelTests testSortFacets_WhenNoSortGroup_ReturnsEmpty 2ms
โœ… CatalogLaneMoreViewModelTests testSortFacets_WhenSortGroupExists_ReturnsFacets 4ms
โœ… CatalogLaneMoreViewModelTests testTitle_Empty 16ms
โœ… CatalogLaneMoreViewModelTests testTitle_WithSpecialCharacters 81ms
โœ… CatalogLaneMoreViewModelTests testUIStateInitialValues 3ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_audiobookFormat 6ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_audiobookIncludesAudiobookDesignation 5ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_audiobook_authorOnly 2ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_bookWithoutAuthor 4ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_doesNotIncludeSummaryOrBlurbs 6ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_ebookDoesNotIncludeAudiobookDesignation 3ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_ebook_noAuthor_titleOnly 93ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_ebook_titleByAuthor 20ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_includesTitleAndAuthor 16ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_usesCommaSeparatedFormat 4ms
โœ… CatalogLaneRowViewAccessibilityTests testSwimlaneTitle_sourceDeclaresHeaderAccessibilityTrait 7ms
โœ… CatalogLaneSortingTests testExtractFacets_ActiveSortFacet_IsMarkedActive 6ms
โœ… CatalogLaneSortingTests testExtractFacets_GroupedFeedWithSortFacets_ExtractsSortGroup 9ms
โœ… CatalogLaneSortingTests testLaneMoreViewModel_ActiveSortTitle_ReturnsActiveFacetTitle 19ms
โœ… CatalogLaneSortingTests testLaneMoreViewModel_GroupedFeedWithSortFacets_ExposesSortFacets 46ms
โœ… CatalogLaneSortingTests testMapFeed_opds1GroupedSingleTitleLane_isNotLoading_soCoverRenders 1ms
โœ… CatalogLoadIntegrationTests testAuthenticationRequired_ReturnsUnauthorizedError 11ms
โœ… CatalogLoadIntegrationTests testCacheInvalidation_TriggersFreshFetch 4ms
โœ… CatalogLoadIntegrationTests testFetchFeed_DelegatesToLoadTopLevelCatalog 141ms
โœ… CatalogLoadIntegrationTests testFreshLoad_FetchesFromNetwork 12ms
โœ… CatalogLoadIntegrationTests testNetworkFailure_PropagatesError 5ms
โœ… CatalogLoadIntegrationTests testOPDSFeedXML_IsGeneratedCorrectly 5ms
โœ… CatalogOPDS2NegotiationTests testFetchFeed_OPDS1AtomBodyTaggedWithOPDS2ContentType_StillFallsBackToOPDS1 4ms
โœ… CatalogOPDS2NegotiationTests testFetchFeed_OPDS2JSONBodyTaggedWithOPDS1ContentType_StillParsesAsOPDS2 14ms
โœ… CatalogOPDS2NegotiationTests testFetchFeed_OPDS2RequestedButServerReturnsMalformedJSON_ThrowsInvalidJSON 7ms
โœ… CatalogOPDS2NegotiationTests testFetchFeed_OPDS2RequestedButServerReturnsOPDS1Atom_FallsBackToOPDS1 3ms
โœ… CatalogOPDS2NegotiationTests testFetchFeed_ServerReturnsOPDS2JSON_ParsesAsOPDS2Feed 20ms
โœ… CatalogOPDS2NegotiationTests testOPDSFormatDetect_ByFirstByte_JSON_RoutesToOPDS2 675ms
โœ… CatalogOPDS2NegotiationTests testOPDSFormatDetect_ByFirstByte_XML_RoutesToOPDS1 <1ms
โœ… CatalogOPDS2NegotiationTests testOPDSFormatDetect_NonJSONNonXMLFirstByte_RoutesToUnknown 1ms
โœ… CatalogOPDS2NegotiationTests testRepositoryCache_AfterOPDS1FallbackNegotiation_PreservesIsOPDS2False 8ms
โœ… CatalogOPDS2NegotiationTests testRepositoryCache_AfterOPDS2Negotiation_PreservesIsOPDS2Flag 6ms
โœ… CatalogOPDS2NegotiationTests testRequestAcceptHeader_WhenOPDS2Disabled_DoesNotAdvertiseOPDS2 21ms
โœ… CatalogOPDS2NegotiationTests testRequestAcceptHeader_WhenOPDS2Enabled_PrefersJSONOverAtom 11ms
โœ… CatalogPreloaderTests testPreloader_ContinuesOnFailure 61ms
โœ… CatalogPreloaderTests testPreloader_NilCurrentAccount_StillPreloadsRecent 6ms
โœ… CatalogPreloaderTests testPreloader_PreloadsCurrentAccountCatalog 7ms
โœ… CatalogPreloaderTests testPreloader_PreloadsRecentlyUsedAccounts_UpToLimit 7ms
โœ… CatalogPreloaderTests testPreloader_SkipsAccountsWithNoCatalogURL 133ms
โœ… CatalogPreloaderTests testPreloader_SkipsDuplicateCurrentAccount 10ms
โœ… CatalogProblemDocumentTests testFetchFeed_503ProblemDocument_surfacesStructuredErrorThroughAPI 9ms
โœ… CatalogProblemDocumentTests testParser_plainJSONContentType_doesNotTriggerProblemDocumentPath 16ms
โœ… CatalogProblemDocumentTests testParser_problemJSONContentTypeWithCharset_stillDetected 9ms
โœ… CatalogProblemDocumentTests testParser_problemJSONContentType_errorDescriptionIncludesTitleAndDetail 2ms
โœ… CatalogProblemDocumentTests testParser_problemJSONContentType_throwsProblemDocumentErrorNotInvalidJSON <1ms
โœ… CatalogProblemDocumentTests testParser_undecodableProblemBody_stillSurfacesAsProblemDocument <1ms
โœ… CatalogRepositoryCoreTests testDifferentURLsAreCachedSeparately 8ms
โœ… CatalogRepositoryCoreTests testInvalidateCacheForcesFreshFetch 109ms
โœ… CatalogRepositoryCoreTests testLoadTopLevelCatalogCachesFeed 13ms
โœ… CatalogRepositoryCoreTests testLoadTopLevelCatalogCallsAPI 4ms
โœ… CatalogRepositoryCoreTests testLoadTopLevelCatalogFallsToCacheOnNetworkError 112ms
โœ… CatalogRepositoryCoreTests testLoadTopLevelCatalogPropagatesError 6ms
โœ… CatalogRepositoryCoreTests testLoadTopLevelCatalogReturnsFeedTitle 14ms
โœ… CatalogRepositoryCoreTests testSearchDelegatesToAPI 9ms
โœ… CatalogRepositoryCoreTests testSearchPropagatesError 6ms
โœ… CatalogRepositoryStaleWhileRevalidateTests testCachedFeed_AtExactly24h_ReturnsFeed_PastBoundary_ReturnsNil 12ms
โœ… CatalogRepositoryStaleWhileRevalidateTests testCachedFeed_PerURLIsolation_DoesNotLeakBetweenURLs 324ms
โœ… CatalogRepositoryStaleWhileRevalidateTests testInvalidateCache_ExplicitInvalidate_ForcesNextReadToNetwork 363ms
โœ… CatalogRepositoryStaleWhileRevalidateTests testInvalidateCache_OnlyClearsRequestedURL_DoesNotClearOthers 38ms
โœ… CatalogRepositoryStaleWhileRevalidateTests testLoadTopLevelCatalog_AtExactly24HourBoundary_StillStaleButUsableNotTooOld 298ms
โœ… CatalogRepositoryStaleWhileRevalidateTests testLoadTopLevelCatalog_AtExactlyTenMinuteBoundary_StillCountsAsFresh 11ms
โœ… CatalogRepositoryStaleWhileRevalidateTests testLoadTopLevelCatalog_ConcurrentStaleReads_BothSeeCachedAndCacheGetsRefreshed 125ms
โœ… CatalogRepositoryStaleWhileRevalidateTests testLoadTopLevelCatalog_FreshCacheWithinTenMinutes_ReturnsCacheAndSkipsNetwork 24ms
โœ… CatalogRepositoryStaleWhileRevalidateTests testLoadTopLevelCatalog_JustPastTenMinutes_ReturnsStaleAndSchedulesBackgroundRefresh 11ms
โœ… CatalogRepositoryStaleWhileRevalidateTests testLoadTopLevelCatalog_NetworkFailureWithNoCache_Throws 1.07s
โœ… CatalogRepositoryStaleWhileRevalidateTests testLoadTopLevelCatalog_NetworkFailureWithTooOldCache_ReturnsCachedFallback 876ms
โœ… CatalogRepositoryStaleWhileRevalidateTests testLoadTopLevelCatalog_PastTwentyFourHours_FetchesFromNetworkAndReplacesCache 8ms
โœ… CatalogRepositoryTests testFetchFeed_DoesNotCache_AlwaysFetchesFresh 8ms
โœ… CatalogRepositoryTests testFetchFeed_NetworkError_ThrowsError 3ms
โœ… CatalogRepositoryTests testFetchFeed_Success_ReturnsFeed 5ms
โœ… CatalogRepositoryTests testIntegration_ErrorPropagation 4ms
โœ… CatalogRepositoryTests testIntegration_FullFetchFlow 12ms
โœ… CatalogRepositoryTests testInvalidateCache_ClearsSpecificURL 35ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_401Unauthorized_ThrowsError 6ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_500ServerError_ThrowsError 4ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_CachesFeed_ReturnsFromCache 12ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_EmptyFeed_ReturnsEmptyEntries 33ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_InvalidXML_ThrowsParsingError 13ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_MultipleURLs_CachesIndependently 5ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_NetworkError_FallsBackToStaleCache 6ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_NetworkError_ThrowsError 18ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_PreservesQueryParameters 50ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_ProblemDocument_ParsesErrorDetails 16ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_SpecialCharactersInTitle_ParsesCorrectly 26ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_Success_ReturnsFeed 5ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_UsesGETMethod 6ms
โœ… CatalogSearchViewModelRegistryUpdateTests testApplyRegistryUpdates_EmptyFilteredBooks_DoesNotCrash 14ms
โœ… CatalogSearchViewModelRegistryUpdateTests testApplyRegistryUpdates_MultipleRapidCalls_DoesNotCrash 27ms
โœ… CatalogSearchViewModelRegistryUpdateTests testApplyRegistryUpdates_NilChangedIdentifier_UpdatesAllBooks 16ms
โœ… CatalogSearchViewModelRegistryUpdateTests testApplyRegistryUpdates_UnknownIdentifier_NoChanges 5ms
โœ… CatalogSearchViewModelRegistryUpdateTests testApplyRegistryUpdates_WithBooks_UpdatesMatchingBook 9ms
โœ… CatalogSearchViewModelTests testApplyRegistryUpdates_DoesNotChangeSearchId 3ms
โœ… CatalogSearchViewModelTests testApplyRegistryUpdates_WithEmptyFilteredBooks_DoesNothing 3ms
โœ… CatalogSearchViewModelTests testClearSearch_CancelsPendingOperations 324ms
โœ… CatalogSearchViewModelTests testClearSearch_ChangesSearchId 1ms
โœ… CatalogSearchViewModelTests testClearSearch_ResetsSelectedFormat_DoesNotChangeFormatEntries 2ms
โœ… CatalogSearchViewModelTests testClearSearch_ResetsState 5ms
โœ… CatalogSearchViewModelTests testClearSearch_RestoresAllBooks 4ms
โœ… CatalogSearchViewModelTests testConcurrentUpdates_DoNotCrash 10ms
โœ… CatalogSearchViewModelTests testHasCompletedSearch_BecomesTrue_AfterSearchReturnsEmpty 163ms
โœ… CatalogSearchViewModelTests testHasCompletedSearch_FlipsTrue_OnSearchError 167ms
โœ… CatalogSearchViewModelTests testHasCompletedSearch_ResetByClearSearch 158ms
โœ… CatalogSearchViewModelTests testHasCompletedSearch_StartsFalse 1ms
โœ… CatalogSearchViewModelTests testInit_HasCorrectDefaults 4ms
โœ… CatalogSearchViewModelTests testLoadFormatEntryPoints_SelectsActiveEntry 5ms
โœ… CatalogSearchViewModelTests testLoadFormatEntryPoints_WhenFeedHasNoEntryPoints_LeavesFormatEntriesEmpty 3ms
โœ… CatalogSearchViewModelTests testLoadFormatEntryPoints_WhenFetchFails_LeavesFormatEntriesEmpty 164ms
โœ… CatalogSearchViewModelTests testLoadFormatEntryPoints_WhenSuccessful_PopulatesFormatEntries 13ms
โœ… CatalogSearchViewModelTests testLoadFormatEntryPoints_WithNilBaseURL_DoesNotCallRepository 171ms
โœ… CatalogSearchViewModelTests testLoadNextPage_DoesNotChangeSearchId 5ms
โœ… CatalogSearchViewModelTests testLoadNextPage_SetsIsLoadingMore 5ms
โœ… CatalogSearchViewModelTests testLoadNextPage_WhenAlreadyLoading_DoesNothing 5ms
โœ… CatalogSearchViewModelTests testLoadNextPage_WithNoNextURL_DoesNothing 4ms
โœ… CatalogSearchViewModelTests testPP3605_ApplyRegistryUpdates_DoesNotChangeSearchId 7ms
โœ… CatalogSearchViewModelTests testPP3605_ClearSearch_ChangesSearchId 3ms
โœ… CatalogSearchViewModelTests testPP3605_DifferentSearches_EachHaveUniqueSearchId 111ms
โœ… CatalogSearchViewModelTests testPP3605_LoadNextPage_DoesNotChangeSearchId 57ms
โœ… CatalogSearchViewModelTests testPP3605_NewSearch_ChangesSearchId 56ms
โœ… CatalogSearchViewModelTests testPP3673_clearSearch_doesNotAnnounce 211ms
โœ… CatalogSearchViewModelTests testPP3673_search_emptyQuery_doesNotAnnounce 157ms
โœ… CatalogSearchViewModelTests testPP3673_search_error_announcesFailure 60ms
โœ… CatalogSearchViewModelTests testPP3673_search_noResults_announcesNoResults 58ms
โœ… CatalogSearchViewModelTests testPP3673_search_rerun_announcesUpdatedResults 114ms
โœ… CatalogSearchViewModelTests testSearch_CancelsDebounce_OnNewQuery 1.31s
โœ… CatalogSearchViewModelTests testSearch_CancelsInFlight_OnNewQuery 214ms
โœ… CatalogSearchViewModelTests testSearch_Debounces_DoesNotSearchDuringDebounceWindow 1.01s
โœ… CatalogSearchViewModelTests testSearch_Debounces_MultipleQueries 116ms
โœ… CatalogSearchViewModelTests testSearch_DifferentQueries_HaveDifferentSearchIds 106ms
โœ… CatalogSearchViewModelTests testSearch_NewSearch_ChangesSearchId 68ms
โœ… CatalogSearchViewModelTests testSearch_SpecialCharacters_DoesNotCrash 58ms
โœ… CatalogSearchViewModelTests testSearch_UnicodeCharacters_Works 55ms
โœ… CatalogSearchViewModelTests testSearch_VeryLongQuery_Works 58ms
โœ… CatalogSearchViewModelTests testSearch_WithEmptyQuery_DoesNotCallRepository 155ms
โœ… CatalogSearchViewModelTests testSearch_WithEmptyQuery_ShowsAllBooks 162ms
โœ… CatalogSearchViewModelTests testSearch_WithError_ClearsNextPageURL 61ms
โœ… CatalogSearchViewModelTests testSearch_WithError_SetsErrorMessage 59ms
โœ… CatalogSearchViewModelTests testSearch_WithNilBaseURL_ClearsNextPageURL 158ms
โœ… CatalogSearchViewModelTests testSearch_WithNilBaseURL_DoesNotSearch 158ms
โœ… CatalogSearchViewModelTests testSearch_WithNilResult_SetsEmptyResults 60ms
โœ… CatalogSearchViewModelTests testSearch_WithNoFormatEntries_UsesDefaultBaseURL 58ms
โœ… CatalogSearchViewModelTests testSearch_WithResults_UpdatesResults 86ms
โœ… CatalogSearchViewModelTests testSearch_WithValidQuery_CallsRepository 54ms
โœ… CatalogSearchViewModelTests testSearch_WithValidQuery_ClearsIsLoadingAfterCompletion 59ms
โœ… CatalogSearchViewModelTests testSearch_WithValidQuery_SetsIsSearching 64ms
โœ… CatalogSearchViewModelTests testSearch_WithWhitespaceOnlyQuery_DoesNotCallRepository 158ms
โœ… CatalogSearchViewModelTests testSelectFormat_ChangesSelectedIndex 5ms
โœ… CatalogSearchViewModelTests testSelectFormat_SameIndex_DoesNotChangeIndex 158ms
โœ… CatalogSearchViewModelTests testSelectFormat_WithActiveQuery_TriggersNewSearch 56ms
โœ… CatalogSearchViewModelTests testSelectFormat_WithCachedDescriptorURL_UsesDescriptorSearch 58ms
โœ… CatalogSearchViewModelTests testSelectFormat_WithEmptyQuery_DoesNotSearch 168ms
โœ… CatalogSearchViewModelTests testShouldShowNoResultsState_False_WhenQueryEmpty 1ms
โœ… CatalogSearchViewModelTests testShouldShowNoResultsState_False_WhenResultsPresent 11ms
โœ… CatalogSearchViewModelTests testShouldShowNoResultsState_False_WhileLoading 60ms
โœ… CatalogSearchViewModelTests testShouldShowNoResultsState_True_WhenSearchCompletedWithZeroResults 159ms
โœ… CatalogSearchViewModelTests testUpdateBooks_DoesNotChangeFilteredBooks_WhenQueryNotEmpty 6ms
โœ… CatalogSearchViewModelTests testUpdateBooks_EmptyArray_Works 4ms
โœ… CatalogSearchViewModelTests testUpdateBooks_LargeArray_Works 225ms
โœ… CatalogSearchViewModelTests testUpdateBooks_SetsFilteredBooks_WhenQueryEmpty 3ms
โœ… CatalogSelectorsTests testWithSelectedEntryPoint_UpdatesActiveState 12ms
โœ… CatalogSelectorsTests testWithSelectedFacet_UpdatesActiveState 4ms
โœ… CatalogSortServiceTests testAllCases 2ms
โœ… CatalogSortServiceTests testSortByAuthorAZ 24ms
โœ… CatalogSortServiceTests testSortByAuthorZA 5ms
โœ… CatalogSortServiceTests testSortByRecentlyAddedAZ 6ms
โœ… CatalogSortServiceTests testSortByRecentlyAddedZA 4ms
โœ… CatalogSortServiceTests testSortByTitleAZ 32ms
โœ… CatalogSortServiceTests testSortByTitleZA 4ms
โœ… CatalogSortServiceTests testSortEmptyArray <1ms
โœ… CatalogSortServiceTests testSortOptionFromLocalizedString_invalidString_returnsNil 118ms
โœ… CatalogSortServiceTests testSortOptionFromLocalizedString_validStrings 682ms
โœ… CatalogSortServiceTests testSortOptionLocalizedStrings 1ms
โœ… CatalogSortServiceTests testSortSingleBook 3ms
โœ… CatalogSortServiceTests testSortWithNilAuthors 6ms
โœ… CatalogSortServiceTests testSortedReturnsNewArray 74ms
โœ… CatalogStateTests testState_AllBooks_Grouped 6ms
โœ… CatalogStateTests testState_AllBooks_Ungrouped 4ms
โœ… CatalogStateTests testState_ApplyingFacet_IsTrue 95ms
โœ… CatalogStateTests testState_Error_HasNoContent 1ms
โœ… CatalogStateTests testState_Loaded_ExposesContent 3ms
โœ… CatalogStateTests testState_Loading_HasNoContent 2ms
โœ… CatalogStateTests testState_SwitchingEntryPoint_HasNoContent 2ms
โœ… CatalogViewContinueRowsIntegrationTests testCatalogContentView_passesActiveSessionsToContinueRowSection 376ms
โœ… CatalogViewContinueRowsIntegrationTests testCatalogView_resumeListening_sourceWiresBothBranches 3ms
โœ… CatalogViewContinueRowsIntegrationTests testCatalogView_resumeReading_sourceWiresReaderServiceCalls 113ms
โœ… CatalogViewModelStateMachineTests testApplyEntryPoint_RequiresLoadedState 75ms
โœ… CatalogViewModelStateMachineTests testApplyEntryPoint_WithNilHref_NoOp 6ms
โœ… CatalogViewModelStateMachineTests testApplyFacet_RequiresLoadedState 8ms
โœ… CatalogViewModelStateMachineTests testApplyFacet_WithNilHref_NoOp 4ms
โœ… CatalogViewModelStateMachineTests testCancelPrefetch_cancelsAndClearsTrackedTasks 8ms
โœ… CatalogViewModelStateMachineTests testForceRefresh_TransitionsToLoading 18ms
โœ… CatalogViewModelStateMachineTests testHandleAccountChange_servesCache_doesNotInvalidate 30ms
โœ… CatalogViewModelStateMachineTests testLoad_NilResultWhenOffline_TransitionsToOffline 13ms
โœ… CatalogViewModelStateMachineTests testLoad_OnlineFailure_StaysError_NotOffline 14ms
โœ… CatalogViewModelStateMachineTests testLoad_WhenOffline_TransitionsToOffline 10ms
โœ… CatalogViewModelStateMachineTests testLoad_WithError_TransitionsToError 23ms
โœ… CatalogViewModelStateMachineTests testLoad_WithNilResult_TransitionsToError 79ms
โœ… CatalogViewModelStateMachineTests testLoad_WithNilURL_DoesNotCallRepository 6ms
โœ… CatalogViewModelStateMachineTests testReconnect_WhileOffline_AutoReloadsCatalog 11ms
โœ… CatalogViewModelStateMachineTests testRefresh_pullToRefresh_invalidatesOnce 64ms
โœ… CatalogViewModelStateMachineTests testReload_cancelsPriorPrefetchTasks 8ms
โœ… CatalogViewModelStateMachineTests testSearchRepository_ReturnsMock 6ms
โœ… CatalogViewModelStateMachineTests testSwitchBackAndForth_ABA_servesCacheNotThreeFetches 73ms
โœ… CatalogViewModelStateMachineTests testViewModel_InitialState_IsLoading 2ms
โœ… ChaosFaultInjectionTests test_scenario1_midDownloadNetworkKill_failsRecoverably 41ms
โœ… ChaosFaultInjectionTests test_scenario2_diskFullDuringExtraction_throwsAndLeavesNoFullFile 63ms
โœ… ChaosFaultInjectionTests test_scenario3_lowMemoryDuringDRMFetch_remainsRecoverable 30ms
โœ… ChaosFaultInjectionTests test_scenario4_processKillDuringRegistryWrite_atomicityHolds 23ms
โœ… ChaosFaultInjectionTests test_scenario5_tokenExpiryMidAnnotationSync_invokesReauthAndRetries 18ms
โœ… ChapterChangeDetectorTests testDidChange_differentKeySameTitle_fires 2ms
โœ… ChapterChangeDetectorTests testDidChange_differentKey_fires 46ms
โœ… ChapterChangeDetectorTests testDidChange_noPriorChapter_fires 2ms
โœ… ChapterChangeDetectorTests testDidChange_sameKeyDifferentTitle_doesNotFire 1ms
โœ… ChapterChangeDetectorTests testDidChange_sameKeySameTitle_doesNotFire 3ms
โœ… ChapterTOCNormalizerTests testInflationThreshold_isExactly1Point5 1ms
โœ… ChapterTOCNormalizerTests testIsOversubdivided_atExactThreshold_returnsFalse 2ms
โœ… ChapterTOCNormalizerTests testIsOversubdivided_belowThreshold_returnsFalse 3ms
โœ… ChapterTOCNormalizerTests testIsOversubdivided_oneAboveThreshold_returnsTrue 2ms
โœ… ChapterTOCNormalizerTests testIsOversubdivided_realWorldCase_returnsTrue <1ms
โœ… ChapterTOCNormalizerTests testIsOversubdivided_slightInflation_returnsFalse <1ms
โœ… ChapterTOCNormalizerTests testIsOversubdivided_zeroExpectedChapterCount_returnsFalse 138ms
โœ… CirculationAnalyticsTests testEventPathComponents <1ms
โœ… CirculationAnalyticsTests testNetworkQueueStatusCodesExist 66ms
โœ… CirculationAnalyticsTests testPostEventConstructsCorrectURL 2ms
โœ… CirculationAnalyticsTests testPostEventWithNilAnalyticsURL 62ms
โœ… ColdStartResumeIntegrationTests testColdStart_CorruptedRegistryFile_BootsToEmptyState 248ms
โœ… ColdStartResumeIntegrationTests testColdStart_EmptyRecordsArray_RendersEmptyMyBooks 165ms
โœ… ColdStartResumeIntegrationTests testColdStart_FreshTokenNotMarkedNearExpiry 312ms
โœ… ColdStartResumeIntegrationTests testColdStart_HalfBorrowedBook_RecordPreservedForServerReconciliation 136ms
โœ… ColdStartResumeIntegrationTests testColdStart_InflightDownloadWithExistingFile_PromotedToSuccessful 319ms
โœ… ColdStartResumeIntegrationTests testColdStart_InflightDownloadWithMissingFile_MarkedFailed 2.10s
โœ… ColdStartResumeIntegrationTests testColdStart_NoRegistryFile_BootsToEmptyState 262ms
โœ… ColdStartResumeIntegrationTests testColdStart_RegistryFileMissingRecordsKey_BootsToEmptyState 722ms
โœ… ColdStartResumeIntegrationTests testColdStart_StaleTokenDetectedAsNearExpiry 128ms
โœ… ColdStartResumeIntegrationTests testColdStart_TokenPastExpiry_ReportsExpired 103ms
โœ… ColorExtensionTests testIsDark_Black_ReturnsTrue 93ms
โœ… ColorExtensionTests testIsDark_DarkGray_ReturnsTrue 1ms
โœ… ColorExtensionTests testIsDark_LightGray_ReturnsFalse 2ms
โœ… ColorExtensionTests testIsDark_PureRed_ReturnsFalse 3ms
โœ… ColorExtensionTests testIsDark_White_ReturnsFalse <1ms
โœ… ConcurrentBookStateTests testConcurrent_differentContentTypes_supportedSimultaneously 4ms
โœ… ConcurrentBookStateTests testConcurrent_drmTypes_supportedSimultaneously 4ms
โœ… ConcurrentBookStateTests testConcurrent_multipleDownloads_independentStates 17ms
โœ… ConcurrentDownloadStateTests testMultipleBooks_canBeRegisteredSimultaneously 168ms
โœ… ConcurrentDownloadStateTests testMultipleBooks_canHaveDifferentStates 4ms
โœ… ConcurrentDownloadStateTests testMultipleBooks_stateChangesAreIndependent 4ms
โœ… ConcurrentTokenRefreshTests testRefreshTokenAndResume_noCredentials_failsImmediately 6ms
โœ… ConcurrentTokenRefreshTests testTokenRequest_canExecuteViaStub 15ms
โœ… ContinueRowSectionTests testContinueRowSection_hidesBothRows_whenViewModelIsEmpty 4ms
โœ… ContinueRowSectionTests testContinueRowSection_listeningRowPrecedesReadingRow 8ms
โœ… ContinueRowSectionTests testContinueRowSection_showsListeningRow_whenPresent 253ms
โœ… ContinueRowSectionTests testContinueRowSection_showsReadingRow_whenPresent 23ms
โœ… ContinueRowSectionTests testContinueRowSection_tappingListeningRow_invokesOnResumeListening 69ms
โœ… ContinueRowSectionTests testContinueRowSection_tappingReadingRow_invokesOnResumeReading 56ms
โœ… ContinuousPlaybackTrackingTests testBiblioBoardScenario_61MinutesWithTrackChanges 219ms
โœ… ContinuousPlaybackTrackingTests testRapidTrackChanges_noTimeLoss 105ms
โœ… ContinuousPlaybackTrackingTests testTrackTransition_savesTimeBeforeNextTrackStarts 9ms
โœ… CookiePersistenceTests test_CookieAccessor_IsConsultedByRequestPath 149ms
โœ… CookiePersistenceTests test_CookiesReinstalled_OnEveryRequest_AfterSharedStorageWipe 59ms
โœ… CookiePersistenceTests test_CookiesSurvive_ExecutorRecreation_AndAreInstalledIntoSharedStorage 48ms
โœ… CookiePersistenceTests test_EmptyCookiesArray_OnSamlAccount_IsNoOp 75ms
โœ… CookiePersistenceTests test_InstalledCookie_IsVisibleAtTheSamlURL 118ms
โœ… CookiePersistenceTests test_MultipleCookies_AllInstalled_AfterColdStart 111ms
โœ… CookiePersistenceTests test_NonSamlAuth_DoesNotInstall_CookiesIntoSharedStorage 65ms
โœ… CookiePersistenceTests test_RemoveAll_ClearsCookies_NoReinstallOnNextRequest 186ms
โœ… CookiePersistenceTests test_UpdatedCookieValue_IsVisibleOnNextRequest 67ms
โœ… CookiePersistenceTests test_setCookies_StoresOnAccountAndIsReadable 85ms
โœ… CrawlStateTests testCrawlState_DecodesLegacyPayload_WithoutAppVersion 1ms
โœ… CrawlStateTests testCrawlState_DecodesWithMissingOptionals <1ms
โœ… CrawlStateTests testCrawlState_EncodesAndDecodes 4ms
โœ… CrawlStateTests testCrawlState_LoadFromMissingFile_Fails 3ms
โœ… CrawlStateTests testCrawlState_PersistsToDisk 3ms
โœ… CrawlStateTests testNeedsFullCrawl_WhenAllPresent_AndFreshAndSameVersion_ReturnsFalse <1ms
โœ… CrawlStateTests testNeedsFullCrawl_WhenAppVersionChanged_ReturnsTrue 1ms
โœ… CrawlStateTests testNeedsFullCrawl_WhenAppVersionMatches_AndAllFresh_ReturnsFalse 136ms
โœ… CrawlStateTests testNeedsFullCrawl_WhenAppVersionRecordedNil_AndCurrentSet_ReturnsTrue 2ms
โœ… CrawlStateTests testNeedsFullCrawl_WhenBothNil_ReturnsTrue 25ms
โœ… CrawlStateTests testNeedsFullCrawl_WhenIncrementalSucceededButFullCrawlNeverHappened_ReturnsTrue 3ms
โœ… CrawlStateTests testNeedsFullCrawl_WhenLastFullCrawlExactly7Days_ReturnsTrue <1ms
โœ… CrawlStateTests testNeedsFullCrawl_WhenLastFullCrawlOlderThan7Days_ReturnsTrue 1ms
โœ… CrawlStateTests testNeedsFullCrawl_WhenLastFullCrawlWithin7Days_ReturnsFalse <1ms
โœ… CrawlStateTests testNeedsFullCrawl_WhenNoFacetURL_ReturnsTrue 1ms
โœ… CrawlStateTests testNeedsFullCrawl_WhenNoLastCrawlDate_ReturnsTrue <1ms
โœ… CrawlableFeedAnalysisTests testIsFullCrawlComplete_WhenHasNextLink_ReturnsFalse 30ms
โœ… CrawlableFeedAnalysisTests testIsFullCrawlComplete_WhenNoNextLink_ReturnsTrue <1ms
โœ… CrawlableFeedAnalysisTests testIsFullCrawlComplete_returnsTrueForNilOrEmptyLinks 11ms
โœ… CrawlableFeedAnalysisTests testIsOrderModifiedActive_WhenFacetHasRelSelf_ReturnsTrue <1ms
โœ… CrawlableFeedAnalysisTests testIsOrderModifiedActive_WhenOtherFacetActive_ReturnsFalse 77ms
โœ… CrawlableFeedAnalysisTests testIsOrderModifiedActive_returnsFalseForNilOrEmptyFacets 6ms
โœ… CrawlableFeedAnalysisTests testOrderModifiedFacetURL_WhenNoSortFacetGroup_ReturnsNil <1ms
โœ… CrawlableFeedAnalysisTests testOrderModifiedFacetURL_WhenNotActive_StillReturnsURL <1ms
โœ… CrawlableFeedAnalysisTests testOrderModifiedFacetURL_WhenPresent_ReturnsURL <1ms
โœ… CrawlableFeedAnalysisTests testOrderModifiedFacetURL_WhenSortGroupHasNoModifiedLink_ReturnsNil <1ms
โœ… CrawlableFeedAnalysisTests testOrderModifiedFacetURL_returnsNilForNilOrEmptyFacets <1ms
โœ… CrawlableFeedAnalysisTests testPublicationsNewerThan_FiltersCorrectly <1ms
โœ… CrawlableFeedAnalysisTests testShouldStopIncremental_WhenAllPublicationsNewer_ReturnsFalse 7ms
โœ… CrawlableFeedAnalysisTests testShouldStopIncremental_WhenEmptyPublications_ReturnsFalse <1ms
โœ… CrawlableFeedAnalysisTests testShouldStopIncremental_WhenPublicationExactlyAtLastCrawl_ReturnsTrue <1ms
โœ… CrawlableFeedAnalysisTests testShouldStopIncremental_WhenPublicationHasNoUpdatedDate_ReturnsFalse <1ms
โœ… CrawlableFeedAnalysisTests testShouldStopIncremental_WhenPublicationOlderThanLastCrawl_ReturnsTrue 7ms
โœ… CrawlerFallbackTests testCrawlFirstPage_NetworkDown_ReturnsFailure 5ms
โœ… CrawlerFallbackTests testCrawlFirstPage_PreservesPaginationLinks_InParsedPage 8ms
โœ… CrawlerFallbackTests testCrawlFirstPage_Success_ReturnsPartialData 20ms
โœ… CrawlerFallbackTests testCrawlRemainingPages_OneParallelPageFails_ReturnsFailure 15ms
โœ… CrawlerFallbackTests testCrawlRemainingPages_WhenSecondPageFails_ReturnsFailure 7ms
โœ… CrawlerFallbackTests testCrawl_EmptyFeed_ReturnsSuccessWithNoLibraries 14ms
โœ… CrawlerFallbackTests testCrawl_WhenCrawlStateCorrupted_TreatsAsFirstLaunch 20ms
โœ… CrawlerFallbackTests testCrawl_WhenCrawlableReturnsError_ReturnsFailure 1.14s
โœ… CrawlerFallbackTests testCrawl_WhenCrawlableReturnsMalformedJSON_ReturnsFailure 14ms
โœ… CrawlerFallbackTests testCrawl_WhenCrawlableSucceeds_ReturnsCrawledData 81ms
โœ… CrawlerFallbackTests testCrawl_WhenResponseMissingCatalogs_ReturnsFailure 64ms
โœ… CrawlerFallbackTests testIncrementalCrawlFails_NextAttemptDoesFullCrawl 47ms
โœ… CredentialEdgeCaseTests testBarcodeAndPin_EmptyStrings_ProduceMalformedBasicAuthHeader 306ms
โœ… CredentialEdgeCaseTests testCredentials_BarcodeAndPin_RoundTripsThroughCodable 11ms
โœ… CredentialEdgeCaseTests testCredentials_TokenWithNilBarcodeAndPin_SurvivesCodableRoundTrip 4ms
โœ… CredentialEdgeCaseTests testTokenCredential_EmptyBarcode_IsDistinctFromNil 1ms
โœ… CredentialEdgeCaseTests testTokenCredential_EmptyPin_IsDistinctFromNil <1ms
โœ… CredentialEdgeCaseTests testTokenCredential_NilBarcode_ReturnsNilUsername 774ms
โœ… CredentialPrivacyTests testErrorLogger_metadataKeysNeverIncludeCredentialFields 2ms
โœ… CredentialPrivacyTests testException_messageDoesNotEmbedCredentials 2ms
โœ… CredentialPrivacyTests testLCPPassphraseError_doesNotEmbedPassphrase 457ms
โœ… CredentialPrivacyTests testSignInFailureLog_doesNotContainBarcodeOrPIN 5ms
โœ… CredentialPromptCoordinatorTests testRequestCredentials_adobeExpired_presentsAdobeAlertInsteadOfSignIn 32ms
โœ… CredentialPromptCoordinatorTests testRequestCredentials_alreadyInFlight_skipsDuplicateModal 74ms
โœ… CredentialPromptCoordinatorTests testRequestCredentials_signInCancelled_registersCompletionAndDoesNotRetry 189ms
โœ… CredentialPromptCoordinatorTests testRequestCredentials_signInSuccess_retriesDownloadViaDelegate 440ms
โŠ˜ CredentialSnapshotInvalidationTests testAccountSwitch_invalidatesNewlyCurrentAccountCredentialCache 790ms
โŠ˜ CredentialSnapshotInvalidationTests testCredentialSnapshot_peerRemoveAll_isHiddenUntilInvalidationEvent 1.52s
โŠ˜ CredentialSnapshotInvalidationTests testCredentialSnapshot_withinNoInvalidationEvent_hitsCacheAndDoesNotRereadKeychain 2.96s
โŠ˜ CredentialSnapshotInvalidationTests testCurrentUserAccountSnapshot_reflectsSignInThenSignOut_soReauthDecisionInputIsNeverStale 1.22s
โŠ˜ CredentialSnapshotInvalidationTests testSignOut_ThroughAccountDetailViewModel_GoesSignedInToSignedOut_neverStaleSignedIn 97ms
โœ… CrossDeviceBookmarkSyncTests testBookmarkSpec_DifferentDevices_ProduceDifferentPayloads 2ms
โœ… CrossDeviceBookmarkSyncTests testBookmarkSpec_IncludesDeviceID 4ms
โœ… CrossDeviceBookmarkSyncTests testBookmarkWithNilDevice_TreatedAsSameDevice 34ms
โœ… CrossDeviceBookmarkSyncTests testBookmark_HasCorrectMotivation 1ms
โœ… CrossDeviceBookmarkSyncTests testDifferentDevice_DifferentPosition_ShouldSync 3ms
โœ… CrossDeviceBookmarkSyncTests testDifferentDevice_IdenticalPosition_ShouldNotSync 2ms
โœ… CrossDeviceBookmarkSyncTests testNoLocalPosition_DifferentDevice_ShouldSync 44ms
โœ… CrossDeviceBookmarkSyncTests testNoLocalPosition_SameDevice_ShouldNotSync 2ms
โœ… CrossDeviceBookmarkSyncTests testNoServerPosition_ShouldNotSync 1ms
โœ… CrossDeviceBookmarkSyncTests testParseServerBookmarks_MultipleDevices 4ms
โœ… CrossDeviceBookmarkSyncTests testReadingProgress_HasCorrectMotivation 244ms
โœ… CrossDeviceBookmarkSyncTests testSameDevice_DifferentPosition_ShouldNotSync 1ms
โœ… CrossDeviceSyncE2ETests test_annotationConflict_serverWins 55ms
โœ… CrossDeviceSyncE2ETests test_audiobookPositionOnDeviceA_readableOnDeviceB 68ms
โœ… CrossDeviceSyncE2ETests test_bookmarkAddedOnDeviceA_visibleOnDeviceB 40ms
โœ… CrossDeviceSyncE2ETests test_bookmarkDeletedOnDeviceA_goneOnDeviceB 49ms
โœ… CrossDeviceSyncE2ETests test_positionWrittenOnDeviceA_readableOnDeviceB 55ms
โœ… CrossDomain401Tests test200FromDifferentDomain_shouldNotIndicateAuthRefreshNeeded 159ms
โœ… CrossDomain401Tests test401FromDifferentDomain_shouldNotIndicateAuthRefreshNeeded 1ms
โœ… CrossDomain401Tests test401FromDifferentSubdomain_shouldIndicateAuthRefreshNeeded 11ms
โœ… CrossDomain401Tests test401FromSameDomain_shouldIndicateAuthRefreshNeeded 194ms
โœ… CrossDomain401Tests test401FromSameSubdomain_shouldIndicateAuthRefreshNeeded 2ms
โœ… CrossDomain401Tests test401WithNilOriginalURL_shouldIndicateAuthRefreshNeeded 21ms
โœ… CrossDomain401Tests test403FromDifferentDomain_shouldNotIndicateAuthRefreshNeeded <1ms
โœ… CrossDomain401Tests testProblemDocFromDifferentDomain_shouldNotIndicateAuthRefreshNeeded 4ms
โœ… CrossFormatMappingTests testChapterBeyondMappingRange 35ms
โœ… CrossFormatMappingTests testCodableRoundTrip 8ms
โœ… CrossFormatMappingTests testCustomChapterMapping <1ms
โœ… CrossFormatMappingTests testFirstChapterMapping 2ms
โœ… CrossFormatMappingTests testLastChapterMapping 2ms
โœ… CrossFormatMappingTests testMappingWithMissingChapterIndex <1ms
โœ… CrossFormatMappingTests testMappingWithZeroChapters <1ms
โœ… CrossFormatMappingTests testMappingWrongFormat <1ms
โœ… CrossFormatMappingTests testOneToOneAudiobookToEpub <1ms
โœ… CrossFormatMappingTests testOneToOneEpubToAudiobook 13ms
โœ… CrossFormatMappingTests testOneToOneMappingCreation 34ms
โœ… CrossFormatMappingTests testProportionalAudiobookToEpub <1ms
โœ… CrossFormatMappingTests testProportionalEpubToAudiobook <1ms
โœ… CrossFormatMappingTests testProportionalMappingCreation 340ms
โœ… DPLAErrorTests testCertificateUrl_isValid 2ms
โœ… DPLAErrorTests testDrmKeyError_readableError <1ms
โœ… DPLAErrorTests testRequestError_readableError 313ms
โŠ˜ DRMAdversarialTests testAdobe_didIgnoreFulfillment_noLongerShowsSignInModal 163ms
โŠ˜ DRMAdversarialTests testAdobe_epubWithoutValidLicense_openFails 91ms
โŠ˜ DRMAdversarialTests testAdobe_fulfillmentPath_callsEnsureDeviceActivated 78ms
โœ… DRMAdversarialTests testLCP_publicationWithoutPassphrase_returnsAuthRequired 6ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_localURLIsCorrect 308ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_storesLocalURL <1ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_storesSuggestedFilename 159ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_withEmptyFilename <1ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_withLongFilename <1ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_withSpecialCharacters <1ms
โœ… DataBase64Tests testBase64UrlSafe_ReplacesPlus_WithDash 2ms
โœ… DataBase64Tests testBase64UrlSafe_ReplacesSlash_WithUnderscore 2ms
โœ… DataBase64Tests testBase64UrlSafe_emptyAndAscii_canonicalAndNoNewlines 60ms
โœ… DataReceptionComparisonTests testGET_receivesBearerTokenJSON_andCanBeDetected 286ms
โœ… DataReceptionComparisonTests testGET_receivesNonEmptyBody_forValidJSON 10ms
โœ… DateExtensionTests testAddingDays_increasesDate 1ms
โœ… DateExtensionTests testDateComparison_differentDay 2ms
โœ… DateExtensionTests testDateComparison_sameDay 3ms
โœ… DateExtensionTests testISO8601_roundTrip 135ms
โœ… DateExtensionTests testRfc339String_includesTimezone 221ms
โœ… DateExtensionTests testRfc339String_producesValidFormat 1ms
โœ… DateExtensionTests testSubtractingDays_decreasesDate 2ms
โœ… DateExtensionTests testTimeIntervalSinceNow_negative 252ms
โœ… DateExtensionTests testTimeIntervalSinceNow_positive <1ms
โœ… DateFormattingTests testCustomFormat 2ms
โœ… DateFormattingTests testLongDateFormat 3ms
โœ… DateFormattingTests testShortDateFormat <1ms
โœ… DateFormattingTests testTimeFormat <1ms
โœ… Date_NYPLAdditionsTests testISO8601FullDateParsing 24ms
โœ… Date_NYPLAdditionsTests testInvalidRFC3339Date <1ms
โœ… Date_NYPLAdditionsTests testParsesRFC3339DateCorrectly 1ms
โœ… Date_NYPLAdditionsTests testParsesRFC3339DateWithFractionalSecondsCorrectly 155ms
โœ… Date_NYPLAdditionsTests testRFC1123 <1ms
โœ… Date_NYPLAdditionsTests testRFC1123Performance 776ms
โœ… Date_NYPLAdditionsTests testRFC3339RoundTrip 7ms
โœ… DebugSettingsForceSkeletonsTests testForceSkeletons_readsExactKey_notADecoy 4ms
โœ… DebugSettingsForceSkeletonsTests testForceSkeletons_whenOverrideExplicitlyFalse_isFalse 4ms
โœ… DebugSettingsForceSkeletonsTests testForceSkeletons_whenOverrideKeySet_isHonoredPerBuild 7ms
โœ… DebugSettingsForceSkeletonsTests testForceSkeletons_whenOverrideKeyUnset_isFalse 140ms
โœ… DebugSettingsGapTests testDebugSettings_isBorrowErrorSimulationEnabled_reflectsSimulatedBorrowError 2ms
โœ… DebugSettingsGapTests testDebugSettings_isTestHoldsEnabled_reflectsTestHoldsConfiguration 5ms
โœ… DebugSettingsGapTests testDebugSettings_resetAll_clearsBadgeLogging 2ms
โœ… DebugSettingsGapTests testDebugSettings_resetAll_clearsState 3ms
โœ… DebugSettingsTests testBadgeLogging_defaultFalse 7ms
โœ… DebugSettingsTests testBadgeLogging_enabledStateIsResetByResetAll 7ms
โœ… DebugSettingsTests testCreateSimulatedBorrowError_detailIsBannerPrefixed 6ms
โœ… DebugSettingsTests testCreateSimulatedBorrowError_keepsDebugDomainAndStatus 230ms
โœ… DebugSettingsTests testCreateSimulatedBorrowError_nilWhenDisabled <1ms
โœ… DebugSettingsTests testCreateSimulatedBorrowError_preservesOriginalDetailBelowBanner 3ms
โœ… DebugSettingsTests testCreateSimulatedBorrowError_returnsErrorWhenEnabled 11ms
โœ… DebugSettingsTests testCreateSimulatedBorrowError_titleIsMarked 4ms
โœ… DebugSettingsTests testCreateTestHoldBooks_allReady 2ms
โœ… DebugSettingsTests testCreateTestHoldBooks_mixedHolds 5ms
โœ… DebugSettingsTests testCreateTestHoldBooks_nilWhenDisabled 21ms
โœ… DebugSettingsTests testCreateTestHoldBooks_oneReady 4ms
โœ… DebugSettingsTests testCreateTestHoldBooks_oneReserved 4ms
โœ… DebugSettingsTests testDefaultSimulatedBorrowError 1ms
โœ… DebugSettingsTests testIsBorrowErrorSimulationEnabled 5ms
โœ… DebugSettingsTests testIsTestHoldsEnabled 1.60s
โœ… DebugSettingsTests testResetAll 8ms
โœ… DebugSettingsTests testSimulatedBorrowError_allCasesHaveDisplayNames 179ms
โœ… DebugSettingsTests testSimulatedBorrowError_canBeSet 61ms
โœ… DebugSettingsTests testSimulatedBorrowError_credentialsSuspended 2ms
โœ… DebugSettingsTests testSimulatedBorrowError_generic 22ms
โœ… DebugSettingsTests testSimulatedBorrowError_holdLimit <1ms
โœ… DebugSettingsTests testSimulatedBorrowError_loanLimit 70ms
โœ… DebugSettingsTests testSimulatedBorrowError_none_nilProblemDoc 2ms
โœ… DebugSettingsTests testTestHoldsConfig_allCasesHaveDisplayNames 2ms
โœ… DebugSettingsTests testTestHoldsConfig_allReady_badgeCount 2ms
โœ… DebugSettingsTests testTestHoldsConfig_default 299ms
โœ… DebugSettingsTests testTestHoldsConfig_mixedHolds_badgeCount <1ms
โœ… DebugSettingsTests testTestHoldsConfig_none_badgeCount 2ms
โœ… DebugSettingsTests testTestHoldsConfig_oneReady_badgeCount 1ms
โœ… DebugSettingsTests testTestHoldsConfig_oneReserved_badgeCount 1ms
โœ… DefaultCatalogAPITests testCatalogAPI_IntegrationWithRepository_HandlesErrors 11ms
โœ… DefaultCatalogAPITests testCatalogAPI_IntegrationWithRepository_WorksCorrectly 47ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_ActiveEntry_GetsSearchDescriptorURL 1ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_FacetWithEmptyTitle_IsExcluded 414ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_FeedWithNoFacets_ReturnsEmpty 2ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_FirstEntryActive_MarkedCorrectly 3ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_GroupsFeedURLs_AreCorrect 1ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_InactiveEntries_HaveNilSearchDescriptorURL 460ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_NoSearchLink_AllDescriptorURLsNil 37ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_NonEntryPointFacets_AreExcluded 882ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_SecondEntryActive_MarkedCorrectly 3ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_StableIDs_MatchGroupsFeedURL 1ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_ThreeEntryPoints_ReturnsAllThree 2ms
โœ… DefaultCatalogAPITests testFetchFeed_AfterReset_CallCountResetsToZero 7ms
โœ… DefaultCatalogAPITests testFetchFeed_DefaultResponse_UsedWhenNoStubSet 489ms
โœ… DefaultCatalogAPITests testFetchFeed_DifferentURLs_ReturnDifferentStubs 6ms
โœ… DefaultCatalogAPITests testFetchFeed_EmptyFeed_ReturnsEmptyEntries 6ms
โœ… DefaultCatalogAPITests testFetchFeed_EmptyResponseData_ThrowsParsingError 5ms
โœ… DefaultCatalogAPITests testFetchFeed_FailAfterMultipleCalls_SimulatesIntermittentFailure 6ms
โœ… DefaultCatalogAPITests testFetchFeed_GlobalError_AffectsAllRequests 4ms
โœ… DefaultCatalogAPITests testFetchFeed_InvalidXML_ThrowsParsingError 97ms
โœ… DefaultCatalogAPITests testFetchFeed_MultipleCalls_TracksAllRequests 5ms
โœ… DefaultCatalogAPITests testFetchFeed_NetworkError_ThrowsError 10ms
โœ… DefaultCatalogAPITests testFetchFeed_ServerError500_ThrowsError 7ms
โœ… DefaultCatalogAPITests testFetchFeed_SpecialCharactersInFeedTitle_ParsesCorrectly 11ms
โœ… DefaultCatalogAPITests testFetchFeed_Timeout_ThrowsError 525ms
โœ… DefaultCatalogAPITests testFetchFeed_TracksRequestDetails 20ms
โœ… DefaultCatalogAPITests testFetchFeed_URLWithQueryParameters_PreservesParameters 16ms
โœ… DefaultCatalogAPITests testFetchFeed_UnauthorizedError_ThrowsError 5ms
โœ… DefaultCatalogAPITests testFetchFeed_UsesGETMethod 7ms
โœ… DefaultCatalogAPITests testFetchFeed_ValidOPDSResponse_ReturnsParsedFeed 81ms
โœ… DefaultRecentlyReadingServiceTests testRecentlyOpenedAudiobook_excludesEbooks_evenWhenEbookOpenedMoreRecently 1ms
โœ… DefaultRecentlyReadingServiceTests testRecentlyOpenedAudiobook_returnsAudiobookWithLatestOpenTimestamp 1ms
โœ… DefaultRecentlyReadingServiceTests testRecentlyOpenedAudiobook_returnsNil_whenNoAudiobookHasRecordedOpen 1ms
โœ… DefaultRecentlyReadingServiceTests testRecentlyOpenedAudiobook_returnsNil_whenNoTrackerInjected 2ms
โœ… DefaultRecentlyReadingServiceTests testRecentlyReading_breaksTimestampTies_byBookIdAscending 1ms
โœ… DefaultRecentlyReadingServiceTests testRecentlyReading_emptyRegistryReturnsEmpty 2ms
โœ… DefaultRecentlyReadingServiceTests testRecentlyReading_excludesAudiobooks 2ms
โœ… DefaultRecentlyReadingServiceTests testRecentlyReading_excludesBooksWithoutSavedLocation 1ms
โœ… DefaultRecentlyReadingServiceTests testRecentlyReading_excludesSamples 3ms
โœ… DefaultRecentlyReadingServiceTests testRecentlyReading_fallsBackDeterministically_whenJSONLacksTimestamp 11ms
โœ… DefaultRecentlyReadingServiceTests testRecentlyReading_includesOpenedEbookWithoutSavedLocation_viaTracker 1ms
โœ… DefaultRecentlyReadingServiceTests testRecentlyReading_ordersByLastReadTimestampDescending 3ms
โœ… DefaultRecentlyReadingServiceTests testRecentlyReading_parsesLastReadTimestampFromLocationJSON 4ms
โœ… DeriveInitialStateTests testDeriveInitialState_ForBookWithoutAcquisition_ReturnsUnsupported 1ms
โœ… DeriveInitialStateTests testDeriveInitialState_ForReadyBook_ReturnsHolding 2ms
โœ… DeriveInitialStateTests testDeriveInitialState_ForReservedBook_ReturnsHolding 2ms
โœ… DeriveInitialStateTests testDeriveInitialState_ForStandardBook_ReturnsDownloadNeeded 6ms
โœ… DeveloperSettingsEngineeringTierTests testEngineeringTools_noReceiptURL_isDeveloperBuild_shown <1ms
โœ… DeveloperSettingsEngineeringTierTests testEngineeringTools_realAppStoreReceipt_hidden 4ms
โœ… DeveloperSettingsEngineeringTierTests testEngineeringTools_receiptNameButMissingFile_isDevSim_shown <1ms
โœ… DeveloperSettingsEngineeringTierTests testEngineeringTools_sandboxReceipt_isTestFlight_shown 67ms
โŠ˜ DeveloperSettingsViewModelOverrideTests testAppRatingForceEligibleToggle_writesThroughToLocalOverrideKey 7ms
โŠ˜ DeveloperSettingsViewModelOverrideTests testInAppPlaybackNavToggle_writesThroughToLocalOverrideKey 5ms
โŠ˜ DeveloperSettingsViewModelOverrideTests testTriageBotToggle_writesThroughToLocalOverrideKey 24ms
โœ… DeviceLogCollectorGapTests testDeviceLogCollector_collectLogs_exercisesFormattingMethods 4.25s
โœ… DeviceLogCollectorGapTests testDeviceLogCollector_collectLogs_outputContainsFormattedStructure 4.12s
โœ… DeviceLogCollectorTests testCollectLogs_capturesRecentOSLogEntries 4.84s
โœ… DeviceLogCollectorTests testCollectLogs_containsEndMarker 5.80s
โœ… DeviceLogCollectorTests testCollectLogs_containsExpectedHeader 4.86s
โœ… DeviceLogCollectorTests testCollectLogs_defaultParameterIs7Days 5.03s
โœ… DeviceLogCollectorTests testCollectLogs_formattedEntriesContainExpectedFields 6.20s
โœ… DeviceLogCollectorTests testCollectLogs_outputIsValidUTF8 5.80s
โœ… DeviceLogCollectorTests testCollectLogs_reportsEntryCount 6.49s
โœ… DeviceLogCollectorTests testCollectLogs_returnsNonEmptyData 3.97s
โœ… DeviceLogCollectorTests testCollectLogs_withCustomDayRange_reflectsInOutput 4.57s
โœ… DeviceOrientationTests testDeviceOrientation_isObservableObject 25ms
โœ… DeviceOrientationTests testInitialIsLandscape_basedOnScreenDimensions 3ms
โœ… DeviceOrientationTests testIsLandscape_isPublished 63ms
โœ… DeviceOrientationTests testStartAndStopTracking_multipleTimesDoesNotCrash 3ms
โœ… DeviceOrientationTests testStartTracking_doesNotCrash 3ms
โœ… DeviceOrientationTests testStopTracking_beforeStartTracking_doesNotCrash 4ms
โœ… DeviceOrientationTests testStopTracking_doesNotCrash 6ms
โœ… DeviceSpecificErrorMonitorTests testGetDeviceID_isConsistent 45ms
โœ… DeviceSpecificErrorMonitorTests testGetDeviceID_looksLikeUUIDAndFormatIsStableAcrossCalls 99ms
โœ… DeviceSpecificErrorMonitorTests testGetDeviceID_returnsNonEmptyString <1ms
โœ… DeviceSpecificErrorMonitorTests testGetDeviceInfo_containsExpectedKeys 2ms
โœ… DeviceSpecificErrorMonitorTests testGetDeviceInfo_valuesAreNonEmpty 18ms
โœ… DeviceSpecificErrorMonitorTests testInit_eachInstance_canQueryDeviceInfo 388ms
โœ… DeviceSpecificErrorMonitorTests testInit_returnsIndependentInstance 2ms
โœ… DeviceSpecificErrorMonitorTests testIsEnhancedLoggingEnabled_returnsBool <1ms
โœ… DeviceSpecificErrorMonitorTests testLogError_doesNotCrashAndPreservesMonitorState 355ms
โœ… DeviceSpecificErrorMonitorTests testLogError_withMetadata_doesNotCrash 3ms
โœ… DeviceSpecificErrorMonitorTests testLogNetworkFailure_doesNotCrash 6ms
โœ… DictionaryExtensionsTests testMapKeys_ChangesKeyType_StringToInt 1ms
โœ… DictionaryExtensionsTests testMapKeys_CollidingKeys_OverwritesValue 1.05s
โœ… DictionaryExtensionsTests testMapKeys_EmptyDictionary_ReturnsEmpty 80ms
โœ… DictionaryExtensionsTests testMapKeys_TransformsKeys_PreservesValues <1ms
โœ… DictionaryExtensionsTests testMapKeys_UniqueTransform_PreservesCount <1ms
โœ… DiskBudgetManagerTests testDefaultBudget_onLargeDevice_returnsRelaxedLargeDeviceQuota 24ms
โœ… DiskBudgetManagerTests testDefaultBudget_onSmallDevice_returnsRelaxedSmallDeviceQuota 2ms
โœ… DiskBudgetManagerTests testDirectoryUsageBytes_emptyDirectory_returnsZero 2ms
โœ… DiskBudgetManagerTests testDirectoryUsageBytes_missingDirectory_returnsZero 2ms
โœ… DiskBudgetManagerTests testDirectoryUsageBytes_sumsAllNonHiddenFiles 2ms
โœ… DiskBudgetManagerTests testListContentFilesSortedByLRU_missingDirectory_returnsEmpty 22ms
โœ… DiskBudgetManagerTests testListContentFilesSortedByLRU_returnsOldestFirst 3ms
โœ… DiskBudgetTests testContentDirectory_createdOnAccess 50ms
โœ… DiskBudgetTests testDiskSpace_available_returnsPositiveValue 44ms
โœ… DownloadAlertPresenterTests testAlertForProblemDocument_errorOnly_includesErrorDescription 32ms
โœ… DownloadAlertPresenterTests testAlertForProblemDocument_genericProblem_keepsBookInRegistryAndAllowsRetry 35ms
โœ… DownloadAlertPresenterTests testAlertForProblemDocument_noActiveLoan_removesFromRegistryAndDisablesRetry 30ms
โœ… DownloadAlertPresenterTests testFailDownloadWithAlert_emptyMessage_alsoFallsBackToActionableText 29ms
โœ… DownloadAlertPresenterTests testFailDownloadWithAlert_nilMessage_doesNotShowDeveloperPlaceholder 31ms
โœ… DownloadAlertPresenterTests testFailDownloadWithAlert_nilMessage_includesActionableFallback 30ms
โœ… DownloadAlertPresenterTests testFailDownloadWithAlert_retryAction_invokesStartDownloadOnce 32ms
โœ… DownloadAlertPresenterTests testFailDownloadWithAlert_setsDownloadFailedAndAnnouncesAndPublishesError 29ms
โœ… DownloadAnnouncementServiceTests testAnnounceBorrowFailed_forwardsTitle 2ms
โœ… DownloadAnnouncementServiceTests testAnnounceBorrowStarted_forwardsTitle 4ms
โœ… DownloadAnnouncementServiceTests testAnnounceBorrowSucceeded_forwardsTitle 2ms
โœ… DownloadAnnouncementServiceTests testAnnounceDownloadCompleted_announcesAndResetsProgress 2ms
โœ… DownloadAnnouncementServiceTests testAnnounceDownloadFailed_announcesAndResetsProgress 3ms
โœ… DownloadAnnouncementServiceTests testAnnounceDownloadProgress_forwardsTitleIdentifierAndProgress 2ms
โœ… DownloadAnnouncementServiceTests testAnnounceDownloadStarted_forwardsTitleAndIdentifier 2ms
โœ… DownloadAnnouncementServiceTests testAnnounceReturnFailed_forwardsTitle 2ms
โœ… DownloadAnnouncementServiceTests testAnnounceReturnStarted_forwardsTitle 2ms
โœ… DownloadAnnouncementServiceTests testAnnounceReturnSucceeded_forwardsTitle 2ms
โœ… DownloadAnnouncementServiceTests testCompletedAndFailed_orderingIsAnnounceThenReset 2ms
โœ… DownloadAnnouncementServiceTests testIdentifierPropagation_distinctBooksAreNotAliased 3ms
โœ… DownloadAuthRetryHandlerAuthCoordinatorTests testCoordinator_401_OIDC_routesToCoordinator_setsDownloadNeeded_andRetriesOnSuccess 431ms
โœ… DownloadAuthRetryHandlerAuthCoordinatorTests testCoordinator_401_SAML_routesToCoordinator_setsSAMLStarted_andRetriesOnSuccess 425ms
โœ… DownloadAuthRetryHandlerAuthCoordinatorTests testCoordinator_401_SAML_userCancel_doesNotRetryButFlipsPerBookState 441ms
โœ… DownloadAuthRetryHandlerAuthCoordinatorTests testCoordinator_noActiveLoan_SAML_routesToCoordinator_setsSAMLStarted 428ms
โœ… DownloadAuthRetryHandlerAuthCoordinatorTests testForeignHost_401_SAML_doesNotMarkCredentialsStale_doesNotDispatchCoordinator 491ms
โœ… DownloadAuthRetryHandlerAuthCoordinatorTests testForeignHost_401_SAML_withNilProvider_fallsBackToLegacyDispatch 427ms
โœ… DownloadAuthRetryHandlerTaskLifecycleTests testCancelAllInFlightTasks_cancelsAndClearsAndPreventsRetry 580ms
โœ… DownloadAuthRetryHandlerTaskLifecycleTests testHandlerRelease_weakSelfCapture_preventsPostReleaseRegistryWrites 299ms
โœ… DownloadAuthRetryHandlerTaskLifecycleTests testInFlightTasks_areTrackedWhenLaunched_twoRetryPathsBothRetained 196ms
โœ… DownloadAuthRetryHandlerTaskLifecycleTests testInFlightTasks_autoRemoveAfterEachCompletion_setDoesNotGrowUnbounded 522ms
โœ… DownloadAuthRetryHandlerTests testAutoBorrowCompletion_whenBorrowFails_publishesAlertAndRemovesBook 206ms
โœ… DownloadAuthRetryHandlerTests testAutoBorrowCompletion_whenBorrowSucceedsAndDownloadAlreadyFinished_doesNotPublishAlert 162ms
โœ… DownloadAuthRetryHandlerTests testAutoBorrowCompletion_whenBorrowSucceedsAndDownloadStarts_doesNotPublishAlert 183ms
โœ… DownloadAuthRetryHandlerTests testHandle_401_accountHost_browserSAML_guardDoesNotFire_drivesSAMLRetry 164ms
โœ… DownloadAuthRetryHandlerTests testHandle_401_foreignHost_browserSAML_shortCircuitsReturnsFalse_noReauth 204ms
โœ… DownloadAuthRetryHandlerTests testHandle_401_withCredentials_browserOIDC_presentsReauthAndRetriesOnLoggedIn 221ms
โœ… DownloadAuthRetryHandlerTests testHandle_401_withCredentials_browserOIDC_userCancelsReauth_doesNotRetry 213ms
โœ… DownloadAuthRetryHandlerTests testHandle_401_withCredentials_browserSAML_setsStateToSAMLStartedAndRetries 163ms
โœ… DownloadAuthRetryHandlerTests testHandle_401_withCredentials_credentialPromptStrategy_fallsThroughReturnsFalse 4ms
โœ… DownloadAuthRetryHandlerTests testHandle_401_withCredentials_tokenRefresh_returnsFalseSoCallerCanAlert 3ms
โœ… DownloadAuthRetryHandlerTests testHandle_401_withoutCredentials_loginRequired_presentsSignInAndRetriesOnHasCredentials 166ms
โœ… DownloadAuthRetryHandlerTests testHandle_401_withoutCredentials_loginRequired_userCancelsSignIn_doesNotRetry 167ms
โœ… DownloadAuthRetryHandlerTests testHandle_403_foreignHost_noCredentials_guardDoesNotIntercept_signInStillFires 14ms
โœ… DownloadAuthRetryHandlerTests testHandle_noActiveLoan_basicAuth_triggersAutoBorrowWithAttemptDownloadTrue 9ms
โœ… DownloadAuthRetryHandlerTests testHandle_noActiveLoan_browserSAML_treatsAsSessionExpiryAndRetries 165ms
โœ… DownloadAuthRetryHandlerTests testHandle_nonAuthError_withoutCredentials_loginRequired_presentsSignInModal 38ms
โœ… DownloadAuthRetryHandlerTests testHandle_unrelatedFailure_anonymousAccount_returnsFalse 4ms
โœ… DownloadCancellationHandlerTests testCancel_adobeDRMRights_shortCircuitsToAdobeCancel 102ms
โœ… DownloadCancellationHandlerTests testCancel_noTaskInDownloadingState_setsDownloadNeededAndCleansUp 7ms
โœ… DownloadCancellationHandlerTests testCancel_noTaskInSAMLStartedState_treatedAsCancellable 32ms
โœ… DownloadCancellationHandlerTests testCancel_unknownIdentifierWithNonCancellableState_isNoOp 137ms
โœ… DownloadCancellationHandlerTests testCancel_withTask_setsDownloadNeededAndCancelsTask 30ms
โœ… DownloadCompleteMomentTests test_shouldPulseReadButton_doesNotRefireWhenAlreadySuccessful 2ms
โœ… DownloadCompleteMomentTests test_shouldPulseReadButton_firesOnEntryToDownloadSuccessful 1ms
โœ… DownloadCompleteMomentTests test_shouldPulseReadButton_ignoresOtherStates <1ms
โœ… DownloadCompleteMomentTests test_shouldResetDownloadProgress_doesNotResetOutsideEntry 1ms
โœ… DownloadCompleteMomentTests test_shouldResetDownloadProgress_doesNotResetWhileDownloading 3ms
โœ… DownloadCompleteMomentTests test_shouldResetDownloadProgress_resetsOnEntryToDownloading 412ms
โœ… DownloadCompletionParserTests testParse_OPDS2Publication_followUpFailed_returnsFailure 61ms
โœ… DownloadCompletionParserTests testParse_OPDS2Publication_followUpStarted_returnsFollowUpStarted 149ms
โœ… DownloadCompletionParserTests testParse_OPDSEntry_followUpFailed_returnsFailure 1.74s
โœ… DownloadCompletionParserTests testParse_OPDSEntry_followUpStarted_returnsFollowUpStarted 54ms
โœ… DownloadCompletionParserTests testParse_knownRightsInCache_skipsDetection 135ms
โœ… DownloadCompletionParserTests testParse_problemDocument_returnsFailureWithParsedDoc 15ms
โœ… DownloadCompletionParserTests testParse_supportedMime_returnsProceed 8ms
โœ… DownloadCompletionParserTests testParse_unknownRights_detectsFromMimeAndUpdatesCache 151ms
โœ… DownloadCompletionParserTests testParse_unsupportedMime_returnsFailure 2.53s
โœ… DownloadCoordinatorIntegrationTests testCoordinator_concurrentCompletions_maintainsConsistency 3ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_concurrentRegistrations_maintainsConsistency 4ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_downloadInfoCache_storesMultipleEntries 10ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_downloadInfoCache_updatesExistingEntry 8ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_mixedOperations_maintainsConsistency 676ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_partialDequeue_leavesRemainder 14ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_queueFIFO_maintainsOrder 21ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_throttling_returnsDelayAfterRecentStart 3.29s
โœ… DownloadCoordinatorIntegrationTests testCoordinator_throttling_returnsZeroAfterDelay 59ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_zeroCapacityDequeue_returnsEmpty 6ms
โœ… DownloadCoordinatorTests testCoordinator_cacheDownloadInfo_storesAndRetrieves 324ms
โœ… DownloadCoordinatorTests testCoordinator_canStartDownload_respectsMaxConcurrent 10ms
โœ… DownloadCoordinatorTests testCoordinator_canStartDownload_withinLimit 47ms
โœ… DownloadCoordinatorTests testCoordinator_dequeuePending_returnsBooks 12ms
โœ… DownloadCoordinatorTests testCoordinator_enqueuePending_addsToQueue 1.28s
โœ… DownloadCoordinatorTests testCoordinator_enqueuePending_preventsDuplicates 12ms
โœ… DownloadCoordinatorTests testCoordinator_redirectAttempts_tracksCorrectly 10ms
โœ… DownloadCoordinatorTests testCoordinator_registerCompletion_decrementsActiveCount 3ms
โœ… DownloadCoordinatorTests testCoordinator_registerStart_incrementsActiveCount 4ms
โœ… DownloadCoordinatorTests testCoordinator_removeCachedDownloadInfo_removesEntry 9ms
โœ… DownloadCoordinatorTests testCoordinator_reset_clearsAllState 16ms
โœ… DownloadDiskSpaceTests testAvailableDiskSpace_isPositive 2ms
โœ… DownloadDiskSpaceTests testDocumentsDirectory_exists 930ms
โœ… DownloadErrorInfoTests testConvenienceInit_setsFieldsCorrectly <1ms
โœ… DownloadErrorInfoTests testFullInit_withNilRetryAction 2ms
โœ… DownloadErrorInfoTests testFullInit_withRetryAction 1ms
โœ… DownloadErrorRecoveryPolicyTests testBorrowPolicy_doesNotRetryOnFatalErrors 2ms
โœ… DownloadErrorRecoveryPolicyTests testBorrowPolicy_recoversAfterNoActiveLoan 218ms
โœ… DownloadErrorRecoveryPolicyTests testBorrowPolicy_retriesOnAllTransientErrors 147ms
โœ… DownloadErrorRecoveryPolicyTests testDefaultPolicy_hasReasonableDefaults <1ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_failsAfterMaxAttempts 112ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_immediateSuccess_noRetries 219ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_nonRetryableError_failsImmediately 3ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_retriesOnTransientError 47ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_successfulOperation_returnsResult 64ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_worksWithDifferentTypes 10ms
โœ… DownloadErrorRecoveryPolicyTests testPolicyPresets_areOrderedByAggressiveness 1ms
โœ… DownloadErrorRecoveryTests testErrorRecovery_cancelledDownload_resetsToDownloadNeeded 8ms
โœ… DownloadErrorRecoveryTests testErrorRecovery_downloadFailed_allowsRetry 6ms
โœ… DownloadErrorRecoveryTests testErrorRecovery_multipleFailures_trackedSeparately 27ms
โœ… DownloadFreeSpaceExhaustionTests testDefaultDiskBudget_normalDeviceBranch 3ms
โœ… DownloadFreeSpaceExhaustionTests testDefaultDiskBudget_smallDeviceBranch 66ms
โœ… DownloadFreeSpaceExhaustionTests testDirectoryUsage_countsLCPFilesEvenIfThoseFilesArePreservedDuringEviction 31ms
โœ… DownloadFreeSpaceExhaustionTests testEviction_atExactBudget_doesNothing 7ms
โœ… DownloadFreeSpaceExhaustionTests testEviction_bytesToAddExceedsBudgetButDirectoryEmpty_isNoOp 4ms
โœ… DownloadFreeSpaceExhaustionTests testEviction_evictsOnlyOldestWhenSufficient 24ms
โœ… DownloadFreeSpaceExhaustionTests testEviction_orphan_reclaimedButRegistryUntouched 383ms
โœ… DownloadFreeSpaceExhaustionTests testLRUSort_producesOldestFirst 9ms
โœ… DownloadFreeSpaceExhaustionTests testMoveFile_destinationParentReadOnly_failsCleanly 22ms
โœ… DownloadFreeSpaceExhaustionTests testMoveFile_disk_out_leavesNoPartialGarbageAtDestination 1.47s
โœ… DownloadFreeSpaceExhaustionTests testReplaceBook_destinationParentReadOnly_failsCleanly 84ms
โœ… DownloadInfoTests testDownloadInfo_creation_setsInitialValues <1ms
โœ… DownloadInfoTests testDownloadInfo_progressUpdates_handlesEdgeCases <1ms
โœ… DownloadInfoTests testDownloadInfo_rightsManagementString_returnsCorrectString <1ms
โœ… DownloadInfoTests testDownloadInfo_withDownloadProgress_createsNewInstance 52ms
โœ… DownloadInfoTests testDownloadInfo_withRightsManagement_createsNewInstance 1ms
โœ… DownloadIntegrityTests testMoveFile_firstDownload_landsExactBytes 4ms
โœ… DownloadIntegrityTests testReplaceBook_byteForByteHashMatch 26ms
โœ… DownloadIntegrityTests testReplaceBook_manifestReFetch_overwritesOldManifest 958ms
โœ… DownloadIntegrityTests testReplaceBook_openAccessAudiobookManifest_writesAndMarksSuccessful 270ms
โœ… DownloadIntegrityTests testReplaceBook_sameSizeDifferentBytes_writesNewBytes 8ms
โœ… DownloadIntegrityTests testReplaceBook_validationFailureLeavesRegistryUnchanged 55ms
โœ… DownloadIntegrityTests testValidate_missingFile_fails 6ms
โœ… DownloadIntegrityTests testValidate_nonEmptyFile_passes 1.02s
โœ… DownloadIntegrityTests testValidate_repeatedCallsAreIdempotent 5ms
โœ… DownloadIntegrityTests testValidate_zeroByteFile_fails 20ms
โœ… DownloadOnlyOnWiFiTests testAccessibilityIdentifier_exists 2ms
โœ… DownloadOnlyOnWiFiTests testDefaultValue_isFalse 5ms
โœ… DownloadOnlyOnWiFiTests testLocalizedStrings_areNotEmpty 5.03s
โœ… DownloadOnlyOnWiFiTests testMock_canBeConfigured 1ms
โœ… DownloadOnlyOnWiFiTests testMock_defaultIsFalse 2ms
โœ… DownloadOnlyOnWiFiTests testMock_resetClearsSetting 2ms
โœ… DownloadOnlyOnWiFiTests testReachability_isOnWiFi_consistentWithDetailedStatus 453ms
โœ… DownloadOnlyOnWiFiTests testReachability_isOnWiFi_returnsBool 248ms
โœ… DownloadOnlyOnWiFiTests testSetting_persistsAcrossReads 5ms
โœ… DownloadOnlyOnWiFiTests testSetting_persistsToUserDefaultsAcrossToggleCycle 4ms
โœ… DownloadPersistenceStoreTests testBookDownloadsOverallProgress 4ms
โœ… DownloadPersistenceStoreTests testGetIncompleteDownloads 8ms
โœ… DownloadPersistenceStoreTests testMarkCompleted 4ms
โœ… DownloadPersistenceStoreTests testRegisterDownload 18ms
โœ… DownloadPersistenceStoreTests testUpdateProgress 32ms
โœ… DownloadProgressPublisherCoreTests testAnnounceBorrowFailed_doesNotCrash 3ms
โœ… DownloadProgressPublisherCoreTests testAnnounceBorrowStarted_doesNotCrash 2ms
โœ… DownloadProgressPublisherCoreTests testAnnounceBorrowSucceeded_doesNotCrash 2ms
โœ… DownloadProgressPublisherCoreTests testAnnounceDownloadCompleted_doesNotCrash 4ms
โœ… DownloadProgressPublisherCoreTests testAnnounceDownloadFailed_doesNotCrash 6ms
โœ… DownloadProgressPublisherCoreTests testAnnounceDownloadProgress_doesNotCrash 5ms
โœ… DownloadProgressPublisherCoreTests testAnnounceDownloadStarted_doesNotCrash 43ms
โœ… DownloadProgressPublisherCoreTests testAnnounceReturnFailed_doesNotCrash 7ms
โœ… DownloadProgressPublisherCoreTests testAnnounceReturnStarted_doesNotCrash 7ms
โœ… DownloadProgressPublisherCoreTests testAnnounceReturnSucceeded_doesNotCrash 7ms
โœ… DownloadProgressPublisherCoreTests testBroadcastUpdate_postsNotification 11ms
โœ… DownloadProgressPublisherCoreTests testBroadcastUpdate_throttles_rapidCalls 531ms
โœ… DownloadProgressPublisherCoreTests testBroadcastUpdate_usesNotificationSender 5ms
โœ… DownloadProgressPublisherCoreTests testConformsToDownloadProgressPublishing 4ms
โœ… DownloadProgressPublisherCoreTests testPublishAndAnnounceError_publishesOnErrorPublisher 6ms
โœ… DownloadProgressPublisherCoreTests testPublishAndAnnounceError_withRetryAction 4ms
โœ… DownloadProgressPublisherCoreTests testSendProgress_differentBooks_publishesSeparately 54ms
โœ… DownloadProgressPublisherCoreTests testSendProgress_multipleUpdates_allReceived 3ms
โœ… DownloadProgressPublisherCoreTests testSendProgress_publishesOnProgressPublisher 4ms
โœ… DownloadProgressPublisherTests testProgressPublisher_emitsMultipleUpdates 32ms
โœ… DownloadProgressPublisherTests testProgressPublisher_emitsProgressUpdates 3ms
โœ… DownloadQueueIntegrationTests testMaxConcurrentDownloads_limitsActiveDownloads 9ms
โœ… DownloadQueueIntegrationTests testQueuedBooks_preserveOrderAcrossMultipleDequeues 38ms
โœ… DownloadQueueIntegrationTests testQueuedBooks_startedWhenCapacityAvailable 20ms
โœ… DownloadQueueOrchestratorTests testEnqueuePending_appendsToCoordinatorPendingQueue 32ms
โœ… DownloadQueueOrchestratorTests testEnqueuePending_doesNotPostOnDefaultCenter_whenInjectedCenterDiffers 32ms
โœ… DownloadQueueOrchestratorTests testEnqueuePending_marksBookAsDownloadingInRegistry 44ms
โœ… DownloadQueueOrchestratorTests testEnqueuePending_postsDidChangeNotificationOnInjectedCenter 38ms
โœ… DownloadQueueOrchestratorTests testSchedulePendingStartsAsync_atCap_doesNotDequeueOrCallDelegate 15ms
โœ… DownloadQueueOrchestratorTests testSchedulePendingStartsAsync_emptyQueue_doesNotCallDelegate 2ms
โœ… DownloadQueueOrchestratorTests testSchedulePendingStartsAsync_passesNilRequestToDelegate 146ms
โœ… DownloadQueueOrchestratorTests testSchedulePendingStartsAsync_underCap_dequeuesUpToRemainingCapacityInFIFOOrder 22ms
โœ… DownloadQueueOrchestratorTests testSchedulePendingStartsIfPossible_drivesDelegateAsynchronously 36ms
โœ… DownloadRMSDKHandoffTests testRMSDKHandoff_featureDRMConnectorDisabled_skipsSuite 3ms
โœ… DownloadReconciliationLaunchOrderContractTests testLaunchReconciliation_callOrder_registryLoad_getAllTasks_reconcile_apply 70ms
โœ… DownloadReconciliationLaunchOrderContractTests testLaunchReconciliation_registryNotLoaded_gatesBeforeAnyTaskOrPersistenceRead 64ms
โœ… DownloadReconciliationTests testDeadTask_downloadFailed_isMarkedFailed 3ms
โœ… DownloadReconciliationTests testDeadTask_downloadNeeded_isRestarted <1ms
โœ… DownloadReconciliationTests testDeadTask_downloadSuccessful_isCleanedUp 127ms
โœ… DownloadReconciliationTests testDeadTask_downloading_isRestarted 68ms
โœ… DownloadReconciliationTests testDeadTask_holding_isCleanedUp 74ms
โœ… DownloadReconciliationTests testDeadTask_noRegistryEntry_isCleanedUp 890ms
โœ… DownloadReconciliationTests testDeadTask_returning_isCleanedUp 1ms
โœ… DownloadReconciliationTests testDeadTask_samlStarted_isRestarted 1ms
โœ… DownloadReconciliationTests testDeadTask_unregistered_isCleanedUp 84ms
โœ… DownloadReconciliationTests testDeadTask_unsupported_isCleanedUp 1ms
โœ… DownloadReconciliationTests testDeadTask_used_isCleanedUp <1ms
โœ… DownloadReconciliationTests testEmptyPersisted_yieldsNoDecisions <1ms
โœ… DownloadReconciliationTests testLiveTask_isAdopted_evenIfRegistrySaysFailed 1ms
โœ… DownloadReconciliationTests testLiveTask_isAdopted_evenWithNoRegistryEntry 2ms
โœ… DownloadReconciliationTests testLiveTask_isAdopted_notRestarted_downloadingState <1ms
โœ… DownloadReconciliationTests testMixedBatch_eachRecordDecidedIndependently_orderPreserved 3ms
โœ… DownloadReconciliationTests testTwoLiveRecords_bothAdopted_withOwnTaskIdentifiers <1ms
โœ… DownloadRedirectTests testBearerTokenJSON_shouldUseDistributorToken_notPalaceToken 54ms
โœ… DownloadRedirectTests testRedirectRequest_crossDomain_shouldNotContainAuthHeader <1ms
โœ… DownloadRedirectTests testRedirectRequest_sameDomain_shouldNotContainAuthHeader 2ms
โœ… DownloadRedirectTests testRedirectRequest_shouldNotContainAuthHeader_whenFollowingRedirect <1ms
โœ… DownloadRedirectTests testRedirect_httpsToHttp_shouldBeBlocked <1ms
โœ… DownloadRedirectTests testRedirect_httpsToHttps_shouldBeAllowed <1ms
โœ… DownloadRedirectTests testRedirect_maxRedirectAttempts_shouldBeEnforced <1ms
โœ… DownloadResumeAfterKillTests testCancel_at99PercentProgress_resetsStateAndClearsMaps 48ms
โœ… DownloadResumeAfterKillTests testMoveFile_overStalePartialAtDestination_removesAndReplaces 5ms
โœ… DownloadResumeAfterKillTests testReplaceBook_missingSourceAfterKill_failsCleanly 13ms
โœ… DownloadResumeAfterKillTests testReplaceBook_noDoubleWriteOrConcatenation 14ms
โœ… DownloadResumeAfterKillTests testReplaceBook_partialAtDestination_isReplacedByFreshFullPayload 9ms
โœ… DownloadResumeAfterKillTests testReplaceBook_truncatedResumePayload_failsValidationAndStateUnchanged 11ms
โœ… DownloadResumeAfterKillTests testValidateDownloadedFile_after99PercentCancelLeavesZeroBytes_returnsFalse 8ms
โœ… DownloadSlotManagementTests testHoldingState_bookRegistryTracksCorrectly 4ms
โœ… DownloadSlotManagementTests testStateTransition_completeDownloadFlow 6ms
โœ… DownloadSlotManagementTests testStateTransition_downloadingToFailed 40ms
โœ… DownloadSlotManagementTests testStateTransition_downloadingToHolding 369ms
โœ… DownloadSlotManagementTests testStateTransitions_holdingStateIsTracked 3ms
โœ… DownloadStartCoordinatorContractTests test_startDownload_downloadNeeded_callsProcessWithCredentials 146ms
โœ… DownloadStartCoordinatorContractTests test_startDownload_downloadSuccessful_isNonsensical_returns 6ms
โœ… DownloadStartCoordinatorContractTests test_startDownload_downloadingState_isShortCircuited 15ms
โœ… DownloadStartCoordinatorContractTests test_startDownload_holding_callsStartBorrow_withAttemptDownloadTrue 13ms
โœ… DownloadStartCoordinatorContractTests test_startDownload_unregistered_routesThroughProcessUnregistered 77ms
โœ… DownloadStartCoordinatorTests testStartBorrow_resultsInHolding_releasesSlotAndSchedules 34ms
โœ… DownloadStartCoordinatorTests testStartBorrow_success_invokesCompletionAndDoesNotReleaseSlot 32ms
โœ… DownloadStartCoordinatorTests testStartBorrow_throws_releasesSlotAndSchedulesAndCallsCompletion 62ms
โœ… DownloadStartCoordinatorTests testStartDownloadAsync_alreadyDownloadingState_skips 6ms
โœ… DownloadStartCoordinatorTests testStartDownloadAsync_capExceeded_enqueuesPending 6ms
โœ… DownloadStartCoordinatorTests testStartDownloadAsync_credentialsAvailable_dispatches 6ms
โœ… DownloadStartCoordinatorTests testStartDownloadAsync_existingDownloadInProgress_skipsDuplicate 78ms
โœ… DownloadStartCoordinatorTests testStartDownloadAsync_terminalState_isNonsensicalNoOp 60ms
โœ… DownloadStartCoordinatorTests testStartDownloadAsync_unregisteredState_callsProcessUnregisteredFirst 9ms
โœ… DownloadStartDispatcherTests testProcessDownloadWithCredentials_epubBook_stillCallsStartBorrow 2ms
โœ… DownloadStartDispatcherTests testProcessDownloadWithCredentials_holding_routesToStartBorrow 2ms
โœ… DownloadStartDispatcherTests testProcessDownloadWithCredentials_nonBorrowStates_doNotCallStartBorrow 6ms
โœ… DownloadStartDispatcherTests testProcessDownloadWithCredentials_overdriveDistributorEpub_doesNotRouteToOverdriveHandler 2ms
โœ… DownloadStartDispatcherTests testProcessDownloadWithCredentials_streamingHTMLBook_returnsEarlyWithoutCallingStartBorrow 5ms
โœ… DownloadStartDispatcherTests testProcessDownloadWithCredentials_streamingHTMLBook_unregisteredState_alsoReturnsEarly 5ms
โœ… DownloadStartDispatcherTests testProcessDownloadWithCredentials_unregistered_routesToStartBorrow 2ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_downloadNeededAutoBorrow_completionFires_withDownloadingState 5ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_downloadNeededAutoBorrow_completionFires_withHoldingState 2ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_downloadNeededWithBorrowLink_triggersAutoBorrow 2ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_expiredBookWithBorrowLink_triggersReBorrow 3ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_initedRequestPassedThrough_overridesAcquisitionURL 13ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_nonSamlStateWithCookies_doesNotRouteToSAMLHandler 5ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_normalOpenAccess_callsAddDownloadTaskWithBearerRequest 2ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_samlStateWithoutCookies_fallsThroughToAddDownloadTask 18ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_samlState_routesThroughSAMLHandler 12ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_unexpiredBookWithBorrowLink_doesNotReBorrowViaExpiredBranch 3ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_wifiOnlyEnforced_failsAndDoesNotStartDownload 2ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_wifiOnlyToggleOff_offWifi_proceedsWithDownload 3ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_wifiOnlyToggleOn_onWifi_proceedsWithDownload 4ms
โœ… DownloadStartDispatcherTests testProcessUnregisteredState_hasBorrowLink_doesNotRegister 3ms
โœ… DownloadStartDispatcherTests testProcessUnregisteredState_loginNotRequired_noBorrowLink_registersAsDownloadNeeded 2ms
โœ… DownloadStartDispatcherTests testProcessUnregisteredState_loginRequiredNoOpenAccess_returnsUnregistered 5ms
โœ… DownloadStartDispatcherTests testProcessUnregisteredState_openAccessBook_registersAndReturnsDownloadNeeded 2ms
โœ… DownloadStartDispatcherTests testProcessUnregisteredState_openAccessWithLoginRequired_stillRegistersAsDownloadNeeded 26ms
โœ… DownloadStartDispatcherTests testProcessUnregisteredState_streamingHTMLOpenAccessBook_transitionsToDownloadNeeded 32ms
โœ… DownloadStateMachineIntegrationTests testBorrowResponseState_borrowFromLimited_reservedResponse_returnsRaceLossError 6ms
โœ… DownloadStateMachineIntegrationTests testBorrowResponseState_borrowFromReady_unavailableResponse_returnsRaceLossError 5ms
โœ… DownloadStateMachineIntegrationTests testBorrowResponseState_borrowFromUnlimited_unavailableResponse_returnsRaceLossError 10ms
โœ… DownloadStateMachineIntegrationTests testBorrowResponseState_placeHold_reservedResponse_noError 3ms
โœ… DownloadStateMachineIntegrationTests testBorrowResponseState_placeHold_unavailableResponse_noError 15ms
โœ… DownloadStateMachineIntegrationTests testBorrowResponseState_postLimited_returnsDownloadNeededWithNoError 1ms
โœ… DownloadStateMachineIntegrationTests testBorrowResponseState_postReady_returnsDownloadNeededWithNoError 2ms
โœ… DownloadStateMachineIntegrationTests testBorrowResponseState_postUnlimited_returnsDownloadNeededWithNoError 1ms
โœ… DownloadStateMachineIntegrationTests testState_completeFailedDownloadWithRetryFlow 18ms
โœ… DownloadStateMachineIntegrationTests testState_completeSuccessfulDownloadFlow 27ms
โœ… DownloadStateMachineIntegrationTests testState_downloadFailedToDownloading_retryTransition 7ms
โœ… DownloadStateMachineIntegrationTests testState_downloadNeededToDownloading_validTransition 5ms
โœ… DownloadStateMachineIntegrationTests testState_downloadingToDownloadFailed_validTransition 31ms
โœ… DownloadStateMachineIntegrationTests testState_downloadingToDownloadSuccessful_validTransition 3ms
โœ… DownloadStateMachineIntegrationTests testState_unregisteredToDownloadNeeded_validTransition 43ms
โœ… DownloadStateMachineTests testState_downloadFailed_canRetry 2ms
โœ… DownloadStateMachineTests testState_downloadNeeded_canTransitionToDownloadSuccessful 220ms
โœ… DownloadStateMachineTests testState_downloadNeeded_canTransitionToDownloading 3ms
โœ… DownloadStateMachineTests testState_downloading_canTransitionToFailed 2ms
โœ… DownloadStateMachineTests testState_downloading_canTransitionToSuccess 4ms
โœ… DownloadStateManagerTests testBookIdentifierToDownloadTask_storesAndRetrieves 5ms
โœ… DownloadStateManagerTests testCleanupDownload_removesAllTracking 5ms
โœ… DownloadStateManagerTests testCleanupDownload_removesOldTaskIdEntry 47ms
โœ… DownloadStateManagerTests testCleanupDownload_withoutTaskId_stillCleansInfo 6ms
โœ… DownloadStateManagerTests testConcurrentAccess_doesNotCrash 3ms
โœ… DownloadStateManagerTests testDownloadInfoAsync_cachesInCoordinator 43ms
โœ… DownloadStateManagerTests testDownloadInfoAsync_existingEntry_returnsInfo 5ms
โœ… DownloadStateManagerTests testDownloadInfoAsync_missingEntry_returnsNil 3ms
โœ… DownloadStateManagerTests testDownloadInfo_sync_returnsNilForMissing 2ms
โœ… DownloadStateManagerTests testDownloadProgress_noInfo_returnsZero 20ms
โœ… DownloadStateManagerTests testInit_defaultMaxConcurrentDownloads 1ms
โœ… DownloadStateManagerTests testInit_emptyCollections 4ms
โœ… DownloadStateManagerTests testResetAll_clearsEverything 9ms
โœ… DownloadStateManagerTests testTaskIdentifierToBook_recycleSameId_doesNotLeakOldBook 8ms
โœ… DownloadStateManagerTests testTaskIdentifierToBook_setBeforeRemove_intentionalOverwrite 7ms
โœ… DownloadStateManagerTests testTaskIdentifierToBook_storesAndRetrieves 5ms
โœ… DownloadTaskLifecycleServiceTests testHandleTaskCompletionError_cancelledError_doesNotAlert 6ms
โœ… DownloadTaskLifecycleServiceTests testHandleTaskCompletionError_realError_logsFailureAndAlerts 4ms
โœ… DownloadTaskLifecycleServiceTests testHandleTaskCompletionError_successPath_registersCompletionAndSchedules 5ms
โœ… DownloadTaskLifecycleServiceTests testHandleTaskCompletionError_unknownTask_isNoOp 4ms
โœ… DownloadTaskLifecycleServiceTests testRegisterStartedTask_announcesDownloadStartedAndNotifiesCenter 68ms
โœ… DownloadTaskLifecycleServiceTests testRegisterStartedTask_marksBookAsDownloadingInRegistry 48ms
โœ… DownloadTaskLifecycleServiceTests testRegisterStartedTask_resumesTheTask 4ms
โœ… DownloadTaskLifecycleServiceTests testRegisterStartedTask_storesDownloadInfoKeyedByBookIdentifier 164ms
โœ… DownloadTaskLifecycleServiceTests testRegisterStartedTask_storesTaskIdentifierToBookMapping 4ms
โœ… DownloadTaskPersistenceTests testRecord_encodeDecode_roundTripsAllFields 38ms
โœ… DownloadTaskPersistenceTests testRecord_nilExpectedBytes_roundTrips 3ms
โœ… DownloadTaskPersistenceTests testStateManager_cleanupDownload_alsoDropsPersistedRecord 11ms
โœ… DownloadTaskPersistenceTests testStateManager_persistStartedTask_thenList 6ms
โœ… DownloadTaskPersistenceTests testStateManager_removePersistedRecord 95ms
โœ… DownloadTaskPersistenceTests testStateManager_resetAll_clearsPersistence 12ms
โœ… DownloadTaskPersistenceTests testStateManager_transferRetryCounter_incrementsAndResets 6ms
โœ… DownloadTaskPersistenceTests testStore_corruptFile_returnsEmptyNotCrash 4ms
โœ… DownloadTaskPersistenceTests testStore_missingFile_returnsEmptyNotCrash 2ms
โœ… DownloadTaskPersistenceTests testStore_recordSameBookTwice_upsertsNotDuplicates 6ms
โœ… DownloadTaskPersistenceTests testStore_recordThenAll_returnsPersistedAcrossFreshInstances 5ms
โœ… DownloadTaskPersistenceTests testStore_removeAbsent_isNoOp 8ms
โœ… DownloadTaskPersistenceTests testStore_removeAll_empties 16ms
โœ… DownloadTaskPersistenceTests testStore_remove_dropsOnlyThatBook 3ms
โœ… DownloadThrottlingServiceTests testLimitActiveDownloads_alwaysCallsScheduleAfterPolicyApplied 63ms
โœ… DownloadThrottlingServiceTests testLimit_atCap_doesNothingButCallsSchedule 38ms
โœ… DownloadThrottlingServiceTests testLimit_overCap_audiobookTaskNotSuspended 40ms
โœ… DownloadThrottlingServiceTests testLimit_overCap_suspendsExcessNonAudiobookTasks 38ms
โœ… DownloadThrottlingServiceTests testLimit_underCap_resumesSuspendedTasks 38ms
โœ… DownloadThrottlingServiceTests testPauseAllDownloads_preservesAudiobookTasks 39ms
โœ… DownloadThrottlingServiceTests testPauseAllDownloads_suspendsAllNonAudiobookTasks 60ms
โœ… DownloadThrottlingServiceTests testResumeIntelligentDownloads_reAppliesCurrentCap 42ms
โœ… DownloadThrottlingServiceTests testSetupNetworkMonitoring_calledTwice_replacesPriorObserver 38ms
โœ… DownloadThrottlingServiceTests testSetupNetworkMonitoring_observesAppDidBecomeActiveAndReAppliesCap 115ms
โœ… DownloadTransferRetryTests testCancelledError_isNotRetried 9ms
โœ… DownloadTransferRetryTests testIsRegistryLoadedForReconcile_trueOnlyAfterLoad 2ms
โœ… DownloadTransferRetryTests testNoMappedBook_isNotRetried 6ms
โœ… DownloadTransferRetryTests testNonTransientError_isNotRetried 22ms
โœ… DownloadTransferRetryTests testTransientError_atCap_stopsRetryingAndResetsCounter 9ms
โœ… DownloadTransferRetryTests testTransientError_underCap_retriesAndIncrementsCounter 2.04s
โœ… DownloadWatchdogTests testDefaultConfiguration 3ms
โœ… DownloadWatchdogTests testStartAndStop 197ms
โœ… DownloadWatchdogTests testWatchdogConfiguration 13ms
โœ… EPUBKeyCommandsPP4289Tests testReaderKeyCommands_everyBindingClaimsPriorityOverSystem 6ms
โœ… EPUBKeyCommandsPP4289Tests testReaderKeyCommands_includesCmdComma_routedToSettings 2ms
โœ… EPUBKeyCommandsPP4289Tests testReaderKeyCommands_includesCmdW_routedToCloseReader 15ms
โœ… EPUBKeyCommandsPP4289Tests testReaderKeyCommands_preservesArrowLeftRightSpaceShiftSpaceEscape <1ms
โœ… EPUBModuleTests testEPUBModule_canBeInitialized 1ms
โœ… EPUBModuleTests testEPUBModule_conformsToReaderFormatModule 89ms
โœ… EPUBModuleTests testReaderError_epubNotValid_exists 3ms
โœ… EPUBModuleTests testReaderError_epubNotValid_isError 2ms
โœ… EPUBPositionTests testBookLocation_CreationFromDictionary <1ms
โœ… EPUBPositionTests testBookLocation_CreationWithValidData <1ms
โœ… EPUBPositionTests testBookLocation_DictionaryRoundTrip 1ms
โœ… EPUBPositionTests testBookLocation_FailsWithMissingLocationString 51ms
โœ… EPUBPositionTests testBookLocation_FailsWithMissingRenderer 21ms
โœ… EPUBPositionTests testLocationSimilarity_DifferentProgressions 1ms
โœ… EPUBPositionTests testLocationSimilarity_IdenticalLocations <1ms
โœ… EPUBPositionTests testLocatorRoundTrip_preservesCssSelectorPositionProgression_throughJSONValue 2ms
โœ… EPUBPositionTests testLocatorRoundTrip_withoutCssSelector_succeedsAndPreservesPosition 9ms
โœ… EPUBPositionTests testThrottlingInterval_Value 35ms
โœ… EPUBSearchViewModelTests testClearSearch_ResetsState 20ms
โœ… EPUBSearchViewModelTests testFetchNextBatch_WhenNotIdle_DoesNothing 18ms
โœ… EPUBSearchViewModelTests testFetchNextBatch_WithMoreResults_AppendsResults 22ms
โœ… EPUBSearchViewModelTests testInit_HasCorrectDefaults 9ms
โœ… EPUBSearchViewModelTests testSearch_CancelsInFlight_OnNewQuery 204ms
โœ… EPUBSearchViewModelTests testSearch_FiltersDuplicateResults 13ms
โœ… EPUBSearchViewModelTests testSearch_GroupsResultsByTitle 16ms
โœ… EPUBSearchViewModelTests testSearch_PublicationNotSearchable_SetsFailureState 18ms
โœ… EPUBSearchViewModelTests testSearch_SetsIsSearching 18ms
โœ… EPUBSearchViewModelTests testSearch_WithEmptyQuery_DoesNotSearch 11ms
โœ… EPUBSearchViewModelTests testSearch_WithError_SetsErrorMessage 33ms
โœ… EPUBSearchViewModelTests testSearch_WithIteratorError_SetsErrorState 27ms
โœ… EPUBSearchViewModelTests testSearch_WithNoResults_SetsEmptyState 115ms
โœ… EPUBSearchViewModelTests testSearch_WithResults_UpdatesResults 16ms
โœ… EPUBSearchViewModelTests testSearch_WithValidQuery_PerformsSearch 98ms
โœ… EPUBSearchViewModelTests testSelectResult_NavigatesToLocation 14ms
โœ… EPUBSearchViewModelTests testSelectResult_WithNilDelegate_DoesNotCrash 23ms
โœ… EPUBSearchViewModelTests testState_IsLoadingState_ReturnsCorrectValues 1.39s
โœ… EPUBToolbarToggleTests testDoubleToggle_restoresOriginalState <1ms
โœ… EPUBToolbarToggleTests testDualPath_edgeTap_doesNotToggleToolbar <1ms
โœ… EPUBToolbarToggleTests testFixedDualPath_centerTap_togglesToolbarExactlyOnce 122ms
โœ… EPUBToolbarToggleTests testFixedDualPath_repeatedCenterTaps_alternateToolbarState 53ms
โœ… EPUBToolbarToggleTests testKeyboardNavigable_doubleToggle_restoresState 2ms
โœ… EPUBToolbarToggleTests testKeyboardNavigable_toggleToolbar_changesState <1ms
โœ… EPUBToolbarToggleTests testSingleToggle_changesToolbarVisibility 74ms
โœ… EPUBToolbarToggleTests testTapRegion_classifiesViewportInToThreeZones 1ms
โœ… EPUBToolbarToggleTests testTapRegion_threshold_isInclusiveOnEdgeAndExclusiveAtCenter <1ms
โœ… EPUBToolbarToggleTests testTapRegion_zeroWidthViewport_defaultsToCenter 2ms
โœ… EPUBToolbarToggleTests testUnfixedDualPath_centerTap_doubleTogglesToolbar 264ms
โœ… EmailAddressTests testEmail_withLeadingWhitespace_isTrimmed 3ms
โœ… EmailAddressTests testEmail_withTrailingWhitespace_isTrimmed 2ms
โœ… EmailAddressTests testEquality_differentRawValue_haveDifferentRawValue 297ms
โœ… EmailAddressTests testEquality_sameRawValue_haveSameRawValue 1ms
โœ… EmailAddressTests testInvalidEmail_emptyString 116ms
โœ… EmailAddressTests testInvalidEmail_justText 2ms
โœ… EmailAddressTests testInvalidEmail_multipleAtSigns <1ms
โœ… EmailAddressTests testInvalidEmail_noAtSign 11ms
โœ… EmailAddressTests testInvalidEmail_noDomain 77ms
โœ… EmailAddressTests testInvalidEmail_noLocalPart 1ms
โœ… EmailAddressTests testRawValue_matchesInput 2ms
โœ… EmailAddressTests testValidEmail_simpleAddress 137ms
โœ… EmailAddressTests testValidEmail_withDots 3ms
โœ… EmailAddressTests testValidEmail_withNumbers 3ms
โœ… EmailAddressTests testValidEmail_withPlus 2ms
โœ… EmailAddressTests testValidEmail_withSubdomain 82ms
โœ… EpubSampleFactoryTests testCreateSample_withBookWithoutSample_returnsError 6ms
โœ… EpubSampleFactoryTests testSamplePlayerError_fileSaveFailed_withUnderlyingError <1ms
โœ… EpubSampleFactoryTests testSamplePlayerError_sampleDownloadFailed_withUnderlyingError 2ms
โœ… EpubSampleFactoryTests testSamplePlayerError_threeDistinctCasesWithOptionalPayloads 8ms
โœ… EpubSampleFactoryTests testSampleURLWrappers_polymorphismAllowsCallSiteRouting 2ms
โœ… ErrorActivityTrackerTests testCategoryRawValues 3ms
โœ… ErrorActivityTrackerTests testClear_removesAllEntries 7ms
โœ… ErrorActivityTrackerTests testDisplayString_containsTimestampCategoryAndMessage 5ms
โœ… ErrorActivityTrackerTests testLog_allCategories_areStoredCorrectly 106ms
โœ… ErrorActivityTrackerTests testLog_capturesFileAndLine 4ms
โœ… ErrorActivityTrackerTests testLog_exceedingMaxEntries_trimmsOldest 21ms
โœ… ErrorActivityTrackerTests testLog_multipleEntries_preservesOrder 4ms
โœ… ErrorActivityTrackerTests testLog_singleEntry_appearsInSnapshot 5ms
โœ… ErrorActivityTrackerTests testLog_timestampsAreMonotonicallyIncreasing 12ms
โœ… ErrorActivityTrackerTests testRecentActivities_defaultParameter_returns5Minutes 312ms
โœ… ErrorActivityTrackerTests testRecentActivities_filtersOldEntries 8ms
โœ… ErrorActivityTrackerTests testShortSource_containsFileAndLine 3ms
โœ… ErrorDetailTests testBookInfo_withNilIdentifier_isNil 11ms
โœ… ErrorDetailTests testCapture_populatesBasicFields 7ms
โœ… ErrorDetailTests testCapture_populatesDeviceContext 2ms
โœ… ErrorDetailTests testCapture_withBookInfo_populatesBookContext 9ms
โœ… ErrorDetailTests testCapture_withError_storesUnderlyingError 8ms
โœ… ErrorDetailTests testCapture_withoutBookInfo_bookInfoIsNil 81ms
โœ… ErrorDetailTests testFormattedReport_containsActivityTrailSection 12ms
โœ… ErrorDetailTests testFormattedReport_containsDeviceSection 47ms
โœ… ErrorDetailTests testFormattedReport_containsErrorSection 4ms
โœ… ErrorDetailTests testFormattedReport_containsHeader 355ms
โœ… ErrorDetailTests testFormattedReport_withBookInfo_containsBookSection 42ms
โœ… ErrorDetailTests testFormattedReport_withError_containsErrorDetails 11ms
โœ… ErrorDetailViewControllerGapTests testErrorDetailVC_rendersDeviceContextLines 1.07s
โœ… ErrorDetailViewControllerGapTests testErrorDetailVC_rendersFieldsCorrectly 10ms
โœ… ErrorDetailViewControllerGapTests testErrorDetailVC_rendersSectionsCorrectly 11ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_Init_setsTitleAndPopulatesTextView 5ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_NavigationItems_AreConfigured 503ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_RenderContent_ContainsDeviceFields 5ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_RenderContent_ContainsErrorTitle 121ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_RenderContent_ContainsSection 25ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_RenderContent_EmptyTrailShowsMessage 5ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_ViewDidLoad_HasTextView 28ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_ContainsTimestamp 98ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_DeviceContextFields 3ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_EmptyActivityTrail 38ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_WithBookInfo_ContainsBookSection 1ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_WithUnderlyingError_ContainsDomain 8ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_includesAllSectionsAndPassesThroughTitleAndMessage 180ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_omitsBookSectionWhenNoBookInfoButRendersRestOfReport <1ms
โœ… ErrorLogExporterTests testErrorLogData_deviceLogsField_acceptsEmptyData 1ms
โœ… ErrorLogExporterTests testErrorLogData_deviceLogsField_acceptsLargeData 6ms
โœ… ErrorLogExporterTests testErrorLogData_initializesWithAllFields <1ms
โœ… ErrorLogExporterTests testErrorLogExporter_sharedInstance_isNotNil 10ms
โœ… ErrorLogExporterTests testPP3651_collectLogsForPreview_containsPatronIDField 24ms
โœ… ExecutorNetworkHermeticityTests testSharedExecutor_GETToNonStubHost_isBlocked_notRealNetwork 1.37s
โœ… ExpiredLoanStringsTests testExpiredLoanMessageWithDate_containsFormatSpecifier 3ms
โœ… ExpiredLoanStringsTests testExpiredLoanMessageWithDate_formatsDateCorrectly 3ms
โœ… ExpiredLoanStringsTests testExpiredLoanMessage_isNonEmpty 2ms
โœ… ExpiredLoanStringsTests testExpiredLoanMessage_mentionsRemoval <1ms
โœ… ExpiredLoanStringsTests testExpiredLoanTitle_isNonEmpty 182ms
โœ… FacetEnumTests testFacet_LocalizedStrings_AreDistinct 47ms
โœ… FacetEnumTests testFacet_LocalizedStrings_AreNotEmpty <1ms
โœ… FacetEnumTests testFacet_LocalizedStrings_MatchStringsFile 1ms
โœ… FacetToolbarAccessibilityTests testFilterButtonLabel_differsBasedOnFilterState 9ms
โœ… FacetToolbarAccessibilityTests testFilterButtonLabel_noFiltersApplied <1ms
โœ… FacetToolbarAccessibilityTests testFilterButtonLabel_withFiltersApplied <1ms
โœ… FacetToolbarAccessibilityTests testSortButtonLabel_hasConsistentFormat <1ms
โœ… FacetToolbarAccessibilityTests testSortButtonLabel_includesSortOption 21ms
โœ… FacetViewModelLogoDelegateTests testAccountScreenURL_WithValidHomePageURL 64ms
โœ… FacetViewModelLogoDelegateTests testActiveSort_DefaultsToFirstFacet_AuthorFirst 6ms
โœ… FacetViewModelLogoDelegateTests testActiveSort_DefaultsToFirstFacet_TitleFirst 7ms
โœ… FacetViewModelLogoDelegateTests testLogoDidUpdate_SetsLogo 115ms
โœ… FacetViewModelTests testActiveSortPublished 122ms
โœ… FacetViewModelTests testChangingSortMultipleTimes 2ms
โœ… FacetViewModelTests testCurrentAccountURLWithNilAccount 4ms
โœ… FacetViewModelTests testEmptyGroupName 3ms
โœ… FacetViewModelTests testFacetLocalizedStrings <1ms
โœ… FacetViewModelTests testFacetRawValues <1ms
โœ… FacetViewModelTests testFacetsArrayPublished 5ms
โœ… FacetViewModelTests testGroupNamePublished 51ms
โœ… FacetViewModelTests testGroupNameWithSpecialCharacters 98ms
โœ… FacetViewModelTests testInitWithAuthorAndTitleFacets 2ms
โœ… FacetViewModelTests testInitWithSingleFacet 149ms
โœ… FacetViewModelTests testInitWithTitleFirst 5ms
โœ… FacetViewModelTests testLogoInitiallyNilWithoutAccount 122ms
โœ… FacetViewModelTests testMultipleSubscribersToActiveSort 3ms
โœ… FacetViewModelTests testSettingSameSortValue 9ms
โœ… FacetViewModelTests testShowAccountScreenInitiallyFalse 12ms
โœ… FacetViewModelTests testShowAccountScreenToggle 113ms
โœ… FacetViewModelTests testUpdatingFacetsDoesNotChangeActiveSort 2ms
โœ… FetchManifestWithBearerTokenLCPSafetyTests testFetchManifestWithBearerToken_receivingLCPLicense_returnsJSON 27ms
โœ… FetchManifestWithBearerTokenTests testEmptyResponseBody_returnsNil 52ms
โœ… FetchManifestWithBearerTokenTests testHTMLResponse_returnsNil 5ms
โœ… FetchManifestWithBearerTokenTests testHTTP401_returnsNil 33ms
โœ… FetchManifestWithBearerTokenTests testHTTP500_returnsNil 4ms
โœ… FetchManifestWithBearerTokenTests testInvalidJSON_returnsNil 5ms
โœ… FetchManifestWithBearerTokenTests testJSONArray_returnsNil 84ms
โœ… FetchManifestWithBearerTokenTests testSuccess_requestsFromCorrectURL 31ms
โœ… FetchManifestWithBearerTokenTests testSuccess_returnsManifestJSON 10ms
โœ… FetchManifestWithBearerTokenTests testSuccess_sendsCorrectBearerTokenHeader 7ms
โœ… FetchOpenAccessManifestLCPSafetyTests testBearerTokenResponseVsLCPLicense_areDistinct <1ms
โœ… FetchOpenAccessManifestLCPSafetyTests testLCPLicenseResponse_notDetectedAsBearerToken_inFetchFlow 1ms
โœ… FetchOpenAccessManifestLCPSafetyTests testLCPLicenseResponse_wouldBeReturnedAsManifest_withoutRouting 7ms
โœ… FetchOpenAccessManifestLCPSafetyTests testManifestVsLCPLicense_structuralDifferences 19ms
โœ… FileURLGenerationTests testFileUrl_contentDirectoryExists 345ms
โœ… FileURLGenerationTests testFileUrl_deterministicForSameIdentifier 4ms
โœ… FileURLGenerationTests testFileUrl_epubBook_hasEpubExtension 76ms
โœ… FindawayChapterStatusGuardTests testFindawayObservationPattern_RetainsObserverForDuration 6ms
โœ… FindawaySavedVsPlayedTests testDuneOversubdivided_savedBookmarkKeyEqualsPlayedTrack 599ms
โœ… FloatTPPAdditionsTests testApproxEqual_isSymmetric 2ms
โœ… FloatTPPAdditionsTests testApproxEqual_returnsFalseWhenRightHandSideIsNil 326ms
โœ… FloatTPPAdditionsTests testApproxEqual_returnsTrueOnlyForValuesWithinEpsilon <1ms
โœ… FloatTPPAdditionsTests testRoundTo_formatsAsPercentageWithSpecifiedDecimalPlaces 209ms
โœ… FloatTPPAdditionsTests testRoundTo_preservesTrailingZerosFromFormatSpecifier 2ms
โœ… FocusIndicationTests testAccessibilityElements_areOrderedLogically 5ms
โœ… FocusIndicationTests testCatalogCell_accessibilityLabelBehavior 6ms
โœ… FocusIndicationTests testFocusColor_hasSufficientContrastInDarkMode 3ms
โœ… FocusIndicationTests testFocusColor_hasSufficientContrastInLightMode 31ms
โœ… FocusIndicationTests testFocusableButton_hasFocusEffect 6ms
โœ… FocusIndicationTests testReaderToolbar_buttonsInLogicalOrder 22ms
โœ… FocusIndicationTests testTPPRoundedButton_isAccessible 39ms
โœ… FontManagerTests testAllFontFamiliesHaveCSSValue <1ms
โœ… FontManagerTests testAllFontFamiliesHaveCategory 1ms
โœ… FontManagerTests testAllFontFamiliesHaveDisplayName 1ms
โœ… FontManagerTests testAllFontFamiliesHavePreviewText <1ms
โœ… FontManagerTests testAvailableFamiliesNotEmpty 1ms
โœ… FontManagerTests testFamilyAvailabilityForSystemFonts 2ms
โœ… FontManagerTests testFontFamilyCategorization 2ms
โœ… FontManagerTests testFontFamilyIsCodable 4ms
โœ… FontManagerTests testFontsInCategory <1ms
โœ… FontManagerTests testNonExistentFontIsNotAvailable 3ms
โœ… FontManagerTests testOpenDyslexicCSSContainsFontName <1ms
โœ… FontManagerTests testRegisterCustomFontsDoesNotCrash 22ms
โœ… FontManagerTests testRegisterNonexistentFontReturnsFalse 17ms
โœ… FontManagerTests testSharedInstanceExists 5ms
โœ… FontManagerTests testSwiftUIFontCreation <1ms
โœ… FontManagerTests testSystemFontsAreAvailable <1ms
โœ… FontManagerTests testUIFontCreation 91ms
โœ… ForceResetTests testConsume_clearsTheUserDefaultsKey 12ms
โœ… ForceResetTests testConsume_secondCallAfterSet_returnsFalse 11ms
โœ… ForceResetTests testConsume_supportsMultipleSetThenConsumeCycles 39ms
โœ… ForceResetTests testConsume_whenFlagNeverSet_returnsFalse 4ms
โœ… ForceResetTests testConsume_whenFlagSet_returnsTrueOnce 10ms
โœ… ForceResetTests testRegressionForBug_resetAccountForcesNextOIDCSessionEphemeral_perHelpSpot17716 7ms
โœ… GeneralCacheClearOnUpdateTests testGeneralCache_clearOnUpdate_firstLaunch_purgesAndSeedsFlag 2ms
โœ… GeneralCacheClearOnUpdateTests testGeneralCache_clearOnUpdate_sameVersion_doesNotPurge 1ms
โœ… GeneralCacheClearOnUpdateTests testGeneralCache_clearOnUpdate_versionGateStaysSync_purgeOffMain 10ms
โœ… GeneralCacheTests testCachePolicy_cacheFirst_callsFetcher_onCacheMiss 10ms
โœ… GeneralCacheTests testCachePolicy_cacheFirst_returnsCachedValue_whenPresent 5ms
โœ… GeneralCacheTests testCachePolicy_cacheFirst_usesCache_whenFetcherFails 5ms
โœ… GeneralCacheTests testCachePolicy_noCache_alwaysFetches 131ms
โœ… GeneralCacheTests testCache_withCodableValues 15ms
โœ… GeneralCacheTests testCache_withIntKeys 153ms
โœ… GeneralCacheTests testClearAllCaches_preservesBundleIDDirectory 1.36s
โœ… GeneralCacheTests testClearMemory_removesMemoryEntries 1ms
โœ… GeneralCacheTests testClear_removesAllEntries 1ms
โœ… GeneralCacheTests testDiskCache_persistsValue 4ms
โœ… GeneralCacheTests testFileURL_returnsURL 1ms
โœ… GeneralCacheTests testGet_unknownKey_returnsNil 3ms
โœ… GeneralCacheTests testMemoryAndDisk_persistsValue 24ms
โœ… GeneralCacheTests testNoneMode_doesNotStore 3ms
โœ… GeneralCacheTests testRemove_deletesEntry 3ms
โœ… GeneralCacheTests testRemove_nonexistentKey_doesNotCrash 6ms
โœ… GeneralCacheTests testSet_afterExternalDirectoryDeletion_recreatesAndSucceeds 401ms
โœ… GeneralCacheTests testSet_andGet_returnsValue <1ms
โœ… GeneralCacheTests testSet_overwrite_updatesValue 13ms
โœ… GeneralCacheTests testSet_withExpiration_isAvailableBeforeExpiry 2ms
โœ… GroupEnumTests testGroup_UsedAsSection_FacetViewModelGroupNameMatches 144ms
โœ… HTMLTextViewTests testAngleBracketsWithSpaces 26ms
โœ… HTMLTextViewTests testBOMCausesIssuesWithoutSanitization 45ms
โœ… HTMLTextViewTests testBOMCharacter 21ms
โœ… HTMLTextViewTests testBOMCharacterIsRemoved 48ms
โœ… HTMLTextViewTests testControlCharacters 17ms
โœ… HTMLTextViewTests testControlCharactersAreRemoved 24ms
โœ… HTMLTextViewTests testControlCharactersCauseIssuesWithoutSanitization 36ms
โœ… HTMLTextViewTests testDataURL 43ms
โœ… HTMLTextViewTests testDeeplyNestedTags 29ms
โœ… HTMLTextViewTests testDefensiveMeasuresPreventCrashes 620ms
โœ… HTMLTextViewTests testEmptyParagraph 26ms
โœ… HTMLTextViewTests testEmptyString 2ms
โœ… HTMLTextViewTests testExistingDoctypeNotDoubleWrapped 16ms
โœ… HTMLTextViewTests testExistingHTMLTagNotDoubleWrapped 15ms
โœ… HTMLTextViewTests testFallbackStripsHTMLTags 325ms
โœ… HTMLTextViewTests testFastPathLongContent 7ms
โœ… HTMLTextViewTests testFastPathLongContentWithHTML 9ms
โœ… HTMLTextViewTests testFastPathNoHTMLTags 41ms
โœ… HTMLTextViewTests testFormElements 69ms
โœ… HTMLTextViewTests testHTML5Elements 29ms
โœ… HTMLTextViewTests testHTMLDocumentWrapping 93ms
โœ… HTMLTextViewTests testHTMLEntities 21ms
โœ… HTMLTextViewTests testHTMLTagsAreNotDisplayedAsText 472ms
โœ… HTMLTextViewTests testHTMLWithMultipleTags 54ms
โœ… HTMLTextViewTests testInvalidUTF8Sequence 50ms
โœ… HTMLTextViewTests testLeadingWhitespaceIsTrimmed 15ms
โœ… HTMLTextViewTests testMalformedBrokenAttributes 54ms
โœ… HTMLTextViewTests testMalformedEmptyTags 23ms
โœ… HTMLTextViewTests testMalformedNestedTags 25ms
โœ… HTMLTextViewTests testMalformedOnlyClosingTag 19ms
โœ… HTMLTextViewTests testMalformedOnlyOpeningTag 21ms
โœ… HTMLTextViewTests testMalformedRandomAngleBrackets 148ms
โœ… HTMLTextViewTests testMalformedTable 27ms
โœ… HTMLTextViewTests testMalformedUnclosedTags 21ms
โœ… HTMLTextViewTests testMathMLContent 75ms
โœ… HTMLTextViewTests testMixedContentRapidCalls 1.20s
โœ… HTMLTextViewTests testMultipleDoctypes 24ms
โœ… HTMLTextViewTests testMultipleEmptyParagraphs 21ms
โœ… HTMLTextViewTests testNullCharacterInHTML 34ms
โœ… HTMLTextViewTests testNumericEntities 23ms
โœ… HTMLTextViewTests testOPDSSummaryPatterns 244ms
โœ… HTMLTextViewTests testOnlyAngleBracket 29ms
โœ… HTMLTextViewTests testOnlyClosingAngleBracket <1ms
โœ… HTMLTextViewTests testOnlyWhitespaceBeforeTag 207ms
โœ… HTMLTextViewTests testPlainTextWithoutHTML <1ms
โœ… HTMLTextViewTests testProcessingInstruction 52ms
โœ… HTMLTextViewTests testRapidBookDetailViewSimulation 5.47s
โœ… HTMLTextViewTests testRapidSequentialCalls 2.64s
โœ… HTMLTextViewTests testRefugeeGraphicNovelSummaryPattern 397ms
โœ… HTMLTextViewTests testSVGContent 163ms
โœ… HTMLTextViewTests testSafeVsUnsafeParsingComparison 882ms
โœ… HTMLTextViewTests testScriptTag 66ms
โœ… HTMLTextViewTests testSimpleHTMLParagraph 17ms
โœ… HTMLTextViewTests testStartsWithCDATA 161ms
โœ… HTMLTextViewTests testStartsWithClosingTag 17ms
โœ… HTMLTextViewTests testStartsWithComment 54ms
โœ… HTMLTextViewTests testStartsWithDoctype 20ms
โœ… HTMLTextViewTests testStartsWithEndOfDocument 19ms
โœ… HTMLTextViewTests testStartsWithXMLDeclaration 47ms
โœ… HTMLTextViewTests testStyleTag 45ms
โœ… HTMLTextViewTests testSummaryWithLineBreaks 43ms
โœ… HTMLTextViewTests testSummaryWithLinks 26ms
โœ… HTMLTextViewTests testTableHTML 23ms
โœ… HTMLTextViewTests testTypicalBookDescriptionHTML 27ms
โœ… HTMLTextViewTests testTypicalBookSummary 31ms
โœ… HTMLTextViewTests testUnclosedScriptTag 24ms
โœ… HTMLTextViewTests testUnexpectedSummaryStarts 273ms
โœ… HTMLTextViewTests testUnicodeContent 31ms
โœ… HTMLTextViewTests testVeryLongAttribute 268ms
โœ… HTMLTextViewTests testWhitespaceOnly 1ms
โœ… HoldNotificationClassificationTests testIsHoldRelated_returnsTrueForHoldOrReservationKeywords_falseOtherwise 4ms
โœ… HoldNotificationClassificationTests testIsHoldRelated_withTypeHold_returnsTrue 11ms
โœ… HoldsBadgeCountTests testBadgeCount_allReserved_returnsZero 9ms
โœ… HoldsBadgeCountTests testBadgeCount_mixedHolds_countsOnlyReady 5ms
โœ… HoldsBadgeCountTests testBadgeCount_multipleReady_countsAll 6ms
โœ… HoldsBadgeCountTests testBadgeCount_noBooks_returnsZero 3ms
โœ… HoldsBadgeCountTests testBadgeCount_oneReadyBook_returnsOne 187ms
โœ… HoldsBadgeCountTests testBadgeCount_oneReservedBook_returnsZero 5ms
โœ… HoldsBadgeCountTests testBadgeCount_regularBook_notCounted 3ms
โœ… HoldsBadgeCountTests testReadyBookHasReadyAvailability 167ms
โœ… HoldsBadgeCountTests testReservedBookHasReservedAvailability 6ms
โœ… HoldsBookViewModelTests testBookPropertyReturnsCorrectBook 130ms
โœ… HoldsBookViewModelTests testHoldReady_DistinguishesFromReserved 13ms
โœ… HoldsBookViewModelTests testHoldReady_IdentifiesReadyHolds 3ms
โœ… HoldsBookViewModelTests testIdMatchesBookIdentifier 2ms
โœ… HoldsBookViewModelTests testIsReservedForHoldBook 2ms
โœ… HoldsBookViewModelTests testIsReservedForNonReservedBook 2ms
โœ… HoldsBookViewModelTests testIsReservedForReadyBook 32ms
โœ… HoldsBookViewModelTests testIsReserved_WithLimitedAvailability_ReturnsFalse 2ms
โœ… HoldsReducerTests testDismissSyncError_clearsTheErrorMessage <1ms
โœ… HoldsReducerTests testRegistryChanged_partitionsBooksByReservedStatus 4ms
โœ… HoldsReducerTests testRegistryChanged_withActiveSearch_leavesVisibleBooksAlone 4ms
โœ… HoldsReducerTests testSearchQueryChanged_nonEmpty_returnsFilterEffectThatYieldsFilterCompleted 5ms
โœ… HoldsReducerTests testSearchQueryChanged_toEmpty_restoresAllHeldBooks 4ms
โœ… HoldsReducerTests testSyncBegan_setsLoadingTrueAndClearsPreviousError <1ms
โœ… HoldsReducerTests testSyncEnded_setsLoadingFalse 46ms
โœ… HoldsReducerTests testSyncFailed_whenAnonymous_suppressesErrorBanner 28ms
โœ… HoldsReducerTests testSyncFailed_whenAuthenticatedWithNoCacheAndNoMessage_fallsBackToGenericText 36ms
โœ… HoldsReducerTests testSyncFailed_whenAuthenticatedWithNoCache_surfacesServerDetailMessage <1ms
โœ… HoldsReducerTests testSyncFailed_whenCachedDataVisible_suppressesErrorBanner 181ms
โœ… HoldsSyncFailureTests testDismissSyncError_ClearsError 7ms
โœ… HoldsSyncFailureTests testSyncBegan_ClearsPreviousSyncError 7ms
โœ… HoldsSyncFailureTests testSyncFailure_AnonymousLibrary_SuppressesErrorBanner_EvenWhenHasCredentialsRacesTrue 23ms
โœ… HoldsSyncFailureTests testSyncFailure_AnonymousUser_SuppressesErrorBanner 28ms
โœ… HoldsSyncFailureTests testSyncFailure_AuthenticatedUser_ShowsErrorBanner 6ms
โœ… HoldsSyncFailureTests testSyncFailure_LibraryNeedsAuth_AndHasCredentials_ShowsBanner 27ms
โœ… HoldsSyncFailureTests testSyncFailure_SetsSyncError 33ms
โœ… HoldsSyncFailureTests testSyncFailure_StaleDataPersists_ErrorSuppressedWhenCachedDataExists 30ms
โœ… HoldsSyncFailureTests testSyncFailure_StopsLoading 8ms
โœ… HoldsSyncFailureTests testSyncFailure_WithProblemDocument_ShowsServerMessage 7ms
โœ… HoldsSyncFailureTests testSyncFailure_WithTitleOnly_UsesTitle 22ms
โœ… HoldsSyncFailureTests testSyncFailure_WithoutProblemDocument_ShowsGenericMessage 7ms
โœ… HoldsViewModelTests testFilterBooksWithEmptyQueryReturnsAll 12ms
โœ… HoldsViewModelTests testFilterBooksWithQuery 11ms
โœ… HoldsViewModelTests testFilterBooks_CaseInsensitive 13ms
โœ… HoldsViewModelTests testFilterBooks_WithAuthorMatch_ReturnsMatchingBooks 58ms
โœ… HoldsViewModelTests testFilterBooks_WithTitleMatch_ReturnsMatchingBooks 14ms
โœ… HoldsViewModelTests testInitialState_EmptyBookLists 4ms
โœ… HoldsViewModelTests testInitialState_HasCorrectDefaults 3ms
โœ… HoldsViewModelTests testIsLoading_PublishesChanges 8ms
โœ… HoldsViewModelTests testLoadHolds_WithEmptyResult_SetsEmptyState 3ms
โœ… HoldsViewModelTests testLoadHolds_WithSuccess_UpdatesHolds 10ms
โœ… HoldsViewModelTests testOpenSearchDescriptionHumanReadableDescription 4ms
โœ… HoldsViewModelTests testOpenSearchDescription_IncludesAllBooks 5ms
โœ… HoldsViewModelTests testRegistryDidChange_ReloadsData 313ms
โœ… HoldsViewModelTests testReloadData_CallsMethod 14ms
โœ… HoldsViewModelTests testReloadData_HandlesMultipleBooks 11ms
โœ… HoldsViewModelTests testReloadData_SeparatesReservedAndReadyBooks 58ms
โœ… HoldsViewModelTests testSearchQueryUpdate 3ms
โœ… HoldsViewModelTests testSelectNewLibraryToggle 3ms
โœ… HoldsViewModelTests testShowLibraryAccountViewToggle 29ms
โœ… HoldsViewModelTests testShowSearchSheetToggle 2ms
โœ… HoldsViewModelTests testSyncBeganSetsLoadingTrue 17ms
โœ… HoldsViewModelTests testSyncEndedSetsLoadingFalse 308ms
โœ… HoldsViewModelTests testVisibleBooks_PublishesChanges 311ms
โœ… HostFailureTrackerTests testHostFailureTracker_reachabilityChange_resetsCircuit 5ms
โœ… HostFailureTrackerTests testHostFailureTracker_singleFailure_belowThreshold_notTripped 3ms
โœ… ImageCacheContinuationTests testGetAsync_whenOperationsCancelledWhileQueued_everyCallResumes 2.63s
โœ… ImageCacheTypeTests testImageCacheType_defaultSetUses7DayTTL 10ms
โœ… ImageCoverKeyUnificationTests testCoverKey_cellAndPrefetch_coalesceForSmallDisplay 1ms
โœ… ImageCoverKeyUnificationTests testCoverSourceURL_smallDisplayWithNoThumbnail_fallsBackToFullSize 24.70s
โœ… ImageLoaderTests testClearAll_clearsUnderlyingImageCache 2ms
โœ… ImageLoaderTests testCompletionBridge_book_deallocatedBeforeCompletion_noCrash 7ms
โœ… ImageLoaderTests testCompletionBridge_cover_invokesOnMainThread 6ms
โœ… ImageLoaderTests testCompletionBridge_thumbnail_invokesOnMainThread 7ms
โœ… ImageLoaderTests testCoverImage_cacheHit_returnsCachedImageWithoutTouchingFallback 4ms
โœ… ImageLoaderTests testCoverImage_displayPoints_cacheHit_skipsNetwork 8ms
โœ… ImageLoaderTests testCoverImage_displayPoints_nonFinite_fallsBackToUnsizedCover_withoutTrapping 12ms
โœ… ImageLoaderTests testDownsampleImage_returnsImageWithinMaxDimension 4ms
โœ… ImageLoaderTests testFinitePositiveDimension_keepsFinitePositive_rejectsEverythingElse 53ms
โœ… ImageLoaderTests testGetSet_delegateToUnderlyingCache 1ms
โœ… ImageLoaderTests testRegistryCoverImage_displayPoints_nonFinite_fallsBackToUnsizedCover_withoutTrapping 5ms
โœ… ImageLoaderTests testRemove_delegateToUnderlyingCache <1ms
โœ… ImageLoaderTests testSet_defaultExpiry_isSevenDays <1ms
โœ… ImageLoaderTests testThumbnailImage_falsBackToTenPrintPlaceholder_whenThumbnailURLIsNil 12ms
โœ… InflightFeedFetchesTimeoutTests testRun_afterTimeout_freesEntry_allowingFreshFetch 5.02s
โœ… InflightFeedFetchesTimeoutTests testRun_concurrentSameURL_sharesSingleInvocation 215ms
โœ… InflightFeedFetchesTimeoutTests testRun_fastWork_returnsWithoutTimeout 18ms
โœ… InflightFeedFetchesTimeoutTests testRun_wedgedWork_timesOutWithURLTimedOut 5.01s
โœ… IntExtensionsTests testOrdinal_FourAndAbove_ReturnsTh 2ms
โœ… IntExtensionsTests testOrdinal_TwentyFirstPattern_ReturnsCorrectSuffix 515ms
โœ… IntExtensionsTests testOrdinal_Zero_ReturnsZeroth 34ms
โœ… IntExtensionsTests testOrdinal_followsEnglishOrdinalRules_includingTeenExceptions 4ms
โœ… IsReaderActiveTrackingModifierTests testIsReaderActiveTrackingModifier_isConstructibleWithPresenter 4ms
โœ… IsReaderActiveTrackingModifierTests testTracksReaderActiveExtension_appliesModifierToView 19ms
โœ… IsReaderActiveTrackingModifierTests testTracksReaderActive_setsFalseOnDisappear 5ms
โœ… IsReaderActiveTrackingModifierTests testTracksReaderActive_setsTrueOnAppear 8ms
โœ… KeyboardNavigationFKATests testFKA_escapeKey_isStillConsumed 4ms
โœ… KeyboardNavigationFKATests testFKA_leftArrow_isNotConsumed 434ms
โœ… KeyboardNavigationFKATests testFKA_pageDown_isStillConsumed 430ms
โœ… KeyboardNavigationFKATests testFKA_pageUp_isStillConsumed 7ms
โœ… KeyboardNavigationFKATests testFKA_rightArrow_isNotConsumed 15ms
โœ… KeyboardNavigationFKATests testFKA_spaceKey_isStillConsumed 11ms
โœ… KeyboardNavigationFKATests testHandleCommand_goBackward_navigatesLeft 4ms
โœ… KeyboardNavigationFKATests testHandleCommand_goForward_navigatesRight 3ms
โœ… KeyboardNavigationFKATests testHandleCommand_toggleUI_togglesToolbar 4ms
โœ… KeyboardNavigationFKATests testHandleKeyEvent_whenNavigableIsNil_returnsFalse 288ms
โœ… KeyboardNavigationFKATests testNoFKA_rightArrow_isConsumed 5ms
โœ… KeyboardNavigationHandlerTests testArrowKeyRelease_doesNotTurnPage 6ms
โœ… KeyboardNavigationHandlerTests testArrowKey_withCommandModifier_doesNotTurnPage 10ms
โœ… KeyboardNavigationHandlerTests testArrowKey_withShiftModifier_doesNotTurnPage 3ms
โœ… KeyboardNavigationHandlerTests testEscapeKeyRelease_doesNotToggleToolbar 4ms
โœ… KeyboardNavigationHandlerTests testEscapeKey_whenToolbarHidden_togglesToolbar 3ms
โœ… KeyboardNavigationHandlerTests testEscapeKey_whenToolbarVisible_togglesToolbar 12ms
โœ… KeyboardNavigationHandlerTests testEscapeKey_withModifier_doesNotToggleToolbar 7ms
โœ… KeyboardNavigationHandlerTests testLeftArrow_whenToolbarHidden_goesToPreviousPage 4ms
โœ… KeyboardNavigationHandlerTests testLeftArrow_whenToolbarVisible_doesNotChangePage 3ms
โœ… KeyboardNavigationHandlerTests testPageDown_whenToolbarHidden_advancesPage 15ms
โœ… KeyboardNavigationHandlerTests testPageUp_whenToolbarHidden_goesBackward 5ms
โœ… KeyboardNavigationHandlerTests testRightArrow_whenToolbarHidden_advancesToNextPage 3ms
โœ… KeyboardNavigationHandlerTests testRightArrow_whenToolbarVisible_doesNotChangePage 4ms
โœ… KeyboardNavigationHandlerTests testSpaceKey_whenToolbarHidden_advancesPage 7ms
โœ… KeyboardNavigationHandlerTests testSpaceKey_whenToolbarVisible_doesNotAdvancePage 3ms
โœ… KeyboardNavigationHandlerTests testUnhandledKey_isNotConsumed 3ms
โœ… KeyboardVoiceOverTests testEscapeKey_respectsVoiceOverToolbarBehavior 3ms
โœ… KeyboardVoiceOverTests testKeyboardHandler_doesNotBlockAccessibilityNotifications 6ms
โœ… KeyboardVoiceOverTests testKeyboardNavigation_worksRegardlessOfVoiceOverState 219ms
โœ… KeyboardVoiceOverTests testReaderViewController_voiceOverObserverExists 44ms
โœ… KeyboardVoiceOverTests testTouchNavigation_notAffectedByKeyboardSupport 2ms
โœ… LCPAcquisitionPredicateTests testHasLCPAcquisition_audiobookContentType_required 2ms
โœ… LCPAcquisitionPredicateTests testHasLCPAcquisition_nestedLCPInIndirectChain_returnsTrue 2ms
โœ… LCPAcquisitionPredicateTests testHasLCPAcquisition_noLCPAnywhere_returnsFalse <1ms
โœ… LCPAcquisitionPredicateTests testHasLCPAcquisition_topLevelLCPMime_returnsTrue 5ms
โœ… LCPAdapterTests testCanHandle_marketplaceJSONFeedFixture_returnsTrue <1ms
โœ… LCPAdapterTests testCanHandle_openAccessAudiobook_returnsFalse <1ms
โœ… LCPAdapterTests testCanHandle_xmlFeedLCPFixture_returnsTrue 6ms
โœ… LCPAdapterTests testResolveManifest_lcpInstantiationFailure_failsWithLcpInstantiationFailed 2ms
โœ… LCPAdapterTests testResolveManifest_licenseFileExists_usesLicenseFile 4ms
โœ… LCPAdapterTests testResolveManifest_localLCPAFile_usesLocalFile 3ms
โœ… LCPAdapterTests testResolveManifest_neitherLocalNorLicense_redownloadsLicense 21ms
โœ… LCPAdapterTests testResolveManifest_redownloadFailure_failsWithLicenseDownloadFailed 2ms
โœ… LCPAudiobookURLSchemeTests testHTTPURLConversion_toReadiumLCPScheme 1ms
โœ… LCPAudiobookURLSchemeTests testReadiumLCPScheme_isCorrect 2ms
โœ… LCPAudiobookURLSchemeTests testReadiumLCPURL_preservesPath <1ms
โœ… LCPAudiobookURLSchemeTests testReadiumLCPURL_preservesQueryParameters <1ms
โœ… LCPAudiobooksTests testCachedContentDictionary_initiallyReturnsNil <1ms
โœ… LCPAudiobooksTests testCanOpenBook_withEpub_returnsFalse 3ms
โœ… LCPAudiobooksTests testCanOpenBook_withLCPAudiobook_returnsTrue 9ms
โœ… LCPAudiobooksTests testCanOpenBook_withNonLCPAudiobook_returnsFalse 3ms
โœ… LCPAudiobooksTests testCanOpenBook_withPDF_returnsFalse 108ms
โœ… LCPAudiobooksTests testCancelPrefetch_doesNotCrash 10ms
โœ… LCPAudiobooksTests testCancelPrefetch_withoutStart_doesNotCrash <1ms
โœ… LCPAudiobooksTests testContentDictionary_afterRelease_failsFast 6ms
โœ… LCPAudiobooksTests testDecrypt_afterRelease_failsFast 2ms
โœ… LCPAudiobooksTests testGetPublication_initiallyReturnsNil 1ms
โœ… LCPAudiobooksTests testInit_withLcplLicenseURL_setsLicenseUrl 371ms
โœ… LCPAudiobooksTests testInit_withNilURL_returnsNil 4ms
โœ… LCPAudiobooksTests testInit_withSeparateLicenseURL_acceptsBothURLs 3ms
โœ… LCPAudiobooksTests testInit_withValidFileURL_createsInstance 309ms
โœ… LCPAudiobooksTests testInit_withValidHTTPURL_createsInstance 9ms
โœ… LCPAudiobooksTests testReleaseResources_canBeCalledMultipleTimes 128ms
โœ… LCPAudiobooksTests testReleaseResources_cancelsPrefetch 2ms
โœ… LCPAudiobooksTests testReleaseResources_clearsPublication 112ms
โœ… LCPAudiobooksTests testStartPrefetch_afterRelease_isNoOp 1ms
โœ… LCPAudiobooksTests testStartPrefetch_doesNotCrash 1ms
โœ… LCPAudiobooksTests testSupportsStreaming_returnsTrue 3ms
โœ… LCPBotanCRLGuardTests testCreateContext_WithGarbageJSONLicense_ThrowsRatherThanReturningNilSilently <1ms
โœ… LCPBotanCRLGuardTests testDecryptExtension_WithEmptyData_ReturnsNil 43ms
โœ… LCPBotanCRLGuardTests testDecryptExtension_WithoutContext_ReturnsNil 1ms
โœ… LCPBotanCRLGuardTests testDecrypt_WithEmptyData_ReturnsNilWithoutCallingR2LCPClient <1ms
โœ… LCPBotanCRLGuardTests testDecrypt_WithNonDRMContext_ReturnsNilWithoutCallingR2LCPClient <1ms
โœ… LCPCharacterizationTests test_LCPLibraryService_canFulfill_acceptsLcplExtensionCaseInsensitively 71ms
โœ… LCPCharacterizationTests test_LCPLibraryService_canFulfill_rejectsEpubAndPdf <1ms
โœ… LCPCharacterizationTests test_LCPLibraryService_licenseExtensionConstant_isLcpl <1ms
โœ… LCPCharacterizationTests test_TPPLCPLicense_extractsPublicationLink_byRel 6ms
โœ… LCPCharacterizationTests test_TPPLCPLicense_parsesLinkOptionalFields_preservesNils 4ms
โœ… LCPCharacterizationTests test_TPPLCPLicense_parsesMinimalValidJSON_succeeds 4ms
โœ… LCPCharacterizationTests test_TPPLCPLicense_returnsNil_onCompletelyMalformedJSON 2ms
โœ… LCPCharacterizationTests test_TPPLCPLicense_returnsNil_onEmptyFile 1ms
โœ… LCPCharacterizationTests test_TPPLCPLicense_returnsNil_onMissingRequiredId 4ms
โœ… LCPCharacterizationTests test_TPPLCPLicense_returnsNil_whenFileDoesNotExist 607ms
โœ… LCPCharacterizationTests test_TPPLCPLicense_returnsNil_whenRelNotFound 1ms
โœ… LCPCharacterizationTests test_TPPLicensesServiceError_descriptionExposesMessage <1ms
โœ… LCPCharacterizationTests test_TPPLicensesService_acquirePublication_invalidLicense_callsCompletionWithLicenseError 48ms
โœ… LCPCharacterizationTests test_TPPLicensesService_acquirePublication_missingPublicationLink_failsWithDistinctMessage 2ms
โœ… LCPCharacterizationTests test_createContext_emptyPemCrl_isAcceptedByHeaderGuard 1ms
โœ… LCPCharacterizationTests test_createContext_jsonContentTypeRejected_atHeaderGuard 57ms
โœ… LCPCharacterizationTests test_createContext_prefixCappedAt40Chars_preventsLogSpam 2ms
โœ… LCPCharacterizationTests test_createContext_whitespacePadding_isTrimmedBeforeHeaderCheck 1ms
โœ… LCPCharacterizationTests test_decryptExtensionOverload_noPriorContext_returnsNil <1ms
โœ… LCPCharacterizationTests test_decrypt_emptyData_returnsNil_priorToReachingR2LCPClient 387ms
โœ… LCPCharacterizationTests test_decrypt_nonDRMContext_returnsNil_priorToForceCastingInsideR2LCPClient <1ms
โœ… LCPCharacterizationTests test_findOneValidPassphrase_emptyHashedPassphrasesArray_returnsNilWithoutCrashing 1ms
โœ… LCPCharacterizationTests test_findOneValidPassphrase_extremelyLongPassphrase_isHandledWithoutCrashing 2ms
โœ… LCPCharacterizationTests test_findOneValidPassphrase_garbageJSON_returnsNilWithoutCrashing 965ms
โœ… LCPCharacterizationTests test_findOneValidPassphrase_multipleGarbageInputs_returnsConsistentNil 3ms
โœ… LCPCharacterizationTests test_findOneValidPassphrase_passphraseContainingNUL_isHandledWithoutCrashing 11ms
โœ… LCPCharacterizationTests test_findOneValidPassphrase_passphraseContainingUTF8_isHandledWithoutCrashing 278ms
โœ… LCPCharacterizationTests test_pathInZip_returnsNilForUnknownContentType 135ms
โœ… LCPCharacterizationTests test_pathInZip_returnsNilWhenTypeIsMissing <1ms
โœ… LCPCharacterizationTests test_pathInZip_routesAudiobookLCPToRootPath <1ms
โœ… LCPCharacterizationTests test_pathInZip_routesEpubToMetaInfPath <1ms
โœ… LCPClientTests test_createContext_botanThrowsDecoding_isCaughtByObjCExceptionWrapper 1.19s
โœ… LCPClientTests test_createContext_invalidPemCrl_throwsInvalidPemCrl 3ms
โœ… LCPClientTests test_createContext_validHeaderGarbageJSON_throwsRatherThanReturningNilSilently 160ms
โœ… LCPClientTests test_decryptExtension_withEmptyData_returnsNil 2ms
โœ… LCPClientTests test_decryptExtension_withoutContext_returnsNil 88ms
โœ… LCPClientTests test_decrypt_emptyData_returnsNil 3ms
โœ… LCPClientTests test_decrypt_nonDRMContext_returnsNilWithoutCallingR2LCPClient 142ms
โœ… LCPClientTests test_findOneValidPassphrase_garbageLicenseJSON_returnsNilWithoutCrashing 5ms
โœ… LCPFulfillmentHandlerTests testFulfill_audiobook_inUsedState_secondaryDownloadError_doesNotFlipToFailed 380ms
โœ… LCPFulfillmentHandlerTests testFulfill_audiobook_marksDownloadSuccessfulEvenBeforeCompletion 114ms
โœ… LCPFulfillmentHandlerTests testFulfill_audiobook_secondaryDownloadError_doesNotFlipStreamingReadyBook 579ms
โœ… LCPFulfillmentHandlerTests testFulfill_completionWithError_publishesFulfilmentErrorAlert 412ms
โœ… LCPFulfillmentHandlerTests testFulfill_completionWithoutLocalURL_publishesNoLocalURLAlert 38ms
โœ… LCPFulfillmentHandlerTests testFulfill_epub_secondaryDownloadError_stillSurfacesAlert 81ms
โœ… LCPFulfillmentHandlerTests testFulfill_invokesLCPServiceWithRenamedLicenseURL 168ms
โœ… LCPFulfillmentHandlerTests testFulfill_storesReturnedDownloadTaskInStateManager 46ms
โœ… LCPKeychainMigrationTests testRunIfNeeded_whenFlagAlreadySet_skipsMigration 52ms
โœ… LCPKeychainMigrationTests testRunIfNeeded_whenFlagUnset_runsMigrationAndSetsFlag 6ms
โœ… LCPKeychainMigrationTests testRunIfNeeded_whenMigrationThrows_leavesFlagUnsetAndRetriesNextTime 11ms
โœ… LCPLibraryServiceTests testCanFulfill_withAudiobookExtension_returnsFalse 13ms
โœ… LCPLibraryServiceTests testCanFulfill_withEpubExtension_returnsFalse <1ms
โœ… LCPLibraryServiceTests testCanFulfill_withLcpaExtension_returnsFalse 2ms
โœ… LCPLibraryServiceTests testCanFulfill_withLcplExtension_returnsTrue <1ms
โœ… LCPLibraryServiceTests testCanFulfill_withMixedCaseLcplExtension_returnsTrue <1ms
โœ… LCPLibraryServiceTests testCanFulfill_withNoExtension_returnsFalse 11ms
โœ… LCPLibraryServiceTests testCanFulfill_withPdfExtension_returnsFalse 1ms
โœ… LCPLibraryServiceTests testCanFulfill_withUppercaseLcplExtension_returnsTrue 101ms
โœ… LCPLibraryServiceTests testContentProtection_isAvailable 69ms
โœ… LCPLibraryServiceTests testContentProtection_multipleAccess_returnsValue 105ms
โœ… LCPLibraryServiceTests testDecrypt_withEmptyData_returnsNil <1ms
โœ… LCPLibraryServiceTests testDecrypt_withInvalidData_returnsNil <1ms
โœ… LCPLibraryServiceTests testDecrypt_withSmallData_returnsNil 2ms
โœ… LCPLibraryServiceTests testFulfillAsync_withEmptyPath_throwsError 51ms
โœ… LCPLibraryServiceTests testFulfillAsync_withInvalidURL_throwsError 7ms
โœ… LCPLibraryServiceTests testFulfill_reportsProgress 3ms
โœ… LCPLibraryServiceTests testFulfill_withNonExistentFile_callsCompletionWithError 1ms
โœ… LCPLibraryServiceTests testInit_createsInstance 2ms
โœ… LCPLibraryServiceTests testInit_multipleInstances_areIndependent <1ms
โœ… LCPLibraryServiceTests testLicenseExtension_isLcpl 25ms
โœ… LCPLicenseDocumentDetectionTests testLCPLicenseDocument_doesNotContainManifestKeys 2ms
โœ… LCPLicenseDocumentDetectionTests testLCPLicenseDocument_isNotDetectedAsBearerToken 1ms
โœ… LCPLicenseDocumentDetectionTests testLCPLicenseDocument_isValidJSON 3ms
โœ… LCPLicenseDocumentDetectionTests testLCPLicenseDocument_parsedAsManifest_lacksReadingOrder <1ms
โœ… LCPLicenseDocumentDetectionTests testLCPLicenseDocument_withMinimalFields_isNotBearerToken 275ms
โœ… LCPLicenseFilePathTests testLCPLicenseExtension_isLcpl 1ms
โœ… LCPLicenseFilePathTests testLCPLicensePath_derivedFromContentPath 1ms
โœ… LCPLicenseFilePathTests testLCPLicensePath_everyContentExtensionProducesLcplSibling 1ms
โœ… LCPOrphanedDownloadRegistryTests testBookState_downloadSuccessful_withExistingFile_staysDownloadSuccessful 4ms
โœ… LCPOrphanedDownloadRegistryTests testBookState_downloadSuccessful_withMissingFile_transitionsToDownloadNeeded 6ms
โœ… LCPOrphanedDownloadRegistryTests testLCPAudiobook_withBothFiles_remainsDownloadSuccessful 6ms
โœ… LCPOrphanedDownloadRegistryTests testLCPAudiobook_withOnlyLicense_shouldBeConsideredMissing 7ms
โœ… LCPPDFAcquisitionPredicateTests testHasLCPAcquisition_nestedLCPInIndirectChain_returnsTrue 12ms
โœ… LCPPDFAcquisitionPredicateTests testHasLCPAcquisition_noLCPAnywhere_returnsFalse 2ms
โœ… LCPPDFAcquisitionPredicateTests testHasLCPAcquisition_pdfContentType_required 3ms
โœ… LCPPDFAcquisitionPredicateTests testHasLCPAcquisition_siblingLCPAcquisition_returnsTrue 1ms
โœ… LCPPDFAcquisitionPredicateTests testHasLCPAcquisition_topLevelLCPMime_returnsTrue 3ms
โœ… LCPPDFDiskExtractTests testCachedURL_noFileOnDisk_returnsNil 7ms
โœ… LCPPDFDiskExtractTests testCachedURL_partialWriteWithGoodHeader_stillRejected 8ms
โœ… LCPPDFDiskExtractTests testCachedURL_undersizedFile_returnsNilAndDeletesFile 50ms
โœ… LCPPDFDiskExtractTests testCachedURL_validPDFHeaderAndSize_returnsURL 12ms
โœ… LCPPDFDiskExtractTests testCachedURL_wrongMagicBytes_returnsNilAndDeletesFile 8ms
โœ… LCPPDFOpenProgressTests testBegin_clearsCountersFromPreviousOpen 96ms
โœ… LCPPDFOpenProgressTests testBegin_setsPhaseAndIdentifierAndZeroesCounters 25ms
โœ… LCPPDFOpenProgressTests testFinish_resetsToIdleAndClearsIdentifier 4ms
โœ… LCPPDFOpenProgressTests testPercentComplete_clampsAt99NotAt100 11ms
โœ… LCPPDFOpenProgressTests testPercentComplete_withByteTotal_returnsTrueRatio 3ms
โœ… LCPPDFOpenProgressTests testPercentComplete_withoutByteTotal_usesDecryptCurve 15ms
โœ… LCPPDFOpenProgressTests testPercentComplete_zeroProgress_isZero 4ms
โœ… LCPPDFOpenProgressTests testRecordDecrypt_autoTransitionsFromOpeningPublicationToDecrypting 8ms
โœ… LCPPDFOpenProgressTests testRecordDecrypt_fromCache_incrementsCachedHitsNotBlocks 5ms
โœ… LCPPDFOpenProgressTests testRecordDecrypt_incrementsBlocksAndBytes 5ms
โœ… LCPPDFOpenProgressTests testRecordDecrypt_whenIdle_doesNothing 5ms
โœ… LCPPDFOpenProgressTests testRecordExtractedBytes_incrementsBytesAndTransitionsPhase 3ms
โœ… LCPPDFOpenProgressTests testRoundTrip_beginWorkFinishBegin_endsAtCleanState 23ms
โœ… LCPPassphraseReadinessTests testReadiness_underDetailsFailed_returnsNil 4ms
โœ… LCPPassphraseReadinessTests testReadiness_underDetailsLoading_doesNotShortCircuitOnNilLoansUrl 9ms
โœ… LCPSessionIdentifierTests testSessionIdentifier_isDifferentForDifferentURLs 9ms
โœ… LCPSessionIdentifierTests testSessionIdentifier_isSameAcrossMultipleComputations 4ms
โœ… LCPSessionIdentifierTests testURLHashValue_isNotStableAcrossComputations 1ms
โœ… LegacySAMLProblemDocumentPropagationTests testSAMLPresenter_problemDocumentNil_firesDelegateWithGenericFallback 279ms
โœ… LegacySAMLProblemDocumentPropagationTests testSAMLPresenter_problemDocumentTitleOnly_surfacesWithFallbackMessage 48ms
โœ… LegacySAMLProblemDocumentPropagationTests testSAMLPresenter_problemDocumentWithTitleAndDetail_surfacesToUIDelegate 458ms
โœ… LegacySAMLProblemDocumentPropagationTests testSAMLPresenter_problemDocument_errorDomainIdentifiesSAMLPath 74ms
โœ… LegacySAMLProblemDocumentPropagationTests testSAMLPresenter_problemHandler_businessLogicReleased_doesNotCrash 73ms
โœ… LegacySAMLProblemDocumentPropagationTests testSignInBusinessLogic_pinAllowsAlphanumeric_isNumericNegation 35ms
โœ… LegacySAMLProblemDocumentPropagationTests testSignInBusinessLogic_usernameIsEmailKeyboard_matchesAuthKeyboard 1.20s
โœ… LibrariesSectionViewModelTests test_deleteSecondary_callsTokenDeleter_andRemovesAccount_andPersists 5ms
โœ… LibrariesSectionViewModelTests test_deleteSecondary_noOpsOnCurrentAccount <1ms
โœ… LibrariesSectionViewModelTests test_isLoading_false_whenAnAccountResolves_evenIfCatalogNotLoaded <1ms
โœ… LibrariesSectionViewModelTests test_isLoading_false_whenEmptyButCatalogHasLoaded <1ms
โœ… LibrariesSectionViewModelTests test_isLoading_flipsFalse_onRefresh_afterAccountBecomesResolvable <1ms
โœ… LibrariesSectionViewModelTests test_isLoading_true_whenNoAccountsResolveAndCatalogNotLoaded 21ms
โœ… LibrariesSectionViewModelTests test_presentAddLibrary_flipsSheetBool 15ms
โœ… LibrariesSectionViewModelTests test_refresh_doesNotPersist_whenNoStaleUUIDs <1ms
โœ… LibrariesSectionViewModelTests test_refresh_filtersUUIDsNotInRegistry_andPersistsCleanedList <1ms
โœ… LibrariesSectionViewModelTests test_refresh_putsCurrentAccountFirstAndSortsOthersByName 5ms
โœ… LibrariesSectionViewModelTests test_refresh_withNoCurrentAccount_sortsAllAlphabetically 1ms
โœ… LibrariesSectionViewModelTests test_shouldShowSkeleton_onlyWhenEmptyAndNotLoaded 2ms
โœ… LibrariesSectionViewModelTests test_switchToAccount_callsEnvironment_andUpdatesCurrentUUID_andResortsAccounts <1ms
โœ… LibrariesSectionViewModelTests test_switchToAccount_firesCompletion_andClearsIsSwitching_whenEnvironmentReportsReady 7ms
โœ… LibrariesSectionViewModelTests test_switchToAccount_isNoOpForCurrentAccount 1ms
โœ… LibrariesSectionViewModelTests test_switchToAccount_newlyAddedAccount_insertsItFirst_andFiresCompletion 9ms
โœ… LibraryCatalogMergerTests testMerge_EmptyExistingWithNewPublications_AddsAll 30ms
โœ… LibraryCatalogMergerTests testMerge_FullCrawl_RemovesAbsentPublications 2ms
โœ… LibraryCatalogMergerTests testMerge_FullCrawl_ReplacesAllWithUpdates 134ms
โœ… LibraryCatalogMergerTests testMerge_NewPublication_AppendsToList 2ms
โœ… LibraryCatalogMergerTests testMerge_PreservesUnmodifiedPublications_InIncrementalMode <1ms
โœ… LibraryCatalogMergerTests testMerge_UpdatesExistingByID_ReplacesOldPublication <1ms
โœ… LibraryCatalogMergerTests testMerge_uuidsWithChangedLogos_includesAllTransitionsAndExcludesUnchangedURL 1ms
โœ… LibraryCatalogMergerTests testSerializeAsCatalogsFeed_PreservesPublicationIDs <1ms
โœ… LibraryCatalogMergerTests testSerializeAsCatalogsFeed_ProducesValidJSON 2ms
โœ… LibraryRegistryCrawlerTests testCrawl_HandlesNetworkFailure_ReturnsFailure 145ms
โœ… LibraryRegistryCrawlerTests testCrawl_PersistsCurrentAppVersion 8ms
โœ… LibraryRegistryCrawlerTests testCrawl_ReportsProgress 7ms
โœ… LibraryRegistryCrawlerTests testCrawl_SavesCrawlState_OnSuccess 9ms
โœ… LibraryRegistryCrawlerTests testCrawl_WhenAppVersionChanged_HitsCrawlableURL_NotFacetURL 10ms
โœ… LibraryRegistryCrawlerTests testCrawl_WhenFacetNotActive_StoresFacetURLForFutureUse 123ms
โœ… LibraryRegistryCrawlerTests testCrawl_WhenLastFullCrawlOlderThan7Days_HitsCrawlableURL 189ms
โœ… LibraryRegistryCrawlerTests testCrawl_WhenLastFullCrawlWithin7Days_UsesFacetURL 8ms
โœ… LibraryRegistryCrawlerTests testCrawl_WhenTaskCancelledDuringFetch_StopsPromptlyWithFailure_AndDoesNotPaginate 76ms
โœ… LibraryRegistryCrawlerTests testFirstLaunch_PerformsFullCrawl_PaginatesAllPages 203ms
โœ… LibraryRegistryCrawlerTests testFirstLaunch_PerformsFullCrawl_SinglePage 11ms
โœ… LibraryRegistryCrawlerTests testFullCrawl_WhenNoOrderModifiedFacet_FetchesAllPages 3ms
โœ… LibraryRegistryCrawlerTests testIncrementalCrawl_ReachingEndOfFeed_ReconcilesDeletions 18ms
โœ… LibraryRegistryCrawlerTests testIncrementalCrawl_StopsAtLastCrawlTimestamp 13ms
โœ… LibraryRegistryCrawlerTests testIncrementalCrawl_WhenNotReachingEndOfFeed_PreservesExistingEntries 12ms
โœ… LicensesServiceTests testAcquirePublication_WithInvalidLCPLFile_CompletesWithError 12ms
โœ… LicensesServiceTests testAcquirePublication_WithNonexistentFile_CompletesWithError 2.05s
โœ… LicensesServiceTests testLicensesServiceError_licenseError_exposesMessageViaDescriptionVerbatim <1ms
โœ… LicensesServiceTests testPathInZip_mapsEveryContentTypeToTheCorrectPath 877ms
โŠ˜ LiveCrawlableParsingTest testCrawlableURL_FromBetaURL 2ms
โŠ˜ LiveCrawlableParsingTest testCrawlableURL_FromProdURL 1ms
โŠ˜ LiveCrawlableParsingTest testFullCrawl_LiveEndpoint 1ms
โŠ˜ LiveCrawlableParsingTest testParseLiveCrawlableFeed 4ms
โœ… LoanEvictionPolicyTests testExactlyAtExpiration_notPastYet_keeps <1ms
โœ… LoanEvictionPolicyTests testNoExpiration_offline_keeps 3ms
โœ… LoanEvictionPolicyTests testNoExpiration_online_keeps <1ms
โœ… LoanEvictionPolicyTests testNotExpired_offline_keeps <1ms
โœ… LoanEvictionPolicyTests testNotExpired_online_keeps <1ms
โœ… LoanEvictionPolicyTests testOfflineExpiredByCachedUntil_keepsFile 1ms
โœ… LoanEvictionPolicyTests testOfflineExpiredPastGrace_stillKeeps 66ms
โœ… LoanEvictionPolicyTests testOfflineExpiredWithinGrace_keepsFile <1ms
โœ… LoanEvictionPolicyTests testOnlineExactlyAtExpiration_withZeroGrace_evicts 1ms
โœ… LoanEvictionPolicyTests testOnlineExactlyAtGraceEdge_evicts 7ms
โœ… LoanEvictionPolicyTests testOnlineExpiredPastGrace_evicts 1ms
โœ… LoanEvictionPolicyTests testOnlineExpiredWithinGrace_confirmsWithServer <1ms
โœ… LoanEvictionPolicyTests testOnlineJustInsideGraceEdge_confirmsWithServer <1ms
โœ… LoanRenewalServiceTests testAccountHost401_marksCredentialsStale 5ms
โœ… LoanRenewalServiceTests testForeignHost401_doesNotMarkCredentialsStale 64ms
โœ… LoanRenewalServiceTests testNoRenewURL_returnsNoRenewURL 7ms
โœ… LoanRenewalServiceTests testOfflineTransport_returnsNetworkError 7ms
โœ… LoanRenewalServiceTests testProductionFactory_foreignHost401_classifiesOk 13ms
โœ… LoanRenewalServiceTests testRenewURL_extractsBorrowRelAcquisition <1ms
โœ… LoanRenewalServiceTests testRenewURL_noBorrowAcquisition_isNil 2ms
โœ… LoanRenewalServiceTests testServerError500_returnsFailed_doesNotMarkStale 30ms
โœ… LoanRenewalServiceTests testSuccess2xx_returnsSuccess_doesNotMarkStale 7ms
โœ… LocalBookContentServiceTests testDeleteForBook_accountOverride_passedThroughToBookFileManager 8ms
โœ… LocalBookContentServiceTests testDeleteForBook_epub_missingFile_logsButDoesNotThrow 48ms
โœ… LocalBookContentServiceTests testDeleteForBook_epub_removesFileWhenPresent 4ms
โœ… LocalBookContentServiceTests testDeleteForBook_pdf_removesContentFile 26ms
โœ… LocalBookContentServiceTests testDeleteForBook_unresolvableFileURL_doesNotCrashAndLogsWarning 64ms
โœ… LocalBookContentServiceTests testDeleteForIdentifier_lookUpsBookInRegistryAndDelegates 10ms
โœ… LocalBookContentServiceTests testDeleteForIdentifier_unknownIdentifier_logsAndDoesNothing 29ms
โœ… LocalFileAdapterTests testCanHandle_localFileExists_returnsTrue 3ms
โœ… LocalFileAdapterTests testCanHandle_noLocalFile_returnsFalse 6ms
โŠ˜ LocalFileAdapterTests testResolveManifest_bearerTokenFulfillURL_refreshesTokenBeforeReturn 4ms
โœ… LocalFileAdapterTests testResolveManifest_noBearerTokenFulfillURL_skipsRefresh 4ms
โœ… LocalFileAdapterTests testResolveManifest_unreadableFile_failsWithManifestParseFailed 5ms
โœ… LocalFileAdapterTests testResolveManifest_validJSON_succeeds 7ms
โœ… LogTests testDebug_doesNotCrash 1ms
โœ… LogTests testDebug_doesNotPersistToLogger 107ms
โœ… LogTests testError_doesNotCrash 1ms
โœ… LogTests testError_persistsToLogger 37ms
โœ… LogTests testFault_doesNotCrash 2ms
โœ… LogTests testFault_persistsToLogger 37ms
โœ… LogTests testInfo_doesNotCrash <1ms
โœ… LogTests testInfo_doesNotPersistToLogger 117ms
โœ… LogTests testLog_objcCompatibility_doesNotCrash 455ms
โœ… LogTests testLog_withFilePathTag_trimsProperly 35ms
โœ… LogTests testSubsystem_isCorrectValue 1ms
โœ… LogTests testSubsystem_isNotEmpty <1ms
โœ… LogTests testWarn_doesNotCrash 127ms
โœ… LoginKeyboardTests testInit_WithCaseSensitiveString_ReturnsNil 80ms
โœ… LoginKeyboardTests testInit_WithDefaultString_ReturnsStandard <1ms
โœ… LoginKeyboardTests testInit_WithEmailString_ReturnsEmail <1ms
โœ… LoginKeyboardTests testInit_WithEmptyString_ReturnsNil 137ms
โœ… LoginKeyboardTests testInit_WithInvalidString_ReturnsNil <1ms
โœ… LoginKeyboardTests testInit_WithNilString_ReturnsNil 71ms
โœ… LoginKeyboardTests testInit_WithNoInputString_ReturnsNone 1ms
โœ… LoginKeyboardTests testInit_WithNumberPadString_ReturnsNumeric <1ms
โœ… MainActorHelpersTests testBarrierExecutor_Modify_TransformsValue 11ms
โœ… MainActorHelpersTests testBarrierExecutor_ReadInitialValue 8ms
โœ… MainActorHelpersTests testBarrierExecutor_Write_UpdatesValue 7ms
โœ… MainActorHelpersTests testDebouncer_Cancel_PreventsExecution 316ms
โœ… MainActorHelpersTests testDebouncer_OnlExecutesLastCall 481ms
โœ… MainActorHelpersTests testOnceExecutor_ExecutesOnlyOnce 154ms
โœ… MainActorHelpersTests testOnceExecutor_Reset_AllowsReExecution 3ms
โœ… MainActorHelpersTests testRunParallelFireAndForget_EmptyArray_CompletesImmediately 5ms
โœ… MainActorHelpersTests testRunParallelFireAndForget_ExecutesAllTasks 9ms
โœ… MainActorHelpersTests testRunParallel_EmptyArray_ReturnsEmptyArray 9ms
โœ… MainActorHelpersTests testRunParallel_MultipleItems_ReturnsInOriginalOrder 62ms
โœ… MainActorHelpersTests testRunParallel_SingleItem_ReturnsSingleResult 3ms
โœ… MainActorHelpersTests testRunParallel_ThrowingTask_PropagatesError 10ms
โœ… MainActorHelpersTests testSerialExecutor_ExecutesInOrder 4ms
โœ… MainActorHelpersTests testSerialExecutor_WaitForAll_WaitsForCompletion 58ms
โœ… MainActorHelpersTests testTaskSleepSeconds_CompletesAfterDuration 55ms
โœ… MainActorHelpersTests testThrottler_AfterInterval_ExecutesAgain 111ms
โœ… MainActorHelpersTests testThrottler_FirstCall_ExecutesImmediately 124ms
โœ… MainActorHelpersTests testThrottler_RapidCalls_SkipsSubsequent 13ms
โœ… MainActorHelpersTests testWithAsyncCallback_ConvertsCallbackToAsync 4ms
โœ… MainActorHelpersTests testWithAsyncThrowingCallback_Failure_ThrowsError 8ms
โœ… MainActorHelpersTests testWithAsyncThrowingCallback_Success_ReturnsValue 2ms
โœ… MappedCatalogBridgeTests testToCatalogContent_EmptyFeed 1ms
โœ… MappedCatalogBridgeTests testToCatalogContent_GroupedFeed 2ms
โœ… MappedCatalogBridgeTests testToCatalogContent_UngroupedFeed 3ms
โœ… MappedCatalogModelTests testEdgeCase_EmptyTitle 45ms
โœ… MappedCatalogModelTests testEdgeCase_LongTitle <1ms
โœ… MappedCatalogModelTests testEdgeCase_ManyLanes 1ms
โœ… MappedCatalogModelTests testEdgeCase_ManyUngroupedBooks 302ms
โœ… MappedCatalogModelTests testInit_CompleteFeedWithAllComponents 6ms
โœ… MappedCatalogModelTests testInit_EmptyFeed 3ms
โœ… MappedCatalogModelTests testInit_GroupedFeedWithLanes 7ms
โœ… MappedCatalogModelTests testInit_StoresAllProperties 2ms
โœ… MappedCatalogModelTests testInit_UngroupedFeedWithBooks 4ms
โœ… MappedCatalogModelTests testInit_WithEntryPoints 55ms
โœ… MappedCatalogModelTests testInit_WithFacetGroups 1ms
โœ… MockBackendExpiredCredentialsTests testBorrow_Returns403 6ms
โœ… MockBackendExpiredCredentialsTests testCatalog_StillReturns200 502ms
โœ… MockBackendExpiredCredentialsTests testLoans_Returns403WithProblemDocument 44ms
โœ… MockBackendHoldsTests testHoldsScenario_LoansFeed_ServesReservedAndReadyEntries 94ms
โœ… MockBackendHoldsTests testHoldsScenario_ReadyEntry_HasReadyAvailability 170ms
โœ… MockBackendHoldsTests testHoldsScenario_ReservedEntry_ExposesQueuePosition 40ms
โœ… MockBackendIntegrationTests testBorrow_Returns201 78ms
โœ… MockBackendIntegrationTests testFetchAnnotations_ReturnsAnnotations 7ms
โœ… MockBackendIntegrationTests testFetchAuthDocument_ParsesCorrectly 99ms
โœ… MockBackendIntegrationTests testFetchCatalog_ReturnsParsedFeed 424ms
โœ… MockBackendLoanLimitTests testBorrow_Returns403WithLoanLimitProblem 2.83s
โœ… MockBackendLoanLimitTests testCatalogBrowsing_StillWorks 4.24s
โœ… MockBackendRouteMatchingTests testRouteMatching_CatchAll <1ms
โœ… MockBackendRouteMatchingTests testRouteMatching_ExactPath 3ms
โœ… MockBackendRouteMatchingTests testRouteMatching_MethodFilter 1ms
โœ… MockBackendRouteMatchingTests testScenarioLoading 7ms
โœ… MockBackendServerDownTests testAllEndpoints_Return502 61ms
โœ… MockIsolationLintTests testEveryFileWithCancellables_tearsThemDown 807ms
โœ… MockIsolationLintTests testEveryFileWithNotificationObserver_removesIt 447ms
โœ… MockIsolationLintTests testEveryFileWithSharedSingleton_hasResetShared 388ms
โœ… MockIsolationLintTests testLintAcceptsInheritedTearDown <1ms
โœ… MockIsolationLintTests testLintCatchesSyntheticViolator 2ms
โœ… MultiLibraryTokenIsolationTests test_CancelNonEssential_ClearsTheRegistry 9ms
โœ… MultiLibraryTokenIsolationTests test_CancelNonEssential_PreservesAudiobookTasks 17ms
โœ… MultiLibraryTokenIsolationTests test_GET_ForLibraryB_SendsBBearerOverWire 10ms
โœ… MultiLibraryTokenIsolationTests test_POST_ToLibraryB_CarriesBBearerAndBody 22ms
โœ… MultiLibraryTokenIsolationTests test_ProblemDocument_RecoverableVsUnrecoverableAuthError 9ms
โœ… MultiLibraryTokenIsolationTests test_Reachability_IsStableAcrossAdjacentReads 14ms
โœ… MultiLibraryTokenIsolationTests test_Refresh401WithProblemDocument_EmbedsDocumentInError 18ms
โœ… MultiLibraryTokenIsolationTests test_Refresh401_NoProblemDoc_HasNilProblemDocument 8ms
โœ… MultiLibraryTokenIsolationTests test_RefreshA_401_MarksOnlyAStale_NotB 7ms
โœ… MultiLibraryTokenIsolationTests test_RefreshForA_AfterSwitchToB_StillHitsAsTokenURL 83ms
โœ… MultiLibraryTokenIsolationTests test_RefreshForA_DoesNotMutateBToken 33ms
โœ… MultiLibraryTokenIsolationTests test_RequestForA_CarriesABearer 7ms
โœ… MultiLibraryTokenIsolationTests test_RequestForB_CarriesBBearer_NotA 4ms
โœ… MultiLibraryTokenIsolationTests test_SwitchCurrency_PreservesBothBearers 7ms
โœ… MyBooksDownloadCenterAccountIdThreadingTests testBearerAuthorized_explicitAccountId_appliesTokenForThatAccount 2ms
โœ… MyBooksDownloadCenterAccountIdThreadingTests testBearerAuthorized_explicitAccountId_doesNotTouchAppContainerProduction 3ms
โœ… MyBooksDownloadCenterAccountIdThreadingTests testBearerAuthorized_nilAccountId_delegatesToResolver 2ms
โœ… MyBooksDownloadCenterAccountIdThreadingTests testConcurrentDownloadsAcrossRapidAccountSwitches_allUseCorrectToken 271ms
โœ… MyBooksDownloadCenterAccountIdThreadingTests testStartDownload_capturesCurrentAccountIdOnce_doesNotReResolve 10ms
โœ… MyBooksDownloadCenterAccountIdThreadingTests testStartDownload_currentAccountIdChangesAfterCapture_originalIdUsedForRequests 330ms
โœ… MyBooksDownloadCenterAccountIdThreadingTests testStartDownload_currentAccountIdNilAtCapture_capturesSentinelUUID 26ms
โœ… MyBooksDownloadCenterAdeptGapTests testDownloadCenter_bookStateTransitions_downloadSuccess 5ms
โœ… MyBooksDownloadCenterAdeptGapTests testDownloadCenter_bookStateTransitions_forAdobeAdeptBooks 3ms
โœ… MyBooksDownloadCenterAdeptGapTests testDownloadCenter_downloadProgressPublisher_exists 3ms
โœ… MyBooksDownloadCenterConcurrencyTests testCanStartDownload_returnsTrueOnlyStrictlyBelowMaxConcurrent 4ms
โœ… MyBooksDownloadCenterConcurrencyTests testCancellation_OfActiveDownload_FreesSlotAndSchedulesPendingStarts 36ms
โœ… MyBooksDownloadCenterConcurrencyTests testCancellation_OfActiveDownload_PromotesNextQueuedBook 37ms
โœ… MyBooksDownloadCenterConcurrencyTests testColdStart_ofCoordinator_HasNoActiveOrQueuedDownloads 6ms
โœ… MyBooksDownloadCenterConcurrencyTests testCompletion_PromotesNextQueuedToActive 10ms
โœ… MyBooksDownloadCenterConcurrencyTests testConcurrentEnqueueFromManyTasks_IsActorSerialized 94ms
โœ… MyBooksDownloadCenterConcurrencyTests testConcurrentSetProcessing_fromMultipleDownloads_serializes 31ms
โœ… MyBooksDownloadCenterConcurrencyTests testDequeuePending_RemovesBooksInFIFOOrder 12ms
โœ… MyBooksDownloadCenterConcurrencyTests testDequeuePending_zeroCapacity_returnsEmptyAndPreservesQueue 6ms
โœ… MyBooksDownloadCenterConcurrencyTests testEnqueuePending_isDedupedByBookIdentifier 11ms
โœ… MyBooksDownloadCenterConcurrencyTests testFailure_FreesSlot_AndPromotesQueuedBook 13ms
โœ… MyBooksDownloadCenterConcurrencyTests testForegroundReapplyOfCap_AlwaysPumpsThePendingQueue 10ms
โœ… MyBooksDownloadCenterConcurrencyTests testQueueOrdering_FIFOSurvivesInterleavedEnqueueAndDequeue 16ms
โœ… MyBooksDownloadCenterConcurrencyTests testRedirectAttempts_perTaskIsolated_andClearable 8ms
โœ… MyBooksDownloadCenterConcurrencyTests testRegisterCompletion_RemovesOnlyTheNamedIdentifier 4ms
โœ… MyBooksDownloadCenterConcurrencyTests testRegisterCompletion_unknownIdentifier_isSafeNoOp 8ms
โœ… MyBooksDownloadCenterConcurrencyTests testReset_ClearsActive_Queue_Cache_AndRedirectAttempts 36ms
โœ… MyBooksDownloadCenterConcurrencyTests testSchedulePendingStartsAsync_HonorsRemainingCapacity_NotQueueSize 16ms
โœ… MyBooksDownloadCenterConcurrencyTests testSchedulePendingStartsAsync_atCap_preservesQueueAndSkipsDelegate 16ms
โœ… MyBooksDownloadCenterConcurrencyTests testSchedulePendingStartsAsync_emptyQueue_doesNotInvokeDelegate 2ms
โœ… MyBooksDownloadCenterConcurrencyTests testStartingNPlus1Downloads_LeavesExactlyNActiveAnd1Queued 11ms
โœ… MyBooksDownloadCenterConcurrencyTests testThreeRoundTrips_eachCompletion_promotesExactlyOneQueuedBook 15ms
โœ… MyBooksDownloadCenterEvictionTests testEviction_multipleBooksOverBudget_evictsLRUFirstAndFlipsAllAffected 24ms
โœ… MyBooksDownloadCenterEvictionTests testEviction_preservesLcpAudiobook_butEvictsEpubCompanion 7ms
โœ… MyBooksDownloadCenterEvictionTests testEviction_preservesLcpLicense 4ms
โœ… MyBooksDownloadCenterEvictionTests testEviction_whenAddingAnticipatedBytesPushesOverBudget_makesRoom 55ms
โœ… MyBooksDownloadCenterEvictionTests testEviction_whenOverBudget_deletesFileAndFlipsRegistryToDownloadNeeded 27ms
โœ… MyBooksDownloadCenterEvictionTests testEviction_whenUnderBudget_doesNothing 3ms
โœ… MyBooksDownloadCenterEvictionTests testEviction_withOrphanFile_deletesButSkipsRegistryMutation 5ms
โœ… MyBooksDownloadCenterOfflineTests testCleanupDownload_RemovesTaskIdentifierToBookEntry 40ms
โœ… MyBooksDownloadCenterOfflineTests testInit_WithReachabilityConnected_DoesNotFailExistingDownloads 147ms
โœ… MyBooksDownloadCenterOfflineTests testReachabilityDrop_DuringActiveDownload_FailsBookWithinDeterministicWindow 90ms
โœ… MyBooksDownloadCenterOfflineTests testReachabilityDrop_DuringMultipleActiveDownloads_FailsEach 44ms
โœ… MyBooksDownloadCenterOfflineTests testReachabilityDrop_StaleAndActive_FailsOnlyTheActiveDownload 58ms
โœ… MyBooksDownloadCenterOfflineTests testReachabilityDrop_WithNoActiveDownloads_IsNoOp 73ms
โœ… MyBooksDownloadCenterOfflineTests testReachabilityDrop_WithStaleTaskEntryForDownloadedBook_DoesNotFlipToFailed 322ms
โœ… MyBooksDownloadCenterOfflineTests testStartDownload_WhenOffline_FailsImmediatelyWithoutSpawningTask 44ms
โœ… MyBooksDownloadSessionInvalidationTests testDownloadTask_onInvalidatedSession_isSafelyCatchable 9ms
โœ… MyBooksDownloadSessionInvalidationTests testDownloadTask_onLiveSession_returnsTaskWithoutException 82ms
โœ… MyBooksDownloadSessionInvalidationTests testExceptionCatcher_returnsNSException_insteadOfPropagating 5ms
โœ… MyBooksSimplifiedBearerTokenTests testFulfillURL_canBeSetAfterInit 2ms
โœ… MyBooksSimplifiedBearerTokenTests testFulfillURL_canBeSetViaInit 2ms
โœ… MyBooksSimplifiedBearerTokenTests testFulfillURL_defaultsToNil 42ms
โœ… MyBooksSimplifiedBearerTokenTests testIsExpired_exactlyNow_returnsTrue 1ms
โœ… MyBooksSimplifiedBearerTokenTests testIsExpired_futureExpiration_returnsFalse 12ms
โœ… MyBooksSimplifiedBearerTokenTests testIsExpired_pastExpiration_returnsTrue 1ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_acceptsExpirationKey 5ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_invalidLocationURL_returnsNil 3ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_missingAccessToken_returnsNil 3ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_missingExpiration_returnsNil 3ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_missingLocation_returnsNil 1ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_negativeExpiration_usesDistantFuture 3ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_validDictionary_createsToken 6ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_zeroExpiration_usesDistantFuture 108ms
โœ… MyBooksSimplifiedBearerTokenTests testRefreshToken_invalidJSON_returnsNil 4ms
โœ… MyBooksSimplifiedBearerTokenTests testRefreshToken_serverError_returnsNil 3ms
โœ… MyBooksSimplifiedBearerTokenTests testRefreshToken_success_returnsNewToken 13ms
โœ… MyBooksViewModelBooksPublisherTests testBooksPublisher_EmitsInitialValue 257ms
โœ… MyBooksViewModelBooksPublisherTests testBooksPublisher_EmitsOnFilter 9ms
โœ… MyBooksViewModelBooksPublisherTests testBooksPublisher_EmitsRestoredCountAfterReset 162ms
โœ… MyBooksViewModelConcurrencyTests testFilterBooks_MultipleCalls_EachProducesCorrectResult 10ms
โœ… MyBooksViewModelConcurrencyTests testFilterBooks_RapidChanges_SettlesOnLastQuery 11ms
โœ… MyBooksViewModelConcurrencyTests testLoadData_AfterInit_IsNotLoadingAndHasBooks 22ms
โœ… MyBooksViewModelConcurrencyTests testReloadData_WhenRegistryIdle_BookListRemainsAccessible 43ms
โœ… MyBooksViewModelDownloadStateTests testRegistryState_DownloadFailed_BookRemainsVisible 10ms
โœ… MyBooksViewModelDownloadStateTests testRegistryState_DownloadSuccessful_BookRemainsInList 96ms
โœ… MyBooksViewModelDownloadStateTests testRegistryState_HoldingBook_NotInMyBooksIfNotInMyBooks 4ms
โœ… MyBooksViewModelEmptyArrayTests testFilterLogic_EmptyArray_ReturnsEmpty 2ms
โœ… MyBooksViewModelEmptyArrayTests testSortLogic_EmptyArray_ReturnsEmpty 12ms
โœ… MyBooksViewModelEmptyArrayTests testSortLogic_SingleBook_ReturnsSame 20ms
โœ… MyBooksViewModelEmptyStateTests testBooksAndInstructionsLabel_CoordinateAfterFilterReset 6ms
โœ… MyBooksViewModelEmptyStateTests testBooksPublisher_EmitsRegistryContents 8ms
โœ… MyBooksViewModelEmptyStateTests testShowInstructionsLabel_FalseWhenRegistryHasBooks 32ms
โœ… MyBooksViewModelEmptyStateTests testShowInstructionsLabel_TrueWhenRegistryEmpty 4ms
โœ… MyBooksViewModelExtendedTests testAlert_ClearsOnNilAssignment 33ms
โœ… MyBooksViewModelExtendedTests testFacetViewModel_InitializedWithCorrectConfig 15ms
โœ… MyBooksViewModelExtendedTests testFilterBooks_WithEmptyQuery_RestoresAllBooks 18ms
โœ… MyBooksViewModelExtendedTests testFilterBooks_WithQuery_NarrowsToMatchingBooks 8ms
โœ… MyBooksViewModelExtendedTests testInitialFacetSort_DefaultsToTitle 2ms
โœ… MyBooksViewModelExtendedTests testInitialState_HasCorrectDefaults 2ms
โœ… MyBooksViewModelExtendedTests testIsPadProperty_MatchesUIDevice 3ms
โœ… MyBooksViewModelExtendedTests testLoadAccount_WhenRegistryIsSyncing_ShowsSyncAlert 3ms
โœ… MyBooksViewModelExtendedTests testResetFilter_RestoresBooksAfterQuery 21ms
โœ… MyBooksViewModelExtendedTests testSelectNewLibrary_PublishesTransitionToSubscribers 2ms
โœ… MyBooksViewModelExtendedTests testSelectedBook_PublishesThroughCombine 46ms
โœ… MyBooksViewModelExtendedTests testShowLibraryAccountView_PublishesTransitionsToSubscribers 14ms
โœ… MyBooksViewModelExtendedTests testShowSearchSheet_PublishesTransitionsToSubscribers 141ms
โœ… MyBooksViewModelExtendedTests testSortByAuthor_ReordersBooks 7ms
โœ… MyBooksViewModelExtendedTests testSortByTitle_ReordersBooks 6ms
โœ… MyBooksViewModelFacetIntegrationTests testFacetSortChange_PropagatestoViewModel 12ms
โœ… MyBooksViewModelFacetIntegrationTests testFacetViewModel_ConfiguredCorrectly 4ms
โœ… MyBooksViewModelFacetIntegrationTests testFacet_LocalizedStrings_MatchExpected 11ms
โœ… MyBooksViewModelFacetIntegrationTests testInitialActiveSort_IsFirstFacet 4ms
โœ… MyBooksViewModelFacetPublisherTests testFacetSort_RoundTripPropagation 39ms
โœ… MyBooksViewModelFacetPublisherTests testFacetViewModel_PublishesActiveSortChanges 2ms
โœ… MyBooksViewModelFacetPublisherTests testLoadData_offline_doesNotDeleteExpiredLocalContent 39ms
โœ… MyBooksViewModelFacetPublisherTests testLoadData_onlinePastGrace_evictsExpiredContent 5ms
โœ… MyBooksViewModelFacetPublisherTests testMyBooksViewModel_SubscribesToFacetChanges 3ms
โœ… MyBooksViewModelFilterSortInteractionTests testFilter_MaintainsSortOrder_Logic 5ms
โœ… MyBooksViewModelFilterSortInteractionTests testSortAfterFilter_ProducesCorrectOrder 6ms
โœ… MyBooksViewModelFilterTests testFilterBooks_EmptyQuery_ResetsToAllBooks 14ms
โœ… MyBooksViewModelFilterTests testFilterBooks_WithQuery_MaintainsSearchQuerySeparately 371ms
โœ… MyBooksViewModelFilterTests testFilterLogic_AuthorMatch_CaseInsensitive 33ms
โœ… MyBooksViewModelFilterTests testFilterLogic_MatchesBothTitleAndAuthor_ReturnsAll 170ms
โœ… MyBooksViewModelFilterTests testFilterLogic_NilAuthors_DoesNotCrash 506ms
โœ… MyBooksViewModelFilterTests testFilterLogic_NoMatches_ReturnsEmpty 3ms
โœ… MyBooksViewModelFilterTests testFilterLogic_SpecialCharacters_HandledCorrectly 3ms
โœ… MyBooksViewModelFilterTests testFilterLogic_TitleMatch_CaseInsensitive 6ms
โœ… MyBooksViewModelFilterTests testResetFilter_RestoresAllBooks 299ms
โœ… MyBooksViewModelGuardConditionsTests testLoadData_CompletesWithIsLoadingFalse 5ms
โœ… MyBooksViewModelGuardConditionsTests testLoadData_SequentialFilterCalls_EachProducesCorrectResult 37ms
โœ… MyBooksViewModelLargeDatasetTests testFilterLogic_ManyBooks_FiltersCorrectly 404ms
โœ… MyBooksViewModelLargeDatasetTests testSortLogic_ManyBooks_Completes 992ms
โœ… MyBooksViewModelLoadAccountTests testLoadAccount_WhenNotSyncing_DoesNotShowSyncAlert 114ms
โœ… MyBooksViewModelLoadAccountTests testLoadAccount_WhenSyncing_ShowsAlert 59ms
โœ… MyBooksViewModelLoginStateTests testLoadData_EmptyRegistry_ShowsInstructionsLabel 2ms
โœ… MyBooksViewModelLoginStateTests testLoadData_MultipleBooks_ExposesAllViaPublishedProperty 6ms
โœ… MyBooksViewModelLoginStateTests testLoadData_PopulatedRegistry_HidesInstructionsLabel 3ms
โœ… MyBooksViewModelLoginStateTests testRegistryChangeNotification_TriggersReload_UpdatesBooks 317ms
โœ… MyBooksViewModelMultipleAuthorSortingTests testSortByAuthor_SameFirstName_SortsByFullName 27ms
โœ… MyBooksViewModelMultipleAuthorSortingTests testSortByTitle_ThePrefix_SortedAlphabetically 632ms
โœ… MyBooksViewModelMultipleAuthorSortingTests testSort_AlreadySorted_MaintainsOrder 72ms
โœ… MyBooksViewModelNotificationTests testRegistryChangeNotification_IsRegistered 11ms
โœ… MyBooksViewModelNotificationTests testStateChangeNotification_IsRegistered 2ms
โœ… MyBooksViewModelNotificationTests testSyncEndedNotification_CausesBookListToUpdate 397ms
โœ… MyBooksViewModelNotificationTests testSyncEndedNotification_IsRegistered 54ms
โœ… MyBooksViewModelOfflineFilteringTests testExpiredBookFiltering_Logic 4ms
โœ… MyBooksViewModelOfflineFilteringTests testOfflineState_FiltersExpiredBooks_Logic 3ms
โœ… MyBooksViewModelOfflineFilteringTests testOnlineState_ShowsAllBooks_Logic 5ms
โœ… MyBooksViewModelPublisherTests testAlertPublisher_EmitsWhenSet 7ms
โœ… MyBooksViewModelPublisherTests testAlertPublisher_InitiallyNil 8ms
โœ… MyBooksViewModelPublisherTests testFacetViewModelPublisher_TriggersSortUpdate 2ms
โœ… MyBooksViewModelPublisherTests testIsLoadingPublisher_EmitsChanges 36ms
โœ… MyBooksViewModelPublisherTests testSearchQueryPublisher_EmitsChanges 4ms
โœ… MyBooksViewModelPublisherTests testSelectedBookPublisher_EmitsChanges 7ms
โœ… MyBooksViewModelPublisherTests testShowInstructionsLabelPublisher_InitialState 4ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_EmojiInContent_HandledCorrectly 46ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_NumbersInQuery_Matches 5ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_PartialWord_Matches 5ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_UnicodeCharacters_Matches 4ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_VeryLongQuery_NoMatch 2ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_WhitespaceQuery_HandledCorrectly 67ms
โœ… MyBooksViewModelSearchQueryTests testSearchQuery_IndependentOfFilterBooks 4ms
โœ… MyBooksViewModelSearchQueryTests testSearchQuery_PublisherEmitsAllChanges 145ms
โœ… MyBooksViewModelSearchQueryTests testSearchQuery_SetAndRetrieve 2ms
โœ… MyBooksViewModelSortPersistenceTests testActiveFacetSort_StaysInSync 15ms
โœ… MyBooksViewModelSortPersistenceTests testSortOrder_MaintainedAfterFilter 10ms
โœ… MyBooksViewModelSortPersistenceTests testSortOrder_MaintainedAfterReset 2ms
โœ… MyBooksViewModelSortingIntegrationTests testAuthorSort_SortKeyFormat 2ms
โœ… MyBooksViewModelSortingIntegrationTests testSortByAuthor_MultipleBooks_CorrectOrder 5ms
โœ… MyBooksViewModelSortingIntegrationTests testSortByTitle_MultipleBooks_CorrectOrder 4ms
โœ… MyBooksViewModelSortingIntegrationTests testSort_SecondaryField_BreaksTies 5ms
โœ… MyBooksViewModelSortingIntegrationTests testTitleSort_SortKeyFormat 2ms
โœ… MyBooksViewModelSortingTests testSortChange_FromTitleToAuthor_UpdatesActiveFacetSort 107ms
โœ… MyBooksViewModelSortingTests testSortComparator_AuthorSort_ComparesCorrectly 3ms
โœ… MyBooksViewModelSortingTests testSortComparator_EmptyAuthor_TreatedAsEmptyString 27ms
โœ… MyBooksViewModelSortingTests testSortComparator_IdenticalKeys_MaintainsOrder 4ms
โœ… MyBooksViewModelSortingTests testSortComparator_NilAuthors_HandledCorrectly 57ms
โœ… MyBooksViewModelSortingTests testSortComparator_TitleSort_ComparesCorrectly 9ms
โœ… MyBooksViewModelStateTransitionTests testAlert_StateTransitions 351ms
โœ… MyBooksViewModelStateTransitionTests testIsLoading_TransitionsDuringLoad 277ms
โœ… MyBooksViewModelStateTransitionTests testShowInstructionsLabel_TransitionsOnRegistryChange 834ms
โœ… MyBooksViewModelUIBindingTests testSelectNewLibrary_PublisherEmitsOnChange 43ms
โœ… MyBooksViewModelUIBindingTests testShowLibraryAccountView_PublisherEmitsOnChange 273ms
โœ… MyBooksViewModelUIBindingTests testShowSearchSheet_PublisherEmitsOnChange 17ms
โœ… NSErrorAdditionsTests testLocalizedDescriptionWithRecovery_bothPresent_separatedByDoubleNewline <1ms
โœ… NSErrorAdditionsTests testLocalizedDescriptionWithRecovery_emptyRecoverySuggestion_returnsDescriptionOnly 39ms
โœ… NSErrorAdditionsTests testLocalizedDescriptionWithRecovery_multilineRecoverySuggestion <1ms
โœ… NSErrorAdditionsTests testLocalizedDescriptionWithRecovery_nilDescription_usesDefaultDescription 55ms
โœ… NSErrorAdditionsTests testLocalizedDescriptionWithRecovery_noRecoverySuggestion_returnsDescription 1ms
โœ… NSErrorAdditionsTests testLocalizedDescriptionWithRecovery_whitespaceOnlyRecoverySuggestion_returnsDescriptionOnly <1ms
โœ… NSErrorAdditionsTests testLocalizedDescriptionWithRecovery_withRecoverySuggestion_returnsBoth <1ms
โœ… NSNotificationTPPTests testNSNotificationConstants_matchSwift 211ms
โœ… NSNotificationTPPTests testNotificationKeys_exist <1ms
โœ… NSNotificationTPPTests testNotificationNames_exist 1ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_Book_NotStored_ReturnsNil 16ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_ClearAudioRoutes_ClearsPath 1ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_ClearAudioRoutes_OnEmptyPath_DoesNotCrash 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_InitialState_NoEPUBSamplePresented 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_InitialState_PathIsEmpty 24ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_MultiplePushes_AccumulateInPath 21ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PopToRootUnanimated_ClearsEntirePath 20ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PopToRoot_ClearsEntirePath 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PopToRoot_OnEmptyPath_DoesNotCrash 1ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_Pop_DecreasesPathCount <1ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_Pop_OnEmptyPath_DoesNotCrash 3ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PushAudioRoute_ClearsExistingRoutes 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PushAudioRoute_FromBookDetail_PreservesStack 3ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PushAudioRoute_OnEmptyPath_AddsRoute 4ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PushAudioRoute_PreventsDuplicateAudioRoutes 1ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_Push_IncreasesPathCount <1ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_StoreAudioModel_CanBeRetrieved 79ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_StoreBook_CanBeRetrieved 6ms
โœ… NavigationFreezePreventionTests testNavigation_failurePath_clearsOnPlaybackFailed 282ms
โœ… NavigationFreezePreventionTests testNavigation_multipleBeginsThenFailure_stillClears <1ms
โœ… NavigationFreezePreventionTests testNavigation_normalFlow_clearsOnPlaybackBegan 3ms
โœ… NavigationFreezePreventionTests testNavigation_notNavigating_seekIsAllowed 142ms
โœ… NavigationFreezePreventionTests testNavigation_unloadPath_clearsOnPlaybackUnloaded <1ms
โœ… NetworkCacheClearRoutingTests testClearingURLCacheShared_leavesExecutorCacheIntact_executorClearCacheEmptiesIt 10ms
โœ… NetworkCacheClearRoutingTests testExecutorClearCache_clearsPrivateURLCache 41ms
โœ… NetworkCacheClearRoutingTests testSignOutAndForceReset_routeCacheClearThroughExecutor_notURLCacheShared 6ms
โœ… NetworkExecutorCredentialGuardTests testExecuteTokenRefresh_BothEmpty_FailsViaTokenRequestGuard 1ms
โœ… NetworkExecutorCredentialGuardTests testExecuteTokenRefresh_EmptyUsername_FailsViaTokenRequestGuard 627ms
โœ… NetworkExecutorCredentialGuardTests testExecuteTokenRefresh_ServerReturns401_ReturnsFailure 1.20s
โœ… NetworkExecutorCredentialGuardTests testExecuteTokenRefresh_ValidCredentials_ReturnsTokenResponse 74ms
โœ… NetworkExecutorCredentialGuardTests testExecuteTokenRefresh_WithAccountId_Succeeds 4.41s
โœ… NetworkExecutorCredentialGuardTests testRefreshTokenAndResume_DefaultAccountId_BackwardCompatible 2ms
โœ… NetworkExecutorCredentialGuardTests testRefreshTokenAndResume_NilTask_NilAccountId_DoesNotCrash 4ms
โœ… NetworkExecutorCredentialGuardTests testRefreshTokenAndResume_NoCredentials_FailsGracefully 42ms
โœ… NetworkExecutorResponseRegressionTests testGET_handlesEmptyResponseBody 433ms
โœ… NetworkExecutorResponseRegressionTests testGET_handlesHTTPErrorGracefully 5ms
โœ… NetworkExecutorResponseRegressionTests testGET_receivesLCPLicenseJSON 992ms
โœ… NetworkExecutorResponseRegressionTests testGET_receivesLargeManifestJSON 5ms
โœ… NetworkExecutorTaskTypeTests testDownload_createsDownloadTask 6ms
โœ… NetworkExecutorTaskTypeTests testGET_createsDataTask_notDownloadTask 33ms
โœ… NetworkExecutorTaskTypeTests testGET_receivesResponseData 193ms
โœ… NetworkOfflineDetectionTests testNetworkReachability_hasSharedInstance 50ms
โœ… NetworkOfflineDetectionTests testURLError_nonOfflineErrorCodes 2ms
โœ… NetworkOfflineDetectionTests testURLError_offlineErrorCodes 3ms
โœ… NetworkQueueTests testAddRequestDoesNotCrash 6ms
โœ… NetworkQueueTests testAddRequestWithHeadersDoesNotCrash 75ms
โœ… NetworkQueueTests testHTTPMethodTypeRawValues 2ms
โœ… NetworkQueueTests testMaxRetriesInQueueIsFive 67ms
โœ… NetworkQueueTests testMigrateCanBeCalledMultipleTimes 9ms
โœ… NetworkQueueTests testMigrateDoesNotCrash 11ms
โœ… NetworkQueueTests testObjCSharedReturnsInstance 4ms
โœ… NetworkQueueTests testSharedInstanceIsSingleton 3ms
โœ… NetworkQueueTests testStatusCodesContainsExpectedNetworkErrors 2ms
โœ… NetworkQueueTests testStatusCodesContainsRoamingAndCallErrors 8ms
โœ… NetworkQueueTests testStatusCodesContainsSecureConnectionFailed 6ms
โœ… NetworkRequestQueueTests testConcurrentRequests_respectsLimit 10.11s
โœ… NetworkRequestQueueTests testRequestOrdering_maintainsOrder 39ms
โœ… NetworkRetryLogicTests testNoRetry_on400BadRequest 16ms
โœ… NetworkRetryLogicTests testNoRetry_on404NotFound 2ms
โœ… NetworkRetryLogicTests testRateLimiting_429Response 18ms
โœ… NetworkRetryLogicTests testRetry_on500Error_eventualSuccess 3ms
โœ… NetworkRetryLogicTests testRetry_on502BadGateway 83ms
โœ… NetworkRetryLogicTests testRetry_on503ServiceUnavailable 29ms
โœ… NetworkRetryLogicTests testRetry_on504GatewayTimeout 87ms
โœ… NetworkTimeoutTests testDefaultTimeout_isReasonable 2ms
โœ… NetworkTimeoutTests testTimeout_configuration 103ms
โœ… NotificationEventTypeContractTests testAllCMEventTypes_ParseToiOSEnum 29ms
โœ… NotificationEventTypeContractTests testHoldAvailable_IsHoldRelated 9ms
โœ… NotificationEventTypeContractTests testHoldRemoved_IsHoldRelated 1ms
โœ… NotificationEventTypeContractTests testLoanExpiry_IsNotHoldRelated <1ms
โœ… NotificationEventTypeContractTests testLoanRemoved_IsNotHoldRelated 6ms
โœ… NotificationEventTypeContractTests testUnknownEventType_returnsNilForAllUnrecognizedRawValues 238ms
โœ… NotificationEventTypeContractTests testiOSEnum_HasNoCasesUnknownToCM 1ms
โœ… NotificationPayloadContractTests testAllFixturePayloads_ParseThroughiOSEventTypeEnum 7ms
โœ… NotificationPayloadContractTests testAllPayloads_HaveAPSAlert 1ms
โœ… NotificationPayloadContractTests testAllPayloads_HaveEventTypeField 1ms
โœ… NotificationPayloadContractTests testAllPayloads_HaveIdentifierTypeField 1ms
โœ… NotificationPayloadContractTests testAllPayloads_HaveLoansEndpointField 4ms
โœ… NotificationPayloadContractTests testAllPayloads_haveIdentifierAndLibraryAsNonEmptyStrings 24ms
โœ… NotificationPayloadContractTests testEventTypes_MatchPayloadKeys 2ms
โœ… NotificationPayloadContractTests testHoldClassification_MatchesExpectedRouting 1ms
โœ… NotificationPayloadContractTests testLoanExpiry_HasDaysToExpiryField 3ms
โœ… NotificationPayloadContractTests testNonExpiryPayloads_DoNotHaveDaysToExpiry <1ms
โœ… NotificationServiceStateMachineTests testAuthStateChange_idempotentTransitions_doNotTriggerRetry 1.51s
โœ… NotificationServiceStateMachineTests testAuthStateChange_loggedInToStale_doesNotTriggerRetry 221ms
โœ… NotificationServiceStateMachineTests testAuthStateChange_loggedOutToLoggedIn_triggersRetry 310ms
โœ… NotificationServiceStateMachineTests testAuthStateChange_staleToLoggedIn_triggersRetry 138ms
โœ… NotificationServiceStateMachineTests testHoldNotification_blocksUntilLoaded_thenNavigates 782ms
โœ… NotificationServiceStateMachineTests testHoldNotification_detailsFailed_completes 271ms
โœ… NotificationServiceStateMachineTests testHoldNotification_doesNotSupportReservations_completes 1.48s
โœ… NotificationServiceStateMachineTests testHoldNotification_nilCurrentAccount_skipsNoAccount 316ms
โœ… NotificationServiceStateMachineTests testHoldNotification_supportsReservations_navigates 108ms
โœ… NotificationServiceTests testBackgroundFetchIsNeeded_isReferentiallyTransparent 2ms
โœ… NotificationServiceTests testCompareAvailabilityDoesNotCrashWithNoAvailability 49ms
โœ… NotificationServiceTests testCompareAvailabilityReservedToReady 751ms
โœ… NotificationServiceTests testHoldClassificationFallback_WhenEventTypeNotInEnum 6ms
โœ… NotificationServiceTests testHoldClassificationWithAPSAlertContainingAvailableKeyword 2ms
โœ… NotificationServiceTests testHoldClassificationWithAPSAlertContainingReadyKeyword 2ms
โœ… NotificationServiceTests testHoldClassificationWithNonHoldAPSAlert 2ms
โœ… NotificationServiceTests testHoldClassificationWithReservationInBody 4ms
โœ… NotificationServiceTests testHoldClassification_byEventType_routesAllKnownEnumCasesCorrectly 1ms
โœ… NotificationServiceTests testHoldClassification_unparseableInputDefaultsToHoldRelated <1ms
โœ… NotificationServiceTests testNotificationConstants_areStableAndDistinct 3ms
โœ… NotificationServiceTests testTokenDataCodableRoundTrip 4.44s
โœ… NotificationServiceTests testTokenDataEncodesToValidJSON 2ms
โœ… NotificationServiceTests testTokenDataEncoding 9ms
โœ… NotificationServiceTests testTokenDataWithEmptyToken 75ms
โœ… NotificationServiceTests testTokenDataWithSpecialCharacters_roundTripsThroughJSON 2ms
โœ… NotificationServiceTokenTests testShouldRetryTokenRegistration_loggedInToLoggedIn_doesNotRetry <1ms
โœ… NotificationServiceTokenTests testShouldRetryTokenRegistration_loggedInToLoggedOut_doesNotRetry 2ms
โœ… NotificationServiceTokenTests testShouldRetryTokenRegistration_loggedInToStale_doesNotRetry <1ms
โœ… NotificationServiceTokenTests testShouldRetryTokenRegistration_loggedOutToLoggedIn_withFlagFalse_retries 29ms
โœ… NotificationServiceTokenTests testShouldRetryTokenRegistration_loggedOutToLoggedOut_doesNotRetry 37ms
โœ… NotificationServiceTokenTests testShouldRetryTokenRegistration_staleToLoggedIn_withFlagFalse_retries <1ms
โœ… NotificationServiceTokenTests testShouldRetryTokenRegistration_staleToLoggedIn_withFlagTrue_doesNotRetry 1ms
โœ… NotificationServiceTokenTests testShouldRetryTokenRegistration_staleToStale_doesNotRetry <1ms
โœ… NotificationServiceTokenTests testTokenData_data_isNotNil 2ms
โœ… NotificationServiceTokenTests testTokenData_emptyToken_stillEncodes <1ms
โœ… NotificationServiceTokenTests testTokenData_encodesCorrectJSON 1ms
โœ… NotificationServiceTokenTests testTokenData_longToken_encodesCorrectly 4ms
โœ… NotificationServiceTokenTests testTokenData_tokenType_isAlwaysFCMiOS <1ms
โœ… NotificationSyncThrottleTests testForceSync_bypassesThrottle_atExactThreshold <1ms
โœ… NotificationSyncThrottleTests testForceSync_bypassesThrottle_evenIfRecentlySynced 41ms
โœ… NotificationSyncThrottleTests testForceSync_proceedsRegardlessOfHistoryShape 26ms
โœ… NotificationSyncThrottleTests testHoldNotification_alwaysSyncs <1ms
โœ… NotificationSyncThrottleTests testThrottle_normalSync_blocksRecentAndAllowsAgedAndFirstSync <1ms
โœ… NotificationTokenDataTests testTokenData_codableRoundTrip 42ms
โœ… NotificationTokenDataTests testTokenData_dataNotNil 4ms
โœ… NotificationTokenDataTests testTokenData_encodesToJSON 219ms
โœ… NotificationTokenDataTests testTokenData_init 2ms
โœ… NotificationTokenRegistrationTests testRegressionForBug_SAML401LeavesFlagUnlatched_perHelpSpot17680 <1ms
โœ… NotificationTokenRegistrationTests testShouldMark_whenSaveSucceeds 13ms
โœ… NotificationTokenRegistrationTests testShouldMark_whenTokenAlreadyRegistered 15ms
โœ… NotificationTokenRegistrationTests testShouldNotMark_whenDeviceRegistrationLinkAbsent 17ms
โœ… NotificationTokenRegistrationTests testShouldNotMark_whenExistsCheckInconclusive <1ms
โœ… NotificationTokenRegistrationTests testShouldNotMark_whenFCMTokenUnavailable 2ms
โœ… NotificationTokenRegistrationTests testShouldNotMark_whenProfileDocumentMissing <1ms
โœ… NotificationTokenRegistrationTests testShouldNotMark_whenSaveFails 1ms
โœ… NotificationTokenRegistrationTests testShouldNotMark_whenSaveNeededButNotAttempted <1ms
โœ… NotificationTokenRegistrationTests testShouldNotMark_whenSaveSucceededButPrerequisiteMissing 2ms
โœ… NowPlayingCoordinatorBackgroundTests testApplyUpdate_inBackground_bypassesDebounce 50ms
โœ… NowPlayingCoordinatorBackgroundTests testApplyUpdate_inForeground_debouncesAsBefore 396ms
โœ… NowPlayingCoordinatorBackgroundTests testDryStreamGuard_doesNotLog_atExactlyThreshold 172ms
โœ… NowPlayingCoordinatorBackgroundTests testDryStreamGuard_doesNotLog_whenNotPlaying 2ms
โœ… NowPlayingCoordinatorBackgroundTests testDryStreamGuard_doesNotLog_whenStreamIsFresh 920ms
โœ… NowPlayingCoordinatorBackgroundTests testDryStreamGuard_logsErrorOnForegroundReturn_whenLastUpdateStale 934ms
โœ… NowPlayingCoordinatorTests testClearNowPlaying_removesAllInfo 1ms
โœ… NowPlayingCoordinatorTests testClearNowPlaying_setsStoppedState 2ms
โœ… NowPlayingCoordinatorTests testSetPlaybackState_paused_setsCorrectPlaybackState <1ms
โœ… NowPlayingCoordinatorTests testSetPlaybackState_paused_setsZeroRate 69ms
โœ… NowPlayingCoordinatorTests testSetPlaybackState_playing_setsCorrectPlaybackState 2.61s
โœ… NowPlayingCoordinatorTests testSetPlaybackState_playing_setsNonZeroRate 80ms
โœ… NowPlayingCoordinatorTests testUpdateArtwork_nil_clearsArtwork <1ms
โœ… NowPlayingCoordinatorTests testUpdateArtwork_setsArtworkInInfo 166ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_clampsElapsedToNotExceedDuration 7ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_clampsNegativeElapsedToZero 5ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_ensuresDurationIsAtLeastOne 2ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_preservesArtwork_acrossUpdates 1.59s
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_rapidUpdates_lastOneWins 128ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_setsElapsedAndDuration 253ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_setsInfoCenter 1ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_setsMediaType_toAudioBook 3ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_setsPlaybackRate_whenPlaying 1ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_setsZeroPlaybackRate_whenPaused <1ms
โœ… NowPlayingCoordinatorTests testUpdatePlaybackRate_updatesDefaultRate 2ms
โœ… OAuthSAMLRedirectRegressionTests testRegression_handleRedirectURL_rejectsCustomSchemeURL 54ms
โœ… OAuthSAMLRedirectRegressionTests testRegression_oauthRedirect_stillUsesUniversalLinksPrefix 89ms
โœ… OAuthSAMLRedirectRegressionTests testRegression_oauthRedirect_withError_stillHandlesError 61ms
โœ… OAuthSAMLRedirectRegressionTests testRegression_samlRedirect_stillUsesUniversalLinksPrefix 35ms
โœ… OIDCAuthDocumentParsingTests testAuthDocument_containsOidcType 33ms
โœ… OIDCAuthDocumentParsingTests testAuthDocument_oidcAuthenticateLink_IsParsed 23ms
โœ… OIDCAuthDocumentParsingTests testAuthDocument_oidcDoesNotAffectOtherAuthTypes 34ms
โœ… OIDCAuthDocumentParsingTests testAuthDocument_unknownTypeStillFallsToNone 2ms
โœ… OIDCAuthTypeTests testAuthType_InitFromLegacyOidcString_ReturnsOidc 1ms
โœ… OIDCAuthTypeTests testAuthType_InitFromOidcString_ReturnsOidc 2ms
โœ… OIDCAuthTypeTests testAuthType_LegacyOidcURI_DecodesViaCodeable 2ms
โœ… OIDCAuthTypeTests testAuthType_OidcIsDistinct_FromOtherTypes <1ms
โœ… OIDCAuthTypeTests testAuthType_OidcRawValue_IsCorrect <1ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_catalogRequiresAuthentication_ReturnsFalse 240ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_hasAuthenticationUrl 31ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_isNotOtherTypes 61ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_isOidc_ReturnsTrue 143ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_methodDescription_IsOpenIDConnect 65ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_needsAgeCheck_ReturnsFalse 364ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_needsAuth_ReturnsTrue 167ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_otherUrlsAreNil 45ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_doesNotAffectPriorOAuthState 67ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_prefersQueryOverFragment 97ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withEmptyQueryString_doesNotSetToken 93ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withLongToken_setsFullToken 78ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withMalformedPatronJSON_doesNotSetToken 96ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withOnlyAccessToken_doesNotSetToken 71ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withOnlyPatronInfo_doesNotSetToken 78ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withPatronContainingMultipleFields_parsesAll 57ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withPlusEncodedPatron_decodesSpaces 60ms
โœ… OIDCCallbackHandlingTests testHandleOIDCCallback_withError_doesNotSetToken 134ms
โœ… OIDCCallbackHandlingTests testHandleOIDCCallback_withFragment_extractsTokenAndValidates 166ms
โœ… OIDCCallbackHandlingTests testHandleOIDCCallback_withNoPayload_doesNotSetToken 102ms
โœ… OIDCCallbackHandlingTests testHandleOIDCCallback_withQueryParams_extractsTokenAndValidates 32ms
โœ… OIDCCallbackHandlingTests testOIDCFlow_afterCallback_validatesAndCompletesSignIn 49ms
โœ… OIDCCallbackSchemeTests testOidcCallbackHost_matchesAndroidConvention 3ms
โœ… OIDCCallbackSchemeTests testOidcCallbackScheme_isNotHTTPS 1ms
โœ… OIDCCallbackSchemeTests testOidcCallbackScheme_matchesAndroidConvention 1ms
โœ… OIDCIsolationRegressionTests testRegression_basicAuthentication_noTokenURLs 30ms
โœ… OIDCIsolationRegressionTests testRegression_makeRequest_oauthAndOIDC_bothUseBearerToken 169ms
โœ… OIDCIsolationRegressionTests testRegression_oauthAuthentication_typeIsCorrect 106ms
โœ… OIDCIsolationRegressionTests testRegression_oidcAuthentication_noOtherAuthURLs 30ms
โœ… OIDCIsolationRegressionTests testRegression_samlAuthentication_typeIsCorrect 103ms
โœ… OIDCIsolationRegressionTests testRegression_updateUserAccount_oauthStillStoresToken 43ms
โœ… OIDCLoginRoutingTests testLogIn_withOIDC_callsWillSignIn 1.05s
โœ… OIDCLoginRoutingTests testLogIn_withOIDC_capturesCredentials 231ms
โœ… OIDCLoginRoutingTests testLogIn_withOIDC_doesNotValidateCredentialsDirectly 230ms
โœ… OIDCMakeRequestTests testMakeRequest_forOIDCSignOut_usesUserProfileURL 1.06s
โœ… OIDCMakeRequestTests testMakeRequest_forOIDC_addsBearerTokenHeader 106ms
โœ… OIDCMakeRequestTests testMakeRequest_forOIDC_withoutToken_stillCreatesRequest 366ms
โœ… OIDCNSCodingTests testOidcAuthentication_NSCodingRoundTrip_PreservesProperties 86ms
โœ… OIDCNetworkLayer401Tests testOIDC_authDefinition_hasNoTokenURL 31ms
โœ… OIDCNetworkLayer401Tests testOIDC_authDefinition_isNotOauth 87ms
โœ… OIDCNetworkLayer401Tests testOIDC_authDefinition_isNotToken 78ms
โœ… OIDCNetworkLayer401Tests testOIDC_cannotDoClientSideTokenRefresh 25ms
โœ… OIDCNetworkLayer401Tests testOIDC_isTreatedLikeSAML_forReauth 41ms
โœ… OIDCReauthOnExpiredTokenTests testOIDC_afterReauth_credentialsRestored 34ms
โœ… OIDCReauthOnExpiredTokenTests testOIDC_refreshAuthIfNeeded_doesNotNilSelectedAuth 29ms
โœ… OIDCReauthOnExpiredTokenTests testOIDC_refreshAuthIfNeeded_withoutExistingCredentials_requiresUI 28ms
โœ… OIDCReauthOnExpiredTokenTests testOIDC_staleCredentials_authDefinitionPreserved 32ms
โœ… OIDCReauthOnExpiredTokenTests testOIDC_staleCredentials_stillHasCredentials 47ms
โœ… OIDCRedirectURIConstructionTests testOidcCallbackScheme_containsNoDots 441ms
โœ… OIDCRedirectURIConstructionTests testOidcCallbackScheme_doesNotContainColonOrSlash 149ms
โœ… OIDCRedirectURIConstructionTests testOidcCallbackScheme_isLowercase 665ms
โœ… OIDCRedirectURIConstructionTests testOidcRedirectURI_doesNotUseHTTPS 173ms
โœ… OIDCRedirectURIConstructionTests testOidcRedirectURI_doesNotUseUniversalLinksURL 224ms
โœ… OIDCRedirectURIConstructionTests testOidcRedirectURI_isValidURL 95ms
โœ… OIDCRegressionTests testRegression_allAuthTypes_areCodable 103ms
โœ… OIDCRegressionTests testRegression_authTypeCodable_roundTripIncludesOidc 94ms
โœ… OIDCRegressionTests testRegression_basicAuth_makeRequest_noBearerToken 489ms
โœ… OIDCRegressionTests testRegression_basicAuth_needsAuth_StillTrue 29ms
โœ… OIDCRegressionTests testRegression_defaultAuth_stillPrefersNonOAuth 59ms
โœ… OIDCRegressionTests testRegression_existingAuthTypesUnchanged 152ms
โœ… OIDCRegressionTests testRegression_oauthAuth_makeRequest_stillAddsBearerToken 29ms
โœ… OIDCRegressionTests testRegression_samlAuth_makeRequest_stillAddsBearerToken 116ms
โœ… OIDCRegressionTests testRegression_samlUpdateUserAccount_stillStoresCookies 49ms
โœ… OIDCSelectedAuthenticationTests testRefreshAuthIfNeeded_withOIDC_resetsIgnoreSignedInState 36ms
โœ… OIDCSelectedAuthenticationTests testSelectedAuthentication_canBeSetToOIDC 30ms
โœ… OIDCSignOutRegressionTests testRegression_signOut_withOAuth_stillClearsToken 109ms
โœ… OIDCSignOutRegressionTests testRegression_signOut_withSAML_stillClearsCookies 291ms
โœ… OIDCSignOutRegressionTests testSignOut_resetsInFlightAuthState 64ms
โœ… OIDCSignOutRegressionTests testSignOut_withOIDC_clearsAuthToken 54ms
โœ… OIDCSignOutRegressionTests testSignOut_withOIDC_clearsPatronInfo 163ms
โœ… OIDCSignOutRegressionTests testSignOut_withOIDC_triggersExplicitLogoutFlowAndCompletesDeauthorization 404ms
โœ… OIDCTokenRefreshRegressionTests testRefreshAuth_withOIDC_doesNotNilOutSelectedAuth_unlikeSAML 55ms
โœ… OIDCTokenRefreshRegressionTests testRefreshAuth_withOIDC_usingExistingCredentials_doesNotResetSelectedAuth 43ms
โœ… OIDCTokenRefreshRegressionTests testRefreshAuth_withOIDC_withoutExistingCredentials_setsIgnoreSignedIn 22ms
โœ… OIDCTokenRefreshRegressionTests testRegression_refreshAuth_withBasic_ignoreSignedInNotSet 52ms
โœ… OIDCTokenRefreshRegressionTests testRegression_refreshAuth_withOAuth_stillSetsIgnoreSignedIn 22ms
โœ… OIDCTokenRefreshRegressionTests testRegression_refreshAuth_withSAML_codepathIncludesSAML 30ms
โœ… OIDCUpdateUserAccountTests testUpdateUserAccount_withOIDC_doesNotStoreCookies 26ms
โœ… OIDCUpdateUserAccountTests testUpdateUserAccount_withOIDC_marksLoggedIn 36ms
โœ… OIDCUpdateUserAccountTests testUpdateUserAccount_withOIDC_setsAuthDefinition 27ms
โœ… OIDCUpdateUserAccountTests testUpdateUserAccount_withOIDC_storesAuthToken 28ms
โœ… OIDCUpdateUserAccountTests testUpdateUserAccount_withOIDC_storesPatronInfo 61ms
โœ… OIDCViewModelRegressionTests testOIDCSignIn_doesNotRequireUsernameOrPIN 76ms
โœ… OIDCViewModelSignInTests testSignIn_withActiveCredentials_showsSignOutAlert 35ms
โœ… OIDCViewModelSignInTests testSignIn_withStaleOIDCCredentials_proceedsToLogin 53ms
โœ… OPDS1BorrowEntryContractTests testBorrowEntry_HasAvailabilityWithDates 3ms
โœ… OPDS1BorrowEntryContractTests testBorrowEntry_HasLCPAcquisition 2ms
โœ… OPDS1BorrowEntryContractTests testBorrowEntry_HasRevokeLink 5ms
โœ… OPDS1BorrowEntryContractTests testParseBorrowEntry_AsSingleEntryFeed 50ms
โœ… OPDS1CatalogGroupedContractTests testGroupedFeed_EntriesHaveGroupAttributes 4ms
โœ… OPDS1CatalogGroupedContractTests testGroupedFeed_HasMultipleGroups 8ms
โœ… OPDS1CatalogGroupedContractTests testGroupedFeed_ParsesAsGroupedType 21ms
โœ… OPDS1HoldEntriesContractTests testHoldsFeed_ReadyEntry_HasReadyAvailability 3ms
โœ… OPDS1HoldEntriesContractTests testHoldsFeed_ReservedEntry_HasHoldPosition 3ms
โœ… OPDS1HoldEntriesContractTests testHoldsFeed_ReservedEntry_HasRevokeLink 48ms
โœ… OPDS1HoldEntriesContractTests testParseHoldsFeed_ReturnsTwoEntries 313ms
โœ… OPDS1LoansFeedContractTests testLoansFeed_AudiobookEntry_HasAudiobookType 4ms
โœ… OPDS1LoansFeedContractTests testLoansFeed_EPUBEntry_HasAdobeDRMAcquisition 6ms
โœ… OPDS1LoansFeedContractTests testLoansFeed_EntryHasAnnotationLink 4ms
โœ… OPDS1LoansFeedContractTests testLoansFeed_EntryHasRevokeLink 3ms
โœ… OPDS1LoansFeedContractTests testLoansFeed_OpenAccessPDF_HasDirectAcquisition 3ms
โœ… OPDS1LoansFeedContractTests testParseLoansFeed_ReturnsThreeEntries 3ms
โœ… OPDS1ParsingTests testCatalog_acquisitionLinks_areBucketedSeparatelyFromLinks 513ms
โœ… OPDS1ParsingTests testCatalog_multipleAuthors_allPreservedInOrder 5ms
โœ… OPDS1ParsingTests testCatalog_openAccessAndBorrow_bothPreservedWithCorrectRelation 7ms
โœ… OPDS1ParsingTests testCatalog_paginationNextLink_captured 310ms
โœ… OPDS1ParsingTests testCatalog_parsesEntryIdentifiers 324ms
โœ… OPDS1ParsingTests testCatalog_parsesEntryTitlesInDocumentOrder 8ms
โœ… OPDS1ParsingTests testCatalog_parsesExpectedEntryCount 2ms
โœ… OPDS1ParsingTests testCatalog_parsesFeedIdentifier 2ms
โœ… OPDS1ParsingTests testCatalog_parsesFeedTitle 4ms
โœ… OPDS1ParsingTests testCatalog_parsesFeedUpdatedAsRFC3339Date 15ms
โœ… OPDS1ParsingTests testCatalog_searchLink_parsedWithType 5ms
โœ… OPDS1ParsingTests testCatalog_singleAuthor_preserved 49ms
โœ… OPDS1ParsingTests testEmptyData_returnsNilNotCrash 2ms
โœ… OPDS1ParsingTests testEmptyFeed_yieldsEmptyEntriesArrayNotNil 2ms
โœ… OPDS1ParsingTests testEntry_category_parsedWithTerm 5ms
โœ… OPDS1ParsingTests testEntry_imageThumbnail_keptAsLink 7ms
โœ… OPDS1ParsingTests testEntry_published_fallsBackToIssuedWhenPublishedAbsent 3ms
โœ… OPDS1ParsingTests testEntry_published_isParsedFromPublishedElement 4ms
โœ… OPDS1ParsingTests testEntry_published_prefersPublishedOverIssuedWhenBothPresent 5ms
โœ… OPDS1ParsingTests testEntry_publisher_extracted 4ms
โœ… OPDS1ParsingTests testEntry_summary_decoded 2ms
โœ… OPDS1ParsingTests testEntry_unicodeTitle_preservedExactly 73ms
โœ… OPDS1ParsingTests testEntry_veryLongTitle_preservedExactly 92ms
โœ… OPDS1ParsingTests testFacetedFeed_activeFacet_attributeRecognized 2ms
โœ… OPDS1ParsingTests testFacetedFeed_facetLinks_groupedCorrectly 2ms
โœ… OPDS1ParsingTests testFacetedFeed_otherFacetsNotMarkedActive 465ms
โœ… OPDS1ParsingTests testFeedType_acquisitionFeed_detectedUngrouped 13ms
โœ… OPDS1ParsingTests testFeedType_emptyFeed_returnsAcquisitionUngrouped 2ms
โœ… OPDS1ParsingTests testLink_invalidHrefScheme_capturedAsIs 2ms
โœ… OPDS1ParsingTests testLink_missingHref_returnsNil 2ms
โœ… OPDS1ParsingTests testLink_validHref_returnsLinkWithAttributes 155ms
โœ… OPDS1ParsingTests testMalformedEntries_skippedNotCrashed 4ms
โœ… OPDS1ParsingTests testMalformedXML_returnsNilNotCrash 157ms
โœ… OPDS1ParsingTests testNonOPDSXML_returnsNil 45ms
โœ… OPDS1RevokeResponseContractTests testRevokeResponse_HasBorrowLink_NotFulfillmentLink 3ms
โœ… OPDS1RevokeResponseContractTests testRevokeResponse_ParsesAsSingleEntry 2ms
โœ… OPDS2AuthenticationDocumentTests testAnnouncements_parsesIfPresent <1ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_noAuthRequired 1ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesBarcodeFormat <1ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesBasicAuth <1ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesInputConfiguration 1ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesLabels <1ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesMaximumLength 8ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesMultipleMethods 13ms
โœ… OPDS2AuthenticationDocumentTests testColorScheme_parsesIfPresent 1ms
โœ… OPDS2AuthenticationDocumentTests testFeatures_parsesDisabledFeatures <1ms
โœ… OPDS2AuthenticationDocumentTests testFeatures_parsesEnabledFeatures 6ms
โœ… OPDS2AuthenticationDocumentTests testFromData_withEmptyData_throwsError 1ms
โœ… OPDS2AuthenticationDocumentTests testFromData_withInvalidJSON_throwsError 1ms
โœ… OPDS2AuthenticationDocumentTests testFromData_withMissingRequiredFields_throwsError <1ms
โœ… OPDS2AuthenticationDocumentTests testFromData_withValidJSON_parsesDocument 1ms
โœ… OPDS2AuthenticationDocumentTests testLinks_firstRelMethod_findsPasswordReset 1ms
โœ… OPDS2AuthenticationDocumentTests testLinks_parsesCorrectly <1ms
โœ… OPDS2AuthenticationDocumentTests testServiceDescription_parsesIfPresent 39ms
โœ… OPDS2AvailabilityTests testIsAvailable_AvailableState_ReturnsTrue 4ms
โœ… OPDS2AvailabilityTests testIsReady_ReadyState_ReturnsTrue <1ms
โœ… OPDS2AvailabilityTests testIsReserved_ReservedState_ReturnsTrue <1ms
โœ… OPDS2AvailabilityTests testIsUnavailable_UnavailableState_ReturnsTrue 159ms
โœ… OPDS2BookBridgeTests testConvertAvailability_availableWithoutCopiesIsUnlimited 2ms
โœ… OPDS2BookBridgeTests testConvertAvailability_unknownStateDefaultsToUnlimited 386ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_fromDecodedJSON 61ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsAuthors 6ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsDescription 1ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsMultipleAuthors 136ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsNarrators 12ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsPublishedDate 17ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsPublisher 2ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsSubjectsAsCategories 3ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsSubtitle 2ms
โœ… OPDS2BookBridgeTests testMetadata_decodesAuthorFromSingleStringAndArray 3ms
โœ… OPDS2BookBridgeTests testRelationMapping_allStandardRelations 50ms
โœ… OPDS2BookBridgeTests testRelationMapping_nonAcquisitionRelReturnsNil 1ms
โœ… OPDS2BookBridgeTests testToBook_fallsBackToFirstImageWhenNoRelSpecified 207ms
โœ… OPDS2BookBridgeTests testToBook_filtersNonAcquisitionLinks 1ms
โœ… OPDS2BookBridgeTests testToBook_fromDecodedJSON 1.06s
โœ… OPDS2BookBridgeTests testToBook_handlesInvalidHrefURL 50ms
โœ… OPDS2BookBridgeTests testToBook_handlesLinkWithNoType 124ms
โœ… OPDS2BookBridgeTests testToBook_keepsPublicationWhenAtLeastOneAcquisitionIsSupported 2ms
โœ… OPDS2BookBridgeTests testToBook_keepsPublicationWhenOnlyAcquisitionIsStreamingHTMLIndirect 2ms
โœ… OPDS2BookBridgeTests testToBook_mapsAlternateLink 1ms
โœ… OPDS2BookBridgeTests testToBook_mapsAuthorsFromArrayMetadata 4ms
โœ… OPDS2BookBridgeTests testToBook_mapsAvailableState 10ms
โœ… OPDS2BookBridgeTests testToBook_mapsBorrowLink 5ms
โœ… OPDS2BookBridgeTests testToBook_mapsBuyLink 2ms
โœ… OPDS2BookBridgeTests testToBook_mapsGenericAcquisitionLink 2ms
โœ… OPDS2BookBridgeTests testToBook_mapsImageURLFromImages 2ms
โœ… OPDS2BookBridgeTests testToBook_mapsIndirectAcquisition 3ms
โœ… OPDS2BookBridgeTests testToBook_mapsLCPIndirectAcquisition 2ms
โœ… OPDS2BookBridgeTests testToBook_mapsOpenAccessLink <1ms
โœ… OPDS2BookBridgeTests testToBook_mapsPreviewLink 4ms
โœ… OPDS2BookBridgeTests testToBook_mapsReadyState 1ms
โœ… OPDS2BookBridgeTests testToBook_mapsRelatedWorksLink 4ms
โœ… OPDS2BookBridgeTests testToBook_mapsReservedState 7ms
โœ… OPDS2BookBridgeTests testToBook_mapsRevokeLink 6ms
โœ… OPDS2BookBridgeTests testToBook_mapsSampleLink 13ms
โœ… OPDS2BookBridgeTests testToBook_mapsThumbnailURL 747ms
โœ… OPDS2BookBridgeTests testToBook_mapsUnavailableState 1ms
โœ… OPDS2BookBridgeTests testToBook_multipleAcquisitionLinks 2ms
โœ… OPDS2BookBridgeTests testToBook_noAvailabilityDefaultsToUnlimited 2ms
โœ… OPDS2BookBridgeTests testToBook_passesThroughIdentifierTitleUpdatedAndDescription 16ms
โœ… OPDS2BookBridgeTests testToBook_returnsNilWhenNoAcquisitionLinks 11ms
โœ… OPDS2BookBridgeTests testToBook_returnsNilWhenNoUsableAcquisitionPath 332ms
โœ… OPDS2BorrowResponseContractTests testBorrowResponse_HasAvailabilityWithDates 1ms
โœ… OPDS2BorrowResponseContractTests testBorrowResponse_HasFulfillmentAndRevokeLinks 2ms
โœ… OPDS2BorrowResponseContractTests testBorrowResponse_ParsesPublicationMetadata 1ms
โœ… OPDS2CatalogWiringTests testCatalogFeed_opds2Init_createsShellOpdsFeed 2ms
โœ… OPDS2CatalogWiringTests testCatalogFeed_opds2Init_mapsEntries <1ms
โœ… OPDS2CatalogWiringTests testCatalogFeed_opds2Init_setsTitle 5ms
โœ… OPDS2CatalogWiringTests testEndToEnd_jsonToLanes 18ms
โœ… OPDS2CatalogWiringTests testExtractOPDS2Facets_fallsBackToNumberOfItemsHintWhenNoURLMatch <1ms
โœ… OPDS2CatalogWiringTests testExtractOPDS2Facets_marksFacetActiveWhenHrefMatchesCurrentURL <1ms
โœ… OPDS2CatalogWiringTests testExtractOPDS2Facets_urlMatchIgnoresQueryOrder 3ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Facets_extracted 61ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Grouped_lanesHaveMoreURLs 173ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Grouped_lanesTitlesMatch 70ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Grouped_producesLanes 6ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2MultiTitleLane_isNotLoading_unchanged 30ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Navigation_producesEmptyLanesAndBooks 2ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Publication_producesUngroupedBooks 7ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2SingleTitleLane_isNotLoading_soCoverRenders 148ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2TwoTitleLane_isNotLoading 6ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2ZeroTitleGroup_producesNoLane 5ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2_bookMetadataPreserved 331ms
โœ… OPDS2CatalogWiringTests testParser_detectsOPDS1XML 3ms
โœ… OPDS2CatalogWiringTests testParser_detectsOPDS2JSON 90ms
โœ… OPDS2CatalogWiringTests testParser_invalidJSONThrows 2ms
โœ… OPDS2CatalogsFeedTests testAccountSetAuthenticationDocument 160ms
โœ… OPDS2CatalogsFeedTests testInitAccountsWithPublication 108ms
โœ… OPDS2CatalogsFeedTests testLoadCatalogsFeed 38ms
โœ… OPDS2ContributorTests testDecode_ObjectValue_ParsesAllFields 1ms
โœ… OPDS2ContributorTests testDecode_StringValue_ParsesAsName 2ms
โœ… OPDS2EmptyFeedContractTests testEmptyFeed_ParsesWithZeroItems 163ms
โœ… OPDS2FeedContractTests testParseAudiobook_IncludesCompleteMetadataAndLinks 2ms
โœ… OPDS2FeedContractTests testParseFacets_ExtractsFormatEntryPoints 3ms
โœ… OPDS2FeedContractTests testParseFeed_FromBackendFixture_SucceedsWithExpectedStructure 1ms
โœ… OPDS2FeedContractTests testParsePublications_ExtractsBookMetadata 33ms
โœ… OPDS2FeedParsingTests testDateParsing_withISO8601_parsesCorrectly 22ms
โœ… OPDS2FeedParsingTests testDateParsing_withMilliseconds_parsesCorrectly 3ms
โœ… 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 23ms
โœ… OPDS2FeedParsingTests testLinks_parsesCorrectly 22ms
โœ… OPDS2FeedParsingTests testMetadata_parsesAdobeVendorId 26ms
โœ… OPDS2FeedParsingTests testMetadata_parsesTitle 23ms
โœ… OPDS2FeedTests testDetectOPDS2FromContentType 2ms
โœ… OPDS2FeedTests testDetectOPDS2FromData 2ms
โœ… OPDS2FeedTests testFeedEquatable 277ms
โœ… OPDS2FeedTests testMixedFractionalAndNonFractionalDates_acrossPublications_bothParse 2ms
โœ… OPDS2FeedTests testParseDateWithFractionalSeconds 162ms
โœ… OPDS2FeedTests testParseDateWithoutFractionalSeconds 1ms
โœ… OPDS2FeedTests testParseFeedWithFacets 4ms
โœ… OPDS2FeedTests testParseFeedWithGroups 9ms
โœ… OPDS2FeedTests testParseFeedWithNavigation 4ms
โœ… OPDS2FeedTests testParseFeedWithPagination 1ms
โœ… OPDS2FeedTests testParseFeedWithPublications 17ms
โœ… OPDS2FeedTests testParseLinkWithIndirectAcquisition 8ms
โœ… OPDS2FeedTests testParseLinkWithProperties 208ms
โœ… OPDS2FeedTests testParseMinimalFeed 3ms
โœ… OPDS2FullMetadataTests testDecode_AllOptionalFields_ParsesCorrectly 14ms
โœ… OPDS2FullMetadataTests testDecode_AtIdKey_ParsesIdentifier 11ms
โœ… OPDS2FullMetadataTests testDecode_MissingId_GeneratesUUID 4ms
โœ… OPDS2FullMetadataTests testEncodeDecode_RoundTrip_PreservesData 5ms
โœ… OPDS2FullPublicationTests testAcquisitionLinks_FiltersCorrectly 62ms
โœ… OPDS2FullPublicationTests testBorrowLink_Found_ReturnsLink <1ms
โœ… OPDS2FullPublicationTests testCoverURL_CoverRel_ReturnsCorrectURL 2ms
โœ… OPDS2FullPublicationTests testCoverURL_LargeWidth_FallsBackToLargeImage 20ms
โœ… OPDS2FullPublicationTests testImageURL_NoRelImage_ReturnsFirst 1ms
โœ… OPDS2FullPublicationTests testIsAudiobook_AudiobookType_ReturnsTrue <1ms
โœ… OPDS2FullPublicationTests testIsEPUB_EpubType_ReturnsTrue <1ms
โœ… OPDS2FullPublicationTests testIsPDF_PdfType_ReturnsTrue <1ms
โœ… OPDS2FullPublicationTests testOpenAccessLink_Found_ReturnsLink <1ms
โœ… OPDS2FullPublicationTests testSampleLink_PreviewRel_ReturnsLink 2ms
โœ… OPDS2FullPublicationTests testSampleLink_SampleRel_ReturnsLink <1ms
โœ… OPDS2FullPublicationTests testThumbnailURL_SmallWidth_FallsBackToSmallImage 16ms
โœ… OPDS2FullPublicationTests testThumbnailURL_ThumbnailRel_ReturnsCorrectURL 47ms
โœ… OPDS2IntegrationTests testAllPublicationsConvertSuccessfully 17ms
โœ… OPDS2IntegrationTests testBorrowableBookConversion 206ms
โœ… OPDS2IntegrationTests testFeedFacets 4ms
โœ… OPDS2IntegrationTests testFeedIsGrouped 119ms
โœ… OPDS2IntegrationTests testFeedLinks 6ms
โœ… OPDS2IntegrationTests testFeedMetadata 5ms
โœ… OPDS2IntegrationTests testFormatDetection_JSON 12ms
โœ… OPDS2IntegrationTests testFormatDetection_XML 6ms
โœ… OPDS2IntegrationTests testFormatDetection_contentType 5ms
โœ… OPDS2IntegrationTests testFullPublicationFromJSON 793ms
โœ… OPDS2IntegrationTests testGroupCount 5ms
โœ… OPDS2IntegrationTests testNewAndNotableGroup 5ms
โœ… OPDS2IntegrationTests testOpenAccessBookConversion 18ms
โœ… OPDS2IntegrationTests testPopularAudiobooksGroup 44ms
โœ… OPDS2IntegrationTests testReadyBookConversion 7ms
โœ… OPDS2IntegrationTests testReservedBookWithLCPConversion 9ms
โœ… OPDS2IntegrationTests testStaffPicksGroup 5ms
โœ… OPDS2IntegrationTests testUnavailableAudiobookConversion 391ms
โœ… OPDS2LinkArrayTests testAllRel_MatchingLinks_ReturnsFiltered 8ms
โœ… OPDS2LinkArrayTests testAllRel_NoMatchingLinks_ReturnsEmpty <1ms
โœ… OPDS2LinkArrayTests testFirstRel_EmptyArray_ReturnsNil <1ms
โœ… OPDS2LinkArrayTests testFirstRel_MatchingLink_ReturnsFirst <1ms
โœ… OPDS2LinkArrayTests testFirstRel_NoMatch_ReturnsNil 5ms
โœ… OPDS2LinkComputedPropertyTests testHrefURL_InvalidURL_ReturnsNil <1ms
โœ… OPDS2LinkComputedPropertyTests testHrefURL_ValidURL_ReturnsURL <1ms
โœ… OPDS2LinkComputedPropertyTests testId_ReturnsHref <1ms
โœ… 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 176ms
โœ… OPDS2LinkComputedPropertyTests testIsImage_ImageType_ReturnsTrue <1ms
โœ… OPDS2LinkComputedPropertyTests testIsImage_NonImageType_ReturnsFalse 38ms
โœ… OPDS2LinkComputedPropertyTests testIsImage_ThumbnailRel_ReturnsTrue <1ms
โœ… OPDS2LinkComputedPropertyTests testIsOpenAccess_BorrowRel_ReturnsFalse <1ms
โœ… OPDS2LinkComputedPropertyTests testIsOpenAccess_CorrectRel_ReturnsTrue 12ms
โœ… OPDS2LinkComputedPropertyTests testIsSample_BorrowRel_ReturnsFalse 2ms
โœ… OPDS2LinkComputedPropertyTests testIsSample_PreviewRel_ReturnsTrue <1ms
โœ… OPDS2LinkComputedPropertyTests testIsSample_SampleRel_ReturnsTrue 4ms
โœ… OPDS2LinkComputedPropertyTests testLink_CodableRoundTrip_MinimalFields 801ms
โœ… OPDS2LinkComputedPropertyTests testLink_CodableRoundTrip_PreservesAllFields 1ms
โœ… OPDS2LinkRelTests testPasswordReset_hasCorrectRawValue 1ms
โœ… OPDS2LinkTests testLink_firstRelMethod_findsMatchingLink 20ms
โœ… OPDS2LinkTests testLink_hasHref 26ms
โœ… OPDS2ParsingTests testAuthDocument_basicAuthMechanism 1ms
โœ… OPDS2ParsingTests testAuthDocument_decodesTitleAndId 1ms
โœ… OPDS2ParsingTests testAuthDocument_featuresAndAnnouncements 3ms
โœ… OPDS2ParsingTests testAuthDocument_passwordResetLink_present <1ms
โœ… OPDS2ParsingTests testBookBridge_relationMapping_isExhaustiveForKnownRels <1ms
โœ… OPDS2ParsingTests testBookBridge_revokeAndIssues_excludedFromAcquisitions <1ms
โœ… OPDS2ParsingTests testBookBridge_unknownRel_returnsNil <1ms
โœ… OPDS2ParsingTests testCatalog_borrowLink_propertiesPreserved 36ms
โœ… OPDS2ParsingTests testCatalog_decodesWithExpectedPublicationCount 76ms
โœ… OPDS2ParsingTests testCatalog_isPublicationFeedFlag 1ms
โœ… OPDS2ParsingTests testCatalog_metadataTitleAndIdentifier 2ms
โœ… OPDS2ParsingTests testCatalog_multipleAuthors_preservedInOrder 25ms
โœ… OPDS2ParsingTests testCatalog_nextPageURL_capturedForPagination 1ms
โœ… OPDS2ParsingTests testCatalog_openAccessLink_isFlaggedOpenAccess 2ms
โœ… OPDS2ParsingTests testCatalog_publicationTitlesInOrder 7ms
โœ… OPDS2ParsingTests testCatalog_publication_imageURLs_separated 2ms
โœ… OPDS2ParsingTests testCatalog_searchURL_captured 2ms
โœ… OPDS2ParsingTests testCatalog_selfURL_captured 42ms
โœ… OPDS2ParsingTests testCatalogsFeed_parsesExistingFixture 2ms
โœ… OPDS2ParsingTests testCatalogsFeed_parsesSyntheticCatalogsArray 44ms
โœ… OPDS2ParsingTests testFeed_emptyData_throwsNotCrashes <1ms
โœ… OPDS2ParsingTests testFeed_emptyPublicationsArray_isEmptyNotNil <1ms
โœ… OPDS2ParsingTests testFeed_malformedJSON_throwsNotCrashes 9ms
โœ… OPDS2ParsingTests testFeed_publicationWithUnicodeTitle_preserved 1ms
โœ… OPDS2ParsingTests testFeed_publicationWithVeryLongTitle_preserved <1ms
โœ… OPDS2ParsingTests testGroupedFeed_decodesAllGroups 70ms
โœ… OPDS2ParsingTests testGroupedFeed_groupMoreURL_resolvesFromSelfOrSubsection 5ms
โœ… OPDS2ParsingTests testGroupedFeed_groupTitlesInOrder 172ms
โœ… OPDS2ParsingTests testGroupedFeed_navigationLanePreserved 44ms
โœ… OPDS2ParsingTests testGroupedFeed_publicationsPerGroup <1ms
โœ… OPDS2ParsingTests testProblemDocument_decodesAllRFC7807Fields <1ms
โœ… OPDS2ParsingTests testProblemDocument_malformedJSON_throwsNotCrashes <1ms
โœ… OPDS2ParsingTests testPublication_imageURLs_areExtractedFromImagesArray <1ms
โœ… OPDS2ParsingTests testPublication_isSampleClassifier_acceptsBothPreviewAndSampleRel <1ms
โœ… OPDS2ParsingTests testPublication_multipleAcquisitionLinks_allRetained 17ms
โœ… OPDS2ParsingTests testPublication_toBook_skipsWhenNoAcquisitionLinks 24ms
โœ… OPDS2ParsingTests testPublication_toBook_skipsWhenNoSupportedAcquisitionPath <1ms
โœ… OPDS2ParsingTests testPublication_toBook_succeedsForSupportedEpubOpenAccess 10ms
โœ… OPDS2PublicationExtendedTests testContributorDecodesFromObject <1ms
โœ… OPDS2PublicationExtendedTests testContributorDecodesFromString 49ms
โœ… OPDS2PublicationExtendedTests testConvertAcquisitionFromBorrowLink 43ms
โœ… OPDS2PublicationExtendedTests testConvertAcquisitionFromNonAcquisitionLink <1ms
โœ… OPDS2PublicationExtendedTests testConvertAcquisitionSynthesizesIndirectForBearerToken 42ms
โœ… OPDS2PublicationExtendedTests testConvertAcquisitionSynthesizesIndirectForLCP <1ms
โœ… OPDS2PublicationExtendedTests testConvertAcquisitionWithExplicitIndirectAcquisitions 98ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityAvailableWithCopies <1ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityAvailableWithoutCopies <1ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityNil <1ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityReady 104ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityReserved <1ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityReservedWithZeroPosition <1ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityUnavailable 728ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityUnknownState <1ms
โœ… OPDS2PublicationExtendedTests testConvertIndirectAcquisitionsFlat 1ms
โœ… OPDS2PublicationExtendedTests testConvertIndirectAcquisitionsNested 364ms
โœ… OPDS2PublicationExtendedTests testConvertIndirectAcquisitions_nilOrEmptyInputYieldsEmptyResult <1ms
โœ… OPDS2PublicationExtendedTests testExtractImageURLsFallsBackToFirstImage <1ms
โœ… OPDS2PublicationExtendedTests testExtractImageURLsNil <1ms
โœ… OPDS2PublicationExtendedTests testExtractImageURLsWithExplicitRels 193ms
โœ… OPDS2PublicationExtendedTests testExtractSpecialLinks 225ms
โœ… OPDS2PublicationExtendedTests testExtractSpecialLinksEmpty <1ms
โœ… OPDS2PublicationExtendedTests testFullMetadataCodableRoundTrip 8ms
โœ… OPDS2PublicationExtendedTests testFullMetadataDecodesWithAlternateIdKey <1ms
โœ… OPDS2PublicationExtendedTests testFullMetadataDecodesWithMissingIdentifier <1ms
โœ… OPDS2PublicationExtendedTests testFullPublicationAcquisitionLinks 1ms
โœ… OPDS2PublicationExtendedTests testFullPublicationContentType <1ms
โœ… OPDS2PublicationExtendedTests testFullPublicationDurationFormatting <1ms
โœ… OPDS2PublicationExtendedTests testFullPublicationDurationFormattingSubHour 21ms
โœ… OPDS2PublicationExtendedTests testFullPublicationId_delegatesToMetadataIdentifierAcrossInstances <1ms
โœ… OPDS2PublicationExtendedTests testFullPublicationImageURLs <1ms
โœ… OPDS2PublicationExtendedTests testFullPublicationToBookReturnsNilWithNoAcquisitions <1ms
โœ… OPDS2PublicationExtendedTests testFullPublication_seriesNameAndURL_extractedFromBelongsTo 8ms
โœ… OPDS2PublicationExtendedTests testFullPublication_seriesNameOnly_whenLinksAbsent 48ms
โœ… OPDS2PublicationExtendedTests testFullPublication_seriesNil_whenBelongsToAbsent 6ms
โœ… OPDS2PublicationExtendedTests testFullPublication_seriesNil_whenBelongsToSeriesEmpty 2ms
โœ… OPDS2PublicationExtendedTests testOPDS2FullPublication_toBook_streamingMediaOnlyAcquisition_doesNotDrop 188ms
โœ… OPDS2PublicationExtendedTests testOPDS2Publication_toBook_streamingMediaOnlyAcquisition_doesNotDrop 3ms
โœ… OPDS2PublicationExtendedTests testOPDS2Publication_toBook_trulyUnsupportedFormat_stillDropped <1ms
โœ… OPDS2PublicationExtendedTests testRelationFromBorrow 925ms
โœ… OPDS2PublicationExtendedTests testRelationFromBuy 1ms
โœ… OPDS2PublicationExtendedTests testRelationFromGenericAcquisition 58ms
โœ… OPDS2PublicationExtendedTests testRelationFromIssuesRelIsNil <1ms
โœ… OPDS2PublicationExtendedTests testRelationFromNonAcquisitionRel <1ms
โœ… OPDS2PublicationExtendedTests testRelationFromOpenAccess <1ms
โœ… OPDS2PublicationExtendedTests testRelationFromPreview 2ms
โœ… OPDS2PublicationExtendedTests testRelationFromRevokeRelIsNil 875ms
โœ… OPDS2PublicationExtendedTests testRelationFromSample <1ms
โœ… OPDS2PublicationExtendedTests testRelationFromSubscribe <1ms
โœ… OPDS2PublicationExtendedTests testRelationFromUnknownAcquisitionSubtype <1ms
โœ… OPDS2PublicationExtendedTests testSubjectDecodesFromObject <1ms
โœ… OPDS2PublicationExtendedTests testSubjectDecodesFromString <1ms
โœ… OPDS2PublicationImageTests testCoverURL_CoverRel_ReturnsURL <1ms
โœ… OPDS2PublicationImageTests testImageURL_NoImages_ReturnsNil 1ms
โœ… OPDS2PublicationImageTests testImageURL_NonPNGImage_ReturnsNil 3ms
โœ… OPDS2PublicationImageTests testImageURL_PNGImage_ReturnsURL 2ms
โœ… OPDS2PublicationImageTests testThumbnailURL_NoThumbnailRel_ReturnsNil 3ms
โœ… OPDS2PublicationImageTests testThumbnailURL_ThumbnailRel_ReturnsURL 2ms
โœ… OPDS2PublicationNarratorTests testToBook_WithMultipleNarrators_JoinsWithSemicolons <1ms
โœ… OPDS2PublicationNarratorTests testToBook_WithNarratorInJSON_ExposesNarratorOnBook 1ms
โœ… OPDS2PublicationNarratorTests testToBook_WithoutNarrator_BookHasNilNarrators <1ms
โœ… OPDS2PublicationTests testPublication_hasRequiredFields 559ms
โœ… OPDS2PublicationTests testPublication_metadataHasTitle 45ms
โœ… OPDS2SamlIDPTests testDisplayName_WithEnglishName_ReturnsEnglishValue <1ms
โœ… OPDS2SamlIDPTests testDisplayName_WithNoEnglishName_ReturnsNil 1ms
โœ… OPDS2SamlIDPTests testIdpDescription_WithEnglishDescription_ReturnsValue 118ms
โœ… OPDS2SamlIDPTests testIdpDescription_WithNoDescriptions_ReturnsNil <1ms
โœ… OPDS2SamlIDPTests testInit_WithInvalidHref_ReturnsNil 101ms
โœ… OPDS2SamlIDPTests testInit_WithValidLink_MapsURLCorrectly <1ms
โœ… OPDS2SearchResultsContractTests testSearchResults_ContainsThreePublications 1ms
โœ… OPDS2SearchResultsContractTests testSearchResults_HasNextPageLink 1ms
โœ… OPDS2SearchResultsContractTests testSearchResults_ParsesWithPagination 4ms
โœ… OPDS2SubjectTests testDecode_ObjectValue_ParsesAllFields 103ms
โœ… OPDS2SubjectTests testDecode_StringValue_ParsesAsName 3ms
โœ… OPDS2SupportingTypesTests testBelongsTo_SeriesWithPosition 5ms
โœ… OPDS2SupportingTypesTests testFacetLink_IsActive_WithNumberOfItems_ReturnsTrue 183ms
โœ… OPDS2SupportingTypesTests testFacetLink_IsActive_WithoutProperties_ReturnsFalse <1ms
โœ… OPDS2SupportingTypesTests testIndirectAcquisition_NestedChild 6ms
โœ… OPDS2SupportingTypesTests testPrice_CodableRoundTrip 9ms
โœ… OPDSAcquisitionPathExpandedTests test_acquisitionFromSingleEntry_hasDictionaryRepresentation 1ms
โœ… OPDSAcquisitionPathExpandedTests test_acquisitionRelationString_distinctStringsForOpenAccessAndBorrow <1ms
โœ… OPDSAcquisitionPathExpandedTests test_entryFromSingleEntryXML_hasAuthors 6ms
โœ… OPDSAcquisitionPathExpandedTests test_entryFromSingleEntryXML_hasCorrectTitle 5ms
โœ… OPDSAcquisitionPathExpandedTests test_entryFromSingleEntryXML_hasIdentifier 3ms
โœ… OPDSAcquisitionPathExpandedTests test_entryInitWithInvalidXML_returnsNil <1ms
โœ… OPDSAcquisitionPathExpandedTests test_feedFromMainXML_hasEntries 31ms
โœ… OPDSAcquisitionPathExpandedTests test_feedFromMainXML_hasIdentifier 36ms
โœ… OPDSAcquisitionPathExpandedTests test_feedFromMainXML_hasLinks 27ms
โœ… OPDSAcquisitionPathExpandedTests test_feedFromMainXML_hasTitle 26ms
โœ… OPDSAcquisitionPathExpandedTests test_feedFromMainXML_hasUpdatedDate 27ms
โœ… OPDSAcquisitionPathExpandedTests test_initWithNilXML_returnsNilOnFeedAndLink 2ms
โœ… OPDSAcquisitionPathExpandedTests test_linkFromSingleEntryXML_hasHref 7ms
โœ… OPDSAcquisitionPathExpandedTests test_linksFromSingleEntryXML_haveCorrectCount 1ms
โœ… OPDSAcquisitionPathExpandedTests test_supportedTypes_andAudiobookTypes_areNonEmptyAndDistinguishable 1ms
โœ… OPDSFeedCacheTests testCacheEntryIsExpired 44ms
โœ… OPDSFeedCacheTests testCacheEntryIsStale 5ms
โœ… OPDSFeedCacheTests testClear 16ms
โœ… OPDSFeedCacheTests testConditionalHeaders 4ms
โœ… OPDSFeedCacheTests testConditionalHeadersEmptyWhenNoCachedEntry 4ms
โœ… OPDSFeedCacheTests testExpiredEntriesNotReturned 19ms
โœ… OPDSFeedCacheTests testGetNonExistent 3ms
โœ… OPDSFeedCacheTests testGetWithRevalidationFetchesWhenNoCache 31ms
โœ… OPDSFeedCacheTests testGetWithRevalidationReturnsFreshData 6ms
โœ… OPDSFeedCacheTests testLRUEviction 63ms
โœ… OPDSFeedCacheTests testLRUUpdatesOnAccess 154ms
โœ… OPDSFeedCacheTests testRemove 4ms
โœ… OPDSFeedCacheTests testSetAndGet 9ms
โœ… OPDSFeedCacheTests testStats 4ms
โœ… OPDSFeedMigrationTests testErrorMessageFallback_noDetail_usesLocalizedDescription 8ms
โœ… OPDSFeedMigrationTests testErrorMessageFallback_problemDocDetail 65ms
โœ… OPDSFeedMigrationTests testHalfSheetProvider_showAlert_exists <1ms
โœ… OPDSFeedMigrationTests testReturnBook_authErrors_notTolerated 5ms
โœ… OPDSFeedMigrationTests testReturnBook_nonOPDSRevokeResponse_treatedAsSuccess <1ms
โœ… OPDSFeedMigrationTests testReturnBook_otherParsingErrors_notTolerated <1ms
โœ… OPDSFeedMigrationTests testSignInModalPresenter_needsAuthCheck_anonymousReturnsFalse <1ms
โœ… OPDSFeedMigrationTests testSignInModalPresenter_needsAuthCheck_basicReturnsTrue 2ms
โœ… OPDSFeedMigrationTests testSignInModalPresenter_needsAuthCheck_oidcReturnsTrue 1ms
โœ… OPDSFeedMigrationTests testSyntheticErrorDict_containsHTTPStatus 3ms
โœ… OPDSFeedMigrationTests testSyntheticErrorDict_parsesAsProblemDocument 6ms
โœ… OPDSFeedParsingTests testParseInvalidOPDSFeed 5ms
โœ… OPDSFeedParsingTests testParseValidOPDSFeed 73ms
โœ… OPDSFeedServiceStateMachineTests testFetchLoansFeed_blocksUntilLoaded_thenFetches 448ms
โœ… OPDSFeedServiceStateMachineTests testFetchLoansFeed_failedDetailsLoad_throws 61ms
โœ… OPDSFeedServiceStateMachineTests testFetchLoansFeed_failedDetailsLoad_throwsAccountLoadError_notPalaceError 140ms
โœ… OPDSFeedServiceTests testCancelAllRequests_isNoOpAndIdempotent_whenNothingInFlight 80ms
โœ… OPDSFeedServiceTests testCancelRequest_isNoOpAndIdempotent_whenNoInflightRequestForUrl 8ms
โœ… OPDSFormatTests testDetectIsCaseInsensitive 1ms
โœ… OPDSFormatTests testDetectOPDS1FromAtomXMLContentType 1ms
โœ… OPDSFormatTests testDetectOPDS1FromGenericXMLContentType 67ms
โœ… OPDSFormatTests testDetectOPDS1FromXMLData <1ms
โœ… OPDSFormatTests testDetectOPDS2FromGenericJSONContentType <1ms
โœ… OPDSFormatTests testDetectOPDS2FromJSONArrayData <1ms
โœ… OPDSFormatTests testDetectOPDS2FromJSONContentType <1ms
โœ… OPDSFormatTests testDetectOPDS2FromJSONData 219ms
โœ… OPDSFormatTests testDetectUnknownFromEmptyData 1ms
โœ… OPDSFormatTests testDetectUnknownFromNilContentType 625ms
โœ… OPDSFormatTests testDetectUnknownFromUnrelatedContentType 1ms
โœ… OPDSFormatTests testOPDS1RawValue 1ms
โœ… OPDSFormatTests testOPDS2RawValue 52ms
โœ… OPDSParserCoreTests testParseEmptyDataThrows <1ms
โœ… OPDSParserCoreTests testParseInvalidXMLThrows 1ms
โœ… OPDSParserCoreTests testParseValidOPDS1Feed 1ms
โœ… OPDSParserCoreTests testParserErrorDescriptions <1ms
โœ… OPDSParserTests testParseFeed_throwsForInvalidData 49ms
โœ… OPDSParserTests testParseFeed_throwsForNonXML 1ms
โœ… OPDSParserTests testParserError_invalidFeed <1ms
โœ… OPDSParserTests testParserError_invalidXML 2ms
โœ… OPDSParsingTests testAcquisitionLinks 3ms
โœ… OPDSParsingTests testAnalyticsURLGeneration 24ms
โœ… OPDSParsingTests testAuthorWithMissingName 37ms
โœ… OPDSParsingTests testCategoryWithMissingTerm 50ms
โœ… OPDSParsingTests testEmptyXMLData 1ms
โœ… OPDSParsingTests testEntryExtractionFromFeed 1ms
โœ… OPDSParsingTests testEntryWithCategories 1ms
โœ… OPDSParsingTests testEntryWithContributors 19ms
โœ… OPDSParsingTests testEntryWithDuration 1ms
โœ… OPDSParsingTests testEntryWithMissingId 1ms
โœ… OPDSParsingTests testEntryWithMissingTitle <1ms
โœ… OPDSParsingTests testEntryWithMissingUpdated <1ms
โœ… OPDSParsingTests testEntryWithMultipleAuthors 2ms
โœ… OPDSParsingTests testEntryWithNamespacedContributorRoles_ParsesNarrator 4ms
โœ… OPDSParsingTests testEntryWithPublisherAndDistribution 2ms
โœ… OPDSParsingTests testEntryWithUnnamespacedContributorRole_StillParses 102ms
โœ… OPDSParsingTests testEntry_AudienceAndLanguageNilWhenAbsent <1ms
โœ… OPDSParsingTests testEntry_AudienceCategoryIsNotInRegularCategoryList 397ms
โœ… OPDSParsingTests testEntry_ParsesAudienceFromSchemaOrgCategory 37ms
โœ… OPDSParsingTests testEntry_ParsesLanguageWithDctermsNamespace <1ms
โœ… OPDSParsingTests testEntry_ParsesLanguageWithoutNamespaceDeclaration 34ms
โœ… OPDSParsingTests testFeedIgnoresMalformedEntries 62ms
โœ… OPDSParsingTests testFeedIgnoresMalformedLinks 17ms
โœ… OPDSParsingTests testFeedInitializationFromCompleteFeed 2ms
โœ… OPDSParsingTests testFeedInitializationFromMinimalXML 272ms
โœ… OPDSParsingTests testFeedInitializationFromSingleEntry <1ms
โœ… OPDSParsingTests testFeedParsingPerformance 5.45s
โœ… OPDSParsingTests testFeedTypeAcquisitionGrouped <1ms
โœ… OPDSParsingTests testFeedTypeAcquisitionUngrouped 3ms
โœ… OPDSParsingTests testFeedTypeAcquisitionUngroupedWithEmptyFeed <1ms
โœ… OPDSParsingTests testFeedTypeNavigation 1ms
โœ… OPDSParsingTests testFeedWithInvalidDate 1ms
โœ… OPDSParsingTests testFeedWithLicensorAndPatron 6ms
โœ… OPDSParsingTests testFeedWithMissingId 16ms
โœ… OPDSParsingTests testFeedWithMissingTitle <1ms
โœ… OPDSParsingTests testFeedWithMissingUpdated 1.27s
โœ… OPDSParsingTests testGroupAttributes 4ms
โœ… OPDSParsingTests testHTMLEntityDecoding <1ms
โœ… OPDSParsingTests testImageLinks 2ms
โœ… OPDSParsingTests testLinkInitialization 4ms
โœ… OPDSParsingTests testLinkRelationAlternate 2ms
โœ… OPDSParsingTests testLinkRelationAnnotations 1ms
โœ… OPDSParsingTests testLinkRelationRelatedWorks 1ms
โœ… OPDSParsingTests testLinkRelationTimeTracking 28ms
โœ… OPDSParsingTests testLinkWithMissingHref 8ms
โœ… OPDSParsingTests testLinkWithOptionalAttributesNil <1ms
โœ… OPDSParsingTests testMalformedXML 1ms
โœ… OPDSParsingTests testNilXMLFeed <1ms
โœ… OPDSParsingTests testNonMarketplaceHTMLPreviewIsAccepted 8ms
โœ… OPDSParsingTests testPalaceMarketplaceHTMLPreviewIsAccepted 1ms
โœ… OPDSParsingTests testPreviewLinkParsing <1ms
โœ… OPDSParsingTests testPreviewLinkUsesFirstAvailable 188ms
โœ… OPDSParsingTests testRFC3339DateParsing 4ms
โœ… OPDSParsingTests testSeriesLink 1ms
โœ… OPDSParsingTests testSeriesLinkParsedFromEntry 1ms
โœ… OPDSParsingTests testTPPBookFromEntry_populatesSeriesNameAndURLFromSeriesLink 1ms
โœ… OPDSParsingTests testTPPBookFromEntry_seriesNameAndURLNilWhenNoSeriesElement 1ms
โœ… OfflineActionTests testActionState_CodableRoundTrip <1ms
โœ… OfflineActionTests testActionType_CodableRoundTrip 124ms
โœ… OfflineActionTests testBorrowAction_Creation 2ms
โœ… OfflineActionTests testCanRetry_CompletedState_False 42ms
โœ… OfflineActionTests testCanRetry_FailedExceedingMaxRetries_False 681ms
โœ… OfflineActionTests testCanRetry_FailedWithRetriesExhausted_False <1ms
โœ… OfflineActionTests testCanRetry_FailedWithRetriesRemaining_True <1ms
โœ… OfflineActionTests testCanRetry_PendingState_False <1ms
โœ… OfflineActionTests testCanRetry_ProcessingState_False 134ms
โœ… OfflineActionTests testCanRetry_ZeroMaxRetries_AlwaysFalse <1ms
โœ… OfflineActionTests testCancelHoldAction_Creation 1ms
โœ… OfflineActionTests testCodableRoundTrip_AllActionTypes 15ms
โœ… OfflineActionTests testCodableRoundTrip_FailedAction 1.09s
โœ… OfflineActionTests testCodableRoundTrip_PendingAction 28ms
โœ… OfflineActionTests testCustomMaxRetries <1ms
โœ… OfflineActionTests testDisplayDescription_Borrow <1ms
โœ… OfflineActionTests testDisplayDescription_CancelHold 1ms
โœ… OfflineActionTests testDisplayDescription_Hold 1ms
โœ… OfflineActionTests testDisplayDescription_Return 36ms
โœ… OfflineActionTests testEquality_DifferentID_NotEqual <1ms
โœ… OfflineActionTests testEquality_SameID_Equal <1ms
โœ… OfflineActionTests testHoldAction_Creation 16ms
โœ… OfflineActionTests testNextRetryDelay_FirstRetry <1ms
โœ… OfflineActionTests testNextRetryDelay_FourthRetry <1ms
โœ… OfflineActionTests testNextRetryDelay_GrowsExponentially <1ms
โœ… OfflineActionTests testNextRetryDelay_SecondRetry 95ms
โœ… OfflineActionTests testNextRetryDelay_ThirdRetry <1ms
โœ… OfflineActionTests testRetryCount_IncrementWorks <1ms
โœ… OfflineActionTests testReturnAction_Creation 2ms
โœ… OfflineQueueCoordinatorTests testDedupe_completedKeyExpiresAfterTTL 10ms
โœ… OfflineQueueCoordinatorTests testDifferentBooks_areNotDeduped 2.08s
โœ… OfflineQueueCoordinatorTests testDispatch_routesEachTypeToItsHandler 8ms
โœ… OfflineQueueCoordinatorTests testDuplicateReturn_isDeduped 16ms
โœ… OfflineQueueCoordinatorTests testFailedBorrow_isNotMarkedDone_staysQueued 9ms
โœ… OfflineQueueCoordinatorTests testFailedReturn_isRetryable_notPermanentlyDeduped 3ms
โœ… OfflineQueueCoordinatorTests testIsActiveLoanState_confirmsOnlyBorrowedStates <1ms
โœ… OfflineQueueCoordinatorTests testIsHeldState_confirmsOnlyHolding 11ms
โœ… OfflineQueueCoordinatorTests testIsReturnConfirmed_requiresUnregisteredOrAbsent 221ms
โœ… OfflineQueueCoordinatorTests testRegisterExecutor_installsWorkingExecutor 31ms
โœ… OfflineQueueCoordinatorTests testSameBookDifferentType_areNotDeduped 9ms
โœ… OfflineQueueServiceExtendedTests testCancel_NonexistentAction_NoOp 8ms
โœ… OfflineQueueServiceExtendedTests testCancel_SpecificPendingAction 27ms
โœ… OfflineQueueServiceExtendedTests testClearFailed_RemovesOnlyFailedActions 567ms
โœ… OfflineQueueServiceExtendedTests testIsProcessing_InitiallyFalse 238ms
โœ… OfflineQueueServiceExtendedTests testMaxRetriesReached_ActionMarkedAsFailed 3.02s
โœ… OfflineQueueServiceExtendedTests testPersistence_ProcessingState_ResetToPending 10ms
โœ… OfflineQueueServiceExtendedTests testPersistence_SaveAndReload 2.86s
โœ… OfflineQueueServiceExtendedTests testProcessQueue_FIFO_Order 518ms
โœ… OfflineQueueServiceExtendedTests testQueueStatus_EmptyQueue 2ms
โœ… OfflineQueueServiceExtendedTests testQueueStatus_Summary_AllStates 16ms
โœ… OfflineQueueServiceExtendedTests testQueueStatus_TotalActive 4ms
โœ… OfflineQueueServiceExtendedTests testQueueStatus_WithPendingActions 1.62s
โœ… OfflineQueueServiceExtendedTests testRetry_MovesFailedToPending 1.73s
โœ… OfflineQueueServiceTests testActionPublisherEmits 10ms
โœ… OfflineQueueServiceTests testCancelPendingAction 8ms
โœ… OfflineQueueServiceTests testClearFailed 224ms
โœ… OfflineQueueServiceTests testEnqueueAction 3ms
โœ… OfflineQueueServiceTests testEnqueueMultipleActions 3ms
โœ… OfflineQueueServiceTests testExponentialBackoff 3ms
โœ… OfflineQueueServiceTests testMaxRetriesExceeded 1.03s
โœ… OfflineQueueServiceTests testNetworkAvailableTriggersProcessing 208ms
โœ… OfflineQueueServiceTests testOfflineActionCanRetry 1ms
โœ… OfflineQueueServiceTests testOfflineActionDisplayDescription 4ms
โœ… OfflineQueueServiceTests testOfflineQueueStatusSummary <1ms
โœ… OfflineQueueServiceTests testProcessQueueFIFOOrder 224ms
โœ… OfflineQueueServiceTests testProcessQueueSuccess 116ms
โœ… OfflineQueueServiceTests testProcessingStateResetOnRestart 7ms
โœ… OfflineQueueServiceTests testQueuePersistsAcrossInstances 8ms
โœ… OfflineQueueServiceTests testRetryFailedAction 5.03s
โœ… OfflineQueueServiceTests testStatusPublisherEmits 36ms
โœ… OpenAccessAdapterTests testCanHandle_anyOPDSBook_returnsTrueAsFallback 3ms
โœ… OpenAccessAdapterTests testEmptyManifest_stillThrows 1ms
โœ… OpenAccessAdapterTests testOverdriveDescriptorManifest_decodesAndTypesAsOverdrive 49ms
โœ… OpenAccessAdapterTests testOverdriveFormatWithoutContentLinks_stillThrows <1ms
โœ… OpenAccessAdapterTests testResolveManifest_bearerSecondLegReturnsNil_failsWithManifestFetchFailed 28ms
โœ… OpenAccessAdapterTests testResolveManifest_bearerWrapperButNoFetcher_returnsBodyVerbatim 6ms
โœ… OpenAccessAdapterTests testResolveManifest_bearerWrapperWithFetcher_followsSecondLegToRealManifest 12ms
โœ… OpenAccessAdapterTests testResolveManifest_emptyData_failsWithManifestFetchFailed 549ms
โœ… OpenAccessAdapterTests testResolveManifest_htmlResponse_failsWithManifestFetchFailed 4ms
โœ… OpenAccessAdapterTests testResolveManifest_invalidJSON_failsWithManifestParseFailed 6ms
โœ… OpenAccessAdapterTests testResolveManifest_networkError_failsWithManifestFetchFailed 116ms
โœ… OpenAccessAdapterTests testResolveManifest_plainManifestWithFetcher_returnsDirectlyWithoutSecondLeg 6ms
โœ… OpenAccessAdapterTests testResolveManifest_successPath_completesWithJSON 136ms
โœ… OverdriveDeferredFulfillmentTests testDeferFires_whenDownloadFailedWithBorrowAcquisition 33ms
โœ… OverdriveDeferredFulfillmentTests testDeferFires_whenDownloadNeededWithBorrowAcquisition <1ms
โœ… OverdriveDeferredFulfillmentTests testDeferSkipped_whenDefaultAcquisitionIsGeneric 1ms
โœ… OverdriveDeferredFulfillmentTests testDeferSkipped_whenDefaultAcquisitionIsOpenAccess 1ms
โœ… OverdriveDeferredFulfillmentTests testDeferSkipped_whenStateIsHolding 3ms
โœ… OverdriveDeferredFulfillmentTests testDeferSkipped_whenStateIsUnregistered 1ms
โœ… OverdriveDownloadHandlerTests testDeferOverdriveFulfillment_publishesLoanAlreadyExistsBorrowError 35ms
โœ… OverdriveDownloadHandlerTests testHandleOverdriveResponse_completionWithError_failsDownloadAndSkipsManifestBuild 128ms
โœ… OverdriveDownloadHandlerTests testHandleOverdriveResponse_manifestFactoryReturnsNil_failsDownload 45ms
โœ… OverdriveDownloadHandlerTests testHandleOverdriveResponse_missingLocationHeader_failsDownload 41ms
โœ… OverdriveDownloadHandlerTests testHandleOverdriveResponse_uppercaseHeaderKeys_arelowercaseNormalized 6ms
โœ… OverdriveDownloadHandlerTests testHandleOverdriveResponse_validHeaders_buildsManifestRequestAndAddsDownloadTask 335ms
โœ… OverdriveDownloadHandlerTests testProcessOverdriveDownload_whenWifiEnforced_failsWithWifiAndDoesNotCallAPI 38ms
โœ… OverdriveDownloadHandlerTests testProcessOverdriveDownload_withAuthToken_issuesTokenFulfillRequest 3ms
โœ… OverdriveDownloadHandlerTests testProcessOverdriveDownload_withBarcodePin_issuesBasicFulfillRequest 6ms
โœ… OverdriveFulfillmentTests testHttpStatusCode_extractsFromUserInfo_underlyingChain_andNil 1ms
โœ… OverdriveFulfillmentTests testIsResourceUnavailable_flattenedScalars_wrongDomain_returnsFalse 1ms
โœ… OverdriveFulfillmentTests testIsResourceUnavailable_matchesMinus1008_rejectsOffline_timeout_andNil 5ms
โœ… OverdriveFulfillmentTests testIsResourceUnavailable_throughBuildPlaybackFailureRecord_stillTriggers 4ms
โœ… OverdriveFulfillmentTests testOverdriveRefulfillOutcome_landed_terminalFailure_and_keepPolling 1ms
โœ… OverdriveFulfillmentTests testOverdriveRefulfill_401_returnsFalse_authNotExpiry 1ms
โœ… OverdriveFulfillmentTests testOverdriveRefulfill_403_returnsFalse_ambiguousEntitlement 1ms
โœ… OverdriveFulfillmentTests testOverdriveRefulfill_410ButAlreadyAttempted_returnsFalse_bounded 2ms
โœ… OverdriveFulfillmentTests testOverdriveRefulfill_410ButNotOverdrive_returnsFalse 8ms
โœ… OverdriveFulfillmentTests testOverdriveRefulfill_410InUnderlyingError_returnsTrue 1ms
โœ… OverdriveFulfillmentTests testOverdriveRefulfill_410OnOverdriveBook_returnsTrue 1ms
โœ… OverdriveFulfillmentTests testOverdriveRefulfill_noHttpStatus_returnsFalse_conservative 2ms
โœ… OverdriveFulfillmentTests testOverdriveRefulfill_notConnected1009_returnsFalse_offlineIsNotExpiry 1ms
โœ… OverdriveFulfillmentTests testOverdriveRefulfill_resourceUnavailable1008_alreadyAttempted_returnsFalse_bounded 1ms
โœ… OverdriveFulfillmentTests testOverdriveRefulfill_resourceUnavailable1008_flattenedScalars_returnsTrue 1ms
โœ… OverdriveFulfillmentTests testOverdriveRefulfill_resourceUnavailable1008_nestedUnderlying_returnsTrue 1ms
โœ… OverdriveFulfillmentTests testOverdriveRefulfill_resourceUnavailable1008_notOverdrive_returnsFalse 4ms
โœ… OverdriveFulfillmentTests testOverdriveRefulfill_resourceUnavailable1008_topLevel_returnsTrue 5ms
โœ… OverdriveFulfillmentTests testOverdriveRefulfill_timedOut1001_returnsFalse_transientNotExpiry 6ms
โŠ˜ OverdriveFulfillmentTests testRefulfill_freshManifestURL_isConsumedIntoBuiltAudiobook 4ms
โœ… OverdriveFulfillmentTests test_overdriveAudiobook_deferredFulfillment_isUsedWhenStateMatches 37ms
โœ… OverdriveFulfillmentTests test_overdriveOPDSEntry_postBorrow_recognizesBorrowURLAsStale 5ms
โœ… OverdriveFulfillmentTests test_overdriveScope_addsCorrectHeaders 3ms
โœ… OverdriveFulfillmentTests test_overdriveTokenAbsent_fallsBackToBasicAuth 4ms
โœ… OverdriveFulfillmentTests test_overdriveTokenRefresh_beforeOpen 6ms
โœ… PDFExtensionsTests testBookmarkSelector_RoundTrips_AsTPPPDFPageBookmark 756ms
โœ… PDFExtensionsTests testBookmarkSelector_ValidPage_ContainsLocatorPageType 71ms
โœ… PDFExtensionsTests testLocationString_PageZero_ReturnsValidJSON 1ms
โœ… PDFExtensionsTests testLocationString_RoundTrips_WithDecoder 3ms
โœ… PDFExtensionsTests testLocationString_ValidPage_ReturnsJSONString 208ms
โœ… PDFExtensionsTests testPageNumber_EmptyLocationString_ReturnsNil 2ms
โœ… PDFExtensionsTests testPageNumber_InvalidLocationString_ReturnsNil 81ms
โœ… PDFExtensionsTests testPageNumber_LargePageNumber_ReturnsCorrectly 1ms
โœ… PDFExtensionsTests testPageNumber_NonPDFLocationString_ReturnsNil 26ms
โœ… PDFExtensionsTests testPageNumber_PageZero_ReturnsZero 7ms
โœ… PDFExtensionsTests testPageNumber_ValidLocationString_ReturnsPageNumber <1ms
โœ… PDFExtensionsTests testPdfImageRenderingQueue_CreatesNewInstanceEachTime <1ms
โœ… PDFExtensionsTests testPdfImageRenderingQueue_HasCorrectLabel 2ms
โœ… PDFExtensionsTests testPdfPreviewSize_IsLargerThanThumbnail 430ms
โœ… PDFExtensionsTests testPdfPreviewSize_IsSquare <1ms
โœ… PDFExtensionsTests testPdfPreviewSize_ReturnsExpectedDimensions <1ms
โœ… PDFExtensionsTests testPdfThumbnailRenderingQueue_CreatesNewInstanceEachTime <1ms
โœ… PDFExtensionsTests testPdfThumbnailRenderingQueue_HasCorrectLabel 5ms
โœ… PDFExtensionsTests testPdfThumbnailSize_IsSquare 8ms
โœ… PDFExtensionsTests testPdfThumbnailSize_ReturnsExpectedDimensions 2ms
โœ… PDFKitThumbnailProviderTests testCachedThumbnail_isNil_beforeAnyRender 2.62s
โœ… PDFKitThumbnailProviderTests testPageCount_reflectsDocument 4ms
โœ… PDFKitThumbnailProviderTests testThumbnail_lastValidPage_renders 4ms
โœ… PDFKitThumbnailProviderTests testThumbnail_outOfBounds_returnsNilAndDoesNotCache 3ms
โœ… PDFKitThumbnailProviderTests testThumbnail_rendersAndCaches 11ms
โœ… PDFReaderTests testLCPPDFBook_ContentType 43ms
โœ… PDFReaderTests testPDFBook_ContentType 98ms
โœ… PDFReaderTests testPDFPageBookmark_ConformsToBookmark 2ms
โœ… PDFReaderTests testPDFPageBookmark_Decoding 48ms
โœ… PDFReaderTests testPDFPageBookmark_Encoding 150ms
โœ… PDFReaderTests testPDFPageBookmark_Initialization 3ms
โœ… PDFReaderTests testPDFPageBookmark_WithAnnotationID <1ms
โœ… PDFReaderTests testPDFPage_Decoding <1ms
โœ… PDFReaderTests testPDFPage_Encoding 5ms
โœ… PDFReaderTests testPDFPage_Initialization 23ms
โœ… PDFReaderTests testPDFPage_RoundTrip 2ms
โœ… PDFReaderTests testReaderMode_Values 1ms
โœ… PDFSearchEmptyStateTests testShowsNoResults_committedQueryWithMatches_hidesEmptyState 9ms
โœ… PDFSearchEmptyStateTests testShowsNoResults_committedQueryWithZeroMatches_showsEmptyState 1ms
โœ… PDFSearchEmptyStateTests testShowsNoResults_shortQuery_neverShowsEmptyState 1ms
โœ… PDFSearchEmptyStateTests testShowsNoResults_thresholdBoundary_isThreeChars <1ms
โœ… PP3596RegressionTests testPP3596_multiplePlaybackStartedCalls_shouldNotOvercount 198ms
โœ… PP3596RegressionTests testPP3596_onlyActualPlaybackIsTracked 80ms
โœ… PP3596RegressionTests testPP3596_playbackStartedWithoutPlayback_shouldNotAccumulateTime 13ms
โœ… Palace PalaceTests <1ms
โœ… Palace TenPrintCoverTests <1ms
โœ… PalaceCheckPropertyTests test_BackoffDelay_isNonNegativeAndMonotone 258ms
โœ… PalaceCheckPropertyTests test_BookButtonMapper_map_isTotal_forAllStates 169ms
โœ… PalaceCheckPropertyTests test_OPDS2Publication_jsonRoundTrip 12ms
โœ… PalaceCheckPropertyTests test_TPPBookState_disallowedTransitionsAreRejected 95ms
โœ… PalaceCheckPropertyTests test_TPPBookState_selfTransitionsAlwaysAllowed 2ms
โœ… PalaceCheckPropertyTests test_TPPBookState_unregisteredToDownloadingAllowed <1ms
โœ… PalaceCheckPropertyTests test_TPPBookState_validSequencesRespectTable 9ms
โœ… PalaceCheckPropertyTests test_TPPBook_dictionaryRoundTrip 118ms
โœ… PalaceErrorCategoryTests testAuthenticationError_allCases_haveDescriptions 8ms
โœ… PalaceErrorCategoryTests testBookReaderError_allCases_haveDescriptions <1ms
โœ… PalaceErrorCategoryTests testDownloadError_allCases_haveDescriptions <1ms
โœ… PalaceErrorCategoryTests testErrorCode_authErrors_startAt6000 <1ms
โœ… PalaceErrorCategoryTests testErrorCode_downloadErrors_startAt3000 1ms
โœ… PalaceErrorCategoryTests testErrorCode_drmErrors_startAt5000 <1ms
โœ… PalaceErrorCategoryTests testErrorCode_networkErrors_startAt1000 <1ms
โœ… PalaceErrorCategoryTests testErrorCode_uniquePerCase <1ms
โœ… PalaceErrorCategoryTests testFromNSError_unknownDomain_mapsToNetworkUnknown <1ms
โœ… PalaceErrorCategoryTests testFromNSError_urlErrorCancelled_mapsToCancelled 11ms
โœ… PalaceErrorCategoryTests testFromNSError_urlErrorNotConnected_mapsToNoConnection 7ms
โœ… PalaceErrorCategoryTests testFromNSError_urlErrorTimedOut_mapsToTimeout 5ms
โœ… PalaceErrorCategoryTests testLocalizedError_conformance <1ms
โœ… 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 2ms
โœ… PalaceErrorExtendedTests testAudiobookError_allCases_haveRecoverySuggestions 4ms
โœ… PalaceErrorExtendedTests testBookRegistryError_allCases_haveDescriptions <1ms
โœ… PalaceErrorExtendedTests testBookRegistryError_allCases_haveRecoverySuggestions 2ms
โœ… PalaceErrorExtendedTests testCancellation_yieldsNoRecoverySuggestionAcrossNetworkAndDownload 3ms
โœ… PalaceErrorExtendedTests testDRMError_allCases_haveDescriptions 2ms
โœ… PalaceErrorExtendedTests testDRMError_allCases_haveRecoverySuggestions 11ms
โœ… PalaceErrorExtendedTests testErrorCode_categoryOffsetsAreUniqueAndStable 4ms
โœ… PalaceErrorExtendedTests testErrorCode_offsetByRawValue 5ms
โœ… PalaceErrorExtendedTests testFromError_palaceErrorPassedDirectly_returnsItself 3ms
โœ… PalaceErrorExtendedTests testFromNSError_palaceDomain_code0_mapsToNetworkUnknown 2ms
โœ… PalaceErrorExtendedTests testFromNSError_palaceDomain_code3_mapsToParsingOpdsFeedInvalid 56ms
โœ… PalaceErrorExtendedTests testFromNSError_palaceDomain_code5_mapsToAuthInvalidCredentials 5ms
โœ… PalaceErrorExtendedTests testFromNSError_palaceDomain_code8_mapsToAudiobookPlaybackError 1ms
โœ… PalaceErrorExtendedTests testFromNSError_palaceDomain_unknownCode_mapsToNetworkUnknown 27ms
โœ… PalaceErrorExtendedTests testFromNSError_urlErrorBadURL_mapsToInvalidURL 7ms
โœ… PalaceErrorExtendedTests testFromNSError_urlErrorCannotConnectToHost_mapsToServerError 2ms
โœ… PalaceErrorExtendedTests testFromNSError_urlErrorCannotFindHost_mapsToServerError 1ms
โœ… PalaceErrorExtendedTests testFromNSError_urlErrorUnsupportedURL_mapsToInvalidURL 48ms
โœ… PalaceErrorExtendedTests testPalaceError_localizedErrorSurface_delegatesToInnerError 2ms
โœ… PalaceErrorExtendedTests testParsingError_allCases_haveDescriptions <1ms
โœ… PalaceErrorExtendedTests testParsingError_contentNotSupported_hasSpecificRecovery 36ms
โœ… PalaceErrorExtendedTests testParsingError_otherCases_haveGenericRecovery 2ms
โœ… PalaceErrorTests testPalaceError_authentication_accountNotFound <1ms
โœ… PalaceErrorTests testPalaceError_authentication_invalidCredentials 71ms
โœ… PalaceErrorTests testPalaceError_authentication_tokenExpired 38ms
โœ… PalaceErrorTests testPalaceError_bookRegistry_alreadyBorrowed 6ms
โœ… PalaceErrorTests testPalaceError_bookRegistry_bookNotFound 2.22s
โœ… PalaceErrorTests testPalaceError_download_cannotFulfill 9ms
โœ… PalaceErrorTests testPalaceError_network_forbidden 210ms
โœ… PalaceErrorTests testPalaceError_network_notFound 3ms
โœ… PalaceErrorTests testPalaceError_network_rateLimited 1ms
โœ… PalaceErrorTests testPalaceError_network_serverError <1ms
โœ… PalaceErrorTests testPalaceError_parsing_opdsFeedInvalid 84ms
โœ… PalaceHapticTests testPalaceHapticModifier_readsInjectedServicePreference 3ms
โœ… PalaceHapticTests testResolvedFeedback_enabled_playsFeedback 264ms
โœ… PalaceHapticTests testResolvedFeedback_preferenceDisabled_suppressed <1ms
โœ… PalaceHapticTests testResolvedFeedback_reduceMotion_suppressed <1ms
โœ… PalaceMotionTests testRadiusTokens_haveExpectedValuesAndOrdering 2ms
โœ… PalaceMotionTests testResolved_nilAnimation_staysNil 8ms
โœ… PalaceMotionTests testResolved_reduceMotionOff_returnsAnimation 24ms
โœ… PalaceMotionTests testResolved_reduceMotionOn_returnsNil 9ms
โœ… PalaceMotionTests testShimmerOffset_centeredAtMidPhase 302ms
โœ… PalaceMotionTests testShimmerOffset_clearsBothEdges 3ms
โœ… PalaceMotionTests testShimmerOffset_movesWithPhase 1ms
โœ… PalaceMotionTests testShouldAnimateContinuously_eitherConditionStops 2ms
โœ… PalaceMotionTests testShouldAnimateContinuously_fullPowerMotionOn_returnsTrue <1ms
โœ… PalaceMotionTests testShouldAnimateContinuously_lowPower_returnsFalse <1ms
โœ… PalaceMotionTests testShouldAnimateContinuously_reduceMotion_returnsFalse <1ms
โœ… PalacePDFViewTests testAllowsCopy_defaultsToTrue 4ms
โœ… PalacePDFViewTests testCanPerformAccessibilityAction_whenAllowsCopyIsFalse_defersToSuper 4ms
โœ… PalacePDFViewTests testCanPerformCopy_whenAllowsCopyIsFalse_returnsFalse 3ms
โœ… PalacePDFViewTests testCanPerformCopy_whenAllowsCopyIsTrue_doesNotShortCircuit 4ms
โœ… PalacePDFViewTests testCanPerformCut_whenAllowsCopyIsFalse_returnsFalse 3ms
โœ… PalacePDFViewTests testCanPerformDefine_whenAllowsCopyIsFalse_returnsFalse 3ms
โœ… PalacePDFViewTests testCanPerformLookup_whenAllowsCopyIsFalse_returnsFalse 2ms
โœ… PalacePDFViewTests testCanPerformNonEditingAction_whenAllowsCopyIsFalse_defersToSuper 4ms
โœ… PalacePDFViewTests testCanPerformPaste_whenAllowsCopyIsFalse_returnsFalse 2ms
โœ… PalacePDFViewTests testCanPerformSelectAll_whenAllowsCopyIsFalse_returnsFalse 420ms
โœ… PalacePDFViewTests testCanPerformShare_whenAllowsCopyIsFalse_returnsFalse 31ms
โœ… PalacePDFViewTests testCanPerformTranslate_whenAllowsCopyIsFalse_returnsFalse 42ms
โœ… PalacePressableButtonStyleTests testOpacity_pressed_dims 1ms
โœ… PalacePressableButtonStyleTests testOpacity_released_isOpaque 2ms
โœ… PalacePressableButtonStyleTests testPalacePressableConvenience_resolvesToStyle <1ms
โœ… PalacePressableButtonStyleTests testScale_pressedWithMotion_shrinks 3ms
โœ… PalacePressableButtonStyleTests testScale_pressedWithReduceMotion_noShrink 2ms
โœ… PalacePressableButtonStyleTests testScale_released_isFullSize <1ms
โœ… PalaceTestSetupObservationTests testBootstrap_isIdempotent_returnsSameObserver 174ms
โœ… PalaceTestSetupObservationTests testCanary_AppContainerResetForTesting_yieldsCleanGraph 100ms
โœ… PalaceTestSetupObservationTests testTestCaseDidFinish_callsRegistryResettersInRegistrationOrder <1ms
โœ… PalaceTestSetupObservationTests testTestCaseDidFinish_observerCountIncreases_recordsDelta 2ms
โœ… PalaceWiringTestCaseTests testMakeFreshAccountsManager_appliesTestOptOut 7ms
โœ… PalaceWiringTestCaseTests testSetUp_runsAllResetters 12ms
โœ… PalaceWiringTestCaseTests testTearDown_cancelsBackgroundWorkOnRegisteredManagers 1.42s
โœ… PalaceWiringTestCaseTests testTearDown_drainsCancellables 164ms
โœ… ParserFuzzTests testFuzz_AnnotationsResponse_NoCrashes 16.64s
โœ… ParserFuzzTests testFuzz_LCPLicense_NoCrashes 67ms
โœ… ParserFuzzTests testFuzz_OPDS1XML_NoCrashes 281ms
โœ… ParserFuzzTests testFuzz_OPDS2JSON_NoCrashes 15.42s
โœ… PatronProfileContractTests testParsePatronProfile_ExtractsDRMInfo 15ms
โœ… PatronProfileContractTests testParsePatronProfile_ExtractsSettings 2ms
โœ… PatronProfileContractTests testParsePatronProfile_HasAnnotationAndDeviceLinks 9ms
โœ… PatronProfileContractTests testParsePatronProfile_HasExpirationDate 1ms
โœ… PerformanceMonitorTests testClearAll 5ms
โœ… PerformanceMonitorTests testEmptyReport 3ms
โœ… PerformanceMonitorTests testEndTimingSameTokenTwice 11ms
โœ… PerformanceMonitorTests testEndTimingWithInvalidToken 13ms
โœ… PerformanceMonitorTests testGenerateReport 8ms
โœ… PerformanceMonitorTests testMaxMetricsPerCategoryEnforced 146ms
โœ… PerformanceMonitorTests testMetricPublisherEmits 39ms
โœ… PerformanceMonitorTests testMetricsGroupedByCategory 7ms
โœ… PerformanceMonitorTests testPercentileCalculations 34ms
โœ… PerformanceMonitorTests testRecordDurationDirectly 15ms
โœ… PerformanceMonitorTests testRecordMetricDirectly 8ms
โœ… PerformanceMonitorTests testReportByName 9ms
โœ… PerformanceMonitorTests testReportSummaryFormat 38ms
โœ… PerformanceMonitorTests testStartAndEndTiming 73ms
โœ… PerformanceReportTests testEmptyMetrics_ReturnsZeros 141ms
โœ… PerformanceReportTests testLargeDataset_PercentileAccuracy 2ms
โœ… PerformanceReportTests testMinMaxMean <1ms
โœ… PerformanceReportTests testMinMaxMean_UnsortedInput <1ms
โœ… PerformanceReportTests testPercentile_P50_EvenCount 250ms
โœ… PerformanceReportTests testPercentile_P50_OddCount <1ms
โœ… PerformanceReportTests testPercentile_P95 <1ms
โœ… PerformanceReportTests testPercentile_P99 <1ms
โœ… PerformanceReportTests testReport_EmptyMonitor_ZeroMeasurements 7ms
โœ… PerformanceReportTests testReport_StatisticsByCategory 56ms
โœ… PerformanceReportTests testReport_StatisticsByName 12ms
โœ… PerformanceReportTests testReport_SummaryContainsMeasurementCount 5ms
โœ… PerformanceReportTests testReport_TotalMeasurements 8ms
โœ… PerformanceReportTests testSingleMetric_AllPercentilesEqual 1ms
โœ… PersistentLoggerTests testClearLogs_removesAllRotatedFiles 1.06s
โœ… PersistentLoggerTests testInit_withCustomLogsRoot_writesToProvidedDirectory 15ms
โœ… PersistentLoggerTests testLog_andRetrieve_containsLoggedMessage 334ms
โœ… PersistentLoggerTests testLog_containsTimestamp 16ms
โœ… PersistentLoggerTests testLog_errorLevel_isRecorded 9ms
โœ… PersistentLoggerTests testLog_faultLevel_isRecorded 13ms
โœ… PersistentLoggerTests testLog_multipleEntries_allAppear 14ms
โœ… PersistentLoggerTests testLog_rotatesAtMaxFileSize 1.07s
โœ… PersistentLoggerTests testRetrieveAllLogs_includesActiveFileHeaderExactlyOnce 31ms
โœ… PlaybackBootstrapperAudioSessionTests testPlaybackBootstrapper_ensureInitialized_isIdempotent_doesNotRedispatch 27ms
โœ… PlaybackBootstrapperAudioSessionTests testPlaybackBootstrapper_launch_defersAudioSession_keepsRemoteCommands 145ms
โœ… PlaybackBootstrapperTests testAudiobookSessionManager_InitialState_IsIdle 110ms
โœ… PlaybackBootstrapperTests testAudiobookSessionState_ErrorIsNotActive 14ms
โœ… PlaybackBootstrapperTests testAudiobookSessionState_IdleIsNotActive 9ms
โœ… PlaybackBootstrapperTests testAudiobookSessionState_LoadingIsActive 295ms
โœ… PlaybackBootstrapperTests testAudiobookSessionState_PausedIsActive 3ms
โœ… PlaybackBootstrapperTests testAudiobookSessionState_PlayingIsActive 9ms
โœ… PlaybackBootstrapperTests testPlaybackBootstrapper_ConfiguresRemoteCommandCenter 152ms
โœ… PlaybackBootstrapperTests testPlaybackBootstrapper_SkipIntervals_AreConfigured 5ms
โœ… PlaybackFailureRecordTests testRecord_LocalizedDescriptionPrefixed 314ms
โœ… PlaybackFailureRecordTests testRecord_NilBookId_FallsBackToUnknown 1ms
โœ… PlaybackFailureRecordTests testRecord_NilError_RecordsBookIdAndDefaultCode <1ms
โœ… PlaybackFailureRecordTests testRecord_OnlyAllowedSubKeysPropagate_BlocksAccidentalLeakage 11ms
โœ… PlaybackFailureRecordTests testRecord_OpenAccess403_PreservesHttpStatusAndUrl <1ms
โœ… PlaybackOpenPolicyTests testDecideForLoad_nilDecryptor_keepsGate <1ms
โœ… PlaybackOpenPolicyTests testDecideForLoad_nonNilDecryptor_bypassesGate 3ms
โœ… PlaybackOpenPolicyTests testDecide_lcpAudiobook_bypassesReadinessGate <1ms
โœ… PlaybackOpenPolicyTests testDecide_nonLCPAudiobook_keepsReadinessGate <1ms
โœ… PlaybackOpenPolicyTests testDecide_predicates_areIndependent 47ms
โœ… PlaybackOpenPolicyTests testDecide_reBorrowOfSameBook_doesNotPersistFinalPosition <1ms
โœ… PlaybackOpenPolicyTests testDecide_switchToDifferentBook_persistsFinalPosition 359ms
โœ… PlaybackRateTests testAccessibleDescription_FastestIsNowTripleTime_Not2x 5ms
โœ… PlaybackRateTests testConvert_IntermediateCases_ReturnCorrectMultipliers 196ms
โœ… PlaybackRateTests testConvert_PresetCases_ReturnCorrectMultipliers 3ms
โœ… PlaybackRateTests testFormatMultiplier_OneDecimalPlace_ShowsOneDecimalPlace 2ms
โœ… PlaybackRateTests testFormatMultiplier_TwoDecimalPlaces_ShowsTwoDecimalPlaces 5ms
โœ… PlaybackRateTests testFormatMultiplier_WholeNumber_ShowsOneDecimalPlace 1ms
โœ… PlaybackRateTests testFormatMultiplier_allStepsProduceLabelEndingWithMultiplySign 448ms
โœ… PlaybackRateTests testNearest_ExactIntermediateValues_ReturnExactCase 1ms
โœ… PlaybackRateTests testNearest_ExactPresetValues_ReturnExactCase 35ms
โœ… PlaybackRateTests testNearest_ValueBetweenSteps_SnapsToNearest 3ms
โœ… PlaybackRateTests testNearest_clampsOutOfRangeValuesToBounds 6ms
โœ… PlaybackRateTests testPresets_DoesNotContainOtherIntermediateCases 1ms
โœ… PlaybackRateTests testPresets_DropOld0p75And1p2Chips_ButCasesStillReachable 1ms
โœ… PlaybackRateTests testPresets_MultipliersAreEven0p5StepsFrom0p5To3p0 2ms
โœ… PlaybackRateTests testPresets_SlowChipIs0p5_AndTwoChipsExceed2x 4ms
โœ… PlaybackRateTests testPresets_isExactly_0p5_1p0_1p5_2p0_2p5_3p0_inAscendingOrder 2ms
โœ… PlaybackRateTests testRawValueRoundTrip_BoundaryAndAbove2xCases 1ms
โœ… PlaybackRateTests testSteps_isMonotonicLadderFromHalfToTripleIn0Point05Increments 3ms
โœ… PlaybackTrackingRegressionTests testMultiplePlaybackStartedCalls_doesNotOvercount 4ms
โœ… PlaybackTrackingRegressionTests testMultipleStopStartCycles_preservesAllTime 529ms
โœ… PlaybackTrackingRegressionTests testPlaybackStopped_savesAccumulatedTime 70ms
โœ… PlaybackTrackingRegressionTests testRapidStartStopCycles_countsCorrectly 118ms
โœ… PlaybackTrackingRegressionTests testSleepTimerPause_savesAllAccumulatedTime 9ms
โœ… PoolResponsivenessProbeTests testAssertRuntimeResponsiveAsync_realProbeOnCleanPool_isResponsive 17ms
โœ… PoolResponsivenessProbeTests testAssertRuntimeResponsive_healthyStub_recordsNoFailure 10ms
โœ… PoolResponsivenessProbeTests testAssertRuntimeResponsive_realProbeOnCleanPool_isResponsive 5ms
โ“ PoolResponsivenessProbeTests testAssertRuntimeResponsive_saturatedStub_recordsAttributedFailure 2.13s
โœ… PoolResponsivenessProbeTests testEnforcesPoolResponsiveness_isOffByDefault 2ms
โœ… PositionPersistenceLogicTests testCriticalSave_onTermination_mustBypassSuppression 4ms
โœ… PositionPersistenceLogicTests testNewPersistLocation_bypassesSuppression <1ms
โœ… PositionPersistenceLogicTests testNoSuppression_allowsSave 1ms
โœ… PositionPersistenceLogicTests testOldBehavior_suppressionBlocksSave 1ms
โœ… PositionPersistenceLogicTests testSuppressionExpired_allowsSave 1ms
โœ… PositionPersistenceLogicTests testSuppressionWindow_threeSeconds_blocksAndThenAllows 31ms
โœ… PositionPersistenceTests testBookRegistry_setLocation_updatesPosition <1ms
โœ… PositionPersistenceTests testBookRegistry_storesLocation 3ms
โœ… PositionSyncServiceTests testClearAll 6ms
โœ… PositionSyncServiceTests testClearPositionsForBook 227ms
โœ… PositionSyncServiceTests testLatestPositionAnyFormat 17ms
โœ… PositionSyncServiceTests testNoSyncOfferForUnknownBook 2ms
โœ… PositionSyncServiceTests testNoSyncOfferWhenCurrentFormatIsMoreRecent 18ms
โœ… PositionSyncServiceTests testPersistenceAcrossInstances 8ms
โœ… PositionSyncServiceTests testPositionRecordedEventPublished 77ms
โœ… PositionSyncServiceTests testRecordAudiobookPosition 7ms
โœ… PositionSyncServiceTests testRecordEpubPosition 1.60s
โœ… PositionSyncServiceTests testRecordPdfPosition 5ms
โœ… PositionSyncServiceTests testSetAndRetrieveMapping 13ms
โœ… PositionSyncServiceTests testSyncAvailableEventPublished 7ms
โœ… PositionSyncServiceTests testSyncOfferWhenOtherFormatIsMoreRecent 44ms
โœ… PositionSyncTests testSyncIsPossibleAndPermitted_checksSyncState 4ms
โœ… PositionSyncTests testTPPBookLocation_creation <1ms
โœ… PositionSyncTests testTPPBookLocation_equality <1ms
โœ… PositionSyncTests testTPPBookLocation_withEmptyString_createsLocation 21ms
โœ… PositionSyncTests testTPPBookmarkR3Location_storesResourceIndex <1ms
โœ… PositionWriterContractTests test_backgroundTask_postCompletes_aroundNetworkPost 3ms
โœ… PositionWriterContractTests test_cancel_clearsState_thenSaveAgainPostsImmediately 5ms
โœ… PositionWriterContractTests test_load_callsFetch 11ms
โœ… PositionWriterContractTests test_save_firstSnapshot_postsImmediately 3ms
โœ… PositionWriterContractTests test_save_secondWithinThrottle_queuesAndReturnsNil 24ms
โœ… PositionWriterContractTests test_save_throttleElapsed_postsQueued 6ms
โœ… PostUpdateMigrationTests testMigrate_doesNotCrash 1ms
โœ… PostUpdateMigrationTests testMigrate_updatesStoredVersion 3ms
โœ… PostUpdateMigrationTests testPostUpdateDetection_differentBuild_isDetected 9ms
โœ… PostUpdateMigrationTests testPostUpdateDetection_firstLaunch_isNotUpdate 7ms
โœ… PostUpdateMigrationTests testPostUpdateDetection_sameBuild_isNotDetected 22ms
โœ… ProblemDocumentContractTests testAllProblemDocuments_Parse 1ms
โœ… ProblemDocumentContractTests testAllProblemTypes_HaveDistinctTypeURIs 275ms
โœ… ProblemDocumentContractTests testInvalidCredentials_HasExpectedShape 3ms
โœ… ProblemDocumentContractTests testLoanLimitReached_HasExpectedShape 10ms
โœ… ProblemDocumentLoanExpiryTests testDetailLoanTermLimitReached_detectedInRealServerDetail <1ms
โœ… ProblemDocumentLoanExpiryTests testDetailLoanTermLimitReached_hasExpectedValue <1ms
โœ… ProblemDocumentLoanExpiryTests testDetailLoanTermLimitReached_notDetectedInUnrelatedDetail <1ms
โœ… ProblemDocumentLoanExpiryTests testLoanTermLimitReached_detectedFromErrorDictionary 1ms
โœ… ProblemDocumentLoanExpiryTests testNoActiveLoan_doesNotMatchTermLimitCheck 1ms
โœ… ProblemDocumentTests testBorrowError_credentialsSuspended_extractsDetails 28ms
โœ… ProblemDocumentTests testBorrowError_loanLimitReached_extractsDetails 9ms
โœ… ProblemDocumentTests testNSError_problemDocument_extractsCorrectly <1ms
โœ… ProblemDocumentTests testNSError_withoutProblemDocument_hasNilProperties <1ms
โœ… ProblemDocumentTests testProblemDocumentTypes_areCorrect 2ms
โœ… ProblemDocumentTests testProblemDocument_fromData_parsesCorrectly 1ms
โœ… ProblemDocumentTests testProblemDocument_fromDictionary_parsesCorrectly 3ms
โœ… ProblemDocumentTests testProblemDocument_fromResponseError_extractsFromNSError 37ms
โœ… ProblemDocumentTests testProblemDocument_fromResponseError_fallsBackToData 110ms
โœ… ProblemDocumentTests testProblemDocument_fromResponseError_returnsNilWhenNoDocument 2ms
โœ… ProblemDocumentTests testProblemDocument_stringValue_combinesTitleAndDetail 9ms
โœ… ProblemDocumentTests testProblemDocument_stringValue_handlesMissingTitle 5ms
โœ… ProblemReportEmailTests testGenerateBody_containsDeviceIdiom <1ms
โœ… ProblemReportEmailTests testGenerateBody_includesEnvironmentFieldsInExpectedStructure <1ms
โœ… ProblemReportEmailTests testGenerateBody_withBook_containsBookInfo 7ms
โœ… ProblemReportEmailTests testGenerateBody_withoutBook_doesNotContainBookInfo <1ms
โœ… ProblemReportEmailTests testPP3651_generateBody_doesNotLeakOtherLibrarysPatronIDWhenNilPassed <1ms
โœ… ProblemReportEmailTests testPP3651_generateBody_includesPatronIDOnlyWhenProvided 3ms
โœ… ProblemReportEmailTests testPP3651_generateBody_patronID_appearsAfterSeparator <1ms
โœ… ProblemReportEmailTests testPP3651_generateBody_withBookAndPatronID_containsBothBookAndPatronInfo 2ms
โœ… RatingCardMotionGateTests testCardTransition_tracksScaleGate_bothDirections 74ms
โœ… RatingCardMotionGateTests testStepAnimation_reduceMotionOff_usesEmphasizedSpring 28ms
โœ… RatingCardMotionGateTests testStepAnimation_reduceMotionOn_isNil 1ms
โœ… RatingCardMotionGateTests testUsesScaleTransition_reduceMotionOff_scales 2ms
โœ… RatingCardMotionGateTests testUsesScaleTransition_reduceMotionOn_dropsScale 3ms
โœ… RatingEligibilityPolicyTests testEvaluate_afterCrashingSession_isNotEligible <1ms
โœ… RatingEligibilityPolicyTests testEvaluate_allCriteriaMet_isEligible 5ms
โœ… RatingEligibilityPolicyTests testEvaluate_booksExactlyAtMinimum_isEligible 1ms
โœ… RatingEligibilityPolicyTests testEvaluate_clockMovedBackwardsPastLastPrompt_isNotEligible 2ms
โœ… RatingEligibilityPolicyTests testEvaluate_displayCountAboveCap_isNotEligible <1ms
โœ… RatingEligibilityPolicyTests testEvaluate_displayCountAtCap_isNotEligible 5ms
โœ… RatingEligibilityPolicyTests testEvaluate_displayCountBelowCap_isEligible <1ms
โœ… RatingEligibilityPolicyTests testEvaluate_exactlyAtCooldownBoundary_isEligible 148ms
โœ… RatingEligibilityPolicyTests testEvaluate_neverPrompted_ignoresCooldown <1ms
โœ… RatingEligibilityPolicyTests testEvaluate_noBooksCompleted_isNotEligible <1ms
โœ… RatingEligibilityPolicyTests testEvaluate_onFirstSession_isNotEligible 1ms
โœ… RatingEligibilityPolicyTests testEvaluate_respectsRemoteThresholds 1ms
โœ… RatingEligibilityPolicyTests testEvaluate_sessionsBelowMinimum_isNotEligible <1ms
โœ… RatingEligibilityPolicyTests testEvaluate_sessionsExactlyAtMinimum_isEligible 154ms
โœ… RatingEligibilityPolicyTests testEvaluate_wellPastCooldown_isEligible 642ms
โœ… RatingEligibilityPolicyTests testEvaluate_whenOptedOut_isNotEligible 1ms
โœ… RatingEligibilityPolicyTests testEvaluate_withinCooldown_isNotEligible 195ms
โœ… RatingEngagementTrackerTests testCurrentState_freshInstall_hasZeroCountsAndIsFirstSession 53ms
โœ… RatingEngagementTrackerTests testRecordBookCompleted_incrementsCount 5ms
โœ… RatingEngagementTrackerTests testRecordDismissal_incrementsDismissalCount 6ms
โœ… RatingEngagementTrackerTests testRecordOptOut_setsOptedOut 5ms
โœ… RatingEngagementTrackerTests testRecordPromptShown_stampsDateAndIncrementsDisplayCount 6ms
โœ… RatingEngagementTrackerTests testRecordSession_calledTwice_accumulatesAndIsNoLongerFirstSession 94ms
โœ… RatingEngagementTrackerTests testRecordSession_incrementsSessionCountAndStoresCrashSignal 28ms
โœ… RatingEngagementTrackerTests testRecordSession_updatesCrashSignalEachSession 6ms
โœ… RatingEngagementTrackerTests testState_survivesAppUpdate_viaPersistentDefaults 7ms
โœ… RatingFeedbackPresenterTests testDefaultInit_wiresComposerToPalaceSupportAddress 2ms
โœ… RatingFeedbackPresenterTests testPresentFeedback_composesToSupportFromTopViewController 18ms
โœ… RatingFeedbackPresenterTests testPresentFeedback_withNoTopViewController_isSafeNoOp <1ms
โœ… RatingPromptPresenterTests testConfirmFeedback_onSentimentStep_isNoOp 16ms
โœ… RatingPromptPresenterTests testConfirmFeedback_presentsFeedbackNotAppStore 10ms
โœ… RatingPromptPresenterTests testDeclineFeedback_dismissesWithoutPresenting 16ms
โœ… RatingPromptPresenterTests testDismiss_onFeedbackFollowup_behavesAsDecline 4ms
โœ… RatingPromptPresenterTests testDismiss_onSentiment_behavesAsAskLater 87ms
โœ… RatingPromptPresenterTests testHandleTrigger_whenAlreadyShowing_doesNotReshowOrRestamp 120ms
โœ… RatingPromptPresenterTests testHandleTrigger_whenEligible_showsSentimentAndStampsDisplay 6ms
โœ… RatingPromptPresenterTests testHandleTrigger_whenIneligible_showsNothing 70ms
โœ… RatingPromptPresenterTests testNoteBookCompleted_recordsCompletionThenSchedulesGate 11ms
โœ… RatingPromptPresenterTests testNoteBookCompleted_whenIneligible_recordsButShowsNoGate 20ms
โœ… RatingPromptPresenterTests testNoteBorrowSucceeded_schedulesGateWithoutRecordingCompletion 108ms
โœ… RatingPromptPresenterTests testRespondAskLater_dismissesWithoutActionOrDismissalCount 15ms
โœ… RatingPromptPresenterTests testRespondNegative_recordsDismissalAndShowsFeedbackFollowup 5ms
โœ… RatingPromptPresenterTests testRespondPositive_requestsReviewAndDismisses 7ms
โœ… RatingPromptPresenterTests testRespondPositive_whenNothingShown_isNoOp 28ms
โœ… ReachabilityTests testDetailedStatus_expensiveAndConstrained_appendBothFlags <1ms
โœ… ReachabilityTests testDetailedStatus_expensiveOnly_appendsExpensiveNotConstrained 449ms
โœ… ReachabilityTests testDetailedStatus_requiresConnection_reportsPending <1ms
โœ… ReachabilityTests testDetailedStatus_satisfiedCellular_reportsConnectedViaCellular <1ms
โœ… ReachabilityTests testDetailedStatus_satisfiedEthernet_reportsConnectedViaEthernet 2ms
โœ… ReachabilityTests testDetailedStatus_satisfiedUnknownInterface_reportsUnknownType 1ms
โœ… ReachabilityTests testDetailedStatus_satisfiedWiFi_reportsConnectedViaWiFi <1ms
โœ… ReachabilityTests testDetailedStatus_unsatisfied_reportsNoConnection 2ms
โœ… ReachabilityTests testDetailedStatus_wifiTakesPrecedenceOverCellular 625ms
โœ… ReachabilityTests testGetDetailedConnectivityStatus_returnsNonEmptyFields 57ms
โœ… Reader2BookmarkContractTests test_bookmarkDelete_removesFromRegistry_thenAnnotationsDelete 4ms
โœ… Reader2BookmarkContractTests test_bookmarkSave_locatorFactoryRejects_doesNotEnqueueAnnotation 8ms
โœ… Reader2BookmarkContractTests test_bookmarkSave_writesToRegistry_thenAnnotations 54ms
โœ… Reader2PositionAdapterContractTests test_epubPoster_storeReadPosition_serializesLocator_callsWriterSave 111ms
โŠ˜ Reader2PositionAdapterContractTests test_epubSynchronizer_sync_remoteDifferentDevice_loadsThenReturns 6ms
โœ… Reader2PositionAdapterContractTests test_epubSynchronizer_sync_sameDevice_returnsNil 7ms
โœ… Reader2PositionAdapterContractTests test_pdf_setCurrentPage_callsRegistryThenWriter 162ms
โœ… Reader2PositionResumeContractTests test_positionSave_writesRegistryThenSyncQueue 114ms
โœ… Reader2PositionResumeContractTests test_readerResume_loadsRegistryThenSynchronizer 11ms
โœ… Reader2PositionResumeContractTests test_readerResume_synchronizerSamePayload_noopShortCircuits 6ms
โœ… ReaderAccessibilityTests testBookmarkToggleLabels_areDistinctAndDescriptive 17ms
โœ… ReaderAccessibilityTests testBookmarksTabLabel_isDescriptive 8ms
โœ… ReaderAccessibilityTests testChapterNavigationLabels_areDistinct <1ms
โœ… ReaderAccessibilityTests testCloseSampleLabel_isDescriptive 37ms
โœ… ReaderAccessibilityTests testPDFPickerSegmentLabels_areDistinct 2ms
โœ… ReaderAccessibilityTests testPagePreviewsLabel_isDescriptive <1ms
โœ… ReaderAccessibilityTests testTableOfContentsLabel_isDescriptive <1ms
โœ… ReaderChromeToggleFadeTests test_overlayLabelsHidden_flipsWithBarState 137ms
โœ… ReaderChromeToggleFadeTests test_overlayLabelsHidden_truthTable 121ms
โœ… ReaderChromeToggleFadeTests test_shouldAnimateBookmarkBounce_respectsReduceMotion <1ms
โœ… ReaderEditingActionsTests testResolve_appendsCustomActions_forNonDRMBook 89ms
โœ… ReaderEditingActionsTests testResolve_returnsDefaultActions_forNonDRMBook <1ms
โœ… ReaderEditingActionsTests testResolve_returnsEmpty_forDRMBook <1ms
โœ… ReaderEditingActionsTests testResolve_returnsEmpty_forDRMBook_evenWithCustomActions 5ms
โœ… ReaderEditingActionsTests testResolve_treatsSampleOfDRMBook_asNonDRM <1ms
โœ… ReaderErrorTests testEpubNotValid_conformsToLocalizedError <1ms
โœ… ReaderErrorTests testEpubNotValid_hasErrorDescription 1ms
โœ… ReaderErrorTests testErrors_haveDifferentDescriptions 25ms
โœ… ReaderErrorTests testFormatNotSupported_conformsToLocalizedError 1ms
โœ… ReaderErrorTests testFormatNotSupported_hasErrorDescription <1ms
โœ… ReaderNavBarVoiceOverTests testUpdateNavigationBar_keepsNavBarVisibleWhenVoiceOverIsRunning 2ms
โœ… ReaderNavBarVoiceOverTests testViewDidAppear_reAppliesNavBarVisibilityWhenVoiceOverIsRunning 7ms
โœ… ReaderServicePDFRouteTests testPDFOpenRoute_nestedMarketplaceLCPPDF_routesLCP <1ms
โœ… ReaderServicePDFRouteTests testPDFOpenRoute_plainPDF_routesPlain <1ms
โœ… ReaderServicePDFRouteTests testPDFOpenRoute_topLevelLCPPDF_routesLCP 1ms
โœ… ReaderServiceSyncTests testLastReadPositionSynchronizer_canBeCreated 2ms
โœ… ReaderServiceSyncTests testLastReadPositionSynchronizer_syncDoesNotCrash_withDeviceID 450ms
โœ… ReaderServiceSyncTests testLastReadPositionSynchronizer_syncReturns_whenNoServerPosition 30ms
โœ… ReaderThemeTests testAllCases_containsExactly5Themes 34ms
โœ… ReaderThemeTests testAllCases_containsExpectedThemes 21ms
โœ… ReaderThemeTests testAllThemes_haveCSSHexBackgrounds 2ms
โœ… ReaderThemeTests testAllThemes_haveCSSHexTextColors <1ms
โœ… ReaderThemeTests testAllThemes_haveValidBackgroundColors 3ms
โœ… ReaderThemeTests testAllThemes_haveValidTextColors <1ms
โœ… ReaderThemeTests testCSSHex_matchesExpectedFormat 5ms
โœ… ReaderThemeTests testCodable_preservesAllProperties 3ms
โœ… ReaderThemeTests testCodable_roundTrip 6ms
โœ… ReaderThemeTests testDarkTheme_darkBackground 65ms
โœ… ReaderThemeTests testDarkTheme_hasDarkBackground 4ms
โœ… ReaderThemeTests testDarkTheme_hasLightText <1ms
โœ… ReaderThemeTests testEachThemeID_isUnique 2ms
โœ… ReaderThemeTests testEquatable_differentThemesAreNotEqual <1ms
โœ… ReaderThemeTests testEquatable_sameThemesAreEqual 55ms
โœ… ReaderThemeTests testLightTheme_hasDarkText <1ms
โœ… ReaderThemeTests testLightTheme_hasLightBackground <1ms
โœ… ReaderThemeTests testLightTheme_whiteBackground <1ms
โœ… ReaderThemeTests testNightTheme_hasDarkBackground 2ms
โœ… ReaderThemeTests testNightTheme_hasLightText 2ms
โœ… ReaderThemeTests testNightTheme_nearBlackBackground <1ms
โœ… ReaderThemeTests testSepiaTheme_hasDarkText 22ms
โœ… ReaderThemeTests testSepiaTheme_hasLightBackground <1ms
โœ… ReaderThemeTests testSolarizedTheme_hasLightBackground 1ms
โœ… ReadingPositionTests testAudiobookPosition_CodableRoundTrip 13ms
โœ… ReadingPositionTests testAudiobookPosition_NegativeTimeOffset_ClampedToZero 2ms
โœ… ReadingPositionTests testAudiobookPosition_SetsFormatAndFields 2ms
โœ… ReadingPositionTests testAudiobookPosition_ZeroTimeOffset 2ms
โœ… ReadingPositionTests testDeviceID_IsPopulated 121ms
โœ… ReadingPositionTests testDisplayDescription_Audiobook 32ms
โœ… ReadingPositionTests testDisplayDescription_Epub 2ms
โœ… ReadingPositionTests testDisplayDescription_Pdf <1ms
โœ… ReadingPositionTests testEpubPosition_CodableRoundTrip 2ms
โœ… ReadingPositionTests testEpubPosition_ProgressBoundary0 5ms
โœ… ReadingPositionTests testEpubPosition_ProgressBoundary1 2ms
โœ… ReadingPositionTests testEpubPosition_ProgressClampedAbove1 <1ms
โœ… ReadingPositionTests testEpubPosition_ProgressClampedBelow0 1ms
โœ… ReadingPositionTests testEpubPosition_SetsFormatAndFields <1ms
โœ… ReadingPositionTests testEquality_DifferentChapter_NotEqual 195ms
โœ… ReadingPositionTests testEquality_DifferentFormat_NotEqual 1ms
โœ… ReadingPositionTests testEquality_SamePosition <1ms
โœ… ReadingPositionTests testPdfPosition_CodableRoundTrip <1ms
โœ… ReadingPositionTests testPdfPosition_NegativePageNumber_ClampedTo1 44ms
โœ… ReadingPositionTests testPdfPosition_PageNumberClampedToMinimum1 <1ms
โœ… ReadingPositionTests testPdfPosition_SetsFormatAndFields 3ms
โœ… ReadingPositionTests testReadingFormat_CodableRoundTrip 2ms
โœ… ReadingSessionTrackerTests testActiveBookID_NilInitially 2ms
โœ… ReadingSessionTrackerTests testEndSession_FiltersBriefSessions 6ms
โœ… ReadingSessionTrackerTests testEndSession_StopsTracking 26ms
โœ… ReadingSessionTrackerTests testEndSession_WithoutStartSession_DoesNotCrash 39ms
โœ… ReadingSessionTrackerTests testEndSession_WithoutStartSession_DoesNotRecordSession 4ms
โœ… ReadingSessionTrackerTests testIsTracking_FalseInitially 2ms
โœ… ReadingSessionTrackerTests testMultipleCycles_WorkCorrectly 3ms
โœ… ReadingSessionTrackerTests testPageCount_ResetsBetweenSessions 1ms
โœ… ReadingSessionTrackerTests testRecordBookFinished_RecordsCompletion 58ms
โœ… ReadingSessionTrackerTests testRecordBookFinished_TriggersBadgeRefresh 56ms
โœ… ReadingSessionTrackerTests testRecordPageTurn_IncrementsPageCount 1ms
โœ… ReadingSessionTrackerTests testStartSession_BeginsTracking 2ms
โœ… ReadingSessionTrackerTests testStartSession_EndsExistingSession 45ms
โœ… ReadingStatsServiceTests testAggregateStats 34ms
โœ… ReadingStatsServiceTests testAggregateStatsTimePeriodFilter 21ms
โœ… ReadingStatsServiceTests testChartDataEmpty 4ms
โœ… ReadingStatsServiceTests testChartDataWeek 3ms
โœ… ReadingStatsServiceTests testDuplicateCompletionIgnored 5ms
โœ… ReadingStatsServiceTests testRecordBookCompletion 2ms
โœ… ReadingStatsServiceTests testRecordMultipleSessions 14ms
โœ… ReadingStatsServiceTests testRecordSession 101ms
โœ… ReadingStatsServiceTests testRecordSessionIgnoresZeroDuration 43ms
โœ… ReadingStatsServiceTests testStreakRecalculation 5ms
โœ… ReadingStatsServiceTests testStreakResetsAfterGap 5ms
โœ… ReadingStatsServiceTests testStreakUpdatesOnSession 2ms
โœ… ReadingStatsStoreTests testClearAll 40ms
โœ… ReadingStatsStoreTests testLoadSessionsEmpty 4ms
โœ… ReadingStatsStoreTests testLoadStreakDefault 102ms
โœ… ReadingStatsStoreTests testMigrationSetsVersion 3ms
โœ… ReadingStatsStoreTests testMultipleSessions 14ms
โœ… ReadingStatsStoreTests testSaveAndLoadCompletions 18ms
โœ… ReadingStatsStoreTests testSaveAndLoadEarnedBadges 5ms
โœ… ReadingStatsStoreTests testSaveAndLoadSessions 5ms
โœ… ReadingStatsStoreTests testSaveAndLoadStreak 168ms
โœ… RedirectHandlingIntegrationTests testRedirect_attemptsCleared_afterCompletion 52ms
โœ… RedirectHandlingIntegrationTests testRedirect_httpsToHttp_blockedForSecurity <1ms
โœ… RedirectHandlingIntegrationTests testRedirect_httpsToHttps_allowed <1ms
โœ… RedirectHandlingIntegrationTests testRedirect_maxAttempts_enforced 6ms
โœ… RedirectPolicyTests testDecide_AboveMax_StillReturnsNil 5ms
โœ… RedirectPolicyTests testDecide_AtMaxAttempts_ReturnsNilAndDoesNotIncrement 3ms
โœ… RedirectPolicyTests testDecide_CounterIsPerTask 110ms
โœ… RedirectPolicyTests testDecide_CustomMaxAttempts_Honored <1ms
โœ… RedirectPolicyTests testDecide_HTTPSToHTTPS_Allowed 11ms
โœ… RedirectPolicyTests testDecide_HTTPSToHTTP_ReturnsNilButHasIncremented 3ms
โœ… RedirectPolicyTests testDecide_HTTPToAnything_NotADowngrade 1ms
โœ… RedirectPolicyTests testDecide_NilOriginalScheme_NotTreatedAsDowngrade <1ms
โœ… RedirectPolicyTests testDecide_OneBelowMax_AllowsAndIncrements 1ms
โœ… RegistryFileRecoveryTests testBackupURL_appendsBakExtension 1ms
โœ… RegistryFileRecoveryTests testClassify_jsonArrayAtRoot_isCorrupt 1ms
โœ… RegistryFileRecoveryTests testClassify_jsonObjectMissingRecordsArray_isCorrupt 2ms
โœ… RegistryFileRecoveryTests testClassify_nilData_isEmpty 1ms
โœ… RegistryFileRecoveryTests testClassify_unparseableJSON_isCorrupt 3ms
โœ… RegistryFileRecoveryTests testClassify_wellFormedEmptyRecordsArray_isValidEmpty_notCorrupt 1ms
โœ… RegistryFileRecoveryTests testClassify_wellFormedWithRecords_isValidWithRecordCount 2ms
โœ… RegistryFileRecoveryTests testClassify_zeroLengthData_isEmpty 1ms
โœ… RegistryFileRecoveryTests testCorruptFile_isQuarantined_notOverwrittenEmpty 4ms
โœ… RegistryFileRecoveryTests testNeedsMigration_falseForCorruptData 109ms
โœ… RegistryFileRecoveryTests testNeedsMigration_falseForVersionedFile 3ms
โœ… RegistryFileRecoveryTests testNeedsMigration_trueForUnversionedValidFile 2ms
โœ… RegistryFileRecoveryTests testQuarantineURL_encodesTimestamp 96ms
โœ… RegistryFileRecoveryTests testQuarantine_absentFile_returnsNil 1ms
โœ… RegistryFileRecoveryTests testRecoverFromBackup_corruptBackup_returnsNil 4ms
โœ… RegistryFileRecoveryTests testRecoverFromBackup_emptyRecordsBackup_returnsNil 4ms
โœ… RegistryFileRecoveryTests testRecoverFromBackup_noBackup_returnsNil 401ms
โœ… RegistryFileRecoveryTests testSchemaVersion_readsPersistedVersion 1ms
โœ… RegistryFileRecoveryTests testSchemaVersion_unversionedFile_isNil 1ms
โœ… RegistryFileRecoveryTests testWriteBackup_leavesNoTempFile 43ms
โœ… RegistryFileRecoveryTests testWriteBackup_thenRecover_returnsRecords 7ms
โœ… RemoteFeatureFlagsGapTests testRemoteFeatureFlags_convenienceProperties_dontCrash 39ms
โœ… RemoteFeatureFlagsGapTests testRemoteFeatureFlags_fetchIfNeeded_completesWithoutCrashing 34ms
โœ… RemoteFeatureFlagsGapTests testRemoteFeatureFlags_isFeatureEnabled_returnsBoolean 11ms
โœ… RemoteFeatureFlagsGapTests testRemoteFeatureFlags_shared_isAccessible 9ms
โœ… RemoteFeatureFlagsSideLoadingTests testIsSideLoadingEnabled_noOverride_defersToRemoteConfig 4ms
โœ… RemoteFeatureFlagsSideLoadingTests testIsSideLoadingEnabled_overrideRoundTrip_true_false_true 5ms
โœ… RemoteFeatureFlagsSideLoadingTests testIsSideLoadingEnabled_whenLocalOverrideFalse_returnsFalse_overridingDebugDefault 6ms
โœ… RemoteFeatureFlagsSideLoadingTests testIsSideLoadingEnabled_whenLocalOverrideTrue_returnsTrue 5ms
โœ… RemoteFeatureFlagsSideLoadingTests testSideLoadingFeatureFlag_mapsToRemoteConfigKey 3ms
โœ… RemoteFeatureFlagsTests testContinuationCards_featureFlagDefault_isOff 131ms
โœ… RemoteFeatureFlagsTests testContinuationCards_localOverrideFalse_forcesOff 8ms
โœ… RemoteFeatureFlagsTests testContinuationCards_localOverrideTrue_forcesOn 51ms
โœ… RemoteFeatureFlagsTests testContinuationCards_noOverride_defaultsOff 3ms
โœ… RemoteFeatureFlagsTests testFeatureFlag_allCases_haveNonEmptyRawValues 6ms
โœ… RemoteFeatureFlagsTests testFeatureFlag_defaultValues_areDefined <1ms
โœ… RemoteFeatureFlagsTests testFetchIfNeeded_doesNotCrash 3ms
โœ… RemoteFeatureFlagsTests testFlags_continuationAndInAppNav_areIndependent 36ms
โœ… RemoteFeatureFlagsTests testGetDeviceInfo_containsVersionInfo 2ms
โœ… RemoteFeatureFlagsTests testGetDeviceInfo_returnsNonEmptyDict 9ms
โœ… RemoteFeatureFlagsTests testInAppPlaybackNav_featureFlagDefault_isOff <1ms
โœ… RemoteFeatureFlagsTests testInAppPlaybackNav_localOverrideFalse_forcesOff 15ms
โœ… RemoteFeatureFlagsTests testInAppPlaybackNav_localOverrideTrue_forcesOn 7ms
โœ… RemoteFeatureFlagsTests testInAppPlaybackNav_noOverride_defaultsOff 3ms
โœ… RemoteFeatureFlagsTests testIsCarPlayEnabledCached_returnsBool <1ms
โœ… RemoteFeatureFlagsTests testIsFeatureEnabled_withoutFirebase_returnsDefault 20ms
โœ… RemoteFeatureFlagsTests testShared_isNotNil <1ms
โœ… RemoteFeatureFlagsTests testShared_returnsSameInstance <1ms
โœ… RemoteFeatureFlagsTests testWithTimeout_boundsAHangingOperation 209ms
โœ… RemoteFeatureFlagsTests testWithTimeout_boundsANonCancellableHangingOperation 217ms
โœ… RemoteFeatureFlagsTests testWithTimeout_returnsResultOfFastOperation 5ms
โœ… ResourcePropertiesLengthTests testLength_isNilWhenUnset 7ms
โœ… ResourcePropertiesLengthTests testLength_roundTripsLargeValueWithoutTruncation <1ms
โœ… ResourcePropertiesLengthTests testLength_zeroRoundTrips <1ms
โœ… RetryClassificationTests testAudiobookErrors_notRetryable <1ms
โœ… RetryClassificationTests testAudiobookErrors_retryable 33ms
โœ… RetryClassificationTests testAuthErrors_notRetryable <1ms
โœ… RetryClassificationTests testAuthErrors_retryable 1ms
โœ… RetryClassificationTests testBookRegistryErrors_notRetryable 46ms
โœ… RetryClassificationTests testBookRegistryErrors_retryable 2ms
โœ… RetryClassificationTests testDRMErrors_notRetryable 7ms
โœ… RetryClassificationTests testDownloadErrors_notRetryable <1ms
โœ… RetryClassificationTests testDownloadErrors_retryable <1ms
โœ… RetryClassificationTests testNSURLError_notRetryable 1ms
โœ… RetryClassificationTests testNSURLError_retryable <1ms
โœ… RetryClassificationTests testNetworkErrors_notRetryable <1ms
โœ… RetryClassificationTests testNetworkErrors_retryable 4ms
โœ… RetryClassificationTests testParsingErrors_notRetryable <1ms
โœ… RetryClassificationTests testParsingErrors_retryable <1ms
โœ… RetryClassificationTests testStorageErrors_notRetryable <1ms
โœ… RetryClassificationTests testUnknownError_notRetryable <1ms
โœ… ReturnFlowTests testRetryTracker_limitsRetries 102ms
โœ… RightsManagementDetectionTests testMimeType_adobeAdept_detectsAdobeRights 1ms
โœ… RightsManagementDetectionTests testMimeType_bearerToken_detectsBearerTokenRights 2ms
โœ… RightsManagementDetectionTests testMimeType_epubZip_detectsNoRights 140ms
โœ… RightsManagementDetectionTests testMimeType_lcpLicense_detectsLCPRights <1ms
โœ… RightsManagementDetectionTests testMimeType_unknown_detectsUnknown <1ms
โœ… RightsManagementDispatcherTests testDispatch_adobePDF_returnsFailureWithIgnoreError 17ms
โœ… RightsManagementDispatcherTests testDispatch_bearerToken_invalidJSON_failsWithAlert 10ms
โœ… RightsManagementDispatcherTests testDispatch_bearerToken_missingFile_failsWithAlert 13ms
โœ… RightsManagementDispatcherTests testDispatch_bearerToken_validJSON_registersNewTaskInState 13ms
โœ… RightsManagementDispatcherTests testDispatch_lcp_callsLcpFulfillmentAndDoesNotFlagFailure 8ms
โœ… RightsManagementDispatcherTests testDispatch_none_moveFileFails_flagsFailure 12ms
โœ… RightsManagementDispatcherTests testDispatch_none_moveFileSuccess_doesNotFlagFailure 8ms
โœ… RightsManagementDispatcherTests testDispatch_overdrive_replaceBookFails_flagsFailure 249ms
โœ… RightsManagementDispatcherTests testDispatch_overdrive_replaceBookSuccess_doesNotFlagFailure 11ms
โœ… RightsManagementDispatcherTests testDispatch_unknown_logsAndFlagsFailure 8ms
โœ… RuntimeQuiescenceGateTests testAuditLiveState_withFlagRestored_isQuiescent 4ms
โœ… RuntimeQuiescenceGateTests testCaptureDeferFlag_reflectsLiveFlagValue 10ms
โœ… RuntimeQuiescenceGateTests testCooperativePoolProbe_cleanPool_completesFast 1ms
โœ… RuntimeQuiescenceGateTests testCooperativePoolProbe_saturatedPool_doesNotComplete_redFirst 2.58s
โœ… RuntimeQuiescenceGateTests testDeferFlagViolations_flagLeftFalse_producesExactlyOneViolation 1ms
โœ… RuntimeQuiescenceGateTests testDeferFlagViolations_flagLeftTrue_producesNoViolations <1ms
โœ… RuntimeQuiescenceGateTests testDeferFlagViolations_message_isActionable 5ms
โœ… RuntimeQuiescenceGateTests testObserverLeakViolations_bothDirections <1ms
โœ… RuntimeQuiescenceGateTests testObserverLeakViolations_message_isActionable 2ms
โœ… RuntimeQuiescenceGateTests testPoolResponsivenessViolations_bothDirections 1ms
โŠ˜ RuntimeQuiescenceGateTests testSampleObserverCount_reflectsLiveObserverAdd_orSkips 22ms
โœ… RuntimeQuiescenceLintTests testDetector_flagsDirectXCTestCaseSubclassThatSetsFalse 34ms
โœ… RuntimeQuiescenceLintTests testDetector_ignoresCommentsAndStringLiterals 2ms
โœ… RuntimeQuiescenceLintTests testDetector_passesFileThatNeverSetsFalse <1ms
โœ… RuntimeQuiescenceLintTests testDetector_passesQuiescenceBaseSubclassThatSetsFalse 1ms
โœ… RuntimeQuiescenceLintTests testNoDeferFlagFalseSetterExtendsXCTestCaseDirectly 937ms
โœ… SAMLCookieSyncTests testCookieSyncToSharedStorage 14ms
โœ… SAMLCookieSyncTests testCookieSync_emptyCookies_doesNotCrash 7ms
โœ… SAMLCookieSyncTests testCookieSync_multipleCookies 9ms
โœ… SAMLCookieSyncTests testCookieSync_replacesExistingCookie 69ms
โœ… SAMLCookieSyncTests testRequestCreation_includesCookieHeader 16ms
โœ… SAMLLogoutCallbackDetectionTests testCallbackSchemeError_DetectedAsSuccess 2ms
โœ… SAMLLogoutCallbackDetectionTests testCallbackSchemeError_PartialStatus_AlsoDetected 208ms
โœ… SAMLLogoutCallbackDetectionTests testOIDCCallbackScheme_NotSAMLDetected 3ms
โœ… SAMLLogoutCallbackDetectionTests testUnrelatedError_NotDetected 1ms
โœ… SAMLLogoutLinkParsingTests testRegression_OIDCLogoutHref_StillPopulated 29ms
โœ… SAMLLogoutLinkParsingTests testSAMLAuth_ParsesLogoutHrefIsTemplated_True <1ms
โœ… SAMLLogoutLinkParsingTests testSAMLAuth_ParsesLogoutHref_FromAuthDocument <1ms
โœ… SAMLLogoutLinkParsingTests testSAMLAuth_WithoutLogoutLink_LeavesHrefNil 33ms
โœ… SAMLLogoutLinkParsingTests testSAMLLogoutHref_IsNil_ForBasicAuth 1ms
โœ… SAMLLogoutURLTests testSAMLLogoutURL_CallbackSchemeIsPalaceSAML 1ms
โœ… SAMLLogoutURLTests testSAMLLogoutURL_ExpandsTemplateWithRedirectURI 3ms
โœ… SAMLLogoutURLTests testSAMLLogoutURL_InvalidTemplate_ReturnsNil 6ms
โœ… SAMLLogoutURLTests testSAMLLogoutURL_NonTemplated_UsedAsIs 3ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_AuthRequiredError_SAML_Credentials_Book_ReturnsTrue 45ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_BasicAuth_ReturnsFalse 27ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_NilCurrentBook_ReturnsFalse 80ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_NilError_ReturnsFalse 36ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_NoCredentials_ReturnsFalse 25ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_OAuthAccount_ReturnsFalse 64ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_WrongErrorCode_ReturnsFalse 37ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_WrongErrorDomain_ReturnsFalse 50ms
โœ… SEMigrationsTests testMigrate2_oldCacheFiles_areRemoved 22ms
โœ… SEMigrationsTests testMigrate3_1_0_backupExclusion_isDispatchedForOldVersion 10ms
โœ… SEMigrationsTests testMigrate3_1_0_backupExclusion_isSkippedForCurrentVersion 44ms
โœ… SEMigrationsTests testRunMigrations_doesNotCrashAndDoesNotMutateAppVersionWhenNoMigrationsApply 83ms
โœ… SEMigrationsTests testRunMigrations_multipleCallsAreSafe 26ms
โœ… SEMigrationsTests testRunMigrations_nilOrEmptyVersion_handlesGracefullyWithoutCrashing 41ms
โœ… SafeDictionaryTests testAllPairs_returnsAllKeyValuePairs 4ms
โœ… SafeDictionaryTests testCompactMapValues_removesNils 55ms
โœ… SafeDictionaryTests testContains_existingKey_returnsTrue 3ms
โœ… SafeDictionaryTests testCount_reflectsEntries 4ms
โœ… SafeDictionaryTests testFilter_selectsMatchingEntries 3.52s
โœ… SafeDictionaryTests testGetMetrics_returnsMetricsDictionary 54ms
โœ… SafeDictionaryTests testGet_missingKey_returnsNil 50ms
โœ… SafeDictionaryTests testInit_withInitialValues 39ms
โœ… SafeDictionaryTests testIsEmpty_noEntries_returnsTrue 42ms
โœ… SafeDictionaryTests testKeys_returnsAllKeys 196ms
โœ… SafeDictionaryTests testMapValues_transformsValues 3ms
โœ… SafeDictionaryTests testModify_createsNewValue 6ms
โœ… SafeDictionaryTests testModify_updatesExistingValue 4ms
โœ… SafeDictionaryTests testRemoveAll_clearsEverything 11.99s
โœ… SafeDictionaryTests testRemoveMultiple_removesSpecifiedKeys 61ms
โœ… SafeDictionaryTests testRemove_deletesEntry 6ms
โœ… SafeDictionaryTests testRemove_missingKey_returnsNil 25ms
โœ… SafeDictionaryTests testSet_andGet_returnsValue 6ms
โœ… SafeDictionaryTests testSet_overwrite_updatesValue 5ms
โœ… SafeDictionaryTests testUpdateMultiple_addsAllEntries 5.50s
โœ… SafeDictionaryTests testValues_returnsAllValues 1.71s
โœ… SamplePlayerErrorTests testFileSaveFailed_WithUnderlyingError 48ms
โœ… SamplePlayerErrorTests testFileSaveFailed_WithoutUnderlyingError <1ms
โœ… SamplePlayerErrorTests testNoSampleAvailable_IsError 2ms
โœ… SamplePlayerErrorTests testSampleDownloadFailed_WithUnderlyingError 134ms
โœ… SamplePlayerErrorTests testSampleDownloadFailed_WithoutUnderlyingError <1ms
โœ… SampleTypeTests testNeedsDownload_EpubZip_ReturnsTrue 2ms
โœ… SampleTypeTests testNeedsDownload_OpenAccessAudiobook_ReturnsFalse 2ms
โœ… SampleTypeTests testNeedsDownload_OverdriveAudiobookMpeg_ReturnsTrue 1ms
โœ… SampleTypeTests testNeedsDownload_OverdriveAudiobookWaveFile_ReturnsTrue 2ms
โœ… SampleTypeTests testNeedsDownload_OverdriveWeb_ReturnsFalse 60ms
โœ… SampleTypeTests testRawValue_ContentTypeEpubZip <1ms
โœ… SampleTypeTests testRawValue_OpenAccessAudiobook 526ms
โœ… SampleTypeTests testRawValue_OverdriveWeb <1ms
โœ… SceneDelegateTests testSceneDelegate_HasMainSceneConnected_IsConsistent 21ms
โœ… ScopedResetTests testHostMatches_emptyHostSet_neverMatches 2ms
โœ… ScopedResetTests testHostMatches_exactHost_matches <1ms
โœ… ScopedResetTests testHostMatches_leadingDotCookieDomain_matches 1ms
โœ… ScopedResetTests testHostMatches_parentDomainCookieCoveringHost_matches 104ms
โœ… ScopedResetTests testHostMatches_rawSuffixWithoutDotBoundary_doesNotMatch 135ms
โœ… ScopedResetTests testHostMatches_siblingHostOnSharedBaseDomain_doesNotMatch <1ms
โœ… ScopedResetTests testHostMatches_unrelatedDomain_doesNotMatch <1ms
โœ… ScopedResetTests testPerformScopedReset_resetsActiveLibraryOnly_andSkipsDRMDeauthorize 69ms
โœ… ScopedResetTests testWebHostsToClear_nilAccount_isEmpty 2ms
โœ… SearchAccessibilityTests testClearSearchLabel_isDescriptive 1ms
โœ… SearchAccessibilityTests testClearSearchLabel_isLocalized <1ms
โœ… SearchAccessibilityTests testGoBackLabel_isDescriptive <1ms
โœ… SearchAccessibilityTests testPostSearchGate_emptyQuery_isFalse 1ms
โœ… SearchAccessibilityTests testPostSearchGate_voiceOverOff_isFalse <1ms
โœ… SearchAccessibilityTests testPostSearchGate_voiceOverOn_finishedRealQuery_isTrue <1ms
โœ… SearchAccessibilityTests testPostSearchGate_whileLoading_isFalse <1ms
โœ… SearchAccessibilityTests testPostSearchGate_whitespaceQuery_isFalse 8ms
โœ… SearchAccessibilityTests testSearchBooksLabel_exists <1ms
โœ… SearchAccessibilityTests testSearchCatalogLabel_differsFromSearchInBook <1ms
โœ… SearchAccessibilityTests testSearchInBookLabel_isDescriptive <1ms
โœ… SearchFlowIntegrationTests testSearchCancellation_StopsPendingRequest 57ms
โœ… SearchFlowIntegrationTests testSearchDebouncing_PreventsExcessiveRequests 3ms
โœ… SearchFlowIntegrationTests testSearchQuery_DispatchesToCatalogRepository 4ms
โœ… SearchFlowIntegrationTests testSearchResults_ContainExpectedBookData 65ms
โœ… SearchFlowIntegrationTests testSearchWithEmptyQuery_ReturnsNilResult 2ms
โœ… SearchFlowIntegrationTests testSearchWithNetworkError_PropagatesError 5ms
โœ… SearchFlowIntegrationTests testSearchWithServerError_PropagatesServerError 4ms
โœ… SearchFlowIntegrationTests testSequentialSearches_TrackAllQueries 4ms
โœ… SettingsViewModelComputedPropertyTests testAccountCount_ReflectsSettingsAccountsList 6ms
โœ… SettingsViewModelComputedPropertyTests testDuplicateWrite_DoesNotTriggerSettingsUpdate 2ms
โœ… SettingsViewModelComputedPropertyTests testIsUsingCustomFeed_AfterClear_ReturnsFalse 2ms
โœ… SettingsViewModelComputedPropertyTests testIsUsingCustomRegistry_AfterClear_ReturnsFalse 21ms
โœ… SettingsViewModelComputedPropertyTests testShowDeveloperSettings_CanBeToggled 6ms
โœ… SettingsViewModelComputedPropertyTests testShowDeveloperSettings_DefaultsFalse 5ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_InitWithPartialSettings_HandlesGracefully 9ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_MultipleRapidChanges_MaintainsConsistency 111ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_ResetThenModify_WorksCorrectly 967ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_SetCustomFeedURL_LocalhostHTTP_ReturnsTrue 10ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_SetCustomFeedURL_URLWithFragment_ReturnsTrue 24ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_SetCustomFeedURL_URLWithPort_ReturnsTrue 53ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_SetCustomFeedURL_URLWithQueryParams_ReturnsTrue 7ms
โœ… SettingsViewModelGapTests testSettingsViewModel_refreshAccountsList_updatesProperty 6ms
โœ… SettingsViewModelSyncTests testResetToDefaults_ClearsAllSettings 287ms
โœ… SettingsViewModelSyncTests testResetToDefaults_UpdatesSettingsProvider 26ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithEmptyString_ClearsURL 6ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithInvalidURL_ReturnsFalse 134ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithNil_ClearsURL 5ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithNonHttpScheme_ReturnsFalse 10ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithValidHttpURL_ReturnsTrue 5ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithValidHttpsURL_ReturnsTrue 9ms
โœ… SettingsViewModelSyncTests testSetCustomRegistryServer_WithEmptyString_ReturnsTrueAndClears 5ms
โœ… SettingsViewModelSyncTests testSetCustomRegistryServer_WithNil_ClearsServer 336ms
โœ… SettingsViewModelSyncTests testSetCustomRegistryServer_WithValidURL_ReturnsTrue 8ms
โœ… SettingsViewModelSyncTests testSettingsViewModel_BidirectionalSync_SettingsToViewModelViaRefresh 5ms
โœ… SettingsViewModelSyncTests testSettingsViewModel_BidirectionalSync_ViewModelToSettings 101ms
โœ… SettingsViewModelSyncTests testSettingsViewModel_ExternalSettingsChange_RequiresRefresh 6ms
โœ… SettingsViewModelTests testSettingsViewModel_AcceptEULA_SetsTrue 8ms
โœ… SettingsViewModelTests testSettingsViewModel_ClearCustomFeedURL_ClearsURL 12ms
โœ… SettingsViewModelTests testSettingsViewModel_ClearCustomRegistryServer_ClearsServer 12ms
โœ… SettingsViewModelTests testSettingsViewModel_CustomMainFeedURL_PublishesChanges 9ms
โœ… SettingsViewModelTests testSettingsViewModel_FormattedAppVersion_ReturnsFormattedString 335ms
โœ… SettingsViewModelTests testSettingsViewModel_Init_DefaultsAreCorrect 16ms
โœ… SettingsViewModelTests testSettingsViewModel_Init_ReadsSettingsFromProvider 28ms
โœ… SettingsViewModelTests testSettingsViewModel_IsUsingCustomFeed_FalseWhenURLNil 9ms
โœ… SettingsViewModelTests testSettingsViewModel_IsUsingCustomFeed_TrueWhenURLSet 90ms
โœ… SettingsViewModelTests testSettingsViewModel_IsUsingCustomRegistry_FalseWhenServerEmpty 9ms
โœ… SettingsViewModelTests testSettingsViewModel_IsUsingCustomRegistry_FalseWhenServerNil 4ms
โœ… SettingsViewModelTests testSettingsViewModel_IsUsingCustomRegistry_TrueWhenServerSet 84ms
โœ… SettingsViewModelTests testSettingsViewModel_MarkAgeCheckPresented_SetsTrue 7ms
โœ… SettingsViewModelTests testSettingsViewModel_RefreshSettings_ReloadsFromProvider 6ms
โœ… SettingsViewModelTests testSettingsViewModel_ResetToDefaults_ResetsAllSettings 13ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_EmptyString_ClearsURL 211ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_InvalidScheme_ReturnsFalse 6ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_InvalidURL_ReturnsFalse 68ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_Nil_ClearsURL 21ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_ValidHTTPS_ReturnsTrue 3ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_ValidHTTP_ReturnsTrue 242ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomRegistryServer_EmptyString_ClearsServer 5ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomRegistryServer_InvalidURL_ReturnsFalse 8ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomRegistryServer_ValidURL_ReturnsTrue 257ms
โœ… SettingsViewModelTests testSettingsViewModel_SetEnterLCPPassphraseManually_UpdatesSettings 31ms
โœ… SettingsViewModelTests testSettingsViewModel_SetSameValue_DoesNotWriteToSettings 6ms
โœ… SettingsViewModelTests testSettingsViewModel_SetUseBetaLibraries_UpdatesSettings 108ms
โœ… SettingsViewModelTests testSettingsViewModel_SetUserHasAcceptedEULA_UpdatesSettings 19ms
โœ… SettingsViewModelTests testSettingsViewModel_SetUserPresentedAgeCheck_UpdatesSettings 5ms
โœ… SettingsViewModelTests testSettingsViewModel_ToggleBetaLibraries_TogglesValue 226ms
โœ… SettingsViewModelTests testSettingsViewModel_ToggleLCPManualPassphrase_TogglesValue 6ms
โœ… SettingsViewModelTests testSettingsViewModel_UpdateAppVersion_UpdatesSettings 11ms
โœ… SettingsViewModelTests testSettingsViewModel_UseBetaLibraries_PublishesChanges 13ms
โœ… SideloadImportContractTests testImportPipeline_recordsOrderedDependencyCalls 223ms
โœ… SideloadedBookManagerTests testCaption_importedBook_isFilename_unknownBook_fallsBackToTitle 8ms
โœ… SideloadedBookManagerTests testImport_audiobookManifest_mintsAudiobookContentType 8ms
โœ… SideloadedBookManagerTests testImport_copiesFileToFixedAccountPath_notCurrentAccount 9ms
โœ… SideloadedBookManagerTests testImport_copyFailure_throws_andMutatesNeitherRegistry 136ms
โœ… SideloadedBookManagerTests testImport_destinationUnavailable_throwsDestinationUnavailable_andMutatesNeitherRegistry 16ms
โœ… SideloadedBookManagerTests testImport_epubFile_mintsEpubOpenAccessBook_andRegistersDownloadSuccessful 16ms
โœ… SideloadedBookManagerTests testImport_manifestPersistFails_throwsPersistenceFailed_andDoesNotRegisterInMainRegistry 43ms
โœ… SideloadedBookManagerTests testImport_pdfFile_mintsPdfContentType 10ms
โœ… SideloadedBookManagerTests testImport_sameContentTwice_doesNotDuplicate 13ms
โœ… SideloadedBookManagerTests testImport_unreadableSourceFile_throwsUnreadableFile_andMutatesNeitherRegistry 4ms
โœ… SideloadedBookManagerTests testImport_unsupportedType_throws_andMutatesNeitherRegistry 11ms
โœ… SideloadedBookManagerTests testOriginalFilename_afterImport_returnsImportedFilename 42ms
โœ… SideloadedBookManagerTests testOriginalFilename_unknownIdentifier_returnsNil 5ms
โœ… SideloadedBookManagerTests testRehydrateAtLaunch_reRegistersPersistedBooks_intoMainRegistry_asDownloadSuccessful 6ms
โœ… SideloadedBookManagerTests testRehydrateAtLaunch_runTwice_isIdempotent_doesNotReAddPresentBook 79ms
โœ… SideloadedBookManagerTests testRemove_bookPresentOnlyInSideloadedRegistry_deletesFileViaFallbackLookup 6ms
โœ… SideloadedBookManagerTests testRemove_deletesFile_andClearsBothRegistries 7ms
โœ… SideloadedBookRegistryTests test_addDuplicateIdentifier_doesNotDoubleInsert_andUpdatesInPlace 9ms
โœ… SideloadedBookRegistryTests test_add_persistsAcrossReload_preservingIdentifiersTitlesAndFilenames 298ms
โœ… SideloadedBookRegistryTests test_add_whenManifestWriteFails_throws_andRollsBackInMemory 36ms
โœ… SideloadedBookRegistryTests test_corruptManifest_loadsAsEmpty_withoutCrashing 3ms
โœ… SideloadedBookRegistryTests test_emptyManifestFile_loadsAsEmpty 9ms
โœ… SideloadedBookRegistryTests test_manifestWithGarbageRecord_skipsUnreadableEntry_keepsValidOnes 1.20s
โœ… SideloadedBookRegistryTests test_missingManifest_loadsAsEmpty 7.34s
โœ… SideloadedBookRegistryTests test_remove_dropsBookFromIdentifiersAndPersists 17.04s
โœ… SideloadedBookRegistryTests test_remove_unknownIdentifier_isNoOp 3ms
โœ… SideloadedBookRegistryTests test_rename_changesPersistedTitle_survivesReload 1.76s
โœ… SideloadedBookRegistryTests test_rename_doesNotMutateSharedBookInstance_replacesWithCopy 5.27s
โœ… SideloadedBookRegistryTests test_rename_unknownIdentifier_isNoOp 25ms
โœ… SideloadedBookRegistryTests test_update_replacesBookButPreservesOriginalFilename 48.22s
โœ… SideloadedBookRegistryTests test_update_unknownIdentifier_doesNotInsert 2ms
โœ… SideloadedLaneBridgeTests testPrependingEmpty_emptyBase_shapeUnchanged <1ms
โœ… SideloadedLaneBridgeTests testPrependingEmpty_groupedBase_shapeUnchanged 5ms
โœ… SideloadedLaneBridgeTests testPrependingEmpty_ungroupedBase_shapeUnchanged 10ms
โœ… SideloadedLaneBridgeTests testPrepending_emptyBase_groupedWithOnlySideloadedLane 10ms
โœ… SideloadedLaneBridgeTests testPrepending_groupedBase_sideloadedLaneIsFirst_baseLanesRetained 6ms
โœ… SideloadedLaneBridgeTests testPrepending_ungroupedBase_forcesGrouped_keepsOriginalBooks 6ms
โœ… SideloadedLaneViewModelTests testApplyFacet_cacheHit_stillShowsSideloadedLane 41ms
โœ… SideloadedLaneViewModelTests testLoadFailure_connected_emptyProvider_exposesErrorOnly_noLane 10ms
โœ… SideloadedLaneViewModelTests testLoadFailure_connected_nonEmptyProvider_exposesErrorAndSideloadedLane 14ms
โœ… SideloadedLaneViewModelTests testLoadFailure_offline_emptyProvider_exposesOfflineOnly_noLane 21ms
โœ… SideloadedLaneViewModelTests testLoadFailure_offline_nonEmptyProvider_exposesOfflineAndSideloadedLane 18ms
โœ… SideloadedLaneViewModelTests testLoad_providerEmpty_noSideloadedLane 5ms
โœ… SideloadedLaneViewModelTests testLoad_providerNonEmpty_prependsSideloadedLaneAtTop 12ms
โœ… SignInFormPresentationTests test_shouldShowInlineFormError_requiresAlertAndMessage 1ms
โœ… SignInFormPresentationTests test_titleOpacity_hidesTitleWhileLoading 13ms
โœ… SignInFormPresentationTests test_titleOpacity_showsTitleWhenIdle <1ms
โœ… SignInModalLifecycleTests testPresenter_currentAccountIDNil_firesCompletionWithoutPublishingState 3ms
โœ… SignInModalLifecycleTests testPresenter_currentAccountNeedsNoAuth_shortCircuitsWithoutPublishingState 612ms
โœ… SignInModalLifecycleTests testPresenter_dismissAfterPresent_resetsPresentationState 4ms
โœ… SignInModalLifecycleTests testPresenter_dismissedToIdle_secondPresentAfterFirstCompletes_publishesAgain 5ms
โœ… SignInModalLifecycleTests testPresenter_idleToPresenting_publishesForCurrentAccountOnFirstPresent 190ms
โœ… SignInModalLifecycleTests testPresenter_presentForCurrentAccount_publishesState_invokesDriver_clearsState_firesCompletion 3ms
โœ… SignInModalLifecycleTests testPresenter_presentingToDismissed_clearsPresentationStateOnDriverCompletion 7ms
โœ… SignInModalLifecycleTests testPresenter_singleFlight_secondPresentationBeforeFirstDismisses_isNoOp 8ms
โœ… SignInModalLifecycleTests testReauth_TPPReauthenticator_authenticateIfNeeded_drivesSpyPresenterViaAppContainerSeam 8ms
โœ… SignInModalPredicateTests testShouldAutoDismiss_whenCredentialsStale_returnsFalse 430ms
โœ… SignInModalPredicateTests testShouldAutoDismiss_whenLoggedIn_returnsTrue <1ms
โœ… SignInModalPredicateTests testShouldAutoDismiss_whenLoggedOut_returnsFalse 1ms
โœ… SignInModalSAMLOIDCTests testBorrowReauthGuard_allBookStates 312ms
โœ… SignInModalSAMLOIDCTests testBorrowReauthGuard_downloadNeededBook_blocksReauth <1ms
โœ… SignInModalSAMLOIDCTests testBorrowReauthGuard_unregisteredBook_allowsReauth 2ms
โœ… SignInModalSAMLOIDCTests testNeedsAuth_allAuthTypes 762ms
โœ… SignInModalSAMLOIDCTests testNeedsAuth_consistencyBetweenTwoImplementations 43ms
โœ… SignInModalSAMLOIDCTests testSignInModalGuard_needsAuth_classifiesAuthTypesCorrectly 261ms
โœ… SignInOAuthErrorPropagationTests testHandleRedirectURL_accessTokenButNoPatronInfo_routesToMissingPayloadBranch 34ms
โœ… SignInOAuthErrorPropagationTests testHandleRedirectURL_accessTokenWithEqualsPadding_parsesCorrectly 33ms
โœ… SignInOAuthErrorPropagationTests testHandleRedirectURL_authDataParseFail_synthesizesNonNilErrorWithTitleAndMessage 29ms
โœ… SignInOAuthErrorPropagationTests testHandleRedirectURL_missingPayload_synthesizesNonNilErrorWithTitleAndMessage 45ms
โœ… SignInOAuthErrorPropagationTests testHandleRedirectURL_notificationWithoutURL_synthesizesNonNilError 30ms
โœ… SignInOAuthErrorPropagationTests testHandleRedirectURL_serverErrorWithoutDetail_fallsBackToGenericMessage 30ms
โœ… SignInOAuthErrorPropagationTests testHandleRedirectURL_serverReturnsErrorInPayload_synthesizesErrorWithParsedTitleAndDetail 26ms
โœ… SignInOAuthErrorPropagationTests testHandleRedirectURL_successPath_completionFiresWithNilError 26ms
โœ… SignInToReadFlowIntegrationTests testAuthToken_AttachedToSubsequentRequest 110ms
โœ… SignInToReadFlowIntegrationTests testCatalogLoad_503ThenRetrySucceeds 100ms
โœ… SignInToReadFlowIntegrationTests testHappyPath_SignIn_Borrow_Download_ReaderOpens_AllStepsHappen 98ms
โœ… SignInToReadFlowIntegrationTests testNetworkDrop_DuringSignIn_SurfacesAsConnectivityError 138ms
โœ… SignInToReadFlowIntegrationTests testSignInFails_RegistryRemainsEmpty_AuthStateNotSignedIn 145ms
โœ… SignInWebSheetIntegrationTests test_initialLoad_injectsCookiesBeforeLoadingRequest 151ms
โœ… SignInWebSheetIntegrationTests test_loadingOverlay_startsTrueAndBecomesFalseOnNavigationFinish 410ms
โœ… SignInWebSheetIntegrationTests test_navigatingToUniversalLinksURL_firesLoginCompletionWithCookies 2.46s
โœ… SignInWebSheetViewModelTests test_autoPresentIfNeeded_canBeTrue 1ms
โœ… SignInWebSheetViewModelTests test_autoPresentIfNeeded_defaultsToFalse <1ms
โœ… SignInWebSheetViewModelTests test_bookFoundThenCancel_doesNotFireCancel 33ms
โœ… SignInWebSheetViewModelTests test_cancelThenLoginCompletion_doesNotFireLogin <1ms
โœ… SignInWebSheetViewModelTests test_cookieInjection_emptyCookies_loadsRequestImmediately 4ms
โœ… SignInWebSheetViewModelTests test_cookieInjection_loadHandlerOnlyFiresAfterAllCookiesInjected 23ms
โœ… SignInWebSheetViewModelTests test_cookieInjection_orderPreserved 2ms
โœ… SignInWebSheetViewModelTests test_decideAction_loginCompletionURL_isStillRecordedAsPreviousRequest <1ms
โœ… SignInWebSheetViewModelTests test_decideAction_navigationToOtherURL_returnsAllow <1ms
โœ… SignInWebSheetViewModelTests test_decideAction_navigationToUniversalLinksHostButDifferentPath_doesNotMatch <1ms
โœ… SignInWebSheetViewModelTests test_decideAction_navigationToUniversalLinksURL_returnsCompleteLogin 7ms
โœ… SignInWebSheetViewModelTests test_decideAction_recordsPreviousRequestForLaterBookFound <1ms
โœ… SignInWebSheetViewModelTests test_decideResponse_htmlMime_returnsAllow 1ms
โœ… SignInWebSheetViewModelTests test_decideResponse_nilMime_returnsAllow 3ms
โœ… SignInWebSheetViewModelTests test_decideResponse_problemJsonMime_returnsProblemFound 8ms
โœ… SignInWebSheetViewModelTests test_decideResponse_supportedBookMime_returnsBookFound <1ms
โœ… SignInWebSheetViewModelTests test_decideResponse_unsupportedTypeNotInBookList_returnsAllow 5ms
โœ… SignInWebSheetViewModelTests test_didFinishNavigation_setsLoadingFalse <1ms
โœ… SignInWebSheetViewModelTests test_didStartProvisionalNavigation_resetsLoadingTrue 8ms
โœ… SignInWebSheetViewModelTests test_isLoading_trueByDefault <1ms
โœ… SignInWebSheetViewModelTests test_loginCompletionThenCancel_doesNotFireCancel <1ms
โœ… SignInWebSheetViewModelTests test_problemThenCancel_doesNotFireCancel 2ms
โœ… SignInWebSheetViewModelTests test_recordBookFound_invokesHandlerOnceWithPreviousRequestAndCookies <1ms
โœ… SignInWebSheetViewModelTests test_recordBookFound_secondCallIgnored 2ms
โœ… SignInWebSheetViewModelTests test_recordCancel_invokesHandlerOnce 23ms
โœ… SignInWebSheetViewModelTests test_recordLoginCompletion_invokesHandlerOnceWithURLAndCookies 2ms
โœ… SignInWebSheetViewModelTests test_recordLoginCompletion_secondCallIgnored <1ms
โœ… SignInWebSheetViewModelTests test_recordProblem_invokesHandlerOnce 1ms
โœ… SignInWebSheetViewModelTests test_wasBookFound_falseAfterOnlyLoginCompletion <1ms
โœ… SignInWebSheetViewModelTests test_wasBookFound_falseInitially <1ms
โœ… SignInWebSheetViewModelTests test_wasBookFound_trueAfterRecordBookFound 1ms
โœ… SignOutCacheClearingTests testClearCache_doesNotCrash_andExecutorStaysReusable <1ms
โœ… SignOutCacheClearingTests testNetworkExecutorAndSharedCache_areSeparate 7ms
โœ… SignOutCacheClearingTests testURLCacheShared_clearIsIdempotentAndPreservesCapacity <1ms
โœ… SingletonResetRegistryTests testInvokeAll_reentrantRegisterDuringResetter_isDroppedWithWarning 2ms
โœ… SingletonResetRegistryTests testInvokeAll_resetterClosureCapturingNilWeakRef_doesNotCrash 2ms
โœ… SingletonResetRegistryTests testRegister_multipleThreadsConcurrently_yieldsConsistentSnapshot 580ms
โœ… SingletonResetRegistryTests testRegister_reRegisterSameName_overwritesInPlacePreservingOrder 35ms
โœ… SingletonResetRegistryTests testRegister_thenInvokeAll_callsResettersInRegistrationOrder 45ms
โœ… SkeletonTests testBandWidth_floorsForTinyContent 6ms
โœ… SkeletonTests testBandWidth_isFractionOfWideContent 2ms
โœ… SkeletonTests testBaseColor_differsBetweenSchemes 2ms
โœ… SkeletonTests testEntryPointsSkeleton_footprintIsNonDegenerate 2ms
โœ… SkeletonTests testEntryPointsSkeleton_reservesRealSelectorFootprint 2ms
โœ… SkeletonTests testHighlightColor_differsBetweenSchemes <1ms
โœ… SkeletonTests testLineWidth_lastLineIsShorter 2ms
โœ… SkeletonTests testLineWidth_middleLineIsFullWidth 81ms
โœ… SkeletonTests testLineWidth_singleLineIsFullWidth <1ms
โœ… SkeletonTests testPhase_loopsWithPeriodEqualToDuration 2ms
โœ… SkeletonTests testPhase_movesWithTime 10ms
โœ… SkeletonTests testPhase_rampsFromMinusOneTowardPlusOne <1ms
โœ… SkeletonTests testPhase_zeroDurationIsSafe 23ms
โœ… SkeletonTests testShouldAnimateSweep_activeAndMotionAllowed_returnsTrue 1ms
โœ… SkeletonTests testShouldAnimateSweep_inactive_returnsFalse 103ms
โœ… SkeletonTests testShouldAnimateSweep_lowPowerOn_returnsFalse 1ms
โœ… SkeletonTests testShouldAnimateSweep_reduceMotionOn_returnsFalse <1ms
โœ… SkeletonTests testSweepTranslation_centeredAtMidPhase 47ms
โœ… SkeletonTests testSweepTranslation_fullyClearsContentAtExtremes 85ms
โœ… SkeletonTests testSweepTranslation_movesWithPhase <1ms
โœ… SkeletonTests testSweepTranslation_symmetricAboutCenter <1ms
โœ… SkeletonTests testSweepTranslation_tiltMakesTallerContentTravelFarther <1ms
โœ… StatsViewModelTests testInitialState 13ms
โœ… StatsViewModelTests testLoadPopulatesChartData 24ms
โœ… StatsViewModelTests testLoadPopulatesStats 645ms
โœ… StatsViewModelTests testLoadPopulatesStreak 16ms
โœ… StatsViewModelTests testLongestStreakText 15ms
โœ… StatsViewModelTests testRecentBadgesAfterCompletion 35ms
โœ… StatsViewModelTests testRecentBadgesLimitedToFive 24ms
โœ… StatsViewModelTests testStreakDisplayTextActive 29ms
โœ… StatsViewModelTests testStreakDisplayTextNoStreak 13ms
โœ… StatsViewModelTests testTimePeriodChangeUpdatesData 228ms
โœ… StatusAnnouncementTests testPP3673_allAnnouncementTypes_areProgrammaticallyDeterminable 3ms
โœ… StatusAnnouncementTests testPP3673_borrowFailed_announces 21ms
โœ… StatusAnnouncementTests testPP3673_borrowLifecycle_producesSequentialAnnouncements 150ms
โœ… StatusAnnouncementTests testPP3673_borrowStarted_announces <1ms
โœ… StatusAnnouncementTests testPP3673_borrowSucceeded_announcesWithoutFocusShift 2ms
โœ… StatusAnnouncementTests testPP3673_differentMessages_allAnnounced 2ms
โœ… StatusAnnouncementTests testPP3673_downloadCompleted_announces <1ms
โœ… StatusAnnouncementTests testPP3673_downloadFailed_announces <1ms
โœ… StatusAnnouncementTests testPP3673_downloadStarted_announces <1ms
โœ… StatusAnnouncementTests testPP3673_errorAnnouncement_doesNotMoveFocus 9ms
โœ… StatusAnnouncementTests testPP3673_errorMessage_announcedViaVoiceOver 1ms
โœ… StatusAnnouncementTests testPP3673_quickSuccession_sameMessage_collapsed 1ms
โœ… StatusAnnouncementTests testPP3673_searchAnnouncement_usesAnnouncementNotification <1ms
โœ… StatusAnnouncementTests testPP3673_searchFailed_announces 2ms
โœ… StatusAnnouncementTests testPP3673_searchNoResults_announcesNoResults 31ms
โœ… StatusAnnouncementTests testPP3673_searchRerun_announcesNewStatus 118ms
โœ… StatusAnnouncementTests testPP3673_searchStrings_areLocalized 1ms
โœ… StatusAnnouncementTests testPP3673_searchWithResults_announcesResultsForQuery 1ms
โœ… StatusAnnouncementTests testPP3673_statusStrings_areUnderstandable <1ms
โœ… StatusAnnouncementTests testPP3673_statusWithTitleAndMessage_isClear <1ms
โœ… StatusAnnouncementTests testPP3673_updatedStatus_replacesOld <1ms
โœ… StatusAnnouncementTests testPP3673_voiceOverDisabled_noAnnouncements 101ms
โœ… StopPositionSaveTests testStop_bypassesSaveSuppression 1ms
โœ… StopPositionSaveTests testStop_savesEvenDuringActiveSuppression 1ms
โœ… StoreTests testEnvironment_substitution_changesEffectOutput 13ms
โœ… StoreTests testReducer_canBeExercisedWithoutAStore <1ms
โœ… StoreTests testSendAwait_runsEffectChainToCompletionBeforeReturning 6ms
โœ… StoreTests testSend_effect_feedsFollowupActionThroughReducer 6ms
โœ… StoreTests testSend_synchronousReducer_updatesStateBeforeReturning 31ms
โœ… StreamingReaderPresentationContractTests testStreamingReaderPresentation_handleActionReadStreaming_callSequence 4ms
โœ… StreamingReaderProgressStoreTests testStreamingReaderProgressStore_read_malformedJSON_returnsNil 14ms
โœ… StreamingReaderProgressStoreTests testStreamingReaderProgressStore_read_returnsNilForDifferentBookID 49ms
โœ… StreamingReaderProgressStoreTests testStreamingReaderProgressStore_read_unknownBookID_returnsNil 4ms
โœ… StreamingReaderProgressStoreTests testStreamingReaderProgressStore_save_doesNotOverwriteOtherBooks 1.56s
โœ… StreamingReaderProgressStoreTests testStreamingReaderProgressStore_save_usesPalaceStreamingReaderPrefix 26ms
โœ… StreamingReaderProgressStoreTests testStreamingReaderProgressStore_writeThenRead_nilFragmentRoundTrips 173ms
โœ… StreamingReaderProgressStoreTests testStreamingReaderProgressStore_writeThenRead_returnsExactScrollOffset 5ms
โœ… StreamingReaderViewControllerScrollRestoreTests testStreamingReaderViewController_didFinish_whenActualWithinTolerance_doesNotRetry 19ms
โœ… StreamingReaderViewControllerScrollRestoreTests testStreamingReaderViewController_didFinish_whenJSReportsActualMatchesTarget_doesNotRetry 58ms
โœ… StreamingReaderViewControllerScrollRestoreTests testStreamingReaderViewController_didFinish_whenJSReportsActualMismatch_retriesUpToMax 24ms
โœ… StreamingReaderViewControllerScrollRestoreTests testStreamingReaderViewController_didFinish_whenJSResultMalformed_retriesUpToMax 24ms
โœ… StreamingReaderViewControllerScrollRestoreTests testStreamingReaderViewController_didFinish_withNoSavedScroll_doesNotInvokeScrollTo 21ms
โœ… StreamingReaderViewControllerScrollRestoreTests testStreamingReaderViewController_didFinish_withSavedScrollZero_doesNotInvokeScrollTo 14ms
โœ… StreamingReaderViewControllerScrollRestoreTests testStreamingReaderViewController_didFinish_withSavedScroll_invokesScrollToInJS 23ms
โœ… StreamingReaderViewControllerScrollRestoreTests testStreamingReaderViewController_parseActualY_returnsNilOnNonDictionary <1ms
โœ… StreamingReaderViewControllerScrollRestoreTests testStreamingReaderViewController_parseActualY_returnsNilWhenActualMissing 53ms
โœ… StreamingReaderViewControllerScrollRestoreTests testStreamingReaderViewController_parseActualY_returnsValueFromDouble 254ms
โœ… StreamingReaderViewControllerScrollRestoreTests testStreamingReaderViewController_parseActualY_returnsValueFromInt <1ms
โœ… StreamingReaderViewControllerScrollRestoreTests testStreamingReaderViewController_parseActualY_returnsValueFromNSNumber 1ms
โœ… StreamingReaderViewModelTests testStreamingReaderViewModel_didDismiss_persistsScrollOffsetToStore 6ms
โœ… StreamingReaderViewModelTests testStreamingReaderViewModel_didDismiss_withoutPriorNavigation_doesNotSave 2ms
โœ… StreamingReaderViewModelTests testStreamingReaderViewModel_didNavigationFinish_thenDismiss_persistsLatestOffset 2ms
โœ… StreamingReaderViewModelTests testStreamingReaderViewModel_init_whenOffline_emitsOfflineState 2ms
โœ… StreamingReaderViewModelTests testStreamingReaderViewModel_init_withMalformedSavedProgress_doesNotCrashAndStaysReady 3ms
โœ… StreamingReaderViewModelTests testStreamingReaderViewModel_init_withSavedProgress_emitsReadyStateWithRestoredOffset 8ms
โœ… StreamingReaderViewModelTests testStreamingReaderViewModel_init_withoutSavedProgress_emitsReadyStateWithNilOffset 2ms
โœ… StreamingReaderViewModelTests testStreamingReaderViewModel_loadingThenReadyThenDismissed_persistsLastOffsetRoundtrip 3ms
โœ… StreamingReaderViewModelTests testStreamingReaderViewModel_reload_whenReachabilityRestored_emitsReadyState 8ms
โœ… StringExtensionTests testMd5hex_differsByInput <1ms
โœ… StringExtensionTests testMd5hex_emptyString 4ms
โœ… StringExtensionTests testMd5hex_length 4ms
โœ… StringExtensionTests testMd5hex_returnsConsistentHash <1ms
โœ… StringExtensionTests testParseJSONString_arrayJSON 5ms
โœ… StringExtensionTests testParseJSONString_emptyString 1ms
โœ… StringExtensionTests testParseJSONString_invalidJSON <1ms
โœ… StringExtensionTests testParseJSONString_validJSON 22ms
โœ… StringExtensionsTests testIsDate_delayBoundary_isStrictGreaterThan 3ms
โœ… StringExtensionsTests testIsDate_invalidOrEmptyStrings_returnFalse 5ms
โœ… StringExtensionsTests testIsDate_temporalDirection_acrossSecondsDaysAndYears 17ms
โœ… StringHTMLEntitiesTests testDecode_CommonHTMLEntities_DecodesCorrectly <1ms
โœ… StringHTMLEntitiesTests testDecode_NumericDecimal_DecodesCorrectly <1ms
โœ… StringHTMLEntitiesTests testDecode_NumericHex_DecodesCorrectly <1ms
โœ… StringHTMLEntitiesTests testDecode_XMLPredefinedEntities_DecodesCorrectly 9ms
โœ… StringHTMLEntitiesTests testDecode_malformedInputPreservedVerbatim <1ms
โœ… StringHTMLEntitiesTests testDecode_passThroughAndMixedContentEdgeCases <1ms
โœ… StringHTMLEntitiesTests testNSStringBridge_decodesEntitiesAndMixedContent 5ms
โœ… StringNYPLAdditionsTests testStringContains_caseInsensitive 1ms
โœ… StringNYPLAdditionsTests testStringIsEmpty_withWhitespace 1ms
โœ… StringNYPLAdditionsTests testStringPrefix_matching <1ms
โœ… StringNYPLAdditionsTests testStringSuffix_matching <1ms
โœ… String_NYPLAdditionsTests testFileSystemSafeBase64_encodeAndDecodeRoundTripWithoutUnsafeChars 9ms
โœ… String_NYPLAdditionsTests testMD5 <1ms
โœ… String_NYPLAdditionsTests testSHA256 <1ms
โœ… String_NYPLAdditionsTests testURLEncodingQueryParam <1ms
โœ… SupportSectionDecisionTests testDecide_botDisabled_withAccountEmail_usesAccountEmail 2ms
โœ… SupportSectionDecisionTests testDecide_botDisabled_withEmptyEmail_usesGeneralFallback 1ms
โœ… SupportSectionDecisionTests testDecide_botDisabled_withoutAccountEmail_usesGeneralFallback <1ms
โœ… SupportSectionDecisionTests testDecide_botEnabled_choosesTriageBot_regardlessOfEmail <1ms
โœ… SupportSectionDecisionTests testEmailAddress_isNilForTriageBot_andResolvedForLegacy 1ms
โœ… SyncConflictResolutionTests testConflictResolution_localNewer_usesLocal 1ms
โœ… SyncConflictResolutionTests testConflictResolution_sameTimestamp_usesHigherProgress <1ms
โœ… SyncConflictResolutionTests testConflictResolution_serverNewer_usesServer 1ms
โœ… SyncDeletionGuardTests testVersionComparison_emptyIsLessThan 2ms
โœ… SyncDeletionGuardTests testVersionComparison_equal_returnsFalse <1ms
โœ… SyncDeletionGuardTests testVersionComparison_sameMajor 2ms
โœ… SyncDeletionGuardTests testVersionComparison_shorterIsLess <1ms
โœ… SyncDeletionGuardTests testVersionComparison_shorterIsNotLess_ifZero 25ms
โœ… SyncDeletionRatioTests testCompleteFeed_noDeletions 63ms
โœ… SyncDeletionRatioTests testEmptyFeedWithLocalBooks_shouldSkipDeletion <1ms
โœ… SyncDeletionRatioTests testEmptyFeedWithNoLocalBooks_shouldNotSkip <1ms
โœ… SyncDeletionRatioTests testNormalSync_singleBookRemoved_noWarning 11ms
โœ… SyncDeletionRatioTests testPartialFeed_shouldWarnButNotSkip <1ms
โœ… SyncDeletionRatioTests testSmallLibrary_noProtection 47ms
โœ… SyncPermissionTests testAccountDetails_nilDetails_makesSyncPropertiesFalse 21ms
โœ… SyncPermissionTests testAccountDetails_syncProperties_matchExpectations 126ms
โœ… SyncPermissionTests testSyncIsPossibleAndPermitted_doesNotCrash <1ms
โœ… SyncPermissionTests testSyncIsPossible_withCredentials_dependsOnCurrentAccountDetails <1ms
โœ… SyncPermissionTests testSyncIsPossible_withoutCredentials_returnsFalse 2ms
โœ… TPPAccountAuthStateEnumTests testCodable_encodesAndDecodesCorrectly 9ms
โœ… TPPAccountAuthStateEnumTests testDescription_returnsCorrectStrings 32ms
โœ… TPPAccountAuthStateEnumTests testHasAdobeActivation_trueForLoggedInAndStale <1ms
โœ… TPPAccountAuthStateEnumTests testHasStoredCredentials_falseOnlyForLoggedOut <1ms
โœ… TPPAccountAuthStateEnumTests testNeedsReauthentication_trueForLoggedOutAndStale <1ms
โœ… TPPAccountListDataSourceTests testLoadData_MixedCaseLibraryNames_SortsCaseInsensitively 2ms
โœ… TPPAccountListDataSourceTests testLoadData_WithFilter_FiltersCaseInsensitively 2ms
โœ… TPPAccountListDataSourceTests testLoadData_WithNationalAccounts_SeparatesAndSortsCaseInsensitively 4ms
โœ… TPPAdobeActivationSkipTests testShouldSkipAdobeActivation_falseWhenLoggedIn 191ms
โœ… TPPAdobeActivationSkipTests testShouldSkipAdobeActivation_falseWhenLoggedOut 55ms
โœ… TPPAdobeActivationSkipTests testShouldSkipAdobeActivation_falseWhenStaleButAdobeNotAuthorized 219ms
โœ… TPPAdobeActivationSkipTests testShouldSkipAdobeActivation_falseWhenStaleButNoAdobeCredentials 345ms
โœ… TPPAdobeActivationSkipTests testShouldSkipAdobeActivation_trueWhenStaleAndAdobeAuthorized 87ms
โœ… TPPAdobeActivationSkipTests testUpdateUserAccount_marksLoggedIn 39ms
โœ… TPPAgeCheckCompletionTests test_didComplete_birthYear14YearsAgo_marksAboveAgeLimit 37ms
โœ… TPPAgeCheckCompletionTests test_didComplete_birthYear5YearsAgo_marksBelowAgeLimit 36ms
โœ… TPPAgeCheckCompletionTests test_didComplete_birthYearExactly13YearsAgo_marksBelowAgeLimit 34ms
โœ… TPPAgeCheckCompletionTests test_didComplete_setsUserPresentedAgeCheckTrue 38ms
โœ… TPPAgeCheckCompletionTests test_didFail_doesNotSetUserPresentedAgeCheck 31ms
โœ… TPPAgeCheckIsValidTests test_birthYearList_spansMinToCurrentInclusive 1ms
โœ… TPPAgeCheckIsValidTests test_isValid_aboveCurrentYear_isRejected 1ms
โœ… TPPAgeCheckIsValidTests test_isValid_belowMinYear_isRejected 1ms
โœ… TPPAgeCheckIsValidTests test_isValid_currentYear_isAdmitted <1ms
โœ… TPPAgeCheckIsValidTests test_isValid_minYear_isAdmitted 22ms
โœ… TPPAgeCheckStateMachineTests testAgeCheck_blocksUntilLoaded_thenVerifies 230ms
โœ… TPPAgeCheckStateMachineTests testAgeCheck_evictedDetails_completionFalse 27ms
โœ… TPPAgeCheckStateMachineTests testAgeCheck_failedDetailsLoad_completionFalse 24ms
โœ… TPPAgeCheckStateMachineTests testAgeCheck_nilCurrentAccount_completionFalse 26ms
โœ… TPPAgeCheckTests testAge0 562ms
โœ… TPPAgeCheckTests testAge100 33ms
โœ… TPPAgeCheckTests testAge12 181ms
โœ… TPPAgeCheckTests testAge13 75ms
โœ… TPPAgeCheckTests testAge14 1.25s
โœ… TPPAgeCheckTests testAgeCheckFailed 1.03s
โœ… TPPAgeCheckVerifyDecisionTests test_verify_needsAuthTrue_admitsUserWithoutPrompt 22ms
โœ… TPPAgeCheckVerifyDecisionTests test_verify_nilCompletion_doesNotCrash 38ms
โœ… TPPAgeCheckVerifyDecisionTests test_verify_nilCurrentAccount_blocksDefensively 17ms
โœ… TPPAgeCheckVerifyDecisionTests test_verify_userAboveAgeLimitTrue_admitsImmediately 151ms
โœ… TPPAgeCheckVerifyDecisionTests test_verify_userPresentedAgeCheckAndBelowLimit_blocksWithoutReprompt 23ms
โœ… TPPAlertUtilsTests testAlertTitleMessageError_withMessage_prefersMessageOverError 6ms
โœ… TPPAlertUtilsTests testAlertTitleMessageError_withNilMessage_fallsBackToError 428ms
โœ… TPPAlertUtilsTests testAlertWithDetails_hasOKAction 3ms
โœ… TPPAlertUtilsTests testAlertWithDetails_hasTwoActions 7ms
โœ… TPPAlertUtilsTests testAlertWithDetails_hasViewDetailsAction 3ms
โœ… TPPAlertUtilsTests testAlertWithDetails_plainMessageWithProblemDoc_includesDetail 30ms
โœ… TPPAlertUtilsTests testAlertWithDetails_retryAction_invokesClosure 53ms
โœ… TPPAlertUtilsTests testAlertWithDetails_withError_buildsAlert 340ms
โœ… TPPAlertUtilsTests testAlertWithDetails_withProblemDocument_doesNotDuplicateDetail 73ms
โœ… TPPAlertUtilsTests testAlertWithDetails_withRetryAction_hasRetryAndCancelNoOK 66ms
โœ… TPPAlertUtilsTests testAlertWithDetails_withoutRetry_okActionIsDefaultStyle 210ms
โœ… TPPAlertUtilsTests testAlert_cancelStyle_okActionIsCancel 4ms
โœ… TPPAlertUtilsTests testAlert_customStyle_usesProvidedStyle 143ms
โœ… TPPAlertUtilsTests testAlert_defaultStyle_okActionIsDefaultStyle 4ms
โœ… TPPAlertUtilsTests testAlert_destructiveStyle_okActionIsDestructive 4ms
โœ… TPPAlertUtilsTests testAlert_emptyMessage_returnsEmptyMessage 1ms
โœ… TPPAlertUtilsTests testAlert_emptyTitle_substitutesAlertDefault 610ms
โœ… TPPAlertUtilsTests testAlert_hasOKAction 11ms
โœ… TPPAlertUtilsTests testAlert_nilMessage_substitutesEmpty 5ms
โœ… TPPAlertUtilsTests testAlert_nilTitle_substitutesDefault 3ms
โœ… TPPAlertUtilsTests testAlert_titleAndMessage_createsAlert 2ms
โœ… TPPAlertUtilsTests testAlert_veryLongMessage_preservesContent 4ms
โœ… TPPAlertUtilsTests testAlert_withError_createsAlert 30ms
โœ… TPPAlertUtilsTests testAlert_withNSURLErrorCancelled_setsMessage 182ms
โœ… TPPAlertUtilsTests testAlert_withNSURLErrorNotConnected_setsMessage 702ms
โœ… TPPAlertUtilsTests testAlert_withNSURLErrorTimedOut_setsMessage 1.95s
โœ… TPPAlertUtilsTests testAlert_withNSURLErrorUnknownCode_setsUnknownRequestMessage 102ms
โœ… TPPAlertUtilsTests testAlert_withNSURLErrorUnsupportedURL_setsMessage 504ms
โœ… TPPAlertUtilsTests testAlert_withNilError_createsAlert 58ms
โœ… TPPAlertUtilsTests testAlert_withUnknownDomainAndLocalizedDescription_usesDescription 55ms
โœ… TPPAlertUtilsTests testAlert_withUnknownDomainNoDescription_usesGenericFallback 61ms
โœ… TPPAlertUtilsTests testBorrowErrorPipeline_doesNotDuplicateProblemDocDetail 11ms
โœ… TPPAlertUtilsTests testCrashlyticsFE741015_PresentAlertWhileAlertShowing_DoesNotCrash 421ms
โœ… TPPAlertUtilsTests testPresentAlert_WhenNoAlertShowing_PresentsSuccessfully 274ms
โœ… TPPAlertUtilsTests testRetryPresentation_AfterFirstAlertDismisses_PresentsSecond 193ms
โœ… TPPAlertUtilsTests testRetryPresentation_ExceedsMaxRetries_DropsAlertWithCompletion 933ms
โœ… TPPAlertUtilsTests testSetProblemDocument_appendMode_appendsDetailAfterExisting 99ms
โœ… TPPAlertUtilsTests testSetProblemDocument_appendMode_titleAndDetailBothAppended 4ms
โœ… TPPAlertUtilsTests testSetProblemDocument_appendsToMessage 2ms
โœ… TPPAlertUtilsTests testSetProblemDocument_emptyAlertTitle_fillsFromDoc 2ms
โœ… TPPAlertUtilsTests testSetProblemDocument_nilController_doesNotCrash 101ms
โœ… TPPAlertUtilsTests testSetProblemDocument_nilDocument_doesNotCrash 2ms
โœ… TPPAlertUtilsTests testSetProblemDocument_replaceMode_setsTitleAndDetail 4ms
โœ… TPPAlertUtilsTests testSetProblemDocument_replaceMode_titleOnly_fillsMessageFromDetail 81ms
โœ… TPPAlertUtilsTests testSetProblemDocument_replacesMessage 358ms
โœ… TPPAnnotationsHermeticTests testAnnotationsURL_WhenMainFeedURLPresent_EndsInAnnotationsPath 1ms
โœ… TPPAnnotationsHermeticTests testDeleteBookmark_InvalidURLString_ReturnsFalseWithoutNetwork 46ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_NetworkErrorWithQueueOfflineTrue_DoesNotCrashAndReportsFailure 18ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_NetworkError_ReturnsFailure 1ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Non200StatusCode_ReturnsFailure 125ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_NonHTTPURLResponse_ReturnsFailure 4ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_NotFound404_ReturnsFailure 5ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_RequestShape_PreservesMethodHeadersTimeoutAndBody 18ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Success200WithFullPayload_ReturnsIdAndTimestamp 1ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Success200WithMalformedJSON_ReturnsNilIdAndTimestamp 142ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Success200WithMissingBodyKey_ReturnsNilTimestamp 4ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Success200WithMissingIdKey_ReturnsNilId 19ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Success200WithNilData_ReturnsNilIdAndTimestamp 3ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Unauthorized401_ReturnsFailure 1ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_UsesExecutorOverride_NotShared 2ms
โœ… TPPAnnotationsOverrideTests testAnnotationDevice_FirebaseOverride_IsClearedAfterReset <1ms
โœ… TPPAnnotationsOverrideTests testAnnotationDevice_FirebaseOverride_IsUsedWhenAdobeIDIsAbsent 2ms
โœ… TPPAnnotationsOverrideTests testSyncIsPossible_ExplicitProviderArgumentBeatsOverride 165ms
โœ… TPPAnnotationsOverrideTests testSyncIsPossible_RoutesThroughAccountsManagerOverride 52ms
โœ… TPPAnnotationsTests testAnnotationResponse_HandlesNilValues 31ms
โœ… TPPAnnotationsTests testAnnotationResponse_StoresValues 31ms
โœ… TPPAnnotationsTests testTPPAnnotationsWrapper_isUsablePolymorphicallyThroughProtocolWithStableValue 24ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteAllBookmarks_CompletesImmediately 30ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteBookmark_Handles404AsSuccess 27ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteBookmark_HandlesServerError 32ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteBookmark_HandlesSuccessfulDeletion 40ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteBookmark_ReturnsFalseForInvalidURL 48ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteBookmarks_HandlesArray 42ms
โœ… TPPAnnotationsTests testTPPAnnotations_GetServerBookmarks_ParsesValidResponse 29ms
โœ… TPPAnnotationsTests testTPPAnnotations_GetServerBookmarks_ReturnsNilForNilBook 34ms
โœ… TPPAnnotationsTests testTPPAnnotations_GetServerBookmarks_ReturnsNilForNilURL 38ms
โœ… TPPAnnotationsTests testTPPAnnotations_GetServerBookmarks_ReturnsNilWhenSyncNotPermitted 33ms
โœ… TPPAnnotationsTests testTPPAnnotations_HandlesConcurrentRequests 28ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAnnotation_CreatesCorrectRequestFormat 32ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAnnotation_HandlesInvalidJSONGracefully 45ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAnnotation_HandlesNetworkError 40ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAnnotation_HandlesNon200StatusCode 48ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAnnotation_HandlesSuccessResponse 34ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAudiobookBookmark_ThrowsOnFailure 37ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostListeningPosition_CallsPostReadingPosition 22ms
โœ… TPPAnnotationsTests testTPPAnnotations_SyncIsPossible_ReturnsFalseWithoutCredentials 27ms
โœ… TPPAnnotationsTests testTPPAnnotations_SyncIsPossible_ReturnsTrueWithCredentialsAndSyncSupport 37ms
โœ… TPPAnnotationsTests testTPPAnnotations_SyncReadingPosition_ReturnsNilWhenNotPermitted 37ms
โœ… TPPAnnotationsTests testTPPAnnotations_UploadLocalBookmarks_SkipsAlreadySyncedBookmarks 26ms
โœ… TPPAnnotationsTests testTPPBookmarkFactory_FiltersBookmarksByMotivation 50ms
โœ… TPPAnnotationsTests testTPPBookmarkFactory_RejectsBookmarksForWrongBook 36ms
โœ… TPPAnnotationsTests testTPPBookmarkSpec_ReadingProgressMotivation 23ms
โœ… TPPAnnotationsTests testTPPBookmarkSpec_SerializesToValidJSON 30ms
โœ… TPPAnnouncementManagerTests testAddPresentedAnnouncement 3ms
โœ… TPPAnnouncementManagerTests testDeletePresentedAnnouncement 6ms
โœ… TPPAnnouncementManagerTests testShouldPresentAnnouncement 1.41s
โœ… TPPAuthDocumentContractTests testCoverageTable_CoversEveryKnownAuthType 18ms
โœ… TPPAuthDocumentContractTests testEveryAdvertisedRel_HasAClientSideHandler 9ms
โœ… TPPAuthDocumentContractTests testLogoutRel_OnAuthWithLogoutLink_IsCapturedAsHref 6ms
โœ… TPPBackgroundExecutorTests testExecutorCallsSetUpWorkItem 172ms
โœ… TPPBackgroundExecutorTests testExecutorDoesNotRetainOwner 8ms
โœ… TPPBackgroundExecutorTests testExecutorHandlesNilWorkItem 437ms
โœ… TPPBadgeImageGapTests testTPPBadgeImageView_audiobook_initSucceeds 20ms
โœ… TPPBadgeImageGapTests testTPPBadgeImage_audiobook_assetNameReturnsAudiobookBadge 36ms
โœ… TPPBaseReaderViewControllerInitialLocationTests testGate_afterReady_invokesGoOnce 7ms
โœ… TPPBaseReaderViewControllerInitialLocationTests testGate_beforeReady_doesNotInvokeGo 2ms
โœ… TPPBaseReaderViewControllerInitialLocationTests testGate_goFalseThenTrue_retriesToSuccess_noDegradation 6ms
โœ… TPPBaseReaderViewControllerInitialLocationTests testGate_goPersistentlyFalse_retriesThenRecordsPage1Degradation 49ms
โœ… TPPBaseReaderViewControllerInitialLocationTests testGate_goReturnsTrue_doesNotFlagDegradation 3ms
โœ… TPPBaseReaderViewControllerInitialLocationTests testGate_noInitialLocation_neverInvokesGo 4ms
โœ… TPPBaseReaderViewControllerInitialLocationTests testGate_readyBeforeAttach_navigatesWhenAttachLands 5ms
โœ… TPPBaseReaderViewControllerInitialLocationTests testGate_secondReadySignal_doesNotDuplicateGo 9ms
โœ… TPPBaseReaderViewControllerInitialLocationTests testNeverRead_nilLocator_zeroRestoresReachNavigator 4ms
โœ… TPPBaseReaderViewControllerInitialLocationTests testSyncRestore_serverShapedLocator_exactlyOneRestoreReachesNavigator 4ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withEmptyCredentials_usesCredential 60ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withMultipleFailures_cancelsChallenge <1ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withNilPassword_cancelsChallenge <1ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withNilUsername_cancelsChallenge <1ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withPreviousFailure_cancelsChallenge 23ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withValidCredentials_usesCredential 4ms
โœ… TPPBasicAuthTests testHandleChallenge_clientCertificate_rejectsProtectionSpace <1ms
โœ… TPPBasicAuthTests testHandleChallenge_credentials_noPersistence <1ms
โœ… TPPBasicAuthTests testHandleChallenge_serverTrust_performsDefaultHandling 15ms
โœ… TPPBasicAuthTests testHandleChallenge_unknownMethod_rejectsProtectionSpace <1ms
โœ… TPPBasicAuthTests testInit_createsInstance <1ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_audiobook_authorOnly_includesFormatAndAuthor 3ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_audiobook_narratorOnly_omitsAuthorPhrase 1ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_audiobook_neitherAuthorNorNarrator_titlePlusFormat <1ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_audiobook_withNarrator_includesNarrator <1ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_ebook_blankAuthor_titleOnly 2ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_ebook_noAuthor_titleOnly 2ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_ebook_titleByAuthor 48ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_neverIncludesSummary 194ms
โœ… TPPBookAuthorCoverageTests testBookAuthor_NilURL_IsDistinctFromEmptyURL <1ms
โœ… TPPBookAuthorCoverageTests testBookAuthor_initWithNameAndURL 132ms
โœ… TPPBookAuthorCoverageTests testBookAuthor_initWithNilURL <1ms
โœ… TPPBookAuthorTests testInit_EmptyName_AllowsEmptyString <1ms
โœ… TPPBookAuthorTests testInit_WithNameAndURL_SetsProperties <1ms
โœ… TPPBookAuthorTests testInit_WithNilURL_SetsURLToNil <1ms
โœ… TPPBookAuthorTests testIsKindOfClass_NSObject 2ms
โœ… TPPBookAuthorTests test_differentName_haveDifferentProperties 3ms
โœ… TPPBookAuthorTests test_sameNameAndURL_haveMatchingProperties 1ms
โœ… TPPBookBearerTokenTests testBearerToken_clearWithNil 29ms
โœ… TPPBookBearerTokenTests testBearerToken_defaultsToNil 33ms
โœ… TPPBookBearerTokenTests testBearerToken_writeAndRead 8ms
โœ… TPPBookBearerTokenTests testFulfillURL_clearWithNil 4ms
โœ… TPPBookBearerTokenTests testFulfillURL_defaultsToNil 7ms
โœ… TPPBookBearerTokenTests testFulfillURL_independentPerBook 31ms
โœ… TPPBookBearerTokenTests testFulfillURL_overwrite 7ms
โŠ˜ TPPBookBearerTokenTests testFulfillURL_persistsAcrossNewBookInstances 14ms
โœ… TPPBookBearerTokenTests testFulfillURL_writeAndRead 14ms
โœ… TPPBookButtonsStateTests testAllFiveAvailabilityKindsProduceDistinctStates_exceptLimitedAndUnlimited <1ms
โœ… TPPBookButtonsStateTests testStateForLimited_returnsCanBorrow <1ms
โœ… TPPBookButtonsStateTests testStateForNilAvailability_returnsUnsupported 147ms
โœ… TPPBookButtonsStateTests testStateForReady_returnsHoldingFOQ 63ms
โœ… TPPBookButtonsStateTests testStateForReserved_returnsHolding <1ms
โœ… TPPBookButtonsStateTests testStateForUnavailable_returnsCanHold <1ms
โœ… TPPBookButtonsStateTests testStateForUnlimited_returnsCanBorrow 161ms
โœ… TPPBookContentMetadataFilesHelperTests testCurrentAccountDirectory_returnsURLOrNil 1ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_containsBundleIdentifier <1ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_differentAccounts_returnDifferentPaths <1ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_emptyString_handlesGracefully <1ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_longAccountId_handlesGracefully <1ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_pathContainsApplicationSupport 1ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_sameAccount_returnsSamePath 1ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_specialCharacters_handlesGracefully 2ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_validAccountId_returnsURL 3ms
โœ… TPPBookContentTypeConverterStreamingHTMLTests testTPPBookContentTypeConverter_stringValue_allCases_returnDistinctNonEmptyTokens 2ms
โœ… TPPBookContentTypeConverterStreamingHTMLTests testTPPBookContentTypeConverter_stringValue_streamingHTML_returnsExpectedToken 2ms
โœ… TPPBookContentTypeConverterTests testStringValue_audiobook 1.79s
โœ… TPPBookContentTypeConverterTests testStringValue_epub 3ms
โœ… TPPBookContentTypeConverterTests testStringValue_pdf 2ms
โœ… TPPBookContentTypeConverterTests testStringValue_unsupported 851ms
โœ… TPPBookContentTypeExtendedTests testFromMimeType_empty 5ms
โœ… TPPBookContentTypeExtendedTests testFromMimeType_epubAndPdfMappedCorrectly 97ms
โœ… 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 2ms
โœ… TPPBookContentTypeTests test_from_octetStreamMimeType_returnsEpub <1ms
โœ… TPPBookContentTypeTests test_from_pdfMimeType_returnsPdf 3ms
โœ… TPPBookContentTypeTests test_from_unknownMimeType_returnsUnsupported <1ms
โœ… TPPBookContentTypeTests test_opdsPublicationType_isInSupportedTypes <1ms
โœ… TPPBookContentTypeTests test_opdsPublicationType_withDirectEpubIndirect_producesEpubPath <1ms
โœ… TPPBookContentTypeTests test_opdsPublicationType_withLCPEpubIndirect_producesEpubPath 1ms
โœ… TPPBookCoverRegistryTests testDecodePixels_ClampsToMemoryCeiling <1ms
โœ… TPPBookCoverRegistryTests testDecodePixels_TargetsExactDisplayPixels_NoOversample <1ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_DecodesJPEGAtTargetSize 22ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_DecodesPNGData 37ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_EmptyDataReturnsNil <1ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_InvalidDataReturnsNil 10ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_MemoryEfficiency_LargeImage 116ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_PreservesAspectRatio 373ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_SmallImageNotUpscaled 3ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_nonFiniteMaxDimension_returnsNil 31ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_NilHostHandledGracefully 4ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_RecordsFailureAndSkips 2ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_ResetClearsAll 2ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_ResetsAfterCooldown 205ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_SuccessClearsFailure 4ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_TracksHostsIndependently 4ms
โœ… TPPBookCoverRegistryTests testRegistry_UsesCustomImageSession <1ms
โœ… TPPBookCreationTests testBookCreationViaDictionary 17ms
โœ… TPPBookCreationTests testBookCreationViaFactoryMethod 3ms
โœ… TPPBookCreationTests testBookCreationViaMemberWiseInitializer 5ms
โœ… TPPBookCreationTests testBookCreation_FromEntry_AudienceAbsent 7ms
โœ… TPPBookCreationTests testBookCreation_FromEntry_PopulatesAudienceAndLanguage 2ms
โœ… TPPBookCreationTests testBookCreation_RoundTripsAudienceAndLanguageThroughDictionary 33ms
โœ… TPPBookCreationTests testMergingPreservingMetadata_PrefersFreshThenSelf 7ms
โœ… TPPBookExtensionsTests test_format_forAudiobook_matchesLocalizedString <1ms
โœ… TPPBookExtensionsTests test_format_forEpub_matchesLocalizedString 1ms
โœ… TPPBookExtensionsTests test_format_forPDF_matchesLocalizedString 2ms
โœ… TPPBookExtensionsTests test_format_forUnsupported_matchesLocalizedString <1ms
โœ… TPPBookExtensionsTests test_format_isNonEmptyAndDistinguishableAcrossContentTypes 4ms
โœ… TPPBookExtensionsTests test_hasAudiobookSample_audiobookWithSample_returnsTrue 3ms
โœ… TPPBookExtensionsTests test_hasAudiobookSample_audiobookWithoutSample_returnsFalse 47ms
โœ… TPPBookExtensionsTests test_hasAudiobookSample_epubWithSample_returnsFalse 4ms
โœ… TPPBookExtensionsTests test_hasAudiobookSample_pdfWithSample_returnsFalse 2ms
โœ… TPPBookExtensionsTests test_hasSample_returnsTrueOnlyWhenSampleIsPresent_andDistinguishesAudiobook 2ms
โœ… TPPBookExtensionsTests test_hasSample_withMockerHasSampleFalse_returnsFalse 2ms
โœ… TPPBookExtensionsTests test_hasSample_withMockerHasSampleTrue_returnsTrue 3ms
โœ… TPPBookExtensionsTests test_loggableDictionary_containsExpectedKeys 1ms
โœ… TPPBookExtensionsTests test_loggableShortString_containsTitleAndId 142ms
โœ… TPPBookExtensionsTests test_sample_nilForUnsupportedContentType <1ms
โœ… TPPBookExtensionsTests test_sample_preservesURL <1ms
โœ… TPPBookExtensionsTests test_sample_returnsNilWhenNoSampleIsAvailable 1ms
โœ… TPPBookExtensionsTests test_sample_withAudiobookSample_returnsAudiobookSample 44ms
โœ… TPPBookExtensionsTests test_sample_withEpubSample_returnsEpubSample 6ms
โœ… TPPBookExtensionsTests test_showAudiobookToolbar_falseForEpubEvenWithSample 2ms
โœ… TPPBookExtensionsTests test_showAudiobookToolbar_falseWhenNoSample 3ms
โœ… TPPBookIsDRMProtectedTests testIsDRMProtected_falseForBookWithNoAcquisitions 1ms
โœ… TPPBookIsDRMProtectedTests testIsDRMProtected_falseForOpenAccessAudiobook 2ms
โœ… TPPBookIsDRMProtectedTests testIsDRMProtected_falseForOpenAccessEpub 2ms
โœ… TPPBookIsDRMProtectedTests testIsDRMProtected_falseForOpenAccessPdf 2ms
โœ… TPPBookIsDRMProtectedTests testIsDRMProtected_trueForAdobeAdeptEpub 1ms
โœ… TPPBookIsDRMProtectedTests testIsDRMProtected_trueForLCPAudiobook <1ms
โœ… TPPBookIsDRMProtectedTests testIsDRMProtected_trueForLCPEpub 284ms
โœ… TPPBookIsDRMProtectedTests testIsDRMProtected_trueForLCPPdf 194ms
โœ… TPPBookIsDRMProtectedTests testIsDRMProtected_trueForOPDSFixtureEntry 663ms
โœ… TPPBookLocationCoverageTests testBookLocation_dictionaryRoundTrip 2ms
โœ… TPPBookLocationCoverageTests testBookLocation_initWithDictionary 4.50s
โœ… TPPBookLocationCoverageTests testBookLocation_initWithEmptyDictionary 447ms
โœ… TPPBookLocationCoverageTests testBookLocation_initWithIncompleteDictionary 2ms
โœ… TPPBookLocationCoverageTests testBookLocation_initWithStrings 50ms
โœ… TPPBookLocationCoverageTests testBookLocation_locationStringMutation_ReflectsInDictionary 1ms
โœ… TPPBookLocationCoverageTests testBookLocation_rendererMutation_ReflectsInDictionary 2ms
โœ… TPPBookLocationEdgeCaseTests test_bookLocationData_stringForKey_missingKey_returnsNil 9ms
โœ… TPPBookLocationEdgeCaseTests test_bookLocationData_stringForKey_returnsValue <1ms
โœ… TPPBookLocationEdgeCaseTests test_bookLocationData_stringForKey_wrongType_returnsNil 1ms
โœ… TPPBookLocationEdgeCaseTests test_dictionaryRepresentation_containsExpectedKeys 2ms
โœ… TPPBookLocationEdgeCaseTests test_dictionaryRepresentation_preservesJSONContent 2ms
โœ… TPPBookLocationEdgeCaseTests test_dictionaryRepresentation_roundTrips <1ms
โœ… TPPBookLocationEdgeCaseTests test_initFromDictionary_emptyDictionary_returnsNil <1ms
โœ… TPPBookLocationEdgeCaseTests test_initFromDictionary_extraKeys_ignoresExtras 47ms
โœ… TPPBookLocationEdgeCaseTests test_initFromDictionary_missingLocationString_returnsNil 2ms
โœ… TPPBookLocationEdgeCaseTests test_initFromDictionary_missingRenderer_returnsNil 631ms
โœ… TPPBookLocationEdgeCaseTests test_initFromDictionary_withValidData_createsLocation <1ms
โœ… TPPBookLocationEdgeCaseTests test_initFromDictionary_wrongTypes_returnsNil <1ms
โœ… TPPBookLocationEdgeCaseTests test_init_withEmptyLocationString_createsLocation 3ms
โœ… TPPBookLocationEdgeCaseTests test_init_withEmptyRenderer_createsLocation <1ms
โœ… TPPBookLocationEdgeCaseTests test_init_withLongJSON_createsLocation 5ms
โœ… TPPBookLocationEdgeCaseTests test_init_withValidStringAndRenderer_createsLocation 2ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_differentContent_returnsFalse 2.78s
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_differentRenderer_returnsFalse 34ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_identicalLocations_returnsTrue 1ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_ignoresAnnotationIdDifferences 6ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_ignoresTimeStampDifferences 2ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_nonJSONLocationString_returnsFalse <1ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_sameContentDifferentTimeStampAndAnnotationId_returnsTrue 2ms
โœ… TPPBookLocationEdgeCaseTests test_locationStringDictionary_arrayJSON_returnsNil 2ms
โœ… TPPBookLocationEdgeCaseTests test_locationStringDictionary_emptyString_returnsNil 434ms
โœ… TPPBookLocationEdgeCaseTests test_locationStringDictionary_invalidJSON_returnsNil 4ms
โœ… TPPBookLocationEdgeCaseTests test_locationStringDictionary_validJSON_returnsParsedDictionary 545ms
โœ… TPPBookLocationKeyTests testBookLocationData_stringAccessor 40ms
โœ… TPPBookLocationKeyTests testBookLocationData_stringAccessorWrongType <1ms
โœ… TPPBookLocationKeyTests testBookLocationKey_MatchesDictionaryRepresentationKeys <1ms
โœ… TPPBookLocationTests testDictionaryRepresentation_ContainsAllFields <1ms
โœ… TPPBookLocationTests testInit_FromDictionary_Succeeds <1ms
โœ… TPPBookLocationTests testInit_FromDictionary_WithMissingLocationString_ReturnsNil 1ms
โœ… TPPBookLocationTests testInit_FromDictionary_WithMissingRenderer_ReturnsNil <1ms
โœ… TPPBookLocationTests testInit_WithValidParams_Succeeds <1ms
โœ… TPPBookLocationTests testIsSimilarTo_IgnoresAnnotationId <1ms
โœ… TPPBookLocationTests testIsSimilarTo_IgnoresTimestamp 2ms
โœ… TPPBookLocationTests testIsSimilarTo_WithDifferentRenderer_ReturnsFalse 2ms
โœ… TPPBookLocationTests testIsSimilarTo_WithSameContent_ReturnsTrue 5ms
โœ… TPPBookLocationTests testLocationStringDictionary_ParsesValidJSON 2ms
โœ… TPPBookLocationTests testLocationStringDictionary_WithInvalidJSON_ReturnsNil <1ms
โœ… TPPBookModelGapTests testTPPBook_bookWithMetadata_returnsBookWithUpdatedMetadata 59ms
โœ… TPPBookModelGapTests testTPPBook_dictionaryRepresentation_producesNonEmptyDict 4ms
โœ… TPPBookModelGapTests testTPPBook_dictionaryRepresentation_roundTripPreservesKeyProperties 12ms
โœ… TPPBookModelGapTests testTPPBook_sameIdentifier_comparableEquivalent 3ms
โœ… TPPBookRegistryAsyncReadinessTests testIntegration_underDetailsFailed_throwsAccountNotFound 59ms
โœ… TPPBookRegistryAsyncReadinessTests testReadiness_underDetailsFailed_gateThrows 67ms
โœ… TPPBookRegistryAsyncReadinessTests testReadiness_underDetailsLoading_gateBlocksUntilTransition 164ms
โœ… TPPBookRegistryAtomicWriteTests testAsyncSave_EventuallyProducesValidFile 19ms
โœ… TPPBookRegistryAtomicWriteTests testConcurrentSaves_EveryDiskStateBetweenSaves_IsValidJSON 274ms
โœ… TPPBookRegistryAtomicWriteTests testSaveSync_FileSizeNonZero_AndJSONComplete 2.31s
โœ… TPPBookRegistryAtomicWriteTests testSaveSync_LeavesNoStagingArtifactsInRegistryDir 21ms
โœ… TPPBookRegistryAtomicWriteTests testSaveSync_OverlappingSaves_FinalContentsOnly 144ms
โœ… TPPBookRegistryAtomicWriteTests testSaveSync_ProducesCompleteParseableJSON 66ms
โœ… TPPBookRegistryAtomicWriteTests testSave_AfterDirectoryDeleted_DoesNotLeaveCorruptedFile 333ms
โœ… TPPBookRegistryBookRetrievalTests testAllBooks_ReturnsRegisteredBooks 207ms
โœ… TPPBookRegistryBookRetrievalTests testBook_ForEmptyIdentifier_ReturnsNil 3ms
โœ… TPPBookRegistryBookRetrievalTests testBook_ForNilIdentifier_ReturnsNil 4ms
โœ… TPPBookRegistryBookRetrievalTests testBook_ForNonExistentIdentifier_ReturnsNil 9ms
โœ… TPPBookRegistryBookRetrievalTests testBook_ForValidIdentifier_ReturnsBook 37ms
โœ… TPPBookRegistryBookRetrievalTests testHeldBooks_ReturnsOnlyHoldingBooks 191ms
โœ… TPPBookRegistryBookRetrievalTests testMyBooks_ReturnsDownloadRelatedBooks 6ms
โœ… TPPBookRegistryBookmarkTests testAddGenericBookmark_AppendsToList 489ms
โœ… TPPBookRegistryBookmarkTests testAddOrReplaceGenericBookmark_ReplacesExisting 258ms
โœ… TPPBookRegistryBookmarkTests testAddReadiumBookmark_AppendsToList 324ms
โœ… TPPBookRegistryBookmarkTests testDeleteGenericBookmark_RemovesFromList 679ms
โœ… TPPBookRegistryBookmarkTests testDeleteReadiumBookmark_RemovesFromList 214ms
โœ… TPPBookRegistryBookmarkTests testReadiumBookmarks_SortedByProgress 1.75s
โœ… TPPBookRegistryBookmarkTests testReplaceGenericBookmark_UpdatesBookmark 100ms
โœ… TPPBookRegistryCorruptedDataTests testRecordInit_WithCorruptedBookmarks_SkipsInvalid 2ms
โœ… TPPBookRegistryCorruptedDataTests testRecordInit_WithInvalidState_ReturnsNil 3ms
โœ… TPPBookRegistryCorruptedDataTests testRecordInit_WithMissingBook_ReturnsNil 11ms
โœ… TPPBookRegistryCorruptedDataTests testRecordInit_WithMissingOptionalFields_Succeeds 4ms
โœ… TPPBookRegistryCorruptedDataTests testRecordInit_WithMissingState_ReturnsNil 6ms
โœ… TPPBookRegistryDataTests testArrayForKey_ReturnsArray 9ms
โœ… TPPBookRegistryDataTests testObjectForKey_ReturnsDictionary <1ms
โœ… TPPBookRegistryDataTests testSetValue_SetsValue 2ms
โœ… TPPBookRegistryDataTests testValueForKey_ReturnsValue <1ms
โœ… TPPBookRegistryDependencyTests testAppContainer_constructionDoesNotDeadlock 1ms
โœ… TPPBookRegistryDependencyTests testAppContainer_returnsSameRegistryInstance 34ms
โœ… TPPBookRegistryDependencyTests testInit_takesAccountsManagerExplicitly 10ms
โœ… TPPBookRegistryDependencyTests testWithAccount_inheritsParentAccountsManager 2ms
โœ… TPPBookRegistryFulfillmentIdTests testFulfillmentId_ForEmptyIdentifier_ReturnsNil 17ms
โœ… TPPBookRegistryFulfillmentIdTests testFulfillmentId_ForNilIdentifier_ReturnsNil 7ms
โœ… TPPBookRegistryFulfillmentIdTests testFulfillmentId_ForNonExistentBook_ReturnsNil 2ms
โœ… TPPBookRegistryFulfillmentIdTests testSetFulfillmentId_UpdatesFulfillmentId 9ms
โœ… TPPBookRegistryLargeCorpusTests testLoad_5000Books_CompletesUnderTimeBudget 11.19s
โœ… TPPBookRegistryLargeCorpusTests testLoad_5000Books_ProducesExactCount 15.72s
โœ… TPPBookRegistryLargeCorpusTests testLookupByIdentifier_5000Books_AllUnique 23.08s
โœ… TPPBookRegistryLargeCorpusTests testRoundTrip_5000Books_AllFieldsPreserved 23.47s
โœ… TPPBookRegistryLargeCorpusTests testSave_5000Books_FileContainsAllRecords 1.45s
โœ… TPPBookRegistryLoadReentrancyTests testLoad_EmitsBookStateEventsForAllBooks 4ms
โœ… TPPBookRegistryLoadReentrancyTests testLoad_RapidCallsForSameAccount_DoesNotCrash 5ms
โœ… TPPBookRegistryLocationTests testLocation_ForNonExistentBook_ReturnsNil 19ms
โœ… TPPBookRegistryLocationTests testSetLocationSync_UpdatesSynchronously 43ms
โœ… TPPBookRegistryLocationTests testSetLocation_UpdatesLocation 50ms
โœ… TPPBookRegistryLocationTests testSetLocation_WithNil_ClearsLocation 24ms
โœ… TPPBookRegistryMigrationTests testDuplicateIdentifiersOnDisk_CollapseToOneRecord 163ms
โœ… TPPBookRegistryMigrationTests testLookupByIdentifier_IsUnique_AfterLoad 139ms
โœ… TPPBookRegistryMigrationTests testRecordLevelFulfillmentId_IsPreservedAcrossLoad 113ms
โœ… TPPBookRegistryMigrationTests testRecordMissingAudienceAndLanguage_FillsNilDefaults 108ms
โœ… TPPBookRegistryMigrationTests testRecordMissingCategoriesField_DefaultsToEmptyArray 115ms
โœ… TPPBookRegistryMigrationTests testRecordMissingMetadataField_Dropped 117ms
โœ… TPPBookRegistryMigrationTests testRecordMissingStateField_Dropped 419ms
โœ… TPPBookRegistryMigrationTests testRecordWithLegacyISO8601DateOnlyUpdated_StillParses 116ms
โœ… TPPBookRegistryMigrationTests testRecordWithMalformedUpdated_FallsBackToDistantPast_StillLoads 154ms
โœ… TPPBookRegistryMigrationTests testRecordWithUnknownFutureFields_FieldDroppedButRecordSurvives 111ms
โœ… TPPBookRegistryMigrationTests testRecordWithUnknownState_DroppedFromRegistry 138ms
โœ… TPPBookRegistryMigrationTests testSavedFile_StateField_IsStringValueNotInteger 5ms
โœ… TPPBookRegistryMigrationTests testSavedFile_TopLevelShape_IsRecordsArray 39ms
โœ… TPPBookRegistryMigrationTests testV1AcquisitionsLackingIndirectKey_StillParses 112ms
โœ… TPPBookRegistryMigrationTests testV1SingularAcquisitionKey_IsIgnoredButRecordIsPreserved 128ms
โœ… TPPBookRegistryMigrationTests testV2BaselineRoundTrip_LoadsAndPreservesIdentifierAndState 119ms
โœ… TPPBookRegistryPersistenceTests testAccountIsolation_AccountADoesNotLeakIntoAccountB 224ms
โœ… TPPBookRegistryPersistenceTests testBookStatePublisher_DoesNotFireOnNoOpUpdateBook 708ms
โœ… TPPBookRegistryPersistenceTests testBookStatePublisher_FiresOnDownloadingToDownloadedTransition 30ms
โœ… TPPBookRegistryPersistenceTests testConcurrentSaves_ProduceValidJSONOnDisk 171ms
โœ… TPPBookRegistryPersistenceTests testLoad_WithCorruptedJSON_RegistryIsEmpty_DoesNotCrash 337ms
โœ… TPPBookRegistryPersistenceTests testLoad_WithJSONMissingRecordsKey_RegistryIsEmpty 337ms
โœ… TPPBookRegistryPersistenceTests testLoad_WithTruncatedJSON_RegistryIsEmpty_DoesNotCrash 116ms
โœ… TPPBookRegistryPersistenceTests testRegistryUrl_DiffersAcrossAccounts 3ms
โœ… TPPBookRegistryPersistenceTests testSave_OverwritesPreviousSave_NotAppends 115ms
โœ… TPPBookRegistryPersistenceTests testSave_ThenColdStartLoad_PreservesRecord 304ms
โœ… TPPBookRegistryProcessingTests testSetProcessing_False_ClearsProcessingState 3ms
โœ… TPPBookRegistryProcessingTests testSetProcessing_TracksProcessingState 4ms
โœ… TPPBookRegistryPublisherTests testBookStatePublisher_EmitsOnBookAdd 73ms
โœ… TPPBookRegistryPublisherTests testBookStatePublisher_EmitsOnBookRemove 95ms
โœ… TPPBookRegistryPublisherTests testBookStatePublisher_EmitsOnStateChange 91ms
โœ… TPPBookRegistryPublisherTests testBookStatePublisher_MultipleStateChanges_EmitsAll 49ms
โœ… TPPBookRegistryPublisherTests testRegistryPublisher_EmitsOnBookAdd 76ms
โœ… TPPBookRegistryPublisherTests testRegistryPublisher_EmitsOnBookRemove 6ms
โœ… TPPBookRegistryRecordPersistenceTests testAllStatesSerializeCorrectly 22ms
โœ… TPPBookRegistryRecordPersistenceTests testDictionaryRepresentation_ContainsAllFields 10ms
โœ… TPPBookRegistryRecordPersistenceTests testDictionaryRoundTrip_PreservesData 9ms
โœ… TPPBookRegistryRecordTests testAllStatesCanBePreserved 2ms
โœ… TPPBookRegistryRecordTests testDeriveInitialStateForBookWithoutAcquisition 4ms
โœ… TPPBookRegistryRecordTests testDeriveInitialStateForBorrowableBook 1ms
โœ… TPPBookRegistryRecordTests testDictionaryRepresentationPreservesState 4ms
โœ… TPPBookRegistryRecordTests testInitFromDictionaryPreservesState 2ms
โœ… TPPBookRegistryRecordTests testInitPreservesDownloadFailedState 3ms
โœ… TPPBookRegistryRecordTests testInitPreservesDownloadSuccessfulState 1ms
โœ… TPPBookRegistryRecordTests testInitPreservesDownloadingState 2ms
โœ… TPPBookRegistryRecordTests testInitPreservesHoldingState 23ms
โœ… TPPBookRegistryRecordTests testInitPreservesUsedState 83ms
โœ… TPPBookRegistryStateConcurrencyTests testConcurrentStateReads_duringResetWrites_neverCorruptTerminalState 53ms
โœ… TPPBookRegistryStateConcurrencyTests testReset_drivesRegistryStateToUnloaded_andClearsIsSyncing 3ms
โœ… TPPBookRegistryStateManagementTests testAddBook_NewBook_RegistersWithCorrectState 248ms
โœ… TPPBookRegistryStateManagementTests testAddBook_WithBookmarks_StoresBookmarks 850ms
โœ… TPPBookRegistryStateManagementTests testAddBook_WithFulfillmentId_StoresFulfillmentId 287ms
โœ… TPPBookRegistryStateManagementTests testAddBook_WithLocation_StoresLocation 257ms
โœ… TPPBookRegistryStateManagementTests testRemoveBook_RemovesFromRegistry 259ms
โœ… TPPBookRegistryStateManagementTests testRemoveBook_WithEmptyIdentifier_DoesNotCrash 961ms
โœ… TPPBookRegistryStateManagementTests testSetState_ForUnregisteredBook_DoesNotCrash 386ms
โœ… TPPBookRegistryStateManagementTests testSetState_TransitionsCorrectly 254ms
โœ… TPPBookRegistryStateManagementTests testStateFor_EmptyIdentifier_ReturnsUnregistered 520ms
โœ… TPPBookRegistryStateManagementTests testStateFor_NilIdentifier_ReturnsUnregistered 653ms
โœ… TPPBookRegistryStateManagementTests testStateFor_NonExistentBook_ReturnsUnregistered 519ms
โœ… TPPBookRegistryThreadSafetyTests testCrashlytics30c41d7e_ConcurrentAddAndUpdate_DoNotCrash 302ms
โœ… TPPBookRegistryThreadSafetyTests testCrashlytics30c41d7e_RapidRegistryMutations_DoNotCrashPublisher 538ms
โœ… TPPBookRegistryThreadSafetyTests testRegistryPublisher_EmitsConsistentSnapshots_DuringRapidMutations 3.02s
โœ… TPPBookRegistryUpdateAndRemoveTests testUpdateAndRemoveBook_SetsStateToUnregistered 18ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_falseForLCPBook 97ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_falseForOpenAccessAudiobook <1ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_falseForOpenAccessBook 3ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_falseWhenNoAdobeAcquisitionsPresent <1ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_trueForAdobeAdeptBook 1ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_trueForOPDSFixtureEntry 1ms
โœ… TPPBookSerializationTests test_categoryStrings_returnsCategories 2ms
โœ… TPPBookSerializationTests test_comparable_sortsAlphabeticallyByTitle 2ms
โœ… TPPBookSerializationTests test_defaultBookContentType_forAudiobook_returnsAudiobook 83ms
โœ… TPPBookSerializationTests test_defaultBookContentType_forEpub_returnsEpub 1ms
โœ… TPPBookSerializationTests test_dictionaryRoundTrip_preservesAllFields 92ms
โœ… TPPBookSerializationTests test_dictionaryRoundTrip_preservesIdentifier 1ms
โœ… TPPBookSerializationTests test_dictionaryRoundTrip_preservesUpdatedTimestamp 1ms
โœ… TPPBookSerializationTests test_initFromDictionary_missingCategories_usesEmptyArray <1ms
โœ… TPPBookSerializationTests test_initFromDictionary_missingId_returnsNil <1ms
โœ… TPPBookSerializationTests test_initFromDictionary_missingTitle_returnsNil 122ms
โœ… TPPBookSerializationTests test_initFromDictionary_missingUpdated_fallsBackToDistantPast 2ms
โœ… TPPBookSerializationTests test_initFromDictionary_updatedBareDate_parsesSuccessfully 26ms
โœ… TPPBookSerializationTests test_initFromDictionary_updatedFullRFC3339Datetime_parsesSuccessfully 1ms
โœ… TPPBookStateInitializationTests testStateInit_FromInvalidString_ReturnsNil 2ms
โœ… TPPBookStateInitializationTests testStateInit_FromValidStrings <1ms
โœ… TPPBookStateInitializationTests testStateRoundTrip_AllStates <1ms
โœ… TPPBookStateInitializationTests testStateStringValue_ReturnsCorrectString 154ms
โœ… TPPBookStateTests testAllBookState 1ms
โœ… TPPBookStateTests testBookStateFromString <1ms
โœ… TPPBookStateTests testInitWithString 5ms
โœ… TPPBookStateTests testStringValue <1ms
โœ… TPPBookTests testTPPBook_isStreamingHTML_epubOnly_returnsFalse 4ms
โœ… TPPBookTests testTPPBook_isStreamingHTML_streamingMediaOnly_returnsTrue 6ms
โœ… TPPBookTests testTPPBook_isStreamingHTML_unsupported_returnsFalse 40ms
โœ… TPPBookTests testTPPBook_mixedStreamingAndEpub_epubFirst_prefersEpub 1ms
โœ… TPPBookTests testTPPBook_mixedStreamingAndEpub_streamingFirst_prefersEpub 2ms
โœ… TPPBookTests testTPPBook_openAccessSeparateLinks_streamingFirst_defaultsToEpub <1ms
โœ… TPPBookTests testTPPBook_openAccessSeparateLinks_streamingFirst_fallsBackToPDF <1ms
โœ… TPPBookTests testTPPBook_openAccessSeparateLinks_streamingOnly_staysStreaming 3ms
โœ… TPPBookTests test_authorLinkArray_excludesNilURLs 1ms
โœ… TPPBookTests test_authorLinkArray_returnsURLStrings 1ms
โœ… TPPBookTests test_authorNameArray_nilWhenNoAuthors <1ms
โœ… TPPBookTests test_authorNameArray_returnsNames <1ms
โœ… TPPBookTests test_authors_joinsNamesWithSemicolon 38ms
โœ… TPPBookTests test_authors_nilWhenNoAuthors <1ms
โœ… TPPBookTests test_authors_singleAuthor 271ms
โœ… TPPBookTests test_availabilityDetails_defaultValues <1ms
โœ… TPPBookTests test_bookWithMetadata_preservesSelfIdentifierAndAcquisitions <1ms
โœ… TPPBookTests test_bookWithMetadata_preservesSelfRevokeReportAndTimeTrackingURLs 1ms
โœ… TPPBookTests test_bookWithMetadata_takesImageURLsFromMetadataBook 2ms
โœ… TPPBookTests test_bookWithMetadata_takesMetadataFromOtherBook 23ms
โœ… TPPBookTests test_bookWithMetadata_takesSeriesNameFromMetadataBook <1ms
โœ… TPPBookTests test_categories_joinsWithSemicolon <1ms
โœ… TPPBookTests test_categories_nilWhenNil 1ms
โœ… TPPBookTests test_categoryStringsFromCategories_emptyArrayReturnsEmpty 52ms
โœ… TPPBookTests test_categoryStringsFromCategories_extractsLabelsFromSimplifiedScheme 1ms
โœ… TPPBookTests test_categoryStringsFromCategories_filtersOutUnknownSchemes <1ms
โœ… TPPBookTests test_categoryStringsFromCategories_includesCategoriesWithNilScheme <1ms
โœ… TPPBookTests test_categoryStringsFromCategories_usesTermWhenNoLabel 34ms
โœ… TPPBookTests test_clearCachedImages_removesAllKeysFromCache <1ms
โœ… TPPBookTests test_comparable_equalIdentifiersNotLessThan <1ms
โœ… TPPBookTests test_comparable_ordersById <1ms
โœ… TPPBookTests test_comparable_sortingMultipleBooks 16ms
โœ… TPPBookTests test_defaultAcquisitionIfBorrow_nilWhenOpenAccess <1ms
โœ… TPPBookTests test_defaultAcquisitionIfBorrow_returnsAcquisitionWhenBorrow <1ms
โœ… TPPBookTests test_defaultAcquisitionIfOpenAccess_nilWhenBorrow 1ms
โœ… TPPBookTests test_defaultAcquisitionIfOpenAccess_returnsWhenOpenAccess <1ms
โœ… TPPBookTests test_defaultBookContentType_audiobook 2ms
โœ… TPPBookTests test_defaultBookContentType_epub <1ms
โœ… TPPBookTests test_defaultBookContentType_pdf 2ms
โœ… TPPBookTests test_defaultBookContentType_unsupportedWhenNoAcquisitions 25ms
โœ… TPPBookTests test_dictionaryInit_handlesFlatAuthorArrayFormat 1ms
โœ… TPPBookTests test_dictionaryInit_handlesNestedAuthorArrayFormat <1ms
โœ… TPPBookTests test_dictionaryInit_nilWhenMissingId 15ms
โœ… TPPBookTests test_dictionaryInit_nilWhenMissingTitle 5ms
โœ… TPPBookTests test_dictionaryInit_readsSeriesNameFromSeriesNameKey 4ms
โœ… TPPBookTests test_dictionaryInit_salvagesWhenCategoriesMissing <1ms
โœ… TPPBookTests test_dictionaryInit_salvagesWhenUpdatedMissing 2ms
โœ… TPPBookTests test_dictionaryInit_seriesNameNilWhenKeyAbsent <1ms
โœ… TPPBookTests test_dictionaryRepresentation_containsRequiredKeys 2ms
โœ… TPPBookTests test_dictionaryRepresentation_writesSeriesNameUnderSeriesNameKey 3ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesAuthors 1ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesCategories 20ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesDistributor <1ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesIdentifierAndTitle 1ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesOptionalURLs <1ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesSeriesName <1ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesSubtitleAndSummary 8ms
โœ… TPPBookTests test_getAvailabilityDetails_nilForUnlimitedAvailability 1ms
โœ… TPPBookTests test_getAvailabilityDetails_populatesForLimitedAvailability 2ms
โœ… TPPBookTests test_getExpirationDate_nilForUnlimitedAvailability <1ms
โœ… TPPBookTests test_getExpirationDate_returnsDateForLimitedAvailability 3ms
โœ… TPPBookTests test_getExpirationDate_returnsRawUntilDate_andIsExpiredFlagsPastDates <1ms
โœ… TPPBookTests test_getReservationDetails_populatesFromReservedAvailability 16ms
โœ… TPPBookTests test_getReservationDetails_timeUnitPluralForMultipleDays <1ms
โœ… TPPBookTests test_getReservationDetails_timeUnitSingularForOneDay <1ms
โœ… TPPBookTests test_getReservationDetails_zeroValuesForUnlimitedAvailability 32ms
โœ… TPPBookTests test_hasDuration_falseWhenDurationEmpty <1ms
โœ… TPPBookTests test_hasDuration_falseWhenDurationNil 3ms
โœ… TPPBookTests test_hasDuration_trueWhenDurationSet 12ms
โœ… TPPBookTests test_identifiable_conformance 74ms
โœ… TPPBookTests test_isAudiobook_falseForEpub <1ms
โœ… TPPBookTests test_isAudiobook_falseForPDF 5ms
โœ… TPPBookTests test_isAudiobook_trueForAudiobookContentType 2ms
โœ… TPPBookTests test_isExpired_falseWhenNoExpiration <1ms
โœ… TPPBookTests test_mergingPreservingMetadata_carriesCoverImageFromSelf 17ms
โœ… TPPBookTests test_mergingPreservingMetadata_fallsBackToFreshCoverImage 1ms
โœ… TPPBookTests test_mergingPreservingMetadata_preservesRichSelfFieldsWhenFreshIsEmpty <1ms
โœ… TPPBookTests test_mergingPreservingMetadata_preservesSelfAuthorsWhenFreshIsEmpty 2ms
โœ… TPPBookTests test_mergingPreservingMetadata_preservesSelfAuthorsWhenFreshIsNil <1ms
โœ… TPPBookTests test_mergingPreservingMetadata_preservesSelfIdentifier <1ms
โœ… TPPBookTests test_mergingPreservingMetadata_preservesSelfSeriesNameWhenFreshIsEmpty 13ms
โœ… TPPBookTests test_mergingPreservingMetadata_takesFreshAuthorsWhenPresent 6ms
โœ… TPPBookTests test_mergingPreservingMetadata_takesFreshSeriesNameWhenPresent <1ms
โœ… TPPBookTests test_mergingPreservingMetadata_usesFreshUpdatedTimestamp 22ms
โœ… TPPBookTests test_narrators_joinsContributorsNrt 44ms
โœ… TPPBookTests test_narrators_nilWhenNoContributors <1ms
โœ… TPPBookTests test_narrators_nilWhenNoNrtKey 19ms
โœ… TPPBookTests test_ordinalString_eleventh <1ms
โœ… TPPBookTests test_ordinalString_first <1ms
โœ… TPPBookTests test_ordinalString_hundredAndFirst 1ms
โœ… TPPBookTests test_ordinalString_second <1ms
โœ… TPPBookTests test_ordinalString_third <1ms
โœ… TPPBookTests test_ordinalString_thirteenth <1ms
โœ… TPPBookTests test_ordinalString_twelfth <1ms
โœ… TPPBookTests test_ordinalString_twentyFirst 13ms
โœ… TPPBookTests test_reservationDetails_defaultValues 10ms
โœ… TPPBookTests test_sampleAcquisition_nilWhenNoSampleOrPreview <1ms
โœ… TPPBookTests test_sampleAcquisition_returnsPreviewLinkAsFallback 1ms
โœ… TPPBookmarkDeletionLogTests testClearAllDeletions_OnlyAffectsSpecifiedBook 5ms
โœ… TPPBookmarkDeletionLogTests testClearAllDeletions_RemovesAllForBook 4ms
โœ… TPPBookmarkDeletionLogTests testClearDeletion_RemovesSpecificAnnotation 3ms
โœ… TPPBookmarkDeletionLogTests testLogDeletion_AddsToPendingDeletions 2ms
โœ… TPPBookmarkDeletionLogTests testLogDeletion_HandlesDuplicates 3ms
โœ… TPPBookmarkDeletionLogTests testLogDeletion_IgnoresEmptyAnnotationId 5ms
โœ… TPPBookmarkDeletionLogTests testLogDeletion_MultipleDeletionsForSameBook 4ms
โœ… TPPBookmarkDeletionLogTests testPP3555_ClearAllDeletionsOnBookReturn 4ms
โœ… TPPBookmarkDeletionLogTests testPP3555_DeletionLogTracksBookmarksForServerDeletion 3ms
โœ… TPPBookmarkDeletionLogTests testPendingDeletions_ReturnsEmptyForUnknownBook 4ms
โœ… TPPBookmarkDeletionLogTests testThreadSafety_ConcurrentWrites 116ms
โœ… TPPBookmarkFactoryInitTests testInit_StoresProperties 24ms
โœ… TPPBookmarkFactoryInitTests testInit_WithNilDeviceId_CreatesFactory <1ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests testMakeFromServerAnnotation_DoubleProgressValue_ConvertsToFloat 12ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests testMakeFromServerAnnotation_EmptyHref_CreatesBookmarkWithEmptyHref 420ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests testMakeFromServerAnnotation_MissingProgressValues_UsesDefaults 19ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests testMakeFromServerAnnotation_ProgressFromBodyFallback 74ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests testMakeFromServerAnnotation_WithReadingOrderItem_IncludesIt 28ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_ExtractsChapterTitle 359ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_InvalidSelectorJSON_ReturnsNil 77ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MismatchedBookId_ReturnsNil 11ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MismatchedMotivation_ReturnsNil 4ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MissingAnnotationId_ReturnsNil 11ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MissingBody_ReturnsNil 6ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MissingSelector_ReturnsNil 504ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MissingTarget_ReturnsNil 3ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_ReadingProgress_CreatesBookmark 860ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_ValidBookmark_CreatesBookmark 286ms
โœ… TPPBookmarkFactoryTests testMake_FromR3Location_CreatesBookmark 1.15s
โœ… TPPBookmarkFactoryTests testMake_FromR3Location_GeneratesLocationFromLocator 78ms
โœ… TPPBookmarkFactoryTests testMake_FromR3Location_UsesCreationDate 28ms
โœ… TPPBookmarkFactoryTests testMake_FromR3Location_WithNilProgression_ReturnsNil 108ms
โœ… TPPBookmarkFactoryTests testMake_FromR3Location_WithPagePosition_IncludesPage 11ms
โœ… TPPBookmarkR3ConversionTests testConvertToR3_bookmarkNotInPublication_returnsNil 1ms
โœ… TPPBookmarkR3ConversionTests testConvertToR3_parsesTimeCorrectly 1ms
โœ… TPPBookmarkR3ConversionTests testConvertToR3_preservesChapterTitle 1ms
โœ… TPPBookmarkR3ConversionTests testConvertToR3_preservesProgressionValues 6ms
โœ… TPPBookmarkR3ConversionTests testConvertToR3_validBookmark_createsR3Location 43ms
โœ… TPPBookmarkR3LocationTests testFrom_emptyReadingOrder_returnsNil 350ms
โœ… TPPBookmarkR3LocationTests testFrom_firstChapter_returnsIndexZero 35ms
โœ… TPPBookmarkR3LocationTests testFrom_lastChapter_returnsCorrectIndex <1ms
โœ… TPPBookmarkR3LocationTests testFrom_locatorNotInPublication_returnsNil 4ms
โœ… TPPBookmarkR3LocationTests testFrom_locatorWithDifferentMediaType_findsMatchByHref 5ms
โœ… TPPBookmarkR3LocationTests testFrom_validLocatorInPublication_createsLocation <1ms
โœ… TPPBookmarkR3LocationTests testFrom_withCustomCreationDate_usesProvidedDate 1ms
โœ… TPPBookmarkR3LocationTests testInit_preservesResourceIndex <1ms
โœ… TPPBookmarkR3LocationTests testInit_withDefaultCreationDate_usesCurrentDate 3ms
โœ… TPPBookmarkR3LocationTests testInit_withValidParameters_createsLocation <1ms
โœ… TPPBookmarkR3LocationTests testLocator_preservesMediaType 4ms
โœ… TPPBookmarkR3LocationTests testLocator_preservesProgression 2ms
โœ… TPPBookmarkR3LocationTests testLocator_preservesTitle 5ms
โœ… TPPBookmarkSpecTests testBookmarkMotivationKeyword 11ms
โœ… TPPCachingTests testMaxAgeExtraction 1ms
โœ… TPPCachingTests testResponseModification 32ms
โœ… TPPCachingTests testSufficientCacheHeaders 2ms
โœ… TPPCapturedCredentialsTests testFinalizeSignIn_fallsBackToUIDelegate_whenCapturedNil 23ms
โœ… TPPCapturedCredentialsTests testFinalizeSignIn_usesCapturedCredentials_whenUIDelegateCleared 115ms
โœ… TPPCapturedCredentialsTests testLogIn_refreshesCapturedCredentials_onSubsequentAttempts 42ms
โœ… TPPCapturedCredentialsTests testUpdateUserAccount_usesAtomicUpdateWithCorrectLibraryUUID 33ms
โœ… TPPCapturedCredentialsTests testUpdateUserAccount_withAuthToken_savesAllCredentials 50ms
โœ… TPPConfigurationCustomRegistryTests test_bareHost_whenHiddenLibrariesOn_isNotRewrittenAtThisLayer 6ms
โœ… TPPConfigurationCustomRegistryTests test_customRegistryIsExplicitURL_unparseableExplicitInput_isFalse 10ms
โœ… TPPConfigurationCustomRegistryTests test_customUrlHash_matchesHashOfActualFetchURL 392ms
โœ… TPPConfigurationCustomRegistryTests test_customUrl_bareHost_appendsLibrariesQa 6ms
โœ… TPPConfigurationCustomRegistryTests test_customUrl_emptyOrWhitespaceOnly_isNil 7ms
โœ… TPPConfigurationCustomRegistryTests test_customUrl_fullHttpURL_isUsedVerbatim 25ms
โœ… TPPConfigurationCustomRegistryTests test_customUrl_fullHttpsURL_isUsedVerbatim 265ms
โœ… TPPConfigurationCustomRegistryTests test_customUrl_fullURLWithQuery_preservesQuery 8ms
โœ… TPPConfigurationCustomRegistryTests test_customUrl_whenUnset_isNil 311ms
โœ… TPPConfigurationCustomRegistryTests test_customUrl_whitespacePaddedHost_isTrimmed 6ms
โœ… TPPConfigurationCustomRegistryTests test_explicitURL_whenHiddenLibrariesOff_hasNoAvailability 20ms
โœ… TPPConfigurationCustomRegistryTests test_explicitURL_whenHiddenLibrariesOff_leavesTypedAvailabilityUntouched 5ms
โœ… TPPConfigurationCustomRegistryTests test_explicitURL_whenHiddenLibrariesOn_appendsAvailabilityAll 4ms
โœ… TPPConfigurationCustomRegistryTests test_explicitURL_whenHiddenLibrariesOn_overwritesExistingAvailability 8ms
โœ… TPPConfigurationCustomRegistryTests test_explicitURL_whenHiddenLibrariesOn_preservesOtherQueryItems 11ms
โœ… TPPConfigurationCustomRegistryTests test_hiddenLibrariesToggle_changesCacheHashForExplicitURL 9ms
โœ… TPPConfigurationTests test_accentColor_returnsValidUIColor 1ms
โœ… TPPConfigurationTests test_appearanceWithBackgroundColor_usesProvidedColor 9ms
โœ… TPPConfigurationTests test_backgroundColor_returnsValidUIColor 4ms
โœ… TPPConfigurationTests test_backgroundMediaOverlayHighlightColor_returnsValidUIColor 1ms
โœ… TPPConfigurationTests test_betaUrlHash_isNonEmpty <1ms
โœ… TPPConfigurationTests test_betaUrl_isValid 1ms
โœ… TPPConfigurationTests test_boldSystemFontName_returnsNonEmptyString 2ms
โœ… TPPConfigurationTests test_defaultAppearance_returnsConfiguredAppearance <1ms
โœ… TPPConfigurationTests test_defaultBookmarkRowHeight_returnsPositiveValue <1ms
โœ… TPPConfigurationTests test_defaultTOCRowHeight_returnsPositiveValue 3ms
โœ… TPPConfigurationTests test_mainColor_returnsValidUIColor 2ms
โœ… TPPConfigurationTests test_palaceRed_returnsValidUIColor 3ms
โœ… TPPConfigurationTests test_prodUrlHash_isDeterministic <1ms
โœ… TPPConfigurationTests test_prodUrlHash_isNonEmpty <1ms
โœ… TPPConfigurationTests test_prodUrl_isValid <1ms
โœ… TPPConfigurationTests test_readerBackgroundColor_returnsValidUIColor 26ms
โœ… TPPConfigurationTests test_readerBackgroundDarkColor_returnsValidUIColor 2ms
โœ… TPPConfigurationTests test_readerBackgroundSepiaColor_returnsValidUIColor 2ms
โœ… 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 <1ms
โœ… TPPContentTypeTests testFrom_NilMimeType_ReturnsUnsupported <1ms
โœ… TPPContentTypeTests testFrom_OctetStream_ReturnsEpub 2ms
โœ… TPPContentTypeTests testFrom_OpenAccessAudiobook_ReturnsAudiobook <1ms
โœ… TPPContentTypeTests testFrom_OpenAccessPDF_ReturnsPDF 1ms
โœ… TPPContentTypeTests testFrom_UnknownMimeType_ReturnsUnsupported 7ms
โœ… TPPContentTypeTests testTPPBookContentType_from_plainTextHtml_returnsUnsupported <1ms
โœ… TPPContentTypeTests testTPPBookContentType_from_streamingMediaMIME_returnsStreamingHTML 6ms
โœ… TPPCredentialConcurrencyTests testAtomicUpdate_writesAreVisibleInSnapshot 2ms
โœ… TPPCredentialConcurrencyTests testConcurrentRefreshCredentials_doesNotCrash 5ms
โœ… TPPCredentialConcurrencyTests testConcurrentSnapshots_returnConsistentData 3ms
โŠ˜ TPPCredentialIsolationE2ETests testMarkCredentialsStale_doesNotAffectOtherAccount 47ms
โŠ˜ TPPCredentialIsolationE2ETests testRapidSwitching_500Iterations_noContamination 31ms
โŠ˜ TPPCredentialIsolationE2ETests testSignInA_switchB_signInB_signOutB_verifyAIntact 30ms
โŠ˜ TPPCredentialIsolationE2ETests testSignInA_switchToB_signInB_verifyAIntact 21ms
โŠ˜ TPPCredentialIsolationE2ETests testThreeLibraries_allIsolated 14ms
โœ… TPPCredentialPersistenceTests testFullSignInFlow_authStateIsLoggedIn 2.07s
โœ… TPPCredentialPersistenceTests testFullSignInFlow_completionCalledOnce 100ms
โœ… TPPCredentialPersistenceTests testFullSignInFlow_credentialsRemainAccessible 991ms
โœ… TPPCredentialPersistenceTests testUpdateUserAccount_basicAuth_setsCredentialsAndAuthState 40ms
โœ… TPPCredentialPersistenceTests testUpdateUserAccount_credentialsPersistedAndRefreshable 841ms
โœ… TPPCredentialPersistenceTests testUpdateUserAccount_noSelectedAuth_stillMarksLoggedIn 378ms
โŠ˜ TPPCredentialSnapshotCoherenceTests testCredentialSnapshot_AuthStateTransitions_ArePeerVisible 3ms
โŠ˜ TPPCredentialSnapshotCoherenceTests testCredentialSnapshot_ReflectsRemoveAllFromPeerInstance 12ms
โŠ˜ TPPCredentialSnapshotCoherenceTests testCredentialSnapshot_ReflectsWriteFromPeerInstance 3ms
โœ… TPPCredentialSnapshotTests testSnapshot_identifiesTokenCredentials <1ms
โœ… TPPCredentialSnapshotTests testSnapshot_isSignedInLogic_OAuth_stale 1ms
โœ… TPPCredentialSnapshotTests testSnapshot_isSignedInLogic_basicAuth 211ms
โœ… TPPCredentialSnapshotTests testSnapshot_isSignedInLogic_basicAuth_stale <1ms
โœ… TPPCredentialSnapshotTests testSnapshot_isSignedInLogic_loggedOut 1ms
โœ… TPPCredentialSnapshotTests testSnapshot_reportsNoCredentials 10ms
โœ… TPPCredentialSnapshotTests testSnapshot_returnsAuthState <1ms
โœ… TPPCredentialSnapshotTests testSnapshot_returnsCredentialsAfterSet <1ms
โœ… TPPCredentialsCoverageTests testBarcodeAndPin_codableRoundTrip 185ms
โœ… TPPCredentialsCoverageTests testBarcodeAndPin_storesFields 911ms
โœ… TPPCredentialsCoverageTests testCookies_codableRoundTrip 17ms
โœ… TPPCredentialsCoverageTests testCookies_storesCookies <1ms
โœ… TPPCredentialsCoverageTests testToken_codableRoundTrip 53ms
โœ… TPPCredentialsCoverageTests testToken_nilOptionals_codableRoundTrip 4ms
โœ… TPPCredentialsCoverageTests testToken_optionalDefaults 331ms
โœ… TPPCredentialsCoverageTests testToken_storesFields 2ms
โœ… TPPCredentialsCoverageTests testTypeID_rawValues 216ms
โœ… TPPCredentialsTests testBarcodeAndPin_WithEmptyValues_StoresEmptyStrings 152ms
โœ… TPPCredentialsTests testBarcodeAndPin_WithSpecialCharacters_PreservesCharacters 42ms
โœ… TPPCredentialsTests testBarcodeAndPin_WithValidData_StoresValues 2ms
โœ… TPPCredentialsTests testCookies_WithEmptyArray_StoresEmptyArray 2ms
โœ… TPPCredentialsTests testCookies_WithMultipleCookies_StoresAllCookies 5ms
โœ… TPPCredentialsTests testCookies_WithValidCookies_StoresCookies 1ms
โœ… TPPCredentialsTests testDecode_WithInvalidTypeID_ThrowsError 2ms
โœ… TPPCredentialsTests testDecode_WithMissingType_ThrowsError 282ms
โœ… TPPCredentialsTests testEncodeDecode_BarcodeAndPin_PreservesValues 139ms
โœ… TPPCredentialsTests testEncodeDecode_BarcodeAndPin_WithEmptyStrings 2ms
โœ… TPPCredentialsTests testEncodeDecode_BarcodeAndPin_WithLongStrings 6ms
โœ… TPPCredentialsTests testEncodeDecode_Cookies_WithEmptyArray 187ms
โœ… TPPCredentialsTests testEncodeDecode_Cookies_WithMultipleCookies 2ms
โœ… TPPCredentialsTests testEncodeDecode_Cookies_WithValidCookies 161ms
โœ… TPPCredentialsTests testEncodeDecode_Token_ExpirationDatePrecision 2ms
โœ… TPPCredentialsTests testEncodeDecode_Token_WithAllProperties 2ms
โœ… TPPCredentialsTests testEncodeDecode_Token_WithEmptyAuthToken <1ms
โœ… TPPCredentialsTests testEncodeDecode_Token_WithNilOptionals <1ms
โœ… TPPCredentialsTests testEncodeDecode_Token_WithSpecialCharacters 55ms
โœ… TPPCredentialsTests testEncodeDecode_Token_WithUnicodeCharacters 40ms
โœ… TPPCredentialsTests testToken_WithAllProperties_StoresValues 3ms
โœ… TPPCredentialsTests testToken_WithEmptyAuthToken_StoresEmptyString 37ms
โœ… TPPCredentialsTests testToken_WithOnlyAuthToken_StoresNilOptionals 8ms
โœ… TPPCredentialsTests testTypeID_BarcodeAndPinHasCorrectRawValue 2ms
โœ… TPPCredentialsTests testTypeID_CookiesHasCorrectRawValue <1ms
โœ… TPPCredentialsTests testTypeID_TokenHasCorrectRawValue 3ms
โœ… TPPCrossLibrarySignOutTests testMultiLibraryMock_returnsSeparateAccountsPerUUID 55ms
โœ… TPPCrossLibrarySignOutTests testSequentialSignOuts_ofMultipleLibraries_clearCorrectCredentials 44ms
โœ… TPPCrossLibrarySignOutTests testSignOut_ofNonActiveLibrary_doesNotClearActiveLibraryCredentials 51ms
โœ… TPPCrossLibrarySignOutTests testSignOut_ofNonActiveOAuthLibrary_doesNotClearActiveLibraryToken 107ms
โœ… TPPCrossLibrarySignOutTests testSignOut_ofNonActiveSAMLLibrary_doesNotClearActiveLibraryCookies 85ms
โœ… TPPCrossLibrarySignOutTests testUserAccount_isScopedToLibraryAccountID 114ms
โœ… TPPDRMFailureCredentialPreservationTests testUpdateUserAccount_drmFailure_doesNotChangeAuthState 217ms
โœ… TPPDRMFailureCredentialPreservationTests testUpdateUserAccount_drmFailure_doesNotWipeExistingCredentials 34ms
โœ… TPPDRMFailureCredentialPreservationTests testUpdateUserAccount_drmFailure_noExistingCredentials_noWipe 367ms
โœ… TPPDRMFailureCredentialPreservationTests testUpdateUserAccount_drmSuccess_doesSaveCredentials 49ms
โœ… TPPErrorLoggerTests testClientDomain_isCorrect <1ms
โœ… TPPErrorLoggerTests testErrorCode_appLaunchAndRegistryCodesAreDistinct <1ms
โœ… TPPErrorLoggerTests testErrorCode_drmCodesAreSeparateFromNetworking <1ms
โœ… TPPErrorLoggerTests testErrorCode_ignoreProducesNoError 26ms
โœ… TPPErrorLoggerTests testErrorCode_imageLoadingCodesAreUnique 9ms
โœ… TPPErrorLoggerTests testErrorCode_networkingCodesAreUnique <1ms
โœ… TPPErrorLoggerTests testErrorCode_parseAndImageGroupsDoNotOverlap 60ms
โœ… TPPErrorLoggerTests testErrorCode_parseFailureCodesAreUnique <1ms
โœ… TPPErrorLoggerTests testErrorCode_signInCodesAreDistinct 92ms
โœ… TPPErrorLoggerTests testErrorCodes_areUnique 4.00s
โœ… TPPErrorLoggerTests testImageDecodeFail_doesNotCrash 40ms
โœ… TPPErrorLoggerTests testImageHostFailure_isThrottled 62ms
โœ… TPPErrorLoggerTests testLogBarcodeException_doesNotCrash 276ms
โœ… TPPErrorLoggerTests testLogError_withCodeAndSummary_doesNotCrash 8ms
โœ… TPPErrorLoggerTests testLogError_withErrorAndSummary_doesNotCrash 147ms
โœ… TPPErrorLoggerTests testLogInvalidLicensor_doesNotCrash 66ms
โœ… TPPErrorLoggerTests testLogInvalidLicensor_withNilAccountID_doesNotCrash 69ms
โœ… TPPErrorLoggerTests testLogLocalAuthFailed_doesNotCrash 105ms
โœ… TPPErrorLoggerTests testLogLoginError_withProblemDocument_doesNotCrash 68ms
โœ… TPPErrorLoggerTests testLogNetworkError_doesNotCrash 13ms
โœ… TPPErrorLoggerTests testLogNetworkError_withIgnoreCode_usesApiCallCode 41ms
โœ… TPPErrorLoggerTests testLogNetworkError_withNilSummary_usesDefault 44ms
โœ… TPPErrorLoggerTests testLogProblemDocumentParseError_doesNotCrash 16ms
โœ… TPPErrorLoggerTests testLogProblemDocumentParseError_withNilData_doesNotCrash 51ms
โœ… TPPErrorLoggerTests testSeverity_errorStringValue 1ms
โœ… TPPErrorLoggerTests testSeverity_infoStringValue 5ms
โœ… TPPErrorLoggerTests testSeverity_warningStringValue 1ms
โœ… TPPIdleSignOutRegressionTests testCancelPendingSignOut_preventsCredentialCleanup 54ms
โœ… TPPIdleSignOutRegressionTests testNormalSignOut_stillClearsCredentials 77ms
โœ… TPPIdleSignOutRegressionTests testOAuthSignOut401_clearsTokenCredentials 42ms
โœ… TPPIdleSignOutRegressionTests testRaceCondition_signInDuringPendingDeauth_preservesNewCredentials 39ms
โœ… TPPIdleSignOutRegressionTests testRapidSignOutSignInCycles_doNotCorruptState 29ms
โœ… TPPIdleSignOutRegressionTests testSignOut401_clearsCredentials 35ms
โœ… TPPIdleSignOutRegressionTests testSignOut401_deauthorizesDeviceWithLicensor 41ms
โœ… TPPIdleSignOutRegressionTests testSignOut401_doesNotShowUnexpectedCredentialsError 36ms
โœ… TPPIdleSignOutRegressionTests testSignOut500_showsErrorToUser 42ms
โœ… TPPIdleSignOutRegressionTests testSignOutSignInCycle_licensorPreservedForBorrow 86ms
โœ… TPPIdleSignOutRegressionTests testSignOut_alwaysCallsDidFinishDeauthorizing 30ms
โœ… TPPIdleSignOutRegressionTests testSignOut_withNoDRMAuthorizer_completes 44ms
โœ… TPPIdleSignOutRegressionTests testStaleSignOut_stillCallsDidFinishDeauthorizing 38ms
โœ… TPPJWKConversionTest testJWKConversion 42ms
โœ… TPPKeychainManagerTests testLogKeychainError_doesNotCrash_withEmptyMessage 9ms
โœ… TPPKeychainManagerTests testLogKeychainError_doesNotCrash_withEmptyVendor 190ms
โœ… TPPKeychainManagerTests testLogKeychainError_doesNotCrash_withKnownStatuses 292ms
โœ… TPPKeychainManagerTests testLogKeychainError_doesNotCrash_withUnknownStatus 29ms
โœ… TPPKeychainManagerTests testSecClassItems_coversAllExpectedTypes 6ms
โœ… TPPLastReadPositionPosterTests testShouldStore_cssSelectorWithRenderedZeroProgression_stores 7ms
โœ… TPPLastReadPositionPosterTests testShouldStore_meaningfulProgression_stores 6ms
โœ… TPPLastReadPositionPosterTests testShouldStore_positionGreaterThanZero_stores 4ms
โœ… TPPLastReadPositionPosterTests testShouldStore_positionZero_doesNotStore 2ms
โœ… TPPLastReadPositionPosterTests testShouldStore_progressionExactlyZero_doesNotStore 7ms
โœ… TPPLastReadPositionPosterTests testShouldStore_progressionNil_doesNotStore 5ms
โœ… TPPLastReadPositionPosterTests testShouldStore_progressionPositiveButTinyAndRendered_stores 6ms
โœ… TPPLastReadPositionPosterTests testStoreReadPosition_multipleCalls_eachDelegatesToWriter 118ms
โœ… TPPLastReadPositionPosterTests testStoreReadPosition_validLocator_savesLocally_andDelegatesToWriter 63ms
โœ… TPPLastReadPositionPosterTests testStoreReadPosition_writerThrows_doesNotCrash_localStateUnaffected 60ms
โœ… TPPLastReadPositionPosterTests testStoreReadPosition_zeroProgressionNoCssSelector_doesNotStore 69ms
โœ… TPPLastReadPositionPosterTests testStoreReadPosition_zeroProgressionWithCssSelector_storesLocally_andDelegates 64ms
โœ… TPPLastReadPositionPosterTests testThrottlingInterval_isLockedAtFifteenSeconds 6ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests testRealSynchronizer_Init_Succeeds 2ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests testRealSynchronizer_MultipleBooks_IndependentLocations 2ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests testRealSynchronizer_WithEmptyRegistry_DoesNotCrash 24ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests testRealSynchronizer_WithManyBooks_PerformsEfficiently 13ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests testRealSynchronizer_WithRegistryContainingBook_AccessesLocation 7ms
โœ… TPPLastReadPositionSynchronizerTests testBookRegistry_GetLocation_ForNonexistentBook_ReturnsNil <1ms
โœ… TPPLastReadPositionSynchronizerTests testBookRegistry_SetLocationToNil_ClearsPosition 146ms
โœ… TPPLastReadPositionSynchronizerTests testBookRegistry_SetLocation_UpdatesPosition 5ms
โœ… TPPLastReadPositionSynchronizerTests testBookRegistry_StoresLocation 1ms
โœ… TPPLastReadPositionSynchronizerTests testBookRegistry_UpdateLocation_OverwritesPrevious <1ms
โœ… TPPLastReadPositionSynchronizerTests testReadiumBookmark_StoresAllProperties 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenBothDeviceIDsNilButLocalExists_ReturnsTrue 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenDifferentDeviceWithDifferentPosition_ReturnsTrue 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenDifferentDeviceWithNoLocalPosition_ReturnsTrue 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenNilLocalDeviceIDAndServerHasDevice_ReturnsTrue 1ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenPositionsMatchExactly_RegardlessOfDevice_ReturnsFalse 1ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenSameDeviceWithLocalPosition_ReturnsFalse 5ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenSameDeviceWithNoLocalPosition_ReturnsTrue 4ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerBookmarkHasEmptyDevice_AndLocalDeviceEmpty_ReturnsFalse 1ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerDeviceIsNilAndLocalDeviceIDEmpty_ReturnsFalse <1ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerHasNoPositionAndNilDeviceID_ReturnsFalse 161ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerHasNoPositionAndNoLocalPosition_ReturnsFalse <1ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerHasNoPosition_ReturnsFalse <1ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerPositionMatchesLocal_ReturnsFalse 1ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerReturnsNilOnError_ReturnsFalse <1ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WithMatchingLocation_StillComparesAsStrings 2ms
โœ… TPPLastReadPositionSynchronizerTests testSynchronizer_Init_AcceptsDifferentRegistryImplementations 3ms
โœ… TPPLastReadPositionSynchronizerTests testSynchronizer_Init_StoresBookRegistry 1ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests testBehavior_DifferentDevice_UserShouldBePrompted <1ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests testBehavior_FreshDevice_ShouldSyncFromServer 87ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests testBehavior_IdenticalPositions_NoPromptNeeded 3ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests testBehavior_NoServerPosition_NoSync 52ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests testBehavior_SameDevice_LocalPositionIsAuthoritative 3ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_Creation_WithValidParameters 2ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_DictionaryRepresentation_ContainsRequiredKeys 8ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_DifferentLocationStrings_AreNotEqual 1ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_EmptyLocationString_IsValid 1ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_FromDictionary_CreatesValidLocation <1ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_FromDictionary_WithMissingKeys_ReturnsNil 2ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_LocationStringEquality_MatchesExactly 1ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_R3Renderer_HasCorrectValue <1ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_VeryLongLocationString_IsHandled 8ms
โœ… TPPLastReadPositionSynchronizer_ConcurrencyTests testConcurrentLocationUpdates_DoNotCrash 3ms
โœ… TPPLastReadPositionSynchronizer_ConcurrencyTests testConcurrentSyncDecisions_AreConsistent 428ms
โœ… TPPLastReadPositionSynchronizer_ConcurrencyTests testMultipleSynchronizersWithSameRegistry_DoNotConflict 36ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_DeviceProperty_WithNilDevice_ReturnsNil <1ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_DictionaryRepresentation_ContainsAllKeys 3ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_Equality_SameAnnotationId 2ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_FullProgress_FormatsAs100 <1ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_Init_WithNilHref_ReturnsNil 48ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_Init_WithValidParameters 3ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_PercentInBook_FormatsCorrectly 334ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_PercentInChapter_FormatsCorrectly 8ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_ZeroProgress_FormatsAsZero 61ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_DeviceCheckTakesPrecedenceOverLocationMatch 7ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_DeviceIDCaseSensitivity 169ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_DeviceIDWithSpecialCharacters 41ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_LocationMatchPreventsSync_EvenFromDifferentDevice 2ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_LocationWithWhitespace_ExactMatchRequired <1ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_ProgressAtExactBoundaries 50ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_SameBookmarkLocation_ExactStringMatch <1ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_SameLocationString_HandledGracefully 1ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_VeryLongDeviceID 1ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_VerySmallProgressDifference 5ms
โœ… TPPLastReadPositionSynchronizer_WriterDelegationTests testSync_sameDevice_andLocalExists_skipsAlertPath 7ms
โœ… TPPLastReadPositionSynchronizer_WriterDelegationTests testSync_serverEqualsLocal_skipsAlertPath 10ms
โœ… TPPLastReadPositionSynchronizer_WriterDelegationTests testSync_writerReturnsNil_callsLoadOnce_noAlertPath 11ms
โœ… TPPLastReadPositionSynchronizer_WriterDelegationTests testSync_writerThrows_logsAndReturnsWithoutAlert 202ms
โœ… TPPLoginNoActivationTests testValidateCredentials_doesNotTriggerAdobeActivation 213ms
โœ… TPPLoginNoActivationTests testValidateCredentials_savesLicensorForLaterUse 453ms
โœ… TPPLoginNoActivationTests testValidateCredentials_withStaleCredentials_doesNotActivate 245ms
โœ… TPPMainThreadCheckerTests testAsyncIfNeeded_FromBackgroundThread_DispatchesAsyncToMain 4ms
โœ… TPPMainThreadCheckerTests testAsyncIfNeeded_FromMainThread_ExecutesSynchronously 2ms
โœ… TPPMainThreadCheckerTests testSync_FromBackgroundThread_DispatchesToMainThread 2ms
โœ… TPPMainThreadCheckerTests testSync_FromMainThread_ExecutesSynchronously 7ms
โœ… TPPMigrationManagerTests testVersion_emptyA_nonEmptyB_returnsTrue 295ms
โœ… TPPMigrationManagerTests testVersion_emptyA_zeroB_returnsFalse 39ms
โœ… TPPMigrationManagerTests testVersion_emptyA_zeroZeroB_returnsFalse <1ms
โœ… TPPMigrationManagerTests testVersion_emptyArrays_returnsFalse <1ms
โœ… TPPMigrationManagerTests testVersion_equalVersions_returnsFalse <1ms
โœ… TPPMigrationManagerTests testVersion_longerA_returnsFalse <1ms
โœ… TPPMigrationManagerTests testVersion_majorGreaterThan_returnsFalse <1ms
โœ… TPPMigrationManagerTests testVersion_majorLessThan_returnsTrue <1ms
โœ… TPPMigrationManagerTests testVersion_minorGreaterThan_returnsFalse <1ms
โœ… TPPMigrationManagerTests testVersion_minorLessThan_returnsTrue <1ms
โœ… TPPMigrationManagerTests testVersion_patchLessThan_returnsTrue <1ms
โœ… TPPMigrationManagerTests testVersion_shorterA_withNonZeroRemainder_returnsTrue <1ms
โœ… TPPMigrationManagerTests testVersion_shorterA_withZeroRemainder_returnsFalse 1ms
โœ… TPPMigrationManagerTests testVersion_singleComponent_equal <1ms
โœ… TPPMigrationManagerTests testVersion_singleComponent_lessThan <1ms
โœ… TPPNetworkExecutorAPITests testBearerAuthorized_preservesExistingHeaders 4ms
โœ… TPPNetworkExecutorAPITests testBearerAuthorized_setsAuthorizationHeader 130ms
โœ… TPPNetworkExecutorAPITests testCancelNonEssentialTasks_doesNotCrash 23ms
โœ… TPPNetworkExecutorAPITests testClearCache_doesNotCrash 298ms
โœ… TPPNetworkExecutorAPITests testInit_withCachingStrategy_doesNotCrash 2ms
โœ… TPPNetworkExecutorAPITests testInit_withCustomSessionConfiguration 240ms
โœ… TPPNetworkExecutorAPITests testInit_withDefaultCachingStrategy <1ms
โœ… TPPNetworkExecutorAPITests testInit_withFallbackCachingStrategy 2ms
โœ… TPPNetworkExecutorAPITests testPauseAllTasks_doesNotCrash 7ms
โœ… TPPNetworkExecutorAPITests testRequest_forURL_createsValidRequest 5ms
โœ… TPPNetworkExecutorAPITests testRequest_forURL_setsAcceptLanguageEmpty 56ms
โœ… TPPNetworkExecutorAPITests testRequest_forURL_setsUserAgent 3ms
โœ… TPPNetworkExecutorAPITests testResumeAllTasks_doesNotCrash 8ms
โœ… TPPNetworkExecutorAPITests testShared_isNotNil 4ms
โœ… TPPNetworkExecutorConcurrencyTests testConcurrentExecuteRequest_completionHandlerPath_firesExactlyOnce 2.04s
โœ… TPPNetworkExecutorConcurrencyTests testConcurrentGET_serverError_eachFailureFiresExactlyOnce 1.16s
โœ… TPPNetworkExecutorConcurrencyTests testConcurrentGET_viaContinuations_eachCompletionFiresExactlyOnce 980ms
โœ… TPPNetworkExecutorConcurrencyTests testConcurrentNetworkCancellation_allTasksCancelOrComplete 120ms
โœ… TPPNetworkExecutorStubbedTests testAddBearerAndExecute_setsAuthHeader 5ms
โœ… TPPNetworkExecutorStubbedTests testDELETE_async_success 228ms
โœ… TPPNetworkExecutorStubbedTests testDELETE_nilCompletion_doesNotCrash 68ms
โœ… TPPNetworkExecutorStubbedTests testDELETE_setsMethodToDELETE 3ms
โœ… TPPNetworkExecutorStubbedTests testDownload_createsDownloadTask 100ms
โœ… TPPNetworkExecutorStubbedTests testGET_async_success 3ms
โœ… TPPNetworkExecutorStubbedTests testGET_async_withRequest 6ms
โœ… TPPNetworkExecutorStubbedTests testGET_correctsHTTPMethodIfNotGET 208ms
โœ… TPPNetworkExecutorStubbedTests testGET_objcAPI_success 4ms
โœ… TPPNetworkExecutorStubbedTests testGET_serverError_returnsFailure 237ms
โœ… TPPNetworkExecutorStubbedTests testGET_success_returnsData 6ms
โœ… TPPNetworkExecutorStubbedTests testPOST_async_success 7ms
โœ… TPPNetworkExecutorStubbedTests testPOST_nilCompletion_doesNotCrash 1ms
โœ… TPPNetworkExecutorStubbedTests testPOST_setsMethodToPOST 140ms
โœ… TPPNetworkExecutorStubbedTests testPUT_async_success 167ms
โœ… TPPNetworkExecutorStubbedTests testPUT_correctsHTTPMethodIfNotPUT 58ms
โœ… TPPNetworkExecutorStubbedTests testPUT_setsMethodToPUT 7ms
โœ… TPPNetworkExecutorTests testExecutor_conformsToProtocol <1ms
โœ… TPPNetworkExecutorTests testExecutor_hasCorrectTimeout 1ms
โœ… TPPNetworkExecutorTests testExecutor_usesEphemeralCaching 41ms
โœ… TPPNetworkResponderAuthCoordinatorTests testClassifier_seam_401_crossDomain_returnsOk_preservingResponderCDNGuard 46ms
โœ… TPPNetworkResponderAuthCoordinatorTests testClassifier_seam_401_foreignHost_returnsOk_preservingResponderForeignHostGuard 6ms
โœ… TPPNetworkResponderAuthCoordinatorTests testResponder_200_doesNotConsumeRetryBudget_andCompletionSucceeds 4ms
โœ… TPPNetworkResponderAuthCoordinatorTests testResponder_401_completion_fires_underBudget_andPreservesRetryTrackingShape 167ms
โœ… TPPNetworkResponderAuthCoordinatorTests testResponder_401_whenURLAlreadyRetried_completionFiresWithFailure 76ms
โœ… TPPNetworkResponderSizeLimitTests testResponse_declaredContentLengthExactlyAtCap_succeeds 68ms
โœ… TPPNetworkResponderSizeLimitTests testResponse_declaredContentLengthOverCap_refusedUpFront 31ms
โœ… TPPNetworkResponderSizeLimitTests testResponse_exactlyAtCap_succeeds 97ms
โœ… TPPNetworkResponderSizeLimitTests testResponse_overCap_failsWithResponseTooLarge_andDropsBody 48ms
โœ… TPPNetworkResponderSizeLimitTests testResponse_underCap_succeedsWithFullBody 66ms
โœ… TPPNetworkResponderTests testAddCompletionStoresTaskInfo 2ms
โœ… TPPNetworkResponderTests testCanRetryReturnsFalseAfterMarkRetried 1ms
โœ… TPPNetworkResponderTests testCanRetryReturnsFalseForNilURL 2ms
โœ… TPPNetworkResponderTests testCanRetryReturnsTrueForFreshURL <1ms
โœ… TPPNetworkResponderTests testClearAllRetriesResetsEverything 2ms
โœ… TPPNetworkResponderTests testClearRetryResetsURL <1ms
โœ… TPPNetworkResponderTests testInitWithCredentialsProvider <1ms
โœ… TPPNetworkResponderTests testInitWithFallbackCachingDisabledByDefault 5ms
โœ… TPPNetworkResponderTests testMarkRetriedWithNilURL_isNoOp_andLeavesRealURLTrackingIntact <1ms
โœ… TPPNetworkResponderTests testMultipleURLsTrackedIndependently <1ms
โœ… TPPNetworkResponderTests testSessionInvalidationCallsPendingCompletionsWithCancelError 4ms
โœ… TPPNetworkResponderTests testUpdateCompletionIdTransfersInfo <1ms
โœ… TPPOPDSAcquisitionPathTests testSampleLinkInAcquisitions 3ms
โœ… TPPOPDSAcquisitionPathTests testSimplifiedAdeptEpubAcquisition 2ms
โœ… TPPOPDSAcquisitionPathTests testSupportedAcquisitionPaths_borrowToStreamingHTMLIndirect_producesStreamingPath 3ms
โœ… TPPOPDSAcquisitionPathTests testTPPOPDSAcquisitionPath_supportedSubtypes_forOPDSPublication_containsStreamingHTML 2ms
โœ… TPPOPDSAcquisitionPathTests testTPPOPDSAcquisitionPath_supportedTypes_containsStreamingHTML 2ms
โœ… TPPOPDSEntryTests testAuthorStrings 1ms
โœ… TPPOPDSEntryTests testEntryFromSingleEntryFixture_parsesAllScalarFields 2ms
โœ… TPPOPDSEntryTests testGroupAttributes 11ms
โœ… TPPOPDSEntryTests testInit_returnsNilWhenRequiredIdElementIsMissing 1ms
โœ… TPPOPDSEntryTests testUpdated 1ms
โœ… TPPOPDSFeedTests testFeedFromMainFixture_parsesAllTopLevelFields 24ms
โœ… TPPOPDSFeedTests testInit_nilXMLYieldsNil_validXMLYieldsParsedFeed 22ms
โœ… TPPOPDSFeedTests testUpdated 19ms
โœ… TPPOPDSGroupSwiftTests testInitStoresEntries <1ms
โœ… TPPOPDSGroupSwiftTests testInitStoresProperties 2ms
โœ… TPPOPDSGroupSwiftTests testInitWithDifferentHref_storesDifferentHref 60ms
โœ… TPPOPDSLinkTests testCount 3ms
โœ… TPPOPDSLinkTests testHandlesNilInit 97ms
โœ… TPPOPDSLinkTests testLink0 1ms
โœ… TPPOPDSLinkTests testLink1 106ms
โœ… TPPOPDSLinkTests testLink2 1ms
โœ… TPPOPDSLinkTests testLink3 2ms
โœ… TPPOPDSLinkTests testLink4 1ms
โœ… TPPOpenSearchDescriptionExpandedTests test_initWithTitle_emptyBooks_setsEmptyBooks <1ms
โœ… TPPOpenSearchDescriptionExpandedTests test_initWithTitle_setsDescriptionAndBooks <1ms
โœ… TPPOpenSearchDescriptionExpandedTests test_initWithXML_missingDescription_returnsNil 69ms
โœ… TPPOpenSearchDescriptionExpandedTests test_initWithXML_missingOPDSUrl_returnsNil <1ms
โœ… TPPOpenSearchDescriptionExpandedTests test_initWithXML_validOpenSearchXML_returnsNonNil <1ms
โœ… TPPOpenSearchDescriptionExpandedTests test_opdsURLForSearching_emptyString_returnsURL <1ms
โœ… TPPOpenSearchDescriptionExpandedTests test_opdsURLForSearching_encodesAmpersand 280ms
โœ… TPPOpenSearchDescriptionExpandedTests test_opdsURLForSearching_encodesSpecialCharacters 224ms
โœ… TPPOpenSearchDescriptionExpandedTests test_opdsURLForSearching_encodesUnicode <1ms
โœ… TPPOpenSearchDescriptionExpandedTests test_opdsURLForSearching_preservesEntrypoint <1ms
โœ… TPPOpenSearchDescriptionTests testOPDSURLSearch 5ms
โœ… TPPPDFDocumentMetadataTests testAddBookmark_AtCurrentPage_WhenNilPassed_UsesCurrentPage 3ms
โœ… TPPPDFDocumentMetadataTests testAddBookmark_AtPageZero_HandlesCorrectly 4ms
โœ… TPPPDFDocumentMetadataTests testAddBookmark_AtSpecificPage_AddsToBookmarks 17ms
โœ… TPPPDFDocumentMetadataTests testAddBookmark_DuplicatePage_DoesNotDuplicate 66ms
โœ… TPPPDFDocumentMetadataTests testAddBookmark_MultipleTimes_AddsAllBookmarks 5ms
โœ… TPPPDFDocumentMetadataTests testBookmarks_IsPublished_EmitsChanges 85ms
โœ… TPPPDFDocumentMetadataTests testCurrentPage_IsPublished_EmitsChanges 4ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WhenPageInBookmarks_ReturnsTrue 751ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WhenPageNotInBookmarks_ReturnsFalse 2ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WithEmptyBookmarks_ReturnsFalse 121ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WithLargePageNumber_HandlesCorrectly 6ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WithNilPage_ChecksCurrentPage 32ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WithZeroPage_HandlesCorrectly 6ms
โœ… TPPPDFDocumentMetadataTests testRemoveBookmark_NonexistentPage_DoesNotCrash 18ms
โœ… TPPPDFDocumentMetadataTests testRemoveBookmark_RemovesFromBookmarks 4ms
โœ… TPPPDFDocumentTests testPDFDocument_delegateCanBeSet 47ms
โœ… TPPPDFDocumentTests testPDFDocument_initFromData_exposesData 2ms
โœ… TPPPDFDocumentTests testPDFDocument_labelReturnsNilForInvalidPage 9ms
โœ… TPPPDFDocumentTests testPDFDocument_pageCountForInvalidData 1ms
โœ… TPPPDFDocumentTests testPDFDocument_previewReturnsNilForInvalidPage <1ms
โœ… TPPPDFDocumentTests testPDFDocument_sizeReturnsNilForInvalidPage 1ms
โœ… TPPPDFDocumentTests testPDFDocument_tableOfContentsEmptyForInvalidData 29ms
โœ… TPPPDFDocumentTests testPDFDocument_thumbnailReturnsNilForInvalidPage <1ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_defaultLevelIsZero 46ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_differentLocations_differentIds <1ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_id_encodesAllFields 2ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_id_handlesNils <1ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_identifiableId_isDeterministic <1ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_initWithAllParameters 2ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_nilProperties <1ms
โœ… TPPPDFLocationTests testId_ContainsPageNumber 4ms
โœ… TPPPDFLocationTests testId_HandlesNilValues_WithEmptyStrings <1ms
โœ… TPPPDFLocationTests testId_SameForIdenticalLocations <1ms
โœ… TPPPDFLocationTests testId_UniqueForDifferentLevels 2ms
โœ… TPPPDFLocationTests testId_UniqueForDifferentPageLabels <1ms
โœ… TPPPDFLocationTests testId_UniqueForDifferentPages 80ms
โœ… TPPPDFLocationTests testId_UniqueForDifferentSubtitles <1ms
โœ… TPPPDFLocationTests testId_UniqueForDifferentTitles 2ms
โœ… TPPPDFLocationTests testInit_AllParameters_SetsProperties <1ms
โœ… TPPPDFLocationTests testInit_NilOptionals_DefaultsLevelToZero <1ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_annotationIdCanBeSet 376ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_annotationIdDefaultsToNil <1ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_codableRoundTrip <1ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_conformsToBookmark 2ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_decodesFromJSON 4ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_encodesAtTypeKey 5ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_initSetsPage <1ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_isNSObject 229ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_typeIsLocatorPage <1ms
โœ… TPPPDFPageTests testPDFPage_codableRoundTrip 73ms
โœ… TPPPDFPageTests testPDFPage_decodesFromJSON 80ms
โœ… TPPPDFPageTests testPDFPage_encodesToExpectedJSON 7ms
โœ… TPPPDFPageTests testPDFPage_initStoresPageNumber <1ms
โœ… TPPPDFPageTests testPDFPage_zeroPageNumber 2ms
โœ… TPPPDFReaderModeTests testReaderMode_allCasesHaveUniqueValues 1ms
โœ… TPPPDFReaderModeTests testReaderMode_bookmarksValue 3ms
โœ… TPPPDFReaderModeTests testReaderMode_previewsValue 2.00s
โœ… TPPPDFReaderModeTests testReaderMode_readerValue 2ms
โœ… TPPPDFReaderModeTests testReaderMode_searchValue <1ms
โœ… TPPPDFReaderModeTests testReaderMode_tocValue 338ms
โœ… TPPPDFReaderSearchBindingTests test_searchSheetReaderMode_dismissFromNonSearch_isNoOp 90ms
โœ… TPPPDFReaderSearchBindingTests test_searchSheetReaderMode_dismissFromSearch_returnsToReader 348ms
โœ… TPPPDFReaderSearchBindingTests test_searchSheetReaderMode_stillPresented_staysSearch <1ms
โŠ˜ TPPPerAccountIsolationTests testConcurrentAccess_noContamination 11ms
โŠ˜ TPPPerAccountIsolationTests testConcurrentSnapshots_returnCorrectData 30ms
โŠ˜ TPPPerAccountIsolationTests testCredentialIsolation_bothAccountsHoldIndependentCredentials 125ms
โŠ˜ TPPPerAccountIsolationTests testCredentialIsolation_tokenCredentials 308ms
โŠ˜ TPPPerAccountIsolationTests testCredentialIsolation_writeToA_doesNotAffectB 25ms
โŠ˜ TPPPerAccountIsolationTests testCredentialSnapshot_perAccountIsolation 62ms
โŠ˜ TPPPerAccountIsolationTests testInstanceCache_isStableSameUUID_distinctDifferentUUIDs_andPreservesBinding 59ms
โŠ˜ TPPPerAccountIsolationTests testRemoveAll_doesNotAffectOtherAccount 102ms
โœ… TPPPreferredAuthSelectionTests testAfterAutoSelection_SelectedAuthIsSaml_forMultiAuthLibrary 75ms
โœ… TPPPreferredAuthSelectionTests testPrecondition_NYPLFixtureHasMultipleAuthMethods 77ms
โœ… TPPPreferredAuthSelectionTests testSelectPreferredAuth_AutoSelectsSoleSAMLIDP 61ms
โœ… TPPPreferredAuthSelectionTests testSelectPreferredAuth_DoesNotOverrideExplicitChoice 50ms
โœ… TPPPreferredAuthSelectionTests testSelectPreferredAuth_DoesNotOverrideExplicitIDPChoice 112ms
โœ… TPPPreferredAuthSelectionTests testSelectPreferredAuth_IsIdempotent 70ms
โœ… TPPPreferredAuthSelectionTests testSelectPreferredAuth_NoOp_ForSingleAuthLibrary 56ms
โœ… TPPPreferredAuthSelectionTests testSelectPreferredAuth_PicksSAML_WhenMultipleAuthsAndNoneSelected 36ms
โœ… TPPProblemDocumentCacheManagerTests testCacheMultipleDocuments_lastEntryRetrievable <1ms
โœ… TPPProblemDocumentCacheManagerTests testCacheProblemDocument_andRetrieve 37ms
โœ… TPPProblemDocumentCacheManagerTests testCacheProblemDocument_postsNotification 3ms
โœ… TPPProblemDocumentCacheManagerTests testCacheSize_isFive 17ms
โœ… TPPProblemDocumentCacheManagerTests testCache_exceedingSize_evictsOldestEntry 3ms
โœ… TPPProblemDocumentCacheManagerTests testClearCachedDoc_nonexistentKey_doesNotCrash <1ms
โœ… TPPProblemDocumentCacheManagerTests testClearCachedDoc_preventsRetrieval 1ms
โœ… TPPProblemDocumentCacheManagerTests testClearThenReCache_works <1ms
โœ… TPPProblemDocumentCacheManagerTests testConcurrentCacheAndClear_sameKey_doesNotCrash 2ms
โœ… TPPProblemDocumentCacheManagerTests testConcurrentReadWrite_doesNotCrash 13ms
โœ… TPPProblemDocumentCacheManagerTests testGetLastCachedDoc_unknownKey_returnsNil 2ms
โœ… TPPProblemDocumentCacheManagerTests testSharedInstance_returnsSameObject 47ms
โœ… TPPProblemDocumentTests testAccountStatusTypeConstants 8ms
โœ… TPPProblemDocumentTests testCodableRoundTrip 66ms
โœ… TPPProblemDocumentTests testDictionaryValue_roundTrip 2ms
โœ… TPPProblemDocumentTests testForExpiredOrMissing_hasCredentials 2ms
โœ… TPPProblemDocumentTests testForExpiredOrMissing_noCredentials 79ms
โœ… TPPProblemDocumentTests testFromData_invalidJSON 2ms
โœ… TPPProblemDocumentTests testFromData_validJSON <1ms
โœ… TPPProblemDocumentTests testFromDictionary_createsDocument 1ms
โœ… TPPProblemDocumentTests testFromProblemResponseData_invalidData 4ms
โœ… TPPProblemDocumentTests testFromProblemResponseData_nonProblemJSON 1ms
โœ… TPPProblemDocumentTests testFromProblemResponseData_validData 2ms
โœ… TPPProblemDocumentTests testFromResponseError_nilErrorNilData 38ms
โœ… TPPProblemDocumentTests testFromResponseError_withResponseData 298ms
โœ… TPPProblemDocumentTests testIsRecoverableAuthError 3ms
โœ… TPPProblemDocumentTests testIsUnrecoverableAuthError 1ms
โœ… TPPProblemDocumentTests testNilType_authChecks 70ms
โœ… TPPProblemDocumentTests testNonAuthError <1ms
โœ… TPPProblemDocumentTests testStaticTypeConstants 3ms
โœ… TPPProblemDocumentTests testStringValue_format 17ms
โœ… TPPProblemDocumentTests testStringValue_noDetail <1ms
โœ… TPPProblemDocumentTests testStringValue_noTitle <1ms
โœ… TPPReaderAppearanceTests testAssociatedColors_blackOnWhite_hasLightBackground 2ms
โœ… TPPReaderAppearanceTests testBlackOnSepia_hasCorrectPropertyIndex <1ms
โœ… TPPReaderAppearanceTests testBlackOnWhite_hasCorrectPropertyIndex 7ms
โœ… TPPReaderAppearanceTests testWhiteOnBlack_hasCorrectPropertyIndex <1ms
โœ… TPPReaderBlockNavigationTests testAnnotationJS_isNonEmptyAndCarriesSelectorMarkerAndCount 3ms
โœ… TPPReaderBlockNavigationTests testAnnotationJS_skipsNestedBlocks 1.30s
โœ… TPPReaderBlockNavigationTests testBlockSelector_containsKeyBlockTags <1ms
โœ… TPPReaderBlockNavigationTests testIsBlockTag_blockquote_isTrue 248ms
โœ… TPPReaderBlockNavigationTests testIsBlockTag_definitionAndFigureAndPre_areTrue <1ms
โœ… TPPReaderBlockNavigationTests testIsBlockTag_headings_areTrue <1ms
โœ… TPPReaderBlockNavigationTests testIsBlockTag_inlineElements_areFalse 65ms
โœ… TPPReaderBlockNavigationTests testIsBlockTag_isCaseInsensitive 3ms
โœ… TPPReaderBlockNavigationTests testIsBlockTag_listItem_isTrue 2ms
โœ… TPPReaderBlockNavigationTests testIsBlockTag_nilAndUnrelated_areFalse 3ms
โœ… TPPReaderBlockNavigationTests testIsBlockTag_paragraph_isTrue 1ms
โœ… TPPReaderBlockNavigationTests testNextBlockJS_forwardAndBackBothFocusAMarkedBlock 2ms
โœ… TPPReaderBookmarksBusinessLogicTests testBookmarkAtIndex_WithEmptyBookmarks_ReturnsNil 84ms
โœ… TPPReaderBookmarksBusinessLogicTests testBookmarkAtIndex_WithValidIndex_ReturnsBookmark 692ms
โœ… TPPReaderBookmarksBusinessLogicTests testBookmarkAtIndex_returnsNilForOutOfRangeIndicesEmptyOrPopulated 366ms
โœ… TPPReaderBookmarksBusinessLogicTests testDeleteBookmarkAtIndex_WithInvalidIndex_ReturnsNil 353ms
โœ… TPPReaderBookmarksBusinessLogicTests testDeleteBookmarkAtIndex_WithValidIndex_RemovesAndReturns 59ms
โœ… TPPReaderBookmarksBusinessLogicTests testDeleteBookmark_RemovesFromList 47ms
โœ… TPPReaderBookmarksBusinessLogicTests testPP3555_OldBookmarksDoNotReappearAfterReborrow 166ms
โœ… TPPReaderBookmarksBusinessLogicTests testReadOnlySurfaces_noBookmarksText_shouldSelect_isBookmarkExisting 1.07s
โœ… TPPReaderBookmarksBusinessLogicTests testUpdateLocalBookmarksWithDuplicatedLocalBookmarks 48ms
โœ… TPPReaderBookmarksBusinessLogicTests testUpdateLocalBookmarksWithExtraLocalBookmarks 449ms
โœ… TPPReaderBookmarksBusinessLogicTests testUpdateLocalBookmarksWithFailedUploadBookmarks 480ms
โœ… TPPReaderBookmarksBusinessLogicTests testUpdateLocalBookmarksWithNoLocalBookmarks 80ms
โœ… TPPReaderBookmarksReadinessTests testReadiness_underDetailsFailed_gateThrowsForBookmarkTask 117ms
โœ… TPPReaderBookmarksReadinessTests testReadiness_underDetailsLoading_gateConsumedByPostBookmark 53ms
โœ… TPPReaderFontTests testDyslexic_hasPropertyIndex <1ms
โœ… TPPReaderFontTests testOriginal_hasCorrectPropertyIndex 44ms
โœ… TPPReaderFontTests testSansSerif_hasPropertyIndex <1ms
โœ… TPPReaderFontTests testSerif_hasPropertyIndex <1ms
โœ… TPPReaderFootnoteAccessibilityTests testAnnotationJS_isNonEmptyAndCarriesLabelsAndSelectors <1ms
โœ… TPPReaderFootnoteAccessibilityTests testLabel_backlink_isBackToReference 2ms
โœ… TPPReaderFootnoteAccessibilityTests testLabel_note_isFootnote 2ms
โœ… TPPReaderFootnoteAccessibilityTests testLabel_referenceTrimsMarker 1ms
โœ… TPPReaderFootnoteAccessibilityTests testLabel_referenceWithEmptyOrWhitespaceMarker_isGeneric 276ms
โœ… TPPReaderFootnoteAccessibilityTests testLabel_referenceWithMarker_includesMarker 2ms
โœ… TPPReaderFootnoteAccessibilityTests testLabel_referenceWithNonNumericMarker_includesMarker 3ms
โœ… TPPReaderFootnoteAccessibilityTests testRole_ariaRoleVocabularyShared 6ms
โœ… TPPReaderFootnoteAccessibilityTests testRole_backlink_isBacklink 2ms
โœ… TPPReaderFootnoteAccessibilityTests testRole_endnoteAndRearnote_areNote 1ms
โœ… TPPReaderFootnoteAccessibilityTests testRole_footnote_isNote 215ms
โœ… TPPReaderFootnoteAccessibilityTests testRole_isCaseInsensitive 46ms
โœ… TPPReaderFootnoteAccessibilityTests testRole_multiTokenList_picksReferenceFirst 192ms
โœ… TPPReaderFootnoteAccessibilityTests testRole_nilAndEmptyAndUnrelated_areNil 1ms
โœ… TPPReaderFootnoteAccessibilityTests testRole_noteref_isReference 2ms
โœ… TPPReaderFootnoteAccessibilityTests testRole_toleratesMissingDocPrefix 2ms
โœ… TPPReaderPageListBusinessLogicTests testCurrentPageLabel_locatorWithoutProgression_returnsNil 3ms
โœ… TPPReaderPageListBusinessLogicTests testCurrentPageLabel_noPageList_returnsNil 4ms
โœ… TPPReaderPageListBusinessLogicTests testHasPageList_whenPublicationHasNoPageList_isFalse <1ms
โœ… TPPReaderPageListBusinessLogicTests testHasPageList_whenPublicationHasPages_isTrue <1ms
โœ… TPPReaderPageListBusinessLogicTests testIndexForPage_aboveHighestNumericPage_returnsLastNumericPage <1ms
โœ… TPPReaderPageListBusinessLogicTests testIndexForPage_belowLowestNumericPage_returnsNil <1ms
โœ… TPPReaderPageListBusinessLogicTests testIndexForPage_duplicateNumericLabels_resolvesToFirstPrecedingBoundary 4ms
โœ… TPPReaderPageListBusinessLogicTests testIndexForPage_emptyOrWhitespaceRequest_returnsNil <1ms
โœ… TPPReaderPageListBusinessLogicTests testIndexForPage_exactMatchIsCaseInsensitive_forRomanNumerals 6ms
โœ… TPPReaderPageListBusinessLogicTests testIndexForPage_exactNumericMatch_returnsThatIndex 6ms
โœ… 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 1ms
โœ… TPPReaderPageListBusinessLogicTests testInit_trimsWhitespaceFromLabels <1ms
โœ… TPPReaderPageListBusinessLogicTests testLabelAt_outOfRange_returnsNil 1ms
โœ… TPPReaderPageListBusinessLogicTests testLabelAt_validIndex_returnsLabel <1ms
โœ… TPPReaderPageListBusinessLogicTests testLocatorAt_outOfRange_returnsNil 20ms
โœ… TPPReaderPageListBusinessLogicTests testNearestPreceding_allUnresolved_returnsNil 1ms
โœ… TPPReaderPageListBusinessLogicTests testNearestPreceding_currentBeforeFirstBoundary_returnsNil <1ms
โœ… TPPReaderPageListBusinessLogicTests testNearestPreceding_emptyProgressions_returnsNil 3ms
โœ… TPPReaderPageListBusinessLogicTests testNearestPreceding_exactMatchIsInclusive <1ms
โœ… TPPReaderPageListBusinessLogicTests testNearestPreceding_picksLargestAtOrBelowCurrent <1ms
โœ… TPPReaderPageListBusinessLogicTests testNearestPreceding_skipsUnresolvedProgressions <1ms
โœ… TPPReaderPageListBusinessLogicTests testNearestPreceding_tiesSelectFirstBoundary 1ms
โœ… TPPReaderPositionReportTests testAnnouncement_allComponents_joinsSectionPagePercentInOrder <1ms
โœ… TPPReaderPositionReportTests testAnnouncement_emptyOrWhitespaceSection_omitsSection 7ms
โœ… TPPReaderPositionReportTests testAnnouncement_emptyPageLabel_treatedAsAbsent 2ms
โœ… TPPReaderPositionReportTests testAnnouncement_noPageLabel_omitsPageButKeepsSectionAndPercent <1ms
โœ… TPPReaderPositionReportTests testAnnouncement_noPercentage_omitsPercentComponent <1ms
โœ… TPPReaderPositionReportTests testAnnouncement_noSection_omitsSection 19ms
โœ… TPPReaderPositionReportTests testAnnouncement_nothingAvailable_returnsUnavailableFallback <1ms
โœ… TPPReaderPositionReportTests testAnnouncement_onlySection_returnsSectionAlone <1ms
โœ… TPPReaderPositionReportTests testAnnouncement_percentageClampsToZeroAndOneHundred 10ms
โœ… TPPReaderPositionReportTests testAnnouncement_percentageRoundsToNearestWholePercent <1ms
โœ… TPPReaderPreferencesLoadTests testTPPReaderPreferencesLoad_disablesPublisherStyles 35ms
โœ… TPPReaderPreferencesLoadTests testTPPReaderPreferencesLoad_returnsValidPreferences 1ms
โœ… TPPReaderPreferencesLoadTests testTPPReaderPreferencesLoad_setsDefaultTheme 1.07s
โœ… TPPReaderSettingsTests testCanDecreaseFontSize_falseAtMinimum 11ms
โœ… TPPReaderSettingsTests testCanIncreaseFontSize_trueWhenBelowMax 99ms
โœ… TPPReaderSettingsTests testChangeAppearance_updatesColors 468ms
โœ… TPPReaderSettingsTests testChangeAppearance_updatesIndex 82ms
โœ… TPPReaderSettingsTests testChangeFontFamily_updatesIndex 334ms
โœ… TPPReaderSettingsTests testDecreaseFontSize_decreasesByStep 3ms
โœ… TPPReaderSettingsTests testDecreaseFontSize_respectsMinimum 2ms
โœ… TPPReaderSettingsTests testIncreaseFontSize_increasesByStep 2ms
โœ… TPPReaderSettingsTests testIncreaseFontSize_respectsMaximum 4ms
โœ… TPPReaderSettingsTests testInit_getsScreenBrightness 2ms
โœ… TPPReaderSettingsTests testInit_setsDefaultAppearanceIndex 1ms
โœ… TPPReaderSettingsTests testInit_setsDefaultFontFamilyIndex 1ms
โœ… TPPReaderSettingsTests testInit_setsDefaultFontSize 2ms
โœ… TPPReaderSettingsTests testLoadPreferences_returnsPreferences 36ms
โœ… TPPReaderSettingsTests testMapAppearanceToIndex_dark <1ms
โœ… TPPReaderSettingsTests testMapAppearanceToIndex_light 2ms
โœ… TPPReaderSettingsTests testMapAppearanceToIndex_sepia <1ms
โœ… TPPReaderSettingsTests testMapFontFamilyToIndex_nil 195ms
โœ… TPPReaderSettingsTests testMapFontFamilyToIndex_openDyslexic 1.78s
โœ… TPPReaderSettingsTests testMapFontFamilyToIndex_sansSerif 3ms
โœ… TPPReaderSettingsTests testMapFontFamilyToIndex_serif <1ms
โœ… TPPReaderSettingsTests testMapIndexToAppearance_dark <1ms
โœ… TPPReaderSettingsTests testMapIndexToAppearance_default 5ms
โœ… TPPReaderSettingsTests testMapIndexToAppearance_sepia <1ms
โœ… TPPReaderSettingsTests testMapIndexToFontFamily_default 637ms
โœ… TPPReaderSettingsTests testMapIndexToFontFamily_dyslexic <1ms
โœ… TPPReaderSettingsTests testMapIndexToFontFamily_sansSerif 3ms
โœ… TPPReaderSettingsTests testMapIndexToFontFamily_serif <1ms
โœ… TPPReaderTOCBusinessLogicTests testInit_withCurrentLocation_storesLocation 7ms
โœ… TPPReaderTOCBusinessLogicTests testInit_withPublication_initializesCorrectly 7ms
โœ… TPPReaderTOCBusinessLogicTests testIsCurrentChapterTitled_caseInsensitiveMatch_returnsTrue 3ms
โœ… TPPReaderTOCBusinessLogicTests testIsCurrentChapterTitled_withDifferentTitle_returnsFalse 6ms
โœ… TPPReaderTOCBusinessLogicTests testIsCurrentChapterTitled_withMatchingTitle_returnsTrue 6ms
โœ… TPPReaderTOCBusinessLogicTests testIsCurrentChapterTitled_withNilCurrentLocation_returnsFalse 2ms
โœ… TPPReaderTOCBusinessLogicTests testIsCurrentChapterTitled_withNilLocationTitle_returnsFalse 3ms
โœ… TPPReaderTOCBusinessLogicTests testShouldSelectTOCItem_invalidIndex_returnsFalse 4ms
โœ… TPPReaderTOCBusinessLogicTests testTitleAndLevel_forValidIndex_returnsTitleAndLevel 1.01s
โœ… TPPReaderTOCBusinessLogicTests testTitleForHref_existingHref_returnsTitle 1.02s
โœ… TPPReaderTOCBusinessLogicTests testTitleForHref_nonExistentHref_returnsNil 1.01s
โœ… TPPReaderTOCBusinessLogicTests testTocDisplayTitle_returnsLocalizedString 3ms
โœ… TPPReaderTOCBusinessLogicTests testTocElements_initiallyEmpty_beforeAsyncLoad 6ms
โœ… TPPReaderTOCBusinessLogicTests testTocLocator_negativeIndex_returnsNil 4ms
โœ… TPPReaderTOCBusinessLogicTests testTocLocator_outOfBoundsIndex_returnsNil 4ms
โœ… TPPReaderTOCFlattenTests testFlatten_emptyTOC_producesEmptyElements 7ms
โœ… TPPReaderTOCFlattenTests testFlatten_nestedTOC_assignsCorrectLevels 1.02s
โœ… TPPReadiumBookmarkLocationMatchingTests testLocationMatches_differentChapterProgress_returnsFalse 31ms
โœ… TPPReadiumBookmarkLocationMatchingTests testLocationMatches_differentTotalProgress_returnsFalse 4ms
โœ… TPPReadiumBookmarkLocationMatchingTests testLocationMatches_exactProgress_returnsTrue 268ms
โœ… TPPReadiumBookmarkLocationMatchingTests testLocationMatches_matchingProgress_returnsTrue 2ms
โœ… TPPReadiumBookmarkLocationMatchingTests testLocationMatches_nilLocatorProgress_matchesZeroBookmarkProgress 1.18s
โœ… TPPReadiumBookmarkTests testDescription_returnsNonEmptyString 1ms
โœ… TPPReadiumBookmarkTests testDictionaryRepresentation_containsAllFields 93ms
โœ… TPPReadiumBookmarkTests testInit_dictionary_withBothOffsetAndChapterProgress_prefersExplicitChapterProgress 118ms
โœ… TPPReadiumBookmarkTests testInit_dictionary_withOnlyChapterProgress_preservesValue 2ms
โœ… TPPReadiumBookmarkTests testInit_dictionary_withOnlyReadingOrderItemOffset_preservesValue 3ms
โœ… TPPReadiumBookmarkTests testInit_fromDictionary_createsBookmark 2ms
โœ… TPPReadiumBookmarkTests testInit_fromDictionary_withEmptyAnnotationId_setsNil 3ms
โœ… TPPReadiumBookmarkTests testInit_fromDictionary_withMissingRequiredFields_returnsNil 8ms
โœ… TPPReadiumBookmarkTests testInit_withDefaultTime_usesCurrentTime 1ms
โœ… TPPReadiumBookmarkTests testInit_withNilHref_returnsNil <1ms
โœ… TPPReadiumBookmarkTests testInit_withValidParameters_createsBookmark 27ms
โœ… TPPReadiumBookmarkTests testIsEqual_differentHref_returnsFalse 1ms
โœ… TPPReadiumBookmarkTests testIsEqual_differentProgress_returnsFalse 1ms
โœ… TPPReadiumBookmarkTests testIsEqual_sameAnnotationId_returnsTrue 4ms
โœ… TPPReadiumBookmarkTests testIsEqual_sameProgress_noAnnotationId_returnsTrue 1ms
โœ… TPPReadiumBookmarkTests testIsEqual_withNonBookmarkObject_returnsFalse <1ms
โœ… TPPReadiumBookmarkTests testPercentInBook_formatsCorrectly 93ms
โœ… TPPReadiumBookmarkTests testPercentInBook_fullProgress_showsHundred 2ms
โœ… TPPReadiumBookmarkTests testPercentInChapter_formatsCorrectly 2ms
โœ… TPPReadiumBookmarkTests testPercentInChapter_zeroProgress_showsZero 2ms
โœ… TPPReadiumBookmarkTests testToJSONDictionary_UsesPinnedWireKeys 1ms
โœ… TPPReadiumBookmarkTests testToJSONDictionary_includesLocationFields 3ms
โœ… TPPReadiumBookmarkTests testWireFormatKeys_ArePinned 211ms
โœ… TPPReauthenticatorMockTests testMockReauthenticator_callsCompletion <1ms
โœ… TPPReauthenticatorMockTests testMockReauthenticator_tracksReauthPerformed <1ms
โœ… TPPReauthenticatorTests testAuthenticateIfNeeded_withNilCompletion_doesNotCrash 2ms
โœ… TPPReauthenticatorTests testInit_conformsToReauthenticatorProtocol 8ms
โœ… TPPReauthenticatorTests testInit_createsDistinctInstances 925ms
โœ… TPPReauthenticatorTests testInit_isNSObjectSubclass 2ms
โœ… TPPReturnPromptHelperTests testAudiobookPrompt_createsAlertController 2ms
โœ… TPPReturnPromptHelperTests testAudiobookPrompt_hasExactlyKeepAndReturnActionsWithTitles 1.23s
โœ… TPPReturnPromptHelperTests testAudiobookPrompt_hasKeepAction_withCancelStyle 6ms
โœ… TPPReturnPromptHelperTests testAudiobookPrompt_hasReturnAction_withDefaultStyle 20ms
โœ… TPPReturnPromptHelperTests testAudiobookPrompt_hasTitleAndMessage 2ms
โœ… TPPSAMLCookieExpirationTests testSAMLLogin_allCookiesExpired_filtersAllAndProceedsWithEmptyArray 296ms
โœ… TPPSAMLCookieExpirationTests testSAMLLogin_allCookiesExpired_proceedsWithEmpty 1.10s
โœ… TPPSAMLCookieExpirationTests testSAMLLogin_cookieExpiringInFuture_isKept <1ms
โœ… TPPSAMLCookieExpirationTests testSAMLLogin_filtersExpiredCookies 205ms
โœ… TPPSAMLCookieExpirationTests testSAMLLogin_keepsSessionCookiesWithoutExpiry <1ms
โœ… TPPSAMLCookieExpirationTests testSAMLLogin_mixOfExpiredAndValid_onlyPassesValid 6ms
โœ… TPPSAMLCookieExpirationTests testSAMLLogin_mixedExpiredAndValidCookies_filtersOnlyExpired_passesValid 1ms
โœ… TPPSAMLFlowTests testSAMLHelper_initRequiresContext_andStartsWithCleanCookieState 25ms
โœ… TPPSAMLFlowTests testSAMLLogin_callsPresenterNotUIKit <1ms
โœ… TPPSAMLFlowTests testSAMLLogin_cancelCallsCancelHandler 2ms
โœ… TPPSAMLFlowTests testSAMLLogin_completionCallsHandleRedirect <1ms
โœ… TPPSAMLFlowTests testSAMLLogin_dismissCalledAfterCompletion <1ms
โœ… TPPSAMLFlowTests testSAMLLogin_dismissCalledWithError <1ms
โœ… TPPSAMLFlowTests testSAMLLogin_passesCorrectURLPreservesExistingQueryParams 1ms
โœ… TPPSAMLFlowTests testSAMLLogin_passesCorrectURLWithRedirectURI 2ms
โœ… TPPSAMLFlowTests testSAMLLogin_passesSavedCookiesToPresenter 2ms
โœ… TPPSAMLFlowTests testSAMLLogin_withNilIDP_doesNotCallPresenter 62ms
โœ… TPPSAMLReauthFlowTests testFreshLogin_callsAdobeActivation 42ms
โœ… TPPSAMLReauthFlowTests testSAMLReauthFlow_skipsAdobeActivation 321ms
โœ… TPPSAMLRegressionTests testOAuthFlow_unaffectedBySAMLRefactor 391ms
โœ… TPPSAMLRegressionTests testSAMLAuthType_matchesCMValue 154ms
โœ… TPPSAMLRegressionTests testSAMLIdPParsing_fromAuthDocumentLinks 75ms
โœ… TPPSAMLRegressionTests testSAMLRedirectURL_matchesCMExpectedPattern 1ms
โœ… TPPSAMLSignInTests testAuthState_transitionsFromLoggedOutToLoggedIn 1.65s
โœ… TPPSAMLSignInTests testCredentialsStale_PP418_userStillHasCredentials 117ms
โœ… TPPSAMLSignInTests testCredentialsStale_hasCredentialsReturnsTrue 397ms
โœ… TPPSAMLSignInTests testCredentialsStale_preservesCookies 508ms
โœ… TPPSAMLSignInTests testCredentialsStale_reAuthClearsStaleState 158ms
โœ… TPPSAMLSignInTests testRefreshCredentialsFromKeychain_returnsFalseWhenNoCredentials 855ms
โœ… TPPSAMLSignInTests testRefreshCredentialsFromKeychain_returnsTrueWhenCredentialsExist 80ms
โœ… TPPSAMLSignInTests testSAMLReauth_usesSavedCookiesForIDPSession 433ms
โœ… TPPSAMLSignInTests testSAMLSignIn_PP418_credentialsArePersisted 131ms
โœ… TPPSAMLSignInTests testSAMLSignIn_cookiesAreStored 26ms
โœ… TPPSAMLSignInTests testSAMLSignIn_drmFailurePreventsCredentialStorage 191ms
โœ… TPPSAMLSignInTests testSAMLSignIn_hasCredentialsReturnsTrue 55ms
โœ… TPPSAMLSignInTests testSAMLSignIn_patronInfoIsStored 43ms
โœ… TPPSAMLSignInTests testSAMLSignIn_setsAuthStateToLoggedIn 368ms
โœ… TPPSAMLSignInTests testSAMLSignIn_stateTransitions 439ms
โœ… TPPSAMLSignInTests testSAMLSignIn_usesCorrectLibraryUUID 1.00s
โœ… TPPSAMLSignInTests testSAMLSignIn_worksWithoutCookies 203ms
โœ… TPPSAMLSignInTests testSAMLSignIn_worksWithoutPatronInfo 84ms
โœ… TPPSAMLSignInTests testSAMLSignOut_clearsAllCredentials 386ms
โœ… TPPSAMLSignInTests testSetAuthToken_clearsStaleState 68ms
โœ… TPPSAMLSignInTests testSignIn_callsBusinessLogicDidCompleteSignIn 49ms
โœ… TPPSAMLSignInTests testSignIn_callsBusinessLogicWillSignIn 325ms
โœ… TPPSAMLSignInTests testSignIn_cancelledSetsLoadingFalse 218ms
โœ… TPPSAMLSignInTests testSignIn_loadingStateTransitions 255ms
โœ… TPPSAMLSignInTests testTokenRefresh_settingsScreenShowsSignedIn 84ms
โœ… TPPSAMLSignInTests testTokenRefresh_transitionsFromStaleToLoggedIn 24ms
โœ… TPPSAMLStateIsolationTests testNonSAMLLibrary_noSAMLHelperCreated 104ms
โœ… TPPSAMLStateIsolationTests testSAMLCookies_storedOnHelper_notBusinessLogic 52ms
โœ… TPPSAMLStateIsolationTests testSAMLLibrary_helperCreatedOnDemand 127ms
โœ… TPPSAMLStateIsolationTests testSignOut_clearsSAMLState 7ms
โœ… TPPSAMLStateMachineTests testFinalizeSignIn_transitionsToLoggedIn 64ms
โœ… TPPSAMLStateMachineTests testIsSignedIn_returnsFalseWhenCredentialsStale 73ms
โœ… TPPSAMLStateMachineTests testIsSignedIn_returnsFalseWhenLoggedOut 27ms
โœ… TPPSAMLStateMachineTests testIsSignedIn_returnsTrueWhenLoggedIn 155ms
โœ… TPPSAMLStateMachineTests testRefreshAuth_SAMLClearsSelectedAuth 69ms
โœ… TPPSAMLStateMachineTests testRefreshAuth_transitionsToCredentialsStale 45ms
โœ… TPPSettingsTests testAccountMainFeedURL_setToSameValue_doesNotPostNotification 9ms
โœ… TPPSettingsTests testCustomMainFeedURL_publishesViaSettingsDidChange 8ms
โœ… TPPSettingsTests testCustomMainFeedURL_setToDifferentValue_postsNotification 6ms
โœ… TPPSettingsTests testCustomMainFeedURL_setToSameValue_doesNotPostNotification 12ms
โœ… TPPSettingsTests testUseBetaLibraries_postsNotification 277ms
โœ… TPPSettingsTests testUseBetaLibraries_publishesViaCombine 21ms
โœ… TPPSignInAdobeSkipTests testEnsureAuthDocLoaded_callsCompletionImmediatelyWhenDetailsExist 36ms
โœ… TPPSignInAdobeSkipTests testEnsureAuthDocLoaded_setsLoadingFlag 56ms
โœ… TPPSignInAdobeSkipTests testIgnoreSignedInState_affectsIsSignedIn 40ms
โœ… TPPSignInAdobeSkipTests testLogIn_capturedBarcode_nilWhenUIDelegateHasNilUsername 103ms
โœ… TPPSignInAdobeSkipTests testLogIn_capturesBarcodeAndPIN 32ms
โœ… TPPSignInAdobeSkipTests testLogIn_notifiesUIDelegateWillSignIn 69ms
โœ… TPPSignInAdobeSkipTests testLogIn_postsSigningInNotification 90ms
โœ… TPPSignInAdobeSkipTests testLogIn_withNoSelectedAuth_doesNotCrash 46ms
โœ… TPPSignInAdobeSkipTests testMakeRequest_prefersBusinessLogicToken_overUserAccountToken 24ms
โœ… TPPSignInAdobeSkipTests testMakeRequest_withOAuthButNoToken_logsError 42ms
โœ… TPPSignInAdobeSkipTests testRefreshAuthIfNeeded_returnsFalseWithNoAuthDefinition 23ms
โœ… TPPSignInAdobeSkipTests testRefreshAuthIfNeeded_setsRefreshAuthCompletion 25ms
โœ… TPPSignInAdobeSkipTests testShouldSkipAdobeActivation_falseWhenNotStale 87ms
โœ… TPPSignInAdobeSkipTests testShouldSkipAdobeActivation_falseWithoutAdobeCredentials 37ms
โœ… TPPSignInAuthStateTransitionTests testReauth_transitionsFromStaleToLoggedIn 40ms
โœ… TPPSignInAuthStateTransitionTests testSignIn_isSignedInConditionMet 100ms
โœ… TPPSignInAuthStateTransitionTests testSignIn_transitionsFromLoggedOutToLoggedIn 75ms
โœ… TPPSignInBusinessLogicExtendedTests testCanResetPassword_dependsOnLibraryConfig 93ms
โœ… TPPSignInBusinessLogicExtendedTests testCurrentAccount_matchesLibraryAccount 127ms
โœ… TPPSignInBusinessLogicExtendedTests testEnsureAuthDoc_setsAndClearsLoadingFlag 366ms
โœ… TPPSignInBusinessLogicExtendedTests testEnsureAuthenticationDocumentIsLoaded_whenDetailsAlreadyLoaded_firesCompletionSync 74ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_authTokenNilByDefault 385ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_cookiesNilByDefault 199ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_defaultsIgnoreSignedInStateToFalse 34ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_defaultsNotLoggingInAfterSignUp 51ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_defaultsNotValidatingCredentials 68ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_patronNilByDefault 74ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_setsCorrectLibraryAccountID 456ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_setsUIDelegate 100ms
โœ… TPPSignInBusinessLogicExtendedTests testIsAuthenticationDocumentLoading_defaultsFalse 27ms
โœ… TPPSignInBusinessLogicExtendedTests testIsLoggingInAfterSignUp_setterRoutesThroughReducer 49ms
โœ… TPPSignInBusinessLogicExtendedTests testIsNetworkConnectivityError_NonURLDomain_ReturnsFalse 69ms
โœ… TPPSignInBusinessLogicExtendedTests testIsSamlPossible_trueWhenLibrarySupports 69ms
โœ… TPPSignInBusinessLogicExtendedTests testIsSignedIn_falseWhenIgnoreSignedInStateTrue 152ms
โœ… TPPSignInBusinessLogicExtendedTests testIsSignedIn_falseWhenNoCredentials 28ms
โœ… TPPSignInBusinessLogicExtendedTests testIsSignedIn_trueWhenHasCredentials 57ms
โœ… TPPSignInBusinessLogicExtendedTests testLibraryAccount_returnsCorrectAccount 287ms
โœ… TPPSignInBusinessLogicExtendedTests testLibrarySupportsBarcodeDisplay_WithoutAuthorizationIdentifier_ReturnsFalse 790ms
โœ… TPPSignInBusinessLogicExtendedTests testLibrarySupportsBarcodeDisplay_falseWithoutCredentials 903ms
โœ… TPPSignInBusinessLogicExtendedTests testLibrarySupportsBarcodeDisplay_requiresAuthorizationIdentifier 36ms
โœ… TPPSignInBusinessLogicExtendedTests testLogIn_initiatesSignIn 170ms
โœ… TPPSignInBusinessLogicExtendedTests testLogIn_preventsMultipleSimultaneousCalls 151ms
โœ… TPPSignInBusinessLogicExtendedTests testLogIn_withBasicAuth_validatesCredentials 149ms
โœ… TPPSignInBusinessLogicExtendedTests testMakeRequest_forBasicAuth_noAuthorizationHeader 55ms
โœ… TPPSignInBusinessLogicExtendedTests testMakeRequest_forOAuth_hasBearerToken 166ms
โœ… TPPSignInBusinessLogicExtendedTests testMakeRequest_forSAML_hasBearerToken 175ms
โœ… TPPSignInBusinessLogicExtendedTests testMakeRequest_signOut_usesCorrectURL 90ms
โœ… TPPSignInBusinessLogicExtendedTests testRefreshAuthIfNeeded_basicAuthWithoutSavedCredentials_returnsTrue 61ms
โœ… TPPSignInBusinessLogicExtendedTests testRefreshAuthIfNeeded_oauthFreshFlow_marksCredentialsStaleButKeepsSelection 110ms
โœ… TPPSignInBusinessLogicExtendedTests testRefreshAuthIfNeeded_returnsFalseWhenNoAuthDefinition 676ms
โœ… TPPSignInBusinessLogicExtendedTests testRefreshAuthIfNeeded_samlAuthFreshFlow_marksCredentialsStale 49ms
โœ… TPPSignInBusinessLogicExtendedTests testRegistrationIsPossible_falseWhenSignedIn 118ms
โœ… TPPSignInBusinessLogicExtendedTests testRegistrationIsPossible_notSignedInAndLibraryHasSignUpUrl_returnsTrue 53ms
โœ… TPPSignInBusinessLogicExtendedTests testSelectPreferredAuthIfNeeded_WithExistingSelection_DoesNotOverride 167ms
โœ… TPPSignInBusinessLogicExtendedTests testSelectedAuthentication_canBeSetToBasic 35ms
โœ… TPPSignInBusinessLogicExtendedTests testSelectedAuthentication_canBeSetToOAuth 371ms
โœ… TPPSignInBusinessLogicExtendedTests testSelectedAuthentication_canBeSetToSAML 155ms
โœ… TPPSignInBusinessLogicExtendedTests testSelectedAuthentication_nilByDefault 43ms
โœ… TPPSignInBusinessLogicExtendedTests testShouldShowEULALink_basedOnLibraryDetails 78ms
โœ… TPPSignInBusinessLogicExtendedTests testShouldShowSyncButton_PP3252_usesCurrentAccountIdNotCurrentAccountUuid 30ms
โœ… TPPSignInBusinessLogicExtendedTests testShouldShowSyncButton_falseWhenDifferentLibrary 245ms
โœ… TPPSignInBusinessLogicExtendedTests testShouldShowSyncButton_falseWhenNoCredentials 29ms
โœ… TPPSignInBusinessLogicExtendedTests testShouldSkipAdobeActivation_WhenMissingAdobeCredentials_ReturnsFalse 54ms
โœ… TPPSignInBusinessLogicExtendedTests testShouldSkipAdobeActivation_WhenNotCredentialsStale_ReturnsFalse 75ms
โœ… TPPSignInBusinessLogicExtendedTests testSignOut_PP418_clearsWebViewDataBeforeCompletion 338ms
โœ… TPPSignInBusinessLogicExtendedTests testSignOut_sequencesCookieClearingBeforeCompletionCallback 357ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_clearsCapturedCredentials 125ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_clearsIgnoreSignedInState 540ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_clearsInFlightAuthToken 62ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_setsAuthDefinition 68ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_withBasicAuth_setsBarcodePIN 515ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_withOAuth_setsAuthToken 222ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_withSAML_setsCookies 141ms
โœ… TPPSignInBusinessLogicExtendedTests testValidateCredentials_setsIsValidatingCredentialsTrue 306ms
โœ… TPPSignInBusinessLogicExtendedTests testValidateCredentials_setsValidatingFlag 30ms
โœ… TPPSignInBusinessLogicOAuthTests test_handleRedirectURL_baseTokenWithEqualsSign_isPreservedIntact 149ms
โœ… TPPSignInBusinessLogicOAuthTests test_handleRedirectURL_missingAccessToken_skipsValidationAndReportsParseError 150ms
โœ… TPPSignInBusinessLogicOAuthTests test_handleRedirectURL_missingPatronInfo_skipsValidationAndReportsParseError 45ms
โœ… TPPSignInBusinessLogicOAuthTests test_handleRedirectURL_nonURLObject_reportsErrorWithoutSideEffects 149ms
โœ… TPPSignInBusinessLogicOAuthTests test_handleRedirectURL_serverError_surfacesProblemDocumentTitle 110ms
โœ… TPPSignInBusinessLogicOAuthTests test_handleRedirectURL_validPayload_storesAuthTokenAndPatron 47ms
โœ… TPPSignInBusinessLogicOAuthTests test_handleRedirectURL_wrongPrefix_skipsParseAndReportsMissingPayload 77ms
โœ… TPPSignInBusinessLogicOAuthTests test_makeRequest_OAuth_fallsBackToPersistedToken 30ms
โœ… TPPSignInBusinessLogicOAuthTests test_makeRequest_OAuth_includesBearerHeaderFromInFlightToken 27ms
โœ… TPPSignInBusinessLogicOAuthTests test_makeRequest_signIn_returnsNilWhenNoUserProfileURL 96ms
โœ… TPPSignInBusinessLogicOAuthTests test_oauthRedirectObserver_registersAndRemovesItself_viaInjectedCenter 231ms
โœ… TPPSignInBusinessLogicSignOutTests test_signOut_401Response_doesNotShowSignOutErrorToUser 32ms
โœ… TPPSignInBusinessLogicSignOutTests test_signOut_500Response_surfacesSignOutErrorAndStillCleansUp 100ms
โœ… TPPSignInBusinessLogicSignOutTests test_signOut_callsWillSignOutBeforeDeauthorize 190ms
โœ… TPPSignInBusinessLogicSignOutTests test_signOut_clearsCredentialsFromKeychainAfterDeauthorize 69ms
โœ… TPPSignInBusinessLogicSignOutTests test_signOut_clearsSAMLHelperState 30ms
โœ… TPPSignInBusinessLogicSignOutTests test_signOut_clearsSelectedIDP 34ms
โœ… TPPSignInBusinessLogicSignOutTests test_signOut_invokesDRMDeauthorizeExactlyOnce 31ms
โœ… TPPSignInBusinessLogicSignOutTests test_signOut_preservesAdobeActivation_whenStaleCallbackArrives 88ms
โœ… TPPSignInBusinessLogicSignOutTests test_signOut_preservesNewCredentials_whenUserReauthenticatesDuringSignOut 128ms
โœ… TPPSignInBusinessLogicSignOutTests test_signOut_reentrantCall_isCoalesced 130ms
โœ… TPPSignInBusinessLogicSignOutTests test_signOut_resetsBookRegistry 29ms
โœ… TPPSignInBusinessLogicStateMachineTests testIsSamlAuth_failedDetailsLoad_returnsFalse 243ms
โœ… TPPSignInBusinessLogicStateMachineTests testIsSamlPossible_loaded_returnsTrueWhenSamlAuthPresent 30ms
โœ… TPPSignInBusinessLogicStateMachineTests testLogIn_racingAuthDocLoad_firesRequestOnceReady 545ms
โœ… TPPSignInBusinessLogicStateMachineTests testRegistrationIsPossible_loaded_returnsTrueWhenSignUpUrlPresent 24ms
โœ… TPPSignInBusinessLogicStateMachineTests testSelectPreferredAuthIfNeeded_loaded_picksSamlOverDefault 63ms
โœ… TPPSignInBusinessLogicStateMachineTests testSelectPreferredAuthIfNeeded_loading_doesNotMutate 94ms
โœ… TPPSignInBusinessLogicStateMachineTests testSelectedAuthentication_loading_returnsNil 206ms
โœ… TPPSignInBusinessLogicStateMachineTests testShouldShowEULALink_loaded_reflectsEulaUrlAndSignInState 52ms
โœ… TPPSignInBusinessLogicStateMachineTests testSignIn_blocksUntilLoaded_thenProceeds 302ms
โœ… TPPSignInBusinessLogicStateMachineTests testSignIn_failedDetailsLoad_surfacesError 281ms
โœ… TPPSignInBusinessLogicTests testIsNetworkConnectivityError_OnlyRecognizesURLErrorDomain 108ms
โœ… TPPSignInBusinessLogicTests testIsTransientServerError_classification 47ms
โœ… TPPSignInBusinessLogicTests testLogInFlow 56ms
โœ… TPPSignInBusinessLogicTests testMakeSignInRequest 42ms
โœ… TPPSignInBusinessLogicTests testShouldShowEULALink_WhenCredentialsStale_ReturnsTrue 57ms
โœ… TPPSignInBusinessLogicTests testShouldShowEULALink_WhenSignedIn_ReturnsFalse 67ms
โœ… TPPSignInBusinessLogicTests testShouldShowEULALink_WhenSignedOutAndEULAURLAvailable_ReturnsTrue 62ms
โœ… TPPSignInBusinessLogicTests testUpdateUserAccountWithBarcodeAuthentication 30ms
โœ… TPPSignInBusinessLogicTests testUpdateUserAccountWithCleverAuthentication 60ms
โœ… TPPSignInBusinessLogicTests testUpdateUserAccountWithNoSelectedAuthentication 342ms
โœ… TPPSignInBusinessLogicTests testUpdateUserAccountWithSAMLAuthentication 56ms
โœ… TPPSignInBusinessLogicTests testUserFacingSignInError_ConnectionLost_ReturnsNetworkMessage 193ms
โœ… TPPSignInBusinessLogicTests testUserFacingSignInError_NoInternet_ReturnsNetworkMessage 35ms
โœ… TPPSignInBusinessLogicTests testUserFacingSignInError_NonURLErrorDomain_ReturnsInvalidCredentials 202ms
โœ… TPPSignInBusinessLogicTests testUserFacingSignInError_ProblemDocument_TakesPrecedenceOverNetworkError 56ms
โœ… TPPSignInBusinessLogicTests testUserFacingSignInError_Timeout_ReturnsNetworkMessage 202ms
โœ… TPPSignInBusinessLogicTests testUserFacingSignInError_TokenRequest401_StillReturnsInvalidCredentials 116ms
โœ… TPPSignInBusinessLogicTests testUserFacingSignInError_TransientServer5xx_ReturnsTryAgain_Not_InvalidCredentials 58ms
โœ… TPPSignInBusinessLogicTokenFlowTests test_getBearerToken_emptyUsername_failsImmediatelyWithoutNetwork 160ms
โœ… TPPSignInBusinessLogicTokenFlowTests test_getBearerToken_failure_doesNotStoreTokenAndSurfacesError 287ms
โœ… TPPSignInBusinessLogicTokenFlowTests test_getBearerToken_success_persistsTokenViaTokenRefresher 39ms
โœ… TPPSignInBusinessLogicValidationCallbackOrderTests test_validateCredentials_basicAuthFailure_doesNotFireReceiveCredentialsCallback 1.20s
โœ… TPPSignInBusinessLogicValidationCallbackOrderTests test_validateCredentials_basicAuthSuccess_firesDidReceiveCredentialsCallback 1.05s
โœ… TPPSignInErrorHandlingTests testValidateCredentials_withSelectedAuth_doesNotCrash 213ms
โœ… TPPSignInErrorHandlingTests testValidateCredentials_withoutSelectedAuth_doesNotCrash 242ms
โœ… TPPSignInProfileDocEdgeCaseTests testSignIn_invalidProfileDoc_credentialsPreserved 144ms
โœ… TPPSignInProfileDocEdgeCaseTests testSignIn_noDRMInProfileDoc_credentialsPreserved 48ms
โœ… TPPSignInProfileDocEdgeCaseTests testSignIn_validDRMProfileDoc_savesCredentialsAndDRM 96ms
โœ… TPPSignedInStateProviderTests testIsSignedIn_AfterRemoveAll_ReturnsFalse <1ms
โœ… TPPSignedInStateProviderTests testIsSignedIn_WhenCredentialsPresent_ReturnsTrue <1ms
โœ… TPPSignedInStateProviderTests testIsSignedIn_WhenNoCredentials_ReturnsFalse <1ms
โœ… TPPUserAccountAuthStateTests testAuthState_defaultIsLoggedOut_andDerivesFromCredentialsWhenNotExplicit <1ms
โœ… TPPUserAccountAuthStateTests testMarkCredentialsStale_doesNotTransitionFromLoggedOut 2ms
โœ… TPPUserAccountAuthStateTests testMarkCredentialsStale_transitionsFromLoggedInToStale 5ms
โœ… TPPUserAccountAuthStateTests testMarkLoggedIn_transitionsFromAnyReauthenticatableStateToLoggedIn 3ms
โœ… TPPUserAccountAuthStateTests testRemoveAll_resetsStateToLoggedOut 127ms
โœ… TPPUserAccountAuthStateTests testSetAuthToken_transitionsFromCredentialsStaleToLoggedIn 2ms
โœ… TPPUserAccountConcurrencyTests testIncrementSignInGeneration_underConcurrentCallers_countsExactlyOncePerCall 57ms
โœ… TPPUserAccountGapTests testTPPUserAccount_basicPropertyAccessors_dontCrash 321ms
โœ… TPPUserAccountGapTests testTPPUserAccount_hasAuthToken_returnsFalseWhenNoToken 13ms
โœ… TPPUserAccountGapTests testTPPUserAccount_hasBarcodeAndPIN_returnsFalseWhenNoCredentials 1ms
โœ… TPPUserAccountGapTests testTPPUserAccount_sharedAccount_isAccessible 3ms
โœ… TPPUserAccountIsolationLintTests testLintCatchesSyntheticViolator <1ms
โœ… TPPUserAccountIsolationLintTests testNoSharedAccountOutsideWhitelist 631ms
โœ… TPPUserAccountIsolationLintTests testResetterIsRegisteredAfterFactoryUse <1ms
โŠ˜ TPPUserAccountTestFactoryTests testFactory_neverWritesToProductionKeychain 4ms
โŠ˜ TPPUserAccountTestFactoryTests testFactory_registersResetterUnderStableName 68ms
โŠ˜ TPPUserAccountTestFactoryTests testMakeIsolated_doesNotPolluteSharedCache 680ms
โŠ˜ TPPUserAccountTestFactoryTests testMakeIsolated_eachCallReturnsDistinctLibraryUUID 7ms
โŠ˜ TPPUserAccountTestFactoryTests testMakeIsolated_honorsExplicitLibraryUUID 15ms
โŠ˜ TPPUserAccountTestFactoryTests testMakeIsolated_reRegistersResetter_afterRegistryCleared 31ms
โŠ˜ TPPUserAccountTestFactoryTests testResetter_clearsKeychainResidue 27ms
โœ… TPPUserFriendlyErrorTests testDefaultImplementation_messageIsNil <1ms
โœ… TPPUserFriendlyErrorTests testDefaultImplementation_titleIsNil 2ms
โœ… TPPUserFriendlyErrorTests testMakeFromProblemDocument_preservesExistingUserInfo <1ms
โœ… TPPUserFriendlyErrorTests testMakeFromProblemDocument_setsDomainAndCode 7ms
โœ… TPPUserFriendlyErrorTests testMakeFromProblemDocument_storesProblemDocument <1ms
โœ… TPPUserFriendlyErrorTests testNSError_withProblemDocument_hasFriendlyMessage <1ms
โœ… TPPUserFriendlyErrorTests testNSError_withProblemDocument_hasFriendlyTitle <1ms
โœ… TPPUserFriendlyErrorTests testNSError_withoutProblemDocument_messageIsLocalizedDescription <1ms
โœ… TPPUserFriendlyErrorTests testNSError_withoutProblemDocument_noUserInfo_messageIsNil <1ms
โœ… TPPUserFriendlyErrorTests testNSError_withoutProblemDocument_titleIsNil <1ms
โœ… TPPUserFriendlyErrorTests testProblemDocument_accessor_returnsStoredDocument 8ms
โœ… TPPUserNotificationsTests testBackgroundFetchIsNeeded_returnsBasedOnHeldBooksCount <1ms
โœ… TPPUserNotificationsTests testCompareAvailability_detectsTransitionFromReservedToReady 26ms
โœ… TPPUserNotificationsTests testCompareAvailability_doesNotCrashWithValidInputs 2ms
โœ… TPPUserNotificationsTests testCompareAvailability_doesNotNotifyWhenStillReserved 2ms
โœ… TPPUserNotificationsTests testCompareAvailability_handlesNilAvailability 1ms
โœ… TPPUserNotificationsTests testRequestAuthorization_isExposedAsObjcSelectorOnService 6ms
โœ… TPPUserNotificationsTests testSharedInstance_isStableAcrossCallsAndConcurrentAccess 42ms
โœ… TPPUserNotificationsTests testUpdateAppIconBadge_countsOnlyReadyBooks 3ms
โœ… TPPUserNotificationsTests testUpdateAppIconBadge_withBooks_processesWithoutCrash 3ms
โœ… TPPUserNotificationsTests testUpdateAppIconBadge_withEmptyArray_isIdempotentAndCrashFree 3ms
โœ… TPPXMLSwiftTests test_attributes_emptyAttributes_returnsEmptyDictionary 31ms
โœ… TPPXMLSwiftTests test_attributes_withAttributes_returnsDictionary <1ms
โœ… TPPXMLSwiftTests test_childrenWithName_nonexistentName_returnsEmptyArray <1ms
โœ… TPPXMLSwiftTests test_childrenWithName_returnsMatchingChildren <1ms
โœ… TPPXMLSwiftTests test_firstChildWithName_nonexistent_returnsNil <1ms
โœ… TPPXMLSwiftTests test_firstChildWithName_returnsFirstMatch 19ms
โœ… TPPXMLSwiftTests test_parseEmptyData_returnsNil <1ms
โœ… TPPXMLSwiftTests test_parseInlineXML_simpleElement <1ms
โœ… TPPXMLSwiftTests test_parseInvalidXML_returnsNil 25ms
โœ… TPPXMLSwiftTests test_parseNilData_returnsNil 3ms
โœ… TPPXMLSwiftTests test_parseValidXML_rootHasNoParent <1ms
โœ… TPPXMLSwiftTests test_parseValidXML_rootHasThreeChildren 1ms
โœ… TPPXMLSwiftTests test_parseValidXML_rootName_isFoo 1ms
โœ… TPPXMLSwiftTests test_parseValidXML_rootNamespaceURI_isCorrect 2ms
โœ… TPPXMLSwiftTests test_parseValidXML_rootQualifiedName <1ms
โœ… TPPXMLSwiftTests test_value_returnsTextContent 7ms
โœ… TPPXMLTests testInvalid 4ms
โœ… TPPXMLTests testNoData 1ms
โœ… TPPXMLTests testValid 14ms
โœ… TabBarModernizationTests test_miniPlayerBottomInset_bogusBarHeight_fallsBackToDefault 3ms
โœ… TabBarModernizationTests test_miniPlayerBottomInset_fullFrameMeasurement_doesNotDoubleCountSafeArea <1ms
โœ… TabBarModernizationTests test_miniPlayerBottomInset_negativeSafeArea_clampsToZero <1ms
โœ… TabBarModernizationTests test_miniPlayerBottomInset_sumsSafeAreaBarAndMargin 76ms
โœ… TabBarModernizationTests test_shouldEnableTabBarMinimize_miniPlayerActive_returnsFalse 2ms
โœ… TabBarModernizationTests test_shouldEnableTabBarMinimize_noMiniPlayer_returnsTrue <1ms
โœ… TabBarModernizationTests test_tabBarHeightObserver_measure_neverCorruptsToBogusHeight 3ms
โœ… TabBarModernizationTests test_tabBarHeightObserver_seedsWithHistoricalDefault 4ms
โœ… TearDownRequiredLintTests testBaselineFileIsLoaded 3ms
โœ… TearDownRequiredLintTests testLintAcceptsExplicitTearDown 1ms
โœ… TearDownRequiredLintTests testLintAcceptsInheritedTearDown 3ms
โœ… TearDownRequiredLintTests testLintCatchesSyntheticViolator 18ms
โœ… TearDownRequiredLintTests testTearDownRequired_runsAgainstPalaceTestsTree 1.51s
โœ… TestAppContainerFactoryTests testMakeTestAppContainer_acceptsBookRegistryOverride 53ms
โœ… TestAppContainerFactoryTests testMakeTestAppContainer_acceptsExplicitDependencyOverrides 6ms
โœ… TestAppContainerFactoryTests testMakeTestAppContainer_doesNotMutateProductionCache 43ms
โœ… TestAppContainerFactoryTests testMakeTestAppContainer_doesNotSpawnLoadCatalogsTask 9ms
โœ… TestAppContainerFactoryTests testMakeTestAppContainer_returnsDistinctInstancesPerCall 4ms
โ“ TestTargetHermeticityRegressionTests testAwaitCondition_onTimeout_predicateIsNeverEvaluatedAfterReturn 332ms
โœ… TestTargetHermeticityRegressionTests testBootstrap_deferInitialLoadCatalogs_isPinnedTrueAtTestStart 34ms
โœ… TestTargetHermeticityRegressionTests testMockRegistry_addBookFromBackgroundThread_deliversChangeNotificationOnMain 7ms
โœ… TestTargetHermeticityRegressionTests testTestTarget_compilesWithDEBUG_soPerTestResetLayerIsActive 1ms
โœ… TimeEntryTests testTimeEntry_creation <1ms
โœ… TimeEntryTests testTimeEntry_durationLimit <1ms
โœ… TimeEntryTests testTimeEntry_utcFormat 67ms
โœ… TokenRefreshAndRetryQueueTests testConcurrentRefreshes_OnlyOneTokenRequestFires 66ms
โœ… TokenRefreshAndRetryQueueTests testDELETE_401_DoesNotTriggerRefresh 591ms
โœ… TokenRefreshAndRetryQueueTests testQueuedRequest_AfterRefresh_RetriesWithNewBearer 117ms
โœ… TokenRefreshAndRetryQueueTests testQueuedRequest_CompletionFiresWithRetryBodyAfterRetry 78ms
โœ… TokenRefreshAndRetryQueueTests testRefresh_SuccessWithoutTask_FiresSuccessCompletion 485ms
โœ… TokenRefreshAndRetryQueueTests testRefresh_Success_ReleasesSingleFlightSlot 1.06s
โœ… TokenRefreshAndRetryQueueTests testRefresh_TokenEndpointNetworkError_DoesNotMarkCredentialsStale 2.29s
โœ… TokenRefreshAndRetryQueueTests testRefresh_TokenEndpointReturns401_MarksCredentialsStaleAndDoesNotLoop 121ms
โœ… TokenRefreshAndRetryQueueTests testRefresh_WithoutCredentials_FailsImmediatelyAndReleasesSlot 77ms
โœ… TokenRefreshIntegrationTests testExecuteTokenRefresh_EmptyUsername_NeverHitsNetwork 2ms
โœ… TokenRefreshIntegrationTests testExecuteTokenRefresh_ValidatesBasicAuthHeaderOnWire 28ms
โœ… TokenRefreshInterceptorAuthCoordinatorTests testCoordinator_401_OAuthIntermediary_doesNotInvokeCoordinator_fallsToTokenRefreshPath 533ms
โœ… TokenRefreshInterceptorAuthCoordinatorTests testCoordinator_401_OIDC_doesNotRouteThroughCoordinator 531ms
โœ… TokenRefreshInterceptorAuthCoordinatorTests testCoordinator_401_SAML_dispatchesViaCoordinator_andSetsSAMLStarted 522ms
โœ… TokenRefreshInterceptorAuthCoordinatorTests testCoordinator_401_SAML_userCancel_doesNotRetry_butStillFlipsPerBookState 530ms
โœ… TokenRefreshInterceptorAuthCoordinatorTests testCoordinator_handleProblem_browserSAML_dispatchesViaCoordinator 533ms
โœ… TokenRefreshInterceptorAuthCoordinatorTests testCoordinator_noActiveLoan_SAML_dispatchesViaCoordinator_andSetsSAMLStarted 538ms
โœ… TokenRefreshInterceptorAuthCoordinatorTests testForeignHost_401_SAML_doesNotMarkCredentialsStale_doesNotDispatchCoordinator 540ms
โœ… TokenRefreshInterceptorAuthCoordinatorTests testForeignHost_401_SAML_withNilProvider_fallsBackToLegacyDispatch 539ms
โœ… TokenRefreshInterceptorTests testHandleBorrowInvalidCredentials_firstAttempt_triggersReauth 12ms
โœ… TokenRefreshInterceptorTests testHandleBorrowInvalidCredentials_nilDelegate_doesNotCrash 4ms
โœ… TokenRefreshInterceptorTests testHandleBorrowInvalidCredentials_secondAttempt_showsAlert 107ms
โœ… TokenRefreshInterceptorTests testHandleBorrowInvalidCredentials_successfulReauth_startsDownload 516ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_OIDC_401_marksCredentialsStale 3ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_OIDC_401_triggersReauthViaSignInModal 1.04s
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_OIDC_cancelledReauth_doesNotRetry 1.02s
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_OIDC_successfulReauth_retriesDownload 1.06s
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_SAML_401_legacyPath_retriesViaSAMLNotBrowserModal 515ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_SAML_noActiveLoan_legacyPath_retriesViaSAMLNotBrowserModal 508ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_hasCredentials_noLoginRequired_returnsFalse 4ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_noActiveLoan_OIDC_triggersReauth 1.06s
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_noActiveLoan_SAML_treatAsSessionExpiry 3ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_noActiveLoan_nonSAML_autoBorrows 4ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_noCredentialsLoginRequired_triggersSignIn 4ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_noDelegateReturnsFalse 3ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_nonAuthRelatedError_returnsFalse 8ms
โœ… TokenRefreshInterceptorTests testHandleProblem_SAMLStartedState_circuitBreaker 11ms
โœ… TokenRefreshInterceptorTests testHandleProblem_SAMLWithCredentials_retriesWithSAML 506ms
โœ… TokenRefreshInterceptorTests testHandleProblem_authenticatedUser_noReauth 306ms
โœ… TokenRefreshInterceptorTests testHandleProblem_nilDelegate_doesNotCrash 3ms
โœ… TokenRefreshInterceptorTests testHandleProblem_noCredentials_triggersReauth 6ms
โœ… TokenRefreshInterceptorTests testInit_defaultState 1ms
โœ… TokenRefreshInterceptorTests testInit_withCustomReauthenticator 2ms
โœ… TokenRefreshOnForegroundTests test_ConcurrentForegroundRequests_ProduceOneTokenRefresh 58ms
โœ… TokenRefreshOnForegroundTests test_ForegroundRefreshFailure_StillResolvesCaller 1.27s
โœ… TokenRefreshOnForegroundTests test_HealthyToken_NoProactiveRefresh 381ms
โœ… TokenRefreshOnForegroundTests test_NearExpiryToken_GETBlocksOnRefresh 55ms
โœ… TokenRefreshOnForegroundTests test_NearExpiryToken_OnForeground_FiresTokenRefreshBeforeUserRequest 30ms
โœ… TokenRefreshOnForegroundTests test_NearExpiryToken_RetriedRequest_UsesFreshBearer 32ms
โœ… TokenRefreshOnForegroundTests test_POSTBody_PreservedAcrossProactiveRefresh 38ms
โœ… TokenRefreshOnForegroundTests test_SAMLAuth_DoesNotTriggerProactiveTokenRefresh 47ms
โœ… TokenRefreshOnForegroundTests test_TokenAtExactExpiryThreshold_IsConsideredNearExpiry 31ms
โœ… TokenRefreshOnForegroundTests test_UseTokenIfAvailableFalse_BypassesProactiveRefresh 40ms
โœ… TokenRefreshTests testBearerAuthorized_AddsAuthorizationHeader 1ms
โœ… TokenRefreshTests testBearerAuthorized_EmptyTokenSetsEmptyHeader <1ms
โœ… TokenRefreshTests testMockExecutor_HandlesEmptyURL 4ms
โœ… TokenRefreshTests testMockExecutor_Returns404ForUnknownURL 4ms
โœ… TokenRefreshTests testMockExecutor_ReturnsConfiguredResponse 6ms
โœ… TokenRefreshTests testNYPLResult_FailureCase 30ms
โœ… TokenRefreshTests testNYPLResult_FailureWithNilResponse 96ms
โœ… TokenRefreshTests testNYPLResult_SuccessCase 34ms
โœ… TokenRefreshTests testNYPLResult_SuccessWithNilResponse <1ms
โœ… TokenRefreshTests testRequestTimeout_DefaultValue <1ms
โœ… TokenRefreshTests testRequestTimeout_StaticDefault <1ms
โœ… TokenRefreshTests testTPPErrorCode_InvalidCredentialsValue 1ms
โœ… TokenRefreshTests testTokenRequest_EmptyPassword <1ms
โœ… TokenRefreshTests testTokenRequest_EmptyUsername <1ms
โœ… TokenRefreshTests testTokenRequest_InitializesCorrectly 1ms
โœ… TokenRefreshTests testTokenRequest_SpecialCharactersInCredentials 2ms
โœ… TokenRefreshTests testTokenResponse_DecodesFromJSON 1ms
โœ… TokenRefreshTests testTokenResponse_DifferentTokenTypes 13ms
โœ… TokenRefreshTests testTokenResponse_EncodesToJSON 3ms
โœ… TokenRefreshTests testTokenResponse_ExpirationDateCalculation 1ms
โœ… TokenRefreshTests testTokenResponse_LargeExpiresIn <1ms
โœ… TokenRefreshTests testTokenResponse_NegativeExpiresIn 34ms
โœ… TokenRefreshTests testTokenResponse_RoundTrip <1ms
โœ… TokenRefreshTests testTokenResponse_SmallExpiresIn <1ms
โœ… TokenRefreshTests testTokenResponse_ZeroExpiresIn 1ms
โœ… TokenRefreshWatchdogTests testClaim_isSingleFlight 11ms
โœ… TokenRefreshWatchdogTests testWatchdog_doesNotDisturb_aRefreshThatCompletedNormally 3ms
โœ… TokenRefreshWatchdogTests testWatchdog_forceReleasesStuckRefresh_andHandsBackStrandedQueue 6ms
โœ… TokenRefreshWatchdogTests testWatchdog_isIdempotent 4ms
โœ… TokenRefreshWatchdogTests testWatchdog_staleGeneration_doesNotReleaseNewerRefresh 6ms
โœ… TokenRequestCredentialGuardTests testExecute_BothEmpty_ReturnsFailureWithoutNetworkCall 24ms
โœ… TokenRequestCredentialGuardTests testExecute_ColonInPassword_EncodesCorrectly 46ms
โœ… TokenRequestCredentialGuardTests testExecute_EmptyCredentials_ErrorDomain 7ms
โœ… TokenRequestCredentialGuardTests testExecute_EmptyPassword_PinlessLogin_MakesNetworkCall 611ms
โœ… TokenRequestCredentialGuardTests testExecute_EmptyUsername_ReturnsFailureWithoutNetworkCall 142ms
โœ… TokenRequestCredentialGuardTests testExecute_SendsPOSTMethod 217ms
โœ… TokenRequestCredentialGuardTests testExecute_ServerReturns400_ReturnsFailureWithStatusCode 283ms
โœ… TokenRequestCredentialGuardTests testExecute_ServerReturns401_ReturnsFailureWithStatusCode 123ms
โœ… TokenRequestCredentialGuardTests testExecute_ServerReturnsIncompleteJSON_ReturnsDecodingError 1.62s
โœ… TokenRequestCredentialGuardTests testExecute_ServerReturnsNonJSON_ReturnsDecodingError 685ms
โœ… TokenRequestCredentialGuardTests testExecute_SpecialCharactersInCredentials_EncodesCorrectly 324ms
โœ… TokenRequestCredentialGuardTests testExecute_ValidCredentials_MakesNetworkCall 8ms
โœ… TokenRequestCredentialGuardTests testExecute_ValidCredentials_SendsCorrectBasicAuthHeader 63ms
โœ… TokenRequestTests testExecute403WithNonJSONBody_FallsBackToGenericError 8ms
โœ… TokenRequestTests testExecute403WithProblemDocument_EmbedsProblemDocInError 8ms
โœ… TokenRequestTests testExecuteInvalidJSONReturnsDecodingError 27ms
โœ… TokenRequestTests testExecuteNon200StatusReturnsFailure 9ms
โœ… TokenRequestTests testExecuteSendsBasicAuthHeader 3ms
โœ… TokenRequestTests testExecuteSuccessReturnsToken 5ms
โœ… TokenRequestTests testExecuteUsesPOSTMethod 43ms
โœ… TokenRequestTests testTokenRequestInitProperties 30ms
โœ… TokenRequestTests testTokenResponseDecodableFromJSON 2ms
โœ… TokenRequestTests testTokenResponseExpirationDate 2ms
โœ… TokenRequestTests testTokenResponseInitProperties 155ms
โœ… TokenResponseTests testAccessToken_WithSpecialCharacters 2ms
โœ… TokenResponseTests testAccessToken_WithUnicodeCharacters 4ms
โœ… TokenResponseTests testDecode_WithDifferentTokenType_ParsesCorrectly <1ms
โœ… TokenResponseTests testDecode_WithExtraFields_IgnoresExtraFields <1ms
โœ… TokenResponseTests testDecode_WithLargeExpiresIn_ParsesCorrectly 4ms
โœ… TokenResponseTests testDecode_WithMissingAccessToken_ThrowsError <1ms
โœ… TokenResponseTests testDecode_WithMissingExpiresIn_ThrowsError 1ms
โœ… TokenResponseTests testDecode_WithMissingTokenType_ThrowsError 1ms
โœ… TokenResponseTests testDecode_WithValidJSON_ParsesCorrectly 125ms
โœ… TokenResponseTests testDecode_WithWrongTypeForExpiresIn_ThrowsError <1ms
โœ… TokenResponseTests testEncodeDecode_RoundTrip_PreservesValues 8ms
โœ… TokenResponseTests testEncode_ProducesValidJSON 24ms
โœ… TokenResponseTests testExpirationDate_CalculatesCorrectInterval 82ms
โœ… TokenResponseTests testExpirationDate_WithNegativeExpiresIn_ReturnsDateInPast 2ms
โœ… TokenResponseTests testExpirationDate_WithPositiveExpiresIn_ReturnsDateInFuture 2ms
โœ… TokenResponseTests testExpirationDate_WithZeroExpiresIn_ReturnsCurrentTime 2ms
โœ… TokenResponseTests testExpiresIn_WithMaxInt32Value 1ms
โœ… TokenResponseTests testInit_WithEmptyToken_StoresEmptyString 2ms
โœ… TokenResponseTests testInit_WithNegativeExpiresIn_StoresNegativeValue 7ms
โœ… TokenResponseTests testInit_WithValidParameters_StoresValues 21ms
โœ… TokenResponseTests testInit_WithZeroExpiresIn_StoresZero <1ms
โœ… TriageBotKeyAdminTests testClear_deletesTheStoredKey 4ms
โœ… TriageBotKeyAdminTests testHasStoredKey_isFalseForNilOrEmpty_trueForNonEmpty 247ms
โœ… TriageBotKeyAdminTests testSave_trimsSurroundingWhitespace_beforeStoring 2ms
โœ… TriageBotKeyAdminTests testSave_whitespaceOnly_isRejected_andLeavesExistingKeyIntact 2ms
โœ… TypographyPresetTests testAllPresetFontSizesInRange 328ms
โœ… TypographyPresetTests testAllPresetLetterSpacingsInRange 12ms
โœ… TypographyPresetTests testAllPresetLineSpacingsInRange 4ms
โœ… TypographyPresetTests testAllPresetWordSpacingsInRange 2ms
โœ… TypographyPresetTests testAllPresetsProduceCSS 8ms
โœ… TypographyPresetTests testClassicCSSContainsGeorgia 12ms
โœ… TypographyPresetTests testClassicPreset 9ms
โœ… TypographyPresetTests testCozyPreset 160ms
โœ… TypographyPresetTests testDensePreset 152ms
โœ… TypographyPresetTests testDyslexiaCSSContainsOpenDyslexic 281ms
โœ… TypographyPresetTests testDyslexiaFriendlyPreset 6ms
โœ… TypographyPresetTests testModernCSSContainsSFPro 44ms
โœ… TypographyPresetTests testModernPreset 32ms
โœ… TypographyPresetTests testNightReaderCSSHasBlackBackground 6ms
โœ… TypographyPresetTests testNightReaderPreset 3ms
โœ… TypographyPresetTests testPresetCount 10ms
โœ… TypographyPresetTests testPresetLookupById 10ms
โœ… TypographyPresetTests testPresetLookupByInvalidId 4ms
โœ… TypographyPresetTests testPresetSettingsAreCodable 107ms
โœ… TypographyPresetTests testPresetsHaveUniqueIds 7ms
โœ… TypographyPresetTests testPresetsHaveUniqueNames 9ms
โœ… TypographyServiceTests testApplyPreset 244ms
โœ… TypographyServiceTests testApplyPresetClearsPreviousCustomization 9ms
โœ… TypographyServiceTests testCSSContainsBackgroundColor 4ms
โœ… TypographyServiceTests testCSSContainsFontFamily 6ms
โœ… TypographyServiceTests testCSSContainsFontSize 9ms
โœ… TypographyServiceTests testCSSContainsLetterSpacing 12ms
โœ… TypographyServiceTests testCSSContainsLineSpacing 299ms
โœ… TypographyServiceTests testCSSContainsMargins 6ms
โœ… TypographyServiceTests testCSSContainsParagraphSpacing 4ms
โœ… TypographyServiceTests testCSSContainsTextAlignment 6ms
โœ… TypographyServiceTests testCSSContainsWordSpacing 3ms
โœ… TypographyServiceTests testCSSDisablesHyphensForLeftAligned 6ms
โœ… TypographyServiceTests testCSSEnablesHyphensForJustifiedText 344ms
โœ… TypographyServiceTests testCSSForArbitrarySettings 21ms
โœ… TypographyServiceTests testCSSForDarkTheme 6ms
โœ… TypographyServiceTests testCSSForSepiaTheme 12ms
โœ… TypographyServiceTests testDefaultSettingsLoadClassicPreset 6ms
โœ… TypographyServiceTests testResetToPresetRestoresOriginal 12ms
โœ… TypographyServiceTests testResetToPresetWithNoPresetResetsToClassic 5ms
โœ… TypographyServiceTests testSettingsPersistedAfterDebounce 1.03s
โœ… TypographyServiceTests testSettingsPublisherEmitsOnChange 246ms
โœ… TypographyServiceTests testUpdateFontFamily 5ms
โœ… TypographyServiceTests testUpdateFontSizeClampsToRange 6ms
โœ… TypographyServiceTests testUpdateLetterSpacingClampsToRange 2ms
โœ… TypographyServiceTests testUpdateLineSpacingClampsToRange 5ms
โœ… TypographyServiceTests testUpdateMarginLevel 5ms
โœ… TypographyServiceTests testUpdateParagraphSpacing 343ms
โœ… TypographyServiceTests testUpdateSettingsReplacesAll 39ms
โœ… TypographyServiceTests testUpdateTextAlignment 246ms
โœ… TypographyServiceTests testUpdateTheme 35ms
โœ… TypographyServiceTests testUpdateWordSpacingClampsToRange 12ms
โœ… TypographySettingsViewModelTests testAlignmentGetterMatchesSettings 16ms
โœ… TypographySettingsViewModelTests testAvailableFontsNotEmpty 161ms
โœ… TypographySettingsViewModelTests testFontSizeGetterMatchesSettings 1.08s
โœ… TypographySettingsViewModelTests testHasCustomOverridesIsFalseForPreset 3.49s
โœ… TypographySettingsViewModelTests testHasCustomOverridesIsTrueAfterChange 2.62s
โœ… TypographySettingsViewModelTests testHasCustomOverridesIsTrueWithNoPreset 14ms
โœ… TypographySettingsViewModelTests testInitialPresetIsClassic 86ms
โœ… TypographySettingsViewModelTests testInitialStateMatchesService 557ms
โœ… TypographySettingsViewModelTests testPreviewCSSChangesWithSettings 500ms
โœ… TypographySettingsViewModelTests testPreviewCSSNotEmpty 3ms
โœ… TypographySettingsViewModelTests testPreviewTextNotEmpty 174ms
โœ… TypographySettingsViewModelTests testRapidChangesSettleCorrectly 15ms
โœ… TypographySettingsViewModelTests testResetToPresetAfterCustomization 38ms
โœ… TypographySettingsViewModelTests testResetWithNoPresetResetsToClassic 25ms
โœ… TypographySettingsViewModelTests testSelectAllPresetsInSequence 74ms
โœ… TypographySettingsViewModelTests testSelectPresetUpdatesService 14ms
โœ… TypographySettingsViewModelTests testSelectPresetUpdatesSettings 17ms
โœ… TypographySettingsViewModelTests testServiceChangesReflectedInViewModel 1.64s
โœ… TypographySettingsViewModelTests testUpdateFontFamily 14ms
โœ… TypographySettingsViewModelTests testUpdateFontSize 1.47s
โœ… TypographySettingsViewModelTests testUpdateLetterSpacing 13ms
โœ… TypographySettingsViewModelTests testUpdateLineSpacing 21ms
โœ… TypographySettingsViewModelTests testUpdateMarginLevel 16ms
โœ… TypographySettingsViewModelTests testUpdateParagraphSpacing 13ms
โœ… TypographySettingsViewModelTests testUpdateTextAlignment 14ms
โœ… TypographySettingsViewModelTests testUpdateTheme 14ms
โœ… TypographySettingsViewModelTests testUpdateWordSpacing 12ms
โœ… UIAlertCACommitGuardTests testAlertTitleError_WithCancelledNetworkError_DoesNotCrash 36ms
โœ… UIAlertCACommitGuardTests testAlertTitleError_WithNilError_ProducesGenericMessage 2ms
โœ… UIAlertCACommitGuardTests testAlertTitleError_WithUnknownDomain_ProducesGenericMessage 13ms
โœ… UIAlertCACommitGuardTests testAlertTitleMessage_WithEmptyMessage_DoesNotCrashAndStillUsable 2ms
โœ… UIAlertCACommitGuardTests testAlertTitleMessage_WithNonEmptyArgs_ProducesValidController 2ms
โœ… UIAlertCACommitGuardTests testPresentFromViewControllerOrNil_WithNilController_DoesNothing 205ms
โœ… UIAlertCACommitGuardTests testPresent_OnInWindowVC_NoTransition_StillPresentsAlert 169ms
โœ… UIAlertCACommitGuardTests testSetProblemDocument_WithNilController_DoesNothing <1ms
โœ… UIAlertCACommitGuardTests testSetProblemDocument_WithNilDocument_DoesNothing 3ms
โœ… UIColor_NYPLAdditionsTests testExample 4ms
โœ… URLBackupExclusionTests test_excludeFromBackup_returnsFalse_whenURLDoesNotExist 7ms
โœ… URLBackupExclusionTests test_excludeFromBackup_setsFlag_onExistingDirectory 2ms
โœ… URLBackupExclusionTests test_excludeFromBackup_setsFlag_onExistingFile 8ms
โœ… URLExtensionTests testAppendingPathComponent <1ms
โœ… URLExtensionTests testAppendingPathExtension 8ms
โœ… URLExtensionTests testFileURL_deletingLastPathComponent <1ms
โœ… URLExtensionTests testFileURL_isFileURL <1ms
โœ… URLExtensionTests testFileURL_lastPathComponent <1ms
โœ… URLExtensionTests testFileURL_pathExtension <1ms
โœ… URLExtensionTests testHTTPURL_isNotFileURL <1ms
โœ… URLExtensionTests testURLComponents_fragment <1ms
โœ… URLExtensionTests testURLComponents_host <1ms
โœ… URLExtensionTests testURLComponents_path <1ms
โœ… URLExtensionTests testURLComponents_query <1ms
โœ… URLExtensionTests testURLComponents_scheme 57ms
โœ… URLExtensionTests testURLEncoding_spaceInQuery <1ms
โœ… URLExtensionTests testURLEncoding_specialCharacters 1ms
โœ… URLExtensionTests testURLQueryItems_building 4ms
โœ… URLExtensionTests testURLQueryItems_parsing 1ms
โœ… URLExtensionsTests testReplacingScheme_HttpToHttps_ReplacesScheme 179ms
โœ… URLExtensionsTests testReplacingScheme_HttpsToHttp_ReplacesScheme 18ms
โœ… URLExtensionsTests testReplacingScheme_PreservesFragment <1ms
โœ… URLExtensionsTests testReplacingScheme_PreservesPort 109ms
โœ… URLExtensionsTests testReplacingScheme_PreservesUserInfo <1ms
โœ… URLExtensionsTests testReplacingScheme_ToCustomScheme_Works <1ms
โœ… URLExtensionsTests testSettingQueryItem_NoExistingQuery_AddsItem <1ms
โœ… URLExtensionsTests testSettingQueryItem_PercentEncodesValue <1ms
โœ… URLExtensionsTests testSettingQueryItem_PreservesOtherItems_AndOrder <1ms
โœ… URLExtensionsTests testSettingQueryItem_RemovesAllDuplicatesOfName 2ms
โœ… URLExtensionsTests testSettingQueryItem_ReplacesExistingSameName_ExactlyOnce <1ms
โœ… URLRequestExtensionsCoverageTests testURLRequest_applyCustomUserAgent 3ms
โœ… URLRequestExtensionsCoverageTests testURLRequest_customUserAgent 2ms
โœ… URLRequestExtensionsCoverageTests testURLRequest_noCustomUserAgent_doesNotSetUserAgentHeader 3ms
โœ… URLRequestExtensionsTests testApplyCustomUserAgent_ReturnsSelf <1ms
โœ… URLRequestExtensionsTests testApplyCustomUserAgent_SetsHeader <1ms
โœ… URLRequestExtensionsTests testInit_WithCustomUserAgent_PreservesURL <1ms
โœ… URLRequestExtensionsTests testInit_WithCustomUserAgent_SetsUserAgentHeader 1ms
โœ… URLRequestExtensionsTests testInit_WithoutCustomUserAgent_NoUserAgentHeader <1ms
โœ… URLRequestExtensionsTests testIsTokenAuthorized_NoAuthHeader_ReturnsFalse <1ms
โœ… URLRequestExtensionsTests testIsTokenAuthorized_WithBasicAuth_ReturnsFalse <1ms
โœ… URLRequestExtensionsTests testIsTokenAuthorized_WithBearerToken_ReturnsTrue 76ms
โœ… URLRequestExtensionsTests testLoggableString_ContainsMethodAndURL <1ms
โœ… URLRequestExtensionsTests testLoggableString_ExcludesAuthorizationHeader 82ms
โœ… URLRequestExtensionsTests testLoggableString_IncludesNonSensitiveHeaders 1ms
โœ… URLRequestNYPLAdditionsTests testPostParams_bodyContainsParams 1ms
โœ… URLRequestNYPLAdditionsTests testPostParams_boundaryConsistencyBetweenHeaderAndBody 2ms
โœ… URLRequestNYPLAdditionsTests testPostParams_emptyParams_doesNotCrash 1ms
โœ… URLRequestNYPLAdditionsTests testPostParams_producesMultipartFormPOSTRequest 10ms
โœ… URLRequestNYPLAdditionsTests testPostParams_setsContentLength 46ms
โœ… URLRequestNYPLAdditionsTests testPostParams_withImage_bodyContainsImageData 4ms
โœ… URLRequestNYPLAdditionsTests testPostParams_withNilImage_bodyLacksImageSection 26ms
โœ… URLRequestNYPLAdditionsTests testPostProblemDocument_producesCompliantProblemJSONRequest 2ms
โœ… URLRequestNYPLAdditionsTests testPostProblemDocument_setsBody 291ms
โœ… URLRequestNYPLAdditionsTests testPostProblemDocument_setsContentLength 2ms
โœ… URLRequestNYPLAdditionsTests testPostProblemDocument_usesTransportDefaultsForReporting 3ms
โœ… URLRequest_NYPLTests testAuthorizationHeaderStrip 4ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_with200StatusCode_returnsFalse 1ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_with401StatusCode_returnsTrue 1ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_with403StatusCode_returnsFalse 14ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_withApiProblemMimeType_andInvalidCredentials_returnsTrue 38ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_withInvalidCredentialsProblemDoc_returnsTrue 2ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_withOPDSAuthMimeType_and200Status_returnsFalse <1ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_withOPDSAuthMimeType_andNon2xxStatus_returnsTrue 239ms
โœ… URLResponseAuthenticationTests testURLResponse_withInvalidCredentialsProblemDoc_returnsTrue 1ms
โœ… URLResponseAuthenticationTests testURLResponse_withNilProblemDoc_returnsFalse 1ms
โœ… URLResponseAuthenticationTests testURLResponse_withNonProblemMimeType_returnsFalse 3ms
โœ… URLResponseNYPLTests testIsProblemDocument_WithApiProblemJsonMime_ReturnsTrue <1ms
โœ… URLResponseNYPLTests testIsProblemDocument_WithHtmlMime_ReturnsFalse <1ms
โœ… URLResponseNYPLTests testIsProblemDocument_WithNilMime_ReturnsFalse <1ms
โœ… URLResponseNYPLTests testIsProblemDocument_WithProblemJsonMime_ReturnsTrue 59ms
โœ… URLResponseNYPLTests testIsProblemDocument_WithRegularJsonMime_ReturnsFalse <1ms
โœ… URLResponseNYPLTests testIsSuccess_199_ReturnsFalse 20ms
โœ… URLResponseNYPLTests testIsSuccess_200_ReturnsTrue <1ms
โœ… URLResponseNYPLTests testIsSuccess_201Created_ReturnsTrue 2ms
โœ… URLResponseNYPLTests testIsSuccess_204NoContent_ReturnsTrue <1ms
โœ… URLResponseNYPLTests testIsSuccess_299_ReturnsTrue <1ms
โœ… URLResponseNYPLTests testIsSuccess_300Redirect_ReturnsFalse <1ms
โœ… URLResponseNYPLTests testIsSuccess_400BadRequest_ReturnsFalse <1ms
โœ… URLResponseNYPLTests testIsSuccess_401Unauthorized_ReturnsFalse <1ms
โœ… URLResponseNYPLTests testIsSuccess_500ServerError_ReturnsFalse <1ms
โœ… URLSessionCredentialStorageTests testMakeURLSessionConfiguration_Default_DisablesCredentialStorage 2ms
โœ… URLSessionCredentialStorageTests testMakeURLSessionConfiguration_Ephemeral_ReturnsEphemeralConfig 23ms
โœ… URLSessionCredentialStorageTests testMakeURLSessionConfiguration_Fallback_DisablesCredentialStorage 2ms
โœ… URLSessionStubbingResetTests testResetStubbedSession_inFlightTaskOnOldSession_completesGracefully 3ms
โœ… URLSessionStubbingResetTests testResetStubbedSession_returnsDistinctSessionInstance <1ms
โœ… URLTypeTests testURLType_HasAllExpectedCases 14ms
โœ… URLTypeTests testURLType_RawValues_AreDistinct 1ms
โœ… URLValidationTests testEmptyString_returnsNil <1ms
โœ… URLValidationTests testFileURL_alwaysValid 7ms
โœ… URLValidationTests testInvalidURL_handledByURLInit 3ms
โœ… URLValidationTests testURLWithSpaces_handledCorrectly 4ms
โœ… URLValidationTests testValidHTTPURL 4ms
โœ… UnifiedOPDSServiceStateMachineTests testFetchLoansFeed_blocksUntilLoaded_thenFetches 131ms
โœ… UnifiedOPDSServiceStateMachineTests testFetchLoansFeed_failedDetailsLoad_throws 133ms
โœ… UserAccountPublisherAuthStateTests testAuthStateDidChangePublisher_firesOnStateChanges 41ms
โœ… UserAccountPublisherAuthStateTests testCredentialsStalePublisher_firesWhenStateBecomesStale 64ms
โœ… UserAccountPublisherAuthStateTests testInitialState_isLoggedOut_andMarkCredentialsStaleFromLoggedOutIsNoOp <1ms
โœ… UserAccountPublisherAuthStateTests testMarkCredentialsStale_updatesState 2ms
โœ… UserAccountPublisherAuthStateTests testSignOut_resetsToLoggedOut 4ms
โœ… UserAccountPublisherTests testAuthStateDidChangePublisher_emitsStateChanges 6ms
โœ… UserAccountPublisherTests testCredentialsDidChangePublisher_emitsOnChange 183ms
โœ… UserAccountPublisherTests testCredentialsStalePublisher_emitsWhenStale 142ms
โœ… UserAccountPublisherTests testDidSignOutPublisher_emitsOnSignOut 2ms
โœ… UserAccountPublisherTests testInit_hasCorrectDefaults 2ms
โœ… UserAccountPublisherTests testMarkCredentialsStale_fromLoggedIn_setsStaleState 41ms
โœ… UserAccountPublisherTests testMarkCredentialsStale_fromLoggedOut_doesNotChange 65ms
โœ… UserAccountPublisherTests testMarkLoggedIn_setsLoggedInState 2ms
โœ… UserAccountPublisherTests testShared_returnsSameInstance 5ms
โœ… UserAccountPublisherTests testSignOut_calledTwice_cancelsFirstResetTask 108ms
โœ… UserAccountPublisherTests testSignOut_deferredResetTask_isRetained 332ms
โœ… UserAccountPublisherTests testSignOut_deinit_cancelsPendingReset 156ms
โœ… UserAccountPublisherTests testSignOut_resetsAllState <1ms
โœ… UserAccountPublisherTests testSignOut_resetsIsSigningOutAfterDelay 111ms
โœ… UserAccountValidationTests testAcceptsASCIICharacters 110ms
โœ… UserAccountValidationTests testAcceptsEmptyReplacementString 314ms
โœ… UserAccountValidationTests testAcceptsPINAtExactlyAuthPasscodeLength 250ms
โœ… UserAccountValidationTests testAcceptsUsernameAtExactly25Characters 399ms
โœ… UserAccountValidationTests testRejectsNonASCIICharacters 46ms
โœ… UserAccountValidationTests testRejectsPINLongerThanAuthPasscodeLength 171ms
โœ… UserAccountValidationTests testRejectsUsernameLongerThan25Characters 35ms
โœ… UserAccountValidationTests testRejectsUsernameRangeOutsideTextBounds 115ms
โœ… UserAccountValidationTests testShouldBeginEditingWhenForceEditabilityIsTrue 99ms
โœ… UserAccountValidationTests testShouldBeginEditingWhenNoBusinessLogic 108ms
โœ… UserAccountValidationTests testShouldNotBeginEditingWhenBusinessLogicHasBarcodeAndPIN 410ms
โœ… UserDefaultsIsolationLintTests testLintCatchesSyntheticViolatorIfStrictModeEnabled <1ms
โœ… UserDefaultsIsolationLintTests testWarnsOnUserDefaultsStandardOutsideWhitelist 1.40s
โœ… UserProfileDocumentTests testParse <1ms
โœ… UserProfileDocumentTests testParseJSONExtraProperty 3ms
โœ… UserProfileDocumentTests testParseJSONInvalid <1ms
โœ… UserProfileDocumentTests testParseJSONMissingProperty 2ms
โœ… UserProfileDocumentTests testParseJSONNilValue <1ms
โœ… UserProfileDocumentTests testParseJSONTypeMismatch <1ms
โœ… UserProfileDocumentTests testParseProfileDocCausingSIMPLY2491 198ms
โœ… UserRetryTrackerTests testCanRetry_afterFiveRetries_returnsFalse <1ms
โœ… UserRetryTrackerTests testCanRetry_afterFourRetries_returnsTrue <1ms
โœ… UserRetryTrackerTests testCanRetry_afterOneRetry_returnsTrue 9ms
โœ… UserRetryTrackerTests testCanRetry_newOperation_returnsTrue 3ms
โœ… UserRetryTrackerTests testClearRetries_onlyAffectsSpecifiedOperation <1ms
โœ… UserRetryTrackerTests testClearRetries_resetsCount 1.28s
โœ… UserRetryTrackerTests testConcurrentAccess_doesNotCrash 7ms
โœ… UserRetryTrackerTests testRecordRetry_afterMax_returnsZero <1ms
โœ… UserRetryTrackerTests testRecordRetry_returnsRemainingCount <1ms
โœ… UserRetryTrackerTests testSeparateOperations_trackIndependently <1ms
โœ… XCTestCase_testUserDefaultsTests testTestUserDefaults_resetterClearsSuiteOnTestEnd 10ms
โœ… XCTestCase_testUserDefaultsTests testTestUserDefaults_returnsIsolatedSuite 215ms
โœ… XCTestCase_testUserDefaultsTests testTestUserDefaults_writesDoNotLeakToStandard 909ms
โœ… iPadOnMacRMSDKGuardTests testDidUseAdobeDRMThisSession_isFalseUntilMarked_thenTrue <1ms
โœ… iPadOnMacRMSDKGuardTests testProcessInfoExposes_isiOSAppOnMac_OnSupportedSDKs 292ms
โœ… iPadOnMacRMSDKGuardTests testShouldRegisterStaticDestructorBypass_OnIOSDevice_NeverRegisters 1ms
โœ… iPadOnMacRMSDKGuardTests testShouldRegisterStaticDestructorBypass_OnIPadOnMac_AlreadyRegistered_DoesNotReRegister <1ms
โœ… iPadOnMacRMSDKGuardTests testShouldRegisterStaticDestructorBypass_OnIPadOnMac_NotYetRegistered_Registers 8ms
โœ… iPadOnMacRMSDKGuardTests testShouldSkipStaticDestructorsOnExit_OnIOSDevice_ReturnsFalse 63ms
โœ… iPadOnMacRMSDKGuardTests testShouldSkipStaticDestructorsOnExit_OnIPadOnMac_ReturnsTrue <1ms