๐Ÿงช Palace iOS Test Report

Generated: 2026-05-07 04:25:53 UTC | Commit: f27c02ed01a5 | Branch: fix/account-details-url-tests-trycrash

โŒ 3 TEST(S) FAILED

5853 tests completed in 7m 6s

5853
Total Tests
5770
Passed
3
Failed
80
Skipped
7m 6s
Duration
42.5%
Coverage

โŒ Failed Tests

โŒ Palace.PalaceTests

Duration: <1ms

โŒ DownloadProgressPublisherCoreTests.testBroadcastUpdate_usesNotificationSender

Duration: 4.14s

โŒ DownloadProgressPublisherCoreTests.testBroadcastUpdate_throttles_rapidCalls

Duration: 4.08s

๐Ÿ“Š Tests by Class

Class Total Passed Failed Duration
โœ… AccessLintComplianceTests 11 11 0 29ms
โœ… AccessibilityAnnouncementCenterTests 20 20 0 1.66s
โœ… AccessibilityLabelTests 9 9 0 25ms
โœ… AccessibilityPreferencesTests 26 26 0 107ms
โœ… AccessibilityServiceTests 11 11 0 54ms
โœ… AccountAuthDocCarryoverTests 5 5 0 972ms
โœ… AccountAwareNetworkTests 10 10 0 199ms
โœ… AccountDetailCredentialStateTests 7 0 0 67ms
โœ… AccountDetailPINVisibilityTests 25 0 0 691ms
โœ… AccountDetailSignOutConfirmationTests 2 0 0 79ms
โœ… AccountDetailViewModelGapTests 1 1 0 113ms
โœ… AccountDetailViewModelTests 19 0 0 168ms
โœ… AccountDetailsURLTests 17 17 0 717ms
โœ… AccountModelGapTests 9 9 0 1.12s
โœ… AccountModelTests 16 16 0 51ms
โœ… AccountProfileDocumentTests 3 3 0 19ms
โœ… AccountSwitchCleanupTests 8 8 0 169ms
โœ… AccountSwitchIntegrationTests 8 8 0 533ms
โœ… AccountsManagerCacheTests 16 16 0 523ms
โœ… AccountsManagerGapTests 3 3 0 13ms
โœ… AccountsManagerHelpersTests 12 12 0 49ms
โœ… AccountsManagerTests 51 51 0 5.87s
โœ… AdobeCertificateGapTests 7 7 0 40ms
โœ… AdobeDRMErrorGapTests 3 3 0 11ms
โœ… AdobeDRMHandlerTests 12 12 0 121ms
โœ… AdobeDRMServiceGapTests 2 2 0 10ms
โœ… AlertModelCoverageTests 6 6 0 11ms
โœ… AlertModelRetryTests 7 7 0 40ms
โœ… AlertModelTests 2 2 0 5ms
โœ… AlertUtilsTests 20 20 0 361ms
โœ… AnnotationContractTests 3 3 0 56ms
โœ… AnnotationDeviceIDTests 2 2 0 6ms
โœ… AnnotationPostResponseContractTests 1 1 0 11ms
โœ… AnnouncementChainTests 5 5 0 23ms
โœ… AnnouncementTests 3 3 0 10ms
โœ… AnonymousBorrowBaselineFixtureTests 13 13 0 69ms
โœ… AnonymousBorrowCandidateFixtureTests 6 6 0 33ms
โœ… AnonymousBorrowDeltaTests 2 2 0 27ms
โœ… AppContainerTests 4 4 0 28ms
โœ… AppHealthViewModelTests 8 8 0 1.33s
โœ… AppLaunchTrackerExtendedTests 16 16 0 454ms
โœ… AppLaunchTrackerTests 10 10 0 1.79s
โœ… AppRouteTests 5 5 0 15ms
โœ… AppTabHostViewBadgeCountTests 10 10 0 60ms
โœ… AppTabRouterCoverageTests 4 4 0 24ms
โœ… AppTabRouterGapTests 3 3 0 21ms
โœ… ArrayExtensionsTests 6 6 0 19ms
โœ… AudioBookmarkGapTests 6 6 0 20ms
โœ… AudioInterruptionLogicTests 6 6 0 22ms
โœ… AudiobookAccessibilityTests 7 7 0 78ms
โœ… AudiobookBackgroundAudioTests 2 2 0 289ms
โœ… AudiobookBookmarkBusinessLogicTests 19 19 0 6.93s
โœ… AudiobookDataManagerEmptyQueueTests 1 1 0 18ms
โœ… AudiobookDataManagerErrorHandlingTests 5 5 0 10.76s
โœ… AudiobookDataManagerModelsTests 20 20 0 111ms
โœ… AudiobookDataManagerNetworkSyncTests 5 5 0 5.16s
โœ… AudiobookDataManagerSaveTests 4 4 0 49ms
โœ… AudiobookDataManagerStoreRecoveryTests 5 5 0 2.13s
โœ… AudiobookFileLoggerTests 9 9 0 71ms
โœ… AudiobookLoadFailureSAMLReauthTests 10 10 0 1.51s
โœ… AudiobookLoaderTests 2 2 0 178ms
โœ… AudiobookNetworkValidationTests 3 3 0 14ms
โœ… AudiobookPhoneAlertContentTests 3 3 0 11ms
โœ… AudiobookPlaybackStateTests 3 3 0 114ms
โœ… AudiobookPlaybackTests 26 26 0 543ms
โœ… AudiobookSAMLReauthTests 6 6 0 54ms
โœ… AudiobookSessionErrorDescriptionTests 4 4 0 11ms
โœ… AudiobookSessionErrorExtTests 4 4 0 151ms
โœ… AudiobookSessionErrorTests 2 2 0 5ms
โœ… AudiobookSessionManagerErrorMappingTests 6 6 0 44ms
โœ… AudiobookSessionManagerTests 3 3 0 53ms
โœ… AudiobookSessionStateTests 6 6 0 46ms
โœ… AudiobookSessionStateTransitionTests 18 18 0 46ms
โœ… AudiobookSleepTimerIntegrationTests 5 5 0 316ms
โœ… AudiobookStorageLocationTests 3 3 0 7ms
โœ… AudiobookTOCTests 18 18 0 509ms
โœ… AudiobookTimeEntryTests 6 6 0 38ms
โœ… AudiobookTimeTrackerEdgeTests 8 8 0 184ms
โœ… AudiobookTimeTrackerLifecycleTests 5 5 0 1.20s
โœ… AudiobookTimeTrackerTests 9 9 0 174ms
โœ… AudiobookTrackCompletionTests 2 2 0 32ms
โœ… AudiobookTypeRoutingTests 5 5 0 81ms
โœ… AudiobookmarkTests 4 4 0 64ms
โœ… AuthDocumentContractTests 2 2 0 22ms
โœ… AuthDocumentVariantsContractTests 5 5 0 40ms
โœ… AuthErrorCategoryTests 12 12 0 168ms
โœ… AuthFlowSecurityTests 3 0 0 26ms
โœ… AuthReducerTests 21 21 0 80ms
โœ… AuthTypeTests 7 7 0 35ms
โœ… AuthenticationTests 16 16 0 45ms
โœ… BackgroundDownloadHandlerTests 28 28 0 177ms
โœ… BackgroundListenerTests 2 2 0 33ms
โœ… BackupExclusionMigrationTests 3 3 0 88ms
โœ… BadgeDefinitionTests 33 33 0 129ms
โœ… BadgeServiceTests 16 16 0 1.01s
โœ… BadgesViewModelTests 14 14 0 109ms
โœ… BasicAuthEmptyCredentialTests 4 4 0 10ms
โœ… BearerTokenFulfillFlowTests 4 4 0 34ms
โœ… BearerTokenRefreshTests 4 4 0 13ms
โœ… BearerTokenResponseDetectionTests 7 7 0 45ms
โœ… BookAvailabilityFormatterTests 18 18 0 115ms
โœ… BookButtonMapperHoldReadyTests 10 10 0 58ms
โœ… BookButtonMapperTests 14 14 0 193ms
โœ… BookButtonMapperViewModelTests 18 18 0 58ms
โœ… BookButtonStateTests 8 8 0 56ms
โœ… BookButtonTypeTests 13 13 0 47ms
โœ… BookCellModelActionTests 18 18 0 731ms
โœ… BookCellModelCacheInvalidationTests 8 8 0 139ms
โœ… BookCellModelCachePrefetchSafetyTests 9 9 0 267ms
โœ… BookCellModelCacheTests 22 22 0 590ms
โœ… BookCellModelComputedPropertyTests 19 19 0 611ms
โœ… BookCellModelOfflineTests 9 9 0 293ms
โœ… BookCellModelRegistryBindingTests 4 4 0 272ms
โœ… BookCellModelStateTests 16 16 0 198ms
โœ… BookCellStateComprehensiveTests 14 14 0 73ms
โœ… BookContentResetServiceTests 2 2 0 32ms
โœ… BookDetailMetadataHydrationTests 6 6 0 128ms
โœ… BookDetailViewModelTests 81 81 0 1.30s
โœ… BookFileManagerTests 8 8 0 80ms
โœ… BookPreviewTests 4 4 0 20ms
โœ… BookRegistryStoreTests 26 26 0 657ms
โœ… BookRegistrySyncTests 23 23 0 236ms
โœ… BookReturnServiceTests 8 8 0 1.32s
โœ… BookSignInRedirectHandlerTests 8 8 0 215ms
โœ… BookStateIntegrationTests 8 8 0 60ms
โœ… BookmarkBusinessLogicExtendedTests 6 6 0 712ms
โœ… BookmarkDeletionLogTests 3 3 0 359ms
โœ… BookmarkDeviceIdMatchingTests 3 3 0 445ms
โœ… BookmarkExistenceTests 4 4 0 349ms
โœ… BookmarkManagerTests 24 24 0 1.24s
โœ… BookmarkSortingTests 1 1 0 96ms
โœ… BookmarkSyncTests 3 3 0 302ms
โœ… BorrowErrorMessageTests 13 13 0 40ms
โœ… BorrowErrorPresenterTests 6 6 0 533ms
โœ… BorrowOperationTests 5 5 0 437ms
โœ… BorrowReducerTests 19 19 0 57ms
โœ… ButtonStateTests 16 16 0 142ms
โœ… ButtonStyleTypeTests 2 2 0 38ms
โœ… C64ConversionTests 6 6 0 17ms
โœ… CarPlayChapterListTests 3 3 0 44ms
โœ… CarPlayIntegrationTests 2 2 0 16ms
โœ… CarPlayLibraryRefreshTests 3 3 0 12ms
โœ… CarPlayNowPlayingTemplateTests 4 4 0 528ms
โœ… CarPlayOpenAppAlertTests 4 4 0 16ms
โœ… CarPlayPlaybackErrorTests 8 8 0 34ms
โœ… CarPlayTests 12 12 0 76ms
โœ… CarPlayTimeTrackingTests 3 3 0 1.79s
โœ… CatalogAPIDedupeTests 3 3 0 436ms
โœ… CatalogAPIEntryPointTests 1 1 0 5ms
โœ… CatalogAccessibilityTests 8 8 0 34ms
โœ… CatalogCacheMetadataTests 14 14 0 101ms
โœ… CatalogFeedModelTests 4 4 0 33ms
โœ… CatalogFilterGroupModelTests 17 17 0 111ms
โœ… CatalogFilterModelTests 17 17 0 154ms
โœ… CatalogFilterServiceTests 29 29 0 407ms
โœ… CatalogFilterTests 1 1 0 3ms
โœ… CatalogLaneModelStructTests 18 18 0 401ms
โœ… CatalogLaneModelTests 1 1 0 3ms
โœ… CatalogLaneMoreFilterStateTests 8 8 0 55ms
โœ… CatalogLaneMoreViewModelTests 42 42 0 176ms
โœ… CatalogLaneRowViewAccessibilityTests 11 11 0 95ms
โœ… CatalogLaneSortingTests 4 4 0 475ms
โœ… CatalogLoadIntegrationTests 6 6 0 64ms
โœ… CatalogPreloaderTests 6 6 0 26ms
โœ… CatalogRepositoryCoreTests 9 9 0 462ms
โœ… CatalogRepositoryTests 19 19 0 255ms
โœ… CatalogSearchViewModelRegistryUpdateTests 5 5 0 102ms
โœ… CatalogSearchViewModelTests 59 59 0 6.76s
โœ… CatalogSelectorsTests 2 2 0 9ms
โœ… CatalogSortServiceTests 14 14 0 89ms
โœ… CatalogStateTests 7 7 0 34ms
โœ… CatalogViewModelStateMachineTests 10 10 0 40ms
โœ… ChaosFaultInjectionTests 5 5 0 52ms
โœ… CirculationAnalyticsTests 4 4 0 16ms
โœ… ColorExtensionTests 5 5 0 57ms
โœ… ConcurrentBookStateTests 3 3 0 33ms
โœ… ConcurrentDownloadStateTests 3 3 0 38ms
โœ… ConcurrentTokenRefreshTests 2 2 0 28ms
โœ… ContinuousPlaybackTrackingTests 3 3 0 919ms
โœ… CrawlStateTests 8 8 0 26ms
โœ… CrawlableFeedAnalysisTests 17 17 0 81ms
โœ… CrawlerFallbackTests 12 12 0 101ms
โœ… CredentialEdgeCaseTests 6 6 0 25ms
โœ… CredentialPrivacyTests 4 4 0 37ms
โœ… CredentialPromptCoordinatorTests 4 4 0 368ms
โœ… CrossDeviceBookmarkSyncTests 12 12 0 31ms
โœ… CrossDomain401Tests 8 8 0 142ms
โœ… CrossFormatMappingTests 14 14 0 54ms
โœ… DPLAErrorTests 3 3 0 12ms
โœ… DRMAdversarialTests 4 1 0 47ms
โœ… DRMFulfilledPublicationTests 6 6 0 12ms
โœ… DataBase64Tests 3 3 0 20ms
โœ… DataReceptionComparisonTests 2 2 0 213ms
โœ… DateExtensionTests 9 9 0 24ms
โœ… DateFormattingTests 4 4 0 22ms
โœ… Date_NYPLAdditionsTests 7 7 0 637ms
โœ… DebugSettingsTests 27 27 0 143ms
โœ… DefaultCatalogAPITests 31 31 0 224ms
โœ… DeriveInitialStateTests 4 4 0 27ms
โœ… DeviceLogCollectorGapTests 2 2 0 14.62s
โœ… DeviceLogCollectorTests 9 9 0 49.09s
โœ… DeviceOrientationTests 7 7 0 162ms
โœ… DeviceSpecificErrorMonitorTests 11 11 0 52ms
โœ… DictionaryExtensionsTests 5 5 0 39ms
โœ… DiskBudgetManagerTests 7 7 0 41ms
โœ… DiskBudgetTests 2 2 0 10ms
โœ… DownloadAlertPresenterTests 5 5 0 670ms
โœ… DownloadAnnouncementServiceTests 12 12 0 147ms
โœ… DownloadAuthRetryHandlerTests 8 8 0 752ms
โœ… DownloadCancellationHandlerTests 5 5 0 298ms
โœ… DownloadCompletionParserTests 9 9 0 116ms
โœ… DownloadCoordinatorIntegrationTests 10 10 0 150ms
โœ… DownloadCoordinatorTests 11 11 0 96ms
โœ… DownloadDiskSpaceTests 2 2 0 5ms
โœ… DownloadErrorInfoTests 3 3 0 6ms
โœ… DownloadErrorRecoveryPolicyTests 11 11 0 132ms
โœ… DownloadErrorRecoveryTests 3 3 0 29ms
โœ… DownloadInfoTests 5 5 0 36ms
โœ… DownloadOnlyOnWiFiTests 10 10 0 40ms
โœ… DownloadPersistenceStoreTests 5 5 0 449ms
โŒ DownloadProgressPublisherCoreTests 19 17 2 8.37s
โœ… DownloadProgressPublisherTests 2 2 0 8ms
โœ… DownloadQueueIntegrationTests 3 3 0 74ms
โœ… DownloadQueueOrchestratorTests 9 9 0 190ms
โœ… DownloadRedirectTests 7 7 0 30ms
โœ… DownloadSlotManagementTests 5 5 0 235ms
โœ… DownloadStartCoordinatorTests 9 9 0 329ms
โœ… DownloadStartDispatcherTests 11 11 0 135ms
โœ… DownloadStateMachineIntegrationTests 15 15 0 172ms
โœ… DownloadStateMachineTests 5 5 0 46ms
โœ… DownloadStateManagerTests 13 13 0 175ms
โœ… DownloadTaskLifecycleServiceTests 9 9 0 102ms
โœ… DownloadThrottlingServiceTests 10 10 0 409ms
โœ… DownloadWatchdogTests 3 3 0 335ms
โœ… EPUBModuleTests 4 4 0 26ms
โœ… EPUBPositionTests 8 8 0 43ms
โœ… EPUBSearchViewModelTests 18 18 0 119ms
โœ… EPUBToolbarToggleTests 11 11 0 46ms
โœ… EmailAddressTests 16 16 0 111ms
โœ… EpubSampleFactoryTests 5 5 0 168ms
โœ… ErrorActivityTrackerTests 12 12 0 87ms
โœ… ErrorDetailTests 12 12 0 54ms
โœ… ErrorDetailViewControllerGapTests 3 3 0 360ms
โœ… ErrorDetailViewControllerTests 14 14 0 195ms
โœ… ErrorLogExporterTests 5 5 0 38.13s
โœ… ExpiredLoanStringsTests 5 5 0 38ms
โœ… FacetEnumTests 3 3 0 9ms
โœ… FacetToolbarAccessibilityTests 5 5 0 21ms
โœ… FacetViewModelLogoDelegateTests 4 4 0 120ms
โœ… FacetViewModelTests 18 18 0 97ms
โœ… FetchManifestWithBearerTokenLCPSafetyTests 1 1 0 158ms
โœ… FetchManifestWithBearerTokenTests 9 9 0 314ms
โœ… FetchOpenAccessManifestLCPSafetyTests 4 4 0 16ms
โœ… FileURLGenerationTests 3 3 0 21ms
โœ… FloatTPPAdditionsTests 5 5 0 38ms
โœ… FocusIndicationTests 7 7 0 59ms
โœ… FontManagerTests 17 17 0 126ms
โœ… ForceResetTests 6 6 0 25ms
โœ… GeneralCacheTests 20 20 0 707ms
โœ… GroupEnumTests 1 1 0 11ms
โœ… HTMLTextViewTests 70 70 0 18.92s
โœ… HoldNotificationClassificationTests 2 2 0 11ms
โœ… HoldsBadgeCountTests 9 9 0 79ms
โœ… HoldsBookViewModelTests 8 8 0 83ms
โœ… HoldsReducerTests 11 11 0 104ms
โœ… HoldsSyncFailureTests 10 10 0 1.26s
โœ… HoldsViewModelTests 23 23 0 1.72s
โœ… ImageCacheTypeTests 1 1 0 73ms
โœ… IntExtensionsTests 4 4 0 32ms
โœ… KeyboardNavigationFKATests 11 11 0 68ms
โœ… KeyboardNavigationHandlerTests 16 16 0 209ms
โœ… KeyboardVoiceOverTests 5 5 0 142ms
โœ… LCPAudiobookURLSchemeTests 4 4 0 197ms
โœ… LCPAudiobooksTests 21 21 0 126ms
โœ… LCPFulfillmentHandlerTests 5 5 0 353ms
โœ… LCPLibraryServiceTests 20 20 0 210ms
โœ… LCPLicenseDocumentDetectionTests 5 5 0 78ms
โœ… LCPLicenseFilePathTests 3 3 0 27ms
โœ… LCPOrphanedDownloadRegistryTests 4 4 0 47ms
โœ… LCPPDFManifestTests 3 3 0 15ms
โœ… LCPPDFsTests 13 13 0 495ms
โœ… LCPSessionIdentifierTests 3 3 0 21ms
โœ… LatestAudiobookLocationTests 3 3 0 72ms
โœ… LibraryCatalogMergerTests 9 9 0 23ms
โœ… LibraryRegistryCrawlerTests 8 8 0 75ms
โœ… LicensesServiceTests 4 4 0 25ms
โœ… LiveCrawlableParsingTest 4 0 0 54ms
โœ… LocalBookContentServiceTests 7 7 0 68ms
โœ… LogTests 14 14 0 378ms
โœ… LoginKeyboardTests 8 8 0 44ms
โœ… MainActorHelpersTests 22 22 0 827ms
โœ… MappedCatalogBridgeTests 3 3 0 62ms
โœ… MappedCatalogModelTests 11 11 0 433ms
โœ… MockBackendExpiredCredentialsTests 3 3 0 47ms
โœ… MockBackendIntegrationTests 4 4 0 823ms
โœ… MockBackendLoanLimitTests 2 2 0 57ms
โœ… MockBackendRouteMatchingTests 4 4 0 21ms
โœ… MockBackendServerDownTests 1 1 0 35ms
โœ… MyBooksDownloadCenterAdeptGapTests 3 3 0 49ms
โœ… MyBooksDownloadCenterEvictionTests 7 7 0 150ms
โœ… MyBooksDownloadCenterOfflineTests 5 5 0 334ms
โœ… MyBooksDownloadSessionInvalidationTests 3 3 0 30ms
โœ… MyBooksSimplifiedBearerTokenTests 17 17 0 106ms
โœ… MyBooksViewModelBooksPublisherTests 3 3 0 44ms
โœ… MyBooksViewModelConcurrencyTests 4 4 0 64ms
โœ… MyBooksViewModelDownloadStateTests 3 3 0 42ms
โœ… MyBooksViewModelEmptyArrayTests 3 3 0 13ms
โœ… MyBooksViewModelEmptyStateTests 4 4 0 61ms
โœ… MyBooksViewModelExtendedTests 15 15 0 180ms
โœ… MyBooksViewModelFacetIntegrationTests 4 4 0 28ms
โœ… MyBooksViewModelFacetPublisherTests 3 3 0 76ms
โœ… MyBooksViewModelFilterSortInteractionTests 2 2 0 20ms
โœ… MyBooksViewModelFilterTests 9 9 0 114ms
โœ… MyBooksViewModelGuardConditionsTests 2 2 0 30ms
โœ… MyBooksViewModelLargeDatasetTests 2 2 0 557ms
โœ… MyBooksViewModelLoadAccountTests 2 2 0 390ms
โœ… MyBooksViewModelLoginStateTests 4 4 0 1.61s
โœ… MyBooksViewModelMultipleAuthorSortingTests 3 3 0 43ms
โœ… MyBooksViewModelNotificationTests 4 4 0 348ms
โœ… MyBooksViewModelOfflineFilteringTests 3 3 0 21ms
โœ… MyBooksViewModelPublisherTests 7 7 0 222ms
โœ… MyBooksViewModelSearchEdgeCaseTests 6 6 0 98ms
โœ… MyBooksViewModelSearchQueryTests 3 3 0 32ms
โœ… MyBooksViewModelSortPersistenceTests 3 3 0 34ms
โœ… MyBooksViewModelSortingIntegrationTests 5 5 0 73ms
โœ… MyBooksViewModelSortingTests 6 6 0 336ms
โœ… MyBooksViewModelStateTransitionTests 3 3 0 2.05s
โœ… MyBooksViewModelUIBindingTests 3 3 0 20ms
โœ… NSErrorAdditionsTests 7 7 0 15ms
โœ… NSNotificationTPPTests 3 3 0 14ms
โœ… NavigationCoordinatorTests 17 17 0 183ms
โœ… NavigationFreezePreventionTests 5 5 0 54ms
โœ… NetworkExecutorCredentialGuardTests 8 8 0 485ms
โœ… NetworkExecutorResponseRegressionTests 4 4 0 116ms
โœ… NetworkExecutorTaskTypeTests 3 3 0 59ms
โœ… NetworkOfflineDetectionTests 3 3 0 27ms
โœ… NetworkQueueTests 11 11 0 73ms
โœ… NetworkRequestQueueTests 2 2 0 598ms
โœ… NetworkRetryLogicTests 7 7 0 42ms
โœ… NetworkTimeoutTests 2 2 0 13ms
โœ… NotificationEventTypeContractTests 7 7 0 29ms
โœ… NotificationPayloadContractTests 10 10 0 33ms
โœ… NotificationServiceTests 16 16 0 58ms
โœ… NotificationServiceTokenTests 9 9 0 47ms
โœ… NotificationSyncThrottleTests 5 5 0 50ms
โœ… NotificationTokenDataTests 4 4 0 41ms
โœ… NotificationTokenRegistrationTests 10 10 0 39ms
โœ… NowPlayingCoordinatorTests 19 19 0 2.45s
โœ… OAuthSAMLRedirectRegressionTests 4 4 0 669ms
โœ… OIDCAuthDocumentParsingTests 4 4 0 344ms
โœ… OIDCAuthTypeTests 5 5 0 16ms
โœ… OIDCAuthenticationPropertyTests 8 8 0 1.01s
โœ… OIDCCallbackEdgeCaseTests 9 9 0 1.19s
โœ… OIDCCallbackHandlingTests 5 5 0 650ms
โœ… OIDCCallbackSchemeTests 3 3 0 13ms
โœ… OIDCIsolationRegressionTests 6 6 0 583ms
โœ… OIDCLoginRoutingTests 3 3 0 451ms
โœ… OIDCMakeRequestTests 3 3 0 355ms
โœ… OIDCNSCodingTests 1 1 0 159ms
โœ… OIDCNetworkLayer401Tests 5 5 0 852ms
โœ… OIDCReauthOnExpiredTokenTests 5 5 0 706ms
โœ… OIDCRedirectURIConstructionTests 6 6 0 1.02s
โœ… OIDCRegressionTests 9 9 0 1.29s
โœ… OIDCSelectedAuthenticationTests 2 2 0 284ms
โœ… OIDCSignOutRegressionTests 6 6 0 1.03s
โœ… OIDCTokenRefreshRegressionTests 6 6 0 582ms
โœ… OIDCUpdateUserAccountTests 5 5 0 603ms
โœ… OIDCViewModelRegressionTests 1 1 0 107ms
โœ… OIDCViewModelSignInTests 2 2 0 76ms
โœ… OPDS1BorrowEntryContractTests 4 4 0 25ms
โœ… OPDS1CatalogGroupedContractTests 3 3 0 35ms
โœ… OPDS1HoldEntriesContractTests 4 4 0 22ms
โœ… OPDS1LoansFeedContractTests 6 6 0 53ms
โœ… OPDS1RevokeResponseContractTests 2 2 0 11ms
โœ… OPDS2AuthenticationDocumentTests 18 18 0 113ms
โœ… OPDS2AvailabilityTests 4 4 0 6ms
โœ… OPDS2BookBridgeTests 44 44 0 445ms
โœ… OPDS2BorrowResponseContractTests 3 3 0 14ms
โœ… OPDS2CatalogWiringTests 17 17 0 145ms
โœ… OPDS2CatalogsFeedTests 3 3 0 380ms
โœ… OPDS2ContributorTests 2 2 0 4ms
โœ… OPDS2EmptyFeedContractTests 1 1 0 12ms
โœ… OPDS2FeedContractTests 4 4 0 34ms
โœ… OPDS2FeedParsingTests 11 11 0 533ms
โœ… OPDS2FeedTests 13 13 0 116ms
โœ… OPDS2FullMetadataTests 4 4 0 29ms
โœ… OPDS2FullPublicationTests 13 13 0 52ms
โœ… OPDS2IntegrationTests 18 18 0 225ms
โœ… OPDS2LinkArrayTests 5 5 0 37ms
โœ… OPDS2LinkComputedPropertyTests 20 20 0 76ms
โœ… OPDS2LinkRelTests 1 1 0 8ms
โœ… OPDS2LinkTests 2 2 0 362ms
โœ… OPDS2PublicationExtendedTests 46 46 0 438ms
โœ… OPDS2PublicationImageTests 6 6 0 15ms
โœ… OPDS2PublicationNarratorTests 3 3 0 33ms
โœ… OPDS2PublicationTests 2 2 0 15.60s
โœ… OPDS2SamlIDPTests 6 6 0 22ms
โœ… OPDS2SearchResultsContractTests 3 3 0 27ms
โœ… OPDS2SubjectTests 2 2 0 119ms
โœ… OPDS2SupportingTypesTests 5 5 0 31ms
โœ… OPDSAcquisitionPathExpandedTests 15 15 0 555ms
โœ… OPDSFeedCacheTests 14 14 0 79ms
โœ… OPDSFeedMigrationTests 11 11 0 90ms
โœ… OPDSFeedParsingTests 2 2 0 219ms
โœ… OPDSFeedServiceTests 2 2 0 12ms
โœ… OPDSFormatTests 13 13 0 43ms
โœ… OPDSParserCoreTests 4 4 0 16ms
โœ… OPDSParserTests 4 4 0 9ms
โœ… OPDSParsingTests 54 54 0 6.07s
โœ… OfflineActionTests 29 29 0 2.82s
โœ… OfflineQueueServiceExtendedTests 13 13 0 5.19s
โœ… OfflineQueueServiceTests 17 17 0 7.10s
โœ… OverdriveDeferredFulfillmentTests 6 6 0 77ms
โœ… OverdriveDownloadHandlerTests 9 9 0 208ms
โœ… PDFExtensionsTests 20 20 0 140ms
โœ… PDFReaderTests 12 12 0 53ms
โœ… PP3596RegressionTests 3 3 0 60ms
โŒ Palace 2 1 1 <1ms
โœ… PalaceCheckPropertyTests 8 8 0 215ms
โœ… PalaceErrorCategoryTests 17 17 0 209ms
โœ… PalaceErrorExtendedTests 23 23 0 135ms
โœ… PalaceErrorTests 11 11 0 51ms
โœ… ParserFuzzTests 4 4 0 53.45s
โœ… PatronProfileContractTests 4 4 0 45ms
โœ… PerformanceMonitorTests 14 14 0 127ms
โœ… PerformanceReportTests 14 14 0 89ms
โœ… PersistentLoggerTests 7 7 0 70ms
โœ… PlaybackBootstrapperTests 8 8 0 33ms
โœ… PlaybackRateTests 14 14 0 164ms
โœ… PlaybackTrackingRegressionTests 5 5 0 372ms
โœ… PositionPersistenceLogicTests 6 6 0 14ms
โœ… PositionPersistenceTests 2 2 0 24ms
โœ… PositionSyncServiceTests 13 13 0 141ms
โœ… PositionSyncTests 5 5 0 22ms
โœ… PositionThrottlingTests 1 1 0 6ms
โœ… PostUpdateMigrationTests 5 5 0 57ms
โœ… ProblemDocumentContractTests 4 4 0 16ms
โœ… ProblemDocumentLoanExpiryTests 5 5 0 54ms
โœ… ProblemDocumentTests 12 12 0 31ms
โœ… ProblemReportEmailTests 8 8 0 102ms
โœ… ReachabilityTests 2 2 0 12ms
โœ… ReaderAccessibilityTests 7 7 0 18ms
โœ… ReaderErrorTests 5 5 0 9ms
โœ… ReaderServiceSyncTests 3 3 0 95ms
โœ… ReaderThemeTests 24 24 0 251ms
โœ… ReadingPositionTests 22 22 0 54ms
โœ… ReadingSessionTrackerTests 13 13 0 278ms
โœ… ReadingStatsServiceTests 12 12 0 322ms
โœ… ReadingStatsStoreTests 9 9 0 100ms
โœ… RedirectHandlingIntegrationTests 4 4 0 22ms
โœ… RedirectPolicyTests 9 9 0 205ms
โœ… RemoteFeatureFlagsGapTests 4 4 0 120ms
โœ… RemoteFeatureFlagsTests 13 13 0 86ms
โœ… RetryClassificationTests 17 17 0 34ms
โœ… ReturnFlowTests 1 1 0 3ms
โœ… RightsManagementDetectionTests 5 5 0 14ms
โœ… RightsManagementDispatcherTests 10 10 0 141ms
โœ… SAMLCookieSyncTests 5 5 0 14ms
โœ… SAMLHelperTests 5 5 0 479ms
โœ… SAMLLogoutCallbackDetectionTests 4 4 0 9ms
โœ… SAMLLogoutLinkParsingTests 5 5 0 132ms
โœ… SAMLLogoutURLTests 4 4 0 13ms
โœ… SAMLPlusBiblioBoardExpirationTests 8 8 0 793ms
โœ… SEMigrationsTests 6 6 0 144ms
โœ… SafeDictionaryTests 21 21 0 177ms
โœ… SamplePlayerErrorTests 5 5 0 13ms
โœ… SampleTypeTests 8 8 0 27ms
โœ… SceneDelegateTests 1 1 0 2ms
โœ… SearchAccessibilityTests 6 6 0 21ms
โœ… SearchFlowIntegrationTests 8 8 0 93ms
โœ… SettingsViewModelComputedPropertyTests 6 6 0 22ms
โœ… SettingsViewModelEdgeCaseTests 7 7 0 29ms
โœ… SettingsViewModelGapTests 1 1 0 7ms
โœ… SettingsViewModelSyncTests 14 14 0 63ms
โœ… SettingsViewModelTests 33 33 0 4.84s
โœ… SignInModalSAMLOIDCTests 6 6 0 20ms
โœ… SignInWebSheetIntegrationTests 3 3 0 3.11s
โœ… SignInWebSheetViewModelTests 31 31 0 189ms
โœ… SignOutCacheClearingTests 3 3 0 22ms
โœ… StatsViewModelTests 10 10 0 268ms
โœ… StatusAnnouncementTests 22 22 0 100ms
โœ… StopPositionSaveTests 2 2 0 13ms
โœ… StoreTests 5 5 0 41ms
โœ… StringExtensionTests 8 8 0 906ms
โœ… StringExtensionsTests 3 3 0 90ms
โœ… StringHTMLEntitiesTests 7 7 0 36ms
โœ… StringNYPLAdditionsTests 4 4 0 12ms
โœ… String_NYPLAdditionsTests 4 4 0 14ms
โœ… SyncConflictResolutionTests 3 3 0 8ms
โœ… SyncDeletionGuardTests 5 5 0 17ms
โœ… SyncDeletionRatioTests 6 6 0 11ms
โœ… SyncPermissionTests 5 5 0 278ms
โœ… TPPAccountAuthStateEnumTests 5 5 0 23ms
โœ… TPPAccountListDataSourceTests 3 3 0 9ms
โœ… TPPAdobeActivationSkipTests 6 6 0 727ms
โœ… TPPAgeCheckTests 6 6 0 1.97s
โœ… TPPAlertUtilsTests 45 45 0 915ms
โœ… TPPAnnotationsHermeticTests 15 15 0 55ms
โœ… TPPAnnotationsOverrideTests 4 4 0 300ms
โœ… TPPAnnotationsTests 29 29 0 4.36s
โœ… TPPAnnouncementManagerTests 3 3 0 14ms
โœ… TPPAuthDocumentContractTests 3 3 0 34ms
โœ… TPPBackgroundExecutorTests 3 3 0 2.60s
โœ… TPPBadgeImageGapTests 2 2 0 14ms
โœ… TPPBasicAuthTests 11 11 0 56ms
โœ… TPPBookAccessibilityLabelTests 8 8 0 62ms
โœ… TPPBookAuthorCoverageTests 3 3 0 12ms
โœ… TPPBookAuthorTests 6 6 0 44ms
โœ… TPPBookBearerTokenTests 9 8 0 81ms
โœ… TPPBookContentMetadataFilesHelperTests 9 9 0 68ms
โœ… TPPBookContentTypeConverterTests 4 4 0 7ms
โœ… TPPBookContentTypeExtendedTests 4 4 0 8ms
โœ… TPPBookContentTypeTests 14 14 0 82ms
โœ… TPPBookCoverRegistryTests 14 14 0 593ms
โœ… TPPBookCreationTests 7 7 0 77ms
โœ… TPPBookExtensionsTests 21 21 0 84ms
โœ… TPPBookLocationCoverageTests 7 7 0 19ms
โœ… TPPBookLocationEdgeCaseTests 27 27 0 76ms
โœ… TPPBookLocationKeyTests 3 3 0 14ms
โœ… TPPBookLocationTests 11 11 0 67ms
โœ… TPPBookModelGapTests 4 4 0 40ms
โœ… TPPBookRegistryBookRetrievalTests 7 7 0 104ms
โœ… TPPBookRegistryBookmarkTests 7 7 0 180ms
โœ… TPPBookRegistryCorruptedDataTests 5 5 0 25ms
โœ… TPPBookRegistryDataTests 4 4 0 14ms
โœ… TPPBookRegistryDependencyTests 4 4 0 55ms
โœ… TPPBookRegistryFulfillmentIdTests 4 4 0 21ms
โœ… TPPBookRegistryLoadReentrancyTests 2 2 0 513ms
โœ… TPPBookRegistryLocationTests 4 4 0 105ms
โœ… TPPBookRegistryProcessingTests 2 2 0 4ms
โœ… TPPBookRegistryPublisherTests 6 6 0 168ms
โœ… TPPBookRegistryRecordPersistenceTests 3 3 0 140ms
โœ… TPPBookRegistryRecordTests 10 10 0 117ms
โœ… TPPBookRegistryStateManagementTests 11 11 0 48ms
โœ… TPPBookRegistryThreadSafetyTests 3 3 0 376ms
โœ… TPPBookRegistryUpdateAndRemoveTests 1 1 0 37ms
โœ… TPPBookRequiresAdobeDRMTests 6 6 0 16ms
โœ… TPPBookSerializationTests 13 13 0 76ms
โœ… TPPBookStateInitializationTests 4 4 0 11ms
โœ… TPPBookStateTests 4 4 0 9ms
โœ… TPPBookTests 83 83 0 356ms
โœ… TPPBookmarkDeletionLogTests 11 11 0 143ms
โœ… TPPBookmarkFactoryInitTests 2 2 0 17ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests 5 5 0 34ms
โœ… TPPBookmarkFactoryTests 15 15 0 169ms
โœ… TPPBookmarkR3ConversionTests 5 5 0 36ms
โœ… TPPBookmarkR3LocationTests 13 13 0 51ms
โœ… TPPBookmarkSpecTests 1 1 0 5ms
โœ… TPPCachingTests 3 3 0 17ms
โœ… TPPCapturedCredentialsTests 5 5 0 809ms
โœ… TPPConfigurationTests 22 22 0 141ms
โœ… TPPContentTypeTests 7 7 0 24ms
โœ… TPPCredentialConcurrencyTests 3 3 0 13ms
โœ… TPPCredentialIsolationE2ETests 5 0 0 174ms
โœ… TPPCredentialPersistenceTests 6 6 0 989ms
โœ… TPPCredentialSnapshotCoherenceTests 3 0 0 58ms
โœ… TPPCredentialSnapshotTests 8 8 0 133ms
โœ… TPPCredentialsCoverageTests 9 9 0 45ms
โœ… TPPCredentialsTests 26 26 0 139ms
โœ… TPPCrossLibrarySignOutTests 6 6 0 740ms
โœ… TPPDRMFailureCredentialPreservationTests 4 4 0 511ms
โœ… TPPEncryptedPDFDataProviderTests 3 3 0 30ms
โœ… TPPErrorLoggerTests 27 27 0 269ms
โœ… TPPIdleSignOutRegressionTests 13 13 0 2.70s
โœ… TPPJWKConversionTest 1 1 0 30ms
โœ… TPPKeychainManagerTests 5 5 0 113ms
โœ… TPPLastReadPositionPosterTests 6 6 0 18ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests 5 5 0 70ms
โœ… TPPLastReadPositionSynchronizerTests 23 23 0 116ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests 5 5 0 18ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests 9 9 0 22ms
โœ… TPPLastReadPositionSynchronizer_ConcurrencyTests 3 3 0 32ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests 9 9 0 56ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests 10 10 0 147ms
โœ… TPPLoginNoActivationTests 3 3 0 459ms
โœ… TPPMainThreadCheckerTests 4 4 0 46ms
โœ… TPPMigrationManagerTests 15 15 0 76ms
โœ… TPPNetworkExecutorAPITests 14 14 0 126ms
โœ… TPPNetworkExecutorStubbedTests 17 17 0 1.26s
โœ… TPPNetworkExecutorTests 3 3 0 14ms
โœ… TPPNetworkResponderTests 12 12 0 46ms
โœ… TPPOPDSAcquisitionPathTests 2 2 0 22ms
โœ… TPPOPDSEntryTests 5 5 0 46ms
โœ… TPPOPDSFeedTests 3 3 0 375ms
โœ… TPPOPDSGroupSwiftTests 3 3 0 6ms
โœ… TPPOPDSLinkTests 7 7 0 27ms
โœ… TPPOpenSearchDescriptionExpandedTests 10 10 0 38ms
โœ… TPPOpenSearchDescriptionTests 1 1 0 3ms
โœ… TPPPDFDocumentMetadataTests 15 15 0 147ms
โœ… TPPPDFDocumentTests 13 13 0 158ms
โœ… TPPPDFLocationCoverageTests 7 7 0 171ms
โœ… TPPPDFLocationTests 10 10 0 336ms
โœ… TPPPDFPageBookmarkTests 9 9 0 29ms
โœ… TPPPDFPageTests 5 5 0 16ms
โœ… TPPPDFReaderModeTests 6 6 0 10ms
โœ… TPPPerAccountIsolationTests 8 0 0 272ms
โœ… TPPPreferredAuthSelectionTests 8 8 0 1.09s
โœ… TPPProblemDocumentCacheManagerTests 12 12 0 51ms
โœ… TPPProblemDocumentTests 21 21 0 140ms
โœ… TPPReaderAppearanceTests 4 4 0 13ms
โœ… TPPReaderBookmarksBusinessLogicTests 12 12 0 1.87s
โœ… TPPReaderFontTests 4 4 0 33ms
โœ… TPPReaderPreferencesLoadTests 3 3 0 21ms
โœ… TPPReaderSettingsTests 28 28 0 162ms
โœ… TPPReaderTOCBusinessLogicTests 15 15 0 3.11s
โœ… TPPReaderTOCFlattenTests 2 2 0 1.09s
โœ… TPPReadiumBookmarkLocationMatchingTests 5 5 0 22ms
โœ… TPPReadiumBookmarkTests 18 18 0 92ms
โœ… TPPReauthenticatorMockTests 2 2 0 9ms
โœ… TPPReauthenticatorTests 4 4 0 19ms
โœ… TPPReturnPromptHelperTests 5 5 0 157ms
โœ… TPPSAMLCookieExpirationTests 5 5 0 68ms
โœ… TPPSAMLFlowTests 10 10 0 62ms
โœ… TPPSAMLReauthFlowTests 2 2 0 534ms
โœ… TPPSAMLRegressionTests 4 4 0 393ms
โœ… TPPSAMLSignInTests 26 26 0 2.30s
โœ… TPPSAMLStateIsolationTests 4 4 0 449ms
โœ… TPPSAMLStateMachineTests 6 6 0 741ms
โœ… TPPSettingsTests 6 6 0 120ms
โœ… TPPSignInAdobeSkipTests 14 14 0 4.64s
โœ… TPPSignInAuthStateTransitionTests 3 3 0 759ms
โœ… TPPSignInBusinessLogicExtendedTests 53 53 0 7.62s
โœ… TPPSignInBusinessLogicTests 12 12 0 1.57s
โœ… TPPSignInErrorHandlingTests 2 2 0 270ms
โœ… TPPSignInProfileDocEdgeCaseTests 3 3 0 568ms
โœ… TPPSignedInStateProviderTests 3 3 0 69ms
โœ… TPPUserAccountAuthStateTests 5 5 0 83ms
โœ… TPPUserAccountGapTests 4 4 0 18ms
โœ… TPPUserFriendlyErrorTests 11 11 0 32ms
โœ… TPPUserNotificationsTests 10 10 0 229ms
โœ… TPPXMLSwiftTests 16 16 0 47ms
โœ… TPPXMLTests 3 3 0 16ms
โœ… TimeEntryTests 3 3 0 15ms
โœ… TokenRefreshIntegrationTests 2 2 0 34ms
โœ… TokenRefreshInterceptorTests 22 22 0 5.77s
โœ… TokenRefreshTests 25 25 0 172ms
โœ… TokenRequestCredentialGuardTests 13 13 0 73ms
โœ… TokenRequestTests 9 9 0 102ms
โœ… TokenResponseTests 21 21 0 293ms
โœ… TypographyPresetTests 21 21 0 148ms
โœ… TypographyServiceTests 31 31 0 822ms
โœ… TypographySettingsViewModelTests 27 27 0 535ms
โœ… UIColor_NYPLAdditionsTests 1 1 0 4ms
โœ… URLBackupExclusionTests 3 3 0 12ms
โœ… URLExtensionTests 16 16 0 169ms
โœ… URLExtensionsTests 6 6 0 87ms
โœ… URLRequestExtensionsCoverageTests 3 3 0 5ms
โœ… URLRequestExtensionsTests 11 11 0 39ms
โœ… URLRequestNYPLAdditionsTests 11 11 0 47ms
โœ… URLRequest_NYPLTests 1 1 0 3ms
โœ… URLResponseAuthenticationTests 10 10 0 99ms
โœ… URLResponseNYPLTests 14 14 0 62ms
โœ… URLSessionCredentialStorageTests 3 3 0 185ms
โœ… URLTypeTests 2 2 0 9ms
โœ… URLValidationTests 5 5 0 17ms
โœ… UserAccountPublisherAuthStateTests 5 5 0 40ms
โœ… UserAccountPublisherTests 11 11 0 354ms
โœ… UserAccountValidationTests 11 11 0 1.92s
โœ… UserProfileDocumentTests 7 7 0 57ms
โœ… UserRetryTrackerTests 10 10 0 23ms

๐Ÿ“ˆ Code Coverage

Target Coverage Lines
Palace.app
42.5%
33990 / 79965

๐Ÿ“‹ All Tests

Class Test Duration
โœ… AccessLintComplianceTests testAudiobookLabel_isDescriptive 3ms
โœ… AccessLintComplianceTests testBorrowAnnouncementStrings_areMeaningful 2ms
โœ… AccessLintComplianceTests testDownloadAnnouncementStrings_areMeaningful 2ms
โœ… AccessLintComplianceTests testExpandCollapseButton_labelsRoundTripOnStateFlip 2ms
โœ… AccessLintComplianceTests testPDFToolbarButton_fallbackLabel_isDistinctFromOkLabel 2ms
โœ… AccessLintComplianceTests testRetryAnnouncementStrings_areMeaningful 2ms
โœ… AccessLintComplianceTests testReturnAnnouncementStrings_areMeaningful 2ms
โœ… AccessLintComplianceTests testSearchAnnouncementStrings_areMeaningful 6ms
โœ… AccessLintComplianceTests testSortFilterLabels_areDescriptive 2ms
โœ… AccessLintComplianceTests testStatusAnnouncement_actionFailed_combinesTitleAndMessage 3ms
โœ… AccessLintComplianceTests testStatusAnnouncement_errorOccurred_passesThrough 5ms
โœ… AccessibilityAnnouncementCenterTests testPP3594_borrowAndReturnAnnouncements_postMessages 8ms
โœ… AccessibilityAnnouncementCenterTests testPP3594_downloadAnnouncements_respectVoiceOverDisabled 313ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_additionalResultsLoaded_announcesCount 4ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_additionalResultsLoaded_zeroCount_doesNotAnnounce 309ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_allAnnouncements_useAnnouncementNotificationType 4ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_announceError_postsMessage 6ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_announceMessage_postsArbitraryMessage 19ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_announceStatus_combinesTitleAndMessage 4ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_deduplication_allowsDifferentMessages 4ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_deduplication_allowsRepeatAfterWindowExpires 7ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_deduplication_crossMethod_sameText 7ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_deduplication_rapidFireSameMessage_onlyOneAnnouncement 3ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_deduplication_suppressesDuplicateWithinWindow 11ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_emptyMessage_isNotPosted 310ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_errorAnnouncements_respectVoiceOverDisabled 307ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_searchAnnouncements_respectVoiceOverDisabled 317ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_searchFailed_announcesFailure 3ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_searchNoResults_announcesNoResults 4ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_searchRerun_announcesUpdatedResults 8ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_searchResults_announcesResultCountAndQuery 6ms
โœ… AccessibilityLabelTests testAccessibilityStrings_areNotEmpty 2ms
โœ… AccessibilityLabelTests testAccessibilityStrings_formatStringsWork 4ms
โœ… AccessibilityLabelTests testBookmarkLabels_existAndAreDifferent 3ms
โœ… AccessibilityLabelTests testChapterNavigationLabels_exist 4ms
โœ… AccessibilityLabelTests testExistingAccessibilityStrings_areNotEmpty 2ms
โœ… AccessibilityLabelTests testExpandCollapseLabels_areDifferent 2ms
โœ… AccessibilityLabelTests testFilterButtonLabel_changesWithCount 2ms
โœ… AccessibilityLabelTests testPlayPauseLabels_areDifferent 2ms
โœ… AccessibilityLabelTests testSortButtonLabel_changesWithSortOption 5ms
โœ… AccessibilityPreferencesTests testButtonShapesEnabled_WhenEnabled_RoundTripsThroughCodable 12ms
โœ… AccessibilityPreferencesTests testCodableRoundTrip_CustomPreferences 2ms
โœ… AccessibilityPreferencesTests testCodableRoundTrip_DefaultPreferences 2ms
โœ… AccessibilityPreferencesTests testCustomRotorActionsEnabled_Toggle 2ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_ButtonShapesOff 2ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_CustomRotorEnabled 2ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_HapticFeedbackOn 2ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_HasStandardVerbosity 1ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_HighContrastOff 2ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_ReducedMotionOff 2ms
โœ… AccessibilityPreferencesTests testEquatable_DifferentValues 2ms
โœ… AccessibilityPreferencesTests testEquatable_SameValues 2ms
โœ… AccessibilityPreferencesTests testHapticFeedbackEnabled_Toggle 2ms
โœ… AccessibilityPreferencesTests testHighContrastBoost_WhenEnabled_MakesPrefsUnequalToDefault 2ms
โœ… AccessibilityPreferencesTests testPersistence_NoSavedData_ReturnsNil 4ms
โœ… AccessibilityPreferencesTests testPersistence_SaveAndLoad 5ms
โœ… AccessibilityPreferencesTests testReducedMotion_WhenEnabled_RoundTripsThroughCodable 46ms
โœ… AccessibilityPreferencesTests testStorageKey_IsCorrect 2ms
โœ… AccessibilityPreferencesTests testVerbosityMinimal_Description 2ms
โœ… AccessibilityPreferencesTests testVerbosityMinimal_DisplayName 2ms
โœ… AccessibilityPreferencesTests testVerbosityStandard_Description 2ms
โœ… AccessibilityPreferencesTests testVerbosityStandard_DisplayName 2ms
โœ… AccessibilityPreferencesTests testVerbosityVerbose_Description 2ms
โœ… AccessibilityPreferencesTests testVerbosityVerbose_DisplayName 2ms
โœ… AccessibilityPreferencesTests testVerbosity_AllCases 2ms
โœ… AccessibilityPreferencesTests testVerbosity_CodableRoundTrip 2ms
โœ… AccessibilityServiceTests testAccessibilityPreferencesCodable 4ms
โœ… AccessibilityServiceTests testDefaultPreferences 2ms
โœ… AccessibilityServiceTests testHapticDisabledWhenPreferenceOff 4ms
โœ… AccessibilityServiceTests testHapticDisabledWithReducedMotion 5ms
โœ… AccessibilityServiceTests testHighContrastEffective 5ms
โœ… AccessibilityServiceTests testPreferencesPersistAcrossInstances 5ms
โœ… AccessibilityServiceTests testPreferencesPublisher 5ms
โœ… AccessibilityServiceTests testReducedMotionEffective 14ms
โœ… AccessibilityServiceTests testUpdatePreferences 4ms
โœ… AccessibilityServiceTests testVerbosityDescriptions 3ms
โœ… AccessibilityServiceTests testVerbosityDisplayNames 2ms
โœ… AccountAuthDocCarryoverTests testAccount_authenticationDocumentDidSet_createsDetails 152ms
โœ… AccountAuthDocCarryoverTests testAccount_detailsPreserved_whenAuthDocCopiedToNewAccount 148ms
โœ… AccountAuthDocCarryoverTests testAccount_detailsSyncPermission_defaultsToTrue 143ms
โœ… AccountAuthDocCarryoverTests testAccount_multipleAccountsCarryover_matchesByUUID 380ms
โœ… AccountAuthDocCarryoverTests testAccount_replacementWithoutCarryover_losesDetails 150ms
โœ… AccountAwareNetworkTests testCancelNonEssentialTasks_CancelsActiveTasks 32ms
โœ… AccountAwareNetworkTests testCancelNonEssentialTasks_DoesNotCrash_andLeavesExecutorFullyUsable 38ms
โœ… AccountAwareNetworkTests testExecuteTokenRefresh_AcceptsAccountId 14ms
โœ… AccountAwareNetworkTests testExecuteTokenRefresh_NilAccountId_BackwardCompatible 28ms
โœ… AccountAwareNetworkTests testRefreshTokenAndResume_AcceptsAccountIdParameter 13ms
โœ… AccountAwareNetworkTests testRefreshTokenAndResume_DefaultAccountId_BackwardCompatible 11ms
โœ… AccountAwareNetworkTests testRefreshTokenAndResume_NilAccountId_DoesNotCrash 14ms
โœ… AccountAwareNetworkTests testRequest_AccountIdParameter_AcceptsNil 23ms
โœ… AccountAwareNetworkTests testRequest_AccountIdParameter_AcceptsSpecificId 17ms
โœ… AccountAwareNetworkTests testRequest_CapturesCurrentAccountToken 10ms
โŠ˜ AccountDetailCredentialStateTests testIsSignedIn_OAuthRemainsSignedInWhenStateBecomesStale 17ms
โŠ˜ AccountDetailCredentialStateTests testIsSignedIn_SAMLUpdatesWhenStateBecomesStale 21ms
โŠ˜ AccountDetailCredentialStateTests testIsSignedIn_falseWhenSAMLCredentialsStale 5ms
โŠ˜ AccountDetailCredentialStateTests testIsSignedIn_trueWhenLoggedIn 5ms
โŠ˜ AccountDetailCredentialStateTests testIsSignedIn_trueWhenOAuthCredentialsStale 6ms
โŠ˜ AccountDetailCredentialStateTests testIsSignedIn_updatesAfterSAMLReauthentication 9ms
โŠ˜ AccountDetailCredentialStateTests testNeedsReauthentication_trueWhenCredentialsStale 5ms
โŠ˜ AccountDetailPINVisibilityTests testAccountDidChangeViaNotification_ClearsCredentialsOnLogout 43ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicDidCancelSignIn_ClearsLoadingAndSigningOut 20ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicDidCompleteSignIn_ClearsLoadingAndSigningOut 22ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicDidFinishDeauthorizing_ClearsLoadingAndSigningOut 21ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicDidReceiveCredentials_SetsLoadingTrue 46ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicSignOutError_401ShowsUnexpectedCredentialsAlert 28ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicSignOutError_WithErrorUsesLocalizedDescription 33ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicValidationError_CancelledErrorClearsPin 22ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicValidationError_ShowsAlertAndClearsLoading 27ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicWillSignIn_NonOAuth_SetsLoadingTrueAndClearsSigningOut 23ms
โŠ˜ AccountDetailPINVisibilityTests testBusinessLogicWillSignOut_SetsLoadingAndSigningOut 24ms
โŠ˜ AccountDetailPINVisibilityTests testCellType_HashableInSet 26ms
โŠ˜ AccountDetailPINVisibilityTests testCellType_InfoHeaderEqualityByText 28ms
โŠ˜ AccountDetailPINVisibilityTests testCellType_SimpleCasesEqual 21ms
โŠ˜ AccountDetailPINVisibilityTests testContext_ReturnsSettingsTab 27ms
โŠ˜ AccountDetailPINVisibilityTests testLibraryLogo_MatchesSelectedAccountLogo 38ms
โŠ˜ AccountDetailPINVisibilityTests testPINVisibility_DefaultsToHidden 24ms
โŠ˜ AccountDetailPINVisibilityTests testPINVisibility_IndependentOfCredentialChanges 21ms
โŠ˜ AccountDetailPINVisibilityTests testPINVisibility_ToggleMultipleTimes 23ms
โŠ˜ AccountDetailPINVisibilityTests testPinComputed_EmptyReturnsEmptyString 38ms
โŠ˜ AccountDetailPINVisibilityTests testRefreshSignInState_ReloadsTableWhenStateChanges 29ms
โŠ˜ AccountDetailPINVisibilityTests testSelectAuthMethod_ClearsIDPAndSetsSelectedAuth 26ms
โŠ˜ AccountDetailPINVisibilityTests testSignIn_WhenAlreadySignedIn_SetsIsSigningOutTrue 23ms
โŠ˜ AccountDetailPINVisibilityTests testUpdateSync_WritesToAccountDetails 31ms
โŠ˜ AccountDetailPINVisibilityTests testUsernameComputed_EmptyReturnsNil 26ms
โŠ˜ AccountDetailSignOutConfirmationTests testConfirmSignOut_WhenSignedIn_DoesNotImmediatelyDeauthorize 63ms
โŠ˜ AccountDetailSignOutConfirmationTests testMakeSignOutConfirmationAlert_HasDestructiveSignOutAndCancelActions 17ms
โœ… AccountDetailViewModelGapTests testAccountDetailViewModel_updateSync_setsPermission 113ms
โŠ˜ AccountDetailViewModelTests testAlertPropertiesUpdate 6ms
โŠ˜ AccountDetailViewModelTests testBusinessLogic_IsInitialized 18ms
โŠ˜ AccountDetailViewModelTests testCanSignInWithBothCredentials 5ms
โŠ˜ AccountDetailViewModelTests testCanSignInWithEmptyCredentials 6ms
โŠ˜ AccountDetailViewModelTests testCanSignInWithOnlyUsername 6ms
โŠ˜ AccountDetailViewModelTests testCanSignIn_WithSpecialCharacters 6ms
โŠ˜ AccountDetailViewModelTests testCanSignIn_WithWhitespaceOnlyUsername 6ms
โŠ˜ AccountDetailViewModelTests testClearCredentials_WorksIndependently 7ms
โŠ˜ AccountDetailViewModelTests testCredentialFields_AreIndependent 5ms
โŠ˜ AccountDetailViewModelTests testInitialPublishedPropertiesState 6ms
โŠ˜ AccountDetailViewModelTests testIsPINHiddenDefaultsToTrue 21ms
โŠ˜ AccountDetailViewModelTests testIsSyncEnabledToggle 5ms
โŠ˜ AccountDetailViewModelTests testLibraryNameReturnsAccountName 28ms
โŠ˜ AccountDetailViewModelTests testMultipleAlerts_CanBeShown 4ms
โŠ˜ AccountDetailViewModelTests testPinTextUpdate 6ms
โŠ˜ AccountDetailViewModelTests testSelectedAccountMatchesInitialized 12ms
โŠ˜ AccountDetailViewModelTests testShowBarcode_WhenEnabled_TriggerObjectWillChange 5ms
โŠ˜ AccountDetailViewModelTests testTogglePINVisibility 7ms
โŠ˜ AccountDetailViewModelTests testUsernameTextUpdate 7ms
โœ… AccountDetailsURLTests testDebugDescription_ReflectsSupportsSimplyESync_WhenUserProfileUrlPresent 452ms
โœ… AccountDetailsURLTests testDefaultAuth_WithOAuthAndBasic_PrefersBasicOverOAuth 7ms
โœ… AccountDetailsURLTests testEulaIsAccepted_DefaultIsFalse 3ms
โœ… AccountDetailsURLTests testEulaIsAccepted_RoundTrips_ThroughUserDefaults 8ms
โœ… AccountDetailsURLTests testGetLicenseURL_AfterSettingMultipleTypes_ReturnsCorrectURLs 10ms
โœ… AccountDetailsURLTests testGetLicenseURL_WhenNotSet_ReturnsNil 25ms
โœ… AccountDetailsURLTests testSetURL_ForAcknowledgements_StoresURL 59ms
โœ… AccountDetailsURLTests testSetURL_ForAnnotations_StoresURL 10ms
โœ… AccountDetailsURLTests testSetURL_ForContentLicenses_StoresURL 24ms
โœ… AccountDetailsURLTests testSetURL_ForEULA_StoresURL 57ms
โœ… AccountDetailsURLTests testSetURL_ForPrivacyPolicy_StoresURL 5ms
โœ… AccountDetailsURLTests testSetURL_OverwritesPreviousURL 11ms
โœ… AccountDetailsURLTests testSetURL_PersistsToUserDefaults 16ms
โœ… AccountDetailsURLTests testSyncPermissionGranted_DefaultIsTrue 5ms
โœ… AccountDetailsURLTests testSyncPermissionGranted_ToggleOffThenOn_PersistsViaUserDefaults 12ms
โœ… AccountDetailsURLTests testUserAboveAgeLimit_DefaultIsFalse 3ms
โœ… AccountDetailsURLTests testUserAboveAgeLimit_RoundTrips_ThroughUserDefaults 10ms
โœ… AccountModelGapTests testAccountDetails_defaultAuth_prefersNonOAuth 100ms
โœ… AccountModelGapTests testAccountDetails_eulaIsAccepted_persistsAcrossObjectRecreation 101ms
โœ… AccountModelGapTests testAccountDetails_initFromAuthDoc_populatesAuthMethods 130ms
โœ… AccountModelGapTests testAccountDetails_setAndGetLicenseURL_roundTrips 125ms
โœ… AccountModelGapTests testAccountDetails_syncPermissionGranted_persistsAcrossObjectRecreation 138ms
โœ… AccountModelGapTests testAccount_hasSupportOption_reflectsSupportAvailability 129ms
โœ… AccountModelGapTests testAccount_initFromPublication_mapsPropertiesCorrectly 99ms
โœ… AccountModelGapTests testAccount_loansUrl_delegatesToDetails 128ms
โœ… AccountModelGapTests testAuthentication_NSCoding_roundTrip 169ms
โœ… AccountModelTests testAccount_DebugDescription_ContainsName 3ms
โœ… AccountModelTests testAccount_InitFromPublication_DefaultLogo_IsPlaceholder 1ms
โœ… AccountModelTests testAccount_InitFromPublication_DetailsAreNil 2ms
โœ… AccountModelTests testAccount_InitFromPublication_HasUpdatedToken_IsFalse 2ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsAuthDocUrl 2ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsCatalogUrl 2ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsHomePageUrl 2ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsName 1ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsSubtitle 2ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsSupportEmail 2ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsSupportURL 6ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsUUID 3ms
โœ… AccountModelTests testLoadAuthenticationDocument_WithNilUrl_CompletesWithFalse 15ms
โœ… AccountModelTests testLoadLogo_WithCachedImage_UsesCachedImage 4ms
โœ… AccountModelTests testLoadLogo_WithNilLogoUrl_DoesNotCrash 2ms
โœ… AccountModelTests testLoansUrl_WhenDetailsNil_ReturnsNil 2ms
โœ… AccountProfileDocumentTests testGetProfileDocument_WhenUserAccountHasNoCredentials_CompletesWithNil_DoesNotFetch 8ms
โœ… AccountProfileDocumentTests testGetProfileDocument_WithDetailsButNilProfileUrl_CompletesWithNil 7ms
โœ… AccountProfileDocumentTests testGetProfileDocument_WithNilDetails_CompletesWithNil 5ms
โœ… AccountSwitchCleanupTests testBookCellModelCache_ClearsOnAccountChange 58ms
โœ… AccountSwitchCleanupTests testCancelNonEssentialTasks_CalledMultipleTimes_ExecutorIdempotent 34ms
โœ… AccountSwitchCleanupTests testCancelNonEssentialTasks_WithNoActiveTasks_ExecutorRemainsUsable 53ms
โœ… AccountSwitchCleanupTests testPauseAllTasks_AfterCancel_ResumeAcceptsNewRequests 11ms
โœ… AccountSwitchCleanupTests testSharedAccount_RapidSwitching_DoesNotCrash 3ms
โœ… AccountSwitchCleanupTests testSharedAccount_SwitchingUUIDs_DoesNotCrash 3ms
โœ… AccountSwitchCleanupTests testSharedAccount_WithNilUUID_DoesNotCrash 2ms
โœ… AccountSwitchCleanupTests testSharedAccount_WithSpecificUUID_DoesNotCrash 4ms
โœ… AccountSwitchIntegrationTests testAccountSwitch_ClearsBookRegistry 9ms
โœ… AccountSwitchIntegrationTests testAccountSwitch_ClearsCachedCredentials 21ms
โœ… AccountSwitchIntegrationTests testAccountSwitch_InvalidatesCatalogCache 317ms
โœ… AccountSwitchIntegrationTests testAccountSwitch_PostsCurrentAccountDidChangeNotification 45ms
โœ… AccountSwitchIntegrationTests testAccountSwitch_StopsPendingNetworkRequests 61ms
โœ… AccountSwitchIntegrationTests testMultipleRapidSwitches_DoNotCorruptRegistry 6ms
โœ… AccountSwitchIntegrationTests testNewAccount_LoadsFreshCatalog 71ms
โœ… AccountSwitchIntegrationTests testSwitchToSameAccount_IsIdempotent 4ms
โœ… AccountsManagerCacheTests testAccountMainFeedURL_NotOverwrittenWithNil_WhenCurrentAccountMissing 108ms
โœ… AccountsManagerCacheTests testCacheDataAndMetadata_AreWrittenTogether 185ms
โœ… AccountsManagerCacheTests testCacheExpiry_OldCacheIsNotUsed 7ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_Codable_EncodesAndDecodes 5ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsExpired_ReturnsFalseJustUnder24Hours 7ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsExpired_ReturnsFalseWhenRecent 2ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsExpired_ReturnsTrueAfter24Hours 2ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsStale_ReturnsFalseJustUnder6Hours 2ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsStale_ReturnsFalseWhenFresh 14ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsStale_ReturnsTrueAfter6Hours 16ms
โœ… AccountsManagerCacheTests testLoadCatalogs_WhenCacheExists_CompletesWithCachedData 137ms
โœ… AccountsManagerCacheTests testLoadCatalogs_WhenCacheExpired_ReturnsNil 6ms
โœ… AccountsManagerCacheTests testLoadCatalogs_WhenCacheStale_ReturnsDataButMarkedStale 7ms
โœ… AccountsManagerCacheTests testNotification_TPPCatalogDidLoad_IsDeliveredToObserver 8ms
โœ… AccountsManagerCacheTests testReadCacheMetadata_ReturnsNilWhenNotExists 3ms
โœ… AccountsManagerCacheTests testWriteAndReadCacheMetadata 13ms
โœ… AccountsManagerGapTests testAccountsManager_accountByUUID_returnsNilForUnknownUUID 9ms
โœ… AccountsManagerGapTests testAccountsManager_currentAccountId_persistsToUserDefaults 3ms
โœ… AccountsManagerGapTests testAccountsManager_tppAccountUUID_isNotEmpty 2ms
โœ… AccountsManagerHelpersTests test_isCacheStale_freshMetadata_returnsFalse 2ms
โœ… AccountsManagerHelpersTests test_isCacheStale_nilMetadata_returnsTrue 4ms
โœ… AccountsManagerHelpersTests test_isCacheStale_serverMaxAgeRespected 2ms
โœ… AccountsManagerHelpersTests test_isCacheStale_staleMetadata_returnsTrue 3ms
โœ… AccountsManagerHelpersTests test_shouldFinishSwitchingImmediately_bothNil_returnsTrue 3ms
โœ… AccountsManagerHelpersTests test_shouldFinishSwitchingImmediately_differentAccounts_returnsFalse 2ms
โœ… AccountsManagerHelpersTests test_shouldFinishSwitchingImmediately_newNilWithExistingPrevious_returnsFalse 3ms
โœ… AccountsManagerHelpersTests test_shouldFinishSwitchingImmediately_previousNil_returnsTrue 4ms
โœ… AccountsManagerHelpersTests test_shouldFinishSwitchingImmediately_sameAccount_returnsTrue 8ms
โœ… AccountsManagerHelpersTests test_shouldPopToRoot_onePath_returnsTrue 2ms
โœ… AccountsManagerHelpersTests test_shouldPopToRoot_threePath_returnsTrue 10ms
โœ… AccountsManagerHelpersTests test_shouldPopToRoot_zeroPath_returnsFalse 5ms
โœ… AccountsManagerTests testAccountChangeNotification_HasCorrectName 94ms
โœ… AccountsManagerTests testAccountDetails_DefaultAuth_ReturnsNonOAuthFirst 135ms
โœ… AccountsManagerTests testAccountDetails_NeedsAgeCheck_WhenCOPPAAuthExists 93ms
โœ… AccountsManagerTests testAccountDetails_SupportsReservations 87ms
โœ… AccountsManagerTests testAccountDetails_SupportsSimplyESync 103ms
โœ… AccountsManagerTests testAccountLookup_FromMultipleThreads_DoesNotCrash 360ms
โœ… AccountsManagerTests testAccount_AuthenticationDocumentUrl_IsValid 92ms
โœ… AccountsManagerTests testAccount_BarcodeAuthentication_IsBasic 93ms
โœ… AccountsManagerTests testAccount_CatalogUrl_IsValid 110ms
โœ… AccountsManagerTests testAccount_HasAuthenticationTypes 94ms
โœ… AccountsManagerTests testAccount_HasRequiredProperties 133ms
โœ… AccountsManagerTests testAccount_OAuthAuthentication_IsOAuth 149ms
โœ… AccountsManagerTests testAccount_SAMLAuthentication_IsSAML 146ms
โœ… AccountsManagerTests testAccount_WithEmptyUUID_ReturnsNil 76ms
โœ… AccountsManagerTests testAccount_WithExistingUUID_ReturnsAccount 111ms
โœ… AccountsManagerTests testAccount_WithNonExistentUUID_CreatesNewAccount 96ms
โœ… AccountsManagerTests testAccount_WithNonExistentUUID_ReturnsNil 96ms
โœ… AccountsManagerTests testAccount_WithValidUUID_ReturnsAccount 168ms
โœ… AccountsManagerTests testAccountsHaveLoaded_IsConsistentWithAccountsQuery 122ms
โœ… AccountsManagerTests testAccountsManager_ConformsToTPPLibraryAccountsProvider 88ms
โœ… AccountsManagerTests testAccountsManager_HasAgeCheck 95ms
โœ… AccountsManagerTests testAccountsManager_HasNYPLAccountUUID 99ms
โœ… AccountsManagerTests testAccountsManager_WithEmptyUUID_ReturnsNil 97ms
โœ… AccountsManagerTests testAccounts_FromMultipleThreads_DoesNotCrash 119ms
โœ… AccountsManagerTests testAccounts_WithNilKey_ReturnsCurrentAccountSet 120ms
โœ… AccountsManagerTests testAccounts_WithNonExistentKey_ReturnsEmptyArray 133ms
โœ… AccountsManagerTests testAuthenticationType_Basic_DoesNotRequireCatalogAuthentication 128ms
โœ… AccountsManagerTests testAuthenticationType_Basic_NeedsAuth 80ms
โœ… AccountsManagerTests testAuthenticationType_OAuth_NeedsAuth 86ms
โœ… AccountsManagerTests testAuthenticationType_OAuth_RequiresCatalogAuthentication 85ms
โœ… AccountsManagerTests testAuthenticationType_SAML_NeedsAuth 136ms
โœ… AccountsManagerTests testCatalogDidLoadNotification_CanBeObservedWithCombine 209ms
โœ… AccountsManagerTests testCatalogDidLoad_NotificationExists 95ms
โœ… AccountsManagerTests testClearCache_DoesNotThrow 98ms
โœ… AccountsManagerTests testCreateOPDS2Publication_ReturnsValidPublication 141ms
โœ… AccountsManagerTests testCurrentAccountId_AfterExplicitClear_ReturnsNilFromDefaults 176ms
โœ… AccountsManagerTests testCurrentAccountId_PersistsToUserDefaults 105ms
โœ… AccountsManagerTests testCurrentAccount_WhenChanged_PostsNotification 93ms
โœ… AccountsManagerTests testLoadCatalogs_PostsCatalogDidLoadNotification 106ms
โœ… AccountsManagerTests testMockLibraryAccountProvider_CurrentAccountId_MatchesUUID 96ms
โœ… AccountsManagerTests testMockLibraryAccountProvider_CurrentAccount_ReturnsTPPAccount 129ms
โœ… AccountsManagerTests testMultipleNotificationObservers_AllReceiveAccountChange 148ms
โœ… AccountsManagerTests testNotificationObserver_ForAccountChange_CanBeAdded 78ms
โœ… AccountsManagerTests testNotification_CanBeObservedWithCombine 117ms
โœ… AccountsManagerTests testShared_ReturnsSameInstance 78ms
โœ… AccountsManagerTests testTPPAccountUUIDs_ContainsExpectedAccounts 110ms
โœ… AccountsManagerTests testTPPNationalAccountUUIDs_ContainsPalaceBookshelf 106ms
โœ… AccountsManagerTests testUpdateAccountSet_WithCompletion_CallsCompletion 87ms
โœ… AccountsManagerTests testUpdateAccountSet_WithNilCompletion_DoesNotCrash 85ms
โœ… AccountsManagerTests testUseBetaDidChange_NotificationExists 104ms
โœ… AccountsManagerTests testUseBetaDidChange_PostsNotificationWhenSettingChanges 86ms
โœ… AdobeCertificateGapTests testAdobeCertificate_expirationDate_computesFromTimestamp 4ms
โœ… AdobeCertificateGapTests testAdobeCertificate_expirationDate_nilWhenNoTimestamp 6ms
โœ… AdobeCertificateGapTests testAdobeCertificate_hasExpired_falseForFutureDate 4ms
โœ… AdobeCertificateGapTests testAdobeCertificate_hasExpired_falseWhenNoExpiration 5ms
โœ… AdobeCertificateGapTests testAdobeCertificate_hasExpired_trueForPastDate 2ms
โœ… AdobeCertificateGapTests testAdobeCertificate_initFromData_decodesValidJSON 3ms
โœ… AdobeCertificateGapTests testAdobeCertificate_initFromData_returnsNilForInvalidJSON 17ms
โœ… AdobeDRMErrorGapTests testAdobeDRMError_conformsToLocalizedError 2ms
โœ… AdobeDRMErrorGapTests testAdobeDRMError_errorDescription_isNotEmpty 2ms
โœ… AdobeDRMErrorGapTests testAdobeDRMError_expiredCase_exists 7ms
โœ… AdobeDRMHandlerTests testHandleCancellation_setsRegistryStateAndBroadcasts 15ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_copyFailure_failsWithAlert 12ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_didFinishCopySucceeded_marksSuccessfulAndPersistsRights 7ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_didFinishDownloadFalse_failsAndDoesNotMarkSuccessful 18ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_missingAdeptToURL_failsWithAlert 11ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_missingDestinationURL_failsWithAlert 15ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_nonReturnable_skipsFulfillmentIdPersistence 7ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_returnableButNoFulfillmentID_skipsPersistence 7ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_undecodableRightsData_returnsEarlyWithoutSideEffects 8ms
โœ… AdobeDRMHandlerTests testHandleFulfillment_unknownBookIdentifier_returnsEarlyWithoutSideEffects 6ms
โœ… AdobeDRMHandlerTests testHandleNoAuthorization_doesNotMutateRegistryOrAlert 7ms
โœ… AdobeDRMHandlerTests testProgressForwarding_invokesDelegateWithProgressAndTag 8ms
โœ… AdobeDRMServiceGapTests testAdobeDRMService_isReady_returnsBoolean 6ms
โœ… AdobeDRMServiceGapTests testAdobeDRMService_shared_isAccessible 4ms
โœ… AlertModelCoverageTests testAlertModel_basicProperties 2ms
โœ… AlertModelCoverageTests testAlertModel_customButtonTitle 2ms
โœ… AlertModelCoverageTests testAlertModel_maxRetriesExceeded 2ms
โœ… AlertModelCoverageTests testAlertModel_retryable 1ms
โœ… AlertModelCoverageTests testAlertModel_retryableWithCancel 3ms
โœ… AlertModelCoverageTests testAlertModel_uniqueId 1ms
โœ… AlertModelRetryTests testAlertModel_eachInstanceHasUniqueIdentity 24ms
โœ… AlertModelRetryTests testDefaultAlertModel_hasExpectedDefaults 2ms
โœ… AlertModelRetryTests testHalfSheetBranching_secondaryNilSelectsOKOnly_secondaryNonNilSelectsRetryCancel 3ms
โœ… AlertModelRetryTests testMaxRetriesExceeded_factoryShapesAlertForOKOnlyBranch 2ms
โœ… AlertModelRetryTests testRetryable_factoryShapesAlertForRetryPlusCancelBranch 2ms
โœ… AlertModelRetryTests testRetryable_invokesRetryActionAndCancelActionOnTheCorrectSlots 6ms
โœ… AlertModelRetryTests testRetryable_omittedCancelActionIsSafeNoOp 2ms
โœ… AlertModelTests testAlertModel_StoresProvidedValues 2ms
โœ… AlertModelTests testAlertModel_SyncingAlertStrings_AreNotEmpty 2ms
โœ… AlertUtilsTests testAlertWithDestructiveStyle 6ms
โœ… AlertUtilsTests testAlertWithDetailsHasOKButtonWhenNoRetry 8ms
โœ… AlertUtilsTests testAlertWithDetailsHasRetryAndCancelWhenRetryProvided 7ms
โœ… AlertUtilsTests testAlertWithDetailsHasViewErrorDetailsButton 4ms
โœ… AlertUtilsTests testAlertWithErrorHavingNoDescription 4ms
โœ… AlertUtilsTests testAlertWithNilError 4ms
โœ… AlertUtilsTests testAlertWithNilMessageAndError_ErrorWins 7ms
โœ… AlertUtilsTests testAlertWithNonURLError 4ms
โœ… AlertUtilsTests testAlertWithTitleAndMessage 4ms
โœ… AlertUtilsTests testAlert_explicitMessageOverridesErrorDerivedMessage 5ms
โœ… AlertUtilsTests testAlert_nilMessage_yieldsEmptyStringWithoutAffectingTitle 5ms
โœ… AlertUtilsTests testAlert_nsurlErrors_alwaysProduceNonEmptyMessage 33ms
โœ… AlertUtilsTests testAlert_nsurlErrors_keyedMessages_areDistinguishable 12ms
โœ… AlertUtilsTests testAlert_titleFallback_handlesNilEmptyAndPassThrough 11ms
โœ… AlertUtilsTests testPresentFromViewControllerOrNilWithNilAlert 208ms
โœ… AlertUtilsTests testSetProblemDocumentAppend 7ms
โœ… AlertUtilsTests testSetProblemDocumentReplace 15ms
โœ… AlertUtilsTests testSetProblemDocumentWithNilController 2ms
โœ… AlertUtilsTests testSetProblemDocumentWithNilDocument 4ms
โœ… AlertUtilsTests testSetProblemDocument_partialDocumentReplacesOnlyPresentFields 9ms
โœ… AnnotationContractTests testBookmarkAndReadingPosition_HaveDifferentMotivations 48ms
โœ… AnnotationContractTests testParseAnnotationContainer 4ms
โœ… AnnotationContractTests testReadingPosition_HasEPUBCFISelector 3ms
โœ… AnnotationDeviceIDTests testAnnotationDeviceID_WhenNoAdobeDRM_ReturnsFirebaseDeviceID 2ms
โœ… AnnotationDeviceIDTests testAnnotationDeviceID_isStableAndDerivedFromFirebaseInTestEnvironment 4ms
โœ… AnnotationPostResponseContractTests testAnnotationPostResponse_HasRequiredFields 11ms
โœ… AnnouncementChainTests test_chainAttachmentIndices_fiveAnnouncements_returnsFourChainedPairs 3ms
โœ… AnnouncementChainTests test_chainAttachmentIndices_oneAnnouncement_returnsEmpty 2ms
โœ… AnnouncementChainTests test_chainAttachmentIndices_threeAnnouncements_returnsTwoChainedPairs 5ms
โœ… AnnouncementChainTests test_chainAttachmentIndices_twoAnnouncements_returnsOnePair 6ms
โœ… AnnouncementChainTests test_chainAttachmentIndices_zeroAnnouncements_returnsEmpty 8ms
โœ… AnnouncementTests testAnnouncement_decodesValidJSON 5ms
โœ… AnnouncementTests testAnnouncement_withMissingContent_throwsError 2ms
โœ… AnnouncementTests testAnnouncement_withMissingId_throwsError 2ms
โœ… AnonymousBorrowBaselineFixtureTests test_02_afterAllowNotif_libraryPickerShowsPalaceBookshelfAtTop 5ms
โœ… AnonymousBorrowBaselineFixtureTests test_02_afterAllowNotif_notifPermissionOverlayDismissed 5ms
โœ… AnonymousBorrowBaselineFixtureTests test_03_catalog_anonymousFlowDoesNotShowSignInModal 4ms
โœ… AnonymousBorrowBaselineFixtureTests test_03_catalog_tabBarHasFourTabs 3ms
โœ… AnonymousBorrowBaselineFixtureTests test_03_catalog_threeLanesRenderInOrder 6ms
โœ… AnonymousBorrowBaselineFixtureTests test_03_catalog_titleIsPalaceBookshelf 3ms
โœ… AnonymousBorrowBaselineFixtureTests test_04_bookDetail_borrowButtonAppearsAboveDescription 14ms
โœ… AnonymousBorrowBaselineFixtureTests test_04_bookDetail_borrowButtonPresent 7ms
โœ… AnonymousBorrowBaselineFixtureTests test_04_bookDetail_preBorrowDoesNotShowReadOrRemove 4ms
โœ… AnonymousBorrowBaselineFixtureTests test_05_afterBorrow_borrowButtonGoneReadAndRemoveAppear 3ms
โœ… AnonymousBorrowBaselineFixtureTests test_05_afterBorrow_libraryAttributionShowsPalaceBookshelf 4ms
โœ… AnonymousBorrowBaselineFixtureTests test_06_myBooks_borrowedBookAppears 3ms
โœ… AnonymousBorrowBaselineFixtureTests test_06_myBooks_sortIndicatorShowsTitle 7ms
โœ… AnonymousBorrowCandidateFixtureTests test_03_catalog_anonymousFlowDoesNotShowSignInModal 5ms
โœ… AnonymousBorrowCandidateFixtureTests test_03_catalog_tabBarHasFourTabs 3ms
โœ… AnonymousBorrowCandidateFixtureTests test_03_catalog_threeLanesRenderInOrder 4ms
โœ… AnonymousBorrowCandidateFixtureTests test_03_catalog_titleIsPalaceBookshelf 11ms
โœ… AnonymousBorrowCandidateFixtureTests test_05_afterBorrow_borrowButtonGoneReadAndRemoveAppear 6ms
โœ… AnonymousBorrowCandidateFixtureTests test_06_myBooks_borrowedBookAppears 4ms
โœ… AnonymousBorrowDeltaTests test_03_catalog_structureMatchesBetweenVersions 6ms
โœ… AnonymousBorrowDeltaTests test_06_myBooks_postBorrowStateMatchesBetweenVersions 21ms
โœ… AppContainerTests testEnvironmentValues_appContainerDefault_matchesProductionFactory 9ms
โœ… AppContainerTests testInit_twoContainersWithDifferentRegistries_remainIndependent 9ms
โœ… AppContainerTests testInit_withMockBookRegistry_exposesTheMockNotTheProductionRegistry 5ms
โœ… AppContainerTests testProduction_handsOutStableAppScopedRegistry 5ms
โœ… AppHealthViewModelTests testAppLaunchStatusThresholds 211ms
โœ… AppHealthViewModelTests testHealthMetricItemProperties 11ms
โœ… AppHealthViewModelTests testInitialState 6ms
โœ… AppHealthViewModelTests testLoadDataIncludesMemoryMetric 214ms
โœ… AppHealthViewModelTests testLoadDataIncludesOfflineQueueMetrics 233ms
โœ… AppHealthViewModelTests testLoadDataPopulatesMetrics 227ms
โœ… AppHealthViewModelTests testOfflineQueueStatusUpdates 223ms
โœ… AppHealthViewModelTests testPerformanceReportGenerated 208ms
โœ… AppLaunchTrackerExtendedTests testAllMilestones_RecordedInChronologicalOrder 46ms
โœ… AppLaunchTrackerExtendedTests testColdLaunch_AfterReset 2ms
โœ… AppLaunchTrackerExtendedTests testDefaultIsColdLaunch 2ms
โœ… AppLaunchTrackerExtendedTests testDuplicateMilestone_DoesNotCreateExtraEntries 3ms
โœ… AppLaunchTrackerExtendedTests testDuplicateMilestone_OverwritesTimestamp 58ms
โœ… AppLaunchTrackerExtendedTests testLaunchMilestone_AllCases 4ms
โœ… AppLaunchTrackerExtendedTests testMarkWarmLaunch_ChangesType 2ms
โœ… AppLaunchTrackerExtendedTests testMilestoneCount_MatchesRecordedCount 2ms
โœ… AppLaunchTrackerExtendedTests testTimeBetween_NilWhenBothMissing 4ms
โœ… AppLaunchTrackerExtendedTests testTimeBetween_NilWhenEndMissing 2ms
โœ… AppLaunchTrackerExtendedTests testTimeBetween_NilWhenStartMissing 26ms
โœ… AppLaunchTrackerExtendedTests testTimeToFirstFrame_NilWithoutFirstFrame 5ms
โœ… AppLaunchTrackerExtendedTests testTimeToInteractive_NilWithoutCatalogLoaded 3ms
โœ… AppLaunchTrackerExtendedTests testTimeToInteractive_NilWithoutProcessStart 4ms
โœ… AppLaunchTrackerExtendedTests testTimeToInteractive_RequiresProcessStartAndCatalogLoaded 36ms
โœ… AppLaunchTrackerExtendedTests testWarmLaunch_ReportsWithWarmType 256ms
โœ… AppLaunchTrackerTests testCatalogLoadedReportsToMonitor 1.42s
โœ… AppLaunchTrackerTests testDefaultLaunchTypeIsCold 29ms
โœ… AppLaunchTrackerTests testRecordAllMilestones 133ms
โœ… AppLaunchTrackerTests testRecordProcessStart 3ms
โœ… AppLaunchTrackerTests testReset 5ms
โœ… AppLaunchTrackerTests testTimeBetweenMilestones 103ms
โœ… AppLaunchTrackerTests testTimeBetweenUnrecordedMilestones 7ms
โœ… AppLaunchTrackerTests testTimeToFirstFrame 44ms
โœ… AppLaunchTrackerTests testTimeToInteractive 38ms
โœ… AppLaunchTrackerTests testWarmLaunchType 7ms
โœ… AppRouteTests testAppRoute_Audio_IsHashable 2ms
โœ… AppRouteTests testAppRoute_BookDetail_IsHashable 2ms
โœ… AppRouteTests testAppRoute_DifferentTypes_NotEqual 4ms
โœ… AppRouteTests testBookRoute_IsHashable 5ms
โœ… AppRouteTests testSearchRoute_IsHashable 2ms
โœ… AppTabHostViewBadgeCountTests test_computeReadyCount_emptyArray_returnsZero 2ms
โœ… AppTabHostViewBadgeCountTests test_computeReadyCount_mixedReservedAndReady_returnsOnlyReadyCount 17ms
โœ… AppTabHostViewBadgeCountTests test_computeReadyCount_oneReadyBook_returnsOne 6ms
โœ… AppTabHostViewBadgeCountTests test_computeReadyCount_reservedBooksOnly_returnsZero 8ms
โœ… AppTabHostViewBadgeCountTests test_computeReadyCount_threeReadyBooks_returnsThree 8ms
โœ… AppTabHostViewBadgeCountTests test_computeReservedCount_emptyArray_returnsZero 2ms
โœ… AppTabHostViewBadgeCountTests test_computeReservedCount_readyBooksOnly_returnsZero 6ms
โœ… AppTabHostViewBadgeCountTests test_computeReservedCount_twoReservedBooks_returnsTwo 8ms
โœ… AppTabHostViewBadgeCountTests test_shouldUpdateBadge_loadedOrSynced_returnsTrue 2ms
โœ… AppTabHostViewBadgeCountTests test_shouldUpdateBadge_unloadedOrLoadingOrSyncing_returnsFalse 2ms
โœ… AppTabRouterCoverageTests testAppTabRouterHub_weakRouterReference 7ms
โœ… AppTabRouterCoverageTests testAppTabRouter_defaultIsCatalog 3ms
โœ… AppTabRouterCoverageTests testAppTabRouter_publishesSelectionChanges 6ms
โœ… AppTabRouterCoverageTests testAppTabRouter_sequentialTabChangesPreserveLastValue 8ms
โœ… AppTabRouterGapTests testAppTabRouterHub_registeredRouterIsWeaklyHeld 4ms
โœ… AppTabRouterGapTests testAppTabRouter_roundTripToDefaultEmitsTwoChangeEvents 8ms
โœ… AppTabRouterGapTests testAppTabRouter_tabSwitchPublishesChangeEvent 9ms
โœ… ArrayExtensionsTests testSafeSubscriptGet_NegativeIndex_ReturnsNil 2ms
โœ… ArrayExtensionsTests testSafeSubscriptGet_OutOfBounds_ReturnsNil 3ms
โœ… ArrayExtensionsTests testSafeSubscriptGet_StringArray_ReturnsElement 4ms
โœ… ArrayExtensionsTests testSafeSubscriptGet_ValidIndex_ReturnsElement 3ms
โœ… ArrayExtensionsTests testSafeSubscriptGet_emptyArray_returnsNilForAllIndices 4ms
โœ… ArrayExtensionsTests testSafeSubscriptSet_updatesValidIndicesAndIgnoresInvalidWrites 3ms
โœ… AudioBookmarkGapTests testAudioBookmark_copy_createsIndependentCopy 2ms
โœ… AudioBookmarkGapTests testAudioBookmark_creation_storesBasicProperties 2ms
โœ… AudioBookmarkGapTests testAudioBookmark_isSimilar_returnsFalseForDifferentChapter 10ms
โœ… AudioBookmarkGapTests testAudioBookmark_isSimilar_returnsTrueForSameChapterPosition 2ms
โœ… AudioBookmarkGapTests testAudioBookmark_toData_producesRoundTripData 2ms
โœ… AudioBookmarkGapTests testAudioBookmark_toTPPBookLocation_producesValidLocation 2ms
โœ… AudioInterruptionLogicTests testNoResume_whenNoShouldResume_andWasNotPlaying 4ms
โœ… AudioInterruptionLogicTests testResume_phoneCallDeclinedScenario 3ms
โœ… AudioInterruptionLogicTests testResume_siriInterruptionScenario 2ms
โœ… AudioInterruptionLogicTests testResume_whenNoShouldResume_butWasPlaying 2ms
โœ… AudioInterruptionLogicTests testResume_whenShouldResumeSet_andWasPlaying 3ms
โœ… AudioInterruptionLogicTests testResume_whenShouldResumeSet_butWasNotPlaying 8ms
โœ… AudiobookAccessibilityTests testAudiobookIndicator_labelExists 3ms
โœ… AudiobookAccessibilityTests testPauseLabel_isDescriptive 1ms
โœ… AudiobookAccessibilityTests testPlayLabel_isDescriptive 3ms
โœ… AudiobookAccessibilityTests testPlayPauseLabel_changesWithState 1ms
โœ… AudiobookAccessibilityTests testPlayPauseLabels_areDifferent 3ms
โœ… AudiobookAccessibilityTests testSkipBackLabel_indicatesTimeUnit 64ms
โœ… AudiobookAccessibilityTests testSkipBackLabel_isDescriptiveWithDuration 2ms
โœ… AudiobookBackgroundAudioTests testContinuousPlayback_accumulatesCorrectly 266ms
โœ… AudiobookBackgroundAudioTests testInterruptedPlayback_savesPartialTime 23ms
โœ… AudiobookBookmarkBusinessLogicTests testBusinessLogic_canBeInitialized 4ms
โœ… AudiobookBookmarkBusinessLogicTests testBusinessLogic_hasBookReference 2ms
โœ… AudiobookBookmarkBusinessLogicTests testDebounce_DeallocDuringPendingWork_DoesNotCrash 1.53s
โœ… AudiobookBookmarkBusinessLogicTests testDebounce_RapidCalls_OnlyLastSyncs 1.09s
โœ… AudiobookBookmarkBusinessLogicTests testFlushPendingOperations_ExecutesPendingWork 3ms
โœ… AudiobookBookmarkBusinessLogicTests testFlush_AfterDealloc_DoesNotCrash 21ms
โœ… AudiobookBookmarkBusinessLogicTests testLoadTracks_succeeds 16ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_BothNil_ReturnsNil 4ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_LocalNewerThanRemote_UsesLocal 20ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_OnlyLocalExists_UsesLocal 18ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_OnlyRemoteExists_UsesRemote 23ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_RemoteNewerThanLocal_UsesRemote 19ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_SameTimestamp_UsesLocal 20ms
โœ… AudiobookBookmarkBusinessLogicTests testSaveBookmark_AddsToRegistry 1.02s
โœ… AudiobookBookmarkBusinessLogicTests testSaveBookmark_CreatesBookmark 1.02s
โœ… AudiobookBookmarkBusinessLogicTests testSaveListeningPositionSync_SavesImmediately 20ms
โœ… AudiobookBookmarkBusinessLogicTests testSaveListeningPosition_SavesLocallyImmediately 1.04s
โœ… AudiobookBookmarkBusinessLogicTests testSaveListeningPosition_SyncsToServer 1.03s
โœ… AudiobookBookmarkBusinessLogicTests testSyncBookmarks_MergesLocalAndRemote 18ms
โœ… AudiobookDataManagerEmptyQueueTests testSyncValues_withEmptyQueue_makesNoRequests 18ms
โœ… AudiobookDataManagerErrorHandlingTests testSyncValues_with404Response_removesEntriesAndURL 2.46s
โœ… AudiobookDataManagerErrorHandlingTests testSyncValues_with500Response_keepsEntriesForRetry 2.11s
โœ… AudiobookDataManagerErrorHandlingTests testSyncValues_with503Response_keepsEntriesForRetry 2.09s
โœ… AudiobookDataManagerErrorHandlingTests testSyncValues_withNetworkError_keepsEntries 2.06s
โœ… AudiobookDataManagerErrorHandlingTests testSyncValues_withPartialSuccess_removesOnlySuccessfulEntries 2.04s
โœ… AudiobookDataManagerModelsTests testAudiobookDataManagerStoreInit_empty 2ms
โœ… AudiobookDataManagerModelsTests testAudiobookDataManagerStoreInit_fromData_invalidJson_returnsNil 2ms
โœ… AudiobookDataManagerModelsTests testAudiobookDataManagerStoreInit_fromData_validJson 10ms
โœ… AudiobookDataManagerModelsTests testAudiobookDataManagerStoreJsonRepresentation 2ms
โœ… AudiobookDataManagerModelsTests testAudiobookDataManagerStoreRoundTrip 2ms
โœ… AudiobookDataManagerModelsTests testAudiobookTimeEntryCodable 3ms
โœ… AudiobookDataManagerModelsTests testAudiobookTimeEntryEquality 3ms
โœ… AudiobookDataManagerModelsTests testLibraryBookCodable 5ms
โœ… AudiobookDataManagerModelsTests testLibraryBookEquality 2ms
โœ… AudiobookDataManagerModelsTests testLibraryBookHashable 3ms
โœ… AudiobookDataManagerModelsTests testLibraryBookInit_directAndFromTimeEntryAreEqual 2ms
โœ… AudiobookDataManagerModelsTests testLibraryBookInit_fromTimeEntry 39ms
โœ… AudiobookDataManagerModelsTests testRequestDataInit_fromLibraryBookAndEntries 2ms
โœ… AudiobookDataManagerModelsTests testRequestDataInit_timeEntryDurationMapsToSecondsPlayed 2ms
โœ… AudiobookDataManagerModelsTests testRequestDataJsonRepresentation 10ms
โœ… AudiobookDataManagerModelsTests testRequestDataTimeEntryDescription 2ms
โœ… AudiobookDataManagerModelsTests testResponseDataInit_fromData_emptyResponses 5ms
โœ… AudiobookDataManagerModelsTests testResponseDataInit_fromData_invalidJson_returnsNil 2ms
โœ… AudiobookDataManagerModelsTests testResponseDataInit_fromData_validJson 3ms
โœ… AudiobookDataManagerModelsTests testResponseDataInit_jsonAndDirectProduceSameResult 10ms
โœ… AudiobookDataManagerNetworkSyncTests testAudiobookDataManager_Sync_InitializesCorrectly 41ms
โœ… AudiobookDataManagerNetworkSyncTests testSyncValues_requestBodyContainsCorrectFormat 1.05s
โœ… AudiobookDataManagerNetworkSyncTests testSyncValues_withMultipleBooks_makesRequestForEach 1.02s
โœ… AudiobookDataManagerNetworkSyncTests testSyncValues_withQueuedEntries_postsToCorrectURL 1.02s
โœ… AudiobookDataManagerNetworkSyncTests testSyncValues_withSuccessfulResponse_removesEntriesFromQueue 2.02s
โœ… AudiobookDataManagerSaveTests testDataManagerConformance_savesViaProtocol 20ms
โœ… AudiobookDataManagerSaveTests testSave_addsEntryToQueue 8ms
โœ… AudiobookDataManagerSaveTests testSave_multipleEntries_allQueued 16ms
โœ… AudiobookDataManagerSaveTests testSave_storesURLMapping 6ms
โœ… AudiobookDataManagerStoreRecoveryTests testAudiobookDataManagerStoreInit_rejectsMalformedPayloads 5ms
โœ… AudiobookDataManagerStoreRecoveryTests testAudiobookDataManagerStoreInit_withPartialData_returnsNil 6ms
โœ… AudiobookDataManagerStoreRecoveryTests testLoadStore_withCorruptedJSON_doesNotCrash 6ms
โœ… AudiobookDataManagerStoreRecoveryTests testLoadStore_withEmptyFile_doesNotCrash 10ms
โœ… AudiobookDataManagerStoreRecoveryTests testSaveAndLoadStore_preservesData 2.11s
โœ… AudiobookFileLoggerTests testGetLogsDirectoryUrl_directoryExists 5ms
โœ… AudiobookFileLoggerTests testGetLogsDirectoryUrl_returnsURL 3ms
โœ… AudiobookFileLoggerTests testLogEvent_containsTimestamp 6ms
โœ… AudiobookFileLoggerTests testLogEvent_createsLogFile 10ms
โœ… AudiobookFileLoggerTests testLogEvent_multipleEvents_allAppear 14ms
โœ… AudiobookFileLoggerTests testRetrieveLog_nonexistentBook_returnsNil 5ms
โœ… AudiobookFileLoggerTests testRetrieveLogs_emptyBookIds_returnsEmptyDict 4ms
โœ… AudiobookFileLoggerTests testRetrieveLogs_multipleBooks 19ms
โœ… AudiobookFileLoggerTests testShared_isNotNil 7ms
โœ… AudiobookLoadFailureSAMLReauthTests testRegressionForBug_SAMLOpenFailureGetsReauth_perHelpSpot17727 143ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldNotTrigger_forBasicAuthAccount 181ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldNotTrigger_forOAuthAccount 157ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldNotTrigger_onCancelledLoadEvenWhenSAMLStale 154ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldNotTrigger_whenAuthStateIsLoggedIn 155ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldNotTrigger_whenAuthStateIsLoggedOut 136ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldNotTrigger_whenCurrentBookIsNil 94ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldNotTrigger_whenNoStoredCredentials 178ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldTrigger_forAnyNonCancelledLoadErrorWhenSAMLStale 165ms
โœ… AudiobookLoadFailureSAMLReauthTests testShouldTrigger_whenStaleCredentialsAndSAMLAndBook 145ms
โœ… AudiobookLoaderTests testLoad_missingLocalFileAndUnreachableURL_failsWithManifestError 76ms
โœ… AudiobookLoaderTests testLoad_whenCancelledFirst_surfacesCancelledError 102ms
โœ… AudiobookNetworkValidationTests testFullyDownloaded_bypassesNetworkRulesAcrossAllConnectivityCombinations 2ms
โœ… AudiobookNetworkValidationTests testFullyDownloaded_neverNeedsNetwork_offline 2ms
โœ… AudiobookNetworkValidationTests testStreaming_networkValidationCoversAllConnectivityCombinations 10ms
โœ… AudiobookPhoneAlertContentTests testLoaderAndUnknownErrors_returnNil_toAvoidDoubleAlerts 3ms
โœ… AudiobookPhoneAlertContentTests testValidationErrors_allProduceAlertContent 6ms
โœ… AudiobookPhoneAlertContentTests testWifiRequired_producesAlertContent 2ms
โœ… AudiobookPlaybackStateTests testPlaybackStartAndStop_cycle 77ms
โœ… AudiobookPlaybackStateTests testPlaybackStarted_canBeCalledMultipleTimes 24ms
โœ… AudiobookPlaybackStateTests testPlaybackStopped_canBeCalledWithoutStart 14ms
โœ… AudiobookPlaybackTests testAudiobookTimeEntry_DurationCappedAt60 43ms
โœ… AudiobookPlaybackTests testAudiobookTimeEntry_ValidDuration 16ms
โœ… AudiobookPlaybackTests testChapterIndex_ValidTrack 16ms
โœ… AudiobookPlaybackTests testChapterNavigation_NextChapter 16ms
โœ… AudiobookPlaybackTests testChapterNavigation_NextChapter_AtEnd 22ms
โœ… AudiobookPlaybackTests testChapterNavigation_PreviousChapter 27ms
โœ… AudiobookPlaybackTests testChapterNavigation_PreviousChapter_ClampsToZero 14ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_0_75x_CalculatesCorrectDuration 19ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_1_0x_CalculatesCorrectDuration 19ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_1_25x_CalculatesCorrectDuration 18ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_1_5x_CalculatesCorrectDuration 18ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_2_0x_CalculatesCorrectDuration 21ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_ContentPlayedCalculation 20ms
โœ… AudiobookPlaybackTests testSkipAhead_Adds30Seconds 21ms
โœ… AudiobookPlaybackTests testSkipAhead_ClampsToTrackEnd 19ms
โœ… AudiobookPlaybackTests testSkipAhead_WithinTrackDuration 16ms
โœ… AudiobookPlaybackTests testSkipBehind_ClampsToZero 22ms
โœ… AudiobookPlaybackTests testSkipBehind_Subtracts30Seconds 15ms
โœ… AudiobookPlaybackTests testSleepTimer_15Minutes 19ms
โœ… AudiobookPlaybackTests testSleepTimer_30Minutes 17ms
โœ… AudiobookPlaybackTests testSleepTimer_60Minutes 37ms
โœ… AudiobookPlaybackTests testSleepTimer_Expired 21ms
โœ… AudiobookPlaybackTests testSleepTimer_RemainingTime 21ms
โœ… AudiobookPlaybackTests testTrackPosition_Creation 20ms
โœ… AudiobookPlaybackTests testTrackPosition_ToAudioBookmark 22ms
โœ… AudiobookPlaybackTests testTrackPosition_ToTPPBookLocation 24ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthForNilError 16ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthForNonSAMLAuth 3ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthForWrongCode 23ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthForWrongDomain 5ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthWithNilBook 2ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthWithoutCredentials 4ms
โœ… AudiobookSessionErrorDescriptionTests testAllErrorCases_haveNonEmptyDescriptions 2ms
โœ… AudiobookSessionErrorDescriptionTests testErrorEquatable_differentTypes 2ms
โœ… AudiobookSessionErrorDescriptionTests testErrorEquatable_sameTypes 4ms
โœ… AudiobookSessionErrorDescriptionTests testUnknownError_preservesCustomMessage 3ms
โœ… AudiobookSessionErrorExtTests testErrorDescriptions 138ms
โœ… AudiobookSessionErrorExtTests testErrorEquality 5ms
โœ… AudiobookSessionErrorExtTests testUnknownErrorDescription_preservesCallerMessageVerbatim 5ms
โœ… AudiobookSessionErrorExtTests testUnknownErrorEquality 4ms
โœ… AudiobookSessionErrorTests testAudiobookSessionError_Equatable 2ms
โœ… AudiobookSessionErrorTests testAudiobookSessionError_localizedDescription_isCaseSpecificAndPreservesUnknownMessage 3ms
โœ… AudiobookSessionManagerErrorMappingTests testMap_cancelled_isUnknown 6ms
โœ… AudiobookSessionManagerErrorMappingTests testMap_factoryFailed_isPlayerCreationFailed 8ms
โœ… AudiobookSessionManagerErrorMappingTests testMap_lcpFamily_isManifestLoadFailed 7ms
โœ… AudiobookSessionManagerErrorMappingTests testMap_manifestFamily_isManifestLoadFailed 8ms
โœ… AudiobookSessionManagerErrorMappingTests testMap_tokenRefresh_isNotAuthenticated 11ms
โœ… AudiobookSessionManagerErrorMappingTests testMap_vendorKey_surfacesUnderlyingMessage 4ms
โœ… AudiobookSessionManagerTests testBackgroundCompletionHandlerRegistration 40ms
โœ… AudiobookSessionManagerTests testRegisterActiveDownload 3ms
โœ… AudiobookSessionManagerTests testUpdateDownloadProgress 10ms
โœ… AudiobookSessionStateTests testErrorState 2ms
โœ… AudiobookSessionStateTests testIdleState 7ms
โœ… AudiobookSessionStateTests testLoadingState 3ms
โœ… AudiobookSessionStateTests testPausedState 5ms
โœ… AudiobookSessionStateTests testPlayingState 3ms
โœ… AudiobookSessionStateTests testStateEquality 26ms
โœ… AudiobookSessionStateTransitionTests testErrorState_isNotActive_butHasBookId 2ms
โœ… AudiobookSessionStateTransitionTests testIdleState_isNotActive 2ms
โœ… AudiobookSessionStateTransitionTests testLoadingState_isActive_andHasBookId 2ms
โœ… AudiobookSessionStateTransitionTests testPausedState_isActive_andHasBookId 2ms
โœ… AudiobookSessionStateTransitionTests testPlayingState_isActive_andHasBookId 2ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_cyclePlaybackRate_withoutManager_returnsNormalTime 3ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_initialState_isIdle 4ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_pause_withoutManager_doesNotCrash 2ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_play_withoutManager_doesNotCrash 2ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_skipToChapter_withoutManager_doesNotCrash 4ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_stopPlayback_publishesIdleState 3ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_stopPlayback_resetsState 6ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_togglePlayPause_withoutManager_doesNotCrash 2ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_updateCoverImage_nil_clearsImage 5ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_updateCoverImage_setsImage 2ms
โœ… AudiobookSessionStateTransitionTests testStateEquality_differentBookIds 2ms
โœ… AudiobookSessionStateTransitionTests testStateEquality_differentStates 2ms
โœ… AudiobookSessionStateTransitionTests testStateEquality_sameStates 2ms
โœ… AudiobookSleepTimerIntegrationTests testEndOfChapterSleepTimer_savesPartialTime 128ms
โœ… AudiobookSleepTimerIntegrationTests testSleepTimer30Minutes_savesAllPlayedTime 72ms
โœ… AudiobookSleepTimerIntegrationTests testSleepTimerCancelResume_preservesAllTime 45ms
โœ… AudiobookSleepTimerIntegrationTests testSleepTimerMultipleMinutes_createsSeparateEntries 34ms
โœ… AudiobookSleepTimerIntegrationTests testSleepTimerScenario_savesAllPlayedTime 38ms
โœ… AudiobookStorageLocationTests testApplicationSupportDirectoryExists 2ms
โœ… AudiobookStorageLocationTests testAudiobooksDirectoryPath 2ms
โœ… AudiobookStorageLocationTests testOverdriveDirectoryPath 3ms
โœ… AudiobookTOCTests testChapterName_MatchesAfterNavigation 33ms
โœ… AudiobookTOCTests testChapterName_SavedCorrectly 20ms
โœ… AudiobookTOCTests testChapter_AutoAdvanceToNext 20ms
โœ… AudiobookTOCTests testChapter_HasDuration 22ms
โœ… AudiobookTOCTests testChapter_PositionAtStart 16ms
โœ… AudiobookTOCTests testChapter_PositionInMiddle 20ms
โœ… AudiobookTOCTests testChapter_PositionPersistsAfterRestart 16ms
โœ… AudiobookTOCTests testChapter_SelectionPersistsAfterReturn 23ms
โœ… AudiobookTOCTests testChapter_TotalDuration 136ms
โœ… AudiobookTOCTests testTOC_ChaptersAreOrdered 37ms
โœ… AudiobookTOCTests testTOC_ChaptersHaveTitles 22ms
โœ… AudiobookTOCTests testTOC_ContentsAndBookmarksTabs 14ms
โœ… AudiobookTOCTests testTOC_HasChapters 14ms
โœ… AudiobookTOCTests testTOC_OpenFirstChapter 29ms
โœ… AudiobookTOCTests testTOC_OpenRandomChapter 16ms
โœ… AudiobookTOCTests testTOC_OpenSpecificChapter 21ms
โœ… AudiobookTOCTests testTOC_SwitchToBookmarks 25ms
โœ… AudiobookTOCTests testTOC_SwitchToChapters 26ms
โœ… AudiobookTimeEntryTests testTimeEntry_codableRoundTrip 10ms
โœ… AudiobookTimeEntryTests testTimeEntry_conformsToProtocol 5ms
โœ… AudiobookTimeEntryTests testTimeEntry_durationCanExceed60InStruct 7ms
โœ… AudiobookTimeEntryTests testTimeEntry_equality 3ms
โœ… AudiobookTimeEntryTests testTimeEntry_hashable 8ms
โœ… AudiobookTimeEntryTests testTimeEntry_storesProperties 5ms
โœ… AudiobookTimeTrackerEdgeTests testPlaybackStopped_savesAccumulatedTime_beforeCancellingTimer 23ms
โœ… AudiobookTimeTrackerEdgeTests testReceiveValue_crossingMinuteBoundary_savesEntry 34ms
โœ… AudiobookTimeTrackerEdgeTests testReceiveValue_withinSameMinute_doesNotSaveUntilStop 38ms
โœ… AudiobookTimeTrackerEdgeTests testStopAndSave_calledMultipleTimes_doesNotDuplicate 25ms
โœ… AudiobookTimeTrackerEdgeTests testTimeEntry_containsCorrectBookAndLibraryIds 16ms
โœ… AudiobookTimeTrackerEdgeTests testTimeEntry_durationCappedAt60_andIsNonNegativeAtInit 13ms
โœ… AudiobookTimeTrackerEdgeTests testTimeEntry_duringMinute_isUTCFormat 14ms
โœ… AudiobookTimeTrackerEdgeTests testZeroDuration_isNotSaved 21ms
โœ… AudiobookTimeTrackerLifecycleTests testAppTerminationNotification_savesData 1.09s
โœ… AudiobookTimeTrackerLifecycleTests testStopAndSave_canBeCalledMultipleTimes 29ms
โœ… AudiobookTimeTrackerLifecycleTests testStopAndSave_savesAllAccumulatedTime 19ms
โœ… AudiobookTimeTrackerLifecycleTests testTimeEntryProperty_isThreadSafe 29ms
โœ… AudiobookTimeTrackerLifecycleTests testTrackerDeallocation_savesAccumulatedTime 32ms
โœ… AudiobookTimeTrackerTests testExactMinuteOfPlayback_savesCorrectTimeEntry 22ms
โœ… AudiobookTimeTrackerTests testMultipleMinuteBoundaries_createsMultipleEntries 31ms
โœ… AudiobookTimeTrackerTests testNoPlayback_savesNoTimeEntry 17ms
โœ… AudiobookTimeTrackerTests testPlaybackStarted_savesCorrectAggregateTime 15ms
โœ… AudiobookTimeTrackerTests testPlaybackStopped_stopsTimer 22ms
โœ… AudiobookTimeTrackerTests testSaveCurrentDuration_savesTimeEntryCorrectly 21ms
โœ… AudiobookTimeTrackerTests testTimeEntries_areInUTC 16ms
โœ… AudiobookTimeTrackerTests testTimeEntries_areLimitedTo60Seconds 14ms
โœ… AudiobookTimeTrackerTests testTimeEntry_hasCorrectMetadata 15ms
โœ… AudiobookTrackCompletionTests testTrackerFinalize_savesAccumulatedTime 13ms
โœ… AudiobookTrackCompletionTests testZeroDuration_notSaved 19ms
โœ… AudiobookTypeRoutingTests testAudiobookLCPBook_hasExpectedIdentifiers 9ms
โœ… AudiobookTypeRoutingTests testBearerTokenBook_hasExpectedIdentifiers 8ms
โœ… AudiobookTypeRoutingTests testLCPAudiobook_canOpenBook_usesCorrectAcquisitionType 20ms
โœ… AudiobookTypeRoutingTests testOpenAccessAudiobook_hasExpectedIdentifiers 38ms
โœ… AudiobookTypeRoutingTests testReadiumLCPBook_hasExpectedIdentifiers 7ms
โœ… AudiobookmarkTests testDecodeEarlyBookmark 8ms
โœ… AudiobookmarkTests testDecodeLocatorAudioBookTime2 8ms
โœ… AudiobookmarkTests testDecodeNewerBookmark 23ms
โœ… AudiobookmarkTests testEncodeAndDecodeBookmark 26ms
โœ… AuthDocumentContractTests testAuthDocument_HasRequiredLinks 3ms
โœ… AuthDocumentContractTests testParseAuthDocument_ExtractsAllFields 18ms
โœ… AuthDocumentVariantsContractTests testOAuthAuthDocument_FeatureFlagsExpressedViaDisabledList 3ms
โœ… AuthDocumentVariantsContractTests testOAuthAuthDocument_HasMultipleAuthMethods 23ms
โœ… AuthDocumentVariantsContractTests testSAMLAuthDocument_HasAnnouncements 3ms
โœ… AuthDocumentVariantsContractTests testSAMLAuthDocument_HasRequiredLinks 7ms
โœ… AuthDocumentVariantsContractTests testSAMLAuthDocument_ParsesWithSAMLType 5ms
โœ… AuthErrorCategoryTests testHTTPURLResponse_bare401WithoutProblemDoc_shouldIndicateAuthRefresh 2ms
โœ… AuthErrorCategoryTests testHTTPURLResponse_withOldCredentialsInvalidType_shouldIndicateAuthRefresh 43ms
โœ… AuthErrorCategoryTests testHTTPURLResponse_withRecoverableError_shouldIndicateAuthRefresh 5ms
โœ… AuthErrorCategoryTests testHTTPURLResponse_withUnrecoverableError_shouldNotIndicateAuthRefresh 3ms
โœ… AuthErrorCategoryTests testHTTPURLResponse_withUnrecoverableNoAccess_shouldNotIndicateAuthRefresh 2ms
โœ… AuthErrorCategoryTests testProblemDocument_nilType_isNeitherCategory 2ms
โœ… AuthErrorCategoryTests testProblemDocument_nonAuthType_isNeitherCategory 2ms
โœ… AuthErrorCategoryTests testProblemDocument_recoverableSAMLBearerTokenInvalid_isRecoverable 98ms
โœ… AuthErrorCategoryTests testProblemDocument_recoverableSAMLSessionExpired_isRecoverable 2ms
โœ… AuthErrorCategoryTests testProblemDocument_recoverableTokenExpired_isRecoverable 5ms
โœ… AuthErrorCategoryTests testProblemDocument_unrecoverableInvalidCredentials_isUnrecoverable 2ms
โœ… AuthErrorCategoryTests testProblemDocument_unrecoverableNoAccess_isUnrecoverable 2ms
โŠ˜ AuthFlowSecurityTests testSession_identifierRotatedOnSignIn 9ms
โŠ˜ AuthFlowSecurityTests testToken_networkExecutorRefreshCount_singleFlightSemantics 8ms
โŠ˜ AuthFlowSecurityTests testToken_reauthenticatorCallCount_observableForRawCallAssertion 9ms
โœ… AuthReducerTests testAuthDocumentLoadCompleted_clearsLoadingFlag 3ms
โœ… AuthReducerTests testAuthDocumentLoadStarted_setsLoadingFlag 6ms
โœ… AuthReducerTests testBearerTokenReceived_storesTokenAndExpiration 2ms
โœ… AuthReducerTests testClassifyValidationError_genericError_fallsBackToInvalidCredentials 3ms
โœ… AuthReducerTests testClassifyValidationError_networkConnectivityError_returnsConnectivityCopy 9ms
โœ… AuthReducerTests testClassifyValidationError_problemDocument_takesPrecedenceOverEverything 5ms
โœ… AuthReducerTests testCredentialCaptureStarted_acceptsNilCredentials 12ms
โœ… AuthReducerTests testCredentialCaptureStarted_storesBarcodeAndPinAndClearsStaleError 2ms
โœ… AuthReducerTests testCredentialsValidationFailed_clearsFlagAndSurfacesError 2ms
โœ… AuthReducerTests testCredentialsValidationStarted_setsFlagAndClearsAnyPriorError 5ms
โœ… AuthReducerTests testCredentialsValidationSucceeded_clearsFlagWithoutTouchingCapturedCreds 2ms
โœ… AuthReducerTests testErrorCleared_dropsPriorErrorWithoutTouchingOtherFields 2ms
โœ… AuthReducerTests testLoggingInAfterSignUpFlagSet_storesValue 2ms
โœ… AuthReducerTests testRefreshAuthStarted_basicAuth_neverArmsBypass 2ms
โœ… AuthReducerTests testRefreshAuthStarted_oauthNonExisting_armsIgnoreSignedInState 2ms
โœ… AuthReducerTests testRefreshAuthStarted_oidcNonExisting_armsIgnoreSignedInState 2ms
โœ… AuthReducerTests testRefreshAuthStarted_samlNonExisting_armsIgnoreSignedInState 2ms
โœ… AuthReducerTests testRefreshAuthStarted_samlWithExistingCredentials_doesNotArmBypass 8ms
โœ… AuthReducerTests testRefreshAuthStarted_tokenAuth_neverArmsBypass 4ms
โœ… AuthReducerTests testSignOutCompleted_resetsToInitialState 2ms
โœ… AuthReducerTests testUserAccountUpdated_clearsAllInFlightAuthState 3ms
โœ… AuthTypeTests testAuthType_AnonymousRawValue_IsCorrect 2ms
โœ… AuthTypeTests testAuthType_BasicRawValue_IsCorrect 5ms
โœ… AuthTypeTests testAuthType_CoppaRawValue_IsCorrect 5ms
โœ… AuthTypeTests testAuthType_InitFromInvalidString_ReturnsNil 14ms
โœ… AuthTypeTests testAuthType_OAuthRawValue_IsCorrect 4ms
โœ… AuthTypeTests testAuthType_SamlRawValue_IsCorrect 3ms
โœ… AuthTypeTests testAuthType_TokenRawValue_IsCorrect 2ms
โœ… AuthenticationTests testCatalogRequiresAuthentication_ForBasicType_ReturnsFalse 2ms
โœ… AuthenticationTests testCatalogRequiresAuthentication_ForOAuthType_ReturnsTrue 2ms
โœ… AuthenticationTests testCoppaURL_WhenOfAge_ReturnsOverUrl 2ms
โœ… AuthenticationTests testCoppaURL_WhenUnderAge_ReturnsUnderUrl 2ms
โœ… AuthenticationTests testIsBasic_ForBasicType_ReturnsTrue 2ms
โœ… AuthenticationTests testIsOauth_ForOAuthType_ReturnsTrue 3ms
โœ… AuthenticationTests testIsSaml_ForSamlType_ReturnsTrue 3ms
โœ… AuthenticationTests testIsToken_ForTokenType_ReturnsTrue 2ms
โœ… AuthenticationTests testNeedsAgeCheck_ForBasicType_ReturnsFalse 7ms
โœ… AuthenticationTests testNeedsAgeCheck_ForCoppaType_ReturnsTrue 2ms
โœ… AuthenticationTests testNeedsAuth_ForAnonymousType_ReturnsFalse 5ms
โœ… AuthenticationTests testNeedsAuth_ForBasicType_ReturnsTrue 3ms
โœ… AuthenticationTests testNeedsAuth_ForCoppaType_ReturnsFalse 2ms
โœ… AuthenticationTests testNeedsAuth_ForOAuthType_ReturnsTrue 3ms
โœ… AuthenticationTests testNeedsAuth_ForSamlType_ReturnsTrue 3ms
โœ… AuthenticationTests testNeedsAuth_ForTokenType_ReturnsTrue 3ms
โœ… BackgroundDownloadHandlerTests testDetectRightsManagement_adobeAdept 3ms
โœ… BackgroundDownloadHandlerTests testDetectRightsManagement_bearerToken 6ms
โœ… BackgroundDownloadHandlerTests testDetectRightsManagement_epubZip 3ms
โœ… BackgroundDownloadHandlerTests testDetectRightsManagement_readiumLCP 6ms
โœ… BackgroundDownloadHandlerTests testDetectRightsManagement_unknownType 5ms
โœ… BackgroundDownloadHandlerTests testHandleDownloadProgress_firstBytes_detectsMimeType 11ms
โœ… BackgroundDownloadHandlerTests testHandleDownloadProgress_noDelegate_doesNotCrash 6ms
โœ… BackgroundDownloadHandlerTests testInit_withDelegate 6ms
โœ… BackgroundDownloadHandlerTests testInit_withoutDelegate 3ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_applicationXml 2ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_atomXml 2ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_caseInsensitive 2ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_epub_returnsFalse 2ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_html_returnsFalse 5ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_json_returnsFalse 4ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_opdsCatalog 4ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_textXml 3ms
โœ… BackgroundDownloadHandlerTests testMoveFile_moveFailure_logsError 7ms
โœ… BackgroundDownloadHandlerTests testMoveFile_noDelegate_returnsFalse 6ms
โœ… BackgroundDownloadHandlerTests testMoveFile_noFileUrl_returnsFalse 10ms
โœ… BackgroundDownloadHandlerTests testMoveFile_success_setsDownloadSuccessful 12ms
โœ… BackgroundDownloadHandlerTests testReplaceBook_existingFile_replacesIt 19ms
โœ… BackgroundDownloadHandlerTests testReplaceBook_noDelegate_returnsFalse 7ms
โœ… BackgroundDownloadHandlerTests testReplaceBook_noFileUrl_returnsFalse 9ms
โœ… BackgroundDownloadHandlerTests testReplaceBook_success_setsDownloadSuccessful 9ms
โœ… BackgroundDownloadHandlerTests testValidateDownloadedFile_emptyFile_returnsFalse 8ms
โœ… BackgroundDownloadHandlerTests testValidateDownloadedFile_existingFileWithContent_returnsTrue 7ms
โœ… BackgroundDownloadHandlerTests testValidateDownloadedFile_missingFile_returnsFalse 10ms
โœ… BackgroundListenerTests testOpenAccessListenerIdentifiesCorrectSessions 9ms
โœ… BackgroundListenerTests testOverdriveListenerIdentifiesCorrectSessions 24ms
โœ… BackupExclusionMigrationTests test_run_continuesAfterMissingRoot_doesNotPoisonSubsequentRoots 75ms
โœ… BackupExclusionMigrationTests test_run_flagsFilesAddedBetweenInvocations 7ms
โœ… BackupExclusionMigrationTests test_run_recursivelyFlagsEveryFileAndDirectory 5ms
โœ… BadgeDefinitionTests testBadgeCatalog_ContainsAllBadges 7ms
โœ… BadgeDefinitionTests testBadgeCatalog_HasUniqueIDs 2ms
โœ… BadgeDefinitionTests testFiftyBooksClub_CapsAtOne 2ms
โœ… BadgeDefinitionTests testFiftyBooksClub_FailingCriteria 5ms
โœ… BadgeDefinitionTests testFiftyBooksClub_Metadata 6ms
โœ… BadgeDefinitionTests testFiftyBooksClub_PassingCriteria 4ms
โœ… BadgeDefinitionTests testFiftyBooksClub_ProgressCalculation 13ms
โœ… BadgeDefinitionTests testHundredBooksClub_FailingCriteria 2ms
โœ… BadgeDefinitionTests testHundredBooksClub_Metadata 4ms
โœ… BadgeDefinitionTests testHundredBooksClub_PassingCriteria 3ms
โœ… BadgeDefinitionTests testHundredBooksClub_ProgressCalculation 6ms
โœ… BadgeDefinitionTests testHundredBooksClub_ZeroCompletions 2ms
โœ… BadgeDefinitionTests testMakeBadge_DefaultsToNotEarned 2ms
โœ… BadgeDefinitionTests testMakeBadge_ProducesCorrectBadge 2ms
โœ… BadgeDefinitionTests testSpeedReader_FailingCriteria_MultiDayRead 3ms
โœ… BadgeDefinitionTests testSpeedReader_Metadata 4ms
โœ… BadgeDefinitionTests testSpeedReader_PassingCriteria_SameDayStartAndFinish 2ms
โœ… BadgeDefinitionTests testSpeedReader_ProgressWithCompletionsButNoneSameDay 2ms
โœ… BadgeDefinitionTests testSpeedReader_ZeroProgress_NoCompletions 3ms
โœ… BadgeDefinitionTests testStreakImmortal_CapsAtOne 2ms
โœ… BadgeDefinitionTests testStreakImmortal_FailingCriteria 3ms
โœ… BadgeDefinitionTests testStreakImmortal_Metadata 2ms
โœ… BadgeDefinitionTests testStreakImmortal_PassingCriteria 3ms
โœ… BadgeDefinitionTests testStreakImmortal_ProgressCalculation 4ms
โœ… BadgeDefinitionTests testStreakLegend_FailingCriteria 6ms
โœ… BadgeDefinitionTests testStreakLegend_Metadata 3ms
โœ… BadgeDefinitionTests testStreakLegend_PassingCriteria 3ms
โœ… BadgeDefinitionTests testStreakLegend_ProgressCalculation 2ms
โœ… BadgeDefinitionTests testStreakLegend_UsesLongestStreak 4ms
โœ… BadgeDefinitionTests testWeekendWarrior_FailingCriteria_NoWeekendSessions 6ms
โœ… BadgeDefinitionTests testWeekendWarrior_Metadata 6ms
โœ… BadgeDefinitionTests testWeekendWarrior_PassingCriteria_FourConsecutiveWeekends 3ms
โœ… BadgeDefinitionTests testWeekendWarrior_ProgressCalculation_TwoWeekends 9ms
โœ… BadgeServiceTests testAllBadgesAreDefined 7ms
โœ… BadgeServiceTests testAudiobookAdventurerEarned 5ms
โœ… BadgeServiceTests testBadgeEarnedNotificationFires 101ms
โœ… BadgeServiceTests testEarlyBirdBadge 10ms
โœ… BadgeServiceTests testFirstBookFinishedBadge 5ms
โœ… BadgeServiceTests testFirstBookNotEarnedWithNoCompletions 5ms
โœ… BadgeServiceTests testGenreExplorerProgress 4ms
โœ… BadgeServiceTests testInProgressBadges 485ms
โœ… BadgeServiceTests testLibraryExplorerProgress 218ms
โœ… BadgeServiceTests testLockedBadges 6ms
โœ… BadgeServiceTests testMarathonReaderEarned 10ms
โœ… BadgeServiceTests testMarathonReaderProgress 4ms
โœ… BadgeServiceTests testNightOwlBadge 9ms
โœ… BadgeServiceTests testStreakMasterProgress 109ms
โœ… BadgeServiceTests testTenBooksClubEarned 12ms
โœ… BadgeServiceTests testTenBooksClubProgress 20ms
โœ… BadgesViewModelTests testBadgeCategories_AreMutuallyExclusive 2ms
โœ… BadgesViewModelTests testInitialState_HasEmptyBadgeLists 2ms
โœ… BadgesViewModelTests testInitialState_IsNotLoading 2ms
โœ… BadgesViewModelTests testInitialState_NoSelectedBadge 7ms
โœ… BadgesViewModelTests testLoad_PopulatesEarnedBadges 2ms
โœ… BadgesViewModelTests testLoad_PopulatesInProgressBadges 5ms
โœ… BadgesViewModelTests testLoad_PopulatesLockedBadges 6ms
โœ… BadgesViewModelTests testLoad_SetsIsLoadingFalseOnCompletion 7ms
โœ… BadgesViewModelTests testNewBadgeNotification_AddsToBadgeIDs 3ms
โœ… BadgesViewModelTests testNewBadgeNotification_TriggersReload 59ms
โœ… BadgesViewModelTests testProgressSummary_FormatsCorrectly 6ms
โœ… BadgesViewModelTests testProgressSummary_ZeroEarned 3ms
โœ… BadgesViewModelTests testSelectBadge_SetsSelectedBadge 3ms
โœ… BadgesViewModelTests testTotalBadgesCount_MatchesCatalogCount 1ms
โœ… BasicAuthEmptyCredentialTests testHandleChallenge_EmptyUsername_StillUsesCredential 2ms
โœ… BasicAuthEmptyCredentialTests testHandleChallenge_NilPassword_CancelsChallenge 4ms
โœ… BasicAuthEmptyCredentialTests testHandleChallenge_NilUsername_CancelsChallenge 2ms
โœ… BasicAuthEmptyCredentialTests testHandleChallenge_ValidCredentials_UsesCredentialWithNoPersistence 2ms
โœ… BearerTokenFulfillFlowTests testFulfillURL_andManifestURL_areDifferentEndpoints 3ms
โœ… BearerTokenFulfillFlowTests testFullFlow_bearerTokenWithExpiredManifestFetch_returnsNil 15ms
โœ… BearerTokenFulfillFlowTests testFullFlow_fulfillReturnsBearerToken_thenManifestIsFetched 14ms
โœ… BearerTokenFulfillFlowTests testFullFlow_manifestResponseIsNotMistakenForBearerToken 2ms
โœ… BearerTokenRefreshTests testRefreshRequest_includesAuthHeader 5ms
โœ… BearerTokenRefreshTests testRefreshRequest_withoutToken_noAuthHeader 2ms
โœ… BearerTokenRefreshTests testSimplifiedBearerToken_isExpired_withPastDate 4ms
โœ… BearerTokenRefreshTests testSimplifiedBearerToken_isNotExpired_withFutureDate 3ms
โœ… BearerTokenResponseDetectionTests testAudiobookManifestJSON_isNotMistakenForBearerToken 6ms
โœ… BearerTokenResponseDetectionTests testBearerTokenJSON_isDetectedCorrectly 11ms
โœ… BearerTokenResponseDetectionTests testBearerTokenJSON_withExpirationKey_isDetected 12ms
โœ… BearerTokenResponseDetectionTests testManifestWithAccessTokenKey_butNoLocation_isNotBearerToken 3ms
โœ… BearerTokenResponseDetectionTests testManifestWithLocationKey_butNoAccessToken_isNotBearerToken 4ms
โœ… BearerTokenResponseDetectionTests testNonBearerJSONShapes_areRejected 6ms
โœ… BearerTokenResponseDetectionTests testProblemDocumentJSON_isNotBearerToken 3ms
โœ… BookAvailabilityFormatterTests test_isDate_crossDayBoundary 4ms
โœ… BookAvailabilityFormatterTests test_isDate_crossYearBoundary 4ms
โœ… BookAvailabilityFormatterTests test_isDate_emptyStrings_returnsFalse 4ms
โœ… BookAvailabilityFormatterTests test_isDate_invalidDateStrings_returnsFalse 3ms
โœ… BookAvailabilityFormatterTests test_isDate_moreRecentThan_newerDate_isMoreRecent 4ms
โœ… BookAvailabilityFormatterTests test_isDate_moreRecentThan_olderDate_notMoreRecent 4ms
โœ… BookAvailabilityFormatterTests test_isDate_moreRecentThan_sameDate_notMoreRecent 15ms
โœ… BookAvailabilityFormatterTests test_isDate_negativeDelay_makesNewerDateFail 23ms
โœ… BookAvailabilityFormatterTests test_isDate_newerDateWithDelay_alwaysPasses 5ms
โœ… BookAvailabilityFormatterTests test_isDate_oneSecondDifference_noDelay 23ms
โœ… BookAvailabilityFormatterTests test_isDate_sameTimestamp_withSmallDelay_returnsTrue 4ms
โœ… BookAvailabilityFormatterTests test_isDate_withInsufficientDelay_olderDateStillFails 4ms
โœ… BookAvailabilityFormatterTests test_isDate_withPositiveDelay_makesOlderDatePassAsNewer 5ms
โœ… BookAvailabilityFormatterTests test_syncDecision_bothExist_localNewer_usesLocal 3ms
โœ… BookAvailabilityFormatterTests test_syncDecision_bothExist_remoteNewer_promptsSync 6ms
โœ… BookAvailabilityFormatterTests test_syncDecision_localExistsRemoteNil_localIsUsed 1ms
โœ… BookAvailabilityFormatterTests test_syncDecision_localNilRemoteExists_remoteIsNewer 1ms
โœ… BookAvailabilityFormatterTests test_syncDecision_localNilRemoteNil_noSync 3ms
โœ… BookButtonMapperHoldReadyTests testMap_DownloadingState_Unaffected 2ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_LimitedNoCopiesAvailability_ReturnsHolding 2ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_LimitedWithCopiesAvailability_ReturnsHolding 4ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_NilAvailability_ReturnsHolding 2ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_ReadyAvailability_ReturnsCanBorrow 35ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_ReservedAvailability_ReturnsHolding 3ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_UnavailableAvailability_ReturnsHolding 3ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_UnlimitedAvailability_ReturnsHolding 3ms
โœ… BookButtonMapperHoldReadyTests testMap_ProcessingDownload_Unaffected 2ms
โœ… BookButtonMapperHoldReadyTests testStateForAvailability_dispatchesEachAvailabilityToItsExpectedButtonState 3ms
โœ… BookButtonMapperTests testAllRegistryStatesAreMapped 16ms
โœ… BookButtonMapperTests testMapDownloadFailed 37ms
โœ… BookButtonMapperTests testMapDownloadNeeded 5ms
โœ… BookButtonMapperTests testMapDownloadSuccessful 3ms
โœ… BookButtonMapperTests testMapDownloading 4ms
โœ… BookButtonMapperTests testMapHolding 93ms
โœ… BookButtonMapperTests testMapReturning 3ms
โœ… BookButtonMapperTests testMapSAMLStarted 3ms
โœ… BookButtonMapperTests testMapUsed 6ms
โœ… BookButtonMapperTests testMappingIsDeterministic 4ms
โœ… BookButtonMapperTests testProcessingDownloadOverridesDownloadSuccessful 4ms
โœ… BookButtonMapperTests testProcessingDownloadOverridesState 6ms
โœ… BookButtonMapperTests testStateForNilAvailability 4ms
โœ… BookButtonMapperTests testUnregisteredWithNilAvailability 7ms
โœ… BookButtonMapperViewModelTests testMap_DownloadFailed_ReturnsDownloadFailed 4ms
โœ… BookButtonMapperViewModelTests testMap_DownloadNeeded_ReturnsDownloadNeeded 2ms
โœ… BookButtonMapperViewModelTests testMap_DownloadSuccessful_ReturnsDownloadSuccessful 4ms
โœ… BookButtonMapperViewModelTests testMap_DownloadingPrioritizedOverAvailability 2ms
โœ… BookButtonMapperViewModelTests testMap_Downloading_ReturnsDownloadInProgress 4ms
โœ… BookButtonMapperViewModelTests testMap_Holding_WithNilAvailability_ReturnsHolding 2ms
โœ… BookButtonMapperViewModelTests testMap_Holding_WithReadyAvailability_ReturnsCanBorrow 2ms
โœ… BookButtonMapperViewModelTests testMap_Holding_WithReservedAvailability_ReturnsHolding 3ms
โœ… BookButtonMapperViewModelTests testMap_IsProcessingDownload_ReturnsDownloadInProgress 2ms
โœ… BookButtonMapperViewModelTests testMap_Returning_ReturnsReturning 2ms
โœ… BookButtonMapperViewModelTests testMap_Unregistered_WithLimitedAvailability_CopiesAvailable_ReturnsCanBorrow 6ms
โœ… BookButtonMapperViewModelTests testMap_Unregistered_WithNilAvailability_ReturnsUnsupported 4ms
โœ… BookButtonMapperViewModelTests testMap_Unregistered_WithUnavailability_ReturnsCanHold 3ms
โœ… BookButtonMapperViewModelTests testMap_Unregistered_WithUnlimitedAvailability_ReturnsCanBorrow 7ms
โœ… BookButtonMapperViewModelTests testMap_Used_ReturnsUsed 2ms
โœ… BookButtonMapperViewModelTests testStateForAvailability_Nil_ReturnsNil 2ms
โœ… BookButtonMapperViewModelTests testStateForAvailability_Ready_ReturnsCanBorrow 3ms
โœ… BookButtonMapperViewModelTests testStateForAvailability_Reserved_ReturnsHoldingFrontOfQueue 4ms
โœ… BookButtonStateTests testAllCases 6ms
โœ… BookButtonStateTests testDownloadFailed_cancelAndRetry 17ms
โœ… BookButtonStateTests testDownloadInProgress_cancelButton 10ms
โœ… BookButtonStateTests testEquatable 6ms
โœ… BookButtonStateTests testReturning_returningButton 7ms
โœ… BookButtonStateTests testStateForAvailability_nilAvailability 2ms
โœ… BookButtonStateTests testStateForAvailability_unlimited 5ms
โœ… BookButtonStateTests testUnsupported_emptyButtons 4ms
โœ… BookButtonTypeTests testAllCases_haveRawValues 2ms
โœ… BookButtonTypeTests testBorderColor 2ms
โœ… BookButtonTypeTests testButtonBackgroundColor 2ms
โœ… BookButtonTypeTests testButtonStyle_destructive 2ms
โœ… BookButtonTypeTests testButtonStyle_primary 2ms
โœ… BookButtonTypeTests testButtonStyle_secondary 2ms
โœ… BookButtonTypeTests testButtonStyle_tertiary 4ms
โœ… BookButtonTypeTests testButtonTextColor 13ms
โœ… BookButtonTypeTests testDisplaysIndicator_falseForOthers 3ms
โœ… BookButtonTypeTests testDisplaysIndicator_trueForExpected 2ms
โœ… BookButtonTypeTests testHasBorder 5ms
โœ… BookButtonTypeTests testIsPrimary 3ms
โœ… BookButtonTypeTests testTitle_returnsNonEmptyStrings 5ms
โœ… BookCellModelActionTests testAcquireReaderPresentationLock_FirstCall_Succeeds 6ms
โœ… BookCellModelActionTests testAcquireReaderPresentationLock_ReleasesAfterDelay 531ms
โœ… BookCellModelActionTests testAcquireReaderPresentationLock_SecondRapidCall_IsBlocked 6ms
โœ… BookCellModelActionTests testCancelHold_AlertContainsBookTitle 7ms
โœ… BookCellModelActionTests testCancelHold_AlertHasBothPrimaryAndDistinctCancelButton 8ms
โœ… BookCellModelActionTests testCancelHold_CancellingAlert_DoesNotSetReturningState 55ms
โœ… BookCellModelActionTests testCancelHold_ConfirmingAlert_SetsReturningState 8ms
โœ… BookCellModelActionTests testCancelHold_DoesNotStartReturnImmediately 8ms
โœ… BookCellModelActionTests testCancelHold_ShowsConfirmationAlert_BeforeRevoking 6ms
โœ… BookCellModelActionTests testRemove_doesNotShowAlertImmediatelyOrAfterDrain 13ms
โœ… BookCellModelActionTests testReturn_AlertContainsBookTitle 8ms
โœ… BookCellModelActionTests testReturn_AlertHasBothPrimaryAndDistinctCancelButton 7ms
โœ… BookCellModelActionTests testReturn_CancellingAlert_DoesNotSetReturningState 5ms
โœ… BookCellModelActionTests testReturn_CancellingAlert_ResetsIsLoading 5ms
โœ… BookCellModelActionTests testReturn_ConfirmingAlert_DismissesAlert 9ms
โœ… BookCellModelActionTests testReturn_ConfirmingAlert_SetsReturningState 34ms
โœ… BookCellModelActionTests testReturn_DoesNotStartReturnImmediately 11ms
โœ… BookCellModelActionTests testReturn_ShowsConfirmationAlert_BeforeRevoking 6ms
โœ… BookCellModelCacheInvalidationTests testCacheInvalidatesDownloadingToFailed 19ms
โœ… BookCellModelCacheInvalidationTests testCacheInvalidatesDownloadingToSuccessful 11ms
โœ… BookCellModelCacheInvalidationTests testCacheInvalidatesFailedToSuccessful 16ms
โœ… BookCellModelCacheInvalidationTests testCacheInvalidatesOnDirectInvalidation 19ms
โœ… BookCellModelCacheInvalidationTests testCacheReturnsDifferentModelsForDifferentBooks 14ms
โœ… BookCellModelCacheInvalidationTests testCacheReturnsSameModel 8ms
โœ… BookCellModelCacheInvalidationTests testClearAllRemovesAllModels 28ms
โœ… BookCellModelCacheInvalidationTests testInvalidateForSpecificBook 24ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_EmptyBooksArray_DoesNotCrash 3ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_EmptyBooksArray_WithNonZeroRange_DoesNotCrash 4ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_EndOfList_DoesNotAccessBeyondBounds 38ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_LargeBuffer_ClampsToArraySize 40ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_NegativeBufferRange_ClampsToZero 42ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_NormalRange_PreloadsModels 64ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_RangeExceedsArraySize_DoesNotCrash 24ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_SingleElementArray_DoesNotCrash 10ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_StartOfList_DoesNotAccessNegativeIndex 43ms
โœ… BookCellModelCacheTests testAggressiveConfiguration_HasLargerValues 6ms
โœ… BookCellModelCacheTests testCacheWithSameIdentifierDifferentUpdatedDate 15ms
โœ… BookCellModelCacheTests testClear 20ms
โœ… BookCellModelCacheTests testConcurrentAccess_DoesNotCrash 141ms
โœ… BookCellModelCacheTests testDefaultConfiguration_HasReasonableValues 3ms
โœ… BookCellModelCacheTests testDifferentBooksGetDifferentModels 20ms
โœ… BookCellModelCacheTests testDirectInvalidation_RefreshesModel 29ms
โœ… BookCellModelCacheTests testDirectInvalidation_WorksForHoldingState 12ms
โœ… BookCellModelCacheTests testDirectInvalidation_WorksForStateTransitions 26ms
โœ… BookCellModelCacheTests testEmptyCache_survivesAllPublicMutatorsWithoutCrashOrSpuriousEntries 8ms
โœ… BookCellModelCacheTests testInvalidate 16ms
โœ… BookCellModelCacheTests testInvalidateMultiple 22ms
โœ… BookCellModelCacheTests testLRUEviction 78ms
โœ… BookCellModelCacheTests testMemoryWarning 62ms
โœ… BookCellModelCacheTests testModelCreation 11ms
โœ… BookCellModelCacheTests testModelReuse_returnsSameInstanceAndDoesNotGrowCacheCount 10ms
โœ… BookCellModelCacheTests testModelUpdate_SameInstance_DoesNotMutateBook 13ms
โœ… BookCellModelCacheTests testModelUpdate_SwapsInstance_IgnoringTimestamp 17ms
โœ… BookCellModelCacheTests testModelUpdate_WithNewerBook_DefersUpdateToTask 15ms
โœ… BookCellModelCacheTests testModelUpdate_WithSameBook_DoesNotUpdate 11ms
โœ… BookCellModelCacheTests testModelUpdatesWhenBookChanges 17ms
โœ… BookCellModelCacheTests testPreload 38ms
โœ… BookCellModelComputedPropertyTests testAuthors_ReturnsBookAuthors 11ms
โœ… BookCellModelComputedPropertyTests testAuthors_ReturnsEmptyStringWhenNil 4ms
โœ… BookCellModelComputedPropertyTests testBookState_ReturnsRegistryStateByDefault 5ms
โœ… BookCellModelComputedPropertyTests testBookState_SetToNonReturning_ClearsOverride 5ms
โœ… BookCellModelComputedPropertyTests testBookState_SetToReturning_OverridesRegistryState 8ms
โœ… BookCellModelComputedPropertyTests testButtonTypes_WhenReturning_UsesReturningState 18ms
โœ… BookCellModelComputedPropertyTests testIsManagingHold_DefaultsFalse 17ms
โœ… BookCellModelComputedPropertyTests testIsProcessing_ReturnsIsLoading 6ms
โœ… BookCellModelComputedPropertyTests testLoadBookCoverImage_UsesCachedImage 37ms
โœ… BookCellModelComputedPropertyTests testShowHalfSheet_CanBeToggled 7ms
โœ… BookCellModelComputedPropertyTests testShowHalfSheet_DefaultsFalse 4ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_FalseForDownloadFailed 5ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_FalseForDownloading 7ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_FalseForHolding 331ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_FalseForUnregistered 4ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_FalseForUsed 6ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_TrueForDownloadSuccessful 127ms
โœ… BookCellModelComputedPropertyTests testStatePublisher_EmitsOnIsLoadingChange 5ms
โœ… BookCellModelComputedPropertyTests testTitle_ReturnsBookTitle 4ms
โœ… BookCellModelOfflineTests testDidSelectDownload_whenOffline_doesNotInvokeDownloadCenter 45ms
โœ… BookCellModelOfflineTests testDidSelectDownload_whenOffline_doesNotSetIsLoading 21ms
โœ… BookCellModelOfflineTests testDidSelectDownload_whenOffline_surfacesRetryableNoConnectionAlert 15ms
โœ… BookCellModelOfflineTests testDidSelectDownload_whenOnline_proceedsWithoutAlert 12ms
โœ… BookCellModelOfflineTests testDidSelectReserve_whenOffline_doesNotSetIsLoading 23ms
โœ… BookCellModelOfflineTests testReachabilityDropsToOffline_whileLoading_clearsLoadingAndShowsAlert 65ms
โœ… BookCellModelOfflineTests testReachabilityInitialState_offline_withoutLoading_doesNotShowAlert 10ms
โœ… BookCellModelOfflineTests testReachabilityRecovers_doesNotAutoStartDownload 57ms
โœ… BookCellModelOfflineTests testReadAction_whenOffline_isNotGatedByReachability 45ms
โœ… BookCellModelRegistryBindingTests testRegistryStateChange_ClearsLoadingForTerminalStates 16ms
โœ… BookCellModelRegistryBindingTests testRegistryStateChange_IgnoresOtherBookIds 232ms
โœ… BookCellModelRegistryBindingTests testRegistryStateChange_ToDownloadFailed_ClearsLoading 14ms
โœ… BookCellModelRegistryBindingTests testRegistryStateChange_UpdatesRegistryState 10ms
โœ… BookCellModelStateTests testBookCellStateButtonState_MapsThroughCorrectly 4ms
โœ… BookCellModelStateTests testBookCellStateForDownloadFailed 15ms
โœ… BookCellModelStateTests testBookCellStateForDownloadInProgress 12ms
โœ… BookCellModelStateTests testBookCellStateForDownloadSuccessful 13ms
โœ… BookCellModelStateTests testDownloadErrorRoutesToCellAlertWhenHalfSheetHidden 18ms
โœ… BookCellModelStateTests testDownloadErrorRoutesToHalfSheetAlertWhenHalfSheetVisible 29ms
โœ… BookCellModelStateTests testInitialStateForDownloadFailed 6ms
โœ… BookCellModelStateTests testInitialStateForDownloadNeeded 6ms
โœ… BookCellModelStateTests testInitialStateForDownloading 8ms
โœ… BookCellModelStateTests testInitialStateForHolding 12ms
โœ… BookCellModelStateTests testInitialStateForUnregisteredBook 7ms
โœ… BookCellModelStateTests testInitialStateMatchesRegistry 7ms
โœ… BookCellModelStateTests testIsLoading_EmitsViaStatePublisher_WhenChanged 12ms
โœ… BookCellModelStateTests testIsLoading_SettlesFalseAfterImageFetchCompletes 16ms
โœ… BookCellModelStateTests testValidateStateConsistencyDetectsMismatch 24ms
โœ… BookCellModelStateTests testValidateStateConsistencyPasses 9ms
โœ… BookCellStateComprehensiveTests testBookCellState_CanBorrow_MapsToNormal 2ms
โœ… BookCellStateComprehensiveTests testBookCellState_CanHold_MapsToNormal 10ms
โœ… BookCellStateComprehensiveTests testBookCellState_DownloadFailed_MapsToDownloadFailed 2ms
โœ… BookCellStateComprehensiveTests testBookCellState_DownloadInProgress_MapsToDownloading 2ms
โœ… BookCellStateComprehensiveTests testBookCellState_DownloadNeeded_MapsToNormal 4ms
โœ… BookCellStateComprehensiveTests testBookCellState_HoldingFrontOfQueue_MapsToNormal 3ms
โœ… BookCellStateComprehensiveTests testBookCellState_Holding_MapsToNormal 3ms
โœ… BookCellStateComprehensiveTests testBookCellState_ManagingHold_MapsToNormal 7ms
โœ… BookCellStateComprehensiveTests testBookCellState_Returning_MapsToNormal 2ms
โœ… BookCellStateComprehensiveTests testBookCellState_Unsupported_MapsToNormal 2ms
โœ… BookCellStateComprehensiveTests testBookCellState_Used_MapsToNormal 5ms
โœ… BookCellStateComprehensiveTests testButtonState_ExtractionFromDownloadFailed 3ms
โœ… BookCellStateComprehensiveTests testButtonState_ExtractionFromDownloading 27ms
โœ… BookCellStateComprehensiveTests testButtonState_ExtractionFromNormal 2ms
โœ… BookContentResetServiceTests testPurge_force_invokesEvenWithActiveAudiobooks 15ms
โœ… BookContentResetServiceTests testResetAccount_otherAccount_removesContentDirectory 16ms
โœ… BookDetailMetadataHydrationTests testHydrate_PopulatesAudienceAndLanguageFromAlternateFeed 8ms
โœ… BookDetailMetadataHydrationTests testHydrate_PreservesAcquisitionAndNavigationalURLs 28ms
โœ… BookDetailMetadataHydrationTests testHydrate_TriggeredWhenOnlyAudienceOrLanguageMissing_DoesNotFireIfOthersPopulated 36ms
โœ… BookDetailMetadataHydrationTests testHydrate_WhenAllTargetFieldsEmpty_PopulatesFromAlternateFeed 15ms
โœ… BookDetailMetadataHydrationTests testHydrate_WhenMetadataAlreadyPresent_DoesNotFetch 17ms
โœ… BookDetailMetadataHydrationTests testHydrate_WhenNoAlternateURL_DoesNotFetch 24ms
โœ… BookDetailViewModelTests testAllBookStates_HaveValidMapping 4ms
โœ… BookDetailViewModelTests testAllButtonStates_HaveValidButtonTypes 74ms
โœ… BookDetailViewModelTests testAvailability_Nil_ReturnsNil 4ms
โœ… BookDetailViewModelTests testAvailability_Unlimited_MapsToCanBorrow 3ms
โœ… BookDetailViewModelTests testBookContentType_Audiobook 11ms
โœ… BookDetailViewModelTests testBookContentType_EPUB 5ms
โœ… BookDetailViewModelTests testBookContentType_PDF 8ms
โœ… BookDetailViewModelTests testBookLane_Creation 9ms
โœ… BookDetailViewModelTests testBookLane_EmptyBooks 2ms
โœ… BookDetailViewModelTests testBookLane_WithNilURL 5ms
โœ… BookDetailViewModelTests testBookState_SetReturning_SetsLocalOverride_HidesViaRegistryOnlyWhenUnregistered 14ms
โœ… BookDetailViewModelTests testBookState_SetUnregistered_ClearsLocalOverride 5ms
โœ… BookDetailViewModelTests testBook_GetExpirationDate_ReturnsDate_WhenLimitedAvailability 13ms
โœ… BookDetailViewModelTests testBook_GetExpirationDate_ReturnsNilForUnborrowed 5ms
โœ… BookDetailViewModelTests testButtonState_DownloadFailed_MapsToDownloadFailed 9ms
โœ… BookDetailViewModelTests testButtonState_DownloadNeeded_MapsToDownloadNeeded 2ms
โœ… BookDetailViewModelTests testButtonState_DownloadSuccessful_MapsToDownloadSuccessful 2ms
โœ… BookDetailViewModelTests testButtonState_Downloading_MapsToDownloadInProgress 2ms
โœ… BookDetailViewModelTests testButtonState_Holding_MapsToHolding 2ms
โœ… BookDetailViewModelTests testButtonState_IsProcessingDownload_MapsToDownloadInProgress 2ms
โœ… BookDetailViewModelTests testButtonState_Returning_MapsToReturning 2ms
โœ… BookDetailViewModelTests testButtonState_ReturnsStableButtonState 5ms
โœ… BookDetailViewModelTests testButtonState_Unregistered_MapsToCanBorrow 2ms
โœ… BookDetailViewModelTests testButtonState_Used_MapsToUsed 2ms
โœ… BookDetailViewModelTests testButtonTypesProvider_DelegatesToStableButtonState 45ms
โœ… BookDetailViewModelTests testButtonTypes_CanBorrowAudiobookWithSample_IncludesAudiobookSample 12ms
โœ… BookDetailViewModelTests testButtonTypes_CanBorrowWithSample_IncludesSampleButton 12ms
โœ… BookDetailViewModelTests testButtonTypes_CanBorrow_ReturnsGetButton 11ms
โœ… BookDetailViewModelTests testButtonTypes_CanHold_ReturnsReserveButton 9ms
โœ… BookDetailViewModelTests testButtonTypes_DownloadFailed_ReturnsCancelAndRetry 10ms
โœ… BookDetailViewModelTests testButtonTypes_DownloadInProgress_ReturnsCancelButton 10ms
โœ… BookDetailViewModelTests testButtonTypes_DownloadSuccessful_AudiobookReturnsListen 14ms
โœ… BookDetailViewModelTests testButtonTypes_DownloadSuccessful_EpubReturnsRead 17ms
โœ… BookDetailViewModelTests testButtonTypes_PreviewDisabled_ExcludesSampleButton 31ms
โœ… BookDetailViewModelTests testButtonTypes_Returning_ReturnsReturningButton 11ms
โœ… BookDetailViewModelTests testButtonTypes_Unsupported_ReturnsEmpty 6ms
โœ… BookDetailViewModelTests testCredentialCheck_AllowsActionWhenLoggedIn 8ms
โœ… BookDetailViewModelTests testCredentialCheck_PreventsActionWhenNotLoggedIn 2ms
โœ… BookDetailViewModelTests testDidSelectCancel_ResetsDownloadProgress 8ms
โœ… BookDetailViewModelTests testDownloadProgress_IgnoresDifferentBook 526ms
โœ… BookDetailViewModelTests testDownloadProgress_NeverGoesBackwards 17ms
โœ… BookDetailViewModelTests testEnsureAuthPattern_ChecksCredentialsAfterModalDismiss 4ms
โœ… BookDetailViewModelTests testFetchRelatedBooks_NilURL_IsNoOp_AndDoesNotSetLoading 5ms
โœ… BookDetailViewModelTests testHalfSheet_DismissedOnHoldPlaced 2ms
โœ… BookDetailViewModelTests testHalfSheet_DismissedOnUnregistered 2ms
โœ… BookDetailViewModelTests testHalfSheet_StaysOpenDuringDownload 4ms
โœ… BookDetailViewModelTests testHalfSheet_StaysOpenOnDownloadFailed 4ms
โœ… BookDetailViewModelTests testHalfSheet_StaysOpenOnDownloadSuccess 3ms
โœ… BookDetailViewModelTests testHalfSheet_StaysOpenOnUsedState 4ms
โœ… BookDetailViewModelTests testHandleAction_Cancel_ResetsDownloadProgressToZero 7ms
โœ… BookDetailViewModelTests testHandleAction_Close_DoesNothingButInsertsProcessing 9ms
โœ… BookDetailViewModelTests testHandleAction_DuplicateTap_IsIgnored 5ms
โœ… BookDetailViewModelTests testHandleAction_ManageHold_SetsManagingHoldAndHoldingState 5ms
โœ… BookDetailViewModelTests testHandleBookRegistryChange_UpdatesBookFromRegistry 9ms
โœ… BookDetailViewModelTests testHoldingState_ButtonTypesIncludeHoldManagement 11ms
โœ… BookDetailViewModelTests testHoldingState_MapsFromBorrowAttempt 2ms
โœ… BookDetailViewModelTests testIsFullSize_ReturnsFalseOnNonIpad 10ms
โœ… BookDetailViewModelTests testIsProcessing_ReturnsTrueWhenButtonInSet 6ms
โœ… BookDetailViewModelTests testManagedHoldState_ButtonTypes 13ms
โœ… BookDetailViewModelTests testProcessingButtonTypes_DownloadRelated 2ms
โœ… BookDetailViewModelTests testProcessingButtons_ClearedWhenLoginCancelled 26ms
โœ… BookDetailViewModelTests testProcessingButtons_DidSetUpdatesIsProcessingFlag 6ms
โœ… BookDetailViewModelTests testRegistryTransitionToDownloadFailed_ClearsDownloadProcessingButtons 10ms
โœ… BookDetailViewModelTests testRegistryTransitionToDownloadSuccessful_ClearsDownloadProcessingButtons 9ms
โœ… BookDetailViewModelTests testRegistryTransitionToDownloading_ClearsDownloadProcessingButtons 14ms
โœ… BookDetailViewModelTests testRegistryTransitionToHolding_ClearsReserveAndDismissesHalfSheet 25ms
โœ… BookDetailViewModelTests testRegistryTransitionToUnregistered_ResetsManagingHoldAndHalfSheetAndReturning 14ms
โœ… BookDetailViewModelTests testRelatedBooks_ClearedWhenNavigatingToDifferentBook 16ms
โœ… BookDetailViewModelTests testRelatedBooks_PersistAfterViewReappears 16ms
โœ… BookDetailViewModelTests testRelatedBooks_PreservedDuringRefetchForSameBook 13ms
โœ… BookDetailViewModelTests testRemoveProcessingButton_RemovesTheButton 8ms
โœ… BookDetailViewModelTests testSelectRelatedBook_DifferentBook_UpdatesBookAndClearsLanes 8ms
โœ… BookDetailViewModelTests testSelectRelatedBook_SameBook_IsNoOp 7ms
โœ… BookDetailViewModelTests testShowMoreBooksForLane_LaneWithNilURL_DoesNotSetSelected 9ms
โœ… BookDetailViewModelTests testShowMoreBooksForLane_MissingLane_LeavesSelectedNil 7ms
โœ… BookDetailViewModelTests testShowMoreBooksForLane_SetsSelectedBookURL 6ms
โœ… BookDetailViewModelTests testStableButtonState_ManagingHold_WhileHoldingOverridesToManagingHold 7ms
โœ… BookDetailViewModelTests testStableButtonState_UpdatesWhenBookStateChanges 13ms
โœ… BookDetailViewModelTests testViewModel_BookStatePublisher_TriggersBookUpdate 7ms
โœ… BookDetailViewModelTests testViewModel_ReceivesBookFromRegistry_NotCachedVersion 10ms
โœ… BookDetailViewModelTests testViewModel_UpdatesBookWhenRegistryChanges 21ms
โœ… BookFileManagerTests testContentDirectoryURL_createsDirectoryOnFirstCall 4ms
โœ… BookFileManagerTests testContentDirectoryURL_distinctAccounts_distinctDirectories 7ms
โœ… BookFileManagerTests testContentDirectoryURL_idempotent_reusesExistingDirectory 4ms
โœ… BookFileManagerTests testFileUrl_byIdentifier_andByBook_returnSameUrlForSameAccount 7ms
โœ… BookFileManagerTests testFileUrl_byIdentifier_returnsNilWhenBookNotInRegistry 8ms
โœ… BookFileManagerTests testFileUrl_byIdentifier_returnsUrlWhenBookInRegistry 33ms
โœ… BookFileManagerTests testFileUrl_forBook_buildsHashedFileNameWithEpubExtension 8ms
โœ… BookFileManagerTests testPathExtension_defaultsToEpub_forNilOrNonLCPBooks 11ms
โœ… BookPreviewTests testEpubBookPreviewExtraction 5ms
โœ… BookPreviewTests testOverdriveMPEGAudiobookExtraction 5ms
โœ… BookPreviewTests testOverdriveWaveAudiobookExtraction 7ms
โœ… BookPreviewTests testOverdriveWebAudiobookExtraction 3ms
โœ… BookRegistryStoreTests test_addBook_thenRetrieve 17ms
โœ… BookRegistryStoreTests test_addBook_withLocationAndBookmarks 9ms
โœ… BookRegistryStoreTests test_allBooks_returnsAllRegisteredBooks 22ms
โœ… BookRegistryStoreTests test_bookForIdentifier_returnsNilForUnregisteredOrInvalidInputs 9ms
โœ… BookRegistryStoreTests test_concurrentReadsAndWrites_noDataRace 289ms
โœ… BookRegistryStoreTests test_fulfillmentId_emptyIdentifier_returnsNil 3ms
โœ… BookRegistryStoreTests test_fulfillmentId_nilIdentifier_returnsNil 2ms
โœ… BookRegistryStoreTests test_fulfillmentId_setAndGet 10ms
โœ… BookRegistryStoreTests test_heldBooks_onlyReturnsHoldingState 15ms
โœ… BookRegistryStoreTests test_mutateRegistrySync_directMutation 12ms
โœ… BookRegistryStoreTests test_myBooks_returnsCorrectStates 47ms
โœ… BookRegistryStoreTests test_processing_defaultsFalseForUnknownAndRegisteredBooks 19ms
โœ… BookRegistryStoreTests test_readRegistry_returnsSnapshot 9ms
โœ… BookRegistryStoreTests test_record_returnsNilForUnregisteredOrInvalidInputs 40ms
โœ… BookRegistryStoreTests test_registrySnapshot_returnsDictionaryRepresentations 28ms
โœ… BookRegistryStoreTests test_registrySubject_emitsOnAdd 19ms
โœ… BookRegistryStoreTests test_removeAll_clearsRegistry 23ms
โœ… BookRegistryStoreTests test_removeBook_nonexistentId_completesWithNilBook 3ms
โœ… BookRegistryStoreTests test_removeBook_removesFromRegistry 17ms
โœ… BookRegistryStoreTests test_setProcessing_true_thenFalse 7ms
โœ… BookRegistryStoreTests test_setState_updatesState 14ms
โœ… BookRegistryStoreTests test_state_returnsUnregisteredForUnregisteredOrInvalidInputs 12ms
โœ… BookRegistryStoreTests test_updateAndRemoveBook_setsStateUnregistered 6ms
โœ… BookRegistryStoreTests test_updatedBookMetadata_preservesExistingAuthorsWhenIncomingIsEmpty 7ms
โœ… BookRegistryStoreTests test_updatedBookMetadata_returnsNilWhenBookIsNotInRegistry 3ms
โœ… BookRegistryStoreTests test_updatedBookMetadata_takesIncomingAuthorsWhenPresent 15ms
โœ… BookRegistrySyncTests test_bulkDeletionProtection_emptyFeedWithLargeLibrary_skipsDeletion 5ms
โœ… BookRegistrySyncTests test_bulkDeletionProtection_emptyFeedWithSingleLocalBook_skipsDeletion 6ms
โœ… BookRegistrySyncTests test_bulkDeletionProtection_emptyFeedWithTwoLocalBooks_skipsDeletion 6ms
โœ… BookRegistrySyncTests test_bulkDeletionProtection_normalFeedDoesNotSkip 3ms
โœ… BookRegistrySyncTests test_bulkDeletionProtection_zeroLocalBooks_doesNotSkip 3ms
โœ… BookRegistrySyncTests test_checkIfBookFileExists_returnsFalseForUnknownBook 11ms
โœ… BookRegistrySyncTests test_largeDeletionWarning_notTriggeredForSmallRatio 2ms
โœ… BookRegistrySyncTests test_loadStateTransition_downloadingWithNoFile_becomesDownloadFailed 6ms
โœ… BookRegistrySyncTests test_load_allowsLoadForDifferentAccount 14ms
โœ… BookRegistrySyncTests test_load_preventsReentrantLoadsForSameAccount 22ms
โœ… BookRegistrySyncTests test_load_withMalformedJSON_doesNotCrashAndLoadsEmpty 6ms
โœ… BookRegistrySyncTests test_load_withMissingFile_transitionsToLoadedWithEmptyRegistry 14ms
โœ… BookRegistrySyncTests test_registrySnapshot_producesSerializableData 23ms
โœ… BookRegistrySyncTests test_registryUrl_returnsPathContainingAccountAndRegistryFile 5ms
โœ… BookRegistrySyncTests test_reset_clearsSyncUrlAndStore 15ms
โœ… BookRegistrySyncTests test_reset_removesRegistryFileFromDisk 12ms
โœ… BookRegistrySyncTests test_storeSnapshotWithMultipleStates 38ms
โœ… BookRegistrySyncTests test_syncUrl_isSetDuringSync_andClearedAfter 3ms
โœ… BookRegistrySyncTests test_sync_whenAlreadySyncing_returnsWithoutChangingState 4ms
โœ… BookRegistrySyncTests test_sync_whenStateIsLoading_shortCircuitsBeforeTouchingAccounts 3ms
โœ… BookRegistrySyncTests test_sync_whenStateIsUnloaded_shortCircuitsBeforeTouchingAccounts 23ms
โœ… BookRegistrySyncTests test_sync_withNoCurrentAccount_isNoOp 5ms
โœ… BookRegistrySyncTests test_validateDownloadedContent_marksDownloadNeededWhenFileMissing 9ms
โœ… BookReturnServiceTests testReturnBook_bookNotInRegistry_callsCompletionAndDoesNothing 16ms
โœ… BookReturnServiceTests testReturnBook_noRevokeURL_downloaded_deletesContentAndRemovesBook 12ms
โœ… BookReturnServiceTests testReturnBook_noRevokeURL_notDownloaded_skipsContentDeletion 100ms
โœ… BookReturnServiceTests testReturnBook_revokeURLReturnsGenericError_announcesFailureAndRunsCompletion 794ms
โœ… BookReturnServiceTests testReturnBook_revokeURLReturnsInvalidCredentials_reauthenticatesAndRetries 335ms
โœ… BookReturnServiceTests testReturnBook_revokeURLReturnsLoanTermLimitDetail_cleansUpLocallyAndAnnouncesSuccess 15ms
โœ… BookReturnServiceTests testReturnBook_revokeURLReturnsNoActiveLoan_cleansUpLocallyAndAnnouncesSuccess 24ms
โœ… BookReturnServiceTests testReturnBook_revokeURLReturnsParsingError_treatsAsSuccessAndCleansUp 22ms
โœ… BookSignInRedirectHandlerTests testClearAndSetCookies_replacesSessionCookiesWithUserAccountCookies 8ms
โœ… BookSignInRedirectHandlerTests testHandleBookFound_nilRequest_skipsRetry 4ms
โœ… BookSignInRedirectHandlerTests testHandleBookFound_setsCookiesAndRetriesDownloadIfRequestPresent 7ms
โœ… BookSignInRedirectHandlerTests testHandleLoginCancellation_setsDownloadNeededAndCancelsViaDelegate 5ms
โœ… BookSignInRedirectHandlerTests testHandleProblem_alreadySAMLStarted_setsFailedAndPresentsReauthModal 35ms
โœ… BookSignInRedirectHandlerTests testHandleProblem_hasCredentialsAndNotSaml_logsButDoesNotAuthenticate 75ms
โœ… BookSignInRedirectHandlerTests testHandleProblem_noCredentialsLoginRequired_presentsReauthAndRetriesOnHasCredentials 32ms
โœ… BookSignInRedirectHandlerTests testHandleProblem_samlCookiesExpired_setsSAMLStartedAndRetries 48ms
โœ… BookStateIntegrationTests testBookBorrow_UpdatesRegistry 4ms
โœ… BookStateIntegrationTests testBookDownloadFailure_UpdatesStateToDownloadFailed 6ms
โœ… BookStateIntegrationTests testBookReturn_RemovesFromRegistry 7ms
โœ… BookStateIntegrationTests testBookStateChange_PublishesViaCombine 5ms
โœ… BookStateIntegrationTests testBookStateTransition_FullDownloadLifecycle 5ms
โœ… BookStateIntegrationTests testBookWithHolds_ShowsHoldingState 4ms
โœ… BookStateIntegrationTests testConcurrentStateChanges_DoNotCorruptRegistry 19ms
โœ… BookStateIntegrationTests testRegistryPublisher_EmitsOnBookAdd 11ms
โœ… BookmarkBusinessLogicExtendedTests testBookmarkAtIndex_returnsNilForOutOfRangeIndicesAndItemForValid 132ms
โœ… BookmarkBusinessLogicExtendedTests testBookmarkAtIndex_validIndex_returnsBookmark 113ms
โœ… BookmarkBusinessLogicExtendedTests testDeleteBookmarkAtIndex_guardsOutOfRangeAndRemovesOnlyValidIndex 95ms
โœ… BookmarkBusinessLogicExtendedTests testDeleteBookmarkAtIndex_validIndex_removesAndReturns 112ms
โœ… BookmarkBusinessLogicExtendedTests testDeleteBookmark_existingBookmark_removes 127ms
โœ… BookmarkBusinessLogicExtendedTests testReadOnlySurfaces_noBookmarksText_shouldSelect_shouldAllowRefresh 133ms
โœ… BookmarkDeletionLogTests testUpdateLocalBookmarks_matchingLocalBookmark_preservesLocal 121ms
โœ… BookmarkDeletionLogTests testUpdateLocalBookmarks_serverBookmarkNotDeleted_addsLocally 122ms
โœ… BookmarkDeletionLogTests testUpdateLocalBookmarks_withPendingDeletion_deletesFromServer 115ms
โœ… BookmarkDeviceIdMatchingTests testUpdateLocalBookmarks_ServerBookmarkFromDifferentDevice_AddedLocally 124ms
โœ… BookmarkDeviceIdMatchingTests testUpdateLocalBookmarks_ServerBookmarkFromSameDevice_NotLocallyPresent_MarkedForDeletion 115ms
โœ… BookmarkDeviceIdMatchingTests testUpdateLocalBookmarks_ServerBookmarkWithNilDevice_AddedLocally 207ms
โœ… BookmarkExistenceTests testIsBookmarkExisting_differentProgress_returnsNil 85ms
โœ… BookmarkExistenceTests testIsBookmarkExisting_matchingBookmark_returnsBookmark 91ms
โœ… BookmarkExistenceTests testIsBookmarkExisting_noBookmarks_returnsNil 88ms
โœ… BookmarkExistenceTests testIsBookmarkExisting_returnsNilForNilLocationAndForLocationWithoutMatch 86ms
โœ… BookmarkManagerTests test_addGenericBookmark 21ms
โœ… BookmarkManagerTests test_addGenericBookmark_initializesArrayIfNil 14ms
โœ… BookmarkManagerTests test_addGenericBookmark_toMissingBook_doesNotCrash 497ms
โœ… BookmarkManagerTests test_addMultipleReadiumBookmarks_sortedByProgress 29ms
โœ… BookmarkManagerTests test_addOrReplaceGenericBookmark_addsWhenNew 81ms
โœ… BookmarkManagerTests test_addOrReplaceGenericBookmark_initializesArrayIfNil 52ms
โœ… BookmarkManagerTests test_addOrReplaceGenericBookmark_replacesExisting 67ms
โœ… BookmarkManagerTests test_addReadiumBookmark 20ms
โœ… BookmarkManagerTests test_addReadiumBookmark_initializesArrayIfNil 18ms
โœ… BookmarkManagerTests test_addReadiumBookmark_toMissingBook_doesNotCrash 4ms
โœ… BookmarkManagerTests test_bookmarksAreIsolatedBetweenBooks 117ms
โœ… BookmarkManagerTests test_deleteGenericBookmark_byAnnotationId 20ms
โœ… BookmarkManagerTests test_deleteGenericBookmark_bySimilarity 21ms
โœ… BookmarkManagerTests test_deleteReadiumBookmark 24ms
โœ… BookmarkManagerTests test_everyMutationCallsSave 101ms
โœ… BookmarkManagerTests test_locationAndBookmarksAreIndependent 32ms
โœ… BookmarkManagerTests test_missingBook_locationAndBookmarkLookups_returnAbsentValues 3ms
โœ… BookmarkManagerTests test_replaceGenericBookmark 23ms
โœ… BookmarkManagerTests test_replaceReadiumBookmark 18ms
โœ… BookmarkManagerTests test_setAndGetLocation 16ms
โœ… BookmarkManagerTests test_setLocationSync_callsSaveSyncInsteadOfSave 14ms
โœ… BookmarkManagerTests test_setLocationSync_emptyIdentifier_neitherSyncNorAsyncSaveFires 3ms
โœ… BookmarkManagerTests test_setLocation_emptyIdentifier_doesNotSaveAndDoesNotTouchAnyBook 23ms
โœ… BookmarkManagerTests test_setLocation_nil_clearsLocation 23ms
โœ… BookmarkSortingTests testBookmarks_sortedByProgressWithinBook 96ms
โœ… BookmarkSyncTests testUpdateLocalBookmarks_addsServerBookmarks 97ms
โœ… BookmarkSyncTests testUpdateLocalBookmarks_handlesEmptyServerList 102ms
โœ… BookmarkSyncTests testUpdateLocalBookmarks_preservesFailedUploads 103ms
โœ… BorrowErrorMessageTests testAllRetryableParsingErrors_showUserFriendlyBaseMessage 3ms
โœ… BorrowErrorMessageTests testBookTitle_isIncludedInMessage 3ms
โœ… BorrowErrorMessageTests testDifferentBookTitles_produceDistinctMessages 3ms
โœ… BorrowErrorMessageTests testMessageFormat_matchesLegacyPattern_noProblemDoc 5ms
โœ… BorrowErrorMessageTests testMessageFormat_matchesLegacyPattern_withProblemDoc 3ms
โœ… BorrowErrorMessageTests testNetworkErrors_showUserFriendlyBaseMessage 5ms
โœ… BorrowErrorMessageTests testNilProblemDocument_usesRecoverySuggestion 2ms
โœ… BorrowErrorMessageTests testNoTechnicalErrorString_appearsAsMessage 3ms
โœ… BorrowErrorMessageTests testOPDSFeedInvalid_showsUserFriendlyMessage_notTechnicalError 2ms
โœ… BorrowErrorMessageTests testProblemDocument_takesPriorityOverRecoverySuggestion 2ms
โœ… BorrowErrorMessageTests testWithProblemDocument_appendsServerDetail 5ms
โœ… BorrowErrorMessageTests testWithProblemDocument_emptyDetail_fallsBackToBaseMessage 2ms
โœ… BorrowErrorMessageTests testWithProblemDocument_nilDetail_fallsBackToBaseMessage 3ms
โœ… BorrowErrorPresenterTests testProcess_genericProblemDoc_publishesAlertWithProblemDocDetail 33ms
โœ… BorrowErrorPresenterTests testProcess_invalidCredentialsTwice_secondCallSkipsReauthAndShowsAlert 191ms
โœ… BorrowErrorPresenterTests testProcess_invalidCredentialsWhileAlreadyRequesting_skipsBoth 75ms
โœ… BorrowErrorPresenterTests testProcess_invalidCredentials_triggersReauthAndRetriesViaDelegate 172ms
โœ… BorrowErrorPresenterTests testProcess_loanAlreadyExists_publishesLoanAlreadyExistsAlertWithoutRetry 32ms
โœ… BorrowErrorPresenterTests testProcess_noErrorDict_publishesGenericBorrowFailedAlert 31ms
โœ… BorrowOperationTests testBorrowAsync_attemptDownloadTrue_callsDelegateStartDownload 176ms
โœ… BorrowOperationTests testBorrowAsync_genericError_presentsAlertAndRethrows 178ms
โœ… BorrowOperationTests testBorrowAsync_holdingRace_throwsHoldCopyUnavailableAndSetsHolding 56ms
โœ… BorrowOperationTests testBorrowAsync_noAcquisitionURL_throwsInvalidState 19ms
โœ… BorrowOperationTests testBorrowAsync_success_addsBookToRegistryAsDownloadNeeded 8ms
โœ… BorrowReducerTests testBookStateAssigned_toOtherState_doesNotChangeOverride 3ms
โœ… BorrowReducerTests testBookStateAssigned_toReturning_armsTheOverride 2ms
โœ… BorrowReducerTests testBookStateAssigned_toUnregistered_clearsTheOverride 2ms
โœ… BorrowReducerTests testCancelTapped_resetsDownloadProgressAndIsIdempotent 2ms
โœ… BorrowReducerTests testDownloadErrorOccurred_resyncsBookStateAndPurgesAllAcquireSpinners 4ms
โœ… BorrowReducerTests testDownloadProgressUpdated_clampsToMaxSeen_neverSlidesBackward 2ms
โœ… BorrowReducerTests testDownloadStartConfirmed_setsDownloadingAndOpensHalfSheet 4ms
โœ… BorrowReducerTests testManageHoldTapped_setsHoldingStateAndManagingFlag 2ms
โœ… BorrowReducerTests testProcessingButtonInserted_addsTheButton 2ms
โœ… BorrowReducerTests testProcessingButtonRemoved_removesOnlyThatButton_andIsIdempotent 5ms
โœ… BorrowReducerTests testRegistryStateChanged_toDownloadFailed_keepsHalfSheetOpenForRetryAlert 4ms
โœ… BorrowReducerTests testRegistryStateChanged_toDownloadSuccessful_keepsHalfSheetOpenSoUserCanReadOrListen 5ms
โœ… BorrowReducerTests testRegistryStateChanged_toDownloading_clearsDownloadSpinnersOnly 3ms
โœ… BorrowReducerTests testRegistryStateChanged_toHolding_clearsReserveAndDismissesHalfSheet 5ms
โœ… BorrowReducerTests testRegistryStateChanged_toUnregistered_closesHalfSheetAndClearsReturnSpinners 2ms
โœ… BorrowReducerTests testRegistryStateChanged_whenReturningOverrideArmed_acceptsUnregisteredAsTerminal 2ms
โœ… BorrowReducerTests testRegistryStateChanged_whenReturningOverrideArmed_suppressesNonTerminalState 2ms
โœ… BorrowReducerTests testReturnStartConfirmed_insertsReturningSpinnerOnlyAndPreservesBookState 2ms
โœ… BorrowReducerTests testSignInCancelled_releasesAcquireSpinnersAndPreservesUnrelatedFlags 8ms
โœ… ButtonStateTests testCanBorrow_audiobookButtonsRespectPreviewToggle 4ms
โœ… ButtonStateTests testCanBorrow_epubButtonsRespectPreviewToggle 10ms
โœ… ButtonStateTests testCanHold_audiobookButtonsRespectPreviewToggle 3ms
โœ… ButtonStateTests testCanHold_epubButtonsRespectPreviewToggle 8ms
โœ… ButtonStateTests testDownloadFailed_yieldsCancelAndRetry 17ms
โœ… ButtonStateTests testDownloadInProgress_yieldsOnlyCancelButton 5ms
โœ… ButtonStateTests testDownloadNeededAudiobook 5ms
โœ… ButtonStateTests testDownloadNeededEpub 5ms
โœ… ButtonStateTests testDownloadSuccessfulAudiobook 13ms
โœ… ButtonStateTests testDownloadSuccessfulEpub 5ms
โœ… ButtonStateTests testDownloadSuccessfulPDF 35ms
โœ… ButtonStateTests testHoldingFrontOfQueue_withoutHoldReady_returnsManageHoldOnly 11ms
โœ… ButtonStateTests testHolding_audiobookButtonsRespectPreviewToggle 7ms
โœ… ButtonStateTests testHolding_epubButtonsRespectPreviewToggle 5ms
โœ… ButtonStateTests testUnsupported_yieldsEmptyButtonSetAndNoLeakageFromOtherStates 5ms
โœ… ButtonStateTests testUsedEpub 4ms
โœ… ButtonStyleTypeTests testAllCases 2ms
โœ… ButtonStyleTypeTests testEquality 36ms
โœ… C64ConversionTests testC64ConverionWithAccentedString 2ms
โœ… C64ConversionTests testC64ConverionWithEmptyString 1ms
โœ… C64ConversionTests testC64ConverionWithNilString 2ms
โœ… C64ConversionTests testC64ConverionWithRegularString 1ms
โœ… C64ConversionTests testC64ConverionWithSpecialCharacters 4ms
โœ… C64ConversionTests testC64ConverionWithUnicodeCharecters 6ms
โœ… CarPlayChapterListTests testCarPlayBridge_NoChaptersAvailable_ReturnsNil 15ms
โœ… CarPlayChapterListTests testCarPlayBridge_NoPlayback_CurrentChapterIsNil 5ms
โœ… CarPlayChapterListTests testCarPlayBridge_SkipToChapter_WithoutPlayback_DoesNotCrash 24ms
โœ… CarPlayIntegrationTests testCarPlayTemplateIntegration_BookSelectionHandling 3ms
โœ… CarPlayIntegrationTests testCarPlay_ImageProvider_CachesBehavior 12ms
โœ… CarPlayLibraryRefreshTests testCarPlay_BookRegistry_IsAccessible 5ms
โœ… CarPlayLibraryRefreshTests testCarPlay_DownloadedAudiobooks_CanBeFiltered 3ms
โœ… CarPlayLibraryRefreshTests testCarPlay_LibraryName_CanBeUpdated 4ms
โœ… CarPlayNowPlayingTemplateTests testCarPlayBridge_DoesNotConfigureNowPlayingOnInit 7ms
โœ… CarPlayNowPlayingTemplateTests testCarPlayBridge_HasPlaybackStatePublisher 511ms
โœ… CarPlayNowPlayingTemplateTests testCarPlayBridge_NowPlayingConfigurationIsIdempotent 3ms
โœ… CarPlayNowPlayingTemplateTests testCarPlayImageProvider_InitializesIndependently 9ms
โœ… CarPlayOpenAppAlertTests testCarPlay_OpenAppMessage_MentionsPalace 5ms
โœ… CarPlayOpenAppAlertTests testCarPlay_OpenAppMessage_MentionsPhone 3ms
โœ… CarPlayOpenAppAlertTests testCarPlay_OpenAppStrings_AreConfigured 4ms
โœ… CarPlayOpenAppAlertTests testSceneDelegate_HasMainSceneConnected_Flag 4ms
โœ… CarPlayPlaybackErrorTests testAudiobookSessionError_MapsToCarPlayAlert 3ms
โœ… CarPlayPlaybackErrorTests testBridge_currentBook_nilWhenNoSession 6ms
โœ… CarPlayPlaybackErrorTests testBridge_isPlaying_reflectsSessionManager 4ms
โœ… CarPlayPlaybackErrorTests testCarPlay_ErrorStrings_AuthRequired 3ms
โœ… CarPlayPlaybackErrorTests testCarPlay_ErrorStrings_NotDownloaded 3ms
โœ… CarPlayPlaybackErrorTests testCarPlay_ErrorStrings_Offline 2ms
โœ… CarPlayPlaybackErrorTests testCarPlay_ErrorStrings_PlaybackFailed 2ms
โœ… CarPlayPlaybackErrorTests testNowPlayingInfo_isAccessible 11ms
โœ… CarPlayTests testAudiobookSessionManager_Initialization 3ms
โœ… CarPlayTests testCarPlayBridge_Initialization 7ms
โœ… CarPlayTests testCarPlayImageProvider_GeneratesPlaceholder 9ms
โœ… CarPlayTests testCarPlay_BookDownloadedState 4ms
โœ… CarPlayTests testCarPlay_ChapterListFormatting 3ms
โœ… CarPlayTests testCarPlay_ChapterNumber_Formatting 5ms
โœ… CarPlayTests testCarPlay_ErrorStrings_NotEmpty 4ms
โœ… CarPlayTests testCarPlay_FiltersOnlyAudiobooks 12ms
โœ… CarPlayTests testCarPlay_NoEbooksInLibrary 14ms
โœ… CarPlayTests testCarPlay_ShortDurationFormatting 2ms
โœ… CarPlayTests testCarPlay_UIStrings_NotEmpty 3ms
โœ… CarPlayTests testCarPlay_ZeroDurationFormatting 11ms
โœ… CarPlayTimeTrackingTests testCarPlayChapterSkip_properlyTracksTime 145ms
โœ… CarPlayTimeTrackingTests testCarPlayDisconnect_trackerContinuesIndependently 47ms
โœ… CarPlayTimeTrackingTests testCarPlayPlayback_usesStandardTrackerDelegateMethods 1.60s
โœ… CatalogAPIDedupeTests testFetchFeed_ConcurrentCallersForDifferentURLs_DoNotDedupe 108ms
โœ… CatalogAPIDedupeTests testFetchFeed_ConcurrentCallersForSameURL_ShareOneNetworkRequest 107ms
โœ… CatalogAPIDedupeTests testFetchFeed_SequentialCallsAfterCompletion_FireFreshRequests 221ms
โœ… CatalogAPIEntryPointTests testExtractSearchEntryPointsFromEmptyFeed 5ms
โœ… CatalogAccessibilityTests testCollapseSectionLabel_isDescriptive 5ms
โœ… CatalogAccessibilityTests testExpandCollapseLabel_roundTripsOnRepeatedFlips 3ms
โœ… CatalogAccessibilityTests testExpandCollapseLabels_areDifferent 5ms
โœ… CatalogAccessibilityTests testExpandSectionLabel_isDescriptive 4ms
โœ… CatalogAccessibilityTests testMoreBooksInLaneLabel_includesLaneTitle 3ms
โœ… CatalogAccessibilityTests testMoreBooksLabel_differsForDifferentLanes 4ms
โœ… CatalogAccessibilityTests testMoreBooksLabel_indicatesNavigation 7ms
โœ… CatalogAccessibilityTests testSwitchLibraryLabel_isDescriptive 3ms
โœ… CatalogCacheMetadataTests testCacheLifecycle_FreshThenStaleThenExpired 2ms
โœ… CatalogCacheMetadataTests testEncodeDecode_PreservesAllProperties 6ms
โœ… CatalogCacheMetadataTests testInvariant_ExpiredImpliesStale 3ms
โœ… CatalogCacheMetadataTests testIsExpired_EpochTimestamp_IsAlwaysStaleAndExpired 3ms
โœ… CatalogCacheMetadataTests testIsExpired_TransitionsAtTwentyFourHourBoundary 2ms
โœ… CatalogCacheMetadataTests testIsStale_DeepInsideTTL_RemainsFresh 5ms
โœ… CatalogCacheMetadataTests testIsStale_FreshCache_StaysFreshAcrossSubSecondJitter 56ms
โœ… CatalogCacheMetadataTests testIsStale_FutureTimestamp_TreatsAsFresh 3ms
โœ… CatalogCacheMetadataTests testIsStale_TransitionsAtSixHourBoundary 2ms
โœ… CatalogCacheMetadataTests testIsStale_WithServerMaxAge_RespectsOverride 2ms
โœ… CatalogCacheMetadataTests testStaleTTL_ClampsAboveTwelveHoursDownToCeiling 7ms
โœ… CatalogCacheMetadataTests testStaleTTL_ClampsBelowFiveMinutesUpToFloor 3ms
โœ… CatalogCacheMetadataTests testStaleTTL_HalvesServerMaxAgeInMidRange 3ms
โœ… CatalogCacheMetadataTests testStaleTTL_NilOrNegativeServerMaxAge_UsesDefault 4ms
โœ… CatalogFeedModelTests testCatalogEntryFromOPDS1Entry 11ms
โœ… CatalogFeedModelTests testCatalogFeedFromNilFeedReturnsNil 2ms
โœ… CatalogFeedModelTests testCatalogFeedFromOPDS1 16ms
โœ… CatalogFeedModelTests testSearchFormatEntryEquality 4ms
โœ… CatalogFilterGroupModelTests testEdgeCase_EmptyGroupName 4ms
โœ… CatalogFilterGroupModelTests testEdgeCase_SpecialCharactersInName 2ms
โœ… CatalogFilterGroupModelTests testEquality_DifferentFiltersMakesGroupsUnequal 3ms
โœ… CatalogFilterGroupModelTests testEquality_DifferentIdsMakesGroupsUnequal 2ms
โœ… CatalogFilterGroupModelTests testEquality_DifferentNamesMakesGroupsUnequal 3ms
โœ… CatalogFilterGroupModelTests testEquality_IdenticalGroupsAreEqual 2ms
โœ… CatalogFilterGroupModelTests testFilters_FilterByHrefPresence 2ms
โœ… CatalogFilterGroupModelTests testFilters_FindActiveFilter 55ms
โœ… CatalogFilterGroupModelTests testFilters_MultipleActiveFilters 2ms
โœ… CatalogFilterGroupModelTests testFilters_NoActiveFilter 1ms
โœ… CatalogFilterGroupModelTests testHashable_EqualGroupsHaveSameHash 2ms
โœ… CatalogFilterGroupModelTests testHashable_GroupsCanBeUsedInSet 3ms
โœ… CatalogFilterGroupModelTests testIdentifiable_UsesIdProperty 1ms
โœ… CatalogFilterGroupModelTests testInit_StoresAllProperties 19ms
โœ… CatalogFilterGroupModelTests testInit_WithEmptyFilters 2ms
โœ… CatalogFilterGroupModelTests testInit_WithManyFilters 3ms
โœ… CatalogFilterGroupModelTests testInit_WithSingleFilter 6ms
โœ… CatalogFilterModelTests testEdgeCase_ComplexURL 101ms
โœ… CatalogFilterModelTests testEdgeCase_EmptyStringId 2ms
โœ… CatalogFilterModelTests testEdgeCase_EmptyStringTitle 2ms
โœ… CatalogFilterModelTests testEdgeCase_SpecialCharactersInTitle 6ms
โœ… CatalogFilterModelTests testEdgeCase_UnicodeInTitle 3ms
โœ… CatalogFilterModelTests testEquality_DifferentActiveStateMakesFiltersUnequal 1ms
โœ… CatalogFilterModelTests testEquality_DifferentHrefMakesFiltersUnequal 3ms
โœ… CatalogFilterModelTests testEquality_DifferentIdsMakesFiltersUnequal 3ms
โœ… CatalogFilterModelTests testEquality_DifferentTitlesMakesFiltersUnequal 2ms
โœ… CatalogFilterModelTests testEquality_IdenticalFiltersAreEqual 1ms
โœ… CatalogFilterModelTests testEquality_NilAndNonNilHrefMakesFiltersUnequal 4ms
โœ… CatalogFilterModelTests testHashable_DifferentFiltersCanBeUsedInSet 6ms
โœ… CatalogFilterModelTests testHashable_EqualFiltersHaveSameHash 2ms
โœ… CatalogFilterModelTests testIdentifiable_UsesIdProperty 5ms
โœ… CatalogFilterModelTests testInit_StoresAllProperties 4ms
โœ… CatalogFilterModelTests testInit_WithInactiveState 2ms
โœ… CatalogFilterModelTests testInit_WithNilHref 6ms
โœ… CatalogFilterServiceTests testActiveFacetHrefs_excludesDefaultsWhenFlagFalse 36ms
โœ… CatalogFilterServiceTests testActiveFacetHrefs_returnsActiveURLs 2ms
โœ… CatalogFilterServiceTests testActiveFiltersCount_emptySet_returnsZero 2ms
โœ… CatalogFilterServiceTests testActiveFiltersCount_excludesDefaults 30ms
โœ… CatalogFilterServiceTests testCategorizeFacetURL_categorisesCorrectly 6ms
โœ… CatalogFilterServiceTests testFindFacetGroupName_matchesURL 4ms
โœ… CatalogFilterServiceTests testFindFacetGroupName_returnsNilForUnknownURL 2ms
โœ… CatalogFilterServiceTests testFindFilterInCurrentFacets_caseInsensitiveMatch 4ms
โœ… CatalogFilterServiceTests testFindFilterInCurrentFacets_returnsNilWhenNotFound 4ms
โœ… CatalogFilterServiceTests testGroupPriority_caseInsensitive 3ms
โœ… CatalogFilterServiceTests testGroupPriority_collectionIsHighest 2ms
โœ… CatalogFilterServiceTests testGroupPriority_distributorBeforeFormat 2ms
โœ… CatalogFilterServiceTests testGroupPriority_unknownGroupReturnsFallback 2ms
โœ… CatalogFilterServiceTests testKeysForCurrentFacets_excludesSortGroups 4ms
โœ… CatalogFilterServiceTests testKeysForCurrentFacets_mapsGroupTitleKeysToFullKeys 25ms
โœ… CatalogFilterServiceTests testMakeGroupTitleKey_omitsHref 2ms
โœ… CatalogFilterServiceTests testMakeKey_producesCanonicalFormat 4ms
โœ… CatalogFilterServiceTests testNormalizeTitle_trimsAndLowercases 2ms
โœ… CatalogFilterServiceTests testParseKey_handlesEmptyComponents 6ms
โœ… CatalogFilterServiceTests testParseKey_returnsNilForInvalidKey 4ms
โœ… CatalogFilterServiceTests testParseKey_roundTrips 2ms
โœ… CatalogFilterServiceTests testParsedKey_isDefaultTitle_detectsAllVariants 141ms
โœ… CatalogFilterServiceTests testParsedKey_isDefaultTitle_rejectsNonDefaults 2ms
โœ… CatalogFilterServiceTests testPrioritizeSelectedFilters_ordersCollectionBeforeFormat 6ms
โœ… CatalogFilterServiceTests testReconstructSelections_matchesByGroupAndTitle 3ms
โœ… CatalogFilterServiceTests testReconstructSelections_skipsInvalidKeys 2ms
โœ… CatalogFilterServiceTests testSelectionKeys_excludesDefaultsWhenFlagFalse 99ms
โœ… CatalogFilterServiceTests testSelectionKeys_excludesSortGroups 2ms
โœ… CatalogFilterServiceTests testSelectionKeys_includesDefaultsWhenFlagTrue 2ms
โœ… CatalogFilterTests testCatalogFilter_StoresValues 3ms
โœ… CatalogLaneModelStructTests testBooks_EmptyCollection 2ms
โœ… CatalogLaneModelStructTests testBooks_LargeCollection 309ms
โœ… CatalogLaneModelStructTests testBooks_MixedContentTypes 11ms
โœ… CatalogLaneModelStructTests testBooks_MultipleBooks 15ms
โœ… CatalogLaneModelStructTests testBooks_OrderPreserved 16ms
โœ… CatalogLaneModelStructTests testBooks_SingleBook 8ms
โœ… CatalogLaneModelStructTests testEdgeCase_ComplexMoreURL 2ms
โœ… CatalogLaneModelStructTests testEdgeCase_EmptyTitle 2ms
โœ… CatalogLaneModelStructTests testEdgeCase_LongTitle 2ms
โœ… CatalogLaneModelStructTests testEdgeCase_SpecialCharactersInTitle 2ms
โœ… CatalogLaneModelStructTests testEdgeCase_UnicodeInTitle 2ms
โœ… CatalogLaneModelStructTests testIdentifiable_HasUniqueId 2ms
โœ… CatalogLaneModelStructTests testIdentifiable_IdIsUUID 5ms
โœ… CatalogLaneModelStructTests testInit_StoresAllProperties 8ms
โœ… CatalogLaneModelStructTests testInit_WithDefaultIsLoading 3ms
โœ… CatalogLaneModelStructTests testInit_WithLoadingState 2ms
โœ… CatalogLaneModelStructTests testInit_WithNilMoreURL 2ms
โœ… CatalogLaneModelStructTests testSnapshotBooks_WithDeterministicData 10ms
โœ… CatalogLaneModelTests testHasUniqueId 3ms
โœ… CatalogLaneMoreFilterStateTests testActiveSortTitle_WithMultipleActive_ReturnsFirst 4ms
โœ… CatalogLaneMoreFilterStateTests testOpeningFilterSheet_PopulatesPendingFromApplied 4ms
โœ… CatalogLaneMoreFilterStateTests testOpeningFilterSheet_WithNoApplied_ClearsPending 11ms
โœ… CatalogLaneMoreFilterStateTests testRestoreFilterState_RestoresAppliedSelections 5ms
โœ… CatalogLaneMoreFilterStateTests testRestoreFilterState_RestoresFacetGroups 5ms
โœ… CatalogLaneMoreFilterStateTests testRestoreFilterState_WithEmptyState_ClearsAll 17ms
โœ… CatalogLaneMoreFilterStateTests testSortFacets_CaseInsensitiveGroupMatch 5ms
โœ… CatalogLaneMoreFilterStateTests testURL_MatchesInitializer 4ms
โœ… CatalogLaneMoreViewModelTests testActiveFiltersCount_AfterClearingSelections 3ms
โœ… CatalogLaneMoreViewModelTests testActiveFiltersCount_FiltersOutAllDefaults 2ms
โœ… CatalogLaneMoreViewModelTests testActiveFiltersCount_WhenEmpty 2ms
โœ… CatalogLaneMoreViewModelTests testActiveFiltersCount_WithAppliedSelections 2ms
โœ… CatalogLaneMoreViewModelTests testActiveSortTitle_WhenActiveFacetExists_ReturnsTitle 10ms
โœ… CatalogLaneMoreViewModelTests testActiveSortTitle_WhenNoActiveFacet_FallsBackToFirstFilterTitle 2ms
โœ… CatalogLaneMoreViewModelTests testActiveSortTitle_WhenSortGroupEmpty_ReturnsNil 2ms
โœ… CatalogLaneMoreViewModelTests testAllBooks_CombinesMultipleLanes 7ms
โœ… CatalogLaneMoreViewModelTests testAllBooks_EmptyWhenNoData 2ms
โœ… CatalogLaneMoreViewModelTests testAllBooks_WhenLanesEmpty_ReturnsUngroupedBooks 9ms
โœ… CatalogLaneMoreViewModelTests testAllBooks_WhenLanesHaveBooks_ReturnsLaneBooks 17ms
โœ… CatalogLaneMoreViewModelTests testAppliedSelectionsUpdate 2ms
โœ… CatalogLaneMoreViewModelTests testApplyRegistryUpdates_OnlyTargetsChangedIdentifier_WhenProvided 11ms
โœ… CatalogLaneMoreViewModelTests testApplyRegistryUpdates_PreservesIdentifierSequenceAfterBorrow 13ms
โœ… CatalogLaneMoreViewModelTests testDisplayedSortFacets_WhenNoneActive_MarksFirstAsDefault 3ms
โœ… CatalogLaneMoreViewModelTests testDisplayedSortFacets_WhenOneActive_Unchanged 4ms
โœ… CatalogLaneMoreViewModelTests testDisplayedSortFacets_WhenPendingIDUnknown_FallsBackNormally 3ms
โœ… CatalogLaneMoreViewModelTests testDisplayedSortFacets_WhenPendingSet_HighlightsOnlyPendingFacet 6ms
โœ… CatalogLaneMoreViewModelTests testErrorPublishes 5ms
โœ… CatalogLaneMoreViewModelTests testError_CanBeCleared 2ms
โœ… CatalogLaneMoreViewModelTests testError_CanBeSet 3ms
โœ… CatalogLaneMoreViewModelTests testFacetGroups_MultipleGroups 3ms
โœ… CatalogLaneMoreViewModelTests testFilterStateInitialValues 4ms
โœ… CatalogLaneMoreViewModelTests testInitialState 7ms
โœ… CatalogLaneMoreViewModelTests testIsApplyingFiltersInitiallyFalse 3ms
โœ… CatalogLaneMoreViewModelTests testIsLoadingMoreInitiallyFalse 2ms
โœ… CatalogLaneMoreViewModelTests testIsLoadingPublishes 4ms
โœ… CatalogLaneMoreViewModelTests testLanesPublishes 6ms
โœ… CatalogLaneMoreViewModelTests testPagination_ClearedWhenNil 4ms
โœ… CatalogLaneMoreViewModelTests testPagination_NextPageURLCanBeSet 4ms
โœ… CatalogLaneMoreViewModelTests testPendingSelectionsUpdate 2ms
โœ… CatalogLaneMoreViewModelTests testProcessOPDS2GroupedFeed_UsesFeedURLForActiveDetection 4ms
โœ… CatalogLaneMoreViewModelTests testProcessOPDS2PublicationFeed_UsesFeedURLForActiveDetection 2ms
โœ… CatalogLaneMoreViewModelTests testShouldShowPagination_WhenNextPageURLExists 2ms
โœ… CatalogLaneMoreViewModelTests testShowSearchToggle 2ms
โœ… CatalogLaneMoreViewModelTests testShowingFiltersSheetToggle 2ms
โœ… CatalogLaneMoreViewModelTests testShowingSortSheetToggle 2ms
โœ… CatalogLaneMoreViewModelTests testSortFacets_WhenNoSortGroup_ReturnsEmpty 3ms
โœ… CatalogLaneMoreViewModelTests testSortFacets_WhenSortGroupExists_ReturnsFacets 2ms
โœ… CatalogLaneMoreViewModelTests testTitle_Empty 3ms
โœ… CatalogLaneMoreViewModelTests testTitle_WithSpecialCharacters 2ms
โœ… CatalogLaneMoreViewModelTests testUIStateInitialValues 2ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_audiobookFormat 5ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_audiobookIncludesAudiobookDesignation 6ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_audiobook_authorOnly 6ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_bookWithoutAuthor 5ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_doesNotIncludeSummaryOrBlurbs 42ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_ebookDoesNotIncludeAudiobookDesignation 4ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_ebook_noAuthor_titleOnly 6ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_ebook_titleByAuthor 5ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_includesTitleAndAuthor 6ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_usesCommaSeparatedFormat 5ms
โœ… CatalogLaneRowViewAccessibilityTests testSwimlaneTitle_sourceDeclaresHeaderAccessibilityTrait 4ms
โœ… CatalogLaneSortingTests testExtractFacets_ActiveSortFacet_IsMarkedActive 11ms
โœ… CatalogLaneSortingTests testExtractFacets_GroupedFeedWithSortFacets_ExtractsSortGroup 13ms
โœ… CatalogLaneSortingTests testLaneMoreViewModel_ActiveSortTitle_ReturnsActiveFacetTitle 45ms
โœ… CatalogLaneSortingTests testLaneMoreViewModel_GroupedFeedWithSortFacets_ExposesSortFacets 406ms
โœ… CatalogLoadIntegrationTests testAuthenticationRequired_ReturnsUnauthorizedError 6ms
โœ… CatalogLoadIntegrationTests testCacheInvalidation_TriggersFreshFetch 5ms
โœ… CatalogLoadIntegrationTests testFetchFeed_DelegatesToLoadTopLevelCatalog 6ms
โœ… CatalogLoadIntegrationTests testFreshLoad_FetchesFromNetwork 3ms
โœ… CatalogLoadIntegrationTests testNetworkFailure_PropagatesError 37ms
โœ… CatalogLoadIntegrationTests testOPDSFeedXML_IsGeneratedCorrectly 5ms
โœ… CatalogPreloaderTests testPreloader_ContinuesOnFailure 5ms
โœ… CatalogPreloaderTests testPreloader_NilCurrentAccount_StillPreloadsRecent 3ms
โœ… CatalogPreloaderTests testPreloader_PreloadsCurrentAccountCatalog 5ms
โœ… CatalogPreloaderTests testPreloader_PreloadsRecentlyUsedAccounts_UpToLimit 4ms
โœ… CatalogPreloaderTests testPreloader_SkipsAccountsWithNoCatalogURL 6ms
โœ… CatalogPreloaderTests testPreloader_SkipsDuplicateCurrentAccount 3ms
โœ… CatalogRepositoryCoreTests testDifferentURLsAreCachedSeparately 13ms
โœ… CatalogRepositoryCoreTests testInvalidateCacheForcesFreshFetch 112ms
โœ… CatalogRepositoryCoreTests testLoadTopLevelCatalogCachesFeed 24ms
โœ… CatalogRepositoryCoreTests testLoadTopLevelCatalogCallsAPI 31ms
โœ… CatalogRepositoryCoreTests testLoadTopLevelCatalogFallsToCacheOnNetworkError 169ms
โœ… CatalogRepositoryCoreTests testLoadTopLevelCatalogPropagatesError 8ms
โœ… CatalogRepositoryCoreTests testLoadTopLevelCatalogReturnsFeedTitle 11ms
โœ… CatalogRepositoryCoreTests testSearchDelegatesToAPI 83ms
โœ… CatalogRepositoryCoreTests testSearchPropagatesError 10ms
โœ… CatalogRepositoryTests testFetchFeed_DoesNotCache_AlwaysFetchesFresh 9ms
โœ… CatalogRepositoryTests testFetchFeed_NetworkError_ThrowsError 5ms
โœ… CatalogRepositoryTests testFetchFeed_Success_ReturnsFeed 9ms
โœ… CatalogRepositoryTests testIntegration_ErrorPropagation 14ms
โœ… CatalogRepositoryTests testIntegration_FullFetchFlow 9ms
โœ… CatalogRepositoryTests testInvalidateCache_ClearsSpecificURL 8ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_401Unauthorized_ThrowsError 45ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_500ServerError_ThrowsError 6ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_CachesFeed_ReturnsFromCache 10ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_EmptyFeed_ReturnsEmptyEntries 60ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_InvalidXML_ThrowsParsingError 8ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_MultipleURLs_CachesIndependently 13ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_NetworkError_FallsBackToStaleCache 8ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_NetworkError_ThrowsError 7ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_PreservesQueryParameters 9ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_ProblemDocument_ParsesErrorDetails 12ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_SpecialCharactersInTitle_ParsesCorrectly 6ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_Success_ReturnsFeed 9ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_UsesGETMethod 6ms
โœ… CatalogSearchViewModelRegistryUpdateTests testApplyRegistryUpdates_EmptyFilteredBooks_DoesNotCrash 8ms
โœ… CatalogSearchViewModelRegistryUpdateTests testApplyRegistryUpdates_MultipleRapidCalls_DoesNotCrash 57ms
โœ… CatalogSearchViewModelRegistryUpdateTests testApplyRegistryUpdates_NilChangedIdentifier_UpdatesAllBooks 20ms
โœ… CatalogSearchViewModelRegistryUpdateTests testApplyRegistryUpdates_UnknownIdentifier_NoChanges 7ms
โœ… CatalogSearchViewModelRegistryUpdateTests testApplyRegistryUpdates_WithBooks_UpdatesMatchingBook 10ms
โœ… CatalogSearchViewModelTests testApplyRegistryUpdates_DoesNotChangeSearchId 5ms
โœ… CatalogSearchViewModelTests testApplyRegistryUpdates_WithEmptyFilteredBooks_DoesNothing 2ms
โœ… CatalogSearchViewModelTests testClearSearch_CancelsPendingOperations 307ms
โœ… CatalogSearchViewModelTests testClearSearch_ChangesSearchId 2ms
โœ… CatalogSearchViewModelTests testClearSearch_ResetsSelectedFormat_DoesNotChangeFormatEntries 4ms
โœ… CatalogSearchViewModelTests testClearSearch_ResetsState 6ms
โœ… CatalogSearchViewModelTests testClearSearch_RestoresAllBooks 29ms
โœ… CatalogSearchViewModelTests testConcurrentUpdates_DoNotCrash 14ms
โœ… CatalogSearchViewModelTests testInit_HasCorrectDefaults 11ms
โœ… CatalogSearchViewModelTests testLoadFormatEntryPoints_SelectsActiveEntry 3ms
โœ… CatalogSearchViewModelTests testLoadFormatEntryPoints_WhenFeedHasNoEntryPoints_LeavesFormatEntriesEmpty 8ms
โœ… CatalogSearchViewModelTests testLoadFormatEntryPoints_WhenFetchFails_LeavesFormatEntriesEmpty 161ms
โœ… CatalogSearchViewModelTests testLoadFormatEntryPoints_WhenSuccessful_PopulatesFormatEntries 4ms
โœ… CatalogSearchViewModelTests testLoadFormatEntryPoints_WithNilBaseURL_DoesNotCallRepository 168ms
โœ… CatalogSearchViewModelTests testLoadNextPage_DoesNotChangeSearchId 3ms
โœ… CatalogSearchViewModelTests testLoadNextPage_SetsIsLoadingMore 6ms
โœ… CatalogSearchViewModelTests testLoadNextPage_WhenAlreadyLoading_DoesNothing 7ms
โœ… CatalogSearchViewModelTests testLoadNextPage_WithNoNextURL_DoesNothing 4ms
โœ… CatalogSearchViewModelTests testPP3605_ApplyRegistryUpdates_DoesNotChangeSearchId 16ms
โœ… CatalogSearchViewModelTests testPP3605_ClearSearch_ChangesSearchId 16ms
โœ… CatalogSearchViewModelTests testPP3605_DifferentSearches_EachHaveUniqueSearchId 118ms
โœ… CatalogSearchViewModelTests testPP3605_LoadNextPage_DoesNotChangeSearchId 61ms
โœ… CatalogSearchViewModelTests testPP3605_NewSearch_ChangesSearchId 60ms
โœ… CatalogSearchViewModelTests testPP3673_clearSearch_doesNotAnnounce 223ms
โœ… CatalogSearchViewModelTests testPP3673_search_emptyQuery_doesNotAnnounce 160ms
โœ… CatalogSearchViewModelTests testPP3673_search_error_announcesFailure 60ms
โœ… CatalogSearchViewModelTests testPP3673_search_noResults_announcesNoResults 60ms
โœ… CatalogSearchViewModelTests testPP3673_search_rerun_announcesUpdatedResults 115ms
โœ… CatalogSearchViewModelTests testSearch_CancelsDebounce_OnNewQuery 1.42s
โœ… CatalogSearchViewModelTests testSearch_CancelsInFlight_OnNewQuery 214ms
โœ… CatalogSearchViewModelTests testSearch_Debounces_DoesNotSearchDuringDebounceWindow 1.02s
โœ… CatalogSearchViewModelTests testSearch_Debounces_MultipleQueries 109ms
โœ… CatalogSearchViewModelTests testSearch_DifferentQueries_HaveDifferentSearchIds 122ms
โœ… CatalogSearchViewModelTests testSearch_NewSearch_ChangesSearchId 59ms
โœ… CatalogSearchViewModelTests testSearch_SpecialCharacters_DoesNotCrash 60ms
โœ… CatalogSearchViewModelTests testSearch_UnicodeCharacters_Works 59ms
โœ… CatalogSearchViewModelTests testSearch_VeryLongQuery_Works 58ms
โœ… CatalogSearchViewModelTests testSearch_WithEmptyQuery_DoesNotCallRepository 157ms
โœ… CatalogSearchViewModelTests testSearch_WithEmptyQuery_ShowsAllBooks 170ms
โœ… CatalogSearchViewModelTests testSearch_WithError_ClearsNextPageURL 59ms
โœ… CatalogSearchViewModelTests testSearch_WithError_SetsErrorMessage 60ms
โœ… CatalogSearchViewModelTests testSearch_WithNilBaseURL_ClearsNextPageURL 161ms
โœ… CatalogSearchViewModelTests testSearch_WithNilBaseURL_DoesNotSearch 165ms
โœ… CatalogSearchViewModelTests testSearch_WithNilResult_SetsEmptyResults 68ms
โœ… CatalogSearchViewModelTests testSearch_WithNoFormatEntries_UsesDefaultBaseURL 58ms
โœ… CatalogSearchViewModelTests testSearch_WithResults_UpdatesResults 60ms
โœ… CatalogSearchViewModelTests testSearch_WithValidQuery_CallsRepository 58ms
โœ… CatalogSearchViewModelTests testSearch_WithValidQuery_ClearsIsLoadingAfterCompletion 59ms
โœ… CatalogSearchViewModelTests testSearch_WithValidQuery_SetsIsSearching 58ms
โœ… CatalogSearchViewModelTests testSearch_WithWhitespaceOnlyQuery_DoesNotCallRepository 157ms
โœ… CatalogSearchViewModelTests testSelectFormat_ChangesSelectedIndex 5ms
โœ… CatalogSearchViewModelTests testSelectFormat_SameIndex_DoesNotChangeIndex 181ms
โœ… CatalogSearchViewModelTests testSelectFormat_WithActiveQuery_TriggersNewSearch 64ms
โœ… CatalogSearchViewModelTests testSelectFormat_WithCachedDescriptorURL_UsesDescriptorSearch 59ms
โœ… CatalogSearchViewModelTests testSelectFormat_WithEmptyQuery_DoesNotSearch 164ms
โœ… CatalogSearchViewModelTests testUpdateBooks_DoesNotChangeFilteredBooks_WhenQueryNotEmpty 16ms
โœ… CatalogSearchViewModelTests testUpdateBooks_EmptyArray_Works 9ms
โœ… CatalogSearchViewModelTests testUpdateBooks_LargeArray_Works 193ms
โœ… CatalogSearchViewModelTests testUpdateBooks_SetsFilteredBooks_WhenQueryEmpty 15ms
โœ… CatalogSelectorsTests testWithSelectedEntryPoint_UpdatesActiveState 4ms
โœ… CatalogSelectorsTests testWithSelectedFacet_UpdatesActiveState 5ms
โœ… CatalogSortServiceTests testAllCases 2ms
โœ… CatalogSortServiceTests testSortByAuthorAZ 17ms
โœ… CatalogSortServiceTests testSortByAuthorZA 9ms
โœ… CatalogSortServiceTests testSortByRecentlyAddedAZ 8ms
โœ… CatalogSortServiceTests testSortByRecentlyAddedZA 8ms
โœ… CatalogSortServiceTests testSortByTitleAZ 8ms
โœ… CatalogSortServiceTests testSortByTitleZA 9ms
โœ… CatalogSortServiceTests testSortEmptyArray 2ms
โœ… CatalogSortServiceTests testSortOptionFromLocalizedString_invalidString_returnsNil 2ms
โœ… CatalogSortServiceTests testSortOptionFromLocalizedString_validStrings 2ms
โœ… CatalogSortServiceTests testSortOptionLocalizedStrings 3ms
โœ… CatalogSortServiceTests testSortSingleBook 4ms
โœ… CatalogSortServiceTests testSortWithNilAuthors 7ms
โœ… CatalogSortServiceTests testSortedReturnsNewArray 8ms
โœ… CatalogStateTests testState_AllBooks_Grouped 12ms
โœ… CatalogStateTests testState_AllBooks_Ungrouped 6ms
โœ… CatalogStateTests testState_ApplyingFacet_IsTrue 2ms
โœ… CatalogStateTests testState_Error_HasNoContent 2ms
โœ… CatalogStateTests testState_Loaded_ExposesContent 7ms
โœ… CatalogStateTests testState_Loading_HasNoContent 2ms
โœ… CatalogStateTests testState_SwitchingEntryPoint_HasNoContent 4ms
โœ… CatalogViewModelStateMachineTests testApplyEntryPoint_RequiresLoadedState 2ms
โœ… CatalogViewModelStateMachineTests testApplyEntryPoint_WithNilHref_NoOp 2ms
โœ… CatalogViewModelStateMachineTests testApplyFacet_RequiresLoadedState 4ms
โœ… CatalogViewModelStateMachineTests testApplyFacet_WithNilHref_NoOp 5ms
โœ… CatalogViewModelStateMachineTests testForceRefresh_TransitionsToLoading 4ms
โœ… CatalogViewModelStateMachineTests testLoad_WithError_TransitionsToError 8ms
โœ… CatalogViewModelStateMachineTests testLoad_WithNilResult_TransitionsToError 3ms
โœ… CatalogViewModelStateMachineTests testLoad_WithNilURL_DoesNotCallRepository 2ms
โœ… CatalogViewModelStateMachineTests testSearchRepository_ReturnsMock 2ms
โœ… CatalogViewModelStateMachineTests testViewModel_InitialState_IsLoading 6ms
โœ… ChaosFaultInjectionTests test_scenario1_midDownloadNetworkKill_failsRecoverably 10ms
โœ… ChaosFaultInjectionTests test_scenario2_diskFullDuringExtraction_throwsAndLeavesNoFullFile 6ms
โœ… ChaosFaultInjectionTests test_scenario3_lowMemoryDuringDRMFetch_remainsRecoverable 15ms
โœ… ChaosFaultInjectionTests test_scenario4_processKillDuringRegistryWrite_atomicityHolds 9ms
โœ… ChaosFaultInjectionTests test_scenario5_tokenExpiryMidAnnotationSync_invokesReauthAndRetries 12ms
โœ… CirculationAnalyticsTests testEventPathComponents 3ms
โœ… CirculationAnalyticsTests testNetworkQueueStatusCodesExist 3ms
โœ… CirculationAnalyticsTests testPostEventConstructsCorrectURL 2ms
โœ… CirculationAnalyticsTests testPostEventWithNilAnalyticsURL 8ms
โœ… ColorExtensionTests testIsDark_Black_ReturnsTrue 3ms
โœ… ColorExtensionTests testIsDark_DarkGray_ReturnsTrue 43ms
โœ… ColorExtensionTests testIsDark_LightGray_ReturnsFalse 2ms
โœ… ColorExtensionTests testIsDark_PureRed_ReturnsFalse 6ms
โœ… ColorExtensionTests testIsDark_White_ReturnsFalse 2ms
โœ… ConcurrentBookStateTests testConcurrent_differentContentTypes_supportedSimultaneously 13ms
โœ… ConcurrentBookStateTests testConcurrent_drmTypes_supportedSimultaneously 7ms
โœ… ConcurrentBookStateTests testConcurrent_multipleDownloads_independentStates 13ms
โœ… ConcurrentDownloadStateTests testMultipleBooks_canBeRegisteredSimultaneously 12ms
โœ… ConcurrentDownloadStateTests testMultipleBooks_canHaveDifferentStates 16ms
โœ… ConcurrentDownloadStateTests testMultipleBooks_stateChangesAreIndependent 10ms
โœ… ConcurrentTokenRefreshTests testRefreshTokenAndResume_noCredentials_failsImmediately 16ms
โœ… ConcurrentTokenRefreshTests testTokenRequest_canExecuteViaStub 12ms
โœ… ContinuousPlaybackTrackingTests testBiblioBoardScenario_61MinutesWithTrackChanges 344ms
โœ… ContinuousPlaybackTrackingTests testRapidTrackChanges_noTimeLoss 530ms
โœ… ContinuousPlaybackTrackingTests testTrackTransition_savesTimeBeforeNextTrackStarts 45ms
โœ… CrawlStateTests testCrawlState_DecodesWithMissingOptionals 3ms
โœ… CrawlStateTests testCrawlState_EncodesAndDecodes 3ms
โœ… CrawlStateTests testCrawlState_LoadFromMissingFile_Fails 3ms
โœ… CrawlStateTests testCrawlState_PersistsToDisk 9ms
โœ… CrawlStateTests testNeedsFullCrawl_WhenBothNil_ReturnsTrue 2ms
โœ… CrawlStateTests testNeedsFullCrawl_WhenBothPresent_ReturnsFalse 2ms
โœ… CrawlStateTests testNeedsFullCrawl_WhenNoFacetURL_ReturnsTrue 3ms
โœ… CrawlStateTests testNeedsFullCrawl_WhenNoLastCrawlDate_ReturnsTrue 2ms
โœ… CrawlableFeedAnalysisTests testIsFullCrawlComplete_WhenHasNextLink_ReturnsFalse 8ms
โœ… CrawlableFeedAnalysisTests testIsFullCrawlComplete_WhenNoNextLink_ReturnsTrue 3ms
โœ… CrawlableFeedAnalysisTests testIsFullCrawlComplete_returnsTrueForNilOrEmptyLinks 4ms
โœ… CrawlableFeedAnalysisTests testIsOrderModifiedActive_WhenFacetHasRelSelf_ReturnsTrue 4ms
โœ… CrawlableFeedAnalysisTests testIsOrderModifiedActive_WhenOtherFacetActive_ReturnsFalse 4ms
โœ… CrawlableFeedAnalysisTests testIsOrderModifiedActive_returnsFalseForNilOrEmptyFacets 7ms
โœ… CrawlableFeedAnalysisTests testOrderModifiedFacetURL_WhenNoSortFacetGroup_ReturnsNil 5ms
โœ… CrawlableFeedAnalysisTests testOrderModifiedFacetURL_WhenNotActive_StillReturnsURL 12ms
โœ… CrawlableFeedAnalysisTests testOrderModifiedFacetURL_WhenPresent_ReturnsURL 13ms
โœ… CrawlableFeedAnalysisTests testOrderModifiedFacetURL_WhenSortGroupHasNoModifiedLink_ReturnsNil 2ms
โœ… CrawlableFeedAnalysisTests testOrderModifiedFacetURL_returnsNilForNilOrEmptyFacets 4ms
โœ… CrawlableFeedAnalysisTests testPublicationsNewerThan_FiltersCorrectly 2ms
โœ… CrawlableFeedAnalysisTests testShouldStopIncremental_WhenAllPublicationsNewer_ReturnsFalse 2ms
โœ… CrawlableFeedAnalysisTests testShouldStopIncremental_WhenEmptyPublications_ReturnsFalse 2ms
โœ… CrawlableFeedAnalysisTests testShouldStopIncremental_WhenPublicationExactlyAtLastCrawl_ReturnsTrue 2ms
โœ… CrawlableFeedAnalysisTests testShouldStopIncremental_WhenPublicationHasNoUpdatedDate_ReturnsFalse 2ms
โœ… CrawlableFeedAnalysisTests testShouldStopIncremental_WhenPublicationOlderThanLastCrawl_ReturnsTrue 5ms
โœ… CrawlerFallbackTests testCrawlFirstPage_NetworkDown_ReturnsFailure 4ms
โœ… CrawlerFallbackTests testCrawlFirstPage_PreservesPaginationLinks_InParsedPage 23ms
โœ… CrawlerFallbackTests testCrawlFirstPage_Success_ReturnsPartialData 10ms
โœ… CrawlerFallbackTests testCrawlRemainingPages_OneParallelPageFails_ReturnsFailure 8ms
โœ… CrawlerFallbackTests testCrawlRemainingPages_WhenSecondPageFails_ReturnsFailure 8ms
โœ… CrawlerFallbackTests testCrawl_EmptyFeed_ReturnsSuccessWithNoLibraries 4ms
โœ… CrawlerFallbackTests testCrawl_WhenCrawlStateCorrupted_TreatsAsFirstLaunch 9ms
โœ… CrawlerFallbackTests testCrawl_WhenCrawlableReturnsError_ReturnsFailure 5ms
โœ… CrawlerFallbackTests testCrawl_WhenCrawlableReturnsMalformedJSON_ReturnsFailure 6ms
โœ… CrawlerFallbackTests testCrawl_WhenCrawlableSucceeds_ReturnsCrawledData 16ms
โœ… CrawlerFallbackTests testCrawl_WhenResponseMissingCatalogs_ReturnsFailure 5ms
โœ… CrawlerFallbackTests testIncrementalCrawlFails_NextAttemptDoesFullCrawl 4ms
โœ… CredentialEdgeCaseTests testBarcodeAndPin_EmptyStrings_ProduceMalformedBasicAuthHeader 2ms
โœ… CredentialEdgeCaseTests testCredentials_BarcodeAndPin_RoundTripsThroughCodable 12ms
โœ… CredentialEdgeCaseTests testCredentials_TokenWithNilBarcodeAndPin_SurvivesCodableRoundTrip 5ms
โœ… CredentialEdgeCaseTests testTokenCredential_EmptyBarcode_IsDistinctFromNil 2ms
โœ… CredentialEdgeCaseTests testTokenCredential_EmptyPin_IsDistinctFromNil 3ms
โœ… CredentialEdgeCaseTests testTokenCredential_NilBarcode_ReturnsNilUsername 2ms
โœ… CredentialPrivacyTests testErrorLogger_metadataKeysNeverIncludeCredentialFields 2ms
โœ… CredentialPrivacyTests testException_messageDoesNotEmbedCredentials 2ms
โœ… CredentialPrivacyTests testLCPPassphraseError_doesNotEmbedPassphrase 2ms
โœ… CredentialPrivacyTests testSignInFailureLog_doesNotContainBarcodeOrPIN 32ms
โœ… CredentialPromptCoordinatorTests testRequestCredentials_adobeExpired_presentsAdobeAlertInsteadOfSignIn 41ms
โœ… CredentialPromptCoordinatorTests testRequestCredentials_alreadyInFlight_skipsDuplicateModal 78ms
โœ… CredentialPromptCoordinatorTests testRequestCredentials_signInCancelled_registersCompletionAndDoesNotRetry 194ms
โœ… CredentialPromptCoordinatorTests testRequestCredentials_signInSuccess_retriesDownloadViaDelegate 55ms
โœ… CrossDeviceBookmarkSyncTests testBookmarkSpec_DifferentDevices_ProduceDifferentPayloads 3ms
โœ… CrossDeviceBookmarkSyncTests testBookmarkSpec_IncludesDeviceID 2ms
โœ… CrossDeviceBookmarkSyncTests testBookmarkWithNilDevice_TreatedAsSameDevice 3ms
โœ… CrossDeviceBookmarkSyncTests testBookmark_HasCorrectMotivation 2ms
โœ… CrossDeviceBookmarkSyncTests testDifferentDevice_DifferentPosition_ShouldSync 4ms
โœ… CrossDeviceBookmarkSyncTests testDifferentDevice_IdenticalPosition_ShouldNotSync 2ms
โœ… CrossDeviceBookmarkSyncTests testNoLocalPosition_DifferentDevice_ShouldSync 2ms
โœ… CrossDeviceBookmarkSyncTests testNoLocalPosition_SameDevice_ShouldNotSync 2ms
โœ… CrossDeviceBookmarkSyncTests testNoServerPosition_ShouldNotSync 2ms
โœ… CrossDeviceBookmarkSyncTests testParseServerBookmarks_MultipleDevices 2ms
โœ… CrossDeviceBookmarkSyncTests testReadingProgress_HasCorrectMotivation 2ms
โœ… CrossDeviceBookmarkSyncTests testSameDevice_DifferentPosition_ShouldNotSync 3ms
โœ… CrossDomain401Tests test200FromDifferentDomain_shouldNotIndicateAuthRefreshNeeded 2ms
โœ… CrossDomain401Tests test401FromDifferentDomain_shouldNotIndicateAuthRefreshNeeded 5ms
โœ… CrossDomain401Tests test401FromDifferentSubdomain_shouldIndicateAuthRefreshNeeded 2ms
โœ… CrossDomain401Tests test401FromSameDomain_shouldIndicateAuthRefreshNeeded 120ms
โœ… CrossDomain401Tests test401FromSameSubdomain_shouldIndicateAuthRefreshNeeded 3ms
โœ… CrossDomain401Tests test401WithNilOriginalURL_shouldIndicateAuthRefreshNeeded 2ms
โœ… CrossDomain401Tests test403FromDifferentDomain_shouldNotIndicateAuthRefreshNeeded 2ms
โœ… CrossDomain401Tests testProblemDocFromDifferentDomain_shouldNotIndicateAuthRefreshNeeded 6ms
โœ… CrossFormatMappingTests testChapterBeyondMappingRange 2ms
โœ… CrossFormatMappingTests testCodableRoundTrip 13ms
โœ… CrossFormatMappingTests testCustomChapterMapping 2ms
โœ… CrossFormatMappingTests testFirstChapterMapping 2ms
โœ… CrossFormatMappingTests testLastChapterMapping 2ms
โœ… CrossFormatMappingTests testMappingWithMissingChapterIndex 1ms
โœ… CrossFormatMappingTests testMappingWithZeroChapters 3ms
โœ… CrossFormatMappingTests testMappingWrongFormat 2ms
โœ… CrossFormatMappingTests testOneToOneAudiobookToEpub 4ms
โœ… CrossFormatMappingTests testOneToOneEpubToAudiobook 16ms
โœ… CrossFormatMappingTests testOneToOneMappingCreation 2ms
โœ… CrossFormatMappingTests testProportionalAudiobookToEpub 2ms
โœ… CrossFormatMappingTests testProportionalEpubToAudiobook 3ms
โœ… CrossFormatMappingTests testProportionalMappingCreation 2ms
โœ… DPLAErrorTests testCertificateUrl_isValid 2ms
โœ… DPLAErrorTests testDrmKeyError_readableError 3ms
โœ… DPLAErrorTests testRequestError_readableError 7ms
โŠ˜ DRMAdversarialTests testAdobe_didIgnoreFulfillment_noLongerShowsSignInModal 8ms
โŠ˜ DRMAdversarialTests testAdobe_epubWithoutValidLicense_openFails 9ms
โŠ˜ DRMAdversarialTests testAdobe_fulfillmentPath_callsEnsureDeviceActivated 25ms
โœ… DRMAdversarialTests testLCP_publicationWithoutPassphrase_returnsAuthRequired 5ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_localURLIsCorrect 2ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_storesLocalURL 2ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_storesSuggestedFilename 2ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_withEmptyFilename 2ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_withLongFilename 2ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_withSpecialCharacters 2ms
โœ… DataBase64Tests testBase64UrlSafe_ReplacesPlus_WithDash 2ms
โœ… DataBase64Tests testBase64UrlSafe_ReplacesSlash_WithUnderscore 15ms
โœ… DataBase64Tests testBase64UrlSafe_emptyAndAscii_canonicalAndNoNewlines 4ms
โœ… DataReceptionComparisonTests testGET_receivesBearerTokenJSON_andCanBeDetected 90ms
โœ… DataReceptionComparisonTests testGET_receivesNonEmptyBody_forValidJSON 123ms
โœ… DateExtensionTests testAddingDays_increasesDate 2ms
โœ… DateExtensionTests testDateComparison_differentDay 2ms
โœ… DateExtensionTests testDateComparison_sameDay 2ms
โœ… DateExtensionTests testISO8601_roundTrip 7ms
โœ… DateExtensionTests testRfc339String_includesTimezone 2ms
โœ… DateExtensionTests testRfc339String_producesValidFormat 3ms
โœ… DateExtensionTests testSubtractingDays_decreasesDate 2ms
โœ… DateExtensionTests testTimeIntervalSinceNow_negative 2ms
โœ… DateExtensionTests testTimeIntervalSinceNow_positive 2ms
โœ… DateFormattingTests testCustomFormat 6ms
โœ… DateFormattingTests testLongDateFormat 5ms
โœ… DateFormattingTests testShortDateFormat 7ms
โœ… DateFormattingTests testTimeFormat 4ms
โœ… Date_NYPLAdditionsTests testISO8601FullDateParsing 7ms
โœ… Date_NYPLAdditionsTests testInvalidRFC3339Date 41ms
โœ… Date_NYPLAdditionsTests testParsesRFC3339DateCorrectly 25ms
โœ… Date_NYPLAdditionsTests testParsesRFC3339DateWithFractionalSecondsCorrectly 5ms
โœ… Date_NYPLAdditionsTests testRFC1123 5ms
โœ… Date_NYPLAdditionsTests testRFC1123Performance 547ms
โœ… Date_NYPLAdditionsTests testRFC3339RoundTrip 7ms
โœ… DebugSettingsTests testBadgeLogging_defaultFalse 5ms
โœ… DebugSettingsTests testBadgeLogging_enabledStateIsResetByResetAll 4ms
โœ… DebugSettingsTests testCreateSimulatedBorrowError_nilWhenDisabled 3ms
โœ… DebugSettingsTests testCreateSimulatedBorrowError_returnsErrorWhenEnabled 8ms
โœ… DebugSettingsTests testCreateTestHoldBooks_allReady 4ms
โœ… DebugSettingsTests testCreateTestHoldBooks_mixedHolds 6ms
โœ… DebugSettingsTests testCreateTestHoldBooks_nilWhenDisabled 8ms
โœ… DebugSettingsTests testCreateTestHoldBooks_oneReady 6ms
โœ… DebugSettingsTests testCreateTestHoldBooks_oneReserved 6ms
โœ… DebugSettingsTests testDefaultSimulatedBorrowError 3ms
โœ… DebugSettingsTests testIsBorrowErrorSimulationEnabled 4ms
โœ… DebugSettingsTests testIsTestHoldsEnabled 6ms
โœ… DebugSettingsTests testResetAll 8ms
โœ… DebugSettingsTests testSimulatedBorrowError_allCasesHaveDisplayNames 3ms
โœ… DebugSettingsTests testSimulatedBorrowError_canBeSet 6ms
โœ… DebugSettingsTests testSimulatedBorrowError_credentialsSuspended 2ms
โœ… DebugSettingsTests testSimulatedBorrowError_generic 2ms
โœ… DebugSettingsTests testSimulatedBorrowError_holdLimit 7ms
โœ… DebugSettingsTests testSimulatedBorrowError_loanLimit 34ms
โœ… DebugSettingsTests testSimulatedBorrowError_none_nilProblemDoc 2ms
โœ… DebugSettingsTests testTestHoldsConfig_allCasesHaveDisplayNames 4ms
โœ… DebugSettingsTests testTestHoldsConfig_allReady_badgeCount 3ms
โœ… DebugSettingsTests testTestHoldsConfig_default 2ms
โœ… DebugSettingsTests testTestHoldsConfig_mixedHolds_badgeCount 2ms
โœ… DebugSettingsTests testTestHoldsConfig_none_badgeCount 2ms
โœ… DebugSettingsTests testTestHoldsConfig_oneReady_badgeCount 2ms
โœ… DebugSettingsTests testTestHoldsConfig_oneReserved_badgeCount 3ms
โœ… DefaultCatalogAPITests testCatalogAPI_IntegrationWithRepository_HandlesErrors 9ms
โœ… DefaultCatalogAPITests testCatalogAPI_IntegrationWithRepository_WorksCorrectly 10ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_ActiveEntry_GetsSearchDescriptorURL 4ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_FacetWithEmptyTitle_IsExcluded 6ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_FeedWithNoFacets_ReturnsEmpty 3ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_FirstEntryActive_MarkedCorrectly 4ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_GroupsFeedURLs_AreCorrect 3ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_InactiveEntries_HaveNilSearchDescriptorURL 7ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_NoSearchLink_AllDescriptorURLsNil 4ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_NonEntryPointFacets_AreExcluded 5ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_SecondEntryActive_MarkedCorrectly 4ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_StableIDs_MatchGroupsFeedURL 8ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_ThreeEntryPoints_ReturnsAllThree 5ms
โœ… DefaultCatalogAPITests testFetchFeed_AfterReset_CallCountResetsToZero 7ms
โœ… DefaultCatalogAPITests testFetchFeed_DefaultResponse_UsedWhenNoStubSet 4ms
โœ… DefaultCatalogAPITests testFetchFeed_DifferentURLs_ReturnDifferentStubs 7ms
โœ… DefaultCatalogAPITests testFetchFeed_EmptyFeed_ReturnsEmptyEntries 18ms
โœ… DefaultCatalogAPITests testFetchFeed_EmptyResponseData_ThrowsParsingError 5ms
โœ… DefaultCatalogAPITests testFetchFeed_FailAfterMultipleCalls_SimulatesIntermittentFailure 23ms
โœ… DefaultCatalogAPITests testFetchFeed_GlobalError_AffectsAllRequests 4ms
โœ… DefaultCatalogAPITests testFetchFeed_InvalidXML_ThrowsParsingError 4ms
โœ… DefaultCatalogAPITests testFetchFeed_MultipleCalls_TracksAllRequests 13ms
โœ… DefaultCatalogAPITests testFetchFeed_NetworkError_ThrowsError 2ms
โœ… DefaultCatalogAPITests testFetchFeed_ServerError500_ThrowsError 7ms
โœ… DefaultCatalogAPITests testFetchFeed_SpecialCharactersInFeedTitle_ParsesCorrectly 4ms
โœ… DefaultCatalogAPITests testFetchFeed_Timeout_ThrowsError 4ms
โœ… DefaultCatalogAPITests testFetchFeed_TracksRequestDetails 15ms
โœ… DefaultCatalogAPITests testFetchFeed_URLWithQueryParameters_PreservesParameters 5ms
โœ… DefaultCatalogAPITests testFetchFeed_UnauthorizedError_ThrowsError 5ms
โœ… DefaultCatalogAPITests testFetchFeed_UsesGETMethod 8ms
โœ… DefaultCatalogAPITests testFetchFeed_ValidOPDSResponse_ReturnsParsedFeed 18ms
โœ… DeriveInitialStateTests testDeriveInitialState_ForBookWithoutAcquisition_ReturnsUnsupported 3ms
โœ… DeriveInitialStateTests testDeriveInitialState_ForReadyBook_ReturnsHolding 4ms
โœ… DeriveInitialStateTests testDeriveInitialState_ForReservedBook_ReturnsHolding 10ms
โœ… DeriveInitialStateTests testDeriveInitialState_ForStandardBook_ReturnsDownloadNeeded 10ms
โœ… DeviceLogCollectorGapTests testDeviceLogCollector_collectLogs_exercisesFormattingMethods 6.65s
โœ… DeviceLogCollectorGapTests testDeviceLogCollector_collectLogs_outputContainsFormattedStructure 7.97s
โœ… DeviceLogCollectorTests testCollectLogs_capturesRecentOSLogEntries 6.78s
โœ… DeviceLogCollectorTests testCollectLogs_containsEndMarker 5.90s
โœ… DeviceLogCollectorTests testCollectLogs_containsExpectedHeader 4.59s
โœ… DeviceLogCollectorTests testCollectLogs_defaultParameterIs7Days 5.56s
โœ… DeviceLogCollectorTests testCollectLogs_formattedEntriesContainExpectedFields 5.92s
โœ… DeviceLogCollectorTests testCollectLogs_outputIsValidUTF8 4.90s
โœ… DeviceLogCollectorTests testCollectLogs_reportsEntryCount 5.56s
โœ… DeviceLogCollectorTests testCollectLogs_returnsNonEmptyData 4.81s
โœ… DeviceLogCollectorTests testCollectLogs_withCustomDayRange_reflectsInOutput 5.06s
โœ… DeviceOrientationTests testDeviceOrientation_isObservableObject 13ms
โœ… DeviceOrientationTests testInitialIsLandscape_basedOnScreenDimensions 100ms
โœ… DeviceOrientationTests testIsLandscape_isPublished 2ms
โœ… DeviceOrientationTests testStartAndStopTracking_multipleTimesDoesNotCrash 2ms
โœ… DeviceOrientationTests testStartTracking_doesNotCrash 3ms
โœ… DeviceOrientationTests testStopTracking_beforeStartTracking_doesNotCrash 11ms
โœ… DeviceOrientationTests testStopTracking_doesNotCrash 32ms
โœ… DeviceSpecificErrorMonitorTests testGetDeviceID_isConsistent 3ms
โœ… DeviceSpecificErrorMonitorTests testGetDeviceID_looksLikeUUIDAndFormatIsStableAcrossCalls 6ms
โœ… DeviceSpecificErrorMonitorTests testGetDeviceID_returnsNonEmptyString 12ms
โœ… DeviceSpecificErrorMonitorTests testGetDeviceInfo_containsExpectedKeys 2ms
โœ… DeviceSpecificErrorMonitorTests testGetDeviceInfo_valuesAreNonEmpty 2ms
โœ… DeviceSpecificErrorMonitorTests testIsEnhancedLoggingEnabled_returnsBool 3ms
โœ… DeviceSpecificErrorMonitorTests testLogError_doesNotCrashAndPreservesMonitorState 2ms
โœ… DeviceSpecificErrorMonitorTests testLogError_withMetadata_doesNotCrash 4ms
โœ… DeviceSpecificErrorMonitorTests testLogNetworkFailure_doesNotCrash 8ms
โœ… DeviceSpecificErrorMonitorTests testShared_providesFunctionalInstanceWithDeviceIDAndInfo 8ms
โœ… DeviceSpecificErrorMonitorTests testShared_returnsSameInstance 2ms
โœ… DictionaryExtensionsTests testMapKeys_ChangesKeyType_StringToInt 3ms
โœ… DictionaryExtensionsTests testMapKeys_CollidingKeys_OverwritesValue 30ms
โœ… DictionaryExtensionsTests testMapKeys_EmptyDictionary_ReturnsEmpty 2ms
โœ… DictionaryExtensionsTests testMapKeys_TransformsKeys_PreservesValues 2ms
โœ… DictionaryExtensionsTests testMapKeys_UniqueTransform_PreservesCount 2ms
โœ… DiskBudgetManagerTests testDefaultBudget_onLargeDevice_returnsRelaxedLargeDeviceQuota 6ms
โœ… DiskBudgetManagerTests testDefaultBudget_onSmallDevice_returnsRelaxedSmallDeviceQuota 9ms
โœ… DiskBudgetManagerTests testDirectoryUsageBytes_emptyDirectory_returnsZero 6ms
โœ… DiskBudgetManagerTests testDirectoryUsageBytes_missingDirectory_returnsZero 3ms
โœ… DiskBudgetManagerTests testDirectoryUsageBytes_sumsAllNonHiddenFiles 8ms
โœ… DiskBudgetManagerTests testListContentFilesSortedByLRU_missingDirectory_returnsEmpty 3ms
โœ… DiskBudgetManagerTests testListContentFilesSortedByLRU_returnsOldestFirst 6ms
โœ… DiskBudgetTests testContentDirectory_createdOnAccess 6ms
โœ… DiskBudgetTests testDiskSpace_available_returnsPositiveValue 4ms
โœ… DownloadAlertPresenterTests testAlertForProblemDocument_errorOnly_includesErrorDescription 32ms
โœ… DownloadAlertPresenterTests testAlertForProblemDocument_genericProblem_keepsBookInRegistryAndAllowsRetry 32ms
โœ… DownloadAlertPresenterTests testAlertForProblemDocument_noActiveLoan_removesFromRegistryAndDisablesRetry 528ms
โœ… DownloadAlertPresenterTests testFailDownloadWithAlert_retryAction_invokesStartDownloadOnce 34ms
โœ… DownloadAlertPresenterTests testFailDownloadWithAlert_setsDownloadFailedAndAnnouncesAndPublishesError 44ms
โœ… DownloadAnnouncementServiceTests testAnnounceBorrowFailed_forwardsTitle 4ms
โœ… DownloadAnnouncementServiceTests testAnnounceBorrowStarted_forwardsTitle 3ms
โœ… DownloadAnnouncementServiceTests testAnnounceBorrowSucceeded_forwardsTitle 4ms
โœ… DownloadAnnouncementServiceTests testAnnounceDownloadCompleted_announcesAndResetsProgress 6ms
โœ… DownloadAnnouncementServiceTests testAnnounceDownloadFailed_announcesAndResetsProgress 6ms
โœ… DownloadAnnouncementServiceTests testAnnounceDownloadProgress_forwardsTitleIdentifierAndProgress 9ms
โœ… DownloadAnnouncementServiceTests testAnnounceDownloadStarted_forwardsTitleAndIdentifier 4ms
โœ… DownloadAnnouncementServiceTests testAnnounceReturnFailed_forwardsTitle 4ms
โœ… DownloadAnnouncementServiceTests testAnnounceReturnStarted_forwardsTitle 4ms
โœ… DownloadAnnouncementServiceTests testAnnounceReturnSucceeded_forwardsTitle 88ms
โœ… DownloadAnnouncementServiceTests testCompletedAndFailed_orderingIsAnnounceThenReset 4ms
โœ… DownloadAnnouncementServiceTests testIdentifierPropagation_distinctBooksAreNotAliased 12ms
โœ… DownloadAuthRetryHandlerTests testHandle_401_withCredentials_browserOIDC_presentsReauthAndRetriesOnLoggedIn 169ms
โœ… DownloadAuthRetryHandlerTests testHandle_401_withCredentials_browserSAML_setsStateToSAMLStartedAndRetries 183ms
โœ… DownloadAuthRetryHandlerTests testHandle_401_withCredentials_tokenRefresh_returnsFalseSoCallerCanAlert 11ms
โœ… DownloadAuthRetryHandlerTests testHandle_401_withoutCredentials_loginRequired_presentsSignInAndRetriesOnHasCredentials 171ms
โœ… DownloadAuthRetryHandlerTests testHandle_noActiveLoan_basicAuth_triggersAutoBorrowAndAlertsOnBorrowFailure 13ms
โœ… DownloadAuthRetryHandlerTests testHandle_noActiveLoan_browserSAML_treatsAsSessionExpiryAndRetries 185ms
โœ… DownloadAuthRetryHandlerTests testHandle_nonAuthError_withoutCredentials_loginRequired_presentsSignInModal 7ms
โœ… DownloadAuthRetryHandlerTests testHandle_unrelatedFailure_anonymousAccount_returnsFalse 14ms
โœ… DownloadCancellationHandlerTests testCancel_adobeDRMRights_shortCircuitsToAdobeCancel 110ms
โœ… DownloadCancellationHandlerTests testCancel_noTaskInDownloadingState_setsDownloadNeededAndCleansUp 38ms
โœ… DownloadCancellationHandlerTests testCancel_noTaskInSAMLStartedState_treatedAsCancellable 34ms
โœ… DownloadCancellationHandlerTests testCancel_unknownIdentifierWithNonCancellableState_isNoOp 81ms
โœ… DownloadCancellationHandlerTests testCancel_withTask_setsDownloadNeededAndCancelsTask 35ms
โœ… DownloadCompletionParserTests testParse_OPDS2Publication_followUpFailed_returnsFailure 22ms
โœ… DownloadCompletionParserTests testParse_OPDS2Publication_followUpStarted_returnsFollowUpStarted 6ms
โœ… DownloadCompletionParserTests testParse_OPDSEntry_followUpFailed_returnsFailure 19ms
โœ… DownloadCompletionParserTests testParse_OPDSEntry_followUpStarted_returnsFollowUpStarted 15ms
โœ… DownloadCompletionParserTests testParse_knownRightsInCache_skipsDetection 10ms
โœ… DownloadCompletionParserTests testParse_problemDocument_returnsFailureWithParsedDoc 8ms
โœ… DownloadCompletionParserTests testParse_supportedMime_returnsProceed 9ms
โœ… DownloadCompletionParserTests testParse_unknownRights_detectsFromMimeAndUpdatesCache 17ms
โœ… DownloadCompletionParserTests testParse_unsupportedMime_returnsFailure 9ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_concurrentCompletions_maintainsConsistency 5ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_concurrentRegistrations_maintainsConsistency 9ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_downloadInfoCache_storesMultipleEntries 51ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_downloadInfoCache_updatesExistingEntry 5ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_mixedOperations_maintainsConsistency 18ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_partialDequeue_leavesRemainder 20ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_queueFIFO_maintainsOrder 12ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_throttling_returnsDelayAfterRecentStart 3ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_throttling_returnsZeroAfterDelay 3ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_zeroCapacityDequeue_returnsEmpty 24ms
โœ… DownloadCoordinatorTests testCoordinator_cacheDownloadInfo_storesAndRetrieves 3ms
โœ… DownloadCoordinatorTests testCoordinator_canStartDownload_respectsMaxConcurrent 7ms
โœ… DownloadCoordinatorTests testCoordinator_canStartDownload_withinLimit 3ms
โœ… DownloadCoordinatorTests testCoordinator_dequeuePending_returnsBooks 15ms
โœ… DownloadCoordinatorTests testCoordinator_enqueuePending_addsToQueue 13ms
โœ… DownloadCoordinatorTests testCoordinator_enqueuePending_preventsDuplicates 8ms
โœ… DownloadCoordinatorTests testCoordinator_redirectAttempts_tracksCorrectly 3ms
โœ… DownloadCoordinatorTests testCoordinator_registerCompletion_decrementsActiveCount 4ms
โœ… DownloadCoordinatorTests testCoordinator_registerStart_incrementsActiveCount 3ms
โœ… DownloadCoordinatorTests testCoordinator_removeCachedDownloadInfo_removesEntry 4ms
โœ… DownloadCoordinatorTests testCoordinator_reset_clearsAllState 33ms
โœ… DownloadDiskSpaceTests testAvailableDiskSpace_isPositive 3ms
โœ… DownloadDiskSpaceTests testDocumentsDirectory_exists 2ms
โœ… DownloadErrorInfoTests testConvenienceInit_setsFieldsCorrectly 2ms
โœ… DownloadErrorInfoTests testFullInit_withNilRetryAction 2ms
โœ… DownloadErrorInfoTests testFullInit_withRetryAction 2ms
โœ… DownloadErrorRecoveryPolicyTests testBorrowPolicy_doesNotRetryOnFatalErrors 2ms
โœ… DownloadErrorRecoveryPolicyTests testBorrowPolicy_recoversAfterNoActiveLoan 18ms
โœ… DownloadErrorRecoveryPolicyTests testBorrowPolicy_retriesOnAllTransientErrors 4ms
โœ… DownloadErrorRecoveryPolicyTests testDefaultPolicy_hasReasonableDefaults 4ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_failsAfterMaxAttempts 38ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_immediateSuccess_noRetries 6ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_nonRetryableError_failsImmediately 5ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_retriesOnTransientError 41ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_successfulOperation_returnsResult 6ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_worksWithDifferentTypes 4ms
โœ… DownloadErrorRecoveryPolicyTests testPolicyPresets_areOrderedByAggressiveness 4ms
โœ… DownloadErrorRecoveryTests testErrorRecovery_cancelledDownload_resetsToDownloadNeeded 9ms
โœ… DownloadErrorRecoveryTests testErrorRecovery_downloadFailed_allowsRetry 7ms
โœ… DownloadErrorRecoveryTests testErrorRecovery_multipleFailures_trackedSeparately 13ms
โœ… DownloadInfoTests testDownloadInfo_creation_setsInitialValues 23ms
โœ… DownloadInfoTests testDownloadInfo_progressUpdates_handlesEdgeCases 2ms
โœ… DownloadInfoTests testDownloadInfo_rightsManagementString_returnsCorrectString 3ms
โœ… DownloadInfoTests testDownloadInfo_withDownloadProgress_createsNewInstance 5ms
โœ… DownloadInfoTests testDownloadInfo_withRightsManagement_createsNewInstance 3ms
โœ… DownloadOnlyOnWiFiTests testAccessibilityIdentifier_exists 2ms
โœ… DownloadOnlyOnWiFiTests testDefaultValue_isFalse 6ms
โœ… DownloadOnlyOnWiFiTests testLocalizedStrings_areNotEmpty 2ms
โœ… DownloadOnlyOnWiFiTests testMock_canBeConfigured 2ms
โœ… DownloadOnlyOnWiFiTests testMock_defaultIsFalse 2ms
โœ… DownloadOnlyOnWiFiTests testMock_resetClearsSetting 3ms
โœ… DownloadOnlyOnWiFiTests testReachability_isOnWiFi_consistentWithDetailedStatus 2ms
โœ… DownloadOnlyOnWiFiTests testReachability_isOnWiFi_returnsBool 2ms
โœ… DownloadOnlyOnWiFiTests testSetting_persistsAcrossReads 7ms
โœ… DownloadOnlyOnWiFiTests testSetting_persistsToUserDefaultsAcrossToggleCycle 12ms
โœ… DownloadPersistenceStoreTests testBookDownloadsOverallProgress 6ms
โœ… DownloadPersistenceStoreTests testGetIncompleteDownloads 8ms
โœ… DownloadPersistenceStoreTests testMarkCompleted 386ms
โœ… DownloadPersistenceStoreTests testRegisterDownload 44ms
โœ… DownloadPersistenceStoreTests testUpdateProgress 5ms
โœ… DownloadProgressPublisherCoreTests testAnnounceBorrowFailed_doesNotCrash 6ms
โœ… DownloadProgressPublisherCoreTests testAnnounceBorrowStarted_doesNotCrash 7ms
โœ… DownloadProgressPublisherCoreTests testAnnounceBorrowSucceeded_doesNotCrash 7ms
โœ… DownloadProgressPublisherCoreTests testAnnounceDownloadCompleted_doesNotCrash 9ms
โœ… DownloadProgressPublisherCoreTests testAnnounceDownloadFailed_doesNotCrash 11ms
โœ… DownloadProgressPublisherCoreTests testAnnounceDownloadProgress_doesNotCrash 5ms
โœ… DownloadProgressPublisherCoreTests testAnnounceDownloadStarted_doesNotCrash 5ms
โœ… DownloadProgressPublisherCoreTests testAnnounceReturnFailed_doesNotCrash 5ms
โœ… DownloadProgressPublisherCoreTests testAnnounceReturnStarted_doesNotCrash 8ms
โœ… DownloadProgressPublisherCoreTests testAnnounceReturnSucceeded_doesNotCrash 13ms
โœ… DownloadProgressPublisherCoreTests testBroadcastUpdate_postsNotification 6ms
โŒ DownloadProgressPublisherCoreTests testBroadcastUpdate_throttles_rapidCalls 4.08s
โŒ DownloadProgressPublisherCoreTests testBroadcastUpdate_usesNotificationSender 4.14s
โœ… DownloadProgressPublisherCoreTests testConformsToDownloadProgressPublishing 5ms
โœ… DownloadProgressPublisherCoreTests testPublishAndAnnounceError_publishesOnErrorPublisher 6ms
โœ… DownloadProgressPublisherCoreTests testPublishAndAnnounceError_withRetryAction 5ms
โœ… DownloadProgressPublisherCoreTests testSendProgress_differentBooks_publishesSeparately 38ms
โœ… DownloadProgressPublisherCoreTests testSendProgress_multipleUpdates_allReceived 6ms
โœ… DownloadProgressPublisherCoreTests testSendProgress_publishesOnProgressPublisher 4ms
โœ… DownloadProgressPublisherTests testProgressPublisher_emitsMultipleUpdates 3ms
โœ… DownloadProgressPublisherTests testProgressPublisher_emitsProgressUpdates 5ms
โœ… DownloadQueueIntegrationTests testMaxConcurrentDownloads_limitsActiveDownloads 3ms
โœ… DownloadQueueIntegrationTests testQueuedBooks_preserveOrderAcrossMultipleDequeues 58ms
โœ… DownloadQueueIntegrationTests testQueuedBooks_startedWhenCapacityAvailable 12ms
โœ… DownloadQueueOrchestratorTests testEnqueuePending_appendsToCoordinatorPendingQueue 29ms
โœ… DownloadQueueOrchestratorTests testEnqueuePending_doesNotPostOnDefaultCenter_whenInjectedCenterDiffers 28ms
โœ… DownloadQueueOrchestratorTests testEnqueuePending_marksBookAsDownloadingInRegistry 5ms
โœ… DownloadQueueOrchestratorTests testEnqueuePending_postsDidChangeNotificationOnInjectedCenter 26ms
โœ… DownloadQueueOrchestratorTests testSchedulePendingStartsAsync_atCap_doesNotDequeueOrCallDelegate 10ms
โœ… DownloadQueueOrchestratorTests testSchedulePendingStartsAsync_emptyQueue_doesNotCallDelegate 4ms
โœ… DownloadQueueOrchestratorTests testSchedulePendingStartsAsync_passesNilRequestToDelegate 6ms
โœ… DownloadQueueOrchestratorTests testSchedulePendingStartsAsync_underCap_dequeuesUpToRemainingCapacityInFIFOOrder 56ms
โœ… DownloadQueueOrchestratorTests testSchedulePendingStartsIfPossible_drivesDelegateAsynchronously 26ms
โœ… DownloadRedirectTests testBearerTokenJSON_shouldUseDistributorToken_notPalaceToken 6ms
โœ… DownloadRedirectTests testRedirectRequest_crossDomain_shouldNotContainAuthHeader 5ms
โœ… DownloadRedirectTests testRedirectRequest_sameDomain_shouldNotContainAuthHeader 2ms
โœ… DownloadRedirectTests testRedirectRequest_shouldNotContainAuthHeader_whenFollowingRedirect 5ms
โœ… DownloadRedirectTests testRedirect_httpsToHttp_shouldBeBlocked 4ms
โœ… DownloadRedirectTests testRedirect_httpsToHttps_shouldBeAllowed 3ms
โœ… DownloadRedirectTests testRedirect_maxRedirectAttempts_shouldBeEnforced 5ms
โœ… DownloadSlotManagementTests testHoldingState_bookRegistryTracksCorrectly 8ms
โœ… DownloadSlotManagementTests testStateTransition_completeDownloadFlow 8ms
โœ… DownloadSlotManagementTests testStateTransition_downloadingToFailed 6ms
โœ… DownloadSlotManagementTests testStateTransition_downloadingToHolding 206ms
โœ… DownloadSlotManagementTests testStateTransitions_holdingStateIsTracked 8ms
โœ… DownloadStartCoordinatorTests testStartBorrow_resultsInHolding_releasesSlotAndSchedules 90ms
โœ… DownloadStartCoordinatorTests testStartBorrow_success_invokesCompletionAndDoesNotReleaseSlot 45ms
โœ… DownloadStartCoordinatorTests testStartBorrow_throws_releasesSlotAndSchedulesAndCallsCompletion 40ms
โœ… DownloadStartCoordinatorTests testStartDownloadAsync_alreadyDownloadingState_skips 19ms
โœ… DownloadStartCoordinatorTests testStartDownloadAsync_capExceeded_enqueuesPending 58ms
โœ… DownloadStartCoordinatorTests testStartDownloadAsync_credentialsAvailable_dispatches 19ms
โœ… DownloadStartCoordinatorTests testStartDownloadAsync_existingDownloadInProgress_skipsDuplicate 13ms
โœ… DownloadStartCoordinatorTests testStartDownloadAsync_terminalState_isNonsensicalNoOp 20ms
โœ… DownloadStartCoordinatorTests testStartDownloadAsync_unregisteredState_callsProcessUnregisteredFirst 24ms
โœ… DownloadStartDispatcherTests testProcessDownloadWithCredentials_holding_routesToStartBorrow 4ms
โœ… DownloadStartDispatcherTests testProcessDownloadWithCredentials_unregistered_routesToStartBorrow 16ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_downloadNeededWithBorrowLink_triggersAutoBorrow 4ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_initedRequestPassedThrough_overridesAcquisitionURL 4ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_normalOpenAccess_callsAddDownloadTaskWithBearerRequest 58ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_samlState_routesThroughSAMLHandler 18ms
โœ… DownloadStartDispatcherTests testProcessRegularDownload_wifiOnlyEnforced_failsAndDoesNotStartDownload 7ms
โœ… DownloadStartDispatcherTests testProcessUnregisteredState_hasBorrowLink_doesNotRegister 7ms
โœ… DownloadStartDispatcherTests testProcessUnregisteredState_loginNotRequired_noBorrowLink_registersAsDownloadNeeded 6ms
โœ… DownloadStartDispatcherTests testProcessUnregisteredState_loginRequiredNoOpenAccess_returnsUnregistered 5ms
โœ… DownloadStartDispatcherTests testProcessUnregisteredState_openAccessBook_registersAndReturnsDownloadNeeded 6ms
โœ… DownloadStateMachineIntegrationTests testBorrowResponseState_borrowFromLimited_reservedResponse_returnsRaceLossError 12ms
โœ… DownloadStateMachineIntegrationTests testBorrowResponseState_borrowFromReady_unavailableResponse_returnsRaceLossError 16ms
โœ… DownloadStateMachineIntegrationTests testBorrowResponseState_borrowFromUnlimited_unavailableResponse_returnsRaceLossError 4ms
โœ… DownloadStateMachineIntegrationTests testBorrowResponseState_placeHold_reservedResponse_noError 40ms
โœ… DownloadStateMachineIntegrationTests testBorrowResponseState_placeHold_unavailableResponse_noError 2ms
โœ… DownloadStateMachineIntegrationTests testBorrowResponseState_postLimited_returnsDownloadNeededWithNoError 4ms
โœ… DownloadStateMachineIntegrationTests testBorrowResponseState_postReady_returnsDownloadNeededWithNoError 3ms
โœ… DownloadStateMachineIntegrationTests testBorrowResponseState_postUnlimited_returnsDownloadNeededWithNoError 2ms
โœ… DownloadStateMachineIntegrationTests testState_completeFailedDownloadWithRetryFlow 6ms
โœ… DownloadStateMachineIntegrationTests testState_completeSuccessfulDownloadFlow 11ms
โœ… DownloadStateMachineIntegrationTests testState_downloadFailedToDownloading_retryTransition 5ms
โœ… DownloadStateMachineIntegrationTests testState_downloadNeededToDownloading_validTransition 7ms
โœ… DownloadStateMachineIntegrationTests testState_downloadingToDownloadFailed_validTransition 36ms
โœ… DownloadStateMachineIntegrationTests testState_downloadingToDownloadSuccessful_validTransition 21ms
โœ… DownloadStateMachineIntegrationTests testState_unregisteredToDownloadNeeded_validTransition 5ms
โœ… DownloadStateMachineTests testState_downloadFailed_canRetry 11ms
โœ… DownloadStateMachineTests testState_downloadNeeded_canTransitionToDownloadSuccessful 16ms
โœ… DownloadStateMachineTests testState_downloadNeeded_canTransitionToDownloading 6ms
โœ… DownloadStateMachineTests testState_downloading_canTransitionToFailed 7ms
โœ… DownloadStateMachineTests testState_downloading_canTransitionToSuccess 6ms
โœ… DownloadStateManagerTests testBookIdentifierToDownloadTask_storesAndRetrieves 82ms
โœ… DownloadStateManagerTests testCleanupDownload_removesAllTracking 13ms
โœ… DownloadStateManagerTests testCleanupDownload_withoutTaskId_stillCleansInfo 4ms
โœ… DownloadStateManagerTests testConcurrentAccess_doesNotCrash 7ms
โœ… DownloadStateManagerTests testDownloadInfoAsync_cachesInCoordinator 6ms
โœ… DownloadStateManagerTests testDownloadInfoAsync_existingEntry_returnsInfo 29ms
โœ… DownloadStateManagerTests testDownloadInfoAsync_missingEntry_returnsNil 4ms
โœ… DownloadStateManagerTests testDownloadInfo_sync_returnsNilForMissing 2ms
โœ… DownloadStateManagerTests testDownloadProgress_noInfo_returnsZero 3ms
โœ… DownloadStateManagerTests testInit_defaultMaxConcurrentDownloads 2ms
โœ… DownloadStateManagerTests testInit_emptyCollections 6ms
โœ… DownloadStateManagerTests testResetAll_clearsEverything 9ms
โœ… DownloadStateManagerTests testTaskIdentifierToBook_storesAndRetrieves 10ms
โœ… DownloadTaskLifecycleServiceTests testHandleTaskCompletionError_cancelledError_doesNotAlert 6ms
โœ… DownloadTaskLifecycleServiceTests testHandleTaskCompletionError_realError_logsFailureAndAlerts 11ms
โœ… DownloadTaskLifecycleServiceTests testHandleTaskCompletionError_successPath_registersCompletionAndSchedules 20ms
โœ… DownloadTaskLifecycleServiceTests testHandleTaskCompletionError_unknownTask_isNoOp 7ms
โœ… DownloadTaskLifecycleServiceTests testRegisterStartedTask_announcesDownloadStartedAndNotifiesCenter 9ms
โœ… DownloadTaskLifecycleServiceTests testRegisterStartedTask_marksBookAsDownloadingInRegistry 12ms
โœ… DownloadTaskLifecycleServiceTests testRegisterStartedTask_resumesTheTask 15ms
โœ… DownloadTaskLifecycleServiceTests testRegisterStartedTask_storesDownloadInfoKeyedByBookIdentifier 14ms
โœ… DownloadTaskLifecycleServiceTests testRegisterStartedTask_storesTaskIdentifierToBookMapping 10ms
โœ… DownloadThrottlingServiceTests testLimitActiveDownloads_alwaysCallsScheduleAfterPolicyApplied 50ms
โœ… DownloadThrottlingServiceTests testLimit_atCap_doesNothingButCallsSchedule 50ms
โœ… DownloadThrottlingServiceTests testLimit_overCap_audiobookTaskNotSuspended 58ms
โœ… DownloadThrottlingServiceTests testLimit_overCap_suspendsExcessNonAudiobookTasks 36ms
โœ… DownloadThrottlingServiceTests testLimit_underCap_resumesSuspendedTasks 38ms
โœ… DownloadThrottlingServiceTests testPauseAllDownloads_preservesAudiobookTasks 39ms
โœ… DownloadThrottlingServiceTests testPauseAllDownloads_suspendsAllNonAudiobookTasks 36ms
โœ… DownloadThrottlingServiceTests testResumeIntelligentDownloads_reAppliesCurrentCap 36ms
โœ… DownloadThrottlingServiceTests testSetupNetworkMonitoring_calledTwice_replacesPriorObserver 34ms
โœ… DownloadThrottlingServiceTests testSetupNetworkMonitoring_observesAppDidBecomeActiveAndReAppliesCap 32ms
โœ… DownloadWatchdogTests testDefaultConfiguration 23ms
โœ… DownloadWatchdogTests testStartAndStop 11ms
โœ… DownloadWatchdogTests testWatchdogConfiguration 301ms
โœ… EPUBModuleTests testEPUBModule_canBeInitialized 2ms
โœ… EPUBModuleTests testEPUBModule_conformsToReaderFormatModule 8ms
โœ… EPUBModuleTests testReaderError_epubNotValid_exists 12ms
โœ… EPUBModuleTests testReaderError_epubNotValid_isError 3ms
โœ… EPUBPositionTests testBookLocation_CreationFromDictionary 2ms
โœ… EPUBPositionTests testBookLocation_CreationWithValidData 24ms
โœ… EPUBPositionTests testBookLocation_DictionaryRoundTrip 2ms
โœ… EPUBPositionTests testBookLocation_FailsWithMissingLocationString 2ms
โœ… EPUBPositionTests testBookLocation_FailsWithMissingRenderer 2ms
โœ… EPUBPositionTests testLocationSimilarity_DifferentProgressions 2ms
โœ… EPUBPositionTests testLocationSimilarity_IdenticalLocations 5ms
โœ… EPUBPositionTests testThrottlingInterval_Value 3ms
โœ… EPUBSearchViewModelTests testClearSearch_ResetsState 4ms
โœ… EPUBSearchViewModelTests testFetchNextBatch_WhenNotIdle_DoesNothing 4ms
โœ… EPUBSearchViewModelTests testFetchNextBatch_WithMoreResults_AppendsResults 6ms
โœ… EPUBSearchViewModelTests testInit_HasCorrectDefaults 5ms
โœ… EPUBSearchViewModelTests testSearch_CancelsInFlight_OnNewQuery 22ms
โœ… EPUBSearchViewModelTests testSearch_FiltersDuplicateResults 6ms
โœ… EPUBSearchViewModelTests testSearch_GroupsResultsByTitle 5ms
โœ… EPUBSearchViewModelTests testSearch_PublicationNotSearchable_SetsFailureState 3ms
โœ… EPUBSearchViewModelTests testSearch_SetsIsSearching 10ms
โœ… EPUBSearchViewModelTests testSearch_WithEmptyQuery_DoesNotSearch 6ms
โœ… EPUBSearchViewModelTests testSearch_WithError_SetsErrorMessage 14ms
โœ… EPUBSearchViewModelTests testSearch_WithIteratorError_SetsErrorState 6ms
โœ… EPUBSearchViewModelTests testSearch_WithNoResults_SetsEmptyState 5ms
โœ… EPUBSearchViewModelTests testSearch_WithResults_UpdatesResults 6ms
โœ… EPUBSearchViewModelTests testSearch_WithValidQuery_PerformsSearch 3ms
โœ… EPUBSearchViewModelTests testSelectResult_NavigatesToLocation 2ms
โœ… EPUBSearchViewModelTests testSelectResult_WithNilDelegate_DoesNotCrash 4ms
โœ… EPUBSearchViewModelTests testState_IsLoadingState_ReturnsCorrectValues 10ms
โœ… EPUBToolbarToggleTests testDoubleToggle_restoresOriginalState 2ms
โœ… EPUBToolbarToggleTests testDualPath_edgeTap_doesNotToggleToolbar 2ms
โœ… EPUBToolbarToggleTests testFixedDualPath_centerTap_togglesToolbarExactlyOnce 3ms
โœ… EPUBToolbarToggleTests testFixedDualPath_repeatedCenterTaps_alternateToolbarState 28ms
โœ… EPUBToolbarToggleTests testKeyboardNavigable_doubleToggle_restoresState 2ms
โœ… EPUBToolbarToggleTests testKeyboardNavigable_toggleToolbar_changesState 2ms
โœ… EPUBToolbarToggleTests testSingleToggle_changesToolbarVisibility 2ms
โœ… EPUBToolbarToggleTests testTapRegion_classifiesViewportInToThreeZones 2ms
โœ… EPUBToolbarToggleTests testTapRegion_threshold_isInclusiveOnEdgeAndExclusiveAtCenter 2ms
โœ… EPUBToolbarToggleTests testTapRegion_zeroWidthViewport_defaultsToCenter 1ms
โœ… EPUBToolbarToggleTests testUnfixedDualPath_centerTap_doubleTogglesToolbar 2ms
โœ… EmailAddressTests testEmail_withLeadingWhitespace_isTrimmed 3ms
โœ… EmailAddressTests testEmail_withTrailingWhitespace_isTrimmed 3ms
โœ… EmailAddressTests testEquality_differentRawValue_haveDifferentRawValue 4ms
โœ… EmailAddressTests testEquality_sameRawValue_haveSameRawValue 3ms
โœ… EmailAddressTests testInvalidEmail_emptyString 9ms
โœ… EmailAddressTests testInvalidEmail_justText 4ms
โœ… EmailAddressTests testInvalidEmail_multipleAtSigns 4ms
โœ… EmailAddressTests testInvalidEmail_noAtSign 5ms
โœ… EmailAddressTests testInvalidEmail_noDomain 10ms
โœ… EmailAddressTests testInvalidEmail_noLocalPart 3ms
โœ… EmailAddressTests testRawValue_matchesInput 4ms
โœ… EmailAddressTests testValidEmail_simpleAddress 40ms
โœ… EmailAddressTests testValidEmail_withDots 4ms
โœ… EmailAddressTests testValidEmail_withNumbers 4ms
โœ… EmailAddressTests testValidEmail_withPlus 4ms
โœ… EmailAddressTests testValidEmail_withSubdomain 7ms
โœ… EpubSampleFactoryTests testCreateSample_withBookWithoutSample_returnsError 21ms
โœ… EpubSampleFactoryTests testSamplePlayerError_fileSaveFailed_withUnderlyingError 5ms
โœ… EpubSampleFactoryTests testSamplePlayerError_sampleDownloadFailed_withUnderlyingError 2ms
โœ… EpubSampleFactoryTests testSamplePlayerError_threeDistinctCasesWithOptionalPayloads 7ms
โœ… EpubSampleFactoryTests testSampleURLWrappers_polymorphismAllowsCallSiteRouting 133ms
โœ… ErrorActivityTrackerTests testCategoryRawValues 3ms
โœ… ErrorActivityTrackerTests testClear_removesAllEntries 2ms
โœ… ErrorActivityTrackerTests testDisplayString_containsTimestampCategoryAndMessage 48ms
โœ… ErrorActivityTrackerTests testLog_allCategories_areStoredCorrectly 13ms
โœ… ErrorActivityTrackerTests testLog_capturesFileAndLine 3ms
โœ… ErrorActivityTrackerTests testLog_exceedingMaxEntries_trimmsOldest 3ms
โœ… ErrorActivityTrackerTests testLog_multipleEntries_preservesOrder 2ms
โœ… ErrorActivityTrackerTests testLog_singleEntry_appearsInSnapshot 2ms
โœ… ErrorActivityTrackerTests testLog_timestampsAreMonotonicallyIncreasing 2ms
โœ… ErrorActivityTrackerTests testRecentActivities_defaultParameter_returns5Minutes 2ms
โœ… ErrorActivityTrackerTests testRecentActivities_filtersOldEntries 2ms
โœ… ErrorActivityTrackerTests testShortSource_containsFileAndLine 3ms
โœ… ErrorDetailTests testBookInfo_withNilIdentifier_isNil 2ms
โœ… ErrorDetailTests testCapture_populatesBasicFields 3ms
โœ… ErrorDetailTests testCapture_populatesDeviceContext 4ms
โœ… ErrorDetailTests testCapture_withBookInfo_populatesBookContext 7ms
โœ… ErrorDetailTests testCapture_withError_storesUnderlyingError 3ms
โœ… ErrorDetailTests testCapture_withoutBookInfo_bookInfoIsNil 6ms
โœ… ErrorDetailTests testFormattedReport_containsActivityTrailSection 6ms
โœ… ErrorDetailTests testFormattedReport_containsDeviceSection 3ms
โœ… ErrorDetailTests testFormattedReport_containsErrorSection 3ms
โœ… ErrorDetailTests testFormattedReport_containsHeader 3ms
โœ… ErrorDetailTests testFormattedReport_withBookInfo_containsBookSection 4ms
โœ… ErrorDetailTests testFormattedReport_withError_containsErrorDetails 10ms
โœ… ErrorDetailViewControllerGapTests testErrorDetailVC_rendersDeviceContextLines 295ms
โœ… ErrorDetailViewControllerGapTests testErrorDetailVC_rendersFieldsCorrectly 26ms
โœ… ErrorDetailViewControllerGapTests testErrorDetailVC_rendersSectionsCorrectly 38ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_Init_setsTitleAndPopulatesTextView 17ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_NavigationItems_AreConfigured 23ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_RenderContent_ContainsDeviceFields 15ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_RenderContent_ContainsErrorTitle 56ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_RenderContent_ContainsSection 17ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_RenderContent_EmptyTrailShowsMessage 14ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_ViewDidLoad_HasTextView 20ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_ContainsTimestamp 3ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_DeviceContextFields 4ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_EmptyActivityTrail 3ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_WithBookInfo_ContainsBookSection 3ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_WithUnderlyingError_ContainsDomain 12ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_includesAllSectionsAndPassesThroughTitleAndMessage 5ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_omitsBookSectionWhenNoBookInfoButRendersRestOfReport 4ms
โœ… ErrorLogExporterTests testErrorLogData_deviceLogsField_acceptsEmptyData 4ms
โœ… ErrorLogExporterTests testErrorLogData_deviceLogsField_acceptsLargeData 2ms
โœ… ErrorLogExporterTests testErrorLogData_initializesWithAllFields 2ms
โœ… ErrorLogExporterTests testErrorLogExporter_sharedInstance_isNotNil 10ms
โœ… ErrorLogExporterTests testPP3651_collectLogsForPreview_containsPatronIDField 38.11s
โœ… ExpiredLoanStringsTests testExpiredLoanMessageWithDate_containsFormatSpecifier 2ms
โœ… ExpiredLoanStringsTests testExpiredLoanMessageWithDate_formatsDateCorrectly 6ms
โœ… ExpiredLoanStringsTests testExpiredLoanMessage_isNonEmpty 23ms
โœ… ExpiredLoanStringsTests testExpiredLoanMessage_mentionsRemoval 2ms
โœ… ExpiredLoanStringsTests testExpiredLoanTitle_isNonEmpty 6ms
โœ… FacetEnumTests testFacet_LocalizedStrings_AreDistinct 3ms
โœ… FacetEnumTests testFacet_LocalizedStrings_AreNotEmpty 3ms
โœ… FacetEnumTests testFacet_LocalizedStrings_MatchStringsFile 3ms
โœ… FacetToolbarAccessibilityTests testFilterButtonLabel_differsBasedOnFilterState 4ms
โœ… FacetToolbarAccessibilityTests testFilterButtonLabel_noFiltersApplied 4ms
โœ… FacetToolbarAccessibilityTests testFilterButtonLabel_withFiltersApplied 4ms
โœ… FacetToolbarAccessibilityTests testSortButtonLabel_hasConsistentFormat 5ms
โœ… FacetToolbarAccessibilityTests testSortButtonLabel_includesSortOption 4ms
โœ… FacetViewModelLogoDelegateTests testAccountScreenURL_WithValidHomePageURL 4ms
โœ… FacetViewModelLogoDelegateTests testActiveSort_DefaultsToFirstFacet_AuthorFirst 3ms
โœ… FacetViewModelLogoDelegateTests testActiveSort_DefaultsToFirstFacet_TitleFirst 84ms
โœ… FacetViewModelLogoDelegateTests testLogoDidUpdate_SetsLogo 28ms
โœ… FacetViewModelTests testActiveSortPublished 6ms
โœ… FacetViewModelTests testChangingSortMultipleTimes 4ms
โœ… FacetViewModelTests testCurrentAccountURLWithNilAccount 3ms
โœ… FacetViewModelTests testEmptyGroupName 2ms
โœ… FacetViewModelTests testFacetLocalizedStrings 2ms
โœ… FacetViewModelTests testFacetRawValues 3ms
โœ… FacetViewModelTests testFacetsArrayPublished 3ms
โœ… FacetViewModelTests testGroupNamePublished 3ms
โœ… FacetViewModelTests testGroupNameWithSpecialCharacters 41ms
โœ… FacetViewModelTests testInitWithAuthorAndTitleFacets 2ms
โœ… FacetViewModelTests testInitWithSingleFacet 6ms
โœ… FacetViewModelTests testInitWithTitleFirst 3ms
โœ… FacetViewModelTests testLogoInitiallyNilWithoutAccount 3ms
โœ… FacetViewModelTests testMultipleSubscribersToActiveSort 4ms
โœ… FacetViewModelTests testSettingSameSortValue 4ms
โœ… FacetViewModelTests testShowAccountScreenInitiallyFalse 3ms
โœ… FacetViewModelTests testShowAccountScreenToggle 4ms
โœ… FacetViewModelTests testUpdatingFacetsDoesNotChangeActiveSort 2ms
โœ… FetchManifestWithBearerTokenLCPSafetyTests testFetchManifestWithBearerToken_receivingLCPLicense_returnsJSON 158ms
โœ… FetchManifestWithBearerTokenTests testEmptyResponseBody_returnsNil 11ms
โœ… FetchManifestWithBearerTokenTests testHTMLResponse_returnsNil 7ms
โœ… FetchManifestWithBearerTokenTests testHTTP401_returnsNil 10ms
โœ… FetchManifestWithBearerTokenTests testHTTP500_returnsNil 14ms
โœ… FetchManifestWithBearerTokenTests testInvalidJSON_returnsNil 9ms
โœ… FetchManifestWithBearerTokenTests testJSONArray_returnsNil 7ms
โœ… FetchManifestWithBearerTokenTests testSuccess_requestsFromCorrectURL 192ms
โœ… FetchManifestWithBearerTokenTests testSuccess_returnsManifestJSON 34ms
โœ… FetchManifestWithBearerTokenTests testSuccess_sendsCorrectBearerTokenHeader 30ms
โœ… FetchOpenAccessManifestLCPSafetyTests testBearerTokenResponseVsLCPLicense_areDistinct 3ms
โœ… FetchOpenAccessManifestLCPSafetyTests testLCPLicenseResponse_notDetectedAsBearerToken_inFetchFlow 4ms
โœ… FetchOpenAccessManifestLCPSafetyTests testLCPLicenseResponse_wouldBeReturnedAsManifest_withoutRouting 3ms
โœ… FetchOpenAccessManifestLCPSafetyTests testManifestVsLCPLicense_structuralDifferences 6ms
โœ… FileURLGenerationTests testFileUrl_contentDirectoryExists 6ms
โœ… FileURLGenerationTests testFileUrl_deterministicForSameIdentifier 6ms
โœ… FileURLGenerationTests testFileUrl_epubBook_hasEpubExtension 10ms
โœ… FloatTPPAdditionsTests testApproxEqual_isSymmetric 6ms
โœ… FloatTPPAdditionsTests testApproxEqual_returnsFalseWhenRightHandSideIsNil 24ms
โœ… FloatTPPAdditionsTests testApproxEqual_returnsTrueOnlyForValuesWithinEpsilon 2ms
โœ… FloatTPPAdditionsTests testRoundTo_formatsAsPercentageWithSpecifiedDecimalPlaces 4ms
โœ… FloatTPPAdditionsTests testRoundTo_preservesTrailingZerosFromFormatSpecifier 2ms
โœ… FocusIndicationTests testAccessibilityElements_areOrderedLogically 4ms
โœ… FocusIndicationTests testCatalogCell_accessibilityLabelBehavior 4ms
โœ… FocusIndicationTests testFocusColor_hasSufficientContrastInDarkMode 2ms
โœ… FocusIndicationTests testFocusColor_hasSufficientContrastInLightMode 2ms
โœ… FocusIndicationTests testFocusableButton_hasFocusEffect 19ms
โœ… FocusIndicationTests testReaderToolbar_buttonsInLogicalOrder 27ms
โœ… FocusIndicationTests testTPPRoundedButton_isAccessible 2ms
โœ… FontManagerTests testAllFontFamiliesHaveCSSValue 4ms
โœ… FontManagerTests testAllFontFamiliesHaveCategory 4ms
โœ… FontManagerTests testAllFontFamiliesHaveDisplayName 4ms
โœ… FontManagerTests testAllFontFamiliesHavePreviewText 3ms
โœ… FontManagerTests testAvailableFamiliesNotEmpty 2ms
โœ… FontManagerTests testFamilyAvailabilityForSystemFonts 2ms
โœ… FontManagerTests testFontFamilyCategorization 6ms
โœ… FontManagerTests testFontFamilyIsCodable 6ms
โœ… FontManagerTests testFontsInCategory 4ms
โœ… FontManagerTests testNonExistentFontIsNotAvailable 6ms
โœ… FontManagerTests testOpenDyslexicCSSContainsFontName 3ms
โœ… FontManagerTests testRegisterCustomFontsDoesNotCrash 14ms
โœ… FontManagerTests testRegisterNonexistentFontReturnsFalse 3ms
โœ… FontManagerTests testSharedInstanceExists 10ms
โœ… FontManagerTests testSwiftUIFontCreation 5ms
โœ… FontManagerTests testSystemFontsAreAvailable 3ms
โœ… FontManagerTests testUIFontCreation 46ms
โœ… ForceResetTests testConsume_clearsTheUserDefaultsKey 4ms
โœ… ForceResetTests testConsume_secondCallAfterSet_returnsFalse 3ms
โœ… ForceResetTests testConsume_supportsMultipleSetThenConsumeCycles 6ms
โœ… ForceResetTests testConsume_whenFlagNeverSet_returnsFalse 2ms
โœ… ForceResetTests testConsume_whenFlagSet_returnsTrueOnce 5ms
โœ… ForceResetTests testRegressionForBug_resetAccountForcesNextOIDCSessionEphemeral_perHelpSpot17716 5ms
โœ… GeneralCacheTests testCachePolicy_cacheFirst_callsFetcher_onCacheMiss 5ms
โœ… GeneralCacheTests testCachePolicy_cacheFirst_returnsCachedValue_whenPresent 5ms
โœ… GeneralCacheTests testCachePolicy_cacheFirst_usesCache_whenFetcherFails 6ms
โœ… GeneralCacheTests testCachePolicy_noCache_alwaysFetches 6ms
โœ… GeneralCacheTests testCache_withCodableValues 10ms
โœ… GeneralCacheTests testCache_withIntKeys 3ms
โœ… GeneralCacheTests testClearAllCaches_preservesBundleIDDirectory 104ms
โœ… GeneralCacheTests testClearMemory_removesMemoryEntries 3ms
โœ… GeneralCacheTests testClear_removesAllEntries 8ms
โœ… GeneralCacheTests testDiskCache_persistsValue 8ms
โœ… GeneralCacheTests testFileURL_returnsURL 4ms
โœ… GeneralCacheTests testGet_unknownKey_returnsNil 3ms
โœ… GeneralCacheTests testMemoryAndDisk_persistsValue 8ms
โœ… GeneralCacheTests testNoneMode_doesNotStore 3ms
โœ… GeneralCacheTests testRemove_deletesEntry 2ms
โœ… GeneralCacheTests testRemove_nonexistentKey_doesNotCrash 4ms
โœ… GeneralCacheTests testSet_afterExternalDirectoryDeletion_recreatesAndSucceeds 512ms
โœ… GeneralCacheTests testSet_andGet_returnsValue 3ms
โœ… GeneralCacheTests testSet_overwrite_updatesValue 7ms
โœ… GeneralCacheTests testSet_withExpiration_isAvailableBeforeExpiry 3ms
โœ… GroupEnumTests testGroup_UsedAsSection_FacetViewModelGroupNameMatches 11ms
โœ… HTMLTextViewTests testAngleBracketsWithSpaces 162ms
โœ… HTMLTextViewTests testBOMCausesIssuesWithoutSanitization 60ms
โœ… HTMLTextViewTests testBOMCharacter 30ms
โœ… HTMLTextViewTests testBOMCharacterIsRemoved 33ms
โœ… HTMLTextViewTests testControlCharacters 37ms
โœ… HTMLTextViewTests testControlCharactersAreRemoved 28ms
โœ… HTMLTextViewTests testControlCharactersCauseIssuesWithoutSanitization 58ms
โœ… HTMLTextViewTests testDataURL 327ms
โœ… HTMLTextViewTests testDeeplyNestedTags 78ms
โœ… HTMLTextViewTests testDefensiveMeasuresPreventCrashes 661ms
โœ… HTMLTextViewTests testEmptyParagraph 32ms
โœ… HTMLTextViewTests testEmptyString 3ms
โœ… HTMLTextViewTests testExistingDoctypeNotDoubleWrapped 33ms
โœ… HTMLTextViewTests testExistingHTMLTagNotDoubleWrapped 29ms
โœ… HTMLTextViewTests testFallbackStripsHTMLTags 32ms
โœ… HTMLTextViewTests testFastPathLongContent 10ms
โœ… HTMLTextViewTests testFastPathLongContentWithHTML 21ms
โœ… HTMLTextViewTests testFastPathNoHTMLTags 2ms
โœ… HTMLTextViewTests testFormElements 73ms
โœ… HTMLTextViewTests testHTML5Elements 33ms
โœ… HTMLTextViewTests testHTMLDocumentWrapping 26ms
โœ… HTMLTextViewTests testHTMLEntities 33ms
โœ… HTMLTextViewTests testHTMLTagsAreNotDisplayedAsText 237ms
โœ… HTMLTextViewTests testHTMLWithMultipleTags 34ms
โœ… HTMLTextViewTests testInvalidUTF8Sequence 37ms
โœ… HTMLTextViewTests testLeadingWhitespaceIsTrimmed 35ms
โœ… HTMLTextViewTests testMalformedBrokenAttributes 29ms
โœ… HTMLTextViewTests testMalformedEmptyTags 33ms
โœ… HTMLTextViewTests testMalformedNestedTags 32ms
โœ… HTMLTextViewTests testMalformedOnlyClosingTag 913ms
โœ… HTMLTextViewTests testMalformedOnlyOpeningTag 31ms
โœ… HTMLTextViewTests testMalformedRandomAngleBrackets 52ms
โœ… HTMLTextViewTests testMalformedTable 30ms
โœ… HTMLTextViewTests testMalformedUnclosedTags 30ms
โœ… HTMLTextViewTests testMathMLContent 71ms
โœ… HTMLTextViewTests testMixedContentRapidCalls 2.56s
โœ… HTMLTextViewTests testMultipleDoctypes 23ms
โœ… HTMLTextViewTests testMultipleEmptyParagraphs 37ms
โœ… HTMLTextViewTests testNullCharacterInHTML 145ms
โœ… HTMLTextViewTests testNumericEntities 156ms
โœ… HTMLTextViewTests testOPDSSummaryPatterns 253ms
โœ… HTMLTextViewTests testOnlyAngleBracket 40ms
โœ… HTMLTextViewTests testOnlyClosingAngleBracket 2ms
โœ… HTMLTextViewTests testOnlyWhitespaceBeforeTag 29ms
โœ… HTMLTextViewTests testPlainTextWithoutHTML 2ms
โœ… HTMLTextViewTests testProcessingInstruction 35ms
โœ… HTMLTextViewTests testRapidBookDetailViewSimulation 5.96s
โœ… HTMLTextViewTests testRapidSequentialCalls 4.70s
โœ… HTMLTextViewTests testRefugeeGraphicNovelSummaryPattern 382ms
โœ… HTMLTextViewTests testSVGContent 50ms
โœ… HTMLTextViewTests testSafeVsUnsafeParsingComparison 333ms
โœ… HTMLTextViewTests testScriptTag 33ms
โœ… HTMLTextViewTests testSimpleHTMLParagraph 28ms
โœ… HTMLTextViewTests testStartsWithCDATA 34ms
โœ… HTMLTextViewTests testStartsWithClosingTag 28ms
โœ… HTMLTextViewTests testStartsWithComment 36ms
โœ… HTMLTextViewTests testStartsWithDoctype 27ms
โœ… HTMLTextViewTests testStartsWithEndOfDocument 34ms
โœ… HTMLTextViewTests testStartsWithXMLDeclaration 33ms
โœ… HTMLTextViewTests testStyleTag 35ms
โœ… HTMLTextViewTests testSummaryWithLineBreaks 32ms
โœ… HTMLTextViewTests testSummaryWithLinks 33ms
โœ… HTMLTextViewTests testTableHTML 75ms
โœ… HTMLTextViewTests testTypicalBookDescriptionHTML 42ms
โœ… HTMLTextViewTests testTypicalBookSummary 40ms
โœ… HTMLTextViewTests testUnclosedScriptTag 36ms
โœ… HTMLTextViewTests testUnexpectedSummaryStarts 210ms
โœ… HTMLTextViewTests testUnicodeContent 47ms
โœ… HTMLTextViewTests testVeryLongAttribute 40ms
โœ… HTMLTextViewTests testWhitespaceOnly 2ms
โœ… HoldNotificationClassificationTests testIsHoldRelated_returnsTrueForHoldOrReservationKeywords_falseOtherwise 6ms
โœ… HoldNotificationClassificationTests testIsHoldRelated_withTypeHold_returnsTrue 5ms
โœ… HoldsBadgeCountTests testBadgeCount_allReserved_returnsZero 10ms
โœ… HoldsBadgeCountTests testBadgeCount_mixedHolds_countsOnlyReady 17ms
โœ… HoldsBadgeCountTests testBadgeCount_multipleReady_countsAll 13ms
โœ… HoldsBadgeCountTests testBadgeCount_noBooks_returnsZero 8ms
โœ… HoldsBadgeCountTests testBadgeCount_oneReadyBook_returnsOne 7ms
โœ… HoldsBadgeCountTests testBadgeCount_oneReservedBook_returnsZero 6ms
โœ… HoldsBadgeCountTests testBadgeCount_regularBook_notCounted 5ms
โœ… HoldsBadgeCountTests testReadyBookHasReadyAvailability 7ms
โœ… HoldsBadgeCountTests testReservedBookHasReservedAvailability 5ms
โœ… HoldsBookViewModelTests testBookPropertyReturnsCorrectBook 6ms
โœ… HoldsBookViewModelTests testHoldReady_DistinguishesFromReserved 7ms
โœ… HoldsBookViewModelTests testHoldReady_IdentifiesReadyHolds 9ms
โœ… HoldsBookViewModelTests testIdMatchesBookIdentifier 4ms
โœ… HoldsBookViewModelTests testIsReservedForHoldBook 7ms
โœ… HoldsBookViewModelTests testIsReservedForNonReservedBook 34ms
โœ… HoldsBookViewModelTests testIsReservedForReadyBook 8ms
โœ… HoldsBookViewModelTests testIsReserved_WithLimitedAvailability_ReturnsFalse 9ms
โœ… HoldsReducerTests testDismissSyncError_clearsTheErrorMessage 25ms
โœ… HoldsReducerTests testRegistryChanged_partitionsBooksByReservedStatus 10ms
โœ… HoldsReducerTests testRegistryChanged_withActiveSearch_leavesVisibleBooksAlone 9ms
โœ… HoldsReducerTests testSearchQueryChanged_nonEmpty_returnsFilterEffectThatYieldsFilterCompleted 18ms
โœ… HoldsReducerTests testSearchQueryChanged_toEmpty_restoresAllHeldBooks 6ms
โœ… HoldsReducerTests testSyncBegan_setsLoadingTrueAndClearsPreviousError 2ms
โœ… HoldsReducerTests testSyncEnded_setsLoadingFalse 2ms
โœ… HoldsReducerTests testSyncFailed_whenAnonymous_suppressesErrorBanner 2ms
โœ… HoldsReducerTests testSyncFailed_whenAuthenticatedWithNoCacheAndNoMessage_fallsBackToGenericText 3ms
โœ… HoldsReducerTests testSyncFailed_whenAuthenticatedWithNoCache_surfacesServerDetailMessage 24ms
โœ… HoldsReducerTests testSyncFailed_whenCachedDataVisible_suppressesErrorBanner 5ms
โœ… HoldsSyncFailureTests testDismissSyncError_ClearsError 9ms
โœ… HoldsSyncFailureTests testSyncBegan_ClearsPreviousSyncError 10ms
โœ… HoldsSyncFailureTests testSyncFailure_AnonymousUser_SuppressesErrorBanner 510ms
โœ… HoldsSyncFailureTests testSyncFailure_AuthenticatedUser_ShowsErrorBanner 12ms
โœ… HoldsSyncFailureTests testSyncFailure_SetsSyncError 12ms
โœ… HoldsSyncFailureTests testSyncFailure_StaleDataPersists_ErrorSuppressedWhenCachedDataExists 539ms
โœ… HoldsSyncFailureTests testSyncFailure_StopsLoading 17ms
โœ… HoldsSyncFailureTests testSyncFailure_WithProblemDocument_ShowsServerMessage 13ms
โœ… HoldsSyncFailureTests testSyncFailure_WithTitleOnly_UsesTitle 123ms
โœ… HoldsSyncFailureTests testSyncFailure_WithoutProblemDocument_ShowsGenericMessage 9ms
โœ… HoldsViewModelTests testFilterBooksWithEmptyQueryReturnsAll 12ms
โœ… HoldsViewModelTests testFilterBooksWithQuery 90ms
โœ… HoldsViewModelTests testFilterBooks_CaseInsensitive 10ms
โœ… HoldsViewModelTests testFilterBooks_WithAuthorMatch_ReturnsMatchingBooks 17ms
โœ… HoldsViewModelTests testFilterBooks_WithTitleMatch_ReturnsMatchingBooks 15ms
โœ… HoldsViewModelTests testInitialState_EmptyBookLists 12ms
โœ… HoldsViewModelTests testInitialState_HasCorrectDefaults 4ms
โœ… HoldsViewModelTests testIsLoading_PublishesChanges 8ms
โœ… HoldsViewModelTests testLoadHolds_WithEmptyResult_SetsEmptyState 3ms
โœ… HoldsViewModelTests testLoadHolds_WithSuccess_UpdatesHolds 12ms
โœ… HoldsViewModelTests testOpenSearchDescriptionHumanReadableDescription 35ms
โœ… HoldsViewModelTests testOpenSearchDescription_IncludesAllBooks 10ms
โœ… HoldsViewModelTests testRegistryDidChange_ReloadsData 369ms
โœ… HoldsViewModelTests testReloadData_CallsMethod 7ms
โœ… HoldsViewModelTests testReloadData_HandlesMultipleBooks 18ms
โœ… HoldsViewModelTests testReloadData_SeparatesReservedAndReadyBooks 17ms
โœ… HoldsViewModelTests testSearchQueryUpdate 4ms
โœ… HoldsViewModelTests testSelectNewLibraryToggle 3ms
โœ… HoldsViewModelTests testShowLibraryAccountViewToggle 3ms
โœ… HoldsViewModelTests testShowSearchSheetToggle 3ms
โœ… HoldsViewModelTests testSyncBeganSetsLoadingTrue 9ms
โœ… HoldsViewModelTests testSyncEndedSetsLoadingFalse 742ms
โœ… HoldsViewModelTests testVisibleBooks_PublishesChanges 314ms
โœ… ImageCacheTypeTests testImageCacheType_defaultSetUses7DayTTL 73ms
โœ… IntExtensionsTests testOrdinal_FourAndAbove_ReturnsTh 5ms
โœ… IntExtensionsTests testOrdinal_TwentyFirstPattern_ReturnsCorrectSuffix 6ms
โœ… IntExtensionsTests testOrdinal_Zero_ReturnsZeroth 4ms
โœ… IntExtensionsTests testOrdinal_followsEnglishOrdinalRules_includingTeenExceptions 17ms
โœ… KeyboardNavigationFKATests testFKA_escapeKey_isStillConsumed 22ms
โœ… KeyboardNavigationFKATests testFKA_leftArrow_isNotConsumed 3ms
โœ… KeyboardNavigationFKATests testFKA_pageDown_isStillConsumed 4ms
โœ… KeyboardNavigationFKATests testFKA_pageUp_isStillConsumed 5ms
โœ… KeyboardNavigationFKATests testFKA_rightArrow_isNotConsumed 3ms
โœ… KeyboardNavigationFKATests testFKA_spaceKey_isStillConsumed 7ms
โœ… KeyboardNavigationFKATests testHandleCommand_goBackward_navigatesLeft 3ms
โœ… KeyboardNavigationFKATests testHandleCommand_goForward_navigatesRight 3ms
โœ… KeyboardNavigationFKATests testHandleCommand_toggleUI_togglesToolbar 3ms
โœ… KeyboardNavigationFKATests testHandleKeyEvent_whenNavigableIsNil_returnsFalse 3ms
โœ… KeyboardNavigationFKATests testNoFKA_rightArrow_isConsumed 12ms
โœ… KeyboardNavigationHandlerTests testArrowKeyRelease_doesNotTurnPage 19ms
โœ… KeyboardNavigationHandlerTests testArrowKey_withCommandModifier_doesNotTurnPage 95ms
โœ… KeyboardNavigationHandlerTests testArrowKey_withShiftModifier_doesNotTurnPage 6ms
โœ… KeyboardNavigationHandlerTests testEscapeKeyRelease_doesNotToggleToolbar 24ms
โœ… KeyboardNavigationHandlerTests testEscapeKey_whenToolbarHidden_togglesToolbar 2ms
โœ… KeyboardNavigationHandlerTests testEscapeKey_whenToolbarVisible_togglesToolbar 3ms
โœ… KeyboardNavigationHandlerTests testEscapeKey_withModifier_doesNotToggleToolbar 3ms
โœ… KeyboardNavigationHandlerTests testLeftArrow_whenToolbarHidden_goesToPreviousPage 5ms
โœ… KeyboardNavigationHandlerTests testLeftArrow_whenToolbarVisible_doesNotChangePage 2ms
โœ… KeyboardNavigationHandlerTests testPageDown_whenToolbarHidden_advancesPage 5ms
โœ… KeyboardNavigationHandlerTests testPageUp_whenToolbarHidden_goesBackward 2ms
โœ… KeyboardNavigationHandlerTests testRightArrow_whenToolbarHidden_advancesToNextPage 2ms
โœ… KeyboardNavigationHandlerTests testRightArrow_whenToolbarVisible_doesNotChangePage 19ms
โœ… KeyboardNavigationHandlerTests testSpaceKey_whenToolbarHidden_advancesPage 2ms
โœ… KeyboardNavigationHandlerTests testSpaceKey_whenToolbarVisible_doesNotAdvancePage 3ms
โœ… KeyboardNavigationHandlerTests testUnhandledKey_isNotConsumed 16ms
โœ… KeyboardVoiceOverTests testEscapeKey_respectsVoiceOverToolbarBehavior 11ms
โœ… KeyboardVoiceOverTests testKeyboardHandler_doesNotBlockAccessibilityNotifications 9ms
โœ… KeyboardVoiceOverTests testKeyboardNavigation_worksRegardlessOfVoiceOverState 6ms
โœ… KeyboardVoiceOverTests testReaderViewController_voiceOverObserverExists 15ms
โœ… KeyboardVoiceOverTests testTouchNavigation_notAffectedByKeyboardSupport 100ms
โœ… LCPAudiobookURLSchemeTests testHTTPURLConversion_toReadiumLCPScheme 6ms
โœ… LCPAudiobookURLSchemeTests testReadiumLCPScheme_isCorrect 3ms
โœ… LCPAudiobookURLSchemeTests testReadiumLCPURL_preservesPath 2ms
โœ… LCPAudiobookURLSchemeTests testReadiumLCPURL_preservesQueryParameters 186ms
โœ… LCPAudiobooksTests testCachedContentDictionary_initiallyReturnsNil 5ms
โœ… LCPAudiobooksTests testCanOpenBook_withEpub_returnsFalse 9ms
โœ… LCPAudiobooksTests testCanOpenBook_withLCPAudiobook_returnsTrue 7ms
โœ… LCPAudiobooksTests testCanOpenBook_withNonLCPAudiobook_returnsFalse 5ms
โœ… LCPAudiobooksTests testCanOpenBook_withPDF_returnsFalse 4ms
โœ… LCPAudiobooksTests testCancelPrefetch_doesNotCrash 4ms
โœ… LCPAudiobooksTests testCancelPrefetch_withoutStart_doesNotCrash 5ms
โœ… LCPAudiobooksTests testContentDictionary_afterRelease_failsFast 5ms
โœ… LCPAudiobooksTests testDecrypt_afterRelease_failsFast 5ms
โœ… LCPAudiobooksTests testGetPublication_initiallyReturnsNil 3ms
โœ… LCPAudiobooksTests testInit_withLcplLicenseURL_setsLicenseUrl 4ms
โœ… LCPAudiobooksTests testInit_withNilURL_returnsNil 5ms
โœ… LCPAudiobooksTests testInit_withSeparateLicenseURL_acceptsBothURLs 3ms
โœ… LCPAudiobooksTests testInit_withValidFileURL_createsInstance 3ms
โœ… LCPAudiobooksTests testInit_withValidHTTPURL_createsInstance 5ms
โœ… LCPAudiobooksTests testReleaseResources_canBeCalledMultipleTimes 3ms
โœ… LCPAudiobooksTests testReleaseResources_cancelsPrefetch 2ms
โœ… LCPAudiobooksTests testReleaseResources_clearsPublication 35ms
โœ… LCPAudiobooksTests testStartPrefetch_afterRelease_isNoOp 4ms
โœ… LCPAudiobooksTests testStartPrefetch_doesNotCrash 5ms
โœ… LCPAudiobooksTests testSupportsStreaming_returnsTrue 3ms
โœ… LCPFulfillmentHandlerTests testFulfill_audiobook_marksDownloadSuccessfulEvenBeforeCompletion 16ms
โœ… LCPFulfillmentHandlerTests testFulfill_completionWithError_publishesFulfilmentErrorAlert 91ms
โœ… LCPFulfillmentHandlerTests testFulfill_completionWithoutLocalURL_publishesNoLocalURLAlert 36ms
โœ… LCPFulfillmentHandlerTests testFulfill_invokesLCPServiceWithRenamedLicenseURL 10ms
โœ… LCPFulfillmentHandlerTests testFulfill_storesReturnedDownloadTaskInStateManager 200ms
โœ… LCPLibraryServiceTests testCanFulfill_withAudiobookExtension_returnsFalse 2ms
โœ… LCPLibraryServiceTests testCanFulfill_withEpubExtension_returnsFalse 5ms
โœ… LCPLibraryServiceTests testCanFulfill_withLcpaExtension_returnsFalse 2ms
โœ… LCPLibraryServiceTests testCanFulfill_withLcplExtension_returnsTrue 2ms
โœ… LCPLibraryServiceTests testCanFulfill_withMixedCaseLcplExtension_returnsTrue 2ms
โœ… LCPLibraryServiceTests testCanFulfill_withNoExtension_returnsFalse 2ms
โœ… LCPLibraryServiceTests testCanFulfill_withPdfExtension_returnsFalse 2ms
โœ… LCPLibraryServiceTests testCanFulfill_withUppercaseLcplExtension_returnsTrue 12ms
โœ… LCPLibraryServiceTests testContentProtection_isAvailable 32ms
โœ… LCPLibraryServiceTests testContentProtection_multipleAccess_returnsValue 6ms
โœ… LCPLibraryServiceTests testDecrypt_withEmptyData_returnsNil 2ms
โœ… LCPLibraryServiceTests testDecrypt_withInvalidData_returnsNil 6ms
โœ… LCPLibraryServiceTests testDecrypt_withSmallData_returnsNil 2ms
โœ… LCPLibraryServiceTests testFulfillAsync_withEmptyPath_throwsError 39ms
โœ… LCPLibraryServiceTests testFulfillAsync_withInvalidURL_throwsError 10ms
โœ… LCPLibraryServiceTests testFulfill_reportsProgress 6ms
โœ… LCPLibraryServiceTests testFulfill_withNonExistentFile_callsCompletionWithError 14ms
โœ… LCPLibraryServiceTests testInit_createsInstance 59ms
โœ… LCPLibraryServiceTests testInit_multipleInstances_areIndependent 2ms
โœ… LCPLibraryServiceTests testLicenseExtension_isLcpl 2ms
โœ… LCPLicenseDocumentDetectionTests testLCPLicenseDocument_doesNotContainManifestKeys 5ms
โœ… LCPLicenseDocumentDetectionTests testLCPLicenseDocument_isNotDetectedAsBearerToken 35ms
โœ… LCPLicenseDocumentDetectionTests testLCPLicenseDocument_isValidJSON 6ms
โœ… LCPLicenseDocumentDetectionTests testLCPLicenseDocument_parsedAsManifest_lacksReadingOrder 4ms
โœ… LCPLicenseDocumentDetectionTests testLCPLicenseDocument_withMinimalFields_isNotBearerToken 28ms
โœ… LCPLicenseFilePathTests testLCPLicenseExtension_isLcpl 4ms
โœ… LCPLicenseFilePathTests testLCPLicensePath_derivedFromContentPath 20ms
โœ… LCPLicenseFilePathTests testLCPLicensePath_everyContentExtensionProducesLcplSibling 3ms
โœ… LCPOrphanedDownloadRegistryTests testBookState_downloadSuccessful_withExistingFile_staysDownloadSuccessful 8ms
โœ… LCPOrphanedDownloadRegistryTests testBookState_downloadSuccessful_withMissingFile_transitionsToDownloadNeeded 9ms
โœ… LCPOrphanedDownloadRegistryTests testLCPAudiobook_withBothFiles_remainsDownloadSuccessful 24ms
โœ… LCPOrphanedDownloadRegistryTests testLCPAudiobook_withOnlyLicense_shouldBeConsideredMissing 6ms
โœ… LCPPDFManifestTests testPDFManifest_decodesValidJSON 4ms
โœ… LCPPDFManifestTests testPDFManifest_withEmptyReadingOrder_decodesSuccessfully 7ms
โœ… LCPPDFManifestTests testPDFManifest_withMissingReadingOrder_throwsError 5ms
โœ… LCPPDFsTests testCanOpenBook_withEpub_returnsFalse 4ms
โœ… LCPPDFsTests testCanOpenBook_withLCPAudiobook_returnsFalse 8ms
โœ… LCPPDFsTests testCanOpenBook_withNonLCPPdf_returnsFalse 5ms
โœ… LCPPDFsTests testDecryptData_usesCache 209ms
โœ… LCPPDFsTests testDecryptData_withEmptyData_returnsNil 52ms
โœ… LCPPDFsTests testDecryptData_withStartEqualToEnd_returnsEmptyData 5ms
โœ… LCPPDFsTests testDeletePdfContent_withExistingFile_removesFile 3ms
โœ… LCPPDFsTests testDeletePdfContent_withNonExistentFile_doesNotThrow 28ms
โœ… LCPPDFsTests testInit_withValidURL_createsInstance 5ms
โœ… LCPPDFsTests testTemporaryUrlForPDF_appendsPdfExtension 2ms
โœ… LCPPDFsTests testTemporaryUrlForPDF_differentSourcesProduceDifferentURLs 2ms
โœ… LCPPDFsTests testTemporaryUrlForPDF_sameSourceProducesSameURL 171ms
โœ… LCPPDFsTests testTemporaryUrlForPDF_usesTemporaryDirectory 2ms
โœ… LCPSessionIdentifierTests testSessionIdentifier_isDifferentForDifferentURLs 11ms
โœ… LCPSessionIdentifierTests testSessionIdentifier_isSameAcrossMultipleComputations 6ms
โœ… LCPSessionIdentifierTests testURLHashValue_isNotStableAcrossComputations 4ms
โœ… LatestAudiobookLocationTests testLatestLocation_defaultNil 10ms
โœ… LatestAudiobookLocationTests testLatestLocation_setAndRead 4ms
โœ… LatestAudiobookLocationTests testLatestLocation_threadSafe 58ms
โœ… LibraryCatalogMergerTests testMerge_EmptyExistingWithNewPublications_AddsAll 3ms
โœ… LibraryCatalogMergerTests testMerge_FullCrawl_RemovesAbsentPublications 2ms
โœ… LibraryCatalogMergerTests testMerge_FullCrawl_ReplacesAllWithUpdates 3ms
โœ… LibraryCatalogMergerTests testMerge_NewPublication_AppendsToList 2ms
โœ… LibraryCatalogMergerTests testMerge_PreservesUnmodifiedPublications_InIncrementalMode 2ms
โœ… LibraryCatalogMergerTests testMerge_UpdatesExistingByID_ReplacesOldPublication 2ms
โœ… LibraryCatalogMergerTests testMerge_uuidsWithChangedLogos_includesAllTransitionsAndExcludesUnchangedURL 2ms
โœ… LibraryCatalogMergerTests testSerializeAsCatalogsFeed_PreservesPublicationIDs 2ms
โœ… LibraryCatalogMergerTests testSerializeAsCatalogsFeed_ProducesValidJSON 4ms
โœ… LibraryRegistryCrawlerTests testCrawl_HandlesNetworkFailure_ReturnsFailure 5ms
โœ… LibraryRegistryCrawlerTests testCrawl_ReportsProgress 14ms
โœ… LibraryRegistryCrawlerTests testCrawl_SavesCrawlState_OnSuccess 6ms
โœ… LibraryRegistryCrawlerTests testCrawl_WhenFacetNotActive_StoresFacetURLForFutureUse 4ms
โœ… LibraryRegistryCrawlerTests testFirstLaunch_PerformsFullCrawl_PaginatesAllPages 10ms
โœ… LibraryRegistryCrawlerTests testFirstLaunch_PerformsFullCrawl_SinglePage 11ms
โœ… LibraryRegistryCrawlerTests testFullCrawl_WhenNoOrderModifiedFacet_FetchesAllPages 6ms
โœ… LibraryRegistryCrawlerTests testIncrementalCrawl_StopsAtLastCrawlTimestamp 19ms
โœ… LicensesServiceTests testAcquirePublication_WithInvalidLCPLFile_CompletesWithError 7ms
โœ… LicensesServiceTests testAcquirePublication_WithNonexistentFile_CompletesWithError 11ms
โœ… LicensesServiceTests testLicensesServiceError_licenseError_exposesMessageViaDescriptionVerbatim 4ms
โœ… LicensesServiceTests testPathInZip_mapsEveryContentTypeToTheCorrectPath 3ms
โŠ˜ LiveCrawlableParsingTest testCrawlableURL_FromBetaURL 9ms
โŠ˜ LiveCrawlableParsingTest testCrawlableURL_FromProdURL 29ms
โŠ˜ LiveCrawlableParsingTest testFullCrawl_LiveEndpoint 9ms
โŠ˜ LiveCrawlableParsingTest testParseLiveCrawlableFeed 7ms
โœ… LocalBookContentServiceTests testDeleteForBook_accountOverride_passedThroughToBookFileManager 20ms
โœ… LocalBookContentServiceTests testDeleteForBook_epub_missingFile_logsButDoesNotThrow 6ms
โœ… LocalBookContentServiceTests testDeleteForBook_epub_removesFileWhenPresent 13ms
โœ… LocalBookContentServiceTests testDeleteForBook_pdf_removesContentFile 10ms
โœ… LocalBookContentServiceTests testDeleteForBook_unresolvableFileURL_doesNotCrashAndLogsWarning 8ms
โœ… LocalBookContentServiceTests testDeleteForIdentifier_lookUpsBookInRegistryAndDelegates 8ms
โœ… LocalBookContentServiceTests testDeleteForIdentifier_unknownIdentifier_logsAndDoesNothing 4ms
โœ… LogTests testDateFormatter_isConfigured 2ms
โœ… LogTests testDebug_doesNotCrash 1ms
โœ… LogTests testDebug_doesNotPersistToLogger 113ms
โœ… LogTests testError_doesNotCrash 2ms
โœ… LogTests testError_persistsToLogger 33ms
โœ… LogTests testFault_doesNotCrash 6ms
โœ… LogTests testFault_persistsToLogger 34ms
โœ… LogTests testInfo_doesNotCrash 3ms
โœ… LogTests testInfo_doesNotPersistToLogger 142ms
โœ… LogTests testLog_objcCompatibility_doesNotCrash 4ms
โœ… LogTests testLog_withFilePathTag_trimsProperly 32ms
โœ… LogTests testSubsystem_isCorrectValue 2ms
โœ… LogTests testSubsystem_isNotEmpty 2ms
โœ… LogTests testWarn_doesNotCrash 3ms
โœ… LoginKeyboardTests testInit_WithCaseSensitiveString_ReturnsNil 13ms
โœ… LoginKeyboardTests testInit_WithDefaultString_ReturnsStandard 2ms
โœ… LoginKeyboardTests testInit_WithEmailString_ReturnsEmail 3ms
โœ… LoginKeyboardTests testInit_WithEmptyString_ReturnsNil 3ms
โœ… LoginKeyboardTests testInit_WithInvalidString_ReturnsNil 13ms
โœ… LoginKeyboardTests testInit_WithNilString_ReturnsNil 2ms
โœ… LoginKeyboardTests testInit_WithNoInputString_ReturnsNone 4ms
โœ… LoginKeyboardTests testInit_WithNumberPadString_ReturnsNumeric 3ms
โœ… MainActorHelpersTests testBarrierExecutor_Modify_TransformsValue 3ms
โœ… MainActorHelpersTests testBarrierExecutor_ReadInitialValue 2ms
โœ… MainActorHelpersTests testBarrierExecutor_Write_UpdatesValue 2ms
โœ… MainActorHelpersTests testDebouncer_Cancel_PreventsExecution 208ms
โœ… MainActorHelpersTests testDebouncer_OnlExecutesLastCall 166ms
โœ… MainActorHelpersTests testOnceExecutor_ExecutesOnlyOnce 6ms
โœ… MainActorHelpersTests testOnceExecutor_Reset_AllowsReExecution 5ms
โœ… MainActorHelpersTests testRunParallelFireAndForget_EmptyArray_CompletesImmediately 2ms
โœ… MainActorHelpersTests testRunParallelFireAndForget_ExecutesAllTasks 6ms
โœ… MainActorHelpersTests testRunParallel_EmptyArray_ReturnsEmptyArray 3ms
โœ… MainActorHelpersTests testRunParallel_MultipleItems_ReturnsInOriginalOrder 64ms
โœ… MainActorHelpersTests testRunParallel_SingleItem_ReturnsSingleResult 3ms
โœ… MainActorHelpersTests testRunParallel_ThrowingTask_PropagatesError 5ms
โœ… MainActorHelpersTests testSerialExecutor_ExecutesInOrder 3ms
โœ… MainActorHelpersTests testSerialExecutor_WaitForAll_WaitsForCompletion 56ms
โœ… MainActorHelpersTests testTaskSleepSeconds_CompletesAfterDuration 58ms
โœ… MainActorHelpersTests testThrottler_AfterInterval_ExecutesAgain 209ms
โœ… MainActorHelpersTests testThrottler_FirstCall_ExecutesImmediately 4ms
โœ… MainActorHelpersTests testThrottler_RapidCalls_SkipsSubsequent 6ms
โœ… MainActorHelpersTests testWithAsyncCallback_ConvertsCallbackToAsync 5ms
โœ… MainActorHelpersTests testWithAsyncThrowingCallback_Failure_ThrowsError 8ms
โœ… MainActorHelpersTests testWithAsyncThrowingCallback_Success_ReturnsValue 2ms
โœ… MappedCatalogBridgeTests testToCatalogContent_EmptyFeed 7ms
โœ… MappedCatalogBridgeTests testToCatalogContent_GroupedFeed 45ms
โœ… MappedCatalogBridgeTests testToCatalogContent_UngroupedFeed 9ms
โœ… MappedCatalogModelTests testEdgeCase_EmptyTitle 3ms
โœ… MappedCatalogModelTests testEdgeCase_LongTitle 2ms
โœ… MappedCatalogModelTests testEdgeCase_ManyLanes 2ms
โœ… MappedCatalogModelTests testEdgeCase_ManyUngroupedBooks 349ms
โœ… MappedCatalogModelTests testInit_CompleteFeedWithAllComponents 4ms
โœ… MappedCatalogModelTests testInit_EmptyFeed 6ms
โœ… MappedCatalogModelTests testInit_GroupedFeedWithLanes 6ms
โœ… MappedCatalogModelTests testInit_StoresAllProperties 4ms
โœ… MappedCatalogModelTests testInit_UngroupedFeedWithBooks 8ms
โœ… MappedCatalogModelTests testInit_WithEntryPoints 45ms
โœ… MappedCatalogModelTests testInit_WithFacetGroups 4ms
โœ… MockBackendExpiredCredentialsTests testBorrow_Returns403 10ms
โœ… MockBackendExpiredCredentialsTests testCatalog_StillReturns200 26ms
โœ… MockBackendExpiredCredentialsTests testLoans_Returns403WithProblemDocument 11ms
โœ… MockBackendIntegrationTests testBorrow_Returns201 579ms
โœ… MockBackendIntegrationTests testFetchAnnotations_ReturnsAnnotations 73ms
โœ… MockBackendIntegrationTests testFetchAuthDocument_ParsesCorrectly 104ms
โœ… MockBackendIntegrationTests testFetchCatalog_ReturnsParsedFeed 66ms
โœ… MockBackendLoanLimitTests testBorrow_Returns403WithLoanLimitProblem 34ms
โœ… MockBackendLoanLimitTests testCatalogBrowsing_StillWorks 23ms
โœ… MockBackendRouteMatchingTests testRouteMatching_CatchAll 3ms
โœ… MockBackendRouteMatchingTests testRouteMatching_ExactPath 2ms
โœ… MockBackendRouteMatchingTests testRouteMatching_MethodFilter 4ms
โœ… MockBackendRouteMatchingTests testScenarioLoading 13ms
โœ… MockBackendServerDownTests testAllEndpoints_Return502 35ms
โœ… MyBooksDownloadCenterAdeptGapTests testDownloadCenter_bookStateTransitions_downloadSuccess 38ms
โœ… MyBooksDownloadCenterAdeptGapTests testDownloadCenter_bookStateTransitions_forAdobeAdeptBooks 6ms
โœ… MyBooksDownloadCenterAdeptGapTests testDownloadCenter_downloadProgressPublisher_exists 4ms
โœ… MyBooksDownloadCenterEvictionTests testEviction_multipleBooksOverBudget_evictsLRUFirstAndFlipsAllAffected 62ms
โœ… MyBooksDownloadCenterEvictionTests testEviction_preservesLcpAudiobook_butEvictsEpubCompanion 17ms
โœ… MyBooksDownloadCenterEvictionTests testEviction_preservesLcpLicense 32ms
โœ… MyBooksDownloadCenterEvictionTests testEviction_whenAddingAnticipatedBytesPushesOverBudget_makesRoom 10ms
โœ… MyBooksDownloadCenterEvictionTests testEviction_whenOverBudget_deletesFileAndFlipsRegistryToDownloadNeeded 11ms
โœ… MyBooksDownloadCenterEvictionTests testEviction_whenUnderBudget_doesNothing 8ms
โœ… MyBooksDownloadCenterEvictionTests testEviction_withOrphanFile_deletesButSkipsRegistryMutation 11ms
โœ… MyBooksDownloadCenterOfflineTests testInit_WithReachabilityConnected_DoesNotFailExistingDownloads 159ms
โœ… MyBooksDownloadCenterOfflineTests testReachabilityDrop_DuringActiveDownload_FailsBookWithinDeterministicWindow 40ms
โœ… MyBooksDownloadCenterOfflineTests testReachabilityDrop_DuringMultipleActiveDownloads_FailsEach 59ms
โœ… MyBooksDownloadCenterOfflineTests testReachabilityDrop_WithNoActiveDownloads_IsNoOp 60ms
โœ… MyBooksDownloadCenterOfflineTests testStartDownload_WhenOffline_FailsImmediatelyWithoutSpawningTask 17ms
โœ… MyBooksDownloadSessionInvalidationTests testDownloadTask_onInvalidatedSession_isSafelyCatchable 19ms
โœ… MyBooksDownloadSessionInvalidationTests testDownloadTask_onLiveSession_returnsTaskWithoutException 5ms
โœ… MyBooksDownloadSessionInvalidationTests testExceptionCatcher_returnsNSException_insteadOfPropagating 5ms
โœ… MyBooksSimplifiedBearerTokenTests testFulfillURL_canBeSetAfterInit 5ms
โœ… MyBooksSimplifiedBearerTokenTests testFulfillURL_canBeSetViaInit 3ms
โœ… MyBooksSimplifiedBearerTokenTests testFulfillURL_defaultsToNil 4ms
โœ… MyBooksSimplifiedBearerTokenTests testIsExpired_exactlyNow_returnsTrue 23ms
โœ… MyBooksSimplifiedBearerTokenTests testIsExpired_futureExpiration_returnsFalse 4ms
โœ… MyBooksSimplifiedBearerTokenTests testIsExpired_pastExpiration_returnsTrue 4ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_acceptsExpirationKey 3ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_invalidLocationURL_returnsNil 4ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_missingAccessToken_returnsNil 4ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_missingExpiration_returnsNil 5ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_missingLocation_returnsNil 5ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_negativeExpiration_usesDistantFuture 5ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_validDictionary_createsToken 9ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_zeroExpiration_usesDistantFuture 4ms
โœ… MyBooksSimplifiedBearerTokenTests testRefreshToken_invalidJSON_returnsNil 8ms
โœ… MyBooksSimplifiedBearerTokenTests testRefreshToken_serverError_returnsNil 8ms
โœ… MyBooksSimplifiedBearerTokenTests testRefreshToken_success_returnsNewToken 7ms
โœ… MyBooksViewModelBooksPublisherTests testBooksPublisher_EmitsInitialValue 7ms
โœ… MyBooksViewModelBooksPublisherTests testBooksPublisher_EmitsOnFilter 18ms
โœ… MyBooksViewModelBooksPublisherTests testBooksPublisher_EmitsRestoredCountAfterReset 19ms
โœ… MyBooksViewModelConcurrencyTests testFilterBooks_MultipleCalls_EachProducesCorrectResult 23ms
โœ… MyBooksViewModelConcurrencyTests testFilterBooks_RapidChanges_SettlesOnLastQuery 17ms
โœ… MyBooksViewModelConcurrencyTests testLoadData_AfterInit_IsNotLoadingAndHasBooks 9ms
โœ… MyBooksViewModelConcurrencyTests testReloadData_WhenRegistryIdle_BookListRemainsAccessible 16ms
โœ… MyBooksViewModelDownloadStateTests testRegistryState_DownloadFailed_BookRemainsVisible 11ms
โœ… MyBooksViewModelDownloadStateTests testRegistryState_DownloadSuccessful_BookRemainsInList 23ms
โœ… MyBooksViewModelDownloadStateTests testRegistryState_HoldingBook_NotInMyBooksIfNotInMyBooks 8ms
โœ… MyBooksViewModelEmptyArrayTests testFilterLogic_EmptyArray_ReturnsEmpty 3ms
โœ… MyBooksViewModelEmptyArrayTests testSortLogic_EmptyArray_ReturnsEmpty 4ms
โœ… MyBooksViewModelEmptyArrayTests testSortLogic_SingleBook_ReturnsSame 6ms
โœ… MyBooksViewModelEmptyStateTests testBooksAndInstructionsLabel_CoordinateAfterFilterReset 20ms
โœ… MyBooksViewModelEmptyStateTests testBooksPublisher_EmitsRegistryContents 18ms
โœ… MyBooksViewModelEmptyStateTests testShowInstructionsLabel_FalseWhenRegistryHasBooks 13ms
โœ… MyBooksViewModelEmptyStateTests testShowInstructionsLabel_TrueWhenRegistryEmpty 10ms
โœ… MyBooksViewModelExtendedTests testAlert_ClearsOnNilAssignment 4ms
โœ… MyBooksViewModelExtendedTests testFacetViewModel_InitializedWithCorrectConfig 3ms
โœ… MyBooksViewModelExtendedTests testFilterBooks_WithEmptyQuery_RestoresAllBooks 16ms
โœ… MyBooksViewModelExtendedTests testFilterBooks_WithQuery_NarrowsToMatchingBooks 20ms
โœ… MyBooksViewModelExtendedTests testInitialFacetSort_DefaultsToTitle 4ms
โœ… MyBooksViewModelExtendedTests testInitialState_HasCorrectDefaults 10ms
โœ… MyBooksViewModelExtendedTests testIsPadProperty_MatchesUIDevice 8ms
โœ… MyBooksViewModelExtendedTests testLoadAccount_WhenRegistryIsSyncing_ShowsSyncAlert 6ms
โœ… MyBooksViewModelExtendedTests testResetFilter_RestoresBooksAfterQuery 19ms
โœ… MyBooksViewModelExtendedTests testSelectNewLibrary_PublishesTransitionToSubscribers 14ms
โœ… MyBooksViewModelExtendedTests testSelectedBook_PublishesThroughCombine 11ms
โœ… MyBooksViewModelExtendedTests testShowLibraryAccountView_PublishesTransitionsToSubscribers 8ms
โœ… MyBooksViewModelExtendedTests testShowSearchSheet_PublishesTransitionsToSubscribers 33ms
โœ… MyBooksViewModelExtendedTests testSortByAuthor_ReordersBooks 11ms
โœ… MyBooksViewModelExtendedTests testSortByTitle_ReordersBooks 13ms
โœ… MyBooksViewModelFacetIntegrationTests testFacetSortChange_PropagatestoViewModel 8ms
โœ… MyBooksViewModelFacetIntegrationTests testFacetViewModel_ConfiguredCorrectly 10ms
โœ… MyBooksViewModelFacetIntegrationTests testFacet_LocalizedStrings_MatchExpected 2ms
โœ… MyBooksViewModelFacetIntegrationTests testInitialActiveSort_IsFirstFacet 9ms
โœ… MyBooksViewModelFacetPublisherTests testFacetSort_RoundTripPropagation 7ms
โœ… MyBooksViewModelFacetPublisherTests testFacetViewModel_PublishesActiveSortChanges 63ms
โœ… MyBooksViewModelFacetPublisherTests testMyBooksViewModel_SubscribesToFacetChanges 6ms
โœ… MyBooksViewModelFilterSortInteractionTests testFilter_MaintainsSortOrder_Logic 8ms
โœ… MyBooksViewModelFilterSortInteractionTests testSortAfterFilter_ProducesCorrectOrder 12ms
โœ… MyBooksViewModelFilterTests testFilterBooks_EmptyQuery_ResetsToAllBooks 22ms
โœ… MyBooksViewModelFilterTests testFilterBooks_WithQuery_MaintainsSearchQuerySeparately 8ms
โœ… MyBooksViewModelFilterTests testFilterLogic_AuthorMatch_CaseInsensitive 10ms
โœ… MyBooksViewModelFilterTests testFilterLogic_MatchesBothTitleAndAuthor_ReturnsAll 10ms
โœ… MyBooksViewModelFilterTests testFilterLogic_NilAuthors_DoesNotCrash 7ms
โœ… MyBooksViewModelFilterTests testFilterLogic_NoMatches_ReturnsEmpty 9ms
โœ… MyBooksViewModelFilterTests testFilterLogic_SpecialCharacters_HandledCorrectly 19ms
โœ… MyBooksViewModelFilterTests testFilterLogic_TitleMatch_CaseInsensitive 14ms
โœ… MyBooksViewModelFilterTests testResetFilter_RestoresAllBooks 16ms
โœ… MyBooksViewModelGuardConditionsTests testLoadData_CompletesWithIsLoadingFalse 11ms
โœ… MyBooksViewModelGuardConditionsTests testLoadData_SequentialFilterCalls_EachProducesCorrectResult 18ms
โœ… MyBooksViewModelLargeDatasetTests testFilterLogic_ManyBooks_FiltersCorrectly 318ms
โœ… MyBooksViewModelLargeDatasetTests testSortLogic_ManyBooks_Completes 239ms
โœ… MyBooksViewModelLoadAccountTests testLoadAccount_WhenNotSyncing_DoesNotShowSyncAlert 194ms
โœ… MyBooksViewModelLoadAccountTests testLoadAccount_WhenSyncing_ShowsAlert 197ms
โœ… MyBooksViewModelLoginStateTests testLoadData_EmptyRegistry_ShowsInstructionsLabel 3ms
โœ… MyBooksViewModelLoginStateTests testLoadData_MultipleBooks_ExposesAllViaPublishedProperty 17ms
โœ… MyBooksViewModelLoginStateTests testLoadData_PopulatedRegistry_HidesInstructionsLabel 9ms
โœ… MyBooksViewModelLoginStateTests testRegistryChangeNotification_TriggersReload_UpdatesBooks 1.59s
โœ… MyBooksViewModelMultipleAuthorSortingTests testSortByAuthor_SameFirstName_SortsByFullName 11ms
โœ… MyBooksViewModelMultipleAuthorSortingTests testSortByTitle_ThePrefix_SortedAlphabetically 23ms
โœ… MyBooksViewModelMultipleAuthorSortingTests testSort_AlreadySorted_MaintainsOrder 10ms
โœ… MyBooksViewModelNotificationTests testRegistryChangeNotification_IsRegistered 8ms
โœ… MyBooksViewModelNotificationTests testStateChangeNotification_IsRegistered 8ms
โœ… MyBooksViewModelNotificationTests testSyncEndedNotification_CausesBookListToUpdate 326ms
โœ… MyBooksViewModelNotificationTests testSyncEndedNotification_IsRegistered 6ms
โœ… MyBooksViewModelOfflineFilteringTests testExpiredBookFiltering_Logic 8ms
โœ… MyBooksViewModelOfflineFilteringTests testOfflineState_FiltersExpiredBooks_Logic 6ms
โœ… MyBooksViewModelOfflineFilteringTests testOnlineState_ShowsAllBooks_Logic 8ms
โœ… MyBooksViewModelPublisherTests testAlertPublisher_EmitsWhenSet 8ms
โœ… MyBooksViewModelPublisherTests testAlertPublisher_InitiallyNil 3ms
โœ… MyBooksViewModelPublisherTests testFacetViewModelPublisher_TriggersSortUpdate 192ms
โœ… MyBooksViewModelPublisherTests testIsLoadingPublisher_EmitsChanges 4ms
โœ… MyBooksViewModelPublisherTests testSearchQueryPublisher_EmitsChanges 5ms
โœ… MyBooksViewModelPublisherTests testSelectedBookPublisher_EmitsChanges 7ms
โœ… MyBooksViewModelPublisherTests testShowInstructionsLabelPublisher_InitialState 4ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_EmojiInContent_HandledCorrectly 42ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_NumbersInQuery_Matches 17ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_PartialWord_Matches 8ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_UnicodeCharacters_Matches 17ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_VeryLongQuery_NoMatch 7ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_WhitespaceQuery_HandledCorrectly 7ms
โœ… MyBooksViewModelSearchQueryTests testSearchQuery_IndependentOfFilterBooks 15ms
โœ… MyBooksViewModelSearchQueryTests testSearchQuery_PublisherEmitsAllChanges 7ms
โœ… MyBooksViewModelSearchQueryTests testSearchQuery_SetAndRetrieve 9ms
โœ… MyBooksViewModelSortPersistenceTests testActiveFacetSort_StaysInSync 7ms
โœ… MyBooksViewModelSortPersistenceTests testSortOrder_MaintainedAfterFilter 18ms
โœ… MyBooksViewModelSortPersistenceTests testSortOrder_MaintainedAfterReset 9ms
โœ… MyBooksViewModelSortingIntegrationTests testAuthorSort_SortKeyFormat 32ms
โœ… MyBooksViewModelSortingIntegrationTests testSortByAuthor_MultipleBooks_CorrectOrder 18ms
โœ… MyBooksViewModelSortingIntegrationTests testSortByTitle_MultipleBooks_CorrectOrder 12ms
โœ… MyBooksViewModelSortingIntegrationTests testSort_SecondaryField_BreaksTies 7ms
โœ… MyBooksViewModelSortingIntegrationTests testTitleSort_SortKeyFormat 5ms
โœ… MyBooksViewModelSortingTests testSortChange_FromTitleToAuthor_UpdatesActiveFacetSort 25ms
โœ… MyBooksViewModelSortingTests testSortComparator_AuthorSort_ComparesCorrectly 187ms
โœ… MyBooksViewModelSortingTests testSortComparator_EmptyAuthor_TreatedAsEmptyString 8ms
โœ… MyBooksViewModelSortingTests testSortComparator_IdenticalKeys_MaintainsOrder 10ms
โœ… MyBooksViewModelSortingTests testSortComparator_NilAuthors_HandledCorrectly 11ms
โœ… MyBooksViewModelSortingTests testSortComparator_TitleSort_ComparesCorrectly 93ms
โœ… MyBooksViewModelStateTransitionTests testAlert_StateTransitions 8ms
โœ… MyBooksViewModelStateTransitionTests testIsLoading_TransitionsDuringLoad 14ms
โœ… MyBooksViewModelStateTransitionTests testShowInstructionsLabel_TransitionsOnRegistryChange 2.02s
โœ… MyBooksViewModelUIBindingTests testSelectNewLibrary_PublisherEmitsOnChange 5ms
โœ… MyBooksViewModelUIBindingTests testShowLibraryAccountView_PublisherEmitsOnChange 5ms
โœ… MyBooksViewModelUIBindingTests testShowSearchSheet_PublisherEmitsOnChange 10ms
โœ… NSErrorAdditionsTests testLocalizedDescriptionWithRecovery_bothPresent_separatedByDoubleNewline 4ms
โœ… NSErrorAdditionsTests testLocalizedDescriptionWithRecovery_emptyRecoverySuggestion_returnsDescriptionOnly 2ms
โœ… NSErrorAdditionsTests testLocalizedDescriptionWithRecovery_multilineRecoverySuggestion 2ms
โœ… NSErrorAdditionsTests testLocalizedDescriptionWithRecovery_nilDescription_usesDefaultDescription 2ms
โœ… NSErrorAdditionsTests testLocalizedDescriptionWithRecovery_noRecoverySuggestion_returnsDescription 2ms
โœ… NSErrorAdditionsTests testLocalizedDescriptionWithRecovery_whitespaceOnlyRecoverySuggestion_returnsDescriptionOnly 2ms
โœ… NSErrorAdditionsTests testLocalizedDescriptionWithRecovery_withRecoverySuggestion_returnsBoth 2ms
โœ… NSNotificationTPPTests testNSNotificationConstants_matchSwift 3ms
โœ… NSNotificationTPPTests testNotificationKeys_exist 2ms
โœ… NSNotificationTPPTests testNotificationNames_exist 10ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_Book_NotStored_ReturnsNil 77ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_ClearAudioRoutes_ClearsPath 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_ClearAudioRoutes_OnEmptyPath_DoesNotCrash 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_InitialState_NoEPUBSamplePresented 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_InitialState_PathIsEmpty 4ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_MultiplePushes_AccumulateInPath 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PopToRoot_ClearsEntirePath 21ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PopToRoot_OnEmptyPath_DoesNotCrash 25ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_Pop_DecreasesPathCount 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_Pop_OnEmptyPath_DoesNotCrash 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PushAudioRoute_ClearsExistingRoutes 3ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PushAudioRoute_FromBookDetail_PreservesStack 7ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PushAudioRoute_OnEmptyPath_AddsRoute 16ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PushAudioRoute_PreventsDuplicateAudioRoutes 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_Push_IncreasesPathCount 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_StoreAudioModel_CanBeRetrieved 5ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_StoreBook_CanBeRetrieved 7ms
โœ… NavigationFreezePreventionTests testNavigation_failurePath_clearsOnPlaybackFailed 2ms
โœ… NavigationFreezePreventionTests testNavigation_multipleBeginsThenFailure_stillClears 2ms
โœ… NavigationFreezePreventionTests testNavigation_normalFlow_clearsOnPlaybackBegan 5ms
โœ… NavigationFreezePreventionTests testNavigation_notNavigating_seekIsAllowed 6ms
โœ… NavigationFreezePreventionTests testNavigation_unloadPath_clearsOnPlaybackUnloaded 40ms
โœ… NetworkExecutorCredentialGuardTests testExecuteTokenRefresh_BothEmpty_FailsViaTokenRequestGuard 6ms
โœ… NetworkExecutorCredentialGuardTests testExecuteTokenRefresh_EmptyUsername_FailsViaTokenRequestGuard 6ms
โœ… NetworkExecutorCredentialGuardTests testExecuteTokenRefresh_ServerReturns401_ReturnsFailure 25ms
โœ… NetworkExecutorCredentialGuardTests testExecuteTokenRefresh_ValidCredentials_ReturnsTokenResponse 15ms
โœ… NetworkExecutorCredentialGuardTests testExecuteTokenRefresh_WithAccountId_Succeeds 386ms
โœ… NetworkExecutorCredentialGuardTests testRefreshTokenAndResume_DefaultAccountId_BackwardCompatible 18ms
โœ… NetworkExecutorCredentialGuardTests testRefreshTokenAndResume_NilTask_NilAccountId_DoesNotCrash 16ms
โœ… NetworkExecutorCredentialGuardTests testRefreshTokenAndResume_NoCredentials_FailsGracefully 14ms
โœ… NetworkExecutorResponseRegressionTests testGET_handlesEmptyResponseBody 34ms
โœ… NetworkExecutorResponseRegressionTests testGET_handlesHTTPErrorGracefully 27ms
โœ… NetworkExecutorResponseRegressionTests testGET_receivesLCPLicenseJSON 29ms
โœ… NetworkExecutorResponseRegressionTests testGET_receivesLargeManifestJSON 26ms
โœ… NetworkExecutorTaskTypeTests testDownload_createsDownloadTask 11ms
โœ… NetworkExecutorTaskTypeTests testGET_createsDataTask_notDownloadTask 33ms
โœ… NetworkExecutorTaskTypeTests testGET_receivesResponseData 15ms
โœ… NetworkOfflineDetectionTests testNetworkReachability_hasSharedInstance 3ms
โœ… NetworkOfflineDetectionTests testURLError_nonOfflineErrorCodes 20ms
โœ… NetworkOfflineDetectionTests testURLError_offlineErrorCodes 4ms
โœ… NetworkQueueTests testAddRequestDoesNotCrash 13ms
โœ… NetworkQueueTests testAddRequestWithHeadersDoesNotCrash 20ms
โœ… NetworkQueueTests testHTTPMethodTypeRawValues 2ms
โœ… NetworkQueueTests testMaxRetriesInQueueIsFive 3ms
โœ… NetworkQueueTests testMigrateCanBeCalledMultipleTimes 5ms
โœ… NetworkQueueTests testMigrateDoesNotCrash 8ms
โœ… NetworkQueueTests testObjCSharedReturnsInstance 11ms
โœ… NetworkQueueTests testSharedInstanceIsSingleton 4ms
โœ… NetworkQueueTests testStatusCodesContainsExpectedNetworkErrors 2ms
โœ… NetworkQueueTests testStatusCodesContainsRoamingAndCallErrors 3ms
โœ… NetworkQueueTests testStatusCodesContainsSecureConnectionFailed 2ms
โœ… NetworkRequestQueueTests testConcurrentRequests_respectsLimit 587ms
โœ… NetworkRequestQueueTests testRequestOrdering_maintainsOrder 11ms
โœ… NetworkRetryLogicTests testNoRetry_on400BadRequest 7ms
โœ… NetworkRetryLogicTests testNoRetry_on404NotFound 6ms
โœ… NetworkRetryLogicTests testRateLimiting_429Response 6ms
โœ… NetworkRetryLogicTests testRetry_on500Error_eventualSuccess 4ms
โœ… NetworkRetryLogicTests testRetry_on502BadGateway 10ms
โœ… NetworkRetryLogicTests testRetry_on503ServiceUnavailable 4ms
โœ… NetworkRetryLogicTests testRetry_on504GatewayTimeout 5ms
โœ… NetworkTimeoutTests testDefaultTimeout_isReasonable 2ms
โœ… NetworkTimeoutTests testTimeout_configuration 11ms
โœ… NotificationEventTypeContractTests testAllCMEventTypes_ParseToiOSEnum 3ms
โœ… NotificationEventTypeContractTests testHoldAvailable_IsHoldRelated 3ms
โœ… NotificationEventTypeContractTests testHoldRemoved_IsHoldRelated 5ms
โœ… NotificationEventTypeContractTests testLoanExpiry_IsNotHoldRelated 3ms
โœ… NotificationEventTypeContractTests testLoanRemoved_IsNotHoldRelated 2ms
โœ… NotificationEventTypeContractTests testUnknownEventType_returnsNilForAllUnrecognizedRawValues 2ms
โœ… NotificationEventTypeContractTests testiOSEnum_HasNoCasesUnknownToCM 10ms
โœ… NotificationPayloadContractTests testAllFixturePayloads_ParseThroughiOSEventTypeEnum 4ms
โœ… NotificationPayloadContractTests testAllPayloads_HaveAPSAlert 2ms
โœ… NotificationPayloadContractTests testAllPayloads_HaveEventTypeField 2ms
โœ… NotificationPayloadContractTests testAllPayloads_HaveIdentifierTypeField 2ms
โœ… NotificationPayloadContractTests testAllPayloads_HaveLoansEndpointField 2ms
โœ… NotificationPayloadContractTests testAllPayloads_haveIdentifierAndLibraryAsNonEmptyStrings 6ms
โœ… NotificationPayloadContractTests testEventTypes_MatchPayloadKeys 6ms
โœ… NotificationPayloadContractTests testHoldClassification_MatchesExpectedRouting 3ms
โœ… NotificationPayloadContractTests testLoanExpiry_HasDaysToExpiryField 3ms
โœ… NotificationPayloadContractTests testNonExpiryPayloads_DoNotHaveDaysToExpiry 3ms
โœ… NotificationServiceTests testBackgroundFetchIsNeeded_isReferentiallyTransparent 2ms
โœ… NotificationServiceTests testCompareAvailabilityDoesNotCrashWithNoAvailability 6ms
โœ… NotificationServiceTests testCompareAvailabilityReservedToReady 9ms
โœ… NotificationServiceTests testHoldClassificationFallback_WhenEventTypeNotInEnum 3ms
โœ… NotificationServiceTests testHoldClassificationWithAPSAlertContainingAvailableKeyword 8ms
โœ… NotificationServiceTests testHoldClassificationWithAPSAlertContainingReadyKeyword 2ms
โœ… NotificationServiceTests testHoldClassificationWithNonHoldAPSAlert 2ms
โœ… NotificationServiceTests testHoldClassificationWithReservationInBody 2ms
โœ… NotificationServiceTests testHoldClassification_byEventType_routesAllKnownEnumCasesCorrectly 2ms
โœ… NotificationServiceTests testHoldClassification_unparseableInputDefaultsToHoldRelated 3ms
โœ… NotificationServiceTests testNotificationConstants_areStableAndDistinct 1ms
โœ… NotificationServiceTests testTokenDataCodableRoundTrip 2ms
โœ… NotificationServiceTests testTokenDataEncodesToValidJSON 4ms
โœ… NotificationServiceTests testTokenDataEncoding 6ms
โœ… NotificationServiceTests testTokenDataWithEmptyToken 4ms
โœ… NotificationServiceTests testTokenDataWithSpecialCharacters_roundTripsThroughJSON 2ms
โœ… NotificationServiceTokenTests testCheckOutActionIdentifier_isCorrect 2ms
โœ… NotificationServiceTokenTests testDefaultActionIdentifier_isCorrect 23ms
โœ… NotificationServiceTokenTests testHoldNotificationCategoryIdentifier_isCorrect 3ms
โœ… NotificationServiceTokenTests testSharedService_returnsSameAsShared 2ms
โœ… NotificationServiceTokenTests testTokenData_data_isNotNil 2ms
โœ… NotificationServiceTokenTests testTokenData_emptyToken_stillEncodes 6ms
โœ… NotificationServiceTokenTests testTokenData_encodesCorrectJSON 2ms
โœ… NotificationServiceTokenTests testTokenData_longToken_encodesCorrectly 5ms
โœ… NotificationServiceTokenTests testTokenData_tokenType_isAlwaysFCMiOS 2ms
โœ… NotificationSyncThrottleTests testForceSync_bypassesThrottle_atExactThreshold 36ms
โœ… NotificationSyncThrottleTests testForceSync_bypassesThrottle_evenIfRecentlySynced 4ms
โœ… NotificationSyncThrottleTests testForceSync_proceedsRegardlessOfHistoryShape 2ms
โœ… NotificationSyncThrottleTests testHoldNotification_alwaysSyncs 4ms
โœ… NotificationSyncThrottleTests testThrottle_normalSync_blocksRecentAndAllowsAgedAndFirstSync 3ms
โœ… NotificationTokenDataTests testTokenData_codableRoundTrip 35ms
โœ… NotificationTokenDataTests testTokenData_dataNotNil 2ms
โœ… NotificationTokenDataTests testTokenData_encodesToJSON 2ms
โœ… NotificationTokenDataTests testTokenData_init 2ms
โœ… NotificationTokenRegistrationTests testRegressionForBug_SAML401LeavesFlagUnlatched_perHelpSpot17680 1ms
โœ… NotificationTokenRegistrationTests testShouldMark_whenSaveSucceeds 1ms
โœ… NotificationTokenRegistrationTests testShouldMark_whenTokenAlreadyRegistered 4ms
โœ… NotificationTokenRegistrationTests testShouldNotMark_whenDeviceRegistrationLinkAbsent 2ms
โœ… NotificationTokenRegistrationTests testShouldNotMark_whenExistsCheckInconclusive 2ms
โœ… NotificationTokenRegistrationTests testShouldNotMark_whenFCMTokenUnavailable 3ms
โœ… NotificationTokenRegistrationTests testShouldNotMark_whenProfileDocumentMissing 21ms
โœ… NotificationTokenRegistrationTests testShouldNotMark_whenSaveFails 2ms
โœ… NotificationTokenRegistrationTests testShouldNotMark_whenSaveNeededButNotAttempted 2ms
โœ… NotificationTokenRegistrationTests testShouldNotMark_whenSaveSucceededButPrerequisiteMissing 2ms
โœ… NowPlayingCoordinatorTests testClearNowPlaying_removesAllInfo 2ms
โœ… NowPlayingCoordinatorTests testClearNowPlaying_setsStoppedState 7ms
โœ… NowPlayingCoordinatorTests testSetPlaybackState_paused_setsCorrectPlaybackState 3ms
โœ… NowPlayingCoordinatorTests testSetPlaybackState_paused_setsZeroRate 26ms
โœ… NowPlayingCoordinatorTests testSetPlaybackState_playing_setsCorrectPlaybackState 2ms
โœ… NowPlayingCoordinatorTests testSetPlaybackState_playing_setsNonZeroRate 3ms
โœ… NowPlayingCoordinatorTests testUpdateArtwork_nil_clearsArtwork 670ms
โœ… NowPlayingCoordinatorTests testUpdateArtwork_setsArtworkInInfo 76ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_clampsElapsedToNotExceedDuration 2ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_clampsNegativeElapsedToZero 7ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_ensuresDurationIsAtLeastOne 2ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_preservesArtwork_acrossUpdates 6ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_rapidUpdates_lastOneWins 1.57s
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_setsElapsedAndDuration 2ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_setsInfoCenter 47ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_setsMediaType_toAudioBook 6ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_setsPlaybackRate_whenPlaying 2ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_setsZeroPlaybackRate_whenPaused 6ms
โœ… NowPlayingCoordinatorTests testUpdatePlaybackRate_updatesDefaultRate 3ms
โœ… OAuthSAMLRedirectRegressionTests testRegression_handleRedirectURL_rejectsCustomSchemeURL 190ms
โœ… OAuthSAMLRedirectRegressionTests testRegression_oauthRedirect_stillUsesUniversalLinksPrefix 149ms
โœ… OAuthSAMLRedirectRegressionTests testRegression_oauthRedirect_withError_stillHandlesError 169ms
โœ… OAuthSAMLRedirectRegressionTests testRegression_samlRedirect_stillUsesUniversalLinksPrefix 162ms
โœ… OIDCAuthDocumentParsingTests testAuthDocument_containsOidcType 111ms
โœ… OIDCAuthDocumentParsingTests testAuthDocument_oidcAuthenticateLink_IsParsed 135ms
โœ… OIDCAuthDocumentParsingTests testAuthDocument_oidcDoesNotAffectOtherAuthTypes 93ms
โœ… OIDCAuthDocumentParsingTests testAuthDocument_unknownTypeStillFallsToNone 5ms
โœ… OIDCAuthTypeTests testAuthType_InitFromLegacyOidcString_ReturnsOidc 3ms
โœ… OIDCAuthTypeTests testAuthType_InitFromOidcString_ReturnsOidc 3ms
โœ… OIDCAuthTypeTests testAuthType_LegacyOidcURI_DecodesViaCodeable 5ms
โœ… OIDCAuthTypeTests testAuthType_OidcIsDistinct_FromOtherTypes 2ms
โœ… OIDCAuthTypeTests testAuthType_OidcRawValue_IsCorrect 3ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_catalogRequiresAuthentication_ReturnsFalse 141ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_hasAuthenticationUrl 118ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_isNotOtherTypes 115ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_isOidc_ReturnsTrue 158ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_methodDescription_IsOpenIDConnect 115ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_needsAgeCheck_ReturnsFalse 124ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_needsAuth_ReturnsTrue 143ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_otherUrlsAreNil 93ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_doesNotAffectPriorOAuthState 160ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_prefersQueryOverFragment 137ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withEmptyQueryString_doesNotSetToken 101ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withLongToken_setsFullToken 136ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withMalformedPatronJSON_doesNotSetToken 155ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withOnlyAccessToken_doesNotSetToken 110ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withOnlyPatronInfo_doesNotSetToken 128ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withPatronContainingMultipleFields_parsesAll 107ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withPlusEncodedPatron_decodesSpaces 155ms
โœ… OIDCCallbackHandlingTests testHandleOIDCCallback_withError_doesNotSetToken 129ms
โœ… OIDCCallbackHandlingTests testHandleOIDCCallback_withFragment_extractsTokenAndValidates 90ms
โœ… OIDCCallbackHandlingTests testHandleOIDCCallback_withNoPayload_doesNotSetToken 169ms
โœ… OIDCCallbackHandlingTests testHandleOIDCCallback_withQueryParams_extractsTokenAndValidates 99ms
โœ… OIDCCallbackHandlingTests testOIDCFlow_afterCallback_validatesAndCompletesSignIn 163ms
โœ… OIDCCallbackSchemeTests testOidcCallbackHost_matchesAndroidConvention 2ms
โœ… OIDCCallbackSchemeTests testOidcCallbackScheme_isNotHTTPS 5ms
โœ… OIDCCallbackSchemeTests testOidcCallbackScheme_matchesAndroidConvention 6ms
โœ… OIDCIsolationRegressionTests testRegression_basicAuthentication_noTokenURLs 99ms
โœ… OIDCIsolationRegressionTests testRegression_makeRequest_oauthAndOIDC_bothUseBearerToken 94ms
โœ… OIDCIsolationRegressionTests testRegression_oauthAuthentication_typeIsCorrect 97ms
โœ… OIDCIsolationRegressionTests testRegression_oidcAuthentication_noOtherAuthURLs 102ms
โœ… OIDCIsolationRegressionTests testRegression_samlAuthentication_typeIsCorrect 81ms
โœ… OIDCIsolationRegressionTests testRegression_updateUserAccount_oauthStillStoresToken 109ms
โœ… OIDCLoginRoutingTests testLogIn_withOIDC_callsWillSignIn 116ms
โœ… OIDCLoginRoutingTests testLogIn_withOIDC_capturesCredentials 204ms
โœ… OIDCLoginRoutingTests testLogIn_withOIDC_doesNotValidateCredentialsDirectly 131ms
โœ… OIDCMakeRequestTests testMakeRequest_forOIDCSignOut_usesUserProfileURL 94ms
โœ… OIDCMakeRequestTests testMakeRequest_forOIDC_addsBearerTokenHeader 109ms
โœ… OIDCMakeRequestTests testMakeRequest_forOIDC_withoutToken_stillCreatesRequest 152ms
โœ… OIDCNSCodingTests testOidcAuthentication_NSCodingRoundTrip_PreservesProperties 159ms
โœ… OIDCNetworkLayer401Tests testOIDC_authDefinition_hasNoTokenURL 152ms
โœ… OIDCNetworkLayer401Tests testOIDC_authDefinition_isNotOauth 151ms
โœ… OIDCNetworkLayer401Tests testOIDC_authDefinition_isNotToken 147ms
โœ… OIDCNetworkLayer401Tests testOIDC_cannotDoClientSideTokenRefresh 229ms
โœ… OIDCNetworkLayer401Tests testOIDC_isTreatedLikeSAML_forReauth 173ms
โœ… OIDCReauthOnExpiredTokenTests testOIDC_afterReauth_credentialsRestored 127ms
โœ… OIDCReauthOnExpiredTokenTests testOIDC_refreshAuthIfNeeded_doesNotNilSelectedAuth 219ms
โœ… OIDCReauthOnExpiredTokenTests testOIDC_refreshAuthIfNeeded_withoutExistingCredentials_requiresUI 83ms
โœ… OIDCReauthOnExpiredTokenTests testOIDC_staleCredentials_authDefinitionPreserved 156ms
โœ… OIDCReauthOnExpiredTokenTests testOIDC_staleCredentials_stillHasCredentials 122ms
โœ… OIDCRedirectURIConstructionTests testOidcCallbackScheme_containsNoDots 153ms
โœ… OIDCRedirectURIConstructionTests testOidcCallbackScheme_doesNotContainColonOrSlash 151ms
โœ… OIDCRedirectURIConstructionTests testOidcCallbackScheme_isLowercase 157ms
โœ… OIDCRedirectURIConstructionTests testOidcRedirectURI_doesNotUseHTTPS 203ms
โœ… OIDCRedirectURIConstructionTests testOidcRedirectURI_doesNotUseUniversalLinksURL 236ms
โœ… OIDCRedirectURIConstructionTests testOidcRedirectURI_isValidURL 118ms
โœ… OIDCRegressionTests testRegression_allAuthTypes_areCodable 139ms
โœ… OIDCRegressionTests testRegression_authTypeCodable_roundTripIncludesOidc 115ms
โœ… OIDCRegressionTests testRegression_basicAuth_makeRequest_noBearerToken 175ms
โœ… OIDCRegressionTests testRegression_basicAuth_needsAuth_StillTrue 162ms
โœ… OIDCRegressionTests testRegression_defaultAuth_stillPrefersNonOAuth 108ms
โœ… OIDCRegressionTests testRegression_existingAuthTypesUnchanged 170ms
โœ… OIDCRegressionTests testRegression_oauthAuth_makeRequest_stillAddsBearerToken 146ms
โœ… OIDCRegressionTests testRegression_samlAuth_makeRequest_stillAddsBearerToken 152ms
โœ… OIDCRegressionTests testRegression_samlUpdateUserAccount_stillStoresCookies 127ms
โœ… OIDCSelectedAuthenticationTests testRefreshAuthIfNeeded_withOIDC_resetsIgnoreSignedInState 153ms
โœ… OIDCSelectedAuthenticationTests testSelectedAuthentication_canBeSetToOIDC 131ms
โœ… OIDCSignOutRegressionTests testRegression_signOut_withOAuth_stillClearsToken 154ms
โœ… OIDCSignOutRegressionTests testRegression_signOut_withSAML_stillClearsCookies 122ms
โœ… OIDCSignOutRegressionTests testSignOut_resetsInFlightAuthState 238ms
โœ… OIDCSignOutRegressionTests testSignOut_withOIDC_clearsAuthToken 173ms
โœ… OIDCSignOutRegressionTests testSignOut_withOIDC_clearsPatronInfo 158ms
โœ… OIDCSignOutRegressionTests testSignOut_withOIDC_triggersExplicitLogoutFlowAndCompletesDeauthorization 185ms
โœ… OIDCTokenRefreshRegressionTests testRefreshAuth_withOIDC_doesNotNilOutSelectedAuth_unlikeSAML 99ms
โœ… OIDCTokenRefreshRegressionTests testRefreshAuth_withOIDC_usingExistingCredentials_doesNotResetSelectedAuth 91ms
โœ… OIDCTokenRefreshRegressionTests testRefreshAuth_withOIDC_withoutExistingCredentials_setsIgnoreSignedIn 89ms
โœ… OIDCTokenRefreshRegressionTests testRegression_refreshAuth_withBasic_ignoreSignedInNotSet 114ms
โœ… OIDCTokenRefreshRegressionTests testRegression_refreshAuth_withOAuth_stillSetsIgnoreSignedIn 101ms
โœ… OIDCTokenRefreshRegressionTests testRegression_refreshAuth_withSAML_codepathIncludesSAML 88ms
โœ… OIDCUpdateUserAccountTests testUpdateUserAccount_withOIDC_doesNotStoreCookies 127ms
โœ… OIDCUpdateUserAccountTests testUpdateUserAccount_withOIDC_marksLoggedIn 130ms
โœ… OIDCUpdateUserAccountTests testUpdateUserAccount_withOIDC_setsAuthDefinition 120ms
โœ… OIDCUpdateUserAccountTests testUpdateUserAccount_withOIDC_storesAuthToken 123ms
โœ… OIDCUpdateUserAccountTests testUpdateUserAccount_withOIDC_storesPatronInfo 102ms
โœ… OIDCViewModelRegressionTests testOIDCSignIn_doesNotRequireUsernameOrPIN 107ms
โœ… OIDCViewModelSignInTests testSignIn_withActiveCredentials_showsSignOutAlert 48ms
โœ… OIDCViewModelSignInTests testSignIn_withStaleOIDCCredentials_proceedsToLogin 27ms
โœ… OPDS1BorrowEntryContractTests testBorrowEntry_HasAvailabilityWithDates 8ms
โœ… OPDS1BorrowEntryContractTests testBorrowEntry_HasLCPAcquisition 5ms
โœ… OPDS1BorrowEntryContractTests testBorrowEntry_HasRevokeLink 6ms
โœ… OPDS1BorrowEntryContractTests testParseBorrowEntry_AsSingleEntryFeed 6ms
โœ… OPDS1CatalogGroupedContractTests testGroupedFeed_EntriesHaveGroupAttributes 18ms
โœ… OPDS1CatalogGroupedContractTests testGroupedFeed_HasMultipleGroups 10ms
โœ… OPDS1CatalogGroupedContractTests testGroupedFeed_ParsesAsGroupedType 7ms
โœ… OPDS1HoldEntriesContractTests testHoldsFeed_ReadyEntry_HasReadyAvailability 5ms
โœ… OPDS1HoldEntriesContractTests testHoldsFeed_ReservedEntry_HasHoldPosition 5ms
โœ… OPDS1HoldEntriesContractTests testHoldsFeed_ReservedEntry_HasRevokeLink 6ms
โœ… OPDS1HoldEntriesContractTests testParseHoldsFeed_ReturnsTwoEntries 6ms
โœ… OPDS1LoansFeedContractTests testLoansFeed_AudiobookEntry_HasAudiobookType 6ms
โœ… OPDS1LoansFeedContractTests testLoansFeed_EPUBEntry_HasAdobeDRMAcquisition 6ms
โœ… OPDS1LoansFeedContractTests testLoansFeed_EntryHasAnnotationLink 14ms
โœ… OPDS1LoansFeedContractTests testLoansFeed_EntryHasRevokeLink 13ms
โœ… OPDS1LoansFeedContractTests testLoansFeed_OpenAccessPDF_HasDirectAcquisition 7ms
โœ… OPDS1LoansFeedContractTests testParseLoansFeed_ReturnsThreeEntries 7ms
โœ… OPDS1RevokeResponseContractTests testRevokeResponse_HasBorrowLink_NotFulfillmentLink 7ms
โœ… OPDS1RevokeResponseContractTests testRevokeResponse_ParsesAsSingleEntry 4ms
โœ… OPDS2AuthenticationDocumentTests testAnnouncements_parsesIfPresent 6ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_noAuthRequired 4ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesBarcodeFormat 10ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesBasicAuth 21ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesInputConfiguration 4ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesLabels 9ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesMaximumLength 3ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesMultipleMethods 9ms
โœ… OPDS2AuthenticationDocumentTests testColorScheme_parsesIfPresent 4ms
โœ… OPDS2AuthenticationDocumentTests testFeatures_parsesDisabledFeatures 3ms
โœ… OPDS2AuthenticationDocumentTests testFeatures_parsesEnabledFeatures 5ms
โœ… OPDS2AuthenticationDocumentTests testFromData_withEmptyData_throwsError 2ms
โœ… OPDS2AuthenticationDocumentTests testFromData_withInvalidJSON_throwsError 7ms
โœ… OPDS2AuthenticationDocumentTests testFromData_withMissingRequiredFields_throwsError 2ms
โœ… OPDS2AuthenticationDocumentTests testFromData_withValidJSON_parsesDocument 4ms
โœ… OPDS2AuthenticationDocumentTests testLinks_firstRelMethod_findsPasswordReset 7ms
โœ… OPDS2AuthenticationDocumentTests testLinks_parsesCorrectly 7ms
โœ… OPDS2AuthenticationDocumentTests testServiceDescription_parsesIfPresent 5ms
โœ… OPDS2AvailabilityTests testIsAvailable_AvailableState_ReturnsTrue 1ms
โœ… OPDS2AvailabilityTests testIsReady_ReadyState_ReturnsTrue 2ms
โœ… OPDS2AvailabilityTests testIsReserved_ReservedState_ReturnsTrue 1ms
โœ… OPDS2AvailabilityTests testIsUnavailable_UnavailableState_ReturnsTrue 1ms
โœ… OPDS2BookBridgeTests testConvertAvailability_availableWithoutCopiesIsUnlimited 2ms
โœ… OPDS2BookBridgeTests testConvertAvailability_unknownStateDefaultsToUnlimited 52ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_fromDecodedJSON 5ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsAuthors 3ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsDescription 2ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsMultipleAuthors 6ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsNarrators 2ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsPublishedDate 7ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsPublisher 3ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsSubjectsAsCategories 8ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsSubtitle 2ms
โœ… OPDS2BookBridgeTests testMetadata_decodesAuthorFromSingleStringAndArray 8ms
โœ… OPDS2BookBridgeTests testRelationMapping_allStandardRelations 6ms
โœ… OPDS2BookBridgeTests testRelationMapping_nonAcquisitionRelReturnsNil 2ms
โœ… OPDS2BookBridgeTests testToBook_dropsPublicationWhenOnlyAcquisitionIsStreamingHTMLIndirect 30ms
โœ… OPDS2BookBridgeTests testToBook_fallsBackToFirstImageWhenNoRelSpecified 3ms
โœ… OPDS2BookBridgeTests testToBook_filtersNonAcquisitionLinks 2ms
โœ… OPDS2BookBridgeTests testToBook_fromDecodedJSON 8ms
โœ… OPDS2BookBridgeTests testToBook_handlesInvalidHrefURL 11ms
โœ… OPDS2BookBridgeTests testToBook_handlesLinkWithNoType 4ms
โœ… OPDS2BookBridgeTests testToBook_keepsPublicationWhenAtLeastOneAcquisitionIsSupported 3ms
โœ… OPDS2BookBridgeTests testToBook_mapsAlternateLink 6ms
โœ… OPDS2BookBridgeTests testToBook_mapsAuthorsFromArrayMetadata 6ms
โœ… OPDS2BookBridgeTests testToBook_mapsAvailableState 4ms
โœ… OPDS2BookBridgeTests testToBook_mapsBorrowLink 4ms
โœ… OPDS2BookBridgeTests testToBook_mapsBuyLink 2ms
โœ… OPDS2BookBridgeTests testToBook_mapsGenericAcquisitionLink 10ms
โœ… OPDS2BookBridgeTests testToBook_mapsImageURLFromImages 2ms
โœ… OPDS2BookBridgeTests testToBook_mapsIndirectAcquisition 2ms
โœ… OPDS2BookBridgeTests testToBook_mapsLCPIndirectAcquisition 2ms
โœ… OPDS2BookBridgeTests testToBook_mapsOpenAccessLink 4ms
โœ… OPDS2BookBridgeTests testToBook_mapsPreviewLink 7ms
โœ… OPDS2BookBridgeTests testToBook_mapsReadyState 6ms
โœ… OPDS2BookBridgeTests testToBook_mapsRelatedWorksLink 2ms
โœ… OPDS2BookBridgeTests testToBook_mapsReservedState 6ms
โœ… OPDS2BookBridgeTests testToBook_mapsRevokeLink 4ms
โœ… OPDS2BookBridgeTests testToBook_mapsSampleLink 85ms
โœ… OPDS2BookBridgeTests testToBook_mapsThumbnailURL 6ms
โœ… OPDS2BookBridgeTests testToBook_mapsUnavailableState 2ms
โœ… OPDS2BookBridgeTests testToBook_multipleAcquisitionLinks 3ms
โœ… OPDS2BookBridgeTests testToBook_noAvailabilityDefaultsToUnlimited 7ms
โœ… OPDS2BookBridgeTests testToBook_passesThroughIdentifierTitleUpdatedAndDescription 71ms
โœ… OPDS2BookBridgeTests testToBook_returnsNilWhenNoAcquisitionLinks 32ms
โœ… OPDS2BookBridgeTests testToBook_returnsNilWhenNoUsableAcquisitionPath 3ms
โœ… OPDS2BorrowResponseContractTests testBorrowResponse_HasAvailabilityWithDates 6ms
โœ… OPDS2BorrowResponseContractTests testBorrowResponse_HasFulfillmentAndRevokeLinks 6ms
โœ… OPDS2BorrowResponseContractTests testBorrowResponse_ParsesPublicationMetadata 2ms
โœ… OPDS2CatalogWiringTests testCatalogFeed_opds2Init_createsShellOpdsFeed 5ms
โœ… OPDS2CatalogWiringTests testCatalogFeed_opds2Init_mapsEntries 3ms
โœ… OPDS2CatalogWiringTests testCatalogFeed_opds2Init_setsTitle 2ms
โœ… OPDS2CatalogWiringTests testEndToEnd_jsonToLanes 17ms
โœ… OPDS2CatalogWiringTests testExtractOPDS2Facets_fallsBackToNumberOfItemsHintWhenNoURLMatch 5ms
โœ… OPDS2CatalogWiringTests testExtractOPDS2Facets_marksFacetActiveWhenHrefMatchesCurrentURL 4ms
โœ… OPDS2CatalogWiringTests testExtractOPDS2Facets_urlMatchIgnoresQueryOrder 2ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Facets_extracted 3ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Grouped_lanesHaveMoreURLs 12ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Grouped_lanesTitlesMatch 4ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Grouped_producesLanes 3ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Navigation_producesEmptyLanesAndBooks 3ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Publication_producesUngroupedBooks 4ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2_bookMetadataPreserved 37ms
โœ… OPDS2CatalogWiringTests testParser_detectsOPDS1XML 3ms
โœ… OPDS2CatalogWiringTests testParser_detectsOPDS2JSON 23ms
โœ… OPDS2CatalogWiringTests testParser_invalidJSONThrows 14ms
โœ… OPDS2CatalogsFeedTests testAccountSetAuthenticationDocument 153ms
โœ… OPDS2CatalogsFeedTests testInitAccountsWithPublication 113ms
โœ… OPDS2CatalogsFeedTests testLoadCatalogsFeed 113ms
โœ… OPDS2ContributorTests testDecode_ObjectValue_ParsesAllFields 2ms
โœ… OPDS2ContributorTests testDecode_StringValue_ParsesAsName 2ms
โœ… OPDS2EmptyFeedContractTests testEmptyFeed_ParsesWithZeroItems 12ms
โœ… OPDS2FeedContractTests testParseAudiobook_IncludesCompleteMetadataAndLinks 4ms
โœ… OPDS2FeedContractTests testParseFacets_ExtractsFormatEntryPoints 15ms
โœ… OPDS2FeedContractTests testParseFeed_FromBackendFixture_SucceedsWithExpectedStructure 3ms
โœ… OPDS2FeedContractTests testParsePublications_ExtractsBookMetadata 12ms
โœ… OPDS2FeedParsingTests testDateParsing_withISO8601_parsesCorrectly 109ms
โœ… OPDS2FeedParsingTests testDateParsing_withMilliseconds_parsesCorrectly 4ms
โœ… OPDS2FeedParsingTests testDateParsing_withoutMilliseconds_parsesCorrectly 5ms
โœ… OPDS2FeedParsingTests testFromData_withEmptyCatalogs_parsesSuccessfully 4ms
โœ… OPDS2FeedParsingTests testFromData_withEmptyData_throwsError 3ms
โœ… OPDS2FeedParsingTests testFromData_withInvalidJSON_throwsError 2ms
โœ… OPDS2FeedParsingTests testFromData_withMissingCatalogs_throwsError 5ms
โœ… OPDS2FeedParsingTests testFromData_withValidJSON_parsesFeed 106ms
โœ… OPDS2FeedParsingTests testLinks_parsesCorrectly 86ms
โœ… OPDS2FeedParsingTests testMetadata_parsesAdobeVendorId 99ms
โœ… OPDS2FeedParsingTests testMetadata_parsesTitle 110ms
โœ… OPDS2FeedTests testDetectOPDS2FromContentType 2ms
โœ… OPDS2FeedTests testDetectOPDS2FromData 47ms
โœ… OPDS2FeedTests testFeedEquatable 6ms
โœ… OPDS2FeedTests testParseDateWithFractionalSeconds 6ms
โœ… OPDS2FeedTests testParseDateWithoutFractionalSeconds 19ms
โœ… OPDS2FeedTests testParseFeedWithFacets 6ms
โœ… OPDS2FeedTests testParseFeedWithGroups 6ms
โœ… OPDS2FeedTests testParseFeedWithNavigation 7ms
โœ… OPDS2FeedTests testParseFeedWithPagination 3ms
โœ… OPDS2FeedTests testParseFeedWithPublications 5ms
โœ… OPDS2FeedTests testParseLinkWithIndirectAcquisition 2ms
โœ… OPDS2FeedTests testParseLinkWithProperties 2ms
โœ… OPDS2FeedTests testParseMinimalFeed 3ms
โœ… OPDS2FullMetadataTests testDecode_AllOptionalFields_ParsesCorrectly 17ms
โœ… OPDS2FullMetadataTests testDecode_AtIdKey_ParsesIdentifier 2ms
โœ… OPDS2FullMetadataTests testDecode_MissingId_GeneratesUUID 2ms
โœ… OPDS2FullMetadataTests testEncodeDecode_RoundTrip_PreservesData 8ms
โœ… OPDS2FullPublicationTests testAcquisitionLinks_FiltersCorrectly 2ms
โœ… OPDS2FullPublicationTests testBorrowLink_Found_ReturnsLink 2ms
โœ… OPDS2FullPublicationTests testCoverURL_CoverRel_ReturnsCorrectURL 2ms
โœ… OPDS2FullPublicationTests testCoverURL_LargeWidth_FallsBackToLargeImage 2ms
โœ… OPDS2FullPublicationTests testImageURL_NoRelImage_ReturnsFirst 2ms
โœ… OPDS2FullPublicationTests testIsAudiobook_AudiobookType_ReturnsTrue 2ms
โœ… OPDS2FullPublicationTests testIsEPUB_EpubType_ReturnsTrue 2ms
โœ… OPDS2FullPublicationTests testIsPDF_PdfType_ReturnsTrue 2ms
โœ… OPDS2FullPublicationTests testOpenAccessLink_Found_ReturnsLink 2ms
โœ… OPDS2FullPublicationTests testSampleLink_PreviewRel_ReturnsLink 2ms
โœ… OPDS2FullPublicationTests testSampleLink_SampleRel_ReturnsLink 16ms
โœ… OPDS2FullPublicationTests testThumbnailURL_SmallWidth_FallsBackToSmallImage 2ms
โœ… OPDS2FullPublicationTests testThumbnailURL_ThumbnailRel_ReturnsCorrectURL 16ms
โœ… OPDS2IntegrationTests testAllPublicationsConvertSuccessfully 17ms
โœ… OPDS2IntegrationTests testBorrowableBookConversion 8ms
โœ… OPDS2IntegrationTests testFeedFacets 10ms
โœ… OPDS2IntegrationTests testFeedIsGrouped 11ms
โœ… OPDS2IntegrationTests testFeedLinks 9ms
โœ… OPDS2IntegrationTests testFeedMetadata 21ms
โœ… OPDS2IntegrationTests testFormatDetection_JSON 9ms
โœ… OPDS2IntegrationTests testFormatDetection_XML 12ms
โœ… OPDS2IntegrationTests testFormatDetection_contentType 16ms
โœ… OPDS2IntegrationTests testFullPublicationFromJSON 21ms
โœ… OPDS2IntegrationTests testGroupCount 7ms
โœ… OPDS2IntegrationTests testNewAndNotableGroup 7ms
โœ… OPDS2IntegrationTests testOpenAccessBookConversion 39ms
โœ… OPDS2IntegrationTests testPopularAudiobooksGroup 7ms
โœ… OPDS2IntegrationTests testReadyBookConversion 7ms
โœ… OPDS2IntegrationTests testReservedBookWithLCPConversion 8ms
โœ… OPDS2IntegrationTests testStaffPicksGroup 9ms
โœ… OPDS2IntegrationTests testUnavailableAudiobookConversion 9ms
โœ… OPDS2LinkArrayTests testAllRel_MatchingLinks_ReturnsFiltered 4ms
โœ… OPDS2LinkArrayTests testAllRel_NoMatchingLinks_ReturnsEmpty 2ms
โœ… OPDS2LinkArrayTests testFirstRel_EmptyArray_ReturnsNil 27ms
โœ… OPDS2LinkArrayTests testFirstRel_MatchingLink_ReturnsFirst 2ms
โœ… OPDS2LinkArrayTests testFirstRel_NoMatch_ReturnsNil 3ms
โœ… OPDS2LinkComputedPropertyTests testHrefURL_InvalidURL_ReturnsNil 3ms
โœ… OPDS2LinkComputedPropertyTests testHrefURL_ValidURL_ReturnsURL 3ms
โœ… OPDS2LinkComputedPropertyTests testId_ReturnsHref 3ms
โœ… OPDS2LinkComputedPropertyTests testIsAcquisition_BorrowRel_ReturnsTrue 5ms
โœ… OPDS2LinkComputedPropertyTests testIsAcquisition_NilRel_ReturnsFalse 3ms
โœ… OPDS2LinkComputedPropertyTests testIsAcquisition_OpenAccessRel_ReturnsTrue 7ms
โœ… OPDS2LinkComputedPropertyTests testIsAcquisition_SelfRel_ReturnsFalse 3ms
โœ… OPDS2LinkComputedPropertyTests testIsBorrow_CorrectRel_ReturnsTrue 3ms
โœ… OPDS2LinkComputedPropertyTests testIsBorrow_OpenAccessRel_ReturnsFalse 3ms
โœ… OPDS2LinkComputedPropertyTests testIsImage_CoverRel_ReturnsTrue 5ms
โœ… OPDS2LinkComputedPropertyTests testIsImage_ImageType_ReturnsTrue 4ms
โœ… OPDS2LinkComputedPropertyTests testIsImage_NonImageType_ReturnsFalse 2ms
โœ… OPDS2LinkComputedPropertyTests testIsImage_ThumbnailRel_ReturnsTrue 5ms
โœ… OPDS2LinkComputedPropertyTests testIsOpenAccess_BorrowRel_ReturnsFalse 2ms
โœ… OPDS2LinkComputedPropertyTests testIsOpenAccess_CorrectRel_ReturnsTrue 2ms
โœ… OPDS2LinkComputedPropertyTests testIsSample_BorrowRel_ReturnsFalse 3ms
โœ… OPDS2LinkComputedPropertyTests testIsSample_PreviewRel_ReturnsTrue 5ms
โœ… OPDS2LinkComputedPropertyTests testIsSample_SampleRel_ReturnsTrue 5ms
โœ… OPDS2LinkComputedPropertyTests testLink_CodableRoundTrip_MinimalFields 6ms
โœ… OPDS2LinkComputedPropertyTests testLink_CodableRoundTrip_PreservesAllFields 3ms
โœ… OPDS2LinkRelTests testPasswordReset_hasCorrectRawValue 8ms
โœ… OPDS2LinkTests testLink_firstRelMethod_findsMatchingLink 168ms
โœ… OPDS2LinkTests testLink_hasHref 193ms
โœ… OPDS2PublicationExtendedTests testContributorDecodesFromObject 75ms
โœ… OPDS2PublicationExtendedTests testContributorDecodesFromString 3ms
โœ… OPDS2PublicationExtendedTests testConvertAcquisitionFromBorrowLink 2ms
โœ… OPDS2PublicationExtendedTests testConvertAcquisitionFromNonAcquisitionLink 2ms
โœ… OPDS2PublicationExtendedTests testConvertAcquisitionSynthesizesIndirectForBearerToken 6ms
โœ… OPDS2PublicationExtendedTests testConvertAcquisitionSynthesizesIndirectForLCP 5ms
โœ… OPDS2PublicationExtendedTests testConvertAcquisitionWithExplicitIndirectAcquisitions 3ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityAvailableWithCopies 2ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityAvailableWithoutCopies 2ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityNil 2ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityReady 3ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityReserved 8ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityReservedWithZeroPosition 4ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityUnavailable 4ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityUnknownState 4ms
โœ… OPDS2PublicationExtendedTests testConvertIndirectAcquisitionsFlat 2ms
โœ… OPDS2PublicationExtendedTests testConvertIndirectAcquisitionsNested 4ms
โœ… OPDS2PublicationExtendedTests testConvertIndirectAcquisitions_nilOrEmptyInputYieldsEmptyResult 2ms
โœ… OPDS2PublicationExtendedTests testExtractImageURLsFallsBackToFirstImage 2ms
โœ… OPDS2PublicationExtendedTests testExtractImageURLsNil 3ms
โœ… OPDS2PublicationExtendedTests testExtractImageURLsWithExplicitRels 38ms
โœ… OPDS2PublicationExtendedTests testExtractSpecialLinks 3ms
โœ… OPDS2PublicationExtendedTests testExtractSpecialLinksEmpty 5ms
โœ… OPDS2PublicationExtendedTests testFullMetadataCodableRoundTrip 41ms
โœ… OPDS2PublicationExtendedTests testFullMetadataDecodesWithAlternateIdKey 2ms
โœ… OPDS2PublicationExtendedTests testFullMetadataDecodesWithMissingIdentifier 4ms
โœ… OPDS2PublicationExtendedTests testFullPublicationAcquisitionLinks 3ms
โœ… OPDS2PublicationExtendedTests testFullPublicationContentType 24ms
โœ… OPDS2PublicationExtendedTests testFullPublicationDurationFormatting 49ms
โœ… OPDS2PublicationExtendedTests testFullPublicationDurationFormattingSubHour 18ms
โœ… OPDS2PublicationExtendedTests testFullPublicationId_delegatesToMetadataIdentifierAcrossInstances 29ms
โœ… OPDS2PublicationExtendedTests testFullPublicationImageURLs 2ms
โœ… OPDS2PublicationExtendedTests testFullPublicationToBookReturnsNilWithNoAcquisitions 50ms
โœ… OPDS2PublicationExtendedTests testRelationFromBorrow 3ms
โœ… OPDS2PublicationExtendedTests testRelationFromBuy 2ms
โœ… OPDS2PublicationExtendedTests testRelationFromGenericAcquisition 2ms
โœ… OPDS2PublicationExtendedTests testRelationFromIssuesRelIsNil 2ms
โœ… OPDS2PublicationExtendedTests testRelationFromNonAcquisitionRel 2ms
โœ… OPDS2PublicationExtendedTests testRelationFromOpenAccess 5ms
โœ… OPDS2PublicationExtendedTests testRelationFromPreview 2ms
โœ… OPDS2PublicationExtendedTests testRelationFromRevokeRelIsNil 2ms
โœ… OPDS2PublicationExtendedTests testRelationFromSample 2ms
โœ… OPDS2PublicationExtendedTests testRelationFromSubscribe 2ms
โœ… OPDS2PublicationExtendedTests testRelationFromUnknownAcquisitionSubtype 2ms
โœ… OPDS2PublicationExtendedTests testSubjectDecodesFromObject 4ms
โœ… OPDS2PublicationExtendedTests testSubjectDecodesFromString 3ms
โœ… OPDS2PublicationImageTests testCoverURL_CoverRel_ReturnsURL 2ms
โœ… OPDS2PublicationImageTests testImageURL_NoImages_ReturnsNil 2ms
โœ… OPDS2PublicationImageTests testImageURL_NonPNGImage_ReturnsNil 2ms
โœ… OPDS2PublicationImageTests testImageURL_PNGImage_ReturnsURL 2ms
โœ… OPDS2PublicationImageTests testThumbnailURL_NoThumbnailRel_ReturnsNil 4ms
โœ… OPDS2PublicationImageTests testThumbnailURL_ThumbnailRel_ReturnsURL 2ms
โœ… OPDS2PublicationNarratorTests testToBook_WithMultipleNarrators_JoinsWithSemicolons 17ms
โœ… OPDS2PublicationNarratorTests testToBook_WithNarratorInJSON_ExposesNarratorOnBook 9ms
โœ… OPDS2PublicationNarratorTests testToBook_WithoutNarrator_BookHasNilNarrators 6ms
โœ… OPDS2PublicationTests testPublication_hasRequiredFields 15.48s
โœ… OPDS2PublicationTests testPublication_metadataHasTitle 124ms
โœ… OPDS2SamlIDPTests testDisplayName_WithEnglishName_ReturnsEnglishValue 5ms
โœ… OPDS2SamlIDPTests testDisplayName_WithNoEnglishName_ReturnsNil 2ms
โœ… OPDS2SamlIDPTests testIdpDescription_WithEnglishDescription_ReturnsValue 6ms
โœ… OPDS2SamlIDPTests testIdpDescription_WithNoDescriptions_ReturnsNil 3ms
โœ… OPDS2SamlIDPTests testInit_WithInvalidHref_ReturnsNil 2ms
โœ… OPDS2SamlIDPTests testInit_WithValidLink_MapsURLCorrectly 4ms
โœ… OPDS2SearchResultsContractTests testSearchResults_ContainsThreePublications 5ms
โœ… OPDS2SearchResultsContractTests testSearchResults_HasNextPageLink 17ms
โœ… OPDS2SearchResultsContractTests testSearchResults_ParsesWithPagination 5ms
โœ… OPDS2SubjectTests testDecode_ObjectValue_ParsesAllFields 116ms
โœ… OPDS2SubjectTests testDecode_StringValue_ParsesAsName 3ms
โœ… OPDS2SupportingTypesTests testBelongsTo_SeriesWithPosition 11ms
โœ… OPDS2SupportingTypesTests testFacetLink_IsActive_WithNumberOfItems_ReturnsTrue 2ms
โœ… OPDS2SupportingTypesTests testFacetLink_IsActive_WithoutProperties_ReturnsFalse 4ms
โœ… OPDS2SupportingTypesTests testIndirectAcquisition_NestedChild 8ms
โœ… OPDS2SupportingTypesTests testPrice_CodableRoundTrip 5ms
โœ… OPDSAcquisitionPathExpandedTests test_acquisitionFromSingleEntry_hasDictionaryRepresentation 4ms
โœ… OPDSAcquisitionPathExpandedTests test_acquisitionRelationString_distinctStringsForOpenAccessAndBorrow 4ms
โœ… OPDSAcquisitionPathExpandedTests test_entryFromSingleEntryXML_hasAuthors 4ms
โœ… OPDSAcquisitionPathExpandedTests test_entryFromSingleEntryXML_hasCorrectTitle 3ms
โœ… OPDSAcquisitionPathExpandedTests test_entryFromSingleEntryXML_hasIdentifier 3ms
โœ… OPDSAcquisitionPathExpandedTests test_entryInitWithInvalidXML_returnsNil 3ms
โœ… OPDSAcquisitionPathExpandedTests test_feedFromMainXML_hasEntries 105ms
โœ… OPDSAcquisitionPathExpandedTests test_feedFromMainXML_hasIdentifier 89ms
โœ… OPDSAcquisitionPathExpandedTests test_feedFromMainXML_hasLinks 106ms
โœ… OPDSAcquisitionPathExpandedTests test_feedFromMainXML_hasTitle 86ms
โœ… OPDSAcquisitionPathExpandedTests test_feedFromMainXML_hasUpdatedDate 107ms
โœ… OPDSAcquisitionPathExpandedTests test_initWithNilXML_returnsNilOnFeedAndLink 3ms
โœ… OPDSAcquisitionPathExpandedTests test_linkFromSingleEntryXML_hasHref 3ms
โœ… OPDSAcquisitionPathExpandedTests test_linksFromSingleEntryXML_haveCorrectCount 31ms
โœ… OPDSAcquisitionPathExpandedTests test_supportedTypes_andAudiobookTypes_areNonEmptyAndDistinguishable 3ms
โœ… OPDSFeedCacheTests testCacheEntryIsExpired 6ms
โœ… OPDSFeedCacheTests testCacheEntryIsStale 4ms
โœ… OPDSFeedCacheTests testClear 5ms
โœ… OPDSFeedCacheTests testConditionalHeaders 2ms
โœ… OPDSFeedCacheTests testConditionalHeadersEmptyWhenNoCachedEntry 3ms
โœ… OPDSFeedCacheTests testExpiredEntriesNotReturned 16ms
โœ… OPDSFeedCacheTests testGetNonExistent 2ms
โœ… OPDSFeedCacheTests testGetWithRevalidationFetchesWhenNoCache 3ms
โœ… OPDSFeedCacheTests testGetWithRevalidationReturnsFreshData 16ms
โœ… OPDSFeedCacheTests testLRUEviction 4ms
โœ… OPDSFeedCacheTests testLRUUpdatesOnAccess 6ms
โœ… OPDSFeedCacheTests testRemove 5ms
โœ… OPDSFeedCacheTests testSetAndGet 6ms
โœ… OPDSFeedCacheTests testStats 2ms
โœ… OPDSFeedMigrationTests testErrorMessageFallback_noDetail_usesLocalizedDescription 31ms
โœ… OPDSFeedMigrationTests testErrorMessageFallback_problemDocDetail 2ms
โœ… OPDSFeedMigrationTests testHalfSheetProvider_showAlert_exists 5ms
โœ… OPDSFeedMigrationTests testReturnBook_authErrors_notTolerated 9ms
โœ… OPDSFeedMigrationTests testReturnBook_nonOPDSRevokeResponse_treatedAsSuccess 2ms
โœ… OPDSFeedMigrationTests testReturnBook_otherParsingErrors_notTolerated 8ms
โœ… OPDSFeedMigrationTests testSignInModalPresenter_needsAuthCheck_anonymousReturnsFalse 4ms
โœ… OPDSFeedMigrationTests testSignInModalPresenter_needsAuthCheck_basicReturnsTrue 8ms
โœ… OPDSFeedMigrationTests testSignInModalPresenter_needsAuthCheck_oidcReturnsTrue 17ms
โœ… OPDSFeedMigrationTests testSyntheticErrorDict_containsHTTPStatus 2ms
โœ… OPDSFeedMigrationTests testSyntheticErrorDict_parsesAsProblemDocument 2ms
โœ… OPDSFeedParsingTests testParseInvalidOPDSFeed 4ms
โœ… OPDSFeedParsingTests testParseValidOPDSFeed 215ms
โœ… OPDSFeedServiceTests testCancelAllRequests_isNoOpAndIdempotent_whenNothingInFlight 9ms
โœ… OPDSFeedServiceTests testCancelRequest_isNoOpAndIdempotent_whenNoInflightRequestForUrl 3ms
โœ… OPDSFormatTests testDetectIsCaseInsensitive 2ms
โœ… OPDSFormatTests testDetectOPDS1FromAtomXMLContentType 3ms
โœ… OPDSFormatTests testDetectOPDS1FromGenericXMLContentType 2ms
โœ… OPDSFormatTests testDetectOPDS1FromXMLData 3ms
โœ… OPDSFormatTests testDetectOPDS2FromGenericJSONContentType 4ms
โœ… OPDSFormatTests testDetectOPDS2FromJSONArrayData 2ms
โœ… OPDSFormatTests testDetectOPDS2FromJSONContentType 6ms
โœ… OPDSFormatTests testDetectOPDS2FromJSONData 4ms
โœ… OPDSFormatTests testDetectUnknownFromEmptyData 4ms
โœ… OPDSFormatTests testDetectUnknownFromNilContentType 3ms
โœ… OPDSFormatTests testDetectUnknownFromUnrelatedContentType 4ms
โœ… OPDSFormatTests testOPDS1RawValue 2ms
โœ… OPDSFormatTests testOPDS2RawValue 5ms
โœ… OPDSParserCoreTests testParseEmptyDataThrows 5ms
โœ… OPDSParserCoreTests testParseInvalidXMLThrows 4ms
โœ… OPDSParserCoreTests testParseValidOPDS1Feed 5ms
โœ… OPDSParserCoreTests testParserErrorDescriptions 3ms
โœ… OPDSParserTests testParseFeed_throwsForInvalidData 4ms
โœ… OPDSParserTests testParseFeed_throwsForNonXML 2ms
โœ… OPDSParserTests testParserError_invalidFeed 2ms
โœ… OPDSParserTests testParserError_invalidXML 2ms
โœ… OPDSParsingTests testAcquisitionLinks 8ms
โœ… OPDSParsingTests testAnalyticsURLGeneration 6ms
โœ… OPDSParsingTests testAuthorWithMissingName 7ms
โœ… OPDSParsingTests testCategoryWithMissingTerm 6ms
โœ… OPDSParsingTests testEmptyXMLData 4ms
โœ… OPDSParsingTests testEntryExtractionFromFeed 9ms
โœ… OPDSParsingTests testEntryWithCategories 5ms
โœ… OPDSParsingTests testEntryWithContributors 7ms
โœ… OPDSParsingTests testEntryWithDuration 3ms
โœ… OPDSParsingTests testEntryWithMissingId 5ms
โœ… OPDSParsingTests testEntryWithMissingTitle 3ms
โœ… OPDSParsingTests testEntryWithMissingUpdated 4ms
โœ… OPDSParsingTests testEntryWithMultipleAuthors 5ms
โœ… OPDSParsingTests testEntryWithNamespacedContributorRoles_ParsesNarrator 7ms
โœ… OPDSParsingTests testEntryWithPublisherAndDistribution 10ms
โœ… OPDSParsingTests testEntryWithUnnamespacedContributorRole_StillParses 804ms
โœ… OPDSParsingTests testEntry_AudienceAndLanguageNilWhenAbsent 12ms
โœ… OPDSParsingTests testEntry_AudienceCategoryIsNotInRegularCategoryList 6ms
โœ… OPDSParsingTests testEntry_ParsesAudienceFromSchemaOrgCategory 5ms
โœ… OPDSParsingTests testEntry_ParsesLanguageWithDctermsNamespace 4ms
โœ… OPDSParsingTests testEntry_ParsesLanguageWithoutNamespaceDeclaration 6ms
โœ… OPDSParsingTests testFeedIgnoresMalformedEntries 6ms
โœ… OPDSParsingTests testFeedIgnoresMalformedLinks 50ms
โœ… OPDSParsingTests testFeedInitializationFromCompleteFeed 18ms
โœ… OPDSParsingTests testFeedInitializationFromMinimalXML 3ms
โœ… OPDSParsingTests testFeedInitializationFromSingleEntry 11ms
โœ… OPDSParsingTests testFeedParsingPerformance 4.88s
โœ… OPDSParsingTests testFeedTypeAcquisitionGrouped 4ms
โœ… OPDSParsingTests testFeedTypeAcquisitionUngrouped 8ms
โœ… OPDSParsingTests testFeedTypeAcquisitionUngroupedWithEmptyFeed 5ms
โœ… OPDSParsingTests testFeedTypeNavigation 10ms
โœ… OPDSParsingTests testFeedWithInvalidDate 6ms
โœ… OPDSParsingTests testFeedWithLicensorAndPatron 7ms
โœ… OPDSParsingTests testFeedWithMissingId 4ms
โœ… OPDSParsingTests testFeedWithMissingTitle 7ms
โœ… OPDSParsingTests testFeedWithMissingUpdated 16ms
โœ… OPDSParsingTests testGroupAttributes 9ms
โœ… OPDSParsingTests testHTMLEntityDecoding 4ms
โœ… OPDSParsingTests testImageLinks 5ms
โœ… OPDSParsingTests testLinkInitialization 9ms
โœ… OPDSParsingTests testLinkRelationAlternate 8ms
โœ… OPDSParsingTests testLinkRelationAnnotations 7ms
โœ… OPDSParsingTests testLinkRelationRelatedWorks 6ms
โœ… OPDSParsingTests testLinkRelationTimeTracking 9ms
โœ… OPDSParsingTests testLinkWithMissingHref 3ms
โœ… OPDSParsingTests testLinkWithOptionalAttributesNil 4ms
โœ… OPDSParsingTests testMalformedXML 3ms
โœ… OPDSParsingTests testNilXMLFeed 4ms
โœ… OPDSParsingTests testNonMarketplaceHTMLPreviewIsAccepted 5ms
โœ… OPDSParsingTests testPalaceMarketplaceHTMLPreviewIsAccepted 6ms
โœ… OPDSParsingTests testPreviewLinkParsing 7ms
โœ… OPDSParsingTests testPreviewLinkUsesFirstAvailable 4ms
โœ… OPDSParsingTests testRFC3339DateParsing 5ms
โœ… OPDSParsingTests testSeriesLink 9ms
โœ… OfflineActionTests testActionState_CodableRoundTrip 3ms
โœ… OfflineActionTests testActionType_CodableRoundTrip 5ms
โœ… OfflineActionTests testBorrowAction_Creation 9ms
โœ… OfflineActionTests testCanRetry_CompletedState_False 2ms
โœ… OfflineActionTests testCanRetry_FailedExceedingMaxRetries_False 3ms
โœ… OfflineActionTests testCanRetry_FailedWithRetriesExhausted_False 3ms
โœ… OfflineActionTests testCanRetry_FailedWithRetriesRemaining_True 6ms
โœ… OfflineActionTests testCanRetry_PendingState_False 3ms
โœ… OfflineActionTests testCanRetry_ProcessingState_False 3ms
โœ… OfflineActionTests testCanRetry_ZeroMaxRetries_AlwaysFalse 4ms
โœ… OfflineActionTests testCancelHoldAction_Creation 3ms
โœ… OfflineActionTests testCodableRoundTrip_AllActionTypes 3ms
โœ… OfflineActionTests testCodableRoundTrip_FailedAction 29ms
โœ… OfflineActionTests testCodableRoundTrip_PendingAction 3ms
โœ… OfflineActionTests testCustomMaxRetries 2ms
โœ… OfflineActionTests testDisplayDescription_Borrow 2ms
โœ… OfflineActionTests testDisplayDescription_CancelHold 2ms
โœ… OfflineActionTests testDisplayDescription_Hold 3ms
โœ… OfflineActionTests testDisplayDescription_Return 3ms
โœ… OfflineActionTests testEquality_DifferentID_NotEqual 3ms
โœ… OfflineActionTests testEquality_SameID_Equal 3ms
โœ… OfflineActionTests testHoldAction_Creation 3ms
โœ… OfflineActionTests testNextRetryDelay_FirstRetry 206ms
โœ… OfflineActionTests testNextRetryDelay_FourthRetry 3ms
โœ… OfflineActionTests testNextRetryDelay_GrowsExponentially 2ms
โœ… OfflineActionTests testNextRetryDelay_SecondRetry 4ms
โœ… OfflineActionTests testNextRetryDelay_ThirdRetry 359ms
โœ… OfflineActionTests testRetryCount_IncrementWorks 3ms
โœ… OfflineActionTests testReturnAction_Creation 2.14s
โœ… OfflineQueueServiceExtendedTests testCancel_NonexistentAction_NoOp 12ms
โœ… OfflineQueueServiceExtendedTests testCancel_SpecificPendingAction 6ms
โœ… OfflineQueueServiceExtendedTests testClearFailed_RemovesOnlyFailedActions 519ms
โœ… OfflineQueueServiceExtendedTests testIsProcessing_InitiallyFalse 3ms
โœ… OfflineQueueServiceExtendedTests testMaxRetriesReached_ActionMarkedAsFailed 3.04s
โœ… OfflineQueueServiceExtendedTests testPersistence_ProcessingState_ResetToPending 13ms
โœ… OfflineQueueServiceExtendedTests testPersistence_SaveAndReload 8ms
โœ… OfflineQueueServiceExtendedTests testProcessQueue_FIFO_Order 515ms
โœ… OfflineQueueServiceExtendedTests testQueueStatus_EmptyQueue 5ms
โœ… OfflineQueueServiceExtendedTests testQueueStatus_Summary_AllStates 3ms
โœ… OfflineQueueServiceExtendedTests testQueueStatus_TotalActive 2ms
โœ… OfflineQueueServiceExtendedTests testQueueStatus_WithPendingActions 9ms
โœ… OfflineQueueServiceExtendedTests testRetry_MovesFailedToPending 1.05s
โœ… OfflineQueueServiceTests testActionPublisherEmits 12ms
โœ… OfflineQueueServiceTests testCancelPendingAction 9ms
โœ… OfflineQueueServiceTests testClearFailed 210ms
โœ… OfflineQueueServiceTests testEnqueueAction 108ms
โœ… OfflineQueueServiceTests testEnqueueMultipleActions 7ms
โœ… OfflineQueueServiceTests testExponentialBackoff 14ms
โœ… OfflineQueueServiceTests testMaxRetriesExceeded 1.03s
โœ… OfflineQueueServiceTests testNetworkAvailableTriggersProcessing 215ms
โœ… OfflineQueueServiceTests testOfflineActionCanRetry 7ms
โœ… OfflineQueueServiceTests testOfflineActionDisplayDescription 6ms
โœ… OfflineQueueServiceTests testOfflineQueueStatusSummary 4ms
โœ… OfflineQueueServiceTests testProcessQueueFIFOOrder 218ms
โœ… OfflineQueueServiceTests testProcessQueueSuccess 116ms
โœ… OfflineQueueServiceTests testProcessingStateResetOnRestart 8ms
โœ… OfflineQueueServiceTests testQueuePersistsAcrossInstances 11ms
โœ… OfflineQueueServiceTests testRetryFailedAction 5.08s
โœ… OfflineQueueServiceTests testStatusPublisherEmits 43ms
โœ… OverdriveDeferredFulfillmentTests testDeferFires_whenDownloadFailedWithBorrowAcquisition 64ms
โœ… OverdriveDeferredFulfillmentTests testDeferFires_whenDownloadNeededWithBorrowAcquisition 2ms
โœ… OverdriveDeferredFulfillmentTests testDeferSkipped_whenDefaultAcquisitionIsGeneric 2ms
โœ… OverdriveDeferredFulfillmentTests testDeferSkipped_whenDefaultAcquisitionIsOpenAccess 5ms
โœ… OverdriveDeferredFulfillmentTests testDeferSkipped_whenStateIsHolding 2ms
โœ… OverdriveDeferredFulfillmentTests testDeferSkipped_whenStateIsUnregistered 2ms
โœ… OverdriveDownloadHandlerTests testDeferOverdriveFulfillment_publishesLoanAlreadyExistsBorrowError 32ms
โœ… OverdriveDownloadHandlerTests testHandleOverdriveResponse_completionWithError_failsDownloadAndSkipsManifestBuild 32ms
โœ… OverdriveDownloadHandlerTests testHandleOverdriveResponse_manifestFactoryReturnsNil_failsDownload 40ms
โœ… OverdriveDownloadHandlerTests testHandleOverdriveResponse_missingLocationHeader_failsDownload 72ms
โœ… OverdriveDownloadHandlerTests testHandleOverdriveResponse_uppercaseHeaderKeys_arelowercaseNormalized 6ms
โœ… OverdriveDownloadHandlerTests testHandleOverdriveResponse_validHeaders_buildsManifestRequestAndAddsDownloadTask 8ms
โœ… OverdriveDownloadHandlerTests testProcessOverdriveDownload_whenWifiEnforced_failsWithWifiAndDoesNotCallAPI 5ms
โœ… OverdriveDownloadHandlerTests testProcessOverdriveDownload_withAuthToken_issuesTokenFulfillRequest 6ms
โœ… OverdriveDownloadHandlerTests testProcessOverdriveDownload_withBarcodePin_issuesBasicFulfillRequest 8ms
โœ… PDFExtensionsTests testBookmarkSelector_RoundTrips_AsTPPPDFPageBookmark 7ms
โœ… PDFExtensionsTests testBookmarkSelector_ValidPage_ContainsLocatorPageType 3ms
โœ… PDFExtensionsTests testLocationString_PageZero_ReturnsValidJSON 5ms
โœ… PDFExtensionsTests testLocationString_RoundTrips_WithDecoder 3ms
โœ… PDFExtensionsTests testLocationString_ValidPage_ReturnsJSONString 4ms
โœ… PDFExtensionsTests testPageNumber_EmptyLocationString_ReturnsNil 2ms
โœ… PDFExtensionsTests testPageNumber_InvalidLocationString_ReturnsNil 2ms
โœ… PDFExtensionsTests testPageNumber_LargePageNumber_ReturnsCorrectly 2ms
โœ… PDFExtensionsTests testPageNumber_NonPDFLocationString_ReturnsNil 2ms
โœ… PDFExtensionsTests testPageNumber_PageZero_ReturnsZero 2ms
โœ… PDFExtensionsTests testPageNumber_ValidLocationString_ReturnsPageNumber 3ms
โœ… PDFExtensionsTests testPdfImageRenderingQueue_CreatesNewInstanceEachTime 4ms
โœ… PDFExtensionsTests testPdfImageRenderingQueue_HasCorrectLabel 84ms
โœ… PDFExtensionsTests testPdfPreviewSize_IsLargerThanThumbnail 2ms
โœ… PDFExtensionsTests testPdfPreviewSize_IsSquare 3ms
โœ… PDFExtensionsTests testPdfPreviewSize_ReturnsExpectedDimensions 4ms
โœ… PDFExtensionsTests testPdfThumbnailRenderingQueue_CreatesNewInstanceEachTime 5ms
โœ… PDFExtensionsTests testPdfThumbnailRenderingQueue_HasCorrectLabel 2ms
โœ… PDFExtensionsTests testPdfThumbnailSize_IsSquare 2ms
โœ… PDFExtensionsTests testPdfThumbnailSize_ReturnsExpectedDimensions 2ms
โœ… PDFReaderTests testLCPPDFBook_ContentType 6ms
โœ… PDFReaderTests testPDFBook_ContentType 7ms
โœ… PDFReaderTests testPDFPageBookmark_ConformsToBookmark 4ms
โœ… PDFReaderTests testPDFPageBookmark_Decoding 2ms
โœ… PDFReaderTests testPDFPageBookmark_Encoding 4ms
โœ… PDFReaderTests testPDFPageBookmark_Initialization 2ms
โœ… PDFReaderTests testPDFPageBookmark_WithAnnotationID 6ms
โœ… PDFReaderTests testPDFPage_Decoding 7ms
โœ… PDFReaderTests testPDFPage_Encoding 11ms
โœ… PDFReaderTests testPDFPage_Initialization 2ms
โœ… PDFReaderTests testPDFPage_RoundTrip 2ms
โœ… PDFReaderTests testReaderMode_Values 2ms
โœ… PP3596RegressionTests testPP3596_multiplePlaybackStartedCalls_shouldNotOvercount 23ms
โœ… PP3596RegressionTests testPP3596_onlyActualPlaybackIsTracked 23ms
โœ… PP3596RegressionTests testPP3596_playbackStartedWithoutPlayback_shouldNotAccumulateTime 14ms
โŒ Palace PalaceTests <1ms
โœ… Palace TenPrintCoverTests <1ms
โœ… PalaceCheckPropertyTests test_BackoffDelay_isNonNegativeAndMonotone 4ms
โœ… PalaceCheckPropertyTests test_BookButtonMapper_map_isTotal_forAllStates 3ms
โœ… PalaceCheckPropertyTests test_OPDS2Publication_jsonRoundTrip 19ms
โœ… PalaceCheckPropertyTests test_TPPBookState_disallowedTransitionsAreRejected 3ms
โœ… PalaceCheckPropertyTests test_TPPBookState_selfTransitionsAlwaysAllowed 2ms
โœ… PalaceCheckPropertyTests test_TPPBookState_unregisteredToDownloadingAllowed 2ms
โœ… PalaceCheckPropertyTests test_TPPBookState_validSequencesRespectTable 12ms
โœ… PalaceCheckPropertyTests test_TPPBook_dictionaryRoundTrip 170ms
โœ… PalaceErrorCategoryTests testAuthenticationError_allCases_haveDescriptions 2ms
โœ… PalaceErrorCategoryTests testBookReaderError_allCases_haveDescriptions 5ms
โœ… PalaceErrorCategoryTests testDownloadError_allCases_haveDescriptions 36ms
โœ… PalaceErrorCategoryTests testErrorCode_authErrors_startAt6000 1ms
โœ… PalaceErrorCategoryTests testErrorCode_downloadErrors_startAt3000 58ms
โœ… PalaceErrorCategoryTests testErrorCode_drmErrors_startAt5000 1ms
โœ… PalaceErrorCategoryTests testErrorCode_networkErrors_startAt1000 2ms
โœ… PalaceErrorCategoryTests testErrorCode_uniquePerCase 3ms
โœ… PalaceErrorCategoryTests testFromNSError_unknownDomain_mapsToNetworkUnknown 6ms
โœ… PalaceErrorCategoryTests testFromNSError_urlErrorCancelled_mapsToCancelled 4ms
โœ… PalaceErrorCategoryTests testFromNSError_urlErrorNotConnected_mapsToNoConnection 12ms
โœ… PalaceErrorCategoryTests testFromNSError_urlErrorTimedOut_mapsToTimeout 2ms
โœ… PalaceErrorCategoryTests testLocalizedError_conformance 3ms
โœ… PalaceErrorCategoryTests testNetworkError_allCases_haveDescriptions 5ms
โœ… PalaceErrorCategoryTests testRecoverySuggestion_downloadInsufficientSpace 2ms
โœ… PalaceErrorCategoryTests testRecoverySuggestion_networkErrors_provideGuidance 4ms
โœ… PalaceErrorCategoryTests testStorageError_allCases_haveDescriptions 63ms
โœ… PalaceErrorExtendedTests testAudiobookError_allCases_haveDescriptions 2ms
โœ… PalaceErrorExtendedTests testAudiobookError_allCases_haveRecoverySuggestions 19ms
โœ… PalaceErrorExtendedTests testBookRegistryError_allCases_haveDescriptions 3ms
โœ… PalaceErrorExtendedTests testBookRegistryError_allCases_haveRecoverySuggestions 54ms
โœ… PalaceErrorExtendedTests testCancellation_yieldsNoRecoverySuggestionAcrossNetworkAndDownload 2ms
โœ… PalaceErrorExtendedTests testDRMError_allCases_haveDescriptions 2ms
โœ… PalaceErrorExtendedTests testDRMError_allCases_haveRecoverySuggestions 2ms
โœ… PalaceErrorExtendedTests testErrorCode_categoryOffsetsAreUniqueAndStable 2ms
โœ… PalaceErrorExtendedTests testErrorCode_offsetByRawValue 1ms
โœ… PalaceErrorExtendedTests testFromError_palaceErrorPassedDirectly_returnsItself 1ms
โœ… PalaceErrorExtendedTests testFromNSError_palaceDomain_code0_mapsToNetworkUnknown 2ms
โœ… PalaceErrorExtendedTests testFromNSError_palaceDomain_code3_mapsToParsingOpdsFeedInvalid 2ms
โœ… PalaceErrorExtendedTests testFromNSError_palaceDomain_code5_mapsToAuthInvalidCredentials 2ms
โœ… PalaceErrorExtendedTests testFromNSError_palaceDomain_code8_mapsToAudiobookPlaybackError 2ms
โœ… PalaceErrorExtendedTests testFromNSError_palaceDomain_unknownCode_mapsToNetworkUnknown 1ms
โœ… PalaceErrorExtendedTests testFromNSError_urlErrorBadURL_mapsToInvalidURL 1ms
โœ… PalaceErrorExtendedTests testFromNSError_urlErrorCannotConnectToHost_mapsToServerError 2ms
โœ… PalaceErrorExtendedTests testFromNSError_urlErrorCannotFindHost_mapsToServerError 2ms
โœ… PalaceErrorExtendedTests testFromNSError_urlErrorUnsupportedURL_mapsToInvalidURL 2ms
โœ… PalaceErrorExtendedTests testPalaceError_localizedErrorSurface_delegatesToInnerError 3ms
โœ… PalaceErrorExtendedTests testParsingError_allCases_haveDescriptions 2ms
โœ… PalaceErrorExtendedTests testParsingError_contentNotSupported_hasSpecificRecovery 27ms
โœ… PalaceErrorExtendedTests testParsingError_otherCases_haveGenericRecovery 1ms
โœ… PalaceErrorTests testPalaceError_authentication_accountNotFound 6ms
โœ… PalaceErrorTests testPalaceError_authentication_invalidCredentials 3ms
โœ… PalaceErrorTests testPalaceError_authentication_tokenExpired 2ms
โœ… PalaceErrorTests testPalaceError_bookRegistry_alreadyBorrowed 2ms
โœ… PalaceErrorTests testPalaceError_bookRegistry_bookNotFound 7ms
โœ… PalaceErrorTests testPalaceError_download_cannotFulfill 12ms
โœ… PalaceErrorTests testPalaceError_network_forbidden 2ms
โœ… PalaceErrorTests testPalaceError_network_notFound 2ms
โœ… PalaceErrorTests testPalaceError_network_rateLimited 3ms
โœ… PalaceErrorTests testPalaceError_network_serverError 6ms
โœ… PalaceErrorTests testPalaceError_parsing_opdsFeedInvalid 6ms
โœ… ParserFuzzTests testFuzz_AnnotationsResponse_NoCrashes 4.83s
โœ… ParserFuzzTests testFuzz_LCPLicense_NoCrashes 79ms
โœ… ParserFuzzTests testFuzz_OPDS1XML_NoCrashes 498ms
โœ… ParserFuzzTests testFuzz_OPDS2JSON_NoCrashes 48.04s
โœ… PatronProfileContractTests testParsePatronProfile_ExtractsDRMInfo 3ms
โœ… PatronProfileContractTests testParsePatronProfile_ExtractsSettings 3ms
โœ… PatronProfileContractTests testParsePatronProfile_HasAnnotationAndDeviceLinks 35ms
โœ… PatronProfileContractTests testParsePatronProfile_HasExpirationDate 3ms
โœ… PerformanceMonitorTests testClearAll 4ms
โœ… PerformanceMonitorTests testEmptyReport 3ms
โœ… PerformanceMonitorTests testEndTimingSameTokenTwice 4ms
โœ… PerformanceMonitorTests testEndTimingWithInvalidToken 5ms
โœ… PerformanceMonitorTests testGenerateReport 4ms
โœ… PerformanceMonitorTests testMaxMetricsPerCategoryEnforced 5ms
โœ… PerformanceMonitorTests testMetricPublisherEmits 11ms
โœ… PerformanceMonitorTests testMetricsGroupedByCategory 5ms
โœ… PerformanceMonitorTests testPercentileCalculations 8ms
โœ… PerformanceMonitorTests testRecordDurationDirectly 5ms
โœ… PerformanceMonitorTests testRecordMetricDirectly 4ms
โœ… PerformanceMonitorTests testReportByName 3ms
โœ… PerformanceMonitorTests testReportSummaryFormat 4ms
โœ… PerformanceMonitorTests testStartAndEndTiming 62ms
โœ… PerformanceReportTests testEmptyMetrics_ReturnsZeros 25ms
โœ… PerformanceReportTests testLargeDataset_PercentileAccuracy 18ms
โœ… PerformanceReportTests testMinMaxMean 2ms
โœ… PerformanceReportTests testMinMaxMean_UnsortedInput 2ms
โœ… PerformanceReportTests testPercentile_P50_EvenCount 3ms
โœ… PerformanceReportTests testPercentile_P50_OddCount 2ms
โœ… PerformanceReportTests testPercentile_P95 2ms
โœ… PerformanceReportTests testPercentile_P99 3ms
โœ… PerformanceReportTests testReport_EmptyMonitor_ZeroMeasurements 4ms
โœ… PerformanceReportTests testReport_StatisticsByCategory 6ms
โœ… PerformanceReportTests testReport_StatisticsByName 12ms
โœ… PerformanceReportTests testReport_SummaryContainsMeasurementCount 2ms
โœ… PerformanceReportTests testReport_TotalMeasurements 4ms
โœ… PerformanceReportTests testSingleMetric_AllPercentilesEqual 3ms
โœ… PersistentLoggerTests testLog_andRetrieve_containsLoggedMessage 13ms
โœ… PersistentLoggerTests testLog_containsTimestamp 4ms
โœ… PersistentLoggerTests testLog_errorLevel_isRecorded 9ms
โœ… PersistentLoggerTests testLog_faultLevel_isRecorded 5ms
โœ… PersistentLoggerTests testLog_multipleEntries_allAppear 27ms
โœ… PersistentLoggerTests testRetrieveAllLogs_returnsString 6ms
โœ… PersistentLoggerTests testShared_returnsSameInstance 6ms
โœ… PlaybackBootstrapperTests testAudiobookSessionManager_InitialState_IsIdle 3ms
โœ… PlaybackBootstrapperTests testAudiobookSessionState_ErrorIsNotActive 2ms
โœ… PlaybackBootstrapperTests testAudiobookSessionState_IdleIsNotActive 2ms
โœ… PlaybackBootstrapperTests testAudiobookSessionState_LoadingIsActive 5ms
โœ… PlaybackBootstrapperTests testAudiobookSessionState_PausedIsActive 2ms
โœ… PlaybackBootstrapperTests testAudiobookSessionState_PlayingIsActive 8ms
โœ… PlaybackBootstrapperTests testPlaybackBootstrapper_ConfiguresRemoteCommandCenter 4ms
โœ… PlaybackBootstrapperTests testPlaybackBootstrapper_SkipIntervals_AreConfigured 7ms
โœ… PlaybackRateTests testConvert_IntermediateCases_ReturnCorrectMultipliers 2ms
โœ… PlaybackRateTests testConvert_PresetCases_ReturnCorrectMultipliers 3ms
โœ… PlaybackRateTests testFormatMultiplier_OneDecimalPlace_ShowsOneDecimalPlace 4ms
โœ… PlaybackRateTests testFormatMultiplier_TwoDecimalPlaces_ShowsTwoDecimalPlaces 7ms
โœ… PlaybackRateTests testFormatMultiplier_WholeNumber_ShowsOneDecimalPlace 2ms
โœ… PlaybackRateTests testFormatMultiplier_allStepsProduceLabelEndingWithMultiplySign 109ms
โœ… PlaybackRateTests testNearest_ExactIntermediateValues_ReturnExactCase 6ms
โœ… PlaybackRateTests testNearest_ExactPresetValues_ReturnExactCase 4ms
โœ… PlaybackRateTests testNearest_ValueBetweenSteps_SnapsToNearest 4ms
โœ… PlaybackRateTests testNearest_clampsOutOfRangeValuesToBounds 9ms
โœ… PlaybackRateTests testPresets_ContainsAllNamedRates 3ms
โœ… PlaybackRateTests testPresets_DoesNotContainIntermediateCases 2ms
โœ… PlaybackRateTests testPresets_isExactly_ThreeQuarters_Normal_OneAndAQuarter_OneAndAHalf_Double 4ms
โœ… PlaybackRateTests testSteps_isMonotonicLadderFromThreeQuartersToDoubleIn0Point05Increments 5ms
โœ… PlaybackTrackingRegressionTests testMultiplePlaybackStartedCalls_doesNotOvercount 103ms
โœ… PlaybackTrackingRegressionTests testMultipleStopStartCycles_preservesAllTime 74ms
โœ… PlaybackTrackingRegressionTests testPlaybackStopped_savesAccumulatedTime 32ms
โœ… PlaybackTrackingRegressionTests testRapidStartStopCycles_countsCorrectly 137ms
โœ… PlaybackTrackingRegressionTests testSleepTimerPause_savesAllAccumulatedTime 26ms
โœ… PositionPersistenceLogicTests testCriticalSave_onTermination_mustBypassSuppression 4ms
โœ… PositionPersistenceLogicTests testNewPersistLocation_bypassesSuppression 2ms
โœ… PositionPersistenceLogicTests testNoSuppression_allowsSave 2ms
โœ… PositionPersistenceLogicTests testOldBehavior_suppressionBlocksSave 2ms
โœ… PositionPersistenceLogicTests testSuppressionExpired_allowsSave 3ms
โœ… PositionPersistenceLogicTests testSuppressionWindow_threeSeconds_blocksAndThenAllows 2ms
โœ… PositionPersistenceTests testBookRegistry_setLocation_updatesPosition 22ms
โœ… PositionPersistenceTests testBookRegistry_storesLocation 2ms
โœ… PositionSyncServiceTests testClearAll 5ms
โœ… PositionSyncServiceTests testClearPositionsForBook 4ms
โœ… PositionSyncServiceTests testLatestPositionAnyFormat 17ms
โœ… PositionSyncServiceTests testNoSyncOfferForUnknownBook 4ms
โœ… PositionSyncServiceTests testNoSyncOfferWhenCurrentFormatIsMoreRecent 16ms
โœ… PositionSyncServiceTests testPersistenceAcrossInstances 12ms
โœ… PositionSyncServiceTests testPositionRecordedEventPublished 10ms
โœ… PositionSyncServiceTests testRecordAudiobookPosition 24ms
โœ… PositionSyncServiceTests testRecordEpubPosition 13ms
โœ… PositionSyncServiceTests testRecordPdfPosition 10ms
โœ… PositionSyncServiceTests testSetAndRetrieveMapping 14ms
โœ… PositionSyncServiceTests testSyncAvailableEventPublished 6ms
โœ… PositionSyncServiceTests testSyncOfferWhenOtherFormatIsMoreRecent 5ms
โœ… PositionSyncTests testSyncIsPossibleAndPermitted_checksSyncState 5ms
โœ… PositionSyncTests testTPPBookLocation_creation 3ms
โœ… PositionSyncTests testTPPBookLocation_equality 4ms
โœ… PositionSyncTests testTPPBookLocation_withEmptyString_createsLocation 5ms
โœ… PositionSyncTests testTPPBookmarkR3Location_storesResourceIndex 5ms
โœ… PositionThrottlingTests testPoster_rapidPositionUpdates_throttlesUploads 6ms
โœ… PostUpdateMigrationTests testMigrate_doesNotCrash 18ms
โœ… PostUpdateMigrationTests testMigrate_updatesStoredVersion 18ms
โœ… PostUpdateMigrationTests testPostUpdateDetection_differentBuild_isDetected 5ms
โœ… PostUpdateMigrationTests testPostUpdateDetection_firstLaunch_isNotUpdate 6ms
โœ… PostUpdateMigrationTests testPostUpdateDetection_sameBuild_isNotDetected 10ms
โœ… ProblemDocumentContractTests testAllProblemDocuments_Parse 5ms
โœ… ProblemDocumentContractTests testAllProblemTypes_HaveDistinctTypeURIs 4ms
โœ… ProblemDocumentContractTests testInvalidCredentials_HasExpectedShape 4ms
โœ… ProblemDocumentContractTests testLoanLimitReached_HasExpectedShape 3ms
โœ… ProblemDocumentLoanExpiryTests testDetailLoanTermLimitReached_detectedInRealServerDetail 2ms
โœ… ProblemDocumentLoanExpiryTests testDetailLoanTermLimitReached_hasExpectedValue 2ms
โœ… ProblemDocumentLoanExpiryTests testDetailLoanTermLimitReached_notDetectedInUnrelatedDetail 42ms
โœ… ProblemDocumentLoanExpiryTests testLoanTermLimitReached_detectedFromErrorDictionary 6ms
โœ… ProblemDocumentLoanExpiryTests testNoActiveLoan_doesNotMatchTermLimitCheck 2ms
โœ… ProblemDocumentTests testBorrowError_credentialsSuspended_extractsDetails 2ms
โœ… ProblemDocumentTests testBorrowError_loanLimitReached_extractsDetails 2ms
โœ… ProblemDocumentTests testNSError_problemDocument_extractsCorrectly 3ms
โœ… ProblemDocumentTests testNSError_withoutProblemDocument_hasNilProperties 2ms
โœ… ProblemDocumentTests testProblemDocumentTypes_areCorrect 2ms
โœ… ProblemDocumentTests testProblemDocument_fromData_parsesCorrectly 3ms
โœ… ProblemDocumentTests testProblemDocument_fromDictionary_parsesCorrectly 2ms
โœ… ProblemDocumentTests testProblemDocument_fromResponseError_extractsFromNSError 4ms
โœ… ProblemDocumentTests testProblemDocument_fromResponseError_fallsBackToData 4ms
โœ… ProblemDocumentTests testProblemDocument_fromResponseError_returnsNilWhenNoDocument 2ms
โœ… ProblemDocumentTests testProblemDocument_stringValue_combinesTitleAndDetail 2ms
โœ… ProblemDocumentTests testProblemDocument_stringValue_handlesMissingTitle 2ms
โœ… ProblemReportEmailTests testGenerateBody_containsDeviceIdiom 7ms
โœ… ProblemReportEmailTests testGenerateBody_includesEnvironmentFieldsInExpectedStructure 10ms
โœ… ProblemReportEmailTests testGenerateBody_withBook_containsBookInfo 17ms
โœ… ProblemReportEmailTests testGenerateBody_withoutBook_doesNotContainBookInfo 10ms
โœ… ProblemReportEmailTests testPP3651_generateBody_doesNotLeakOtherLibrarysPatronIDWhenNilPassed 9ms
โœ… ProblemReportEmailTests testPP3651_generateBody_includesPatronIDOnlyWhenProvided 16ms
โœ… ProblemReportEmailTests testPP3651_generateBody_patronID_appearsAfterSeparator 8ms
โœ… ProblemReportEmailTests testPP3651_generateBody_withBookAndPatronID_containsBothBookAndPatronInfo 27ms
โœ… ReachabilityTests testGetDetailedConnectivityStatus_returnsNonEmptyFields 5ms
โœ… ReachabilityTests testIsConnected_methodAndPropertyAgreeAndAreStable 6ms
โœ… ReaderAccessibilityTests testBookmarkToggleLabels_areDistinctAndDescriptive 2ms
โœ… ReaderAccessibilityTests testBookmarksTabLabel_isDescriptive 3ms
โœ… ReaderAccessibilityTests testChapterNavigationLabels_areDistinct 4ms
โœ… ReaderAccessibilityTests testCloseSampleLabel_isDescriptive 3ms
โœ… ReaderAccessibilityTests testPDFPickerSegmentLabels_areDistinct 3ms
โœ… ReaderAccessibilityTests testPagePreviewsLabel_isDescriptive 2ms
โœ… ReaderAccessibilityTests testTableOfContentsLabel_isDescriptive 2ms
โœ… ReaderErrorTests testEpubNotValid_conformsToLocalizedError 2ms
โœ… ReaderErrorTests testEpubNotValid_hasErrorDescription 2ms
โœ… ReaderErrorTests testErrors_haveDifferentDescriptions 2ms
โœ… ReaderErrorTests testFormatNotSupported_conformsToLocalizedError 2ms
โœ… ReaderErrorTests testFormatNotSupported_hasErrorDescription 2ms
โœ… ReaderServiceSyncTests testLastReadPositionSynchronizer_canBeCreated 8ms
โœ… ReaderServiceSyncTests testLastReadPositionSynchronizer_syncDoesNotCrash_withDeviceID 81ms
โœ… ReaderServiceSyncTests testLastReadPositionSynchronizer_syncReturns_whenNoServerPosition 7ms
โœ… ReaderThemeTests testAllCases_containsExactly5Themes 88ms
โœ… ReaderThemeTests testAllCases_containsExpectedThemes 2ms
โœ… ReaderThemeTests testAllThemes_haveCSSHexBackgrounds 2ms
โœ… ReaderThemeTests testAllThemes_haveCSSHexTextColors 5ms
โœ… ReaderThemeTests testAllThemes_haveValidBackgroundColors 5ms
โœ… ReaderThemeTests testAllThemes_haveValidTextColors 71ms
โœ… ReaderThemeTests testCSSHex_matchesExpectedFormat 7ms
โœ… ReaderThemeTests testCodable_preservesAllProperties 3ms
โœ… ReaderThemeTests testCodable_roundTrip 6ms
โœ… ReaderThemeTests testDarkTheme_darkBackground 3ms
โœ… ReaderThemeTests testDarkTheme_hasDarkBackground 3ms
โœ… ReaderThemeTests testDarkTheme_hasLightText 3ms
โœ… ReaderThemeTests testEachThemeID_isUnique 3ms
โœ… ReaderThemeTests testEquatable_differentThemesAreNotEqual 6ms
โœ… ReaderThemeTests testEquatable_sameThemesAreEqual 7ms
โœ… ReaderThemeTests testLightTheme_hasDarkText 2ms
โœ… ReaderThemeTests testLightTheme_hasLightBackground 2ms
โœ… ReaderThemeTests testLightTheme_whiteBackground 3ms
โœ… ReaderThemeTests testNightTheme_hasDarkBackground 2ms
โœ… ReaderThemeTests testNightTheme_hasLightText 4ms
โœ… ReaderThemeTests testNightTheme_nearBlackBackground 6ms
โœ… ReaderThemeTests testSepiaTheme_hasDarkText 14ms
โœ… ReaderThemeTests testSepiaTheme_hasLightBackground 2ms
โœ… ReaderThemeTests testSolarizedTheme_hasLightBackground 2ms
โœ… ReadingPositionTests testAudiobookPosition_CodableRoundTrip 3ms
โœ… ReadingPositionTests testAudiobookPosition_NegativeTimeOffset_ClampedToZero 2ms
โœ… ReadingPositionTests testAudiobookPosition_SetsFormatAndFields 2ms
โœ… ReadingPositionTests testAudiobookPosition_ZeroTimeOffset 2ms
โœ… ReadingPositionTests testDeviceID_IsPopulated 1ms
โœ… ReadingPositionTests testDisplayDescription_Audiobook 2ms
โœ… ReadingPositionTests testDisplayDescription_Epub 8ms
โœ… ReadingPositionTests testDisplayDescription_Pdf 2ms
โœ… ReadingPositionTests testEpubPosition_CodableRoundTrip 2ms
โœ… ReadingPositionTests testEpubPosition_ProgressBoundary0 2ms
โœ… ReadingPositionTests testEpubPosition_ProgressBoundary1 3ms
โœ… ReadingPositionTests testEpubPosition_ProgressClampedAbove1 2ms
โœ… ReadingPositionTests testEpubPosition_ProgressClampedBelow0 3ms
โœ… ReadingPositionTests testEpubPosition_SetsFormatAndFields 2ms
โœ… ReadingPositionTests testEquality_DifferentChapter_NotEqual 2ms
โœ… ReadingPositionTests testEquality_DifferentFormat_NotEqual 2ms
โœ… ReadingPositionTests testEquality_SamePosition 2ms
โœ… ReadingPositionTests testPdfPosition_CodableRoundTrip 2ms
โœ… ReadingPositionTests testPdfPosition_NegativePageNumber_ClampedTo1 4ms
โœ… ReadingPositionTests testPdfPosition_PageNumberClampedToMinimum1 1ms
โœ… ReadingPositionTests testPdfPosition_SetsFormatAndFields 3ms
โœ… ReadingPositionTests testReadingFormat_CodableRoundTrip 2ms
โœ… ReadingSessionTrackerTests testActiveBookID_NilInitially 5ms
โœ… ReadingSessionTrackerTests testEndSession_FiltersBriefSessions 23ms
โœ… ReadingSessionTrackerTests testEndSession_StopsTracking 5ms
โœ… ReadingSessionTrackerTests testEndSession_WithoutStartSession_DoesNotCrash 3ms
โœ… ReadingSessionTrackerTests testEndSession_WithoutStartSession_DoesNotRecordSession 6ms
โœ… ReadingSessionTrackerTests testIsTracking_FalseInitially 4ms
โœ… ReadingSessionTrackerTests testMultipleCycles_WorkCorrectly 104ms
โœ… ReadingSessionTrackerTests testPageCount_ResetsBetweenSessions 3ms
โœ… ReadingSessionTrackerTests testRecordBookFinished_RecordsCompletion 56ms
โœ… ReadingSessionTrackerTests testRecordBookFinished_TriggersBadgeRefresh 58ms
โœ… ReadingSessionTrackerTests testRecordPageTurn_IncrementsPageCount 3ms
โœ… ReadingSessionTrackerTests testStartSession_BeginsTracking 6ms
โœ… ReadingSessionTrackerTests testStartSession_EndsExistingSession 2ms
โœ… ReadingStatsServiceTests testAggregateStats 6ms
โœ… ReadingStatsServiceTests testAggregateStatsTimePeriodFilter 6ms
โœ… ReadingStatsServiceTests testChartDataEmpty 4ms
โœ… ReadingStatsServiceTests testChartDataWeek 111ms
โœ… ReadingStatsServiceTests testDuplicateCompletionIgnored 6ms
โœ… ReadingStatsServiceTests testRecordBookCompletion 3ms
โœ… ReadingStatsServiceTests testRecordMultipleSessions 4ms
โœ… ReadingStatsServiceTests testRecordSession 6ms
โœ… ReadingStatsServiceTests testRecordSessionIgnoresZeroDuration 4ms
โœ… ReadingStatsServiceTests testStreakRecalculation 7ms
โœ… ReadingStatsServiceTests testStreakResetsAfterGap 162ms
โœ… ReadingStatsServiceTests testStreakUpdatesOnSession 4ms
โœ… ReadingStatsStoreTests testClearAll 12ms
โœ… ReadingStatsStoreTests testLoadSessionsEmpty 8ms
โœ… ReadingStatsStoreTests testLoadStreakDefault 6ms
โœ… ReadingStatsStoreTests testMigrationSetsVersion 9ms
โœ… ReadingStatsStoreTests testMultipleSessions 18ms
โœ… ReadingStatsStoreTests testSaveAndLoadCompletions 10ms
โœ… ReadingStatsStoreTests testSaveAndLoadEarnedBadges 20ms
โœ… ReadingStatsStoreTests testSaveAndLoadSessions 5ms
โœ… ReadingStatsStoreTests testSaveAndLoadStreak 12ms
โœ… RedirectHandlingIntegrationTests testRedirect_attemptsCleared_afterCompletion 8ms
โœ… RedirectHandlingIntegrationTests testRedirect_httpsToHttp_blockedForSecurity 4ms
โœ… RedirectHandlingIntegrationTests testRedirect_httpsToHttps_allowed 3ms
โœ… RedirectHandlingIntegrationTests testRedirect_maxAttempts_enforced 6ms
โœ… RedirectPolicyTests testDecide_AboveMax_StillReturnsNil 10ms
โœ… RedirectPolicyTests testDecide_AtMaxAttempts_ReturnsNilAndDoesNotIncrement 85ms
โœ… RedirectPolicyTests testDecide_CounterIsPerTask 4ms
โœ… RedirectPolicyTests testDecide_CustomMaxAttempts_Honored 8ms
โœ… RedirectPolicyTests testDecide_HTTPSToHTTPS_Allowed 9ms
โœ… RedirectPolicyTests testDecide_HTTPSToHTTP_ReturnsNilButHasIncremented 12ms
โœ… RedirectPolicyTests testDecide_HTTPToAnything_NotADowngrade 7ms
โœ… RedirectPolicyTests testDecide_NilOriginalScheme_NotTreatedAsDowngrade 10ms
โœ… RedirectPolicyTests testDecide_OneBelowMax_AllowsAndIncrements 61ms
โœ… RemoteFeatureFlagsGapTests testRemoteFeatureFlags_convenienceProperties_dontCrash 9ms
โœ… RemoteFeatureFlagsGapTests testRemoteFeatureFlags_fetchIfNeeded_completesWithoutCrashing 11ms
โœ… RemoteFeatureFlagsGapTests testRemoteFeatureFlags_isFeatureEnabled_returnsBoolean 3ms
โœ… RemoteFeatureFlagsGapTests testRemoteFeatureFlags_shared_isAccessible 97ms
โœ… RemoteFeatureFlagsTests testFeatureFlag_allCases_haveNonEmptyRawValues 3ms
โœ… RemoteFeatureFlagsTests testFeatureFlag_defaultValues_areDefined 2ms
โœ… RemoteFeatureFlagsTests testFetchIfNeeded_doesNotCrash 19ms
โœ… RemoteFeatureFlagsTests testGetDeviceInfo_containsVersionInfo 11ms
โœ… RemoteFeatureFlagsTests testGetDeviceInfo_returnsNonEmptyDict 4ms
โœ… RemoteFeatureFlagsTests testIsCarPlayEnabledCached_returnsBool 3ms
โœ… RemoteFeatureFlagsTests testIsFeatureEnabled_withoutFirebase_returnsDefault 6ms
โœ… RemoteFeatureFlagsTests testIsResetAccountEnabled_defaultsOff_withoutOverrideOrFirebase 4ms
โœ… RemoteFeatureFlagsTests testIsResetAccountEnabled_localOverrideFalse_disablesFlag 9ms
โœ… RemoteFeatureFlagsTests testIsResetAccountEnabled_localOverrideTrue_enablesFlag 6ms
โœ… RemoteFeatureFlagsTests testResetAccountEnabled_supportsDeviceSpecificOverride 3ms
โœ… RemoteFeatureFlagsTests testShared_isNotNil 11ms
โœ… RemoteFeatureFlagsTests testShared_returnsSameInstance 6ms
โœ… RetryClassificationTests testAudiobookErrors_notRetryable 2ms
โœ… RetryClassificationTests testAudiobookErrors_retryable 2ms
โœ… RetryClassificationTests testAuthErrors_notRetryable 2ms
โœ… RetryClassificationTests testAuthErrors_retryable 2ms
โœ… RetryClassificationTests testBookRegistryErrors_notRetryable 2ms
โœ… RetryClassificationTests testBookRegistryErrors_retryable 2ms
โœ… RetryClassificationTests testDRMErrors_notRetryable 1ms
โœ… RetryClassificationTests testDownloadErrors_notRetryable 2ms
โœ… RetryClassificationTests testDownloadErrors_retryable 2ms
โœ… RetryClassificationTests testNSURLError_notRetryable 2ms
โœ… RetryClassificationTests testNSURLError_retryable 2ms
โœ… RetryClassificationTests testNetworkErrors_notRetryable 2ms
โœ… RetryClassificationTests testNetworkErrors_retryable 2ms
โœ… RetryClassificationTests testParsingErrors_notRetryable 2ms
โœ… RetryClassificationTests testParsingErrors_retryable 3ms
โœ… RetryClassificationTests testStorageErrors_notRetryable 2ms
โœ… RetryClassificationTests testUnknownError_notRetryable 3ms
โœ… ReturnFlowTests testRetryTracker_limitsRetries 3ms
โœ… RightsManagementDetectionTests testMimeType_adobeAdept_detectsAdobeRights 4ms
โœ… RightsManagementDetectionTests testMimeType_bearerToken_detectsBearerTokenRights 2ms
โœ… RightsManagementDetectionTests testMimeType_epubZip_detectsNoRights 4ms
โœ… RightsManagementDetectionTests testMimeType_lcpLicense_detectsLCPRights 2ms
โœ… RightsManagementDetectionTests testMimeType_unknown_detectsUnknown 2ms
โœ… RightsManagementDispatcherTests testDispatch_adobePDF_returnsFailureWithIgnoreError 59ms
โœ… RightsManagementDispatcherTests testDispatch_bearerToken_invalidJSON_failsWithAlert 13ms
โœ… RightsManagementDispatcherTests testDispatch_bearerToken_missingFile_failsWithAlert 6ms
โœ… RightsManagementDispatcherTests testDispatch_bearerToken_validJSON_registersNewTaskInState 19ms
โœ… RightsManagementDispatcherTests testDispatch_lcp_callsLcpFulfillmentAndDoesNotFlagFailure 12ms
โœ… RightsManagementDispatcherTests testDispatch_none_moveFileFails_flagsFailure 8ms
โœ… RightsManagementDispatcherTests testDispatch_none_moveFileSuccess_doesNotFlagFailure 6ms
โœ… RightsManagementDispatcherTests testDispatch_overdrive_replaceBookFails_flagsFailure 6ms
โœ… RightsManagementDispatcherTests testDispatch_overdrive_replaceBookSuccess_doesNotFlagFailure 6ms
โœ… RightsManagementDispatcherTests testDispatch_unknown_logsAndFlagsFailure 7ms
โœ… SAMLCookieSyncTests testCookieSyncToSharedStorage 3ms
โœ… SAMLCookieSyncTests testCookieSync_emptyCookies_doesNotCrash 2ms
โœ… SAMLCookieSyncTests testCookieSync_multipleCookies 3ms
โœ… SAMLCookieSyncTests testCookieSync_replacesExistingCookie 3ms
โœ… SAMLCookieSyncTests testRequestCreation_includesCookieHeader 3ms
โœ… SAMLHelperTests testLogInWithNilBusinessLogicDoesNotCrash 466ms
โœ… SAMLHelperTests testSAMLHelperCanBeInstantiated 2ms
โœ… SAMLHelperTests testSAMLLoginURLConstruction 5ms
โœ… SAMLHelperTests testSAMLLoginURLConstructionWithNoExistingParams 2ms
โœ… SAMLHelperTests testSAMLLoginURLPreservesExistingQueryParams 3ms
โœ… SAMLLogoutCallbackDetectionTests testCallbackSchemeError_DetectedAsSuccess 2ms
โœ… SAMLLogoutCallbackDetectionTests testCallbackSchemeError_PartialStatus_AlsoDetected 2ms
โœ… SAMLLogoutCallbackDetectionTests testOIDCCallbackScheme_NotSAMLDetected 2ms
โœ… SAMLLogoutCallbackDetectionTests testUnrelatedError_NotDetected 4ms
โœ… SAMLLogoutLinkParsingTests testRegression_OIDCLogoutHref_StillPopulated 117ms
โœ… SAMLLogoutLinkParsingTests testSAMLAuth_ParsesLogoutHrefIsTemplated_True 3ms
โœ… SAMLLogoutLinkParsingTests testSAMLAuth_ParsesLogoutHref_FromAuthDocument 4ms
โœ… SAMLLogoutLinkParsingTests testSAMLAuth_WithoutLogoutLink_LeavesHrefNil 4ms
โœ… SAMLLogoutLinkParsingTests testSAMLLogoutHref_IsNil_ForBasicAuth 4ms
โœ… SAMLLogoutURLTests testSAMLLogoutURL_CallbackSchemeIsPalaceSAML 2ms
โœ… SAMLLogoutURLTests testSAMLLogoutURL_ExpandsTemplateWithRedirectURI 2ms
โœ… SAMLLogoutURLTests testSAMLLogoutURL_InvalidTemplate_ReturnsNil 7ms
โœ… SAMLLogoutURLTests testSAMLLogoutURL_NonTemplated_UsedAsIs 2ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_AuthRequiredError_SAML_Credentials_Book_ReturnsTrue 99ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_BasicAuth_ReturnsFalse 101ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_NilCurrentBook_ReturnsFalse 93ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_NilError_ReturnsFalse 86ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_NoCredentials_ReturnsFalse 76ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_OAuthAccount_ReturnsFalse 144ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_WrongErrorCode_ReturnsFalse 95ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_WrongErrorDomain_ReturnsFalse 98ms
โœ… SEMigrationsTests testMigrate2_oldCacheFiles_areRemoved 44ms
โœ… SEMigrationsTests testMigrate3_1_0_backupExclusion_isDispatchedForOldVersion 12ms
โœ… SEMigrationsTests testMigrate3_1_0_backupExclusion_isSkippedForCurrentVersion 6ms
โœ… SEMigrationsTests testRunMigrations_doesNotCrashAndDoesNotMutateAppVersionWhenNoMigrationsApply 7ms
โœ… SEMigrationsTests testRunMigrations_multipleCallsAreSafe 46ms
โœ… SEMigrationsTests testRunMigrations_nilOrEmptyVersion_handlesGracefullyWithoutCrashing 29ms
โœ… SafeDictionaryTests testAllPairs_returnsAllKeyValuePairs 3ms
โœ… SafeDictionaryTests testCompactMapValues_removesNils 5ms
โœ… SafeDictionaryTests testContains_existingKey_returnsTrue 5ms
โœ… SafeDictionaryTests testCount_reflectsEntries 3ms
โœ… SafeDictionaryTests testFilter_selectsMatchingEntries 3ms
โœ… SafeDictionaryTests testGetMetrics_returnsMetricsDictionary 4ms
โœ… SafeDictionaryTests testGet_missingKey_returnsNil 4ms
โœ… SafeDictionaryTests testInit_withInitialValues 3ms
โœ… SafeDictionaryTests testIsEmpty_noEntries_returnsTrue 6ms
โœ… SafeDictionaryTests testKeys_returnsAllKeys 3ms
โœ… SafeDictionaryTests testMapValues_transformsValues 5ms
โœ… SafeDictionaryTests testModify_createsNewValue 6ms
โœ… SafeDictionaryTests testModify_updatesExistingValue 3ms
โœ… SafeDictionaryTests testRemoveAll_clearsEverything 41ms
โœ… SafeDictionaryTests testRemoveMultiple_removesSpecifiedKeys 5ms
โœ… SafeDictionaryTests testRemove_deletesEntry 5ms
โœ… SafeDictionaryTests testRemove_missingKey_returnsNil 4ms
โœ… SafeDictionaryTests testSet_andGet_returnsValue 55ms
โœ… SafeDictionaryTests testSet_overwrite_updatesValue 3ms
โœ… SafeDictionaryTests testUpdateMultiple_addsAllEntries 3ms
โœ… SafeDictionaryTests testValues_returnsAllValues 7ms
โœ… SamplePlayerErrorTests testFileSaveFailed_WithUnderlyingError 2ms
โœ… SamplePlayerErrorTests testFileSaveFailed_WithoutUnderlyingError 2ms
โœ… SamplePlayerErrorTests testNoSampleAvailable_IsError 5ms
โœ… SamplePlayerErrorTests testSampleDownloadFailed_WithUnderlyingError 2ms
โœ… SamplePlayerErrorTests testSampleDownloadFailed_WithoutUnderlyingError 2ms
โœ… SampleTypeTests testNeedsDownload_EpubZip_ReturnsTrue 3ms
โœ… SampleTypeTests testNeedsDownload_OpenAccessAudiobook_ReturnsFalse 5ms
โœ… SampleTypeTests testNeedsDownload_OverdriveAudiobookMpeg_ReturnsTrue 2ms
โœ… SampleTypeTests testNeedsDownload_OverdriveAudiobookWaveFile_ReturnsTrue 3ms
โœ… SampleTypeTests testNeedsDownload_OverdriveWeb_ReturnsFalse 4ms
โœ… SampleTypeTests testRawValue_ContentTypeEpubZip 5ms
โœ… SampleTypeTests testRawValue_OpenAccessAudiobook 2ms
โœ… SampleTypeTests testRawValue_OverdriveWeb 3ms
โœ… SceneDelegateTests testSceneDelegate_HasMainSceneConnected_IsConsistent 2ms
โœ… SearchAccessibilityTests testClearSearchLabel_isDescriptive 2ms
โœ… SearchAccessibilityTests testClearSearchLabel_isLocalized 3ms
โœ… SearchAccessibilityTests testGoBackLabel_isDescriptive 3ms
โœ… SearchAccessibilityTests testSearchBooksLabel_exists 9ms
โœ… SearchAccessibilityTests testSearchCatalogLabel_differsFromSearchInBook 2ms
โœ… SearchAccessibilityTests testSearchInBookLabel_isDescriptive 3ms
โœ… SearchFlowIntegrationTests testSearchCancellation_StopsPendingRequest 56ms
โœ… SearchFlowIntegrationTests testSearchDebouncing_PreventsExcessiveRequests 6ms
โœ… SearchFlowIntegrationTests testSearchQuery_DispatchesToCatalogRepository 6ms
โœ… SearchFlowIntegrationTests testSearchResults_ContainExpectedBookData 3ms
โœ… SearchFlowIntegrationTests testSearchWithEmptyQuery_ReturnsNilResult 6ms
โœ… SearchFlowIntegrationTests testSearchWithNetworkError_PropagatesError 7ms
โœ… SearchFlowIntegrationTests testSearchWithServerError_PropagatesServerError 4ms
โœ… SearchFlowIntegrationTests testSequentialSearches_TrackAllQueries 4ms
โœ… SettingsViewModelComputedPropertyTests testAccountCount_ReflectsSettingsAccountsList 3ms
โœ… SettingsViewModelComputedPropertyTests testDuplicateWrite_DoesNotTriggerSettingsUpdate 6ms
โœ… SettingsViewModelComputedPropertyTests testIsUsingCustomFeed_AfterClear_ReturnsFalse 3ms
โœ… SettingsViewModelComputedPropertyTests testIsUsingCustomRegistry_AfterClear_ReturnsFalse 2ms
โœ… SettingsViewModelComputedPropertyTests testShowDeveloperSettings_CanBeToggled 4ms
โœ… SettingsViewModelComputedPropertyTests testShowDeveloperSettings_DefaultsFalse 2ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_InitWithPartialSettings_HandlesGracefully 4ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_MultipleRapidChanges_MaintainsConsistency 8ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_ResetThenModify_WorksCorrectly 4ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_SetCustomFeedURL_LocalhostHTTP_ReturnsTrue 3ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_SetCustomFeedURL_URLWithFragment_ReturnsTrue 5ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_SetCustomFeedURL_URLWithPort_ReturnsTrue 3ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_SetCustomFeedURL_URLWithQueryParams_ReturnsTrue 3ms
โœ… SettingsViewModelGapTests testSettingsViewModel_refreshAccountsList_updatesProperty 7ms
โœ… SettingsViewModelSyncTests testResetToDefaults_ClearsAllSettings 6ms
โœ… SettingsViewModelSyncTests testResetToDefaults_UpdatesSettingsProvider 5ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithEmptyString_ClearsURL 4ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithInvalidURL_ReturnsFalse 4ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithNil_ClearsURL 6ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithNonHttpScheme_ReturnsFalse 5ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithValidHttpURL_ReturnsTrue 3ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithValidHttpsURL_ReturnsTrue 3ms
โœ… SettingsViewModelSyncTests testSetCustomRegistryServer_WithEmptyString_ReturnsTrueAndClears 3ms
โœ… SettingsViewModelSyncTests testSetCustomRegistryServer_WithNil_ClearsServer 5ms
โœ… SettingsViewModelSyncTests testSetCustomRegistryServer_WithValidURL_ReturnsTrue 4ms
โœ… SettingsViewModelSyncTests testSettingsViewModel_BidirectionalSync_SettingsToViewModelViaRefresh 5ms
โœ… SettingsViewModelSyncTests testSettingsViewModel_BidirectionalSync_ViewModelToSettings 4ms
โœ… SettingsViewModelSyncTests testSettingsViewModel_ExternalSettingsChange_RequiresRefresh 4ms
โœ… SettingsViewModelTests testSettingsViewModel_AcceptEULA_SetsTrue 6ms
โœ… SettingsViewModelTests testSettingsViewModel_ClearCustomFeedURL_ClearsURL 17ms
โœ… SettingsViewModelTests testSettingsViewModel_ClearCustomRegistryServer_ClearsServer 5ms
โœ… SettingsViewModelTests testSettingsViewModel_CustomMainFeedURL_PublishesChanges 5ms
โœ… SettingsViewModelTests testSettingsViewModel_FormattedAppVersion_ReturnsFormattedString 5ms
โœ… SettingsViewModelTests testSettingsViewModel_Init_DefaultsAreCorrect 3ms
โœ… SettingsViewModelTests testSettingsViewModel_Init_ReadsSettingsFromProvider 2ms
โœ… SettingsViewModelTests testSettingsViewModel_IsUsingCustomFeed_FalseWhenURLNil 5ms
โœ… SettingsViewModelTests testSettingsViewModel_IsUsingCustomFeed_TrueWhenURLSet 6ms
โœ… SettingsViewModelTests testSettingsViewModel_IsUsingCustomRegistry_FalseWhenServerEmpty 3ms
โœ… SettingsViewModelTests testSettingsViewModel_IsUsingCustomRegistry_FalseWhenServerNil 2ms
โœ… SettingsViewModelTests testSettingsViewModel_IsUsingCustomRegistry_TrueWhenServerSet 2ms
โœ… SettingsViewModelTests testSettingsViewModel_MarkAgeCheckPresented_SetsTrue 4ms
โœ… SettingsViewModelTests testSettingsViewModel_RefreshSettings_ReloadsFromProvider 3ms
โœ… SettingsViewModelTests testSettingsViewModel_ResetToDefaults_ResetsAllSettings 3ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_EmptyString_ClearsURL 3ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_InvalidScheme_ReturnsFalse 9ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_InvalidURL_ReturnsFalse 2ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_Nil_ClearsURL 7ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_ValidHTTPS_ReturnsTrue 6ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_ValidHTTP_ReturnsTrue 3ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomRegistryServer_EmptyString_ClearsServer 3ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomRegistryServer_InvalidURL_ReturnsFalse 4.69s
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomRegistryServer_ValidURL_ReturnsTrue 3ms
โœ… SettingsViewModelTests testSettingsViewModel_SetEnterLCPPassphraseManually_UpdatesSettings 4ms
โœ… SettingsViewModelTests testSettingsViewModel_SetSameValue_DoesNotWriteToSettings 3ms
โœ… SettingsViewModelTests testSettingsViewModel_SetUseBetaLibraries_UpdatesSettings 3ms
โœ… SettingsViewModelTests testSettingsViewModel_SetUserHasAcceptedEULA_UpdatesSettings 6ms
โœ… SettingsViewModelTests testSettingsViewModel_SetUserPresentedAgeCheck_UpdatesSettings 2ms
โœ… SettingsViewModelTests testSettingsViewModel_ToggleBetaLibraries_TogglesValue 4ms
โœ… SettingsViewModelTests testSettingsViewModel_ToggleLCPManualPassphrase_TogglesValue 6ms
โœ… SettingsViewModelTests testSettingsViewModel_UpdateAppVersion_UpdatesSettings 6ms
โœ… SettingsViewModelTests testSettingsViewModel_UseBetaLibraries_PublishesChanges 9ms
โœ… SignInModalSAMLOIDCTests testBorrowReauthGuard_allBookStates 2ms
โœ… SignInModalSAMLOIDCTests testBorrowReauthGuard_downloadNeededBook_blocksReauth 6ms
โœ… SignInModalSAMLOIDCTests testBorrowReauthGuard_unregisteredBook_allowsReauth 4ms
โœ… SignInModalSAMLOIDCTests testNeedsAuth_allAuthTypes 2ms
โœ… SignInModalSAMLOIDCTests testNeedsAuth_consistencyBetweenTwoImplementations 3ms
โœ… SignInModalSAMLOIDCTests testSignInModalGuard_needsAuth_classifiesAuthTypesCorrectly 4ms
โœ… SignInWebSheetIntegrationTests test_initialLoad_injectsCookiesBeforeLoadingRequest 127ms
โœ… SignInWebSheetIntegrationTests test_loadingOverlay_startsTrueAndBecomesFalseOnNavigationFinish 1.89s
โœ… SignInWebSheetIntegrationTests test_navigatingToUniversalLinksURL_firesLoginCompletionWithCookies 1.10s
โœ… SignInWebSheetViewModelTests test_autoPresentIfNeeded_canBeTrue 2ms
โœ… SignInWebSheetViewModelTests test_autoPresentIfNeeded_defaultsToFalse 2ms
โœ… SignInWebSheetViewModelTests test_bookFoundThenCancel_doesNotFireCancel 2ms
โœ… SignInWebSheetViewModelTests test_cancelThenLoginCompletion_doesNotFireLogin 5ms
โœ… SignInWebSheetViewModelTests test_cookieInjection_emptyCookies_loadsRequestImmediately 7ms
โœ… SignInWebSheetViewModelTests test_cookieInjection_loadHandlerOnlyFiresAfterAllCookiesInjected 3ms
โœ… SignInWebSheetViewModelTests test_cookieInjection_orderPreserved 4ms
โœ… SignInWebSheetViewModelTests test_decideAction_loginCompletionURL_isStillRecordedAsPreviousRequest 2ms
โœ… SignInWebSheetViewModelTests test_decideAction_navigationToOtherURL_returnsAllow 2ms
โœ… SignInWebSheetViewModelTests test_decideAction_navigationToUniversalLinksHostButDifferentPath_doesNotMatch 2ms
โœ… SignInWebSheetViewModelTests test_decideAction_navigationToUniversalLinksURL_returnsCompleteLogin 28ms
โœ… SignInWebSheetViewModelTests test_decideAction_recordsPreviousRequestForLaterBookFound 9ms
โœ… SignInWebSheetViewModelTests test_decideResponse_htmlMime_returnsAllow 4ms
โœ… SignInWebSheetViewModelTests test_decideResponse_nilMime_returnsAllow 2ms
โœ… SignInWebSheetViewModelTests test_decideResponse_problemJsonMime_returnsProblemFound 2ms
โœ… SignInWebSheetViewModelTests test_decideResponse_supportedBookMime_returnsBookFound 2ms
โœ… SignInWebSheetViewModelTests test_decideResponse_unsupportedTypeNotInBookList_returnsAllow 3ms
โœ… SignInWebSheetViewModelTests test_didFinishNavigation_setsLoadingFalse 5ms
โœ… SignInWebSheetViewModelTests test_didStartProvisionalNavigation_resetsLoadingTrue 3ms
โœ… SignInWebSheetViewModelTests test_isLoading_trueByDefault 24ms
โœ… SignInWebSheetViewModelTests test_loginCompletionThenCancel_doesNotFireCancel 23ms
โœ… SignInWebSheetViewModelTests test_problemThenCancel_doesNotFireCancel 2ms
โœ… SignInWebSheetViewModelTests test_recordBookFound_invokesHandlerOnceWithPreviousRequestAndCookies 3ms
โœ… SignInWebSheetViewModelTests test_recordBookFound_secondCallIgnored 2ms
โœ… SignInWebSheetViewModelTests test_recordCancel_invokesHandlerOnce 34ms
โœ… SignInWebSheetViewModelTests test_recordLoginCompletion_invokesHandlerOnceWithURLAndCookies 2ms
โœ… SignInWebSheetViewModelTests test_recordLoginCompletion_secondCallIgnored 1ms
โœ… SignInWebSheetViewModelTests test_recordProblem_invokesHandlerOnce 4ms
โœ… SignInWebSheetViewModelTests test_wasBookFound_falseAfterOnlyLoginCompletion 3ms
โœ… SignInWebSheetViewModelTests test_wasBookFound_falseInitially 2ms
โœ… SignInWebSheetViewModelTests test_wasBookFound_trueAfterRecordBookFound 2ms
โœ… SignOutCacheClearingTests testClearCache_doesNotCrash_andExecutorStaysReusable 10ms
โœ… SignOutCacheClearingTests testNetworkExecutorAndSharedCache_areSeparate 4ms
โœ… SignOutCacheClearingTests testURLCacheShared_clearIsIdempotentAndPreservesCapacity 8ms
โœ… StatsViewModelTests testInitialState 2ms
โœ… StatsViewModelTests testLoadPopulatesChartData 14ms
โœ… StatsViewModelTests testLoadPopulatesStats 6ms
โœ… StatsViewModelTests testLoadPopulatesStreak 5ms
โœ… StatsViewModelTests testLongestStreakText 2ms
โœ… StatsViewModelTests testRecentBadgesAfterCompletion 10ms
โœ… StatsViewModelTests testRecentBadgesLimitedToFive 6ms
โœ… StatsViewModelTests testStreakDisplayTextActive 5ms
โœ… StatsViewModelTests testStreakDisplayTextNoStreak 2ms
โœ… StatsViewModelTests testTimePeriodChangeUpdatesData 217ms
โœ… StatusAnnouncementTests testPP3673_allAnnouncementTypes_areProgrammaticallyDeterminable 5ms
โœ… StatusAnnouncementTests testPP3673_borrowFailed_announces 5ms
โœ… StatusAnnouncementTests testPP3673_borrowLifecycle_producesSequentialAnnouncements 5ms
โœ… StatusAnnouncementTests testPP3673_borrowStarted_announces 3ms
โœ… StatusAnnouncementTests testPP3673_borrowSucceeded_announcesWithoutFocusShift 3ms
โœ… StatusAnnouncementTests testPP3673_differentMessages_allAnnounced 3ms
โœ… StatusAnnouncementTests testPP3673_downloadCompleted_announces 4ms
โœ… StatusAnnouncementTests testPP3673_downloadFailed_announces 10ms
โœ… StatusAnnouncementTests testPP3673_downloadStarted_announces 9ms
โœ… StatusAnnouncementTests testPP3673_errorAnnouncement_doesNotMoveFocus 3ms
โœ… StatusAnnouncementTests testPP3673_errorMessage_announcedViaVoiceOver 4ms
โœ… StatusAnnouncementTests testPP3673_quickSuccession_sameMessage_collapsed 4ms
โœ… StatusAnnouncementTests testPP3673_searchAnnouncement_usesAnnouncementNotification 4ms
โœ… StatusAnnouncementTests testPP3673_searchFailed_announces 3ms
โœ… StatusAnnouncementTests testPP3673_searchNoResults_announcesNoResults 3ms
โœ… StatusAnnouncementTests testPP3673_searchRerun_announcesNewStatus 7ms
โœ… StatusAnnouncementTests testPP3673_searchStrings_areLocalized 4ms
โœ… StatusAnnouncementTests testPP3673_searchWithResults_announcesResultsForQuery 4ms
โœ… StatusAnnouncementTests testPP3673_statusStrings_areUnderstandable 6ms
โœ… StatusAnnouncementTests testPP3673_statusWithTitleAndMessage_isClear 3ms
โœ… StatusAnnouncementTests testPP3673_updatedStatus_replacesOld 8ms
โœ… StatusAnnouncementTests testPP3673_voiceOverDisabled_noAnnouncements 2ms
โœ… StopPositionSaveTests testStop_bypassesSaveSuppression 4ms
โœ… StopPositionSaveTests testStop_savesEvenDuringActiveSuppression 9ms
โœ… StoreTests testEnvironment_substitution_changesEffectOutput 3ms
โœ… StoreTests testReducer_canBeExercisedWithoutAStore 2ms
โœ… StoreTests testSendAwait_runsEffectChainToCompletionBeforeReturning 3ms
โœ… StoreTests testSend_effect_feedsFollowupActionThroughReducer 31ms
โœ… StoreTests testSend_synchronousReducer_updatesStateBeforeReturning 2ms
โœ… StringExtensionTests testMd5hex_differsByInput 67ms
โœ… StringExtensionTests testMd5hex_emptyString 7ms
โœ… StringExtensionTests testMd5hex_length 5ms
โœ… StringExtensionTests testMd5hex_returnsConsistentHash 806ms
โœ… StringExtensionTests testParseJSONString_arrayJSON 7ms
โœ… StringExtensionTests testParseJSONString_emptyString 4ms
โœ… StringExtensionTests testParseJSONString_invalidJSON 6ms
โœ… StringExtensionTests testParseJSONString_validJSON 5ms
โœ… StringExtensionsTests testIsDate_delayBoundary_isStrictGreaterThan 74ms
โœ… StringExtensionsTests testIsDate_invalidOrEmptyStrings_returnFalse 8ms
โœ… StringExtensionsTests testIsDate_temporalDirection_acrossSecondsDaysAndYears 7ms
โœ… StringHTMLEntitiesTests testDecode_CommonHTMLEntities_DecodesCorrectly 2ms
โœ… StringHTMLEntitiesTests testDecode_NumericDecimal_DecodesCorrectly 17ms
โœ… StringHTMLEntitiesTests testDecode_NumericHex_DecodesCorrectly 2ms
โœ… StringHTMLEntitiesTests testDecode_XMLPredefinedEntities_DecodesCorrectly 2ms
โœ… StringHTMLEntitiesTests testDecode_malformedInputPreservedVerbatim 6ms
โœ… StringHTMLEntitiesTests testDecode_passThroughAndMixedContentEdgeCases 5ms
โœ… StringHTMLEntitiesTests testNSStringBridge_decodesEntitiesAndMixedContent 2ms
โœ… StringNYPLAdditionsTests testStringContains_caseInsensitive 3ms
โœ… StringNYPLAdditionsTests testStringIsEmpty_withWhitespace 4ms
โœ… StringNYPLAdditionsTests testStringPrefix_matching 2ms
โœ… StringNYPLAdditionsTests testStringSuffix_matching 3ms
โœ… String_NYPLAdditionsTests testFileSystemSafeBase64_encodeAndDecodeRoundTripWithoutUnsafeChars 5ms
โœ… String_NYPLAdditionsTests testMD5 3ms
โœ… String_NYPLAdditionsTests testSHA256 4ms
โœ… String_NYPLAdditionsTests testURLEncodingQueryParam 2ms
โœ… SyncConflictResolutionTests testConflictResolution_localNewer_usesLocal 3ms
โœ… SyncConflictResolutionTests testConflictResolution_sameTimestamp_usesHigherProgress 3ms
โœ… SyncConflictResolutionTests testConflictResolution_serverNewer_usesServer 2ms
โœ… SyncDeletionGuardTests testVersionComparison_emptyIsLessThan 3ms
โœ… SyncDeletionGuardTests testVersionComparison_equal_returnsFalse 3ms
โœ… SyncDeletionGuardTests testVersionComparison_sameMajor 3ms
โœ… SyncDeletionGuardTests testVersionComparison_shorterIsLess 4ms
โœ… SyncDeletionGuardTests testVersionComparison_shorterIsNotLess_ifZero 5ms
โœ… SyncDeletionRatioTests testCompleteFeed_noDeletions 2ms
โœ… SyncDeletionRatioTests testEmptyFeedWithLocalBooks_shouldSkipDeletion 2ms
โœ… SyncDeletionRatioTests testEmptyFeedWithNoLocalBooks_shouldNotSkip 2ms
โœ… SyncDeletionRatioTests testNormalSync_singleBookRemoved_noWarning 2ms
โœ… SyncDeletionRatioTests testPartialFeed_shouldWarnButNotSkip 2ms
โœ… SyncDeletionRatioTests testSmallLibrary_noProtection 2ms
โœ… SyncPermissionTests testAccountDetails_nilDetails_makesSyncPropertiesFalse 131ms
โœ… SyncPermissionTests testAccountDetails_syncProperties_matchExpectations 116ms
โœ… SyncPermissionTests testSyncIsPossibleAndPermitted_doesNotCrash 16ms
โœ… SyncPermissionTests testSyncIsPossible_withCredentials_dependsOnCurrentAccountDetails 8ms
โœ… SyncPermissionTests testSyncIsPossible_withoutCredentials_returnsFalse 8ms
โœ… TPPAccountAuthStateEnumTests testCodable_encodesAndDecodesCorrectly 4ms
โœ… TPPAccountAuthStateEnumTests testDescription_returnsCorrectStrings 14ms
โœ… TPPAccountAuthStateEnumTests testHasAdobeActivation_trueForLoggedInAndStale 1ms
โœ… TPPAccountAuthStateEnumTests testHasStoredCredentials_falseOnlyForLoggedOut 2ms
โœ… TPPAccountAuthStateEnumTests testNeedsReauthentication_trueForLoggedOutAndStale 1ms
โœ… TPPAccountListDataSourceTests testLoadData_MixedCaseLibraryNames_SortsCaseInsensitively 2ms
โœ… TPPAccountListDataSourceTests testLoadData_WithFilter_FiltersCaseInsensitively 2ms
โœ… TPPAccountListDataSourceTests testLoadData_WithNationalAccounts_SeparatesAndSortsCaseInsensitively 5ms
โœ… TPPAdobeActivationSkipTests testShouldSkipAdobeActivation_falseWhenLoggedIn 113ms
โœ… TPPAdobeActivationSkipTests testShouldSkipAdobeActivation_falseWhenLoggedOut 185ms
โœ… TPPAdobeActivationSkipTests testShouldSkipAdobeActivation_falseWhenStaleButAdobeNotAuthorized 153ms
โœ… TPPAdobeActivationSkipTests testShouldSkipAdobeActivation_falseWhenStaleButNoAdobeCredentials 92ms
โœ… TPPAdobeActivationSkipTests testShouldSkipAdobeActivation_trueWhenStaleAndAdobeAuthorized 91ms
โœ… TPPAdobeActivationSkipTests testUpdateUserAccount_marksLoggedIn 92ms
โœ… TPPAgeCheckTests testAge0 158ms
โœ… TPPAgeCheckTests testAge100 188ms
โœ… TPPAgeCheckTests testAge12 189ms
โœ… TPPAgeCheckTests testAge13 209ms
โœ… TPPAgeCheckTests testAge14 127ms
โœ… TPPAgeCheckTests testAgeCheckFailed 1.10s
โœ… TPPAlertUtilsTests testAlertTitleMessageError_withMessage_prefersMessageOverError 5ms
โœ… TPPAlertUtilsTests testAlertTitleMessageError_withNilMessage_fallsBackToError 7ms
โœ… TPPAlertUtilsTests testAlertWithDetails_hasOKAction 7ms
โœ… TPPAlertUtilsTests testAlertWithDetails_hasTwoActions 13ms
โœ… TPPAlertUtilsTests testAlertWithDetails_hasViewDetailsAction 20ms
โœ… TPPAlertUtilsTests testAlertWithDetails_plainMessageWithProblemDoc_includesDetail 14ms
โœ… TPPAlertUtilsTests testAlertWithDetails_retryAction_invokesClosure 9ms
โœ… TPPAlertUtilsTests testAlertWithDetails_withError_buildsAlert 7ms
โœ… TPPAlertUtilsTests testAlertWithDetails_withProblemDocument_doesNotDuplicateDetail 7ms
โœ… TPPAlertUtilsTests testAlertWithDetails_withRetryAction_hasRetryAndCancelNoOK 7ms
โœ… TPPAlertUtilsTests testAlertWithDetails_withoutRetry_okActionIsDefaultStyle 13ms
โœ… TPPAlertUtilsTests testAlert_cancelStyle_okActionIsCancel 14ms
โœ… TPPAlertUtilsTests testAlert_customStyle_usesProvidedStyle 8ms
โœ… TPPAlertUtilsTests testAlert_defaultStyle_okActionIsDefaultStyle 11ms
โœ… TPPAlertUtilsTests testAlert_destructiveStyle_okActionIsDestructive 11ms
โœ… TPPAlertUtilsTests testAlert_emptyMessage_returnsEmptyMessage 14ms
โœ… TPPAlertUtilsTests testAlert_emptyTitle_substitutesAlertDefault 14ms
โœ… TPPAlertUtilsTests testAlert_hasOKAction 10ms
โœ… TPPAlertUtilsTests testAlert_nilMessage_substitutesEmpty 7ms
โœ… TPPAlertUtilsTests testAlert_nilTitle_substitutesDefault 5ms
โœ… TPPAlertUtilsTests testAlert_titleAndMessage_createsAlert 8ms
โœ… TPPAlertUtilsTests testAlert_veryLongMessage_preservesContent 14ms
โœ… TPPAlertUtilsTests testAlert_withError_createsAlert 46ms
โœ… TPPAlertUtilsTests testAlert_withNSURLErrorCancelled_setsMessage 22ms
โœ… TPPAlertUtilsTests testAlert_withNSURLErrorNotConnected_setsMessage 7ms
โœ… TPPAlertUtilsTests testAlert_withNSURLErrorTimedOut_setsMessage 11ms
โœ… TPPAlertUtilsTests testAlert_withNSURLErrorUnknownCode_setsUnknownRequestMessage 36ms
โœ… TPPAlertUtilsTests testAlert_withNSURLErrorUnsupportedURL_setsMessage 7ms
โœ… TPPAlertUtilsTests testAlert_withNilError_createsAlert 7ms
โœ… TPPAlertUtilsTests testAlert_withUnknownDomainAndLocalizedDescription_usesDescription 20ms
โœ… TPPAlertUtilsTests testAlert_withUnknownDomainNoDescription_usesGenericFallback 13ms
โœ… TPPAlertUtilsTests testBorrowErrorPipeline_doesNotDuplicateProblemDocDetail 15ms
โœ… TPPAlertUtilsTests testCrashlyticsFE741015_PresentAlertWhileAlertShowing_DoesNotCrash 102ms
โœ… TPPAlertUtilsTests testPresentAlert_WhenNoAlertShowing_PresentsSuccessfully 74ms
โœ… TPPAlertUtilsTests testRetryPresentation_AfterFirstAlertDismisses_PresentsSecond 128ms
โœ… TPPAlertUtilsTests testRetryPresentation_ExceedsMaxRetries_DropsAlertWithCompletion 149ms
โœ… TPPAlertUtilsTests testSetProblemDocument_appendMode_appendsDetailAfterExisting 5ms
โœ… TPPAlertUtilsTests testSetProblemDocument_appendMode_titleAndDetailBothAppended 8ms
โœ… TPPAlertUtilsTests testSetProblemDocument_appendsToMessage 8ms
โœ… TPPAlertUtilsTests testSetProblemDocument_emptyAlertTitle_fillsFromDoc 4ms
โœ… TPPAlertUtilsTests testSetProblemDocument_nilController_doesNotCrash 6ms
โœ… TPPAlertUtilsTests testSetProblemDocument_nilDocument_doesNotCrash 6ms
โœ… TPPAlertUtilsTests testSetProblemDocument_replaceMode_setsTitleAndDetail 8ms
โœ… TPPAlertUtilsTests testSetProblemDocument_replaceMode_titleOnly_fillsMessageFromDetail 6ms
โœ… TPPAlertUtilsTests testSetProblemDocument_replacesMessage 4ms
โœ… TPPAnnotationsHermeticTests testAnnotationsURL_WhenMainFeedURLPresent_EndsInAnnotationsPath 2ms
โœ… TPPAnnotationsHermeticTests testDeleteBookmark_InvalidURLString_ReturnsFalseWithoutNetwork 5ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_NetworkErrorWithQueueOfflineTrue_DoesNotCrashAndReportsFailure 3ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_NetworkError_ReturnsFailure 3ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Non200StatusCode_ReturnsFailure 3ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_NonHTTPURLResponse_ReturnsFailure 3ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_NotFound404_ReturnsFailure 3ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_RequestShape_PreservesMethodHeadersTimeoutAndBody 4ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Success200WithFullPayload_ReturnsIdAndTimestamp 3ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Success200WithMalformedJSON_ReturnsNilIdAndTimestamp 4ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Success200WithMissingBodyKey_ReturnsNilTimestamp 6ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Success200WithMissingIdKey_ReturnsNilId 4ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Success200WithNilData_ReturnsNilIdAndTimestamp 3ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Unauthorized401_ReturnsFailure 3ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_UsesExecutorOverride_NotShared 5ms
โœ… TPPAnnotationsOverrideTests testAnnotationDevice_FirebaseOverride_IsClearedAfterReset 5ms
โœ… TPPAnnotationsOverrideTests testAnnotationDevice_FirebaseOverride_IsUsedWhenAdobeIDIsAbsent 8ms
โœ… TPPAnnotationsOverrideTests testSyncIsPossible_ExplicitProviderArgumentBeatsOverride 178ms
โœ… TPPAnnotationsOverrideTests testSyncIsPossible_RoutesThroughAccountsManagerOverride 109ms
โœ… TPPAnnotationsTests testAnnotationResponse_HandlesNilValues 139ms
โœ… TPPAnnotationsTests testAnnotationResponse_StoresValues 129ms
โœ… TPPAnnotationsTests testTPPAnnotationsWrapper_isUsablePolymorphicallyThroughProtocolWithStableValue 153ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteAllBookmarks_CompletesImmediately 148ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteBookmark_Handles404AsSuccess 115ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteBookmark_HandlesServerError 156ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteBookmark_HandlesSuccessfulDeletion 149ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteBookmark_ReturnsFalseForInvalidURL 143ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteBookmarks_HandlesArray 160ms
โœ… TPPAnnotationsTests testTPPAnnotations_GetServerBookmarks_ParsesValidResponse 107ms
โœ… TPPAnnotationsTests testTPPAnnotations_GetServerBookmarks_ReturnsNilForNilBook 153ms
โœ… TPPAnnotationsTests testTPPAnnotations_GetServerBookmarks_ReturnsNilForNilURL 113ms
โœ… TPPAnnotationsTests testTPPAnnotations_GetServerBookmarks_ReturnsNilWhenSyncNotPermitted 123ms
โœ… TPPAnnotationsTests testTPPAnnotations_HandlesConcurrentRequests 142ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAnnotation_CreatesCorrectRequestFormat 366ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAnnotation_HandlesInvalidJSONGracefully 180ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAnnotation_HandlesNetworkError 136ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAnnotation_HandlesNon200StatusCode 222ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAnnotation_HandlesSuccessResponse 176ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAudiobookBookmark_ThrowsOnFailure 205ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostListeningPosition_CallsPostReadingPosition 90ms
โœ… TPPAnnotationsTests testTPPAnnotations_SyncIsPossible_ReturnsFalseWithoutCredentials 100ms
โœ… TPPAnnotationsTests testTPPAnnotations_SyncIsPossible_ReturnsTrueWithCredentialsAndSyncSupport 98ms
โœ… TPPAnnotationsTests testTPPAnnotations_SyncReadingPosition_ReturnsNilWhenNotPermitted 264ms
โœ… TPPAnnotationsTests testTPPAnnotations_UploadLocalBookmarks_SkipsAlreadySyncedBookmarks 145ms
โœ… TPPAnnotationsTests testTPPBookmarkFactory_FiltersBookmarksByMotivation 131ms
โœ… TPPAnnotationsTests testTPPBookmarkFactory_RejectsBookmarksForWrongBook 96ms
โœ… TPPAnnotationsTests testTPPBookmarkSpec_ReadingProgressMotivation 112ms
โœ… TPPAnnotationsTests testTPPBookmarkSpec_SerializesToValidJSON 107ms
โœ… TPPAnnouncementManagerTests testAddPresentedAnnouncement 6ms
โœ… TPPAnnouncementManagerTests testDeletePresentedAnnouncement 5ms
โœ… TPPAnnouncementManagerTests testShouldPresentAnnouncement 4ms
โœ… TPPAuthDocumentContractTests testCoverageTable_CoversEveryKnownAuthType 9ms
โœ… TPPAuthDocumentContractTests testEveryAdvertisedRel_HasAClientSideHandler 11ms
โœ… TPPAuthDocumentContractTests testLogoutRel_OnAuthWithLogoutLink_IsCapturedAsHref 13ms
โœ… TPPBackgroundExecutorTests testExecutorCallsSetUpWorkItem 1.02s
โœ… TPPBackgroundExecutorTests testExecutorDoesNotRetainOwner 535ms
โœ… TPPBackgroundExecutorTests testExecutorHandlesNilWorkItem 1.04s
โœ… TPPBadgeImageGapTests testTPPBadgeImageView_audiobook_initSucceeds 10ms
โœ… TPPBadgeImageGapTests testTPPBadgeImage_audiobook_assetNameReturnsAudiobookBadge 4ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withEmptyCredentials_usesCredential 5ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withMultipleFailures_cancelsChallenge 18ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withNilPassword_cancelsChallenge 2ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withNilUsername_cancelsChallenge 2ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withPreviousFailure_cancelsChallenge 5ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withValidCredentials_usesCredential 4ms
โœ… TPPBasicAuthTests testHandleChallenge_clientCertificate_rejectsProtectionSpace 3ms
โœ… TPPBasicAuthTests testHandleChallenge_credentials_noPersistence 6ms
โœ… TPPBasicAuthTests testHandleChallenge_serverTrust_performsDefaultHandling 5ms
โœ… TPPBasicAuthTests testHandleChallenge_unknownMethod_rejectsProtectionSpace 3ms
โœ… TPPBasicAuthTests testInit_createsInstance 4ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_audiobook_authorOnly_includesFormatAndAuthor 21ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_audiobook_narratorOnly_omitsAuthorPhrase 4ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_audiobook_neitherAuthorNorNarrator_titlePlusFormat 3ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_audiobook_withNarrator_includesNarrator 5ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_ebook_blankAuthor_titleOnly 5ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_ebook_noAuthor_titleOnly 6ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_ebook_titleByAuthor 8ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_neverIncludesSummary 9ms
โœ… TPPBookAuthorCoverageTests testBookAuthor_NilURL_IsDistinctFromEmptyURL 4ms
โœ… TPPBookAuthorCoverageTests testBookAuthor_initWithNameAndURL 4ms
โœ… TPPBookAuthorCoverageTests testBookAuthor_initWithNilURL 4ms
โœ… TPPBookAuthorTests testInit_EmptyName_AllowsEmptyString 2ms
โœ… TPPBookAuthorTests testInit_WithNameAndURL_SetsProperties 2ms
โœ… TPPBookAuthorTests testInit_WithNilURL_SetsURLToNil 4ms
โœ… TPPBookAuthorTests testIsKindOfClass_NSObject 3ms
โœ… TPPBookAuthorTests test_differentName_haveDifferentProperties 30ms
โœ… TPPBookAuthorTests test_sameNameAndURL_haveMatchingProperties 2ms
โœ… TPPBookBearerTokenTests testBearerToken_clearWithNil 7ms
โœ… TPPBookBearerTokenTests testBearerToken_defaultsToNil 10ms
โœ… TPPBookBearerTokenTests testBearerToken_writeAndRead 9ms
โœ… TPPBookBearerTokenTests testFulfillURL_clearWithNil 9ms
โœ… TPPBookBearerTokenTests testFulfillURL_defaultsToNil 6ms
โœ… TPPBookBearerTokenTests testFulfillURL_independentPerBook 10ms
โœ… TPPBookBearerTokenTests testFulfillURL_overwrite 8ms
โŠ˜ TPPBookBearerTokenTests testFulfillURL_persistsAcrossNewBookInstances 12ms
โœ… TPPBookBearerTokenTests testFulfillURL_writeAndRead 11ms
โœ… TPPBookContentMetadataFilesHelperTests testCurrentAccountDirectory_returnsURLOrNil 4ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_containsBundleIdentifier 3ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_differentAccounts_returnDifferentPaths 37ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_emptyString_handlesGracefully 8ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_longAccountId_handlesGracefully 2ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_pathContainsApplicationSupport 2ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_sameAccount_returnsSamePath 2ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_specialCharacters_handlesGracefully 5ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_validAccountId_returnsURL 4ms
โœ… TPPBookContentTypeConverterTests testStringValue_audiobook 2ms
โœ… TPPBookContentTypeConverterTests testStringValue_epub 2ms
โœ… TPPBookContentTypeConverterTests testStringValue_pdf 2ms
โœ… TPPBookContentTypeConverterTests testStringValue_unsupported 2ms
โœ… TPPBookContentTypeExtendedTests testFromMimeType_empty 2ms
โœ… TPPBookContentTypeExtendedTests testFromMimeType_epubAndPdfMappedCorrectly 2ms
โœ… TPPBookContentTypeExtendedTests testFromMimeType_nil 1ms
โœ… TPPBookContentTypeExtendedTests testFromMimeType_unknown 2ms
โœ… TPPBookContentTypeTests test_converter_audiobook_returnsAudioBook 2ms
โœ… TPPBookContentTypeTests test_converter_epub_returnsEpub 2ms
โœ… TPPBookContentTypeTests test_converter_pdf_returnsPDF 2ms
โœ… TPPBookContentTypeTests test_converter_unsupported_returnsUnsupported 3ms
โœ… TPPBookContentTypeTests test_from_audiobookJsonMimeType_returnsAudiobook 2ms
โœ… TPPBookContentTypeTests test_from_emptyMimeType_returnsUnsupported 4ms
โœ… 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 4ms
โœ… TPPBookContentTypeTests test_opdsPublicationType_withLCPEpubIndirect_producesEpubPath 52ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_DecodesJPEGAtTargetSize 54ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_DecodesPNGData 59ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_EmptyDataReturnsNil 9ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_InvalidDataReturnsNil 4ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_MemoryEfficiency_LargeImage 173ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_PreservesAspectRatio 49ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_SmallImageNotUpscaled 7ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_NilHostHandledGracefully 15ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_RecordsFailureAndSkips 4ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_ResetClearsAll 3ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_ResetsAfterCooldown 205ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_SuccessClearsFailure 4ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_TracksHostsIndependently 3ms
โœ… TPPBookCoverRegistryTests testRegistry_UsesCustomImageSession 3ms
โœ… TPPBookCreationTests testBookCreationViaDictionary 29ms
โœ… TPPBookCreationTests testBookCreationViaFactoryMethod 8ms
โœ… TPPBookCreationTests testBookCreationViaMemberWiseInitializer 6ms
โœ… TPPBookCreationTests testBookCreation_FromEntry_AudienceAbsent 6ms
โœ… TPPBookCreationTests testBookCreation_FromEntry_PopulatesAudienceAndLanguage 11ms
โœ… TPPBookCreationTests testBookCreation_RoundTripsAudienceAndLanguageThroughDictionary 11ms
โœ… TPPBookCreationTests testMergingPreservingMetadata_PrefersFreshThenSelf 6ms
โœ… TPPBookExtensionsTests test_format_forAudiobook_matchesLocalizedString 2ms
โœ… TPPBookExtensionsTests test_format_forEpub_matchesLocalizedString 3ms
โœ… TPPBookExtensionsTests test_format_forPDF_matchesLocalizedString 5ms
โœ… TPPBookExtensionsTests test_format_forUnsupported_matchesLocalizedString 1ms
โœ… TPPBookExtensionsTests test_format_isNonEmptyAndDistinguishableAcrossContentTypes 7ms
โœ… TPPBookExtensionsTests test_hasAudiobookSample_audiobookWithSample_returnsTrue 5ms
โœ… TPPBookExtensionsTests test_hasAudiobookSample_audiobookWithoutSample_returnsFalse 4ms
โœ… TPPBookExtensionsTests test_hasAudiobookSample_epubWithSample_returnsFalse 4ms
โœ… TPPBookExtensionsTests test_hasAudiobookSample_pdfWithSample_returnsFalse 4ms
โœ… TPPBookExtensionsTests test_hasSample_returnsTrueOnlyWhenSampleIsPresent_andDistinguishesAudiobook 3ms
โœ… TPPBookExtensionsTests test_hasSample_withMockerHasSampleFalse_returnsFalse 5ms
โœ… TPPBookExtensionsTests test_hasSample_withMockerHasSampleTrue_returnsTrue 4ms
โœ… TPPBookExtensionsTests test_loggableDictionary_containsExpectedKeys 3ms
โœ… TPPBookExtensionsTests test_loggableShortString_containsTitleAndId 3ms
โœ… TPPBookExtensionsTests test_sample_nilForUnsupportedContentType 2ms
โœ… TPPBookExtensionsTests test_sample_preservesURL 2ms
โœ… TPPBookExtensionsTests test_sample_returnsNilWhenNoSampleIsAvailable 3ms
โœ… TPPBookExtensionsTests test_sample_withAudiobookSample_returnsAudiobookSample 9ms
โœ… TPPBookExtensionsTests test_sample_withEpubSample_returnsEpubSample 6ms
โœ… TPPBookExtensionsTests test_showAudiobookToolbar_falseForEpubEvenWithSample 4ms
โœ… TPPBookExtensionsTests test_showAudiobookToolbar_falseWhenNoSample 5ms
โœ… TPPBookLocationCoverageTests testBookLocation_dictionaryRoundTrip 2ms
โœ… TPPBookLocationCoverageTests testBookLocation_initWithDictionary 2ms
โœ… TPPBookLocationCoverageTests testBookLocation_initWithEmptyDictionary 2ms
โœ… TPPBookLocationCoverageTests testBookLocation_initWithIncompleteDictionary 5ms
โœ… TPPBookLocationCoverageTests testBookLocation_initWithStrings 2ms
โœ… TPPBookLocationCoverageTests testBookLocation_locationStringMutation_ReflectsInDictionary 4ms
โœ… TPPBookLocationCoverageTests testBookLocation_rendererMutation_ReflectsInDictionary 2ms
โœ… TPPBookLocationEdgeCaseTests test_bookLocationData_stringForKey_missingKey_returnsNil 2ms
โœ… TPPBookLocationEdgeCaseTests test_bookLocationData_stringForKey_returnsValue 4ms
โœ… TPPBookLocationEdgeCaseTests test_bookLocationData_stringForKey_wrongType_returnsNil 2ms
โœ… TPPBookLocationEdgeCaseTests test_dictionaryRepresentation_containsExpectedKeys 2ms
โœ… TPPBookLocationEdgeCaseTests test_dictionaryRepresentation_preservesJSONContent 2ms
โœ… TPPBookLocationEdgeCaseTests test_dictionaryRepresentation_roundTrips 3ms
โœ… TPPBookLocationEdgeCaseTests test_initFromDictionary_emptyDictionary_returnsNil 2ms
โœ… TPPBookLocationEdgeCaseTests test_initFromDictionary_extraKeys_ignoresExtras 4ms
โœ… TPPBookLocationEdgeCaseTests test_initFromDictionary_missingLocationString_returnsNil 2ms
โœ… TPPBookLocationEdgeCaseTests test_initFromDictionary_missingRenderer_returnsNil 2ms
โœ… TPPBookLocationEdgeCaseTests test_initFromDictionary_withValidData_createsLocation 2ms
โœ… TPPBookLocationEdgeCaseTests test_initFromDictionary_wrongTypes_returnsNil 2ms
โœ… TPPBookLocationEdgeCaseTests test_init_withEmptyLocationString_createsLocation 2ms
โœ… TPPBookLocationEdgeCaseTests test_init_withEmptyRenderer_createsLocation 3ms
โœ… TPPBookLocationEdgeCaseTests test_init_withLongJSON_createsLocation 3ms
โœ… TPPBookLocationEdgeCaseTests test_init_withValidStringAndRenderer_createsLocation 2ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_differentContent_returnsFalse 2ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_differentRenderer_returnsFalse 3ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_identicalLocations_returnsTrue 9ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_ignoresAnnotationIdDifferences 3ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_ignoresTimeStampDifferences 5ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_nonJSONLocationString_returnsFalse 3ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_sameContentDifferentTimeStampAndAnnotationId_returnsTrue 2ms
โœ… TPPBookLocationEdgeCaseTests test_locationStringDictionary_arrayJSON_returnsNil 3ms
โœ… TPPBookLocationEdgeCaseTests test_locationStringDictionary_emptyString_returnsNil 2ms
โœ… TPPBookLocationEdgeCaseTests test_locationStringDictionary_invalidJSON_returnsNil 2ms
โœ… TPPBookLocationEdgeCaseTests test_locationStringDictionary_validJSON_returnsParsedDictionary 4ms
โœ… TPPBookLocationKeyTests testBookLocationData_stringAccessor 3ms
โœ… TPPBookLocationKeyTests testBookLocationData_stringAccessorWrongType 6ms
โœ… TPPBookLocationKeyTests testBookLocationKey_MatchesDictionaryRepresentationKeys 5ms
โœ… 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 47ms
โœ… TPPBookLocationTests testIsSimilarTo_IgnoresTimestamp 2ms
โœ… TPPBookLocationTests testIsSimilarTo_WithDifferentRenderer_ReturnsFalse 2ms
โœ… TPPBookLocationTests testIsSimilarTo_WithSameContent_ReturnsTrue 2ms
โœ… TPPBookLocationTests testLocationStringDictionary_ParsesValidJSON 2ms
โœ… TPPBookLocationTests testLocationStringDictionary_WithInvalidJSON_ReturnsNil 2ms
โœ… TPPBookModelGapTests testTPPBook_bookWithMetadata_returnsBookWithUpdatedMetadata 12ms
โœ… TPPBookModelGapTests testTPPBook_dictionaryRepresentation_producesNonEmptyDict 7ms
โœ… TPPBookModelGapTests testTPPBook_dictionaryRepresentation_roundTripPreservesKeyProperties 7ms
โœ… TPPBookModelGapTests testTPPBook_sameIdentifier_comparableEquivalent 15ms
โœ… TPPBookRegistryBookRetrievalTests testAllBooks_ReturnsRegisteredBooks 18ms
โœ… TPPBookRegistryBookRetrievalTests testBook_ForEmptyIdentifier_ReturnsNil 2ms
โœ… TPPBookRegistryBookRetrievalTests testBook_ForNilIdentifier_ReturnsNil 16ms
โœ… TPPBookRegistryBookRetrievalTests testBook_ForNonExistentIdentifier_ReturnsNil 2ms
โœ… TPPBookRegistryBookRetrievalTests testBook_ForValidIdentifier_ReturnsBook 11ms
โœ… TPPBookRegistryBookRetrievalTests testHeldBooks_ReturnsOnlyHoldingBooks 29ms
โœ… TPPBookRegistryBookRetrievalTests testMyBooks_ReturnsDownloadRelatedBooks 26ms
โœ… TPPBookRegistryBookmarkTests testAddGenericBookmark_AppendsToList 30ms
โœ… TPPBookRegistryBookmarkTests testAddOrReplaceGenericBookmark_ReplacesExisting 23ms
โœ… TPPBookRegistryBookmarkTests testAddReadiumBookmark_AppendsToList 16ms
โœ… TPPBookRegistryBookmarkTests testDeleteGenericBookmark_RemovesFromList 27ms
โœ… TPPBookRegistryBookmarkTests testDeleteReadiumBookmark_RemovesFromList 52ms
โœ… TPPBookRegistryBookmarkTests testReadiumBookmarks_SortedByProgress 14ms
โœ… TPPBookRegistryBookmarkTests testReplaceGenericBookmark_UpdatesBookmark 18ms
โœ… TPPBookRegistryCorruptedDataTests testRecordInit_WithCorruptedBookmarks_SkipsInvalid 5ms
โœ… TPPBookRegistryCorruptedDataTests testRecordInit_WithInvalidState_ReturnsNil 5ms
โœ… TPPBookRegistryCorruptedDataTests testRecordInit_WithMissingBook_ReturnsNil 5ms
โœ… TPPBookRegistryCorruptedDataTests testRecordInit_WithMissingOptionalFields_Succeeds 5ms
โœ… TPPBookRegistryCorruptedDataTests testRecordInit_WithMissingState_ReturnsNil 6ms
โœ… TPPBookRegistryDataTests testArrayForKey_ReturnsArray 3ms
โœ… TPPBookRegistryDataTests testObjectForKey_ReturnsDictionary 3ms
โœ… TPPBookRegistryDataTests testSetValue_SetsValue 7ms
โœ… TPPBookRegistryDataTests testValueForKey_ReturnsValue 2ms
โœ… TPPBookRegistryDependencyTests testAppContainer_constructionDoesNotDeadlock 4ms
โœ… TPPBookRegistryDependencyTests testAppContainer_returnsSameRegistryInstance 4ms
โœ… TPPBookRegistryDependencyTests testInit_takesAccountsManagerExplicitly 39ms
โœ… TPPBookRegistryDependencyTests testWithAccount_inheritsParentAccountsManager 8ms
โœ… TPPBookRegistryFulfillmentIdTests testFulfillmentId_ForEmptyIdentifier_ReturnsNil 4ms
โœ… TPPBookRegistryFulfillmentIdTests testFulfillmentId_ForNilIdentifier_ReturnsNil 2ms
โœ… TPPBookRegistryFulfillmentIdTests testFulfillmentId_ForNonExistentBook_ReturnsNil 2ms
โœ… TPPBookRegistryFulfillmentIdTests testSetFulfillmentId_UpdatesFulfillmentId 13ms
โœ… TPPBookRegistryLoadReentrancyTests testLoad_EmitsBookStateEventsForAllBooks 507ms
โœ… TPPBookRegistryLoadReentrancyTests testLoad_RapidCallsForSameAccount_DoesNotCrash 6ms
โœ… TPPBookRegistryLocationTests testLocation_ForNonExistentBook_ReturnsNil 3ms
โœ… TPPBookRegistryLocationTests testSetLocationSync_UpdatesSynchronously 15ms
โœ… TPPBookRegistryLocationTests testSetLocation_UpdatesLocation 73ms
โœ… TPPBookRegistryLocationTests testSetLocation_WithNil_ClearsLocation 16ms
โœ… TPPBookRegistryProcessingTests testSetProcessing_False_ClearsProcessingState 2ms
โœ… TPPBookRegistryProcessingTests testSetProcessing_TracksProcessingState 2ms
โœ… TPPBookRegistryPublisherTests testBookStatePublisher_EmitsOnBookAdd 25ms
โœ… TPPBookRegistryPublisherTests testBookStatePublisher_EmitsOnBookRemove 32ms
โœ… TPPBookRegistryPublisherTests testBookStatePublisher_EmitsOnStateChange 26ms
โœ… TPPBookRegistryPublisherTests testBookStatePublisher_MultipleStateChanges_EmitsAll 38ms
โœ… TPPBookRegistryPublisherTests testRegistryPublisher_EmitsOnBookAdd 27ms
โœ… TPPBookRegistryPublisherTests testRegistryPublisher_EmitsOnBookRemove 20ms
โœ… TPPBookRegistryRecordPersistenceTests testAllStatesSerializeCorrectly 124ms
โœ… TPPBookRegistryRecordPersistenceTests testDictionaryRepresentation_ContainsAllFields 5ms
โœ… TPPBookRegistryRecordPersistenceTests testDictionaryRoundTrip_PreservesData 11ms
โœ… TPPBookRegistryRecordTests testAllStatesCanBePreserved 53ms
โœ… TPPBookRegistryRecordTests testDeriveInitialStateForBookWithoutAcquisition 5ms
โœ… TPPBookRegistryRecordTests testDeriveInitialStateForBorrowableBook 7ms
โœ… TPPBookRegistryRecordTests testDictionaryRepresentationPreservesState 3ms
โœ… TPPBookRegistryRecordTests testInitFromDictionaryPreservesState 7ms
โœ… TPPBookRegistryRecordTests testInitPreservesDownloadFailedState 5ms
โœ… TPPBookRegistryRecordTests testInitPreservesDownloadSuccessfulState 6ms
โœ… TPPBookRegistryRecordTests testInitPreservesDownloadingState 6ms
โœ… TPPBookRegistryRecordTests testInitPreservesHoldingState 20ms
โœ… TPPBookRegistryRecordTests testInitPreservesUsedState 5ms
โœ… TPPBookRegistryStateManagementTests testAddBook_NewBook_RegistersWithCorrectState 5ms
โœ… TPPBookRegistryStateManagementTests testAddBook_WithBookmarks_StoresBookmarks 6ms
โœ… TPPBookRegistryStateManagementTests testAddBook_WithFulfillmentId_StoresFulfillmentId 6ms
โœ… TPPBookRegistryStateManagementTests testAddBook_WithLocation_StoresLocation 9ms
โœ… TPPBookRegistryStateManagementTests testRemoveBook_RemovesFromRegistry 7ms
โœ… TPPBookRegistryStateManagementTests testRemoveBook_WithEmptyIdentifier_DoesNotCrash 3ms
โœ… TPPBookRegistryStateManagementTests testSetState_ForUnregisteredBook_DoesNotCrash 2ms
โœ… TPPBookRegistryStateManagementTests testSetState_TransitionsCorrectly 6ms
โœ… TPPBookRegistryStateManagementTests testStateFor_EmptyIdentifier_ReturnsUnregistered 2ms
โœ… TPPBookRegistryStateManagementTests testStateFor_NilIdentifier_ReturnsUnregistered 2ms
โœ… TPPBookRegistryStateManagementTests testStateFor_NonExistentBook_ReturnsUnregistered 2ms
โœ… TPPBookRegistryThreadSafetyTests testCrashlytics30c41d7e_ConcurrentAddAndUpdate_DoNotCrash 67ms
โœ… TPPBookRegistryThreadSafetyTests testCrashlytics30c41d7e_RapidRegistryMutations_DoNotCrashPublisher 220ms
โœ… TPPBookRegistryThreadSafetyTests testRegistryPublisher_EmitsConsistentSnapshots_DuringRapidMutations 89ms
โœ… TPPBookRegistryUpdateAndRemoveTests testUpdateAndRemoveBook_SetsStateToUnregistered 37ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_falseForLCPBook 6ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_falseForOpenAccessAudiobook 2ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_falseForOpenAccessBook 2ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_falseWhenNoAdobeAcquisitionsPresent 2ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_trueForAdobeAdeptBook 2ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_trueForOPDSFixtureEntry 2ms
โœ… TPPBookSerializationTests test_categoryStrings_returnsCategories 2ms
โœ… TPPBookSerializationTests test_comparable_sortsAlphabeticallyByTitle 2ms
โœ… TPPBookSerializationTests test_defaultBookContentType_forAudiobook_returnsAudiobook 6ms
โœ… TPPBookSerializationTests test_defaultBookContentType_forEpub_returnsEpub 3ms
โœ… TPPBookSerializationTests test_dictionaryRoundTrip_preservesAllFields 4ms
โœ… TPPBookSerializationTests test_dictionaryRoundTrip_preservesIdentifier 4ms
โœ… TPPBookSerializationTests test_dictionaryRoundTrip_preservesUpdatedTimestamp 3ms
โœ… TPPBookSerializationTests test_initFromDictionary_missingCategories_usesEmptyArray 2ms
โœ… TPPBookSerializationTests test_initFromDictionary_missingId_returnsNil 5ms
โœ… TPPBookSerializationTests test_initFromDictionary_missingTitle_returnsNil 24ms
โœ… TPPBookSerializationTests test_initFromDictionary_missingUpdated_fallsBackToDistantPast 8ms
โœ… TPPBookSerializationTests test_initFromDictionary_updatedBareDate_parsesSuccessfully 10ms
โœ… TPPBookSerializationTests test_initFromDictionary_updatedFullRFC3339Datetime_parsesSuccessfully 3ms
โœ… TPPBookStateInitializationTests testStateInit_FromInvalidString_ReturnsNil 3ms
โœ… TPPBookStateInitializationTests testStateInit_FromValidStrings 2ms
โœ… TPPBookStateInitializationTests testStateRoundTrip_AllStates 4ms
โœ… TPPBookStateInitializationTests testStateStringValue_ReturnsCorrectString 2ms
โœ… TPPBookStateTests testAllBookState 2ms
โœ… TPPBookStateTests testBookStateFromString 2ms
โœ… TPPBookStateTests testInitWithString 3ms
โœ… TPPBookStateTests testStringValue 2ms
โœ… TPPBookTests test_authorLinkArray_excludesNilURLs 4ms
โœ… TPPBookTests test_authorLinkArray_returnsURLStrings 3ms
โœ… TPPBookTests test_authorNameArray_nilWhenNoAuthors 2ms
โœ… TPPBookTests test_authorNameArray_returnsNames 2ms
โœ… TPPBookTests test_authors_joinsNamesWithSemicolon 15ms
โœ… TPPBookTests test_authors_nilWhenNoAuthors 2ms
โœ… TPPBookTests test_authors_singleAuthor 3ms
โœ… TPPBookTests test_availabilityDetails_defaultValues 2ms
โœ… TPPBookTests test_bookWithMetadata_preservesSelfIdentifierAndAcquisitions 2ms
โœ… TPPBookTests test_bookWithMetadata_preservesSelfRevokeReportAndTimeTrackingURLs 3ms
โœ… TPPBookTests test_bookWithMetadata_takesImageURLsFromMetadataBook 2ms
โœ… TPPBookTests test_bookWithMetadata_takesMetadataFromOtherBook 2ms
โœ… TPPBookTests test_categories_joinsWithSemicolon 3ms
โœ… TPPBookTests test_categories_nilWhenNil 2ms
โœ… TPPBookTests test_categoryStringsFromCategories_emptyArrayReturnsEmpty 2ms
โœ… TPPBookTests test_categoryStringsFromCategories_extractsLabelsFromSimplifiedScheme 2ms
โœ… TPPBookTests test_categoryStringsFromCategories_filtersOutUnknownSchemes 1ms
โœ… TPPBookTests test_categoryStringsFromCategories_includesCategoriesWithNilScheme 2ms
โœ… TPPBookTests test_categoryStringsFromCategories_usesTermWhenNoLabel 2ms
โœ… TPPBookTests test_clearCachedImages_removesAllKeysFromCache 3ms
โœ… TPPBookTests test_comparable_equalIdentifiersNotLessThan 2ms
โœ… TPPBookTests test_comparable_ordersById 3ms
โœ… TPPBookTests test_comparable_sortingMultipleBooks 3ms
โœ… TPPBookTests test_defaultAcquisitionIfBorrow_nilWhenOpenAccess 2ms
โœ… TPPBookTests test_defaultAcquisitionIfBorrow_returnsAcquisitionWhenBorrow 3ms
โœ… TPPBookTests test_defaultAcquisitionIfOpenAccess_nilWhenBorrow 4ms
โœ… TPPBookTests test_defaultAcquisitionIfOpenAccess_returnsWhenOpenAccess 4ms
โœ… TPPBookTests test_defaultBookContentType_audiobook 4ms
โœ… TPPBookTests test_defaultBookContentType_epub 5ms
โœ… TPPBookTests test_defaultBookContentType_pdf 5ms
โœ… TPPBookTests test_defaultBookContentType_unsupportedWhenNoAcquisitions 3ms
โœ… TPPBookTests test_dictionaryInit_handlesFlatAuthorArrayFormat 4ms
โœ… TPPBookTests test_dictionaryInit_handlesNestedAuthorArrayFormat 6ms
โœ… TPPBookTests test_dictionaryInit_nilWhenMissingId 12ms
โœ… TPPBookTests test_dictionaryInit_nilWhenMissingTitle 3ms
โœ… TPPBookTests test_dictionaryInit_salvagesWhenCategoriesMissing 5ms
โœ… TPPBookTests test_dictionaryInit_salvagesWhenUpdatedMissing 4ms
โœ… TPPBookTests test_dictionaryRepresentation_containsRequiredKeys 4ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesAuthors 8ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesCategories 2ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesDistributor 3ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesIdentifierAndTitle 7ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesOptionalURLs 2ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesSubtitleAndSummary 4ms
โœ… TPPBookTests test_getAvailabilityDetails_nilForUnlimitedAvailability 3ms
โœ… TPPBookTests test_getAvailabilityDetails_populatesForLimitedAvailability 4ms
โœ… TPPBookTests test_getExpirationDate_nilForUnlimitedAvailability 4ms
โœ… TPPBookTests test_getExpirationDate_returnsDateForLimitedAvailability 11ms
โœ… TPPBookTests test_getExpirationDate_returnsRawUntilDate_andIsExpiredFlagsPastDates 3ms
โœ… TPPBookTests test_getReservationDetails_populatesFromReservedAvailability 8ms
โœ… TPPBookTests test_getReservationDetails_timeUnitPluralForMultipleDays 3ms
โœ… TPPBookTests test_getReservationDetails_timeUnitSingularForOneDay 2ms
โœ… TPPBookTests test_getReservationDetails_zeroValuesForUnlimitedAvailability 2ms
โœ… TPPBookTests test_hasDuration_falseWhenDurationEmpty 2ms
โœ… TPPBookTests test_hasDuration_falseWhenDurationNil 2ms
โœ… TPPBookTests test_hasDuration_trueWhenDurationSet 3ms
โœ… TPPBookTests test_identifiable_conformance 7ms
โœ… TPPBookTests test_isAudiobook_falseForEpub 2ms
โœ… TPPBookTests test_isAudiobook_falseForPDF 4ms
โœ… TPPBookTests test_isAudiobook_trueForAudiobookContentType 4ms
โœ… TPPBookTests test_isExpired_falseWhenNoExpiration 4ms
โœ… TPPBookTests test_mergingPreservingMetadata_carriesCoverImageFromSelf 29ms
โœ… TPPBookTests test_mergingPreservingMetadata_fallsBackToFreshCoverImage 3ms
โœ… TPPBookTests test_mergingPreservingMetadata_preservesRichSelfFieldsWhenFreshIsEmpty 6ms
โœ… TPPBookTests test_mergingPreservingMetadata_preservesSelfAuthorsWhenFreshIsEmpty 3ms
โœ… TPPBookTests test_mergingPreservingMetadata_preservesSelfAuthorsWhenFreshIsNil 3ms
โœ… TPPBookTests test_mergingPreservingMetadata_preservesSelfIdentifier 4ms
โœ… TPPBookTests test_mergingPreservingMetadata_takesFreshAuthorsWhenPresent 2ms
โœ… TPPBookTests test_mergingPreservingMetadata_usesFreshUpdatedTimestamp 2ms
โœ… TPPBookTests test_narrators_joinsContributorsNrt 22ms
โœ… TPPBookTests test_narrators_nilWhenNoContributors 3ms
โœ… TPPBookTests test_narrators_nilWhenNoNrtKey 2ms
โœ… TPPBookTests test_ordinalString_eleventh 2ms
โœ… TPPBookTests test_ordinalString_first 2ms
โœ… TPPBookTests test_ordinalString_hundredAndFirst 3ms
โœ… TPPBookTests test_ordinalString_second 4ms
โœ… TPPBookTests test_ordinalString_third 18ms
โœ… TPPBookTests test_ordinalString_thirteenth 2ms
โœ… TPPBookTests test_ordinalString_twelfth 2ms
โœ… TPPBookTests test_ordinalString_twentyFirst 4ms
โœ… TPPBookTests test_reservationDetails_defaultValues 2ms
โœ… TPPBookTests test_sampleAcquisition_nilWhenNoSampleOrPreview 3ms
โœ… TPPBookTests test_sampleAcquisition_returnsPreviewLinkAsFallback 3ms
โœ… TPPBookmarkDeletionLogTests testClearAllDeletions_OnlyAffectsSpecifiedBook 8ms
โœ… TPPBookmarkDeletionLogTests testClearAllDeletions_RemovesAllForBook 8ms
โœ… TPPBookmarkDeletionLogTests testClearDeletion_RemovesSpecificAnnotation 6ms
โœ… TPPBookmarkDeletionLogTests testLogDeletion_AddsToPendingDeletions 8ms
โœ… TPPBookmarkDeletionLogTests testLogDeletion_HandlesDuplicates 9ms
โœ… TPPBookmarkDeletionLogTests testLogDeletion_IgnoresEmptyAnnotationId 7ms
โœ… TPPBookmarkDeletionLogTests testLogDeletion_MultipleDeletionsForSameBook 10ms
โœ… TPPBookmarkDeletionLogTests testPP3555_ClearAllDeletionsOnBookReturn 14ms
โœ… TPPBookmarkDeletionLogTests testPP3555_DeletionLogTracksBookmarksForServerDeletion 12ms
โœ… TPPBookmarkDeletionLogTests testPendingDeletions_ReturnsEmptyForUnknownBook 6ms
โœ… TPPBookmarkDeletionLogTests testThreadSafety_ConcurrentWrites 55ms
โœ… TPPBookmarkFactoryInitTests testInit_StoresProperties 14ms
โœ… TPPBookmarkFactoryInitTests testInit_WithNilDeviceId_CreatesFactory 3ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests testMakeFromServerAnnotation_DoubleProgressValue_ConvertsToFloat 8ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests testMakeFromServerAnnotation_EmptyHref_CreatesBookmarkWithEmptyHref 6ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests testMakeFromServerAnnotation_MissingProgressValues_UsesDefaults 7ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests testMakeFromServerAnnotation_ProgressFromBodyFallback 8ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests testMakeFromServerAnnotation_WithReadingOrderItem_IncludesIt 6ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_ExtractsChapterTitle 4ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_InvalidSelectorJSON_ReturnsNil 9ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MismatchedBookId_ReturnsNil 3ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MismatchedMotivation_ReturnsNil 3ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MissingAnnotationId_ReturnsNil 7ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MissingBody_ReturnsNil 4ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MissingSelector_ReturnsNil 4ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MissingTarget_ReturnsNil 7ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_ReadingProgress_CreatesBookmark 3ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_ValidBookmark_CreatesBookmark 33ms
โœ… TPPBookmarkFactoryTests testMake_FromR3Location_CreatesBookmark 31ms
โœ… TPPBookmarkFactoryTests testMake_FromR3Location_GeneratesLocationFromLocator 25ms
โœ… TPPBookmarkFactoryTests testMake_FromR3Location_UsesCreationDate 28ms
โœ… TPPBookmarkFactoryTests testMake_FromR3Location_WithNilProgression_ReturnsNil 2ms
โœ… TPPBookmarkFactoryTests testMake_FromR3Location_WithPagePosition_IncludesPage 6ms
โœ… TPPBookmarkR3ConversionTests testConvertToR3_bookmarkNotInPublication_returnsNil 4ms
โœ… TPPBookmarkR3ConversionTests testConvertToR3_parsesTimeCorrectly 5ms
โœ… TPPBookmarkR3ConversionTests testConvertToR3_preservesChapterTitle 15ms
โœ… TPPBookmarkR3ConversionTests testConvertToR3_preservesProgressionValues 6ms
โœ… TPPBookmarkR3ConversionTests testConvertToR3_validBookmark_createsR3Location 6ms
โœ… TPPBookmarkR3LocationTests testFrom_emptyReadingOrder_returnsNil 15ms
โœ… TPPBookmarkR3LocationTests testFrom_firstChapter_returnsIndexZero 3ms
โœ… TPPBookmarkR3LocationTests testFrom_lastChapter_returnsCorrectIndex 3ms
โœ… TPPBookmarkR3LocationTests testFrom_locatorNotInPublication_returnsNil 4ms
โœ… TPPBookmarkR3LocationTests testFrom_locatorWithDifferentMediaType_findsMatchByHref 2ms
โœ… TPPBookmarkR3LocationTests testFrom_validLocatorInPublication_createsLocation 3ms
โœ… TPPBookmarkR3LocationTests testFrom_withCustomCreationDate_usesProvidedDate 2ms
โœ… TPPBookmarkR3LocationTests testInit_preservesResourceIndex 2ms
โœ… TPPBookmarkR3LocationTests testInit_withDefaultCreationDate_usesCurrentDate 2ms
โœ… TPPBookmarkR3LocationTests testInit_withValidParameters_createsLocation 5ms
โœ… TPPBookmarkR3LocationTests testLocator_preservesMediaType 6ms
โœ… TPPBookmarkR3LocationTests testLocator_preservesProgression 2ms
โœ… TPPBookmarkR3LocationTests testLocator_preservesTitle 2ms
โœ… TPPBookmarkSpecTests testBookmarkMotivationKeyword 5ms
โœ… TPPCachingTests testMaxAgeExtraction 4ms
โœ… TPPCachingTests testResponseModification 8ms
โœ… TPPCachingTests testSufficientCacheHeaders 4ms
โœ… TPPCapturedCredentialsTests testFinalizeSignIn_fallsBackToUIDelegate_whenCapturedNil 107ms
โœ… TPPCapturedCredentialsTests testFinalizeSignIn_usesCapturedCredentials_whenUIDelegateCleared 150ms
โœ… TPPCapturedCredentialsTests testLogIn_refreshesCapturedCredentials_onSubsequentAttempts 315ms
โœ… TPPCapturedCredentialsTests testUpdateUserAccount_usesAtomicUpdateWithCorrectLibraryUUID 128ms
โœ… TPPCapturedCredentialsTests testUpdateUserAccount_withAuthToken_savesAllCredentials 110ms
โœ… TPPConfigurationTests test_accentColor_returnsValidUIColor 4ms
โœ… TPPConfigurationTests test_appearanceWithBackgroundColor_usesProvidedColor 42ms
โœ… TPPConfigurationTests test_backgroundColor_returnsValidUIColor 6ms
โœ… TPPConfigurationTests test_backgroundMediaOverlayHighlightColor_returnsValidUIColor 2ms
โœ… TPPConfigurationTests test_betaUrlHash_isNonEmpty 4ms
โœ… TPPConfigurationTests test_betaUrl_isValid 2ms
โœ… TPPConfigurationTests test_boldSystemFontName_returnsNonEmptyString 2ms
โœ… TPPConfigurationTests test_defaultAppearance_returnsConfiguredAppearance 17ms
โœ… TPPConfigurationTests test_defaultBookmarkRowHeight_returnsPositiveValue 2ms
โœ… TPPConfigurationTests test_defaultTOCRowHeight_returnsPositiveValue 2ms
โœ… TPPConfigurationTests test_mainColor_returnsValidUIColor 8ms
โœ… TPPConfigurationTests test_palaceRed_returnsValidUIColor 8ms
โœ… TPPConfigurationTests test_prodUrlHash_isDeterministic 2ms
โœ… TPPConfigurationTests test_prodUrlHash_isNonEmpty 3ms
โœ… TPPConfigurationTests test_prodUrl_isValid 3ms
โœ… TPPConfigurationTests test_readerBackgroundColor_returnsValidUIColor 7ms
โœ… TPPConfigurationTests test_readerBackgroundDarkColor_returnsValidUIColor 3ms
โœ… TPPConfigurationTests test_readerBackgroundSepiaColor_returnsValidUIColor 3ms
โœ… TPPConfigurationTests test_semiBoldSystemFontName_returnsNonEmptyString 5ms
โœ… TPPConfigurationTests test_systemFontFamilyName_returnsNonEmptyString 4ms
โœ… TPPConfigurationTests test_systemFontFamilyName_returnsOpenSans 6ms
โœ… TPPConfigurationTests test_systemFontName_returnsNonEmptyString 6ms
โœ… TPPContentTypeTests testFrom_EmptyString_ReturnsUnsupported 2ms
โœ… TPPContentTypeTests testFrom_EpubZip_ReturnsEpub 2ms
โœ… TPPContentTypeTests testFrom_NilMimeType_ReturnsUnsupported 3ms
โœ… TPPContentTypeTests testFrom_OctetStream_ReturnsEpub 4ms
โœ… TPPContentTypeTests testFrom_OpenAccessAudiobook_ReturnsAudiobook 3ms
โœ… TPPContentTypeTests testFrom_OpenAccessPDF_ReturnsPDF 9ms
โœ… TPPContentTypeTests testFrom_UnknownMimeType_ReturnsUnsupported 3ms
โœ… TPPCredentialConcurrencyTests testAtomicUpdate_writesAreVisibleInSnapshot 3ms
โœ… TPPCredentialConcurrencyTests testConcurrentRefreshCredentials_doesNotCrash 7ms
โœ… TPPCredentialConcurrencyTests testConcurrentSnapshots_returnConsistentData 3ms
โŠ˜ TPPCredentialIsolationE2ETests testMarkCredentialsStale_doesNotAffectOtherAccount 31ms
โŠ˜ TPPCredentialIsolationE2ETests testRapidSwitching_500Iterations_noContamination 38ms
โŠ˜ TPPCredentialIsolationE2ETests testSignInA_switchB_signInB_signOutB_verifyAIntact 29ms
โŠ˜ TPPCredentialIsolationE2ETests testSignInA_switchToB_signInB_verifyAIntact 37ms
โŠ˜ TPPCredentialIsolationE2ETests testThreeLibraries_allIsolated 38ms
โœ… TPPCredentialPersistenceTests testFullSignInFlow_authStateIsLoggedIn 121ms
โœ… TPPCredentialPersistenceTests testFullSignInFlow_completionCalledOnce 204ms
โœ… TPPCredentialPersistenceTests testFullSignInFlow_credentialsRemainAccessible 176ms
โœ… TPPCredentialPersistenceTests testUpdateUserAccount_basicAuth_setsCredentialsAndAuthState 188ms
โœ… TPPCredentialPersistenceTests testUpdateUserAccount_credentialsPersistedAndRefreshable 138ms
โœ… TPPCredentialPersistenceTests testUpdateUserAccount_noSelectedAuth_stillMarksLoggedIn 161ms
โŠ˜ TPPCredentialSnapshotCoherenceTests testCredentialSnapshot_AuthStateTransitions_ArePeerVisible 6ms
โŠ˜ TPPCredentialSnapshotCoherenceTests testCredentialSnapshot_ReflectsRemoveAllFromPeerInstance 18ms
โŠ˜ TPPCredentialSnapshotCoherenceTests testCredentialSnapshot_ReflectsWriteFromPeerInstance 34ms
โœ… TPPCredentialSnapshotTests testSnapshot_identifiesTokenCredentials 107ms
โœ… TPPCredentialSnapshotTests testSnapshot_isSignedInLogic_OAuth_stale 2ms
โœ… TPPCredentialSnapshotTests testSnapshot_isSignedInLogic_basicAuth 13ms
โœ… TPPCredentialSnapshotTests testSnapshot_isSignedInLogic_basicAuth_stale 2ms
โœ… TPPCredentialSnapshotTests testSnapshot_isSignedInLogic_loggedOut 4ms
โœ… TPPCredentialSnapshotTests testSnapshot_reportsNoCredentials 2ms
โœ… TPPCredentialSnapshotTests testSnapshot_returnsAuthState 2ms
โœ… TPPCredentialSnapshotTests testSnapshot_returnsCredentialsAfterSet 2ms
โœ… TPPCredentialsCoverageTests testBarcodeAndPin_codableRoundTrip 4ms
โœ… TPPCredentialsCoverageTests testBarcodeAndPin_storesFields 3ms
โœ… TPPCredentialsCoverageTests testCookies_codableRoundTrip 15ms
โœ… TPPCredentialsCoverageTests testCookies_storesCookies 2ms
โœ… TPPCredentialsCoverageTests testToken_codableRoundTrip 3ms
โœ… TPPCredentialsCoverageTests testToken_nilOptionals_codableRoundTrip 6ms
โœ… TPPCredentialsCoverageTests testToken_optionalDefaults 5ms
โœ… TPPCredentialsCoverageTests testToken_storesFields 4ms
โœ… TPPCredentialsCoverageTests testTypeID_rawValues 3ms
โœ… TPPCredentialsTests testBarcodeAndPin_WithEmptyValues_StoresEmptyStrings 2ms
โœ… TPPCredentialsTests testBarcodeAndPin_WithSpecialCharacters_PreservesCharacters 34ms
โœ… TPPCredentialsTests testBarcodeAndPin_WithValidData_StoresValues 2ms
โœ… TPPCredentialsTests testCookies_WithEmptyArray_StoresEmptyArray 2ms
โœ… TPPCredentialsTests testCookies_WithMultipleCookies_StoresAllCookies 2ms
โœ… TPPCredentialsTests testCookies_WithValidCookies_StoresCookies 2ms
โœ… TPPCredentialsTests testDecode_WithInvalidTypeID_ThrowsError 5ms
โœ… TPPCredentialsTests testDecode_WithMissingType_ThrowsError 3ms
โœ… TPPCredentialsTests testEncodeDecode_BarcodeAndPin_PreservesValues 3ms
โœ… TPPCredentialsTests testEncodeDecode_BarcodeAndPin_WithEmptyStrings 5ms
โœ… TPPCredentialsTests testEncodeDecode_BarcodeAndPin_WithLongStrings 4ms
โœ… TPPCredentialsTests testEncodeDecode_Cookies_WithEmptyArray 6ms
โœ… TPPCredentialsTests testEncodeDecode_Cookies_WithMultipleCookies 8ms
โœ… TPPCredentialsTests testEncodeDecode_Cookies_WithValidCookies 6ms
โœ… TPPCredentialsTests testEncodeDecode_Token_ExpirationDatePrecision 5ms
โœ… TPPCredentialsTests testEncodeDecode_Token_WithAllProperties 4ms
โœ… TPPCredentialsTests testEncodeDecode_Token_WithEmptyAuthToken 3ms
โœ… TPPCredentialsTests testEncodeDecode_Token_WithNilOptionals 3ms
โœ… TPPCredentialsTests testEncodeDecode_Token_WithSpecialCharacters 2ms
โœ… TPPCredentialsTests testEncodeDecode_Token_WithUnicodeCharacters 5ms
โœ… TPPCredentialsTests testToken_WithAllProperties_StoresValues 5ms
โœ… TPPCredentialsTests testToken_WithEmptyAuthToken_StoresEmptyString 15ms
โœ… TPPCredentialsTests testToken_WithOnlyAuthToken_StoresNilOptionals 4ms
โœ… TPPCredentialsTests testTypeID_BarcodeAndPinHasCorrectRawValue 3ms
โœ… TPPCredentialsTests testTypeID_CookiesHasCorrectRawValue 3ms
โœ… TPPCredentialsTests testTypeID_TokenHasCorrectRawValue 2ms
โœ… TPPCrossLibrarySignOutTests testMultiLibraryMock_returnsSeparateAccountsPerUUID 103ms
โœ… TPPCrossLibrarySignOutTests testSequentialSignOuts_ofMultipleLibraries_clearCorrectCredentials 151ms
โœ… TPPCrossLibrarySignOutTests testSignOut_ofNonActiveLibrary_doesNotClearActiveLibraryCredentials 111ms
โœ… TPPCrossLibrarySignOutTests testSignOut_ofNonActiveOAuthLibrary_doesNotClearActiveLibraryToken 136ms
โœ… TPPCrossLibrarySignOutTests testSignOut_ofNonActiveSAMLLibrary_doesNotClearActiveLibraryCookies 116ms
โœ… TPPCrossLibrarySignOutTests testUserAccount_isScopedToLibraryAccountID 124ms
โœ… TPPDRMFailureCredentialPreservationTests testUpdateUserAccount_drmFailure_doesNotChangeAuthState 123ms
โœ… TPPDRMFailureCredentialPreservationTests testUpdateUserAccount_drmFailure_doesNotWipeExistingCredentials 117ms
โœ… TPPDRMFailureCredentialPreservationTests testUpdateUserAccount_drmFailure_noExistingCredentials_noWipe 129ms
โœ… TPPDRMFailureCredentialPreservationTests testUpdateUserAccount_drmSuccess_doesSaveCredentials 141ms
โœ… TPPEncryptedPDFDataProviderTests test_dataProvider_returnsValidCGDataProvider 23ms
โœ… TPPEncryptedPDFDataProviderTests test_initWithEmptyData_succeeds 5ms
โœ… TPPEncryptedPDFDataProviderTests test_initWithValidData_succeeds 2ms
โœ… TPPErrorLoggerTests testClientDomain_isCorrect 2ms
โœ… TPPErrorLoggerTests testErrorCode_appLaunchAndRegistryCodesAreDistinct 2ms
โœ… TPPErrorLoggerTests testErrorCode_drmCodesAreSeparateFromNetworking 4ms
โœ… TPPErrorLoggerTests testErrorCode_ignoreProducesNoError 3ms
โœ… TPPErrorLoggerTests testErrorCode_imageLoadingCodesAreUnique 3ms
โœ… TPPErrorLoggerTests testErrorCode_networkingCodesAreUnique 2ms
โœ… TPPErrorLoggerTests testErrorCode_parseAndImageGroupsDoNotOverlap 3ms
โœ… TPPErrorLoggerTests testErrorCode_parseFailureCodesAreUnique 4ms
โœ… TPPErrorLoggerTests testErrorCode_signInCodesAreDistinct 2ms
โœ… TPPErrorLoggerTests testErrorCodes_areUnique 5ms
โœ… TPPErrorLoggerTests testImageDecodeFail_doesNotCrash 33ms
โœ… TPPErrorLoggerTests testImageHostFailure_isThrottled 13ms
โœ… TPPErrorLoggerTests testLogBarcodeException_doesNotCrash 35ms
โœ… TPPErrorLoggerTests testLogError_withCodeAndSummary_doesNotCrash 6ms
โœ… TPPErrorLoggerTests testLogError_withErrorAndSummary_doesNotCrash 9ms
โœ… TPPErrorLoggerTests testLogInvalidLicensor_doesNotCrash 17ms
โœ… TPPErrorLoggerTests testLogInvalidLicensor_withNilAccountID_doesNotCrash 23ms
โœ… TPPErrorLoggerTests testLogLocalAuthFailed_doesNotCrash 8ms
โœ… TPPErrorLoggerTests testLogLoginError_withProblemDocument_doesNotCrash 7ms
โœ… TPPErrorLoggerTests testLogNetworkError_doesNotCrash 11ms
โœ… TPPErrorLoggerTests testLogNetworkError_withIgnoreCode_usesApiCallCode 11ms
โœ… TPPErrorLoggerTests testLogNetworkError_withNilSummary_usesDefault 14ms
โœ… TPPErrorLoggerTests testLogProblemDocumentParseError_doesNotCrash 29ms
โœ… TPPErrorLoggerTests testLogProblemDocumentParseError_withNilData_doesNotCrash 11ms
โœ… TPPErrorLoggerTests testSeverity_errorStringValue 4ms
โœ… TPPErrorLoggerTests testSeverity_infoStringValue 2ms
โœ… TPPErrorLoggerTests testSeverity_warningStringValue 5ms
โœ… TPPIdleSignOutRegressionTests testCancelPendingSignOut_preventsCredentialCleanup 185ms
โœ… TPPIdleSignOutRegressionTests testNormalSignOut_stillClearsCredentials 194ms
โœ… TPPIdleSignOutRegressionTests testOAuthSignOut401_clearsTokenCredentials 222ms
โœ… TPPIdleSignOutRegressionTests testRaceCondition_signInDuringPendingDeauth_preservesNewCredentials 278ms
โœ… TPPIdleSignOutRegressionTests testRapidSignOutSignInCycles_doNotCorruptState 273ms
โœ… TPPIdleSignOutRegressionTests testSignOut401_clearsCredentials 188ms
โœ… TPPIdleSignOutRegressionTests testSignOut401_deauthorizesDeviceWithLicensor 165ms
โœ… TPPIdleSignOutRegressionTests testSignOut401_doesNotShowUnexpectedCredentialsError 172ms
โœ… TPPIdleSignOutRegressionTests testSignOut500_showsErrorToUser 235ms
โœ… TPPIdleSignOutRegressionTests testSignOutSignInCycle_licensorPreservedForBorrow 193ms
โœ… TPPIdleSignOutRegressionTests testSignOut_alwaysCallsDidFinishDeauthorizing 220ms
โœ… TPPIdleSignOutRegressionTests testSignOut_withNoDRMAuthorizer_completes 178ms
โœ… TPPIdleSignOutRegressionTests testStaleSignOut_stillCallsDidFinishDeauthorizing 196ms
โœ… TPPJWKConversionTest testJWKConversion 30ms
โœ… TPPKeychainManagerTests testLogKeychainError_doesNotCrash_withEmptyMessage 12ms
โœ… TPPKeychainManagerTests testLogKeychainError_doesNotCrash_withEmptyVendor 12ms
โœ… TPPKeychainManagerTests testLogKeychainError_doesNotCrash_withKnownStatuses 67ms
โœ… TPPKeychainManagerTests testLogKeychainError_doesNotCrash_withUnknownStatus 17ms
โœ… TPPKeychainManagerTests testSecClassItems_coversAllExpectedTypes 5ms
โœ… TPPLastReadPositionPosterTests testStoreReadPosition_multipleCalls_updatesLocation 3ms
โœ… TPPLastReadPositionPosterTests testStoreReadPosition_positiveProgression_stores 5ms
โœ… TPPLastReadPositionPosterTests testStoreReadPosition_validLocator_savesToRegistry 3ms
โœ… TPPLastReadPositionPosterTests testStoreReadPosition_zeroProgressionNoCssSelector_doesNotStore 2ms
โœ… TPPLastReadPositionPosterTests testStoreReadPosition_zeroProgression_withCssSelector_savesToRegistry 3ms
โœ… TPPLastReadPositionPosterTests testThrottlingInterval_hasReasonableValue 4ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests testRealSynchronizer_Init_Succeeds 4ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests testRealSynchronizer_MultipleBooks_IndependentLocations 4ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests testRealSynchronizer_WithEmptyRegistry_DoesNotCrash 4ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests testRealSynchronizer_WithManyBooks_PerformsEfficiently 54ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests testRealSynchronizer_WithRegistryContainingBook_AccessesLocation 3ms
โœ… TPPLastReadPositionSynchronizerTests testBookRegistry_GetLocation_ForNonexistentBook_ReturnsNil 4ms
โœ… TPPLastReadPositionSynchronizerTests testBookRegistry_SetLocationToNil_ClearsPosition 4ms
โœ… TPPLastReadPositionSynchronizerTests testBookRegistry_SetLocation_UpdatesPosition 4ms
โœ… TPPLastReadPositionSynchronizerTests testBookRegistry_StoresLocation 24ms
โœ… TPPLastReadPositionSynchronizerTests testBookRegistry_UpdateLocation_OverwritesPrevious 3ms
โœ… TPPLastReadPositionSynchronizerTests testReadiumBookmark_StoresAllProperties 4ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenBothDeviceIDsNilButLocalExists_ReturnsTrue 6ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenDifferentDeviceWithDifferentPosition_ReturnsTrue 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenDifferentDeviceWithNoLocalPosition_ReturnsTrue 6ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenNilLocalDeviceIDAndServerHasDevice_ReturnsTrue 3ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenPositionsMatchExactly_RegardlessOfDevice_ReturnsFalse 3ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenSameDeviceWithLocalPosition_ReturnsFalse 4ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenSameDeviceWithNoLocalPosition_ReturnsTrue 3ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerBookmarkHasEmptyDevice_AndLocalDeviceEmpty_ReturnsFalse 3ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerDeviceIsNilAndLocalDeviceIDEmpty_ReturnsFalse 3ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerHasNoPositionAndNilDeviceID_ReturnsFalse 3ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerHasNoPositionAndNoLocalPosition_ReturnsFalse 4ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerHasNoPosition_ReturnsFalse 5ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerPositionMatchesLocal_ReturnsFalse 8ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerReturnsNilOnError_ReturnsFalse 3ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WithMatchingLocation_StillComparesAsStrings 4ms
โœ… TPPLastReadPositionSynchronizerTests testSynchronizer_Init_AcceptsDifferentRegistryImplementations 13ms
โœ… TPPLastReadPositionSynchronizerTests testSynchronizer_Init_StoresBookRegistry 2ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests testBehavior_DifferentDevice_UserShouldBePrompted 4ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests testBehavior_FreshDevice_ShouldSyncFromServer 5ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests testBehavior_IdenticalPositions_NoPromptNeeded 4ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests testBehavior_NoServerPosition_NoSync 3ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests testBehavior_SameDevice_LocalPositionIsAuthoritative 3ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_Creation_WithValidParameters 4ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_DictionaryRepresentation_ContainsRequiredKeys 2ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_DifferentLocationStrings_AreNotEqual 3ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_EmptyLocationString_IsValid 2ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_FromDictionary_CreatesValidLocation 2ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_FromDictionary_WithMissingKeys_ReturnsNil 2ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_LocationStringEquality_MatchesExactly 3ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_R3Renderer_HasCorrectValue 2ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_VeryLongLocationString_IsHandled 2ms
โœ… TPPLastReadPositionSynchronizer_ConcurrencyTests testConcurrentLocationUpdates_DoNotCrash 10ms
โœ… TPPLastReadPositionSynchronizer_ConcurrencyTests testConcurrentSyncDecisions_AreConsistent 15ms
โœ… TPPLastReadPositionSynchronizer_ConcurrencyTests testMultipleSynchronizersWithSameRegistry_DoNotConflict 7ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_DeviceProperty_WithNilDevice_ReturnsNil 8ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_DictionaryRepresentation_ContainsAllKeys 5ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_Equality_SameAnnotationId 5ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_FullProgress_FormatsAs100 4ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_Init_WithNilHref_ReturnsNil 2ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_Init_WithValidParameters 3ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_PercentInBook_FormatsCorrectly 3ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_PercentInChapter_FormatsCorrectly 20ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_ZeroProgress_FormatsAsZero 6ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_DeviceCheckTakesPrecedenceOverLocationMatch 6ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_DeviceIDCaseSensitivity 2ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_DeviceIDWithSpecialCharacters 2ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_LocationMatchPreventsSync_EvenFromDifferentDevice 9ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_LocationWithWhitespace_ExactMatchRequired 93ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_ProgressAtExactBoundaries 3ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_SameBookmarkLocation_ExactStringMatch 16ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_SameLocationString_HandledGracefully 7ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_VeryLongDeviceID 2ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_VerySmallProgressDifference 6ms
โœ… TPPLoginNoActivationTests testValidateCredentials_doesNotTriggerAdobeActivation 139ms
โœ… TPPLoginNoActivationTests testValidateCredentials_savesLicensorForLaterUse 173ms
โœ… TPPLoginNoActivationTests testValidateCredentials_withStaleCredentials_doesNotActivate 147ms
โœ… TPPMainThreadCheckerTests testAsyncIfNeeded_FromBackgroundThread_DispatchesAsyncToMain 19ms
โœ… TPPMainThreadCheckerTests testAsyncIfNeeded_FromMainThread_ExecutesSynchronously 2ms
โœ… TPPMainThreadCheckerTests testSync_FromBackgroundThread_DispatchesToMainThread 22ms
โœ… TPPMainThreadCheckerTests testSync_FromMainThread_ExecutesSynchronously 3ms
โœ… TPPMigrationManagerTests testVersion_emptyA_nonEmptyB_returnsTrue 2ms
โœ… TPPMigrationManagerTests testVersion_emptyA_zeroB_returnsFalse 5ms
โœ… TPPMigrationManagerTests testVersion_emptyA_zeroZeroB_returnsFalse 3ms
โœ… TPPMigrationManagerTests testVersion_emptyArrays_returnsFalse 2ms
โœ… TPPMigrationManagerTests testVersion_equalVersions_returnsFalse 2ms
โœ… TPPMigrationManagerTests testVersion_longerA_returnsFalse 4ms
โœ… TPPMigrationManagerTests testVersion_majorGreaterThan_returnsFalse 3ms
โœ… TPPMigrationManagerTests testVersion_majorLessThan_returnsTrue 4ms
โœ… TPPMigrationManagerTests testVersion_minorGreaterThan_returnsFalse 4ms
โœ… TPPMigrationManagerTests testVersion_minorLessThan_returnsTrue 2ms
โœ… TPPMigrationManagerTests testVersion_patchLessThan_returnsTrue 2ms
โœ… TPPMigrationManagerTests testVersion_shorterA_withNonZeroRemainder_returnsTrue 5ms
โœ… TPPMigrationManagerTests testVersion_shorterA_withZeroRemainder_returnsFalse 32ms
โœ… TPPMigrationManagerTests testVersion_singleComponent_equal 3ms
โœ… TPPMigrationManagerTests testVersion_singleComponent_lessThan 4ms
โœ… TPPNetworkExecutorAPITests testBearerAuthorized_preservesExistingHeaders 12ms
โœ… TPPNetworkExecutorAPITests testBearerAuthorized_setsAuthorizationHeader 11ms
โœ… TPPNetworkExecutorAPITests testCancelNonEssentialTasks_doesNotCrash 12ms
โœ… TPPNetworkExecutorAPITests testClearCache_doesNotCrash 12ms
โœ… TPPNetworkExecutorAPITests testInit_withCachingStrategy_doesNotCrash 2ms
โœ… TPPNetworkExecutorAPITests testInit_withCustomSessionConfiguration 2ms
โœ… TPPNetworkExecutorAPITests testInit_withDefaultCachingStrategy 2ms
โœ… TPPNetworkExecutorAPITests testInit_withFallbackCachingStrategy 3ms
โœ… TPPNetworkExecutorAPITests testPauseAllTasks_doesNotCrash 14ms
โœ… TPPNetworkExecutorAPITests testRequest_forURL_createsValidRequest 11ms
โœ… TPPNetworkExecutorAPITests testRequest_forURL_setsAcceptLanguageEmpty 16ms
โœ… TPPNetworkExecutorAPITests testRequest_forURL_setsUserAgent 14ms
โœ… TPPNetworkExecutorAPITests testResumeAllTasks_doesNotCrash 11ms
โœ… TPPNetworkExecutorAPITests testShared_isNotNil 3ms
โœ… TPPNetworkExecutorStubbedTests testAddBearerAndExecute_setsAuthHeader 20ms
โœ… TPPNetworkExecutorStubbedTests testDELETE_async_success 10ms
โœ… TPPNetworkExecutorStubbedTests testDELETE_nilCompletion_doesNotCrash 529ms
โœ… TPPNetworkExecutorStubbedTests testDELETE_setsMethodToDELETE 6ms
โœ… TPPNetworkExecutorStubbedTests testDownload_createsDownloadTask 11ms
โœ… TPPNetworkExecutorStubbedTests testGET_async_success 12ms
โœ… TPPNetworkExecutorStubbedTests testGET_async_withRequest 11ms
โœ… TPPNetworkExecutorStubbedTests testGET_correctsHTTPMethodIfNotGET 5ms
โœ… TPPNetworkExecutorStubbedTests testGET_objcAPI_success 18ms
โœ… TPPNetworkExecutorStubbedTests testGET_serverError_returnsFailure 57ms
โœ… TPPNetworkExecutorStubbedTests testGET_success_returnsData 22ms
โœ… TPPNetworkExecutorStubbedTests testPOST_async_success 6ms
โœ… TPPNetworkExecutorStubbedTests testPOST_nilCompletion_doesNotCrash 507ms
โœ… TPPNetworkExecutorStubbedTests testPOST_setsMethodToPOST 5ms
โœ… TPPNetworkExecutorStubbedTests testPUT_async_success 18ms
โœ… TPPNetworkExecutorStubbedTests testPUT_correctsHTTPMethodIfNotPUT 9ms
โœ… TPPNetworkExecutorStubbedTests testPUT_setsMethodToPUT 16ms
โœ… TPPNetworkExecutorTests testExecutor_conformsToProtocol 5ms
โœ… TPPNetworkExecutorTests testExecutor_hasCorrectTimeout 3ms
โœ… TPPNetworkExecutorTests testExecutor_usesEphemeralCaching 6ms
โœ… TPPNetworkResponderTests testAddCompletionStoresTaskInfo 5ms
โœ… TPPNetworkResponderTests testCanRetryReturnsFalseAfterMarkRetried 4ms
โœ… TPPNetworkResponderTests testCanRetryReturnsFalseForNilURL 6ms
โœ… TPPNetworkResponderTests testCanRetryReturnsTrueForFreshURL 2ms
โœ… TPPNetworkResponderTests testClearAllRetriesResetsEverything 2ms
โœ… TPPNetworkResponderTests testClearRetryResetsURL 2ms
โœ… TPPNetworkResponderTests testInitWithCredentialsProvider 5ms
โœ… TPPNetworkResponderTests testInitWithFallbackCachingDisabledByDefault 3ms
โœ… TPPNetworkResponderTests testMarkRetriedWithNilURL_isNoOp_andLeavesRealURLTrackingIntact 5ms
โœ… TPPNetworkResponderTests testMultipleURLsTrackedIndependently 4ms
โœ… TPPNetworkResponderTests testSessionInvalidationCallsPendingCompletionsWithCancelError 7ms
โœ… TPPNetworkResponderTests testUpdateCompletionIdTransfersInfo 2ms
โœ… TPPOPDSAcquisitionPathTests testSampleLinkInAcquisitions 13ms
โœ… TPPOPDSAcquisitionPathTests testSimplifiedAdeptEpubAcquisition 9ms
โœ… TPPOPDSEntryTests testAuthorStrings 6ms
โœ… TPPOPDSEntryTests testEntryFromSingleEntryFixture_parsesAllScalarFields 22ms
โœ… TPPOPDSEntryTests testGroupAttributes 5ms
โœ… TPPOPDSEntryTests testInit_returnsNilWhenRequiredIdElementIsMissing 6ms
โœ… TPPOPDSEntryTests testUpdated 7ms
โœ… TPPOPDSFeedTests testFeedFromMainFixture_parsesAllTopLevelFields 98ms
โœ… TPPOPDSFeedTests testInit_nilXMLYieldsNil_validXMLYieldsParsedFeed 131ms
โœ… TPPOPDSFeedTests testUpdated 145ms
โœ… TPPOPDSGroupSwiftTests testInitStoresEntries 3ms
โœ… TPPOPDSGroupSwiftTests testInitStoresProperties 2ms
โœ… TPPOPDSGroupSwiftTests testInitWithDifferentHref_storesDifferentHref 1ms
โœ… TPPOPDSLinkTests testCount 6ms
โœ… TPPOPDSLinkTests testHandlesNilInit 4ms
โœ… TPPOPDSLinkTests testLink0 4ms
โœ… TPPOPDSLinkTests testLink1 3ms
โœ… TPPOPDSLinkTests testLink2 3ms
โœ… TPPOPDSLinkTests testLink3 3ms
โœ… TPPOPDSLinkTests testLink4 4ms
โœ… TPPOpenSearchDescriptionExpandedTests test_initWithTitle_emptyBooks_setsEmptyBooks 4ms
โœ… TPPOpenSearchDescriptionExpandedTests test_initWithTitle_setsDescriptionAndBooks 2ms
โœ… TPPOpenSearchDescriptionExpandedTests test_initWithXML_missingDescription_returnsNil 8ms
โœ… TPPOpenSearchDescriptionExpandedTests test_initWithXML_missingOPDSUrl_returnsNil 3ms
โœ… TPPOpenSearchDescriptionExpandedTests test_initWithXML_validOpenSearchXML_returnsNonNil 4ms
โœ… TPPOpenSearchDescriptionExpandedTests test_opdsURLForSearching_emptyString_returnsURL 3ms
โœ… TPPOpenSearchDescriptionExpandedTests test_opdsURLForSearching_encodesAmpersand 5ms
โœ… TPPOpenSearchDescriptionExpandedTests test_opdsURLForSearching_encodesSpecialCharacters 2ms
โœ… TPPOpenSearchDescriptionExpandedTests test_opdsURLForSearching_encodesUnicode 4ms
โœ… TPPOpenSearchDescriptionExpandedTests test_opdsURLForSearching_preservesEntrypoint 4ms
โœ… TPPOpenSearchDescriptionTests testOPDSURLSearch 3ms
โœ… TPPPDFDocumentMetadataTests testAddBookmark_AtCurrentPage_WhenNilPassed_UsesCurrentPage 8ms
โœ… TPPPDFDocumentMetadataTests testAddBookmark_AtPageZero_HandlesCorrectly 9ms
โœ… TPPPDFDocumentMetadataTests testAddBookmark_AtSpecificPage_AddsToBookmarks 7ms
โœ… TPPPDFDocumentMetadataTests testAddBookmark_DuplicatePage_DoesNotDuplicate 7ms
โœ… TPPPDFDocumentMetadataTests testAddBookmark_MultipleTimes_AddsAllBookmarks 14ms
โœ… TPPPDFDocumentMetadataTests testBookmarks_IsPublished_EmitsChanges 8ms
โœ… TPPPDFDocumentMetadataTests testCurrentPage_IsPublished_EmitsChanges 9ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WhenPageInBookmarks_ReturnsTrue 8ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WhenPageNotInBookmarks_ReturnsFalse 13ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WithEmptyBookmarks_ReturnsFalse 9ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WithLargePageNumber_HandlesCorrectly 7ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WithNilPage_ChecksCurrentPage 12ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WithZeroPage_HandlesCorrectly 15ms
โœ… TPPPDFDocumentMetadataTests testRemoveBookmark_NonexistentPage_DoesNotCrash 11ms
โœ… TPPPDFDocumentMetadataTests testRemoveBookmark_RemovesFromBookmarks 8ms
โœ… TPPPDFDocumentTests testPDFDocument_decryptWithDecryptor 3ms
โœ… TPPPDFDocumentTests testPDFDocument_decryptWithoutDecryptor 3ms
โœ… TPPPDFDocumentTests testPDFDocument_delegateCanBeSet 105ms
โœ… TPPPDFDocumentTests testPDFDocument_encryptedHasNilRegularDocument 3ms
โœ… TPPPDFDocumentTests testPDFDocument_encryptedInit 2ms
โœ… TPPPDFDocumentTests testPDFDocument_labelReturnsNilForInvalidPage 2ms
โœ… TPPPDFDocumentTests testPDFDocument_nonEncryptedHasNilEncryptedDocument 2ms
โœ… TPPPDFDocumentTests testPDFDocument_nonEncryptedInit 3ms
โœ… TPPPDFDocumentTests testPDFDocument_pageCountForInvalidData 9ms
โœ… TPPPDFDocumentTests testPDFDocument_previewReturnsNilForInvalidPage 13ms
โœ… TPPPDFDocumentTests testPDFDocument_sizeReturnsNilForInvalidPage 3ms
โœ… TPPPDFDocumentTests testPDFDocument_tableOfContentsEmptyForInvalidData 8ms
โœ… TPPPDFDocumentTests testPDFDocument_thumbnailReturnsNilForInvalidPage 2ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_defaultLevelIsZero 33ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_differentLocations_differentIds 3ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_id_encodesAllFields 125ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_id_handlesNils 3ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_identifiableId_isDeterministic 2ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_initWithAllParameters 2ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_nilProperties 2ms
โœ… TPPPDFLocationTests testId_ContainsPageNumber 5ms
โœ… TPPPDFLocationTests testId_HandlesNilValues_WithEmptyStrings 3ms
โœ… TPPPDFLocationTests testId_SameForIdenticalLocations 8ms
โœ… TPPPDFLocationTests testId_UniqueForDifferentLevels 4ms
โœ… TPPPDFLocationTests testId_UniqueForDifferentPageLabels 7ms
โœ… TPPPDFLocationTests testId_UniqueForDifferentPages 2ms
โœ… TPPPDFLocationTests testId_UniqueForDifferentSubtitles 4ms
โœ… TPPPDFLocationTests testId_UniqueForDifferentTitles 4ms
โœ… TPPPDFLocationTests testInit_AllParameters_SetsProperties 5ms
โœ… TPPPDFLocationTests testInit_NilOptionals_DefaultsLevelToZero 294ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_annotationIdCanBeSet 3ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_annotationIdDefaultsToNil 4ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_codableRoundTrip 3ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_conformsToBookmark 6ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_decodesFromJSON 3ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_encodesAtTypeKey 4ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_initSetsPage 2ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_isNSObject 2ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_typeIsLocatorPage 3ms
โœ… TPPPDFPageTests testPDFPage_codableRoundTrip 4ms
โœ… TPPPDFPageTests testPDFPage_decodesFromJSON 2ms
โœ… TPPPDFPageTests testPDFPage_encodesToExpectedJSON 3ms
โœ… TPPPDFPageTests testPDFPage_initStoresPageNumber 3ms
โœ… TPPPDFPageTests testPDFPage_zeroPageNumber 4ms
โœ… TPPPDFReaderModeTests testReaderMode_allCasesHaveUniqueValues 2ms
โœ… TPPPDFReaderModeTests testReaderMode_bookmarksValue 1ms
โœ… TPPPDFReaderModeTests testReaderMode_previewsValue 2ms
โœ… TPPPDFReaderModeTests testReaderMode_readerValue 2ms
โœ… TPPPDFReaderModeTests testReaderMode_searchValue 2ms
โœ… TPPPDFReaderModeTests testReaderMode_tocValue 2ms
โŠ˜ TPPPerAccountIsolationTests testConcurrentAccess_noContamination 28ms
โŠ˜ TPPPerAccountIsolationTests testConcurrentSnapshots_returnCorrectData 39ms
โŠ˜ TPPPerAccountIsolationTests testCredentialIsolation_bothAccountsHoldIndependentCredentials 48ms
โŠ˜ TPPPerAccountIsolationTests testCredentialIsolation_tokenCredentials 27ms
โŠ˜ TPPPerAccountIsolationTests testCredentialIsolation_writeToA_doesNotAffectB 23ms
โŠ˜ TPPPerAccountIsolationTests testCredentialSnapshot_perAccountIsolation 35ms
โŠ˜ TPPPerAccountIsolationTests testInstanceCache_isStableSameUUID_distinctDifferentUUIDs_andPreservesBinding 40ms
โŠ˜ TPPPerAccountIsolationTests testRemoveAll_doesNotAffectOtherAccount 33ms
โœ… TPPPreferredAuthSelectionTests testAfterAutoSelection_SelectedAuthIsSaml_forMultiAuthLibrary 123ms
โœ… TPPPreferredAuthSelectionTests testPrecondition_NYPLFixtureHasMultipleAuthMethods 89ms
โœ… TPPPreferredAuthSelectionTests testSelectPreferredAuth_AutoSelectsSoleSAMLIDP 185ms
โœ… TPPPreferredAuthSelectionTests testSelectPreferredAuth_DoesNotOverrideExplicitChoice 170ms
โœ… TPPPreferredAuthSelectionTests testSelectPreferredAuth_DoesNotOverrideExplicitIDPChoice 131ms
โœ… TPPPreferredAuthSelectionTests testSelectPreferredAuth_IsIdempotent 132ms
โœ… TPPPreferredAuthSelectionTests testSelectPreferredAuth_NoOp_ForSingleAuthLibrary 141ms
โœ… TPPPreferredAuthSelectionTests testSelectPreferredAuth_PicksSAML_WhenMultipleAuthsAndNoneSelected 121ms
โœ… TPPProblemDocumentCacheManagerTests testCacheMultipleDocuments_lastEntryRetrievable 3ms
โœ… TPPProblemDocumentCacheManagerTests testCacheProblemDocument_andRetrieve 6ms
โœ… TPPProblemDocumentCacheManagerTests testCacheProblemDocument_postsNotification 4ms
โœ… TPPProblemDocumentCacheManagerTests testCacheSize_isFive 4ms
โœ… TPPProblemDocumentCacheManagerTests testCache_exceedingSize_evictsOldestEntry 3ms
โœ… TPPProblemDocumentCacheManagerTests testClearCachedDoc_nonexistentKey_doesNotCrash 3ms
โœ… TPPProblemDocumentCacheManagerTests testClearCachedDoc_preventsRetrieval 6ms
โœ… TPPProblemDocumentCacheManagerTests testClearThenReCache_works 4ms
โœ… TPPProblemDocumentCacheManagerTests testConcurrentCacheAndClear_sameKey_doesNotCrash 5ms
โœ… TPPProblemDocumentCacheManagerTests testConcurrentReadWrite_doesNotCrash 7ms
โœ… TPPProblemDocumentCacheManagerTests testGetLastCachedDoc_unknownKey_returnsNil 6ms
โœ… TPPProblemDocumentCacheManagerTests testSharedInstance_returnsSameObject 2ms
โœ… TPPProblemDocumentTests testAccountStatusTypeConstants 5ms
โœ… TPPProblemDocumentTests testCodableRoundTrip 11ms
โœ… TPPProblemDocumentTests testDictionaryValue_roundTrip 24ms
โœ… TPPProblemDocumentTests testForExpiredOrMissing_hasCredentials 5ms
โœ… TPPProblemDocumentTests testForExpiredOrMissing_noCredentials 4ms
โœ… TPPProblemDocumentTests testFromData_invalidJSON 8ms
โœ… TPPProblemDocumentTests testFromData_validJSON 4ms
โœ… TPPProblemDocumentTests testFromDictionary_createsDocument 3ms
โœ… TPPProblemDocumentTests testFromProblemResponseData_invalidData 4ms
โœ… TPPProblemDocumentTests testFromProblemResponseData_nonProblemJSON 3ms
โœ… TPPProblemDocumentTests testFromProblemResponseData_validData 24ms
โœ… TPPProblemDocumentTests testFromResponseError_nilErrorNilData 3ms
โœ… TPPProblemDocumentTests testFromResponseError_withResponseData 6ms
โœ… TPPProblemDocumentTests testIsRecoverableAuthError 6ms
โœ… TPPProblemDocumentTests testIsUnrecoverableAuthError 6ms
โœ… TPPProblemDocumentTests testNilType_authChecks 3ms
โœ… TPPProblemDocumentTests testNonAuthError 6ms
โœ… TPPProblemDocumentTests testStaticTypeConstants 6ms
โœ… TPPProblemDocumentTests testStringValue_format 2ms
โœ… TPPProblemDocumentTests testStringValue_noDetail 4ms
โœ… TPPProblemDocumentTests testStringValue_noTitle 3ms
โœ… TPPReaderAppearanceTests testAssociatedColors_blackOnWhite_hasLightBackground 4ms
โœ… TPPReaderAppearanceTests testBlackOnSepia_hasCorrectPropertyIndex 3ms
โœ… TPPReaderAppearanceTests testBlackOnWhite_hasCorrectPropertyIndex 4ms
โœ… TPPReaderAppearanceTests testWhiteOnBlack_hasCorrectPropertyIndex 2ms
โœ… TPPReaderBookmarksBusinessLogicTests testBookmarkAtIndex_WithEmptyBookmarks_ReturnsNil 138ms
โœ… TPPReaderBookmarksBusinessLogicTests testBookmarkAtIndex_WithValidIndex_ReturnsBookmark 154ms
โœ… TPPReaderBookmarksBusinessLogicTests testBookmarkAtIndex_returnsNilForOutOfRangeIndicesEmptyOrPopulated 128ms
โœ… TPPReaderBookmarksBusinessLogicTests testDeleteBookmarkAtIndex_WithInvalidIndex_ReturnsNil 299ms
โœ… TPPReaderBookmarksBusinessLogicTests testDeleteBookmarkAtIndex_WithValidIndex_RemovesAndReturns 145ms
โœ… TPPReaderBookmarksBusinessLogicTests testDeleteBookmark_RemovesFromList 138ms
โœ… TPPReaderBookmarksBusinessLogicTests testPP3555_OldBookmarksDoNotReappearAfterReborrow 154ms
โœ… TPPReaderBookmarksBusinessLogicTests testReadOnlySurfaces_noBookmarksText_shouldSelect_isBookmarkExisting 115ms
โœ… TPPReaderBookmarksBusinessLogicTests testUpdateLocalBookmarksWithDuplicatedLocalBookmarks 163ms
โœ… TPPReaderBookmarksBusinessLogicTests testUpdateLocalBookmarksWithExtraLocalBookmarks 187ms
โœ… TPPReaderBookmarksBusinessLogicTests testUpdateLocalBookmarksWithFailedUploadBookmarks 130ms
โœ… TPPReaderBookmarksBusinessLogicTests testUpdateLocalBookmarksWithNoLocalBookmarks 120ms
โœ… TPPReaderFontTests testDyslexic_hasPropertyIndex 3ms
โœ… TPPReaderFontTests testOriginal_hasCorrectPropertyIndex 26ms
โœ… TPPReaderFontTests testSansSerif_hasPropertyIndex 2ms
โœ… TPPReaderFontTests testSerif_hasPropertyIndex 2ms
โœ… TPPReaderPreferencesLoadTests testTPPReaderPreferencesLoad_disablesPublisherStyles 2ms
โœ… TPPReaderPreferencesLoadTests testTPPReaderPreferencesLoad_returnsValidPreferences 17ms
โœ… TPPReaderPreferencesLoadTests testTPPReaderPreferencesLoad_setsDefaultTheme 3ms
โœ… TPPReaderSettingsTests testCanDecreaseFontSize_falseAtMinimum 3ms
โœ… TPPReaderSettingsTests testCanIncreaseFontSize_trueWhenBelowMax 5ms
โœ… TPPReaderSettingsTests testChangeAppearance_updatesColors 3ms
โœ… TPPReaderSettingsTests testChangeAppearance_updatesIndex 12ms
โœ… TPPReaderSettingsTests testChangeFontFamily_updatesIndex 7ms
โœ… TPPReaderSettingsTests testDecreaseFontSize_decreasesByStep 6ms
โœ… TPPReaderSettingsTests testDecreaseFontSize_respectsMinimum 3ms
โœ… TPPReaderSettingsTests testIncreaseFontSize_increasesByStep 10ms
โœ… TPPReaderSettingsTests testIncreaseFontSize_respectsMaximum 6ms
โœ… TPPReaderSettingsTests testInit_getsScreenBrightness 4ms
โœ… TPPReaderSettingsTests testInit_setsDefaultAppearanceIndex 20ms
โœ… TPPReaderSettingsTests testInit_setsDefaultFontFamilyIndex 4ms
โœ… TPPReaderSettingsTests testInit_setsDefaultFontSize 2ms
โœ… TPPReaderSettingsTests testLoadPreferences_returnsPreferences 17ms
โœ… TPPReaderSettingsTests testMapAppearanceToIndex_dark 2ms
โœ… TPPReaderSettingsTests testMapAppearanceToIndex_light 4ms
โœ… TPPReaderSettingsTests testMapAppearanceToIndex_sepia 2ms
โœ… TPPReaderSettingsTests testMapFontFamilyToIndex_nil 2ms
โœ… TPPReaderSettingsTests testMapFontFamilyToIndex_openDyslexic 3ms
โœ… TPPReaderSettingsTests testMapFontFamilyToIndex_sansSerif 3ms
โœ… TPPReaderSettingsTests testMapFontFamilyToIndex_serif 4ms
โœ… TPPReaderSettingsTests testMapIndexToAppearance_dark 2ms
โœ… TPPReaderSettingsTests testMapIndexToAppearance_default 8ms
โœ… TPPReaderSettingsTests testMapIndexToAppearance_sepia 2ms
โœ… TPPReaderSettingsTests testMapIndexToFontFamily_default 4ms
โœ… TPPReaderSettingsTests testMapIndexToFontFamily_dyslexic 2ms
โœ… TPPReaderSettingsTests testMapIndexToFontFamily_sansSerif 2ms
โœ… TPPReaderSettingsTests testMapIndexToFontFamily_serif 20ms
โœ… TPPReaderTOCBusinessLogicTests testInit_withCurrentLocation_storesLocation 2ms
โœ… TPPReaderTOCBusinessLogicTests testInit_withPublication_initializesCorrectly 9ms
โœ… TPPReaderTOCBusinessLogicTests testIsCurrentChapterTitled_caseInsensitiveMatch_returnsTrue 3ms
โœ… TPPReaderTOCBusinessLogicTests testIsCurrentChapterTitled_withDifferentTitle_returnsFalse 3ms
โœ… TPPReaderTOCBusinessLogicTests testIsCurrentChapterTitled_withMatchingTitle_returnsTrue 2ms
โœ… TPPReaderTOCBusinessLogicTests testIsCurrentChapterTitled_withNilCurrentLocation_returnsFalse 2ms
โœ… TPPReaderTOCBusinessLogicTests testIsCurrentChapterTitled_withNilLocationTitle_returnsFalse 2ms
โœ… TPPReaderTOCBusinessLogicTests testShouldSelectTOCItem_invalidIndex_returnsFalse 7ms
โœ… TPPReaderTOCBusinessLogicTests testTitleAndLevel_forValidIndex_returnsTitleAndLevel 1.01s
โœ… TPPReaderTOCBusinessLogicTests testTitleForHref_existingHref_returnsTitle 1.03s
โœ… TPPReaderTOCBusinessLogicTests testTitleForHref_nonExistentHref_returnsNil 1.02s
โœ… TPPReaderTOCBusinessLogicTests testTocDisplayTitle_returnsLocalizedString 3ms
โœ… TPPReaderTOCBusinessLogicTests testTocElements_initiallyEmpty_beforeAsyncLoad 3ms
โœ… TPPReaderTOCBusinessLogicTests testTocLocator_negativeIndex_returnsNil 8ms
โœ… TPPReaderTOCBusinessLogicTests testTocLocator_outOfBoundsIndex_returnsNil 6ms
โœ… TPPReaderTOCFlattenTests testFlatten_emptyTOC_producesEmptyElements 5ms
โœ… TPPReaderTOCFlattenTests testFlatten_nestedTOC_assignsCorrectLevels 1.09s
โœ… TPPReadiumBookmarkLocationMatchingTests testLocationMatches_differentChapterProgress_returnsFalse 4ms
โœ… TPPReadiumBookmarkLocationMatchingTests testLocationMatches_differentTotalProgress_returnsFalse 6ms
โœ… TPPReadiumBookmarkLocationMatchingTests testLocationMatches_exactProgress_returnsTrue 5ms
โœ… TPPReadiumBookmarkLocationMatchingTests testLocationMatches_matchingProgress_returnsTrue 4ms
โœ… TPPReadiumBookmarkLocationMatchingTests testLocationMatches_nilLocatorProgress_matchesZeroBookmarkProgress 3ms
โœ… TPPReadiumBookmarkTests testDescription_returnsNonEmptyString 3ms
โœ… TPPReadiumBookmarkTests testDictionaryRepresentation_containsAllFields 3ms
โœ… TPPReadiumBookmarkTests testInit_fromDictionary_createsBookmark 5ms
โœ… TPPReadiumBookmarkTests testInit_fromDictionary_withEmptyAnnotationId_setsNil 2ms
โœ… TPPReadiumBookmarkTests testInit_fromDictionary_withMissingRequiredFields_returnsNil 5ms
โœ… TPPReadiumBookmarkTests testInit_withDefaultTime_usesCurrentTime 3ms
โœ… TPPReadiumBookmarkTests testInit_withNilHref_returnsNil 6ms
โœ… TPPReadiumBookmarkTests testInit_withValidParameters_createsBookmark 3ms
โœ… TPPReadiumBookmarkTests testIsEqual_differentHref_returnsFalse 4ms
โœ… TPPReadiumBookmarkTests testIsEqual_differentProgress_returnsFalse 20ms
โœ… TPPReadiumBookmarkTests testIsEqual_sameAnnotationId_returnsTrue 7ms
โœ… TPPReadiumBookmarkTests testIsEqual_sameProgress_noAnnotationId_returnsTrue 3ms
โœ… TPPReadiumBookmarkTests testIsEqual_withNonBookmarkObject_returnsFalse 3ms
โœ… TPPReadiumBookmarkTests testPercentInBook_formatsCorrectly 4ms
โœ… TPPReadiumBookmarkTests testPercentInBook_fullProgress_showsHundred 6ms
โœ… TPPReadiumBookmarkTests testPercentInChapter_formatsCorrectly 6ms
โœ… TPPReadiumBookmarkTests testPercentInChapter_zeroProgress_showsZero 6ms
โœ… TPPReadiumBookmarkTests testToJSONDictionary_includesLocationFields 6ms
โœ… TPPReauthenticatorMockTests testMockReauthenticator_callsCompletion 4ms
โœ… TPPReauthenticatorMockTests testMockReauthenticator_tracksReauthPerformed 5ms
โœ… TPPReauthenticatorTests testAuthenticateIfNeeded_withNilCompletion_doesNotCrash 3ms
โœ… TPPReauthenticatorTests testInit_conformsToReauthenticatorProtocol 9ms
โœ… TPPReauthenticatorTests testInit_createsDistinctInstances 5ms
โœ… TPPReauthenticatorTests testInit_isNSObjectSubclass 2ms
โœ… TPPReturnPromptHelperTests testAudiobookPrompt_createsAlertController 139ms
โœ… TPPReturnPromptHelperTests testAudiobookPrompt_hasExactlyKeepAndReturnActionsWithTitles 4ms
โœ… TPPReturnPromptHelperTests testAudiobookPrompt_hasKeepAction_withCancelStyle 4ms
โœ… TPPReturnPromptHelperTests testAudiobookPrompt_hasReturnAction_withDefaultStyle 7ms
โœ… TPPReturnPromptHelperTests testAudiobookPrompt_hasTitleAndMessage 4ms
โœ… TPPSAMLCookieExpirationTests testSAMLLogin_allCookiesExpired_proceedsWithEmpty 48ms
โœ… TPPSAMLCookieExpirationTests testSAMLLogin_cookieExpiringInFuture_isKept 4ms
โœ… TPPSAMLCookieExpirationTests testSAMLLogin_filtersExpiredCookies 2ms
โœ… TPPSAMLCookieExpirationTests testSAMLLogin_keepsSessionCookiesWithoutExpiry 2ms
โœ… TPPSAMLCookieExpirationTests testSAMLLogin_mixOfExpiredAndValid_onlyPassesValid 12ms
โœ… TPPSAMLFlowTests testSAMLHelper_initRequiresContext_andStartsWithCleanCookieState 11ms
โœ… TPPSAMLFlowTests testSAMLLogin_callsPresenterNotUIKit 2ms
โœ… TPPSAMLFlowTests testSAMLLogin_cancelCallsCancelHandler 2ms
โœ… TPPSAMLFlowTests testSAMLLogin_completionCallsHandleRedirect 5ms
โœ… TPPSAMLFlowTests testSAMLLogin_dismissCalledAfterCompletion 2ms
โœ… TPPSAMLFlowTests testSAMLLogin_dismissCalledWithError 4ms
โœ… TPPSAMLFlowTests testSAMLLogin_passesCorrectURLPreservesExistingQueryParams 21ms
โœ… TPPSAMLFlowTests testSAMLLogin_passesCorrectURLWithRedirectURI 5ms
โœ… TPPSAMLFlowTests testSAMLLogin_passesSavedCookiesToPresenter 4ms
โœ… TPPSAMLFlowTests testSAMLLogin_withNilIDP_doesNotCallPresenter 5ms
โœ… TPPSAMLReauthFlowTests testFreshLogin_callsAdobeActivation 124ms
โœ… TPPSAMLReauthFlowTests testSAMLReauthFlow_skipsAdobeActivation 409ms
โœ… TPPSAMLRegressionTests testOAuthFlow_unaffectedBySAMLRefactor 122ms
โœ… TPPSAMLRegressionTests testSAMLAuthType_matchesCMValue 146ms
โœ… TPPSAMLRegressionTests testSAMLIdPParsing_fromAuthDocumentLinks 121ms
โœ… TPPSAMLRegressionTests testSAMLRedirectURL_matchesCMExpectedPattern 5ms
โœ… TPPSAMLSignInTests testAuthState_transitionsFromLoggedOutToLoggedIn 77ms
โœ… TPPSAMLSignInTests testCredentialsStale_PP418_userStillHasCredentials 78ms
โœ… TPPSAMLSignInTests testCredentialsStale_hasCredentialsReturnsTrue 80ms
โœ… TPPSAMLSignInTests testCredentialsStale_preservesCookies 122ms
โœ… TPPSAMLSignInTests testCredentialsStale_reAuthClearsStaleState 81ms
โœ… TPPSAMLSignInTests testRefreshCredentialsFromKeychain_returnsFalseWhenNoCredentials 100ms
โœ… TPPSAMLSignInTests testRefreshCredentialsFromKeychain_returnsTrueWhenCredentialsExist 80ms
โœ… TPPSAMLSignInTests testSAMLReauth_usesSavedCookiesForIDPSession 87ms
โœ… TPPSAMLSignInTests testSAMLSignIn_PP418_credentialsArePersisted 101ms
โœ… TPPSAMLSignInTests testSAMLSignIn_cookiesAreStored 84ms
โœ… TPPSAMLSignInTests testSAMLSignIn_drmFailurePreventsCredentialStorage 77ms
โœ… TPPSAMLSignInTests testSAMLSignIn_hasCredentialsReturnsTrue 92ms
โœ… TPPSAMLSignInTests testSAMLSignIn_patronInfoIsStored 81ms
โœ… TPPSAMLSignInTests testSAMLSignIn_setsAuthStateToLoggedIn 92ms
โœ… TPPSAMLSignInTests testSAMLSignIn_stateTransitions 100ms
โœ… TPPSAMLSignInTests testSAMLSignIn_usesCorrectLibraryUUID 99ms
โœ… TPPSAMLSignInTests testSAMLSignIn_worksWithoutCookies 78ms
โœ… TPPSAMLSignInTests testSAMLSignIn_worksWithoutPatronInfo 93ms
โœ… TPPSAMLSignInTests testSAMLSignOut_clearsAllCredentials 87ms
โœ… TPPSAMLSignInTests testSetAuthToken_doesNotChangeStaleState 93ms
โœ… TPPSAMLSignInTests testSignIn_callsBusinessLogicDidCompleteSignIn 88ms
โœ… TPPSAMLSignInTests testSignIn_callsBusinessLogicWillSignIn 83ms
โœ… TPPSAMLSignInTests testSignIn_cancelledSetsLoadingFalse 79ms
โœ… TPPSAMLSignInTests testSignIn_loadingStateTransitions 112ms
โœ… TPPSAMLSignInTests testTokenRefresh_settingsScreenShowsSignedIn 79ms
โœ… TPPSAMLSignInTests testTokenRefresh_transitionsFromStaleToLoggedIn 79ms
โœ… TPPSAMLStateIsolationTests testNonSAMLLibrary_noSAMLHelperCreated 231ms
โœ… TPPSAMLStateIsolationTests testSAMLCookies_storedOnHelper_notBusinessLogic 6ms
โœ… TPPSAMLStateIsolationTests testSAMLLibrary_helperCreatedOnDemand 204ms
โœ… TPPSAMLStateIsolationTests testSignOut_clearsSAMLState 9ms
โœ… TPPSAMLStateMachineTests testFinalizeSignIn_transitionsToLoggedIn 131ms
โœ… TPPSAMLStateMachineTests testIsSignedIn_returnsFalseWhenCredentialsStale 149ms
โœ… TPPSAMLStateMachineTests testIsSignedIn_returnsFalseWhenLoggedOut 108ms
โœ… TPPSAMLStateMachineTests testIsSignedIn_returnsTrueWhenLoggedIn 111ms
โœ… TPPSAMLStateMachineTests testRefreshAuth_SAMLClearsSelectedAuth 117ms
โœ… TPPSAMLStateMachineTests testRefreshAuth_transitionsToCredentialsStale 125ms
โœ… TPPSettingsTests testAccountMainFeedURL_setToSameValue_doesNotPostNotification 32ms
โœ… TPPSettingsTests testCustomMainFeedURL_publishesViaSettingsDidChange 40ms
โœ… TPPSettingsTests testCustomMainFeedURL_setToDifferentValue_postsNotification 6ms
โœ… TPPSettingsTests testCustomMainFeedURL_setToSameValue_doesNotPostNotification 10ms
โœ… TPPSettingsTests testUseBetaLibraries_postsNotification 5ms
โœ… TPPSettingsTests testUseBetaLibraries_publishesViaCombine 27ms
โœ… TPPSignInAdobeSkipTests testEnsureAuthDocLoaded_callsCompletionImmediatelyWhenDetailsExist 202ms
โœ… TPPSignInAdobeSkipTests testEnsureAuthDocLoaded_setsLoadingFlag 127ms
โœ… TPPSignInAdobeSkipTests testIgnoreSignedInState_affectsIsSignedIn 103ms
โœ… TPPSignInAdobeSkipTests testLogIn_capturedBarcode_nilWhenUIDelegateHasNilUsername 114ms
โœ… TPPSignInAdobeSkipTests testLogIn_capturesBarcodeAndPIN 138ms
โœ… TPPSignInAdobeSkipTests testLogIn_notifiesUIDelegateWillSignIn 195ms
โœ… TPPSignInAdobeSkipTests testLogIn_postsSigningInNotification 372ms
โœ… TPPSignInAdobeSkipTests testLogIn_withNoSelectedAuth_doesNotCrash 171ms
โœ… TPPSignInAdobeSkipTests testMakeRequest_prefersBusinessLogicToken_overUserAccountToken 138ms
โœ… TPPSignInAdobeSkipTests testMakeRequest_withOAuthButNoToken_logsError 928ms
โœ… TPPSignInAdobeSkipTests testRefreshAuthIfNeeded_returnsFalseWithNoAuthDefinition 142ms
โœ… TPPSignInAdobeSkipTests testRefreshAuthIfNeeded_setsRefreshAuthCompletion 1.65s
โœ… TPPSignInAdobeSkipTests testShouldSkipAdobeActivation_falseWhenNotStale 167ms
โœ… TPPSignInAdobeSkipTests testShouldSkipAdobeActivation_falseWithoutAdobeCredentials 193ms
โœ… TPPSignInAuthStateTransitionTests testReauth_transitionsFromStaleToLoggedIn 243ms
โœ… TPPSignInAuthStateTransitionTests testSignIn_isSignedInConditionMet 299ms
โœ… TPPSignInAuthStateTransitionTests testSignIn_transitionsFromLoggedOutToLoggedIn 217ms
โœ… TPPSignInBusinessLogicExtendedTests testCanResetPassword_dependsOnLibraryConfig 127ms
โœ… TPPSignInBusinessLogicExtendedTests testCurrentAccount_matchesLibraryAccount 122ms
โœ… TPPSignInBusinessLogicExtendedTests testEnsureAuthDoc_setsAndClearsLoadingFlag 127ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_authTokenNilByDefault 141ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_cookiesNilByDefault 117ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_defaultsIgnoreSignedInStateToFalse 111ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_defaultsNotLoggingInAfterSignUp 120ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_defaultsNotValidatingCredentials 166ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_patronNilByDefault 117ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_setsCorrectLibraryAccountID 184ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_setsUIDelegate 109ms
โœ… TPPSignInBusinessLogicExtendedTests testIsAuthenticationDocumentLoading_defaultsFalse 183ms
โœ… TPPSignInBusinessLogicExtendedTests testIsLoggingInAfterSignUp_setterRoutesThroughReducer 155ms
โœ… TPPSignInBusinessLogicExtendedTests testIsNetworkConnectivityError_NonURLDomain_ReturnsFalse 128ms
โœ… TPPSignInBusinessLogicExtendedTests testIsSamlPossible_trueWhenLibrarySupports 114ms
โœ… TPPSignInBusinessLogicExtendedTests testIsSignedIn_falseWhenIgnoreSignedInStateTrue 158ms
โœ… TPPSignInBusinessLogicExtendedTests testIsSignedIn_falseWhenNoCredentials 117ms
โœ… TPPSignInBusinessLogicExtendedTests testIsSignedIn_trueWhenHasCredentials 167ms
โœ… TPPSignInBusinessLogicExtendedTests testLibraryAccount_returnsCorrectAccount 161ms
โœ… TPPSignInBusinessLogicExtendedTests testLibrarySupportsBarcodeDisplay_WithoutAuthorizationIdentifier_ReturnsFalse 167ms
โœ… TPPSignInBusinessLogicExtendedTests testLibrarySupportsBarcodeDisplay_falseWithoutCredentials 141ms
โœ… TPPSignInBusinessLogicExtendedTests testLibrarySupportsBarcodeDisplay_requiresAuthorizationIdentifier 135ms
โœ… TPPSignInBusinessLogicExtendedTests testLogIn_initiatesSignIn 131ms
โœ… TPPSignInBusinessLogicExtendedTests testLogIn_preventsMultipleSimultaneousCalls 188ms
โœ… TPPSignInBusinessLogicExtendedTests testLogIn_withBasicAuth_validatesCredentials 134ms
โœ… TPPSignInBusinessLogicExtendedTests testMakeRequest_forBasicAuth_noAuthorizationHeader 158ms
โœ… TPPSignInBusinessLogicExtendedTests testMakeRequest_forOAuth_hasBearerToken 123ms
โœ… TPPSignInBusinessLogicExtendedTests testMakeRequest_forSAML_hasBearerToken 146ms
โœ… TPPSignInBusinessLogicExtendedTests testMakeRequest_signOut_usesCorrectURL 152ms
โœ… TPPSignInBusinessLogicExtendedTests testRefreshAuthIfNeeded_returnsFalseWhenNoAuthDefinition 180ms
โœ… TPPSignInBusinessLogicExtendedTests testRegistrationIsPossible_falseWhenSignedIn 115ms
โœ… TPPSignInBusinessLogicExtendedTests testSelectPreferredAuthIfNeeded_WithExistingSelection_DoesNotOverride 106ms
โœ… TPPSignInBusinessLogicExtendedTests testSelectedAuthentication_canBeSetToBasic 143ms
โœ… TPPSignInBusinessLogicExtendedTests testSelectedAuthentication_canBeSetToOAuth 178ms
โœ… TPPSignInBusinessLogicExtendedTests testSelectedAuthentication_canBeSetToSAML 129ms
โœ… TPPSignInBusinessLogicExtendedTests testSelectedAuthentication_nilByDefault 175ms
โœ… TPPSignInBusinessLogicExtendedTests testShouldShowEULALink_basedOnLibraryDetails 124ms
โœ… TPPSignInBusinessLogicExtendedTests testShouldShowSyncButton_PP3252_usesCurrentAccountIdNotCurrentAccountUuid 186ms
โœ… TPPSignInBusinessLogicExtendedTests testShouldShowSyncButton_falseWhenDifferentLibrary 140ms
โœ… TPPSignInBusinessLogicExtendedTests testShouldShowSyncButton_falseWhenNoCredentials 212ms
โœ… TPPSignInBusinessLogicExtendedTests testShouldSkipAdobeActivation_WhenMissingAdobeCredentials_ReturnsFalse 145ms
โœ… TPPSignInBusinessLogicExtendedTests testShouldSkipAdobeActivation_WhenNotCredentialsStale_ReturnsFalse 137ms
โœ… TPPSignInBusinessLogicExtendedTests testSignOut_PP418_clearsWebViewDataBeforeCompletion 136ms
โœ… TPPSignInBusinessLogicExtendedTests testSignOut_sequencesCookieClearingBeforeCompletionCallback 159ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_clearsCapturedCredentials 132ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_clearsIgnoreSignedInState 146ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_clearsInFlightAuthToken 163ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_setsAuthDefinition 138ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_withBasicAuth_setsBarcodePIN 155ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_withOAuth_setsAuthToken 106ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_withSAML_setsCookies 126ms
โœ… TPPSignInBusinessLogicExtendedTests testValidateCredentials_setsIsValidatingCredentialsTrue 147ms
โœ… TPPSignInBusinessLogicExtendedTests testValidateCredentials_setsValidatingFlag 148ms
โœ… TPPSignInBusinessLogicTests testIsNetworkConnectivityError_OnlyRecognizesURLErrorDomain 183ms
โœ… TPPSignInBusinessLogicTests testLogInFlow 94ms
โœ… TPPSignInBusinessLogicTests testMakeSignInRequest 173ms
โœ… TPPSignInBusinessLogicTests testUpdateUserAccountWithBarcodeAuthentication 144ms
โœ… TPPSignInBusinessLogicTests testUpdateUserAccountWithCleverAuthentication 116ms
โœ… TPPSignInBusinessLogicTests testUpdateUserAccountWithNoSelectedAuthentication 157ms
โœ… TPPSignInBusinessLogicTests testUpdateUserAccountWithSAMLAuthentication 133ms
โœ… TPPSignInBusinessLogicTests testUserFacingSignInError_ConnectionLost_ReturnsNetworkMessage 92ms
โœ… TPPSignInBusinessLogicTests testUserFacingSignInError_NoInternet_ReturnsNetworkMessage 112ms
โœ… TPPSignInBusinessLogicTests testUserFacingSignInError_NonURLErrorDomain_ReturnsInvalidCredentials 123ms
โœ… TPPSignInBusinessLogicTests testUserFacingSignInError_ProblemDocument_TakesPrecedenceOverNetworkError 115ms
โœ… TPPSignInBusinessLogicTests testUserFacingSignInError_Timeout_ReturnsNetworkMessage 127ms
โœ… TPPSignInErrorHandlingTests testValidateCredentials_withSelectedAuth_doesNotCrash 121ms
โœ… TPPSignInErrorHandlingTests testValidateCredentials_withoutSelectedAuth_doesNotCrash 149ms
โœ… TPPSignInProfileDocEdgeCaseTests testSignIn_invalidProfileDoc_credentialsPreserved 189ms
โœ… TPPSignInProfileDocEdgeCaseTests testSignIn_noDRMInProfileDoc_credentialsPreserved 208ms
โœ… TPPSignInProfileDocEdgeCaseTests testSignIn_validDRMProfileDoc_savesCredentialsAndDRM 172ms
โœ… TPPSignedInStateProviderTests testIsSignedIn_AfterRemoveAll_ReturnsFalse 2ms
โœ… TPPSignedInStateProviderTests testIsSignedIn_WhenCredentialsPresent_ReturnsTrue 5ms
โœ… TPPSignedInStateProviderTests testIsSignedIn_WhenNoCredentials_ReturnsFalse 62ms
โœ… TPPUserAccountAuthStateTests testAuthState_defaultIsLoggedOut_andDerivesFromCredentialsWhenNotExplicit 69ms
โœ… TPPUserAccountAuthStateTests testMarkCredentialsStale_doesNotTransitionFromLoggedOut 2ms
โœ… TPPUserAccountAuthStateTests testMarkCredentialsStale_transitionsFromLoggedInToStale 4ms
โœ… TPPUserAccountAuthStateTests testMarkLoggedIn_transitionsFromAnyReauthenticatableStateToLoggedIn 3ms
โœ… TPPUserAccountAuthStateTests testRemoveAll_resetsStateToLoggedOut 5ms
โœ… TPPUserAccountGapTests testTPPUserAccount_basicPropertyAccessors_dontCrash 3ms
โœ… TPPUserAccountGapTests testTPPUserAccount_hasAuthToken_returnsFalseWhenNoToken 3ms
โœ… TPPUserAccountGapTests testTPPUserAccount_hasBarcodeAndPIN_returnsFalseWhenNoCredentials 3ms
โœ… TPPUserAccountGapTests testTPPUserAccount_sharedAccount_isAccessible 9ms
โœ… TPPUserFriendlyErrorTests testDefaultImplementation_messageIsNil 2ms
โœ… TPPUserFriendlyErrorTests testDefaultImplementation_titleIsNil 2ms
โœ… TPPUserFriendlyErrorTests testMakeFromProblemDocument_preservesExistingUserInfo 2ms
โœ… TPPUserFriendlyErrorTests testMakeFromProblemDocument_setsDomainAndCode 4ms
โœ… TPPUserFriendlyErrorTests testMakeFromProblemDocument_storesProblemDocument 3ms
โœ… TPPUserFriendlyErrorTests testNSError_withProblemDocument_hasFriendlyMessage 3ms
โœ… TPPUserFriendlyErrorTests testNSError_withProblemDocument_hasFriendlyTitle 3ms
โœ… TPPUserFriendlyErrorTests testNSError_withoutProblemDocument_messageIsLocalizedDescription 3ms
โœ… TPPUserFriendlyErrorTests testNSError_withoutProblemDocument_noUserInfo_messageIsNil 3ms
โœ… TPPUserFriendlyErrorTests testNSError_withoutProblemDocument_titleIsNil 2ms
โœ… TPPUserFriendlyErrorTests testProblemDocument_accessor_returnsStoredDocument 4ms
โœ… TPPUserNotificationsTests testBackgroundFetchIsNeeded_returnsBasedOnHeldBooksCount 31ms
โœ… TPPUserNotificationsTests testCompareAvailability_detectsTransitionFromReservedToReady 8ms
โœ… TPPUserNotificationsTests testCompareAvailability_doesNotCrashWithValidInputs 10ms
โœ… TPPUserNotificationsTests testCompareAvailability_doesNotNotifyWhenStillReserved 6ms
โœ… TPPUserNotificationsTests testCompareAvailability_handlesNilAvailability 6ms
โœ… TPPUserNotificationsTests testRequestAuthorization_isExposedAsObjcSelectorOnService 3ms
โœ… TPPUserNotificationsTests testSharedInstance_isStableAcrossCallsAndConcurrentAccess 8ms
โœ… TPPUserNotificationsTests testUpdateAppIconBadge_countsOnlyReadyBooks 87ms
โœ… TPPUserNotificationsTests testUpdateAppIconBadge_withBooks_processesWithoutCrash 8ms
โœ… TPPUserNotificationsTests testUpdateAppIconBadge_withEmptyArray_isIdempotentAndCrashFree 62ms
โœ… TPPXMLSwiftTests test_attributes_emptyAttributes_returnsEmptyDictionary 2ms
โœ… TPPXMLSwiftTests test_attributes_withAttributes_returnsDictionary 2ms
โœ… TPPXMLSwiftTests test_childrenWithName_nonexistentName_returnsEmptyArray 2ms
โœ… TPPXMLSwiftTests test_childrenWithName_returnsMatchingChildren 2ms
โœ… TPPXMLSwiftTests test_firstChildWithName_nonexistent_returnsNil 2ms
โœ… TPPXMLSwiftTests test_firstChildWithName_returnsFirstMatch 3ms
โœ… TPPXMLSwiftTests test_parseEmptyData_returnsNil 16ms
โœ… TPPXMLSwiftTests test_parseInlineXML_simpleElement 2ms
โœ… TPPXMLSwiftTests test_parseInvalidXML_returnsNil 4ms
โœ… TPPXMLSwiftTests test_parseNilData_returnsNil 1ms
โœ… TPPXMLSwiftTests test_parseValidXML_rootHasNoParent 2ms
โœ… TPPXMLSwiftTests test_parseValidXML_rootHasThreeChildren 2ms
โœ… TPPXMLSwiftTests test_parseValidXML_rootName_isFoo 2ms
โœ… TPPXMLSwiftTests test_parseValidXML_rootNamespaceURI_isCorrect 2ms
โœ… TPPXMLSwiftTests test_parseValidXML_rootQualifiedName 2ms
โœ… TPPXMLSwiftTests test_value_returnsTextContent 2ms
โœ… TPPXMLTests testInvalid 5ms
โœ… TPPXMLTests testNoData 4ms
โœ… TPPXMLTests testValid 7ms
โœ… TimeEntryTests testTimeEntry_creation 4ms
โœ… TimeEntryTests testTimeEntry_durationLimit 5ms
โœ… TimeEntryTests testTimeEntry_utcFormat 5ms
โœ… TokenRefreshIntegrationTests testExecuteTokenRefresh_EmptyUsername_NeverHitsNetwork 4ms
โœ… TokenRefreshIntegrationTests testExecuteTokenRefresh_ValidatesBasicAuthHeaderOnWire 30ms
โœ… TokenRefreshInterceptorTests testHandleBorrowInvalidCredentials_firstAttempt_triggersReauth 6ms
โœ… TokenRefreshInterceptorTests testHandleBorrowInvalidCredentials_nilDelegate_doesNotCrash 7ms
โœ… TokenRefreshInterceptorTests testHandleBorrowInvalidCredentials_secondAttempt_showsAlert 117ms
โœ… TokenRefreshInterceptorTests testHandleBorrowInvalidCredentials_successfulReauth_startsDownload 532ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_OIDC_401_marksCredentialsStale 6ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_OIDC_401_triggersReauthViaSignInModal 1.03s
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_OIDC_cancelledReauth_doesNotRetry 1.02s
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_OIDC_successfulReauth_retriesDownload 1.06s
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_hasCredentials_noLoginRequired_returnsFalse 6ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_noActiveLoan_OIDC_triggersReauth 1.01s
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_noActiveLoan_SAML_treatAsSessionExpiry 6ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_noActiveLoan_nonSAML_autoBorrows 7ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_noCredentialsLoginRequired_triggersSignIn 6ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_noDelegateReturnsFalse 10ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_nonAuthRelatedError_returnsFalse 6ms
โœ… TokenRefreshInterceptorTests testHandleProblem_SAMLStartedState_circuitBreaker 12ms
โœ… TokenRefreshInterceptorTests testHandleProblem_SAMLWithCredentials_retriesWithSAML 514ms
โœ… TokenRefreshInterceptorTests testHandleProblem_authenticatedUser_noReauth 314ms
โœ… TokenRefreshInterceptorTests testHandleProblem_nilDelegate_doesNotCrash 6ms
โœ… TokenRefreshInterceptorTests testHandleProblem_noCredentials_triggersReauth 82ms
โœ… TokenRefreshInterceptorTests testInit_defaultState 3ms
โœ… TokenRefreshInterceptorTests testInit_withCustomReauthenticator 5ms
โœ… TokenRefreshTests testBearerAuthorized_AddsAuthorizationHeader 2ms
โœ… TokenRefreshTests testBearerAuthorized_EmptyTokenSetsEmptyHeader 2ms
โœ… TokenRefreshTests testMockExecutor_HandlesEmptyURL 4ms
โœ… TokenRefreshTests testMockExecutor_Returns404ForUnknownURL 10ms
โœ… TokenRefreshTests testMockExecutor_ReturnsConfiguredResponse 3ms
โœ… TokenRefreshTests testNYPLResult_FailureCase 2ms
โœ… TokenRefreshTests testNYPLResult_FailureWithNilResponse 2ms
โœ… TokenRefreshTests testNYPLResult_SuccessCase 5ms
โœ… TokenRefreshTests testNYPLResult_SuccessWithNilResponse 1ms
โœ… TokenRefreshTests testRequestTimeout_DefaultValue 3ms
โœ… TokenRefreshTests testRequestTimeout_StaticDefault 2ms
โœ… TokenRefreshTests testTPPErrorCode_InvalidCredentialsValue 2ms
โœ… TokenRefreshTests testTokenRequest_EmptyPassword 2ms
โœ… TokenRefreshTests testTokenRequest_EmptyUsername 109ms
โœ… TokenRefreshTests testTokenRequest_InitializesCorrectly 3ms
โœ… TokenRefreshTests testTokenRequest_SpecialCharactersInCredentials 2ms
โœ… TokenRefreshTests testTokenResponse_DecodesFromJSON 2ms
โœ… TokenRefreshTests testTokenResponse_DifferentTokenTypes 2ms
โœ… TokenRefreshTests testTokenResponse_EncodesToJSON 4ms
โœ… TokenRefreshTests testTokenResponse_ExpirationDateCalculation 2ms
โœ… TokenRefreshTests testTokenResponse_LargeExpiresIn 2ms
โœ… TokenRefreshTests testTokenResponse_NegativeExpiresIn 2ms
โœ… TokenRefreshTests testTokenResponse_RoundTrip 2ms
โœ… TokenRefreshTests testTokenResponse_SmallExpiresIn 2ms
โœ… TokenRefreshTests testTokenResponse_ZeroExpiresIn 2ms
โœ… TokenRequestCredentialGuardTests testExecute_BothEmpty_ReturnsFailureWithoutNetworkCall 3ms
โœ… TokenRequestCredentialGuardTests testExecute_ColonInPassword_EncodesCorrectly 7ms
โœ… TokenRequestCredentialGuardTests testExecute_EmptyCredentials_ErrorDomain 4ms
โœ… TokenRequestCredentialGuardTests testExecute_EmptyPassword_PinlessLogin_MakesNetworkCall 4ms
โœ… TokenRequestCredentialGuardTests testExecute_EmptyUsername_ReturnsFailureWithoutNetworkCall 5ms
โœ… TokenRequestCredentialGuardTests testExecute_SendsPOSTMethod 8ms
โœ… TokenRequestCredentialGuardTests testExecute_ServerReturns400_ReturnsFailureWithStatusCode 5ms
โœ… TokenRequestCredentialGuardTests testExecute_ServerReturns401_ReturnsFailureWithStatusCode 7ms
โœ… TokenRequestCredentialGuardTests testExecute_ServerReturnsIncompleteJSON_ReturnsDecodingError 13ms
โœ… TokenRequestCredentialGuardTests testExecute_ServerReturnsNonJSON_ReturnsDecodingError 4ms
โœ… TokenRequestCredentialGuardTests testExecute_SpecialCharactersInCredentials_EncodesCorrectly 4ms
โœ… TokenRequestCredentialGuardTests testExecute_ValidCredentials_MakesNetworkCall 5ms
โœ… TokenRequestCredentialGuardTests testExecute_ValidCredentials_SendsCorrectBasicAuthHeader 4ms
โœ… TokenRequestTests testExecuteInvalidJSONReturnsDecodingError 32ms
โœ… TokenRequestTests testExecuteNon200StatusReturnsFailure 5ms
โœ… TokenRequestTests testExecuteSendsBasicAuthHeader 6ms
โœ… TokenRequestTests testExecuteSuccessReturnsToken 30ms
โœ… TokenRequestTests testExecuteUsesPOSTMethod 11ms
โœ… TokenRequestTests testTokenRequestInitProperties 6ms
โœ… TokenRequestTests testTokenResponseDecodableFromJSON 5ms
โœ… TokenRequestTests testTokenResponseExpirationDate 4ms
โœ… TokenRequestTests testTokenResponseInitProperties 3ms
โœ… TokenResponseTests testAccessToken_WithSpecialCharacters 2ms
โœ… TokenResponseTests testAccessToken_WithUnicodeCharacters 3ms
โœ… TokenResponseTests testDecode_WithDifferentTokenType_ParsesCorrectly 2ms
โœ… TokenResponseTests testDecode_WithExtraFields_IgnoresExtraFields 2ms
โœ… TokenResponseTests testDecode_WithLargeExpiresIn_ParsesCorrectly 4ms
โœ… TokenResponseTests testDecode_WithMissingAccessToken_ThrowsError 229ms
โœ… TokenResponseTests testDecode_WithMissingExpiresIn_ThrowsError 5ms
โœ… TokenResponseTests testDecode_WithMissingTokenType_ThrowsError 2ms
โœ… TokenResponseTests testDecode_WithValidJSON_ParsesCorrectly 2ms
โœ… TokenResponseTests testDecode_WithWrongTypeForExpiresIn_ThrowsError 7ms
โœ… TokenResponseTests testEncodeDecode_RoundTrip_PreservesValues 2ms
โœ… TokenResponseTests testEncode_ProducesValidJSON 5ms
โœ… TokenResponseTests testExpirationDate_CalculatesCorrectInterval 2ms
โœ… TokenResponseTests testExpirationDate_WithNegativeExpiresIn_ReturnsDateInPast 2ms
โœ… TokenResponseTests testExpirationDate_WithPositiveExpiresIn_ReturnsDateInFuture 2ms
โœ… TokenResponseTests testExpirationDate_WithZeroExpiresIn_ReturnsCurrentTime 2ms
โœ… TokenResponseTests testExpiresIn_WithMaxInt32Value 2ms
โœ… TokenResponseTests testInit_WithEmptyToken_StoresEmptyString 2ms
โœ… TokenResponseTests testInit_WithNegativeExpiresIn_StoresNegativeValue 6ms
โœ… TokenResponseTests testInit_WithValidParameters_StoresValues 6ms
โœ… TokenResponseTests testInit_WithZeroExpiresIn_StoresZero 3ms
โœ… TypographyPresetTests testAllPresetFontSizesInRange 8ms
โœ… TypographyPresetTests testAllPresetLetterSpacingsInRange 3ms
โœ… TypographyPresetTests testAllPresetLineSpacingsInRange 2ms
โœ… TypographyPresetTests testAllPresetWordSpacingsInRange 28ms
โœ… TypographyPresetTests testAllPresetsProduceCSS 5ms
โœ… TypographyPresetTests testClassicCSSContainsGeorgia 2ms
โœ… TypographyPresetTests testClassicPreset 3ms
โœ… TypographyPresetTests testCozyPreset 3ms
โœ… TypographyPresetTests testDensePreset 3ms
โœ… TypographyPresetTests testDyslexiaCSSContainsOpenDyslexic 3ms
โœ… TypographyPresetTests testDyslexiaFriendlyPreset 3ms
โœ… TypographyPresetTests testModernCSSContainsSFPro 4ms
โœ… TypographyPresetTests testModernPreset 2ms
โœ… TypographyPresetTests testNightReaderCSSHasBlackBackground 2ms
โœ… TypographyPresetTests testNightReaderPreset 2ms
โœ… TypographyPresetTests testPresetCount 3ms
โœ… TypographyPresetTests testPresetLookupById 27ms
โœ… TypographyPresetTests testPresetLookupByInvalidId 2ms
โœ… TypographyPresetTests testPresetSettingsAreCodable 34ms
โœ… TypographyPresetTests testPresetsHaveUniqueIds 3ms
โœ… TypographyPresetTests testPresetsHaveUniqueNames 6ms
โœ… TypographyServiceTests testApplyPreset 3ms
โœ… TypographyServiceTests testApplyPresetClearsPreviousCustomization 2ms
โœ… TypographyServiceTests testCSSContainsBackgroundColor 2ms
โœ… TypographyServiceTests testCSSContainsFontFamily 7ms
โœ… TypographyServiceTests testCSSContainsFontSize 6ms
โœ… TypographyServiceTests testCSSContainsLetterSpacing 4ms
โœ… TypographyServiceTests testCSSContainsLineSpacing 2ms
โœ… TypographyServiceTests testCSSContainsMargins 3ms
โœ… TypographyServiceTests testCSSContainsParagraphSpacing 2ms
โœ… TypographyServiceTests testCSSContainsTextAlignment 2ms
โœ… TypographyServiceTests testCSSContainsWordSpacing 2ms
โœ… TypographyServiceTests testCSSDisablesHyphensForLeftAligned 4ms
โœ… TypographyServiceTests testCSSEnablesHyphensForJustifiedText 3ms
โœ… TypographyServiceTests testCSSForArbitrarySettings 3ms
โœ… TypographyServiceTests testCSSForDarkTheme 2ms
โœ… TypographyServiceTests testCSSForSepiaTheme 3ms
โœ… TypographyServiceTests testDefaultSettingsLoadClassicPreset 2ms
โœ… TypographyServiceTests testResetToPresetRestoresOriginal 2ms
โœ… TypographyServiceTests testResetToPresetWithNoPresetResetsToClassic 3ms
โœ… TypographyServiceTests testSettingsPersistedAfterDebounce 732ms
โœ… TypographyServiceTests testSettingsPublisherEmitsOnChange 7ms
โœ… TypographyServiceTests testUpdateFontFamily 2ms
โœ… TypographyServiceTests testUpdateFontSizeClampsToRange 2ms
โœ… TypographyServiceTests testUpdateLetterSpacingClampsToRange 1ms
โœ… TypographyServiceTests testUpdateLineSpacingClampsToRange 2ms
โœ… TypographyServiceTests testUpdateMarginLevel 2ms
โœ… TypographyServiceTests testUpdateParagraphSpacing 4ms
โœ… TypographyServiceTests testUpdateSettingsReplacesAll 2ms
โœ… TypographyServiceTests testUpdateTextAlignment 5ms
โœ… TypographyServiceTests testUpdateTheme 3ms
โœ… TypographyServiceTests testUpdateWordSpacingClampsToRange 4ms
โœ… TypographySettingsViewModelTests testAlignmentGetterMatchesSettings 20ms
โœ… TypographySettingsViewModelTests testAvailableFontsNotEmpty 5ms
โœ… TypographySettingsViewModelTests testFontSizeGetterMatchesSettings 17ms
โœ… TypographySettingsViewModelTests testHasCustomOverridesIsFalseForPreset 27ms
โœ… TypographySettingsViewModelTests testHasCustomOverridesIsTrueAfterChange 28ms
โœ… TypographySettingsViewModelTests testHasCustomOverridesIsTrueWithNoPreset 15ms
โœ… TypographySettingsViewModelTests testInitialPresetIsClassic 32ms
โœ… TypographySettingsViewModelTests testInitialStateMatchesService 2ms
โœ… TypographySettingsViewModelTests testPreviewCSSChangesWithSettings 14ms
โœ… TypographySettingsViewModelTests testPreviewCSSNotEmpty 4ms
โœ… TypographySettingsViewModelTests testPreviewTextNotEmpty 3ms
โœ… TypographySettingsViewModelTests testRapidChangesSettleCorrectly 15ms
โœ… TypographySettingsViewModelTests testResetToPresetAfterCustomization 38ms
โœ… TypographySettingsViewModelTests testResetWithNoPresetResetsToClassic 28ms
โœ… TypographySettingsViewModelTests testSelectAllPresetsInSequence 75ms
โœ… TypographySettingsViewModelTests testSelectPresetUpdatesService 49ms
โœ… TypographySettingsViewModelTests testSelectPresetUpdatesSettings 14ms
โœ… TypographySettingsViewModelTests testServiceChangesReflectedInViewModel 8ms
โœ… TypographySettingsViewModelTests testUpdateFontFamily 14ms
โœ… TypographySettingsViewModelTests testUpdateFontSize 13ms
โœ… TypographySettingsViewModelTests testUpdateLetterSpacing 14ms
โœ… TypographySettingsViewModelTests testUpdateLineSpacing 22ms
โœ… TypographySettingsViewModelTests testUpdateMarginLevel 15ms
โœ… TypographySettingsViewModelTests testUpdateParagraphSpacing 16ms
โœ… TypographySettingsViewModelTests testUpdateTextAlignment 14ms
โœ… TypographySettingsViewModelTests testUpdateTheme 18ms
โœ… TypographySettingsViewModelTests testUpdateWordSpacing 15ms
โœ… UIColor_NYPLAdditionsTests testExample 4ms
โœ… URLBackupExclusionTests test_excludeFromBackup_returnsFalse_whenURLDoesNotExist 4ms
โœ… URLBackupExclusionTests test_excludeFromBackup_setsFlag_onExistingDirectory 3ms
โœ… URLBackupExclusionTests test_excludeFromBackup_setsFlag_onExistingFile 4ms
โœ… URLExtensionTests testAppendingPathComponent 2ms
โœ… URLExtensionTests testAppendingPathExtension 4ms
โœ… URLExtensionTests testFileURL_deletingLastPathComponent 2ms
โœ… URLExtensionTests testFileURL_isFileURL 4ms
โœ… URLExtensionTests testFileURL_lastPathComponent 3ms
โœ… URLExtensionTests testFileURL_pathExtension 3ms
โœ… URLExtensionTests testHTTPURL_isNotFileURL 2ms
โœ… URLExtensionTests testURLComponents_fragment 3ms
โœ… URLExtensionTests testURLComponents_host 2ms
โœ… URLExtensionTests testURLComponents_path 3ms
โœ… URLExtensionTests testURLComponents_query 3ms
โœ… URLExtensionTests testURLComponents_scheme 2ms
โœ… URLExtensionTests testURLEncoding_spaceInQuery 3ms
โœ… URLExtensionTests testURLEncoding_specialCharacters 125ms
โœ… URLExtensionTests testURLQueryItems_building 2ms
โœ… URLExtensionTests testURLQueryItems_parsing 6ms
โœ… URLExtensionsTests testReplacingScheme_HttpToHttps_ReplacesScheme 2ms
โœ… URLExtensionsTests testReplacingScheme_HttpsToHttp_ReplacesScheme 3ms
โœ… URLExtensionsTests testReplacingScheme_PreservesFragment 4ms
โœ… URLExtensionsTests testReplacingScheme_PreservesPort 38ms
โœ… URLExtensionsTests testReplacingScheme_PreservesUserInfo 2ms
โœ… URLExtensionsTests testReplacingScheme_ToCustomScheme_Works 38ms
โœ… URLRequestExtensionsCoverageTests testURLRequest_applyCustomUserAgent 2ms
โœ… URLRequestExtensionsCoverageTests testURLRequest_customUserAgent 2ms
โœ… URLRequestExtensionsCoverageTests testURLRequest_noCustomUserAgent_doesNotSetUserAgentHeader 2ms
โœ… URLRequestExtensionsTests testApplyCustomUserAgent_ReturnsSelf 2ms
โœ… URLRequestExtensionsTests testApplyCustomUserAgent_SetsHeader 2ms
โœ… URLRequestExtensionsTests testInit_WithCustomUserAgent_PreservesURL 5ms
โœ… URLRequestExtensionsTests testInit_WithCustomUserAgent_SetsUserAgentHeader 2ms
โœ… URLRequestExtensionsTests testInit_WithoutCustomUserAgent_NoUserAgentHeader 11ms
โœ… URLRequestExtensionsTests testIsTokenAuthorized_NoAuthHeader_ReturnsFalse 2ms
โœ… URLRequestExtensionsTests testIsTokenAuthorized_WithBasicAuth_ReturnsFalse 2ms
โœ… URLRequestExtensionsTests testIsTokenAuthorized_WithBearerToken_ReturnsTrue 2ms
โœ… URLRequestExtensionsTests testLoggableString_ContainsMethodAndURL 3ms
โœ… URLRequestExtensionsTests testLoggableString_ExcludesAuthorizationHeader 5ms
โœ… URLRequestExtensionsTests testLoggableString_IncludesNonSensitiveHeaders 2ms
โœ… URLRequestNYPLAdditionsTests testPostParams_bodyContainsParams 2ms
โœ… URLRequestNYPLAdditionsTests testPostParams_boundaryConsistencyBetweenHeaderAndBody 2ms
โœ… URLRequestNYPLAdditionsTests testPostParams_emptyParams_doesNotCrash 2ms
โœ… URLRequestNYPLAdditionsTests testPostParams_producesMultipartFormPOSTRequest 6ms
โœ… URLRequestNYPLAdditionsTests testPostParams_setsContentLength 2ms
โœ… URLRequestNYPLAdditionsTests testPostParams_withImage_bodyContainsImageData 23ms
โœ… URLRequestNYPLAdditionsTests testPostParams_withNilImage_bodyLacksImageSection 2ms
โœ… URLRequestNYPLAdditionsTests testPostProblemDocument_producesCompliantProblemJSONRequest 2ms
โœ… URLRequestNYPLAdditionsTests testPostProblemDocument_setsBody 2ms
โœ… URLRequestNYPLAdditionsTests testPostProblemDocument_setsContentLength 2ms
โœ… URLRequestNYPLAdditionsTests testPostProblemDocument_usesTransportDefaultsForReporting 2ms
โœ… URLRequest_NYPLTests testAuthorizationHeaderStrip 3ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_with200StatusCode_returnsFalse 3ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_with401StatusCode_returnsTrue 6ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_with403StatusCode_returnsFalse 2ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_withApiProblemMimeType_andInvalidCredentials_returnsTrue 2ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_withInvalidCredentialsProblemDoc_returnsTrue 2ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_withOPDSAuthMimeType_and200Status_returnsFalse 2ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_withOPDSAuthMimeType_andNon2xxStatus_returnsTrue 65ms
โœ… URLResponseAuthenticationTests testURLResponse_withInvalidCredentialsProblemDoc_returnsTrue 12ms
โœ… URLResponseAuthenticationTests testURLResponse_withNilProblemDoc_returnsFalse 2ms
โœ… URLResponseAuthenticationTests testURLResponse_withNonProblemMimeType_returnsFalse 5ms
โœ… URLResponseNYPLTests testIsProblemDocument_WithApiProblemJsonMime_ReturnsTrue 4ms
โœ… URLResponseNYPLTests testIsProblemDocument_WithHtmlMime_ReturnsFalse 5ms
โœ… URLResponseNYPLTests testIsProblemDocument_WithNilMime_ReturnsFalse 3ms
โœ… URLResponseNYPLTests testIsProblemDocument_WithProblemJsonMime_ReturnsTrue 4ms
โœ… URLResponseNYPLTests testIsProblemDocument_WithRegularJsonMime_ReturnsFalse 2ms
โœ… URLResponseNYPLTests testIsSuccess_199_ReturnsFalse 4ms
โœ… URLResponseNYPLTests testIsSuccess_200_ReturnsTrue 3ms
โœ… URLResponseNYPLTests testIsSuccess_201Created_ReturnsTrue 16ms
โœ… URLResponseNYPLTests testIsSuccess_204NoContent_ReturnsTrue 2ms
โœ… URLResponseNYPLTests testIsSuccess_299_ReturnsTrue 3ms
โœ… URLResponseNYPLTests testIsSuccess_300Redirect_ReturnsFalse 3ms
โœ… URLResponseNYPLTests testIsSuccess_400BadRequest_ReturnsFalse 5ms
โœ… URLResponseNYPLTests testIsSuccess_401Unauthorized_ReturnsFalse 4ms
โœ… URLResponseNYPLTests testIsSuccess_500ServerError_ReturnsFalse 3ms
โœ… URLSessionCredentialStorageTests testMakeURLSessionConfiguration_Default_DisablesCredentialStorage 14ms
โœ… URLSessionCredentialStorageTests testMakeURLSessionConfiguration_Ephemeral_ReturnsEphemeralConfig 169ms
โœ… URLSessionCredentialStorageTests testMakeURLSessionConfiguration_Fallback_DisablesCredentialStorage 2ms
โœ… URLTypeTests testURLType_HasAllExpectedCases 6ms
โœ… URLTypeTests testURLType_RawValues_AreDistinct 3ms
โœ… URLValidationTests testEmptyString_returnsNil 4ms
โœ… URLValidationTests testFileURL_alwaysValid 3ms
โœ… URLValidationTests testInvalidURL_handledByURLInit 3ms
โœ… URLValidationTests testURLWithSpaces_handledCorrectly 2ms
โœ… URLValidationTests testValidHTTPURL 5ms
โœ… UserAccountPublisherAuthStateTests testAuthStateDidChangePublisher_firesOnStateChanges 8ms
โœ… UserAccountPublisherAuthStateTests testCredentialsStalePublisher_firesWhenStateBecomesStale 8ms
โœ… UserAccountPublisherAuthStateTests testInitialState_isLoggedOut_andMarkCredentialsStaleFromLoggedOutIsNoOp 2ms
โœ… UserAccountPublisherAuthStateTests testMarkCredentialsStale_updatesState 6ms
โœ… UserAccountPublisherAuthStateTests testSignOut_resetsToLoggedOut 16ms
โœ… UserAccountPublisherTests testAuthStateDidChangePublisher_emitsStateChanges 61ms
โœ… UserAccountPublisherTests testCredentialsDidChangePublisher_emitsOnChange 10ms
โœ… UserAccountPublisherTests testCredentialsStalePublisher_emitsWhenStale 14ms
โœ… UserAccountPublisherTests testDidSignOutPublisher_emitsOnSignOut 10ms
โœ… UserAccountPublisherTests testInit_hasCorrectDefaults 7ms
โœ… UserAccountPublisherTests testMarkCredentialsStale_fromLoggedIn_setsStaleState 42ms
โœ… UserAccountPublisherTests testMarkCredentialsStale_fromLoggedOut_doesNotChange 21ms
โœ… UserAccountPublisherTests testMarkLoggedIn_setsLoggedInState 2ms
โœ… UserAccountPublisherTests testShared_returnsSameInstance 17ms
โœ… UserAccountPublisherTests testSignOut_resetsAllState 4ms
โœ… UserAccountPublisherTests testSignOut_resetsIsSigningOutAfterDelay 167ms
โœ… UserAccountValidationTests testAcceptsASCIICharacters 146ms
โœ… UserAccountValidationTests testAcceptsEmptyReplacementString 161ms
โœ… UserAccountValidationTests testAcceptsPINAtExactlyAuthPasscodeLength 242ms
โœ… UserAccountValidationTests testAcceptsUsernameAtExactly25Characters 151ms
โœ… UserAccountValidationTests testRejectsNonASCIICharacters 164ms
โœ… UserAccountValidationTests testRejectsPINLongerThanAuthPasscodeLength 299ms
โœ… UserAccountValidationTests testRejectsUsernameLongerThan25Characters 150ms
โœ… UserAccountValidationTests testRejectsUsernameRangeOutsideTextBounds 158ms
โœ… UserAccountValidationTests testShouldBeginEditingWhenForceEditabilityIsTrue 118ms
โœ… UserAccountValidationTests testShouldBeginEditingWhenNoBusinessLogic 119ms
โœ… UserAccountValidationTests testShouldNotBeginEditingWhenBusinessLogicHasBarcodeAndPIN 211ms
โœ… UserProfileDocumentTests testParse 4ms
โœ… UserProfileDocumentTests testParseJSONExtraProperty 5ms
โœ… UserProfileDocumentTests testParseJSONInvalid 5ms
โœ… UserProfileDocumentTests testParseJSONMissingProperty 33ms
โœ… UserProfileDocumentTests testParseJSONNilValue 3ms
โœ… UserProfileDocumentTests testParseJSONTypeMismatch 3ms
โœ… UserProfileDocumentTests testParseProfileDocCausingSIMPLY2491 5ms
โœ… UserRetryTrackerTests testCanRetry_afterFiveRetries_returnsFalse 2ms
โœ… UserRetryTrackerTests testCanRetry_afterFourRetries_returnsTrue 2ms
โœ… UserRetryTrackerTests testCanRetry_afterOneRetry_returnsTrue 3ms
โœ… UserRetryTrackerTests testCanRetry_newOperation_returnsTrue 3ms
โœ… UserRetryTrackerTests testClearRetries_onlyAffectsSpecifiedOperation 3ms
โœ… UserRetryTrackerTests testClearRetries_resetsCount 3ms
โœ… UserRetryTrackerTests testConcurrentAccess_doesNotCrash 3ms
โœ… UserRetryTrackerTests testRecordRetry_afterMax_returnsZero 2ms
โœ… UserRetryTrackerTests testRecordRetry_returnsRemainingCount 2ms
โœ… UserRetryTrackerTests testSeparateOperations_trackIndependently 2ms