๐Ÿงช Palace iOS Test Report

Generated: 2026-09-03 19:31:27 UTC | Commit: 56dc6c705c84 | Branch: hotfix/3.2.4-blank-library-field

โŒ 2 TEST(S) FAILED

7434 tests completed in 18m 35s

7434
Total Tests
7321
Passed
2
Failed
111
Skipped
18m 35s
Duration
47.2%
Coverage

โŒ Failed Tests

โŒ Palace.PalaceTests

Duration: <1ms

โŒ HoldsViewModelTests.testFilterBooks_WithTitleMatch_ReturnsMatchingBooks

Duration: 2m 0s

๐Ÿ“Š Tests by Class

Class Total Passed Failed Duration
โœ… AccessLintComplianceTests 11 11 0 26ms
โœ… AccessibilityAnnouncementCenterTests 20 20 0 2.01s
โœ… AccessibilityLabelTests 9 9 0 21ms
โœ… AccessibilityPreferencesTests 26 26 0 138ms
โœ… AccessibilityServiceTests 11 11 0 270ms
โœ… AccountAuthDocCarryoverTests 5 5 0 1.00s
โœ… AccountAuthSurfaceHostsTests 7 7 0 37ms
โœ… AccountAwareNetworkTests 10 10 0 176ms
โœ… AccountDetailCredentialStateTests 7 0 0 60ms
โœ… AccountDetailPINVisibilityTests 25 0 0 922ms
โœ… AccountDetailSignOutConfirmationTests 2 0 0 38ms
โœ… AccountDetailViewModelGapTests 1 1 0 175ms
โœ… AccountDetailViewModelTests 19 0 0 236ms
โœ… AccountDetailsAuthenticationIsBrowserBasedTests 10 10 0 242ms
โœ… AccountDetailsNeedsAuthAggregateTests 10 10 0 29ms
โœ… AccountDetailsURLTests 17 17 0 148ms
โœ… AccountModelGapTests 9 9 0 999ms
โœ… AccountModelTests 20 20 0 693ms
โœ… AccountProfileDocumentTests 3 3 0 25ms
โœ… AccountStateMachineTests 13 13 0 3.10s
โœ… AccountSwitchCleanupTests 8 8 0 165ms
โœ… AccountSwitchIntegrationTests 8 8 0 216ms
โœ… AccountSwitchLifecycleTests 9 0 0 296ms
โœ… AccountsManagerCacheTests 16 16 0 708ms
โœ… AccountsManagerCancellationTests 5 5 0 553ms
โœ… AccountsManagerGapTests 3 3 0 11ms
โœ… AccountsManagerHelpersTests 12 12 0 40ms
โœ… AccountsManagerIsolationLintTests 2 2 0 986ms
โœ… AccountsManagerStateMachineWiringTests 15 15 0 4.77s
โœ… AccountsManagerTests 51 51 0 2m 6s
โœ… ActiveSessionsViewModelTests 12 12 0 281ms
โœ… AdobeActivationTests 6 6 0 34ms
โœ… AdobeCertificateGapTests 7 7 0 124ms
โœ… AdobeDRMCharacterizationTests 21 21 0 60ms
โœ… AdobeDRMErrorGapTests 3 3 0 31ms
โœ… AdobeDRMHandlerTests 12 12 0 416ms
โœ… AdobeDRMServiceGapTests 2 2 0 7ms
โœ… AlertModelCoverageTests 6 6 0 17ms
โœ… AlertModelRetryTests 7 7 0 22ms
โœ… AlertModelTests 2 2 0 8ms
โœ… AlertUtilsTests 20 20 0 647ms
โœ… AnnotationContractTests 3 3 0 11ms
โœ… AnnotationDeviceIDTests 2 2 0 9ms
โœ… AnnotationPostResponseContractTests 1 1 0 6ms
โœ… AnnouncementChainTests 5 5 0 13ms
โœ… AnnouncementTests 3 3 0 43ms
โœ… AnonymousBorrowBaselineFixtureTests 13 13 0 140ms
โœ… AnonymousBorrowCandidateFixtureTests 6 6 0 126ms
โœ… AnonymousBorrowDeltaTests 2 2 0 43ms
โœ… AppContainerAudiobookFactoryTests 3 3 0 18ms
โœ… AppContainerAuthCoordinatorRegistrationTests 3 3 0 8ms
โœ… AppContainerImageLoaderInjectionTests 4 4 0 116ms
โœ… AppContainerIsolationLintTests 5 5 0 1.45s
โœ… AppContainerResetTests 5 5 0 738ms
โœ… AppContainerTests 4 4 0 12ms
โœ… AppContainerWithSignInModalSheetPresenterTests 2 2 0 13ms
โœ… AppHealthViewModelTests 8 8 0 1.34s
โœ… AppLaunchTrackerExtendedTests 16 16 0 450ms
โœ… AppLaunchTrackerTests 10 10 0 349ms
โœ… AppRouteTests 5 5 0 195ms
โœ… AppTabHostMiniPlayerIntegrationTests 6 6 0 596ms
โœ… AppTabHostViewBadgeCountTests 10 10 0 91ms
โœ… AppTabRouterCoverageTests 4 4 0 20ms
โœ… AppTabRouterGapTests 3 3 0 14ms
โœ… ArrayExtensionsTests 6 6 0 60ms
โœ… AudioBookmarkGapTests 6 6 0 44ms
โœ… AudioEngineWrapperTests 8 8 0 296ms
โœ… AudioInterruptionLogicTests 6 6 0 44ms
โœ… AudioSessionActivatorTests 8 8 0 76ms
โœ… AudiobookAccessibilityTests 7 7 0 40ms
โœ… AudiobookBackgroundAudioTests 2 2 0 48ms
โœ… AudiobookBearerTokenRecoveryTests 21 21 0 287ms
โœ… AudiobookBookmarkBusinessLogicConcurrencyTests 3 3 0 143ms
โœ… AudiobookBookmarkBusinessLogicPositionWriteTests 8 8 0 263ms
โœ… AudiobookBookmarkBusinessLogicTests 21 21 0 4.47s
โœ… AudiobookChapterTOCNormalizationTests 6 6 0 69ms
โœ… AudiobookColdLoadRecoveryTests 4 4 0 14ms
โœ… AudiobookContentGateTests 14 14 0 261ms
โœ… AudiobookCrossVendorSmokeTests 4 4 0 1.48s
โœ… AudiobookDataManagerEmptyQueueTests 1 1 0 10ms
โœ… AudiobookDataManagerErrorHandlingTests 5 5 0 10.24s
โœ… AudiobookDataManagerModelsTests 20 20 0 1.68s
โœ… AudiobookDataManagerNetworkSyncTests 5 5 0 5.34s
โœ… AudiobookDataManagerSaveTests 4 4 0 25ms
โœ… AudiobookDataManagerStoreRecoveryTests 5 5 0 2.09s
โœ… AudiobookFileLoggerTests 14 14 0 357ms
โœ… AudiobookFirstOpenHangTests 9 9 0 2.08s
โœ… AudiobookFullPlayerCoverContainerTests 9 9 0 156ms
โœ… AudiobookLoadFailureSAMLReauthTests 10 10 0 1.35s
โœ… AudiobookLoaderDispatchTests 7 7 0 136ms
โœ… AudiobookLoaderFinalizeBuildTests 9 9 0 370ms
โœ… AudiobookLoaderOPDSShapeMatrixTests 8 0 0 229ms
โœ… AudiobookLoaderPredicateTests 11 11 0 29ms
โœ… AudiobookLoaderTests 2 2 0 112ms
โœ… AudiobookMiniPlayerViewTests 13 13 0 343ms
โœ… AudiobookNetworkValidationTests 3 3 0 12ms
โœ… AudiobookOpenStateRaceTests 3 3 0 906ms
โœ… AudiobookPhoneAlertContentTests 3 3 0 39ms
โœ… AudiobookPlaybackStateTests 3 3 0 91ms
โœ… AudiobookPlaybackTests 26 26 0 600ms
โœ… AudiobookPlaytimesLifecycleTests 6 6 0 44.40s
โœ… AudiobookPositionAdapterContractTests 3 3 0 492ms
โœ… AudiobookPositionPolicyValidatorTests 14 14 0 55ms
โœ… AudiobookPositionRestoreTests 20 20 0 812ms
โœ… AudiobookSAMLReauthTests 6 6 0 51ms
โœ… AudiobookSessionErrorDescriptionTests 4 4 0 10ms
โœ… AudiobookSessionErrorExtTests 4 4 0 34ms
โœ… AudiobookSessionErrorTests 2 2 0 28ms
โœ… AudiobookSessionManagerErrorMappingTests 6 6 0 38ms
โœ… AudiobookSessionManagerFlagGatePresentationTests 4 4 0 60ms
โœ… AudiobookSessionManagerPresenterMigrationTests 8 8 0 271ms
โœ… AudiobookSessionManagerShutdownTests 8 8 0 91ms
โœ… AudiobookSessionPresenterTests 16 16 0 817ms
โœ… AudiobookSessionStateTests 6 6 0 44ms
โœ… AudiobookSessionStateTransitionTests 18 18 0 27.28s
โœ… AudiobookSleepTimerIntegrationTests 5 5 0 276ms
โœ… AudiobookStorageLocationTests 3 3 0 31ms
โœ… AudiobookTOCTests 18 18 0 449ms
โœ… AudiobookTimeEntryTests 6 6 0 46ms
โœ… AudiobookTimeTrackerEdgeTests 8 8 0 165ms
โœ… AudiobookTimeTrackerLifecycleTests 5 5 0 1.16s
โœ… AudiobookTimeTrackerTests 9 9 0 187ms
โœ… AudiobookTrackCompletionTests 2 2 0 166ms
โœ… AudiobookTypeRoutingTests 5 5 0 36ms
โœ… AudiobookVendorAdapterTests 5 5 0 48ms
โœ… AudiobookVendorRecoveryContractTests 1 1 0 119ms
โœ… AudiobookmarkTests 4 4 0 42ms
โœ… AuthCoordinatorTelemetryTests 5 5 0 49ms
โœ… AuthDecisionEventEmissionTests 7 7 0 36ms
โœ… AuthDocumentContractTests 2 2 0 10ms
โœ… AuthDocumentVariantsContractTests 5 5 0 43ms
โœ… AuthErrorCategoryTests 12 12 0 62ms
โœ… AuthErrorProblemDocSeamTests 6 6 0 82ms
โœ… AuthFlowSecurityTests 3 0 0 94ms
โœ… AuthReducerTests 21 21 0 207ms
โœ… AuthTypeTests 7 7 0 28ms
โœ… AuthenticationTests 16 16 0 116ms
โœ… BackgroundDownloadHandlerTests 28 28 0 753ms
โœ… BackgroundListenerTests 2 2 0 79ms
โœ… BackupExclusionMigrationTests 3 3 0 48ms
โœ… BadgeDefinitionTests 33 33 0 109ms
โœ… BadgeServiceTests 16 16 0 225ms
โœ… BadgesViewModelTests 14 14 0 172ms
โœ… BasicAuthEmptyCredentialTests 4 4 0 12ms
โœ… BearerTokenAdapterTests 5 4 0 89ms
โœ… BearerTokenFulfillFlowTests 4 4 0 41ms
โœ… BearerTokenRefreshTests 4 4 0 14ms
โœ… BearerTokenResponseDetectionTests 7 7 0 32ms
โœ… BeginningPositionPolicyTests 8 8 0 60ms
โœ… BookAvailabilityFormatterTests 18 18 0 108ms
โœ… BookButtonMapperHoldReadyTests 10 10 0 85ms
โœ… BookButtonMapperTests 21 21 0 500ms
โœ… BookButtonMapperViewModelTests 18 18 0 49ms
โœ… BookButtonStateTests 8 8 0 74ms
โœ… BookButtonTypeMetaTests 4 4 0 23ms
โœ… BookButtonTypeTests 13 13 0 96ms
โœ… BookCellModelActionTests 18 18 0 827ms
โœ… BookCellModelCacheInvalidationTests 8 8 0 118ms
โœ… BookCellModelCachePrefetchSafetyTests 9 9 0 370ms
โœ… BookCellModelCacheTests 22 22 0 866ms
โœ… BookCellModelComputedPropertyTests 19 19 0 246ms
โœ… BookCellModelLCPProgressTests 7 7 0 427ms
โœ… BookCellModelOfflineTests 9 9 0 649ms
โœ… BookCellModelRegistryBindingTests 4 4 0 1.67s
โœ… BookCellModelStateTests 16 16 0 691ms
โœ… BookCellModelStreamingHTMLTests 2 2 0 217ms
โœ… BookCellStateComprehensiveTests 14 14 0 97ms
โœ… BookContentResetServiceTests 2 2 0 11ms
โœ… BookDetailLCPContentProgressTests 7 7 0 335ms
โœ… BookDetailMetadataHydrationTests 6 6 0 153ms
โœ… BookDetailViewModelTests 87 87 0 2.56s
โœ… BookFileManagerTests 8 8 0 78ms
โœ… BookListViewAccessibilityTests 9 9 0 39ms
โœ… BookPreviewTests 4 4 0 38ms
โœ… BookRegistryReconciliationTableTests 10 10 0 161ms
โœ… BookRegistryStoreTests 26 26 0 864ms
โœ… BookRegistrySyncReadinessTests 4 3 0 1.14s
โœ… BookRegistrySyncReentrancyTests 4 4 0 212ms
โœ… BookRegistrySyncTests 43 41 0 2.23s
โœ… BookReturnCleverReauthTests 1 1 0 32ms
โœ… BookReturnServiceAuthCoordinatorTests 3 3 0 4.77s
โœ… BookReturnServiceContractTests 5 5 0 243ms
โœ… BookReturnServiceTests 20 20 0 1.16s
โœ… BookSignInRedirectHandlerTests 8 8 0 239ms
โœ… BookStateIntegrationTests 8 8 0 66ms
โœ… BookmarkBusinessLogicExtendedTests 6 6 0 745ms
โœ… BookmarkDeletionLogTests 3 3 0 411ms
โœ… BookmarkDeviceIdMatchingTests 3 3 0 457ms
โœ… BookmarkExistenceTests 4 4 0 633ms
โœ… BookmarkManagerTests 24 24 0 479ms
โœ… BookmarkSortingTests 1 1 0 175ms
โœ… BookmarkSyncTests 3 3 0 429ms
โœ… BorrowAndDownloadIntegrationTests 7 7 0 419ms
โœ… BorrowErrorMessageTests 13 13 0 43ms
โœ… BorrowErrorPresenterTests 6 6 0 554ms
โœ… BorrowOperationAuthCoordinatorTests 6 6 0 4.34s
โœ… BorrowOperationCleverReauthTests 2 2 0 344ms
โœ… BorrowOperationContractTests 6 6 0 479ms
โœ… BorrowOperationStreamingHTMLTests 3 3 0 392ms
โœ… BorrowOperationTests 13 13 0 2.05s
โœ… BorrowOperationTimeoutTests 3 3 0 117ms
โœ… BorrowReducerContractTests 2 2 0 33ms
โœ… BorrowReducerTests 21 21 0 72ms
โœ… BundledRegistrySnapshotTests 5 5 0 1.02s
โœ… ButtonStateTests 16 16 0 151ms
โœ… ButtonStyleTypeTests 2 2 0 33ms
โœ… C64ConversionTests 6 6 0 30ms
โœ… CarPlayAudiobookBridgePresenterMigrationTests 2 2 0 76ms
โœ… CarPlayAuthHelperReadinessTests 3 3 0 574ms
โœ… CarPlayChapterListTests 3 3 0 9ms
โœ… CarPlayIntegrationTests 2 2 0 89ms
โœ… CarPlayLibraryRefreshTests 3 3 0 2.43s
โœ… CarPlayNowPlayingTemplateTests 4 4 0 740ms
โœ… CarPlayOpenAppAlertTests 6 6 0 1.48s
โœ… CarPlayPlaybackErrorTests 8 8 0 30ms
โœ… CarPlayTests 12 12 0 79ms
โœ… CarPlayTimeTrackingTests 3 3 0 89ms
โœ… CatalogAPIDedupeTests 3 3 0 436ms
โœ… CatalogAPIEntryPointTests 1 1 0 5ms
โœ… CatalogAccessibilityTests 8 8 0 25ms
โœ… CatalogCacheKeyAndIsolationTests 12 12 0 425ms
โœ… CatalogCacheMetadataExactBoundaryTests 4 4 0 11ms
โœ… CatalogCacheMetadataTests 21 21 0 101ms
โœ… CatalogFeedModelTests 4 4 0 14ms
โœ… CatalogFilterGroupModelTests 17 17 0 63ms
โœ… CatalogFilterModelTests 17 17 0 102ms
โœ… CatalogFilterServiceTests 29 29 0 111ms
โœ… CatalogFilterTests 1 1 0 7ms
โœ… CatalogLaneAssemblyTests 7 7 0 40ms
โœ… CatalogLaneModelStructTests 18 18 0 394ms
โœ… CatalogLaneModelTests 1 1 0 8ms
โœ… CatalogLaneMoreFilterStateTests 8 8 0 93ms
โœ… CatalogLaneMoreViewModelTests 43 43 0 855ms
โœ… CatalogLaneRowViewAccessibilityTests 11 11 0 229ms
โœ… CatalogLaneSortingTests 5 5 0 148ms
โœ… CatalogLoadIntegrationTests 6 6 0 35ms
โœ… CatalogOPDS2NegotiationTests 12 12 0 188ms
โœ… CatalogPreloaderTests 6 6 0 58ms
โœ… CatalogProblemDocumentTests 6 6 0 51ms
โœ… CatalogRepositoryCoreTests 9 9 0 412ms
โœ… CatalogRepositoryStaleWhileRevalidateTests 12 12 0 339ms
โœ… CatalogRepositoryTests 19 19 0 200ms
โœ… CatalogSearchViewModelRegistryUpdateTests 5 5 0 197ms
โœ… CatalogSearchViewModelTests 67 67 0 7.55s
โœ… CatalogSelectorsTests 2 2 0 8ms
โœ… CatalogSortServiceTests 14 14 0 1.53s
โœ… CatalogStateTests 7 7 0 47ms
โœ… CatalogViewContinueRowsIntegrationTests 3 3 0 177ms
โœ… CatalogViewModelStateMachineTests 10 10 0 140ms
โœ… ChaosFaultInjectionTests 5 5 0 83ms
โœ… ChapterChangeDetectorTests 5 5 0 726ms
โœ… ChapterTOCNormalizerTests 7 7 0 27ms
โœ… CirculationAnalyticsTests 4 4 0 40ms
โœ… ColdStartResumeIntegrationTests 10 10 0 1.04s
โœ… ColorExtensionTests 5 5 0 14ms
โœ… ConcurrentBookStateTests 3 3 0 60ms
โœ… ConcurrentDownloadStateTests 3 3 0 49ms
โœ… ConcurrentTokenRefreshTests 2 2 0 34ms
โœ… ContinueRowSectionTests 6 6 0 61ms
โœ… ContinuousPlaybackTrackingTests 3 3 0 413ms
โœ… CookiePersistenceTests 10 10 0 1.24s
โœ… CrawlStateTests 16 16 0 78ms
โœ… CrawlableFeedAnalysisTests 17 17 0 74ms
โœ… CrawlerFallbackTests 12 12 0 153ms
โœ… CredentialEdgeCaseTests 6 6 0 30ms
โœ… CredentialPrivacyTests 4 4 0 15ms
โœ… CredentialPromptCoordinatorTests 4 4 0 2.22s
โœ… CrossDeviceBookmarkSyncTests 12 12 0 77ms
โœ… CrossDeviceSyncE2ETests 8 8 0 12.62s
โœ… CrossDomain401Tests 8 8 0 95ms
โœ… CrossFormatMappingTests 14 14 0 44ms
โœ… DPLAErrorTests 3 3 0 8ms
โœ… DRMAdversarialTests 4 1 0 96ms
โœ… DRMFulfilledPublicationTests 6 6 0 56ms
โœ… DataBase64Tests 3 3 0 14ms
โœ… DataReceptionComparisonTests 2 2 0 37ms
โœ… DateExtensionTests 9 9 0 34ms
โœ… DateFormattingTests 4 4 0 54ms
โœ… Date_NYPLAdditionsTests 7 7 0 508ms
โœ… DebugSettingsTests 27 27 0 175ms
โœ… DefaultCatalogAPITests 31 31 0 254ms
โœ… DefaultRecentlyReadingServiceTests 12 12 0 91ms
โœ… DeriveInitialStateTests 4 4 0 25ms
โœ… DeveloperSettingsTierTests 4 4 0 19ms
โœ… DeviceLogCollectorGapTests 2 2 0 25.95s
โœ… DeviceLogCollectorTests 9 9 0 3m 43s
โœ… DeviceOrientationTests 7 7 0 23ms
โœ… DeviceSpecificErrorMonitorTests 11 11 0 55ms
โœ… DictionaryExtensionsTests 5 5 0 106ms
โœ… DiskBudgetManagerTests 7 7 0 32ms
โœ… DiskBudgetTests 2 2 0 15ms
โœ… DownloadAlertPresenterTests 8 8 0 332ms
โœ… DownloadAnnouncementServiceTests 12 12 0 589ms
โœ… DownloadAuthRetryHandlerAuthCoordinatorTests 6 6 0 2.60s
โœ… DownloadAuthRetryHandlerTaskLifecycleTests 4 4 0 412ms
โœ… DownloadAuthRetryHandlerTests 17 17 0 2.32s
โœ… DownloadCancellationHandlerTests 7 7 0 317ms
โœ… DownloadCompletionParserTests 9 9 0 146ms
โœ… DownloadCoordinatorIntegrationTests 10 10 0 107ms
โœ… DownloadCoordinatorTests 11 11 0 56ms
โœ… DownloadDiskSpaceTests 2 2 0 6ms
โœ… DownloadErrorInfoTests 3 3 0 14ms
โœ… DownloadErrorRecoveryPolicyTests 11 11 0 110ms
โœ… DownloadErrorRecoveryTests 3 3 0 25ms
โœ… DownloadFreeSpaceExhaustionTests 11 11 0 266ms
โœ… DownloadInfoTests 5 5 0 110ms
โœ… DownloadIntegrityTests 10 10 0 91ms
โœ… DownloadOnlyOnWiFiTests 10 10 0 100ms
โœ… DownloadPersistenceStoreTests 5 5 0 77ms
โœ… DownloadProgressPublisherTests 29 29 0 871ms
โœ… DownloadQueueIntegrationTests 3 3 0 77ms
โœ… DownloadQueueOrchestratorTests 9 9 0 216ms
โœ… DownloadRMSDKHandoffTests 1 1 0 4ms
โœ… DownloadRedirectTests 7 7 0 21ms
โœ… DownloadResumeAfterKillTests 7 7 0 567ms
โœ… DownloadSlotManagementTests 5 5 0 44ms
โœ… DownloadStartCoordinatorContractTests 5 5 0 380ms
โœ… DownloadStartCoordinatorTests 11 11 0 331ms
โœ… DownloadStartDispatcherTests 26 26 0 602ms
โœ… DownloadStateMachineIntegrationTests 15 15 0 79ms
โœ… DownloadStateMachineTests 5 5 0 34ms
โœ… DownloadStateManagerTests 16 16 0 187ms
โœ… DownloadTaskLifecycleServiceTests 9 9 0 263ms
โœ… DownloadThrottlingServiceTests 10 10 0 394ms
โœ… DownloadWatchdogTests 3 3 0 22ms
โœ… EPUBKeyCommandsPP4289Tests 4 4 0 45ms
โœ… EPUBModuleTests 4 4 0 76ms
โœ… EPUBPositionTests 10 10 0 123ms
โœ… EPUBSearchViewModelTests 18 18 0 206ms
โœ… EPUBToolbarToggleTests 11 11 0 36ms
โœ… EmailAddressTests 16 16 0 254ms
โœ… EpubSampleFactoryTests 5 5 0 25ms
โœ… ErrorActivityTrackerTests 12 12 0 64ms
โœ… ErrorDetailTests 12 12 0 53ms
โœ… ErrorDetailViewControllerGapTests 3 3 0 1.14s
โœ… ErrorDetailViewControllerTests 14 14 0 259ms
โœ… ErrorLogExporterTests 5 5 0 59ms
โœ… ExpiredLoanStringsTests 5 5 0 21ms
โœ… FacetEnumTests 3 3 0 11ms
โœ… FacetToolbarAccessibilityTests 5 5 0 21ms
โœ… FacetViewModelLogoDelegateTests 4 4 0 24ms
โœ… FacetViewModelTests 18 18 0 147ms
โœ… FetchManifestWithBearerTokenLCPSafetyTests 1 1 0 25ms
โœ… FetchManifestWithBearerTokenTests 9 9 0 150ms
โœ… FetchOpenAccessManifestLCPSafetyTests 4 4 0 44ms
โœ… FileURLGenerationTests 3 3 0 264ms
โœ… FindawayChapterStatusGuardTests 1 1 0 5ms
โœ… FindawaySavedVsPlayedTests 1 1 0 22ms
โœ… FloatTPPAdditionsTests 5 5 0 19ms
โœ… FocusIndicationTests 7 7 0 95ms
โœ… FontManagerTests 17 17 0 73ms
โœ… ForceResetTests 6 6 0 70ms
โœ… GeneralCacheTests 20 20 0 302ms
โœ… GroupEnumTests 1 1 0 6ms
โœ… HTMLTextViewTests 70 70 0 17.48s
โœ… HalfSheetProgressCueTests 11 11 0 97ms
โœ… HoldNotificationClassificationTests 2 2 0 34ms
โœ… HoldsBadgeCountTests 9 9 0 102ms
โœ… HoldsBookViewModelTests 8 8 0 185ms
โœ… HoldsReducerTests 11 11 0 192ms
โœ… HoldsSyncFailureTests 12 12 0 314ms
โŒ HoldsViewModelTests 23 22 1 2m 3s
โœ… ImageCacheContinuationTests 1 1 0 445ms
โœ… ImageCacheTypeTests 1 1 0 4ms
โœ… ImageLoaderTests 11 11 0 222ms
โœ… IntExtensionsTests 4 4 0 23ms
โœ… IsReaderActiveTrackingModifierTests 4 4 0 141ms
โœ… KeyboardNavigationFKATests 11 11 0 274ms
โœ… KeyboardNavigationHandlerTests 16 16 0 161ms
โœ… KeyboardVoiceOverTests 5 5 0 91ms
โœ… LCPAcquisitionPredicateTests 4 4 0 17ms
โœ… LCPAdapterTests 8 8 0 82ms
โœ… LCPAudiobookURLSchemeTests 4 4 0 126ms
โœ… LCPAudiobooksTests 21 21 0 121ms
โœ… LCPBotanCRLGuardTests 5 5 0 25ms
โœ… LCPCharacterizationTests 31 31 0 547ms
โœ… LCPClientTests 8 8 0 46ms
โœ… LCPFulfillmentHandlerTests 18 18 0 502ms
โœ… LCPKeychainMigrationTests 3 3 0 75ms
โœ… LCPLibraryServiceTests 20 20 0 168ms
โœ… LCPLicenseDocumentDetectionTests 5 5 0 23ms
โœ… LCPLicenseFilePathTests 3 3 0 25ms
โœ… LCPOrphanedDownloadRegistryTests 4 4 0 21ms
โœ… LCPPDFAcquisitionPredicateTests 5 5 0 17ms
โœ… LCPPDFDiskExtractTests 5 5 0 46ms
โœ… LCPPDFOpenProgressTests 13 13 0 165ms
โœ… LCPPassphraseReadinessTests 2 2 0 49ms
โœ… LCPSessionIdentifierTests 3 3 0 14ms
โœ… LegacySAMLProblemDocumentPropagationTests 7 7 0 1.09s
โœ… LibrariesSectionViewModelTests 11 11 0 110ms
โœ… LibraryCatalogMergerTests 9 9 0 43ms
โœ… LibraryRegistryCrawlerTests 14 14 0 258ms
โœ… LicensesServiceTests 4 4 0 33ms
โœ… LiveCrawlableParsingTest 4 0 0 33ms
โœ… LocalBookContentServiceTests 24 24 0 306ms
โœ… LocalFileAdapterTests 6 5 0 82ms
โœ… LogTests 14 14 0 363ms
โœ… LoginKeyboardTests 8 8 0 43ms
โœ… MainActorHelpersTests 22 22 0 634ms
โœ… ManifestFixtureTests 2 2 0 24ms
โœ… MappedCatalogBridgeTests 3 3 0 9ms
โœ… MappedCatalogModelTests 11 11 0 730ms
โœ… MockBackendExpiredCredentialsTests 3 3 0 89ms
โœ… MockBackendIntegrationTests 4 4 0 249ms
โœ… MockBackendLoanLimitTests 2 2 0 60ms
โœ… MockBackendRouteMatchingTests 4 4 0 322ms
โœ… MockBackendServerDownTests 1 1 0 93ms
โœ… MockIsolationLintTests 5 5 0 1.84s
โœ… MultiLibraryTokenIsolationTests 14 14 0 284ms
โœ… MyBooksDownloadCenterAccountIdThreadingTests 6 6 0 153ms
โœ… MyBooksDownloadCenterAdeptGapTests 3 3 0 569ms
โœ… MyBooksDownloadCenterConcurrencyTests 21 21 0 490ms
โœ… MyBooksDownloadCenterEvictionTests 7 7 0 115ms
โœ… MyBooksDownloadCenterOfflineTests 8 8 0 701ms
โœ… MyBooksDownloadCenterProgressPublishingTests 2 2 0 327ms
โœ… MyBooksDownloadSessionInvalidationTests 3 3 0 19ms
โœ… MyBooksSimplifiedBearerTokenTests 17 17 0 99ms
โœ… MyBooksViewModelBooksPublisherTests 3 3 0 87ms
โœ… MyBooksViewModelConcurrencyTests 4 4 0 59ms
โœ… MyBooksViewModelDownloadStateTests 3 3 0 40ms
โœ… MyBooksViewModelEmptyArrayTests 3 3 0 12ms
โœ… MyBooksViewModelEmptyStateTests 4 4 0 59ms
โœ… MyBooksViewModelExtendedTests 15 15 0 181ms
โœ… MyBooksViewModelFacetIntegrationTests 4 4 0 40ms
โœ… MyBooksViewModelFacetPublisherTests 3 3 0 249ms
โœ… MyBooksViewModelFilterSortInteractionTests 2 2 0 30ms
โœ… MyBooksViewModelFilterTests 9 9 0 75ms
โœ… MyBooksViewModelGuardConditionsTests 2 2 0 34ms
โœ… MyBooksViewModelLargeDatasetTests 2 2 0 591ms
โœ… MyBooksViewModelLoadAccountTests 2 2 0 526ms
โœ… MyBooksViewModelLoginStateTests 4 4 0 359ms
โœ… MyBooksViewModelMultipleAuthorSortingTests 3 3 0 26ms
โœ… MyBooksViewModelNotificationTests 4 4 0 359ms
โœ… MyBooksViewModelOfflineFilteringTests 3 3 0 37ms
โœ… MyBooksViewModelPublisherTests 7 7 0 1.39s
โœ… MyBooksViewModelSearchEdgeCaseTests 6 6 0 60ms
โœ… MyBooksViewModelSearchQueryTests 3 3 0 39ms
โœ… MyBooksViewModelSortPersistenceTests 3 3 0 150ms
โœ… MyBooksViewModelSortingIntegrationTests 5 5 0 49ms
โœ… MyBooksViewModelSortingTests 6 6 0 64ms
โœ… MyBooksViewModelStateTransitionTests 3 3 0 890ms
โœ… MyBooksViewModelUIBindingTests 3 3 0 205ms
โœ… NSErrorAdditionsTests 7 7 0 803ms
โœ… NSNotificationTPPTests 3 3 0 11ms
โœ… NavigationCoordinatorTests 17 17 0 52ms
โœ… NavigationFreezePreventionTests 5 5 0 14ms
โœ… NetworkExecutorCredentialGuardTests 8 8 0 118ms
โœ… NetworkExecutorResponseRegressionTests 4 4 0 82ms
โœ… NetworkExecutorTaskTypeTests 3 3 0 112ms
โœ… NetworkOfflineDetectionTests 3 3 0 14ms
โœ… NetworkQueueTests 11 11 0 132ms
โœ… NetworkRequestQueueTests 2 2 0 10.10s
โœ… NetworkRetryLogicTests 7 7 0 3.69s
โœ… NetworkTimeoutTests 2 2 0 6ms
โœ… NotificationEventTypeContractTests 7 7 0 47ms
โœ… NotificationPayloadContractTests 10 10 0 44ms
โœ… NotificationServiceStateMachineTests 9 9 0 2.40s
โœ… NotificationServiceTests 16 16 0 60ms
โœ… NotificationServiceTokenTests 13 13 0 64ms
โœ… NotificationSyncThrottleTests 5 5 0 16ms
โœ… NotificationTokenDataTests 4 4 0 16ms
โœ… NotificationTokenRegistrationTests 10 10 0 45ms
โœ… NowPlayingCoordinatorBackgroundTests 6 6 0 515ms
โœ… NowPlayingCoordinatorTests 19 19 0 724ms
โœ… OAuthSAMLRedirectRegressionTests 4 4 0 594ms
โœ… OIDCAuthDocumentParsingTests 4 4 0 931ms
โœ… OIDCAuthTypeTests 5 5 0 20ms
โœ… OIDCAuthenticationPropertyTests 8 8 0 812ms
โœ… OIDCCallbackEdgeCaseTests 9 9 0 1.14s
โœ… OIDCCallbackHandlingTests 5 5 0 883ms
โœ… OIDCCallbackSchemeTests 3 3 0 8ms
โœ… OIDCIsolationRegressionTests 6 6 0 744ms
โœ… OIDCLoginRoutingTests 3 3 0 518ms
โœ… OIDCMakeRequestTests 3 3 0 351ms
โœ… OIDCNSCodingTests 1 1 0 143ms
โœ… OIDCNetworkLayer401Tests 5 5 0 610ms
โœ… OIDCReauthOnExpiredTokenTests 5 5 0 549ms
โœ… OIDCRedirectURIConstructionTests 6 6 0 1.40s
โœ… OIDCRegressionTests 9 9 0 1.70s
โœ… OIDCSelectedAuthenticationTests 2 2 0 271ms
โœ… OIDCSignOutRegressionTests 6 6 0 3.10s
โœ… OIDCTokenRefreshRegressionTests 6 6 0 585ms
โœ… OIDCUpdateUserAccountTests 5 5 0 569ms
โœ… OIDCViewModelRegressionTests 1 1 0 112ms
โœ… OIDCViewModelSignInTests 2 2 0 25ms
โœ… OPDS1BorrowEntryContractTests 4 4 0 27ms
โœ… OPDS1CatalogGroupedContractTests 3 3 0 24ms
โœ… OPDS1HoldEntriesContractTests 4 4 0 97ms
โœ… OPDS1LoansFeedContractTests 6 6 0 160ms
โœ… OPDS1ParsingTests 34 34 0 257ms
โœ… OPDS1RevokeResponseContractTests 2 2 0 18ms
โœ… OPDS2AuthenticationDocumentTests 18 18 0 216ms
โœ… OPDS2AvailabilityTests 4 4 0 93ms
โœ… OPDS2BookBridgeTests 44 44 0 187ms
โœ… OPDS2BorrowResponseContractTests 3 3 0 40ms
โœ… OPDS2CatalogWiringTests 21 21 0 212ms
โœ… OPDS2CatalogsFeedTests 3 3 0 374ms
โœ… OPDS2ContributorTests 2 2 0 28ms
โœ… OPDS2EmptyFeedContractTests 1 1 0 5ms
โœ… OPDS2FeedContractTests 4 4 0 45ms
โœ… OPDS2FeedParsingTests 11 11 0 548ms
โœ… OPDS2FeedTests 13 13 0 124ms
โœ… OPDS2FullMetadataTests 4 4 0 17ms
โœ… OPDS2FullPublicationTests 13 13 0 82ms
โœ… OPDS2IntegrationTests 18 18 0 394ms
โœ… OPDS2LinkArrayTests 5 5 0 12ms
โœ… OPDS2LinkComputedPropertyTests 20 20 0 166ms
โœ… OPDS2LinkRelTests 1 1 0 3ms
โœ… OPDS2LinkTests 2 2 0 362ms
โœ… OPDS2ParsingTests 38 38 0 555ms
โœ… OPDS2PublicationExtendedTests 53 53 0 155ms
โœ… OPDS2PublicationImageTests 6 6 0 34ms
โœ… OPDS2PublicationNarratorTests 3 3 0 32ms
โœ… OPDS2PublicationTests 2 2 0 245ms
โœ… OPDS2SamlIDPTests 6 6 0 58ms
โœ… OPDS2SearchResultsContractTests 3 3 0 35ms
โœ… OPDS2SubjectTests 2 2 0 6ms
โœ… OPDS2SupportingTypesTests 5 5 0 48ms
โœ… OPDSAcquisitionPathExpandedTests 15 15 0 566ms
โœ… OPDSFeedCacheTests 14 14 0 98ms
โœ… OPDSFeedMigrationTests 11 11 0 59ms
โœ… OPDSFeedParsingTests 2 2 0 212ms
โœ… OPDSFeedServiceStateMachineTests 3 3 0 534ms
โœ… OPDSFeedServiceTests 2 2 0 10ms
โœ… OPDSFormatTests 13 13 0 323ms
โœ… OPDSParserCoreTests 4 4 0 16ms
โœ… OPDSParserTests 4 4 0 42ms
โœ… OPDSParsingTests 57 57 0 8.88s
โœ… OfflineActionTests 29 29 0 148ms
โœ… OfflineQueueServiceExtendedTests 13 13 0 5.21s
โœ… OfflineQueueServiceTests 17 17 0 7.02s
โœ… OpenAccessAdapterTests 13 13 0 156ms
โœ… OverdriveDeferredFulfillmentTests 6 6 0 22ms
โœ… OverdriveDownloadHandlerTests 9 9 0 204ms
โœ… OverdriveFulfillmentTests 14 13 0 138ms
โœ… PDFExtensionsTests 20 20 0 60ms
โœ… PDFReaderTests 12 12 0 60ms
โœ… PP3596RegressionTests 3 3 0 56ms
โŒ Palace 2 1 1 <1ms
โœ… PalaceCheckPropertyTests 8 8 0 217ms
โœ… PalaceErrorCategoryTests 20 20 0 142ms
โœ… PalaceErrorExtendedTests 23 23 0 75ms
โœ… PalaceErrorTests 11 11 0 57ms
โœ… PalacePDFViewTests 12 12 0 163ms
โœ… PalaceTestSetupObservationTests 4 4 0 297ms
โœ… PalaceWiringTestCaseTests 4 4 0 21ms
โœ… ParserFuzzTests 4 4 0 48.52s
โœ… PatronProfileContractTests 4 4 0 31ms
โœ… PerformanceMonitorTests 14 14 0 158ms
โœ… PerformanceReportTests 14 14 0 88ms
โœ… PersistentLoggerTests 9 9 0 2.54s
โœ… PlaybackBootstrapperTests 8 8 0 415ms
โœ… PlaybackFailureRecordTests 5 5 0 58ms
โœ… PlaybackOpenPolicyTests 7 7 0 25ms
โœ… PlaybackRateTests 16 16 0 115ms
โœ… PlaybackTrackingRegressionTests 5 5 0 156ms
โœ… PositionPersistenceLogicTests 6 6 0 31ms
โœ… PositionPersistenceTests 2 2 0 15ms
โœ… PositionSyncServiceTests 13 13 0 247ms
โœ… PositionSyncTests 5 5 0 14ms
โœ… PositionWriterContractTests 6 6 0 62ms
โœ… PostUpdateMigrationTests 5 5 0 64ms
โœ… ProblemDocumentContractTests 4 4 0 18ms
โœ… ProblemDocumentLoanExpiryTests 5 5 0 29ms
โœ… ProblemDocumentTests 12 12 0 69ms
โœ… ProblemReportEmailTests 13 13 0 160ms
โœ… ReachabilityTests 10 10 0 46ms
โœ… Reader2BookmarkContractTests 3 3 0 65ms
โœ… Reader2PositionAdapterContractTests 4 3 0 365ms
โœ… Reader2PositionResumeContractTests 3 3 0 139ms
โœ… ReaderAccessibilityTests 7 7 0 39ms
โœ… ReaderEditingActionsTests 5 5 0 53ms
โœ… ReaderErrorTests 5 5 0 38ms
โœ… ReaderNavBarVoiceOverTests 2 2 0 9ms
โœ… ReaderServiceSyncTests 3 3 0 206ms
โœ… ReaderThemeTests 24 24 0 108ms
โœ… ReadingPositionTests 22 22 0 1.54s
โœ… ReadingSessionTrackerTests 13 13 0 218ms
โœ… ReadingStatsServiceTests 12 12 0 103ms
โœ… ReadingStatsStoreTests 9 9 0 247ms
โœ… RedirectHandlingIntegrationTests 4 4 0 12ms
โœ… RedirectPolicyTests 9 9 0 108ms
โœ… RegistryFileRecoveryTests 30 30 0 415ms
โœ… RemoteFeatureFlagsGapTests 4 4 0 31ms
โœ… RemoteFeatureFlagsTests 11 11 0 283ms
โœ… ResourcePropertiesLengthTests 3 3 0 12ms
โœ… RetryClassificationTests 17 17 0 271ms
โœ… ReturnFlowTests 1 1 0 4ms
โœ… RightsManagementDetectionTests 5 5 0 89ms
โœ… RightsManagementDispatcherTests 10 10 0 120ms
โœ… RuntimeQuiescenceGateTests 8 8 0 1.35s
โœ… RuntimeQuiescenceLintTests 5 5 0 1.39s
โœ… SAMLCookieSyncTests 5 5 0 18ms
โœ… SAMLLogoutCallbackDetectionTests 4 4 0 10ms
โœ… SAMLLogoutLinkParsingTests 5 5 0 93ms
โœ… SAMLLogoutURLTests 4 4 0 21ms
โœ… SAMLPlusBiblioBoardExpirationTests 8 8 0 865ms
โœ… SEMigrationsTests 6 6 0 427ms
โœ… SafeDictionaryTests 21 21 0 181ms
โœ… SamplePlayerErrorTests 5 5 0 12ms
โœ… SampleTypeTests 8 8 0 74ms
โœ… SceneDelegateTests 1 1 0 2ms
โœ… ScopedResetTests 9 9 0 191ms
โœ… SearchAccessibilityTests 6 6 0 20ms
โœ… SearchFlowIntegrationTests 8 8 0 128ms
โœ… SettingsViewModelComputedPropertyTests 6 6 0 74ms
โœ… SettingsViewModelEdgeCaseTests 7 7 0 59ms
โœ… SettingsViewModelGapTests 1 1 0 5ms
โœ… SettingsViewModelSyncTests 14 14 0 169ms
โœ… SettingsViewModelTests 33 33 0 646ms
โœ… SignInModalLifecycleTests 9 9 0 79ms
โœ… SignInModalPredicateTests 3 3 0 7ms
โœ… SignInModalSAMLOIDCTests 6 6 0 46ms
โœ… SignInOAuthErrorPropagationTests 8 8 0 1.95s
โœ… SignInToReadFlowIntegrationTests 5 5 0 844ms
โœ… SignInWebSheetIntegrationTests 3 3 0 2.86s
โœ… SignInWebSheetViewModelTests 31 31 0 132ms
โœ… SignOutCacheClearingTests 3 3 0 15ms
โœ… SingletonResetRegistryTests 5 5 0 116ms
โœ… StatsViewModelTests 10 10 0 2.52s
โœ… StatusAnnouncementTests 22 22 0 359ms
โœ… StopPositionSaveTests 2 2 0 6ms
โœ… StoreTests 5 5 0 56ms
โœ… StreamingReaderPresentationContractTests 1 1 0 96ms
โœ… StreamingReaderProgressStoreTests 7 7 0 96ms
โœ… StreamingReaderViewControllerScrollRestoreTests 12 12 0 717ms
โœ… StreamingReaderViewModelTests 9 9 0 83ms
โœ… StringExtensionTests 8 8 0 54ms
โœ… StringExtensionsTests 3 3 0 35ms
โœ… StringHTMLEntitiesTests 7 7 0 68ms
โœ… StringNYPLAdditionsTests 4 4 0 15ms
โœ… String_NYPLAdditionsTests 4 4 0 123ms
โœ… SupportSectionDecisionTests 5 5 0 18ms
โœ… SyncConflictResolutionTests 3 3 0 6ms
โœ… SyncDeletionGuardTests 5 5 0 17ms
โœ… SyncDeletionRatioTests 6 6 0 53ms
โœ… SyncPermissionTests 5 5 0 215ms
โœ… TPPAccountAuthStateEnumTests 5 5 0 23ms
โœ… TPPAccountListDataSourceTests 3 3 0 50ms
โœ… TPPAdobeActivationSkipTests 6 6 0 888ms
โœ… TPPAgeCheckCompletionTests 5 5 0 691ms
โœ… TPPAgeCheckIsValidTests 5 5 0 17ms
โœ… TPPAgeCheckStateMachineTests 4 4 0 686ms
โœ… TPPAgeCheckTests 6 6 0 1.60s
โœ… TPPAgeCheckVerifyDecisionTests 5 5 0 1.04s
โœ… TPPAlertUtilsTests 45 45 0 1.24s
โœ… TPPAnnotationsHermeticTests 15 15 0 97ms
โœ… TPPAnnotationsOverrideTests 4 4 0 417ms
โœ… TPPAnnotationsTests 29 29 0 4.53s
โœ… TPPAnnouncementManagerTests 3 3 0 17ms
โœ… TPPAuthDocumentContractTests 3 3 0 23ms
โœ… TPPBackgroundExecutorTests 3 3 0 172ms
โœ… TPPBadgeImageGapTests 2 2 0 50ms
โœ… TPPBaseReaderViewControllerInitialLocationTests 10 10 0 236ms
โœ… TPPBasicAuthTests 11 11 0 33ms
โœ… TPPBookAccessibilityLabelTests 8 8 0 59ms
โœ… TPPBookAuthorCoverageTests 3 3 0 26ms
โœ… TPPBookAuthorTests 6 6 0 16ms
โœ… TPPBookBearerTokenTests 9 8 0 121ms
โœ… TPPBookButtonsStateTests 7 7 0 256ms
โœ… TPPBookContentMetadataFilesHelperTests 9 9 0 58ms
โœ… TPPBookContentTypeConverterStreamingHTMLTests 2 2 0 23ms
โœ… TPPBookContentTypeConverterTests 4 4 0 9ms
โœ… TPPBookContentTypeExtendedTests 4 4 0 17ms
โœ… TPPBookContentTypeTests 14 14 0 29ms
โœ… TPPBookCoverRegistryTests 14 14 0 701ms
โœ… TPPBookCreationTests 7 7 0 96ms
โœ… TPPBookExtensionsTests 21 21 0 154ms
โœ… TPPBookIsDRMProtectedTests 9 9 0 42ms
โœ… TPPBookLocationCoverageTests 7 7 0 67ms
โœ… TPPBookLocationEdgeCaseTests 27 27 0 144ms
โœ… TPPBookLocationKeyTests 3 3 0 9ms
โœ… TPPBookLocationTests 11 11 0 51ms
โœ… TPPBookModelGapTests 4 4 0 42ms
โœ… TPPBookRegistryAsyncReadinessTests 3 3 0 475ms
โœ… TPPBookRegistryAtomicWriteTests 7 7 0 1.13s
โœ… TPPBookRegistryBookRetrievalTests 7 7 0 110ms
โœ… TPPBookRegistryBookmarkTests 7 7 0 116ms
โœ… TPPBookRegistryCorruptedDataTests 5 5 0 87ms
โœ… TPPBookRegistryDataTests 4 4 0 54ms
โœ… TPPBookRegistryDependencyTests 4 4 0 42ms
โœ… TPPBookRegistryFulfillmentIdTests 4 4 0 39ms
โœ… TPPBookRegistryLargeCorpusTests 5 5 0 1m 44s
โœ… TPPBookRegistryLoadReentrancyTests 2 2 0 13ms
โœ… TPPBookRegistryLocationTests 4 4 0 56ms
โœ… TPPBookRegistryMigrationTests 16 16 0 1.76s
โœ… TPPBookRegistryPersistenceTests 10 10 0 4.70s
โœ… TPPBookRegistryProcessingTests 2 2 0 12ms
โœ… TPPBookRegistryPublisherTests 6 6 0 184ms
โœ… TPPBookRegistryRecordPersistenceTests 3 3 0 34ms
โœ… TPPBookRegistryRecordTests 10 10 0 104ms
โœ… TPPBookRegistryStateManagementTests 11 11 0 498ms
โœ… TPPBookRegistryThreadSafetyTests 3 3 0 447ms
โœ… TPPBookRegistryUpdateAndRemoveTests 1 1 0 19ms
โœ… TPPBookRequiresAdobeDRMTests 6 6 0 28ms
โœ… TPPBookSerializationTests 13 13 0 59ms
โœ… TPPBookStateInitializationTests 4 4 0 15ms
โœ… TPPBookStateTests 4 4 0 13ms
โœ… TPPBookTests 98 98 0 623ms
โœ… TPPBookmarkDeletionLogTests 11 11 0 1.22s
โœ… TPPBookmarkFactoryInitTests 2 2 0 12ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests 5 5 0 28ms
โœ… TPPBookmarkFactoryTests 15 15 0 132ms
โœ… TPPBookmarkR3ConversionTests 5 5 0 32ms
โœ… TPPBookmarkR3LocationTests 13 13 0 45ms
โœ… TPPBookmarkSpecTests 1 1 0 23ms
โœ… TPPCachingTests 3 3 0 63ms
โœ… TPPCapturedCredentialsTests 5 5 0 853ms
โœ… TPPConfigurationTests 22 22 0 170ms
โœ… TPPContentTypeTests 9 9 0 19ms
โœ… TPPCredentialConcurrencyTests 3 3 0 43ms
โœ… TPPCredentialIsolationE2ETests 5 0 0 458ms
โœ… TPPCredentialPersistenceTests 6 6 0 807ms
โœ… TPPCredentialSnapshotCoherenceTests 3 0 0 57ms
โœ… TPPCredentialSnapshotTests 8 8 0 17ms
โœ… TPPCredentialsCoverageTests 9 9 0 76ms
โœ… TPPCredentialsTests 26 26 0 127ms
โœ… TPPCrossLibrarySignOutTests 6 6 0 873ms
โœ… TPPDRMFailureCredentialPreservationTests 4 4 0 481ms
โœ… TPPErrorLoggerTests 27 27 0 273ms
โœ… TPPIdleSignOutRegressionTests 13 13 0 1.79s
โœ… TPPJWKConversionTest 1 1 0 32ms
โœ… TPPKeychainManagerTests 5 5 0 66ms
โœ… TPPLastReadPositionPosterTests 13 13 0 406ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests 5 5 0 34ms
โœ… TPPLastReadPositionSynchronizerTests 23 23 0 109ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests 5 5 0 25ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests 9 9 0 37ms
โœ… TPPLastReadPositionSynchronizer_ConcurrencyTests 3 3 0 185ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests 9 9 0 293ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests 10 10 0 51ms
โœ… TPPLastReadPositionSynchronizer_WriterDelegationTests 4 4 0 56ms
โœ… TPPLoginNoActivationTests 3 3 0 649ms
โœ… TPPMainThreadCheckerTests 4 4 0 23ms
โœ… TPPMigrationManagerTests 15 15 0 127ms
โœ… TPPNetworkExecutorAPITests 14 14 0 199ms
โœ… TPPNetworkExecutorStubbedTests 17 17 0 231ms
โœ… TPPNetworkExecutorTests 3 3 0 24ms
โœ… TPPNetworkResponderAuthCoordinatorTests 5 5 0 111ms
โœ… TPPNetworkResponderTests 12 12 0 71ms
โœ… TPPOPDSAcquisitionPathTests 5 5 0 38ms
โœ… TPPOPDSEntryTests 5 5 0 30ms
โœ… TPPOPDSFeedTests 3 3 0 333ms
โœ… TPPOPDSGroupSwiftTests 3 3 0 10ms
โœ… TPPOPDSLinkTests 7 7 0 180ms
โœ… TPPOpenSearchDescriptionExpandedTests 10 10 0 175ms
โœ… TPPOpenSearchDescriptionTests 1 1 0 2ms
โœ… TPPPDFDocumentMetadataTests 15 15 0 156ms
โœ… TPPPDFDocumentTests 8 8 0 30ms
โœ… TPPPDFLocationCoverageTests 7 7 0 62ms
โœ… TPPPDFLocationTests 10 10 0 32ms
โœ… TPPPDFPageBookmarkTests 9 9 0 111ms
โœ… TPPPDFPageTests 5 5 0 21ms
โœ… TPPPDFReaderModeTests 6 6 0 19ms
โœ… TPPPerAccountIsolationTests 8 0 0 339ms
โœ… TPPPreferredAuthSelectionTests 8 8 0 870ms
โœ… TPPProblemDocumentCacheManagerTests 12 12 0 64ms
โœ… TPPProblemDocumentTests 21 21 0 63ms
โœ… TPPReaderAppearanceTests 4 4 0 19ms
โœ… TPPReaderBookmarksBusinessLogicTests 12 12 0 2.52s
โœ… TPPReaderBookmarksReadinessTests 2 2 0 331ms
โœ… TPPReaderFontTests 4 4 0 17ms
โœ… TPPReaderPreferencesLoadTests 3 3 0 18ms
โœ… TPPReaderSettingsTests 28 28 0 245ms
โœ… TPPReaderTOCBusinessLogicTests 15 15 0 3.15s
โœ… TPPReaderTOCFlattenTests 2 2 0 1.02s
โœ… TPPReadiumBookmarkLocationMatchingTests 5 5 0 57ms
โœ… TPPReadiumBookmarkTests 21 21 0 227ms
โœ… TPPReauthenticatorMockTests 2 2 0 8ms
โœ… TPPReauthenticatorTests 4 4 0 194ms
โœ… TPPReturnPromptHelperTests 5 5 0 33ms
โœ… TPPSAMLCookieExpirationTests 7 7 0 47ms
โœ… TPPSAMLFlowTests 10 10 0 271ms
โœ… TPPSAMLReauthFlowTests 2 2 0 260ms
โœ… TPPSAMLRegressionTests 4 4 0 410ms
โœ… TPPSAMLSignInTests 26 26 0 3.43s
โœ… TPPSAMLStateIsolationTests 4 4 0 208ms
โœ… TPPSAMLStateMachineTests 6 6 0 659ms
โœ… TPPSettingsTests 6 6 0 4.47s
โœ… TPPSignInAdobeSkipTests 14 14 0 1.75s
โœ… TPPSignInAuthStateTransitionTests 3 3 0 397ms
โœ… TPPSignInBusinessLogicExtendedTests 58 58 0 6.86s
โœ… TPPSignInBusinessLogicOAuthTests 11 11 0 1.21s
โœ… TPPSignInBusinessLogicSignOutTests 11 11 0 1.77s
โœ… TPPSignInBusinessLogicStateMachineTests 10 10 0 1.70s
โœ… TPPSignInBusinessLogicTests 21 21 0 3.77s
โœ… TPPSignInBusinessLogicTokenFlowTests 3 3 0 362ms
โœ… TPPSignInBusinessLogicValidationCallbackOrderTests 2 2 0 1.40s
โœ… TPPSignInErrorHandlingTests 2 2 0 496ms
โœ… TPPSignInProfileDocEdgeCaseTests 3 3 0 1.22s
โœ… TPPSignedInStateProviderTests 3 3 0 28ms
โœ… TPPUserAccountAuthStateTests 6 6 0 73ms
โœ… TPPUserAccountGapTests 4 4 0 19ms
โœ… TPPUserAccountIsolationLintTests 3 3 0 1.33s
โœ… TPPUserAccountTestFactoryTests 7 0 0 57ms
โœ… TPPUserFriendlyErrorTests 11 11 0 55ms
โœ… TPPUserNotificationsTests 10 10 0 163ms
โœ… TPPXMLSwiftTests 16 16 0 175ms
โœ… TPPXMLTests 3 3 0 11ms
โœ… TearDownRequiredLintTests 5 5 0 2.40s
โœ… TestAppContainerFactoryTests 5 5 0 41ms
โœ… TimeEntryTests 3 3 0 42ms
โœ… TokenRefreshAndRetryQueueTests 9 9 0 6.38s
โœ… TokenRefreshIntegrationTests 2 2 0 141ms
โœ… TokenRefreshInterceptorAuthCoordinatorTests 8 8 0 4.33s
โœ… TokenRefreshInterceptorTests 24 24 0 7.27s
โœ… TokenRefreshOnForegroundTests 10 10 0 2.91s
โœ… TokenRefreshTests 25 25 0 155ms
โœ… TokenRequestCredentialGuardTests 13 13 0 204ms
โœ… TokenRequestTests 11 11 0 411ms
โœ… TokenResponseTests 21 21 0 874ms
โœ… TriageBotKeyAdminTests 4 4 0 10ms
โœ… TypographyPresetTests 21 21 0 204ms
โœ… TypographyServiceTests 31 31 0 1.33s
โœ… TypographySettingsViewModelTests 27 27 0 741ms
โœ… UIAlertCACommitGuardTests 8 8 0 391ms
โœ… UIColor_NYPLAdditionsTests 1 1 0 10ms
โœ… URLBackupExclusionTests 3 3 0 19ms
โœ… URLExtensionTests 16 16 0 132ms
โœ… URLExtensionsTests 6 6 0 26ms
โœ… URLRequestExtensionsCoverageTests 3 3 0 12ms
โœ… URLRequestExtensionsTests 11 11 0 56ms
โœ… URLRequestNYPLAdditionsTests 11 11 0 43ms
โœ… URLRequest_NYPLTests 1 1 0 4ms
โœ… URLResponseAuthenticationTests 10 10 0 31ms
โœ… URLResponseNYPLTests 14 14 0 51ms
โœ… URLSessionCredentialStorageTests 3 3 0 42ms
โœ… URLSessionStubbingResetTests 2 2 0 11ms
โœ… URLTypeTests 2 2 0 33ms
โœ… URLValidationTests 5 5 0 54ms
โœ… UnifiedOPDSServiceStateMachineTests 2 2 0 417ms
โœ… UserAccountPublisherAuthStateTests 5 5 0 76ms
โœ… UserAccountPublisherTests 14 14 0 463ms
โœ… UserAccountValidationTests 11 11 0 1.75s
โœ… UserDefaultsIsolationLintTests 2 2 0 985ms
โœ… UserProfileDocumentTests 7 7 0 75ms
โœ… UserRetryTrackerTests 10 10 0 150ms
โœ… XCTestCase_testUserDefaultsTests 3 3 0 45ms
โœ… iPadOnMacRMSDKGuardTests 7 7 0 24ms

๐Ÿ“ˆ Code Coverage

Target Coverage Lines
Palace.app
47.2%
43291 / 91730

๐Ÿ“‹ All Tests

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