๐Ÿงช Palace iOS Test Report

Generated: 2026-04-15 18:10:23 UTC | Commit: a7ff32a96f19 | Branch: fix/per-account-user-credentials

โŒ 5 TEST(S) FAILED

5433 tests completed in 5m 0s

5433
Total Tests
5391
Passed
5
Failed
37
Skipped
5m 0s
Duration
38.6%
Coverage

โŒ Failed Tests

โŒ Palace.PalaceTests

Duration: <1ms

โŒ TokenRefreshIntegrationTests.testExecuteTokenRefresh_EmptyPassword_NeverHitsNetwork

Duration: 1.95s

โŒ NetworkExecutorCredentialGuardTests.testExecuteTokenRefresh_EmptyPassword_FailsViaTokenRequestGuard

Duration: 28ms

โŒ NetworkExecutorCredentialGuardTests.testExecuteTokenRefresh_EmptyUsername_FailsViaTokenRequestGuard

Duration: 6ms

โŒ DownloadWatchdogTests.testDefaultConfiguration

Duration: <1ms

๐Ÿ“Š Tests by Class

Class Total Passed Failed Duration
โœ… AccessLintComplianceTests 11 11 0 48ms
โœ… AccessibilityAnnouncementCenterTests 20 20 0 1.70s
โœ… AccessibilityLabelTests 9 9 0 28ms
โœ… AccessibilityPreferencesTests 26 26 0 123ms
โœ… AccessibilityServiceTests 11 11 0 61ms
โœ… AccountAuthDocCarryoverTests 5 5 0 520ms
โœ… AccountAwareNetworkTests 10 10 0 124ms
โœ… AccountDetailCredentialStateTests 8 8 0 47ms
โœ… AccountDetailPINVisibilityTests 25 25 0 81ms
โœ… AccountDetailViewModelGapTests 1 1 0 136ms
โœ… AccountDetailViewModelTests 19 19 0 70ms
โœ… AccountDetailsURLTests 17 17 0 87ms
โœ… AccountModelGapTests 9 9 0 893ms
โœ… AccountModelTests 16 16 0 82ms
โœ… AccountProfileDocumentTests 2 2 0 7ms
โœ… AccountSwitchCleanupTests 8 8 0 93ms
โœ… AccountSwitchIntegrationTests 8 8 0 223ms
โœ… AccountsManagerCacheTests 15 15 0 434ms
โœ… AccountsManagerGapTests 3 3 0 16ms
โœ… AccountsManagerTests 52 52 0 5.62s
โœ… AdobeCertificateGapTests 7 7 0 24ms
โœ… AdobeDRMErrorGapTests 3 3 0 14ms
โœ… AdobeDRMServiceGapTests 2 2 0 4ms
โœ… AlertModelCoverageTests 6 6 0 14ms
โœ… AlertModelRetryTests 15 15 0 72ms
โœ… AlertModelTests 2 2 0 15ms
โœ… AlertUtilsTests 24 24 0 219ms
โœ… AnnotationContractTests 3 3 0 24ms
โœ… AnnotationDeviceIDTests 3 3 0 5ms
โœ… AnnouncementTests 3 3 0 9ms
โœ… AppHealthViewModelTests 8 8 0 1.31s
โœ… AppLaunchTrackerExtendedTests 17 17 0 426ms
โœ… AppLaunchTrackerTests 10 10 0 345ms
โœ… AppRouteTests 5 5 0 31ms
โœ… AppTabRouterCoverageTests 5 5 0 14ms
โœ… AppTabRouterGapTests 4 4 0 8ms
โœ… ArrayExtensionsTests 8 8 0 26ms
โœ… AudioBookmarkGapTests 6 6 0 30ms
โœ… AudioInterruptionLogicTests 6 6 0 16ms
โœ… AudiobookAccessibilityTests 7 7 0 14ms
โœ… AudiobookBackgroundAudioTests 2 2 0 52ms
โœ… AudiobookBookmarkBusinessLogicTests 17 17 0 4.41s
โœ… AudiobookDataManagerEmptyQueueTests 1 1 0 9ms
โœ… AudiobookDataManagerErrorHandlingTests 5 5 0 11.12s
โœ… AudiobookDataManagerModelsTests 20 20 0 64ms
โœ… AudiobookDataManagerNetworkSyncTests 5 5 0 5.66s
โœ… AudiobookDataManagerSaveTests 4 4 0 1.47s
โœ… AudiobookDataManagerStoreRecoveryTests 5 5 0 2.10s
โœ… AudiobookEventsCoverageTests 1 1 0 13ms
โœ… AudiobookEventsTests 1 1 0 9ms
โœ… AudiobookFileLoggerTests 9 9 0 72ms
โœ… AudiobookPlaybackStateTests 3 3 0 44ms
โœ… AudiobookPlaybackTests 26 26 0 454ms
โœ… AudiobookPlayerSnapshotTests 2 2 0 11ms
โœ… AudiobookSAMLReauthTests 6 6 0 48ms
โœ… AudiobookSessionErrorDescriptionTests 4 4 0 24ms
โœ… AudiobookSessionErrorExtTests 4 4 0 9ms
โœ… AudiobookSessionErrorTests 8 8 0 32ms
โœ… AudiobookSessionManagerTests 3 3 0 66ms
โœ… AudiobookSessionStateTests 6 6 0 21ms
โœ… AudiobookSessionStateTransitionTests 18 18 0 120ms
โœ… AudiobookSleepTimerIntegrationTests 5 5 0 179ms
โœ… AudiobookStorageLocationTests 3 3 0 13ms
โœ… AudiobookTOCTests 18 18 0 267ms
โœ… AudiobookTimeEntryTests 6 6 0 25ms
โœ… AudiobookTimeTrackerEdgeTests 8 8 0 116ms
โœ… AudiobookTimeTrackerLifecycleTests 5 5 0 1.11s
โœ… AudiobookTimeTrackerTests 9 9 0 90ms
โœ… AudiobookTrackCompletionTests 2 2 0 99ms
โœ… AudiobookTypeRoutingTests 5 5 0 56ms
โœ… AudiobookmarkTests 4 4 0 34ms
โœ… AuthDocumentContractTests 2 2 0 9ms
โœ… AuthErrorCategoryTests 12 12 0 95ms
โœ… AuthFlowSecurityTests 7 3 0 73ms
โœ… AuthTypeTests 7 7 0 17ms
โœ… AuthenticationTests 16 16 0 73ms
โœ… BackgroundDownloadHandlerTests 28 28 0 124ms
โœ… BackgroundListenerTests 2 2 0 37ms
โœ… BadgeDefinitionTests 33 33 0 6.71s
โœ… BadgeServiceTests 16 16 0 108ms
โœ… BadgesViewModelTests 14 14 0 542ms
โœ… BasicAuthEmptyCredentialTests 4 4 0 31ms
โœ… BearerTokenFulfillFlowTests 4 4 0 36ms
โœ… BearerTokenRefreshTests 4 4 0 6ms
โœ… BearerTokenResponseDetectionTests 7 7 0 27ms
โœ… BookAvailabilityFormatterTests 18 18 0 1.03s
โœ… BookButtonMapperHoldReadyTests 12 12 0 41ms
โœ… BookButtonMapperTests 14 14 0 65ms
โœ… BookButtonMapperViewModelTests 18 18 0 72ms
โœ… BookButtonStateTests 8 8 0 87ms
โœ… BookButtonTypeTests 13 13 0 56ms
โœ… BookCellModelActionTests 15 15 0 101ms
โœ… BookCellModelCacheInvalidationTests 8 8 0 115ms
โœ… BookCellModelCachePrefetchSafetyTests 9 9 0 181ms
โœ… BookCellModelCacheTests 25 25 0 507ms
โœ… BookCellModelComputedPropertyTests 19 19 0 247ms
โœ… BookCellModelRegistryBindingTests 4 4 0 349ms
โœ… BookCellModelStateTests 16 16 0 547ms
โœ… BookCellStateComprehensiveTests 14 14 0 46ms
โœ… BookDetailSnapshotTests 17 17 0 90ms
โœ… BookDetailViewModelTests 81 81 0 1.19s
โœ… BookPreviewTests 4 4 0 27ms
โœ… BookRegistryStoreTests 29 29 0 2.12s
โœ… BookRegistrySyncTests 26 19 0 1.65s
โœ… BookStateIntegrationTests 8 8 0 76ms
โœ… BookmarkBusinessLogicExtendedTests 10 10 0 1.30s
โœ… BookmarkDeletionLogTests 3 3 0 691ms
โœ… BookmarkDeviceIdMatchingTests 3 3 0 4.25s
โœ… BookmarkExistenceTests 4 4 0 661ms
โœ… BookmarkManagerTests 26 26 0 10.91s
โœ… BookmarkReauthenticationTests 1 1 0 106ms
โœ… BookmarkSortingTests 1 1 0 102ms
โœ… BookmarkSyncTests 3 3 0 362ms
โœ… BorrowErrorMessageTests 13 13 0 58ms
โœ… ButtonStateTests 22 22 0 163ms
โœ… ButtonStyleTypeTests 2 2 0 4ms
โœ… C64ConversionTests 6 6 0 14ms
โœ… CarPlayChapterListTests 3 3 0 8ms
โœ… CarPlayIntegrationTests 2 2 0 26ms
โœ… CarPlayLibraryRefreshTests 3 3 0 10ms
โœ… CarPlayNowPlayingTemplateTests 4 4 0 525ms
โœ… CarPlayOpenAppAlertTests 4 4 0 6ms
โœ… CarPlayPlaybackErrorTests 8 8 0 24ms
โœ… CarPlayTests 13 13 0 57ms
โœ… CarPlayTimeTrackingTests 3 3 0 73ms
โœ… CatalogAPIEntryPointTests 1 1 0 32ms
โœ… CatalogAccessibilityTests 8 8 0 25ms
โœ… CatalogCacheMetadataTests 20 20 0 122ms
โœ… CatalogFeedModelTests 4 4 0 17ms
โœ… CatalogFilterGroupModelTests 17 17 0 42ms
โœ… CatalogFilterGroupTests 3 3 0 9ms
โœ… CatalogFilterModelTests 17 17 0 46ms
โœ… CatalogFilterServiceTests 29 29 0 87ms
โœ… CatalogFilterTests 3 3 0 10ms
โœ… CatalogLaneModelStructTests 18 18 0 301ms
โœ… CatalogLaneModelTests 4 4 0 15ms
โœ… CatalogLaneMoreFilterStateTests 8 8 0 30ms
โœ… CatalogLaneMoreViewModelTests 33 33 0 145ms
โœ… CatalogLaneRowViewAccessibilityTests 11 11 0 48ms
โœ… CatalogLaneSortingTests 4 4 0 119ms
โœ… CatalogLoadIntegrationTests 6 6 0 185ms
โœ… CatalogRepositoryCoreTests 9 9 0 277ms
โœ… CatalogRepositoryTests 19 19 0 151ms
โœ… CatalogSearchViewModelRegistryUpdateTests 5 5 0 57ms
โœ… CatalogSearchViewModelTests 59 59 0 6.48s
โœ… CatalogSnapshotTests 10 10 0 247ms
โœ… CatalogSortServiceTests 14 14 0 124ms
โœ… CatalogViewModelIntegrationTests 11 11 0 60ms
โœ… CatalogViewModelOptimisticLoadingTests 5 5 0 69ms
โœ… ChaosFaultInjectionTests 5 5 0 63ms
โœ… CirculationAnalyticsTests 4 4 0 25ms
โœ… ColorExtensionTests 5 5 0 11ms
โœ… ConcurrentBookStateTests 3 3 0 29ms
โœ… ConcurrentDownloadStateTests 3 3 0 60ms
โœ… ConcurrentTokenRefreshTests 2 2 0 60ms
โœ… ContinuousPlaybackTrackingTests 3 3 0 428ms
โœ… CredentialEdgeCaseTests 6 6 0 11ms
โœ… CredentialPrivacyTests 5 4 0 17ms
โœ… CrossDomain401Tests 8 8 0 28ms
โœ… CrossFormatMappingTests 14 14 0 42ms
โœ… DPLAErrorTests 3 3 0 9ms
โœ… DRMAdversarialTests 6 1 0 79ms
โœ… DRMFulfilledPublicationTests 6 6 0 22ms
โœ… DataBase64Tests 5 5 0 9ms
โœ… DataReceptionComparisonTests 2 2 0 33ms
โœ… DateExtensionTests 9 9 0 20ms
โœ… DateFormattingTests 4 4 0 109ms
โœ… Date_NYPLAdditionsTests 7 7 0 529ms
โœ… DebugSettingsTests 27 27 0 116ms
โœ… DefaultCatalogAPITests 31 31 0 310ms
โœ… DeriveInitialStateTests 4 4 0 30ms
โœ… DeviceLogCollectorGapTests 2 2 0 6.22s
โœ… DeviceLogCollectorTests 9 9 0 14.53s
โœ… DeviceOrientationTests 7 7 0 42ms
โœ… DeviceSpecificErrorMonitorTests 11 11 0 28ms
โœ… DictionaryExtensionsTests 5 5 0 11ms
โœ… DiskBudgetTests 2 2 0 7ms
โœ… DownloadCoordinatorIntegrationTests 10 10 0 476ms
โœ… DownloadCoordinatorTests 11 11 0 73ms
โœ… DownloadDiskSpaceTests 2 2 0 5ms
โœ… DownloadErrorInfoTests 3 3 0 13ms
โœ… DownloadErrorRecoveryPolicyTests 18 18 0 1.21s
โœ… DownloadErrorRecoveryTests 3 3 0 22ms
โœ… DownloadInfoTests 5 5 0 19ms
โœ… DownloadOnlyOnWiFiTests 12 12 0 48ms
โœ… DownloadPersistenceStoreTests 5 5 0 50ms
โœ… DownloadProgressPublisherCoreTests 19 19 0 1.64s
โœ… DownloadProgressPublisherTests 2 2 0 10ms
โœ… DownloadQueueIntegrationTests 3 3 0 51ms
โœ… DownloadRedirectTests 7 7 0 16ms
โœ… DownloadSlotManagementTests 5 5 0 20ms
โœ… DownloadStateMachineIntegrationTests 9 9 0 40ms
โœ… DownloadStateMachineTests 5 5 0 37ms
โœ… DownloadStateManagerTests 14 14 0 200ms
โŒ DownloadWatchdogTests 3 2 1 32ms
โœ… EPUBModuleTests 4 4 0 18ms
โœ… EPUBPositionTests 8 8 0 73ms
โœ… EPUBSearchViewModelTests 18 18 0 120ms
โœ… EPUBToolbarToggleTests 14 14 0 50ms
โœ… EmailAddressTests 16 16 0 59ms
โœ… EpubSampleFactoryTests 11 11 0 103ms
โœ… ErrorActivityTrackerTests 12 12 0 38ms
โœ… ErrorDetailTests 12 12 0 605ms
โœ… ErrorDetailViewControllerGapTests 3 3 0 239ms
โœ… ErrorDetailViewControllerTests 18 18 0 501ms
โœ… ErrorLogExporterTests 5 5 0 11.28s
โœ… ExpiredLoanStringsTests 5 5 0 13ms
โœ… FacetEnumTests 3 3 0 7ms
โœ… FacetToolbarAccessibilityTests 5 5 0 25ms
โœ… FacetViewModelLogoDelegateTests 4 4 0 44ms
โœ… FacetViewModelTests 18 18 0 120ms
โœ… FacetsSelectorSnapshotTests 9 9 0 93ms
โœ… FetchManifestWithBearerTokenLCPSafetyTests 1 1 0 14ms
โœ… FetchManifestWithBearerTokenTests 9 9 0 134ms
โœ… FetchOpenAccessManifestLCPSafetyTests 4 4 0 10ms
โœ… FileURLGenerationTests 3 3 0 39ms
โœ… FloatTPPAdditionsTests 11 11 0 23ms
โœ… FocusIndicationTests 7 7 0 26ms
โœ… FontManagerTests 17 17 0 59ms
โœ… GeneralCacheTests 18 18 0 85ms
โœ… GroupEnumTests 1 1 0 14ms
โœ… HTMLTextViewTests 70 70 0 18.51s
โœ… HoldNotificationClassificationTests 3 3 0 24ms
โœ… HoldsBadgeCountTests 9 9 0 52ms
โœ… HoldsBookViewModelTests 8 8 0 49ms
โœ… HoldsSnapshotTests 7 7 0 43ms
โœ… HoldsSyncFailureTests 8 8 0 52ms
โœ… HoldsViewModelTests 23 23 0 1.48s
โœ… ImageCacheTypeTests 1 1 0 4ms
โœ… IntExtensionsTests 6 6 0 40ms
โœ… KeyboardNavigationFKATests 11 11 0 342ms
โœ… KeyboardNavigationHandlerTests 16 16 0 57ms
โœ… KeyboardVoiceOverTests 7 7 0 99ms
โœ… LCPAudiobookURLSchemeTests 4 4 0 8ms
โœ… LCPAudiobooksTests 18 18 0 122ms
โœ… LCPLibraryServiceTests 20 20 0 2.01s
โœ… LCPLicenseDocumentDetectionTests 5 5 0 15ms
โœ… LCPLicenseFilePathTests 3 3 0 14ms
โœ… LCPOrphanedDownloadRegistryTests 4 4 0 20ms
โœ… LCPPDFManifestTests 3 3 0 11ms
โœ… LCPPDFsTests 13 13 0 132ms
โœ… LCPSessionIdentifierTests 3 3 0 86ms
โœ… LatestAudiobookLocationTests 3 3 0 16ms
โœ… LicensesServiceTests 10 10 0 29ms
โœ… LogTests 14 14 0 338ms
โœ… LoginKeyboardTests 8 8 0 87ms
โœ… MainActorHelpersTests 22 22 0 789ms
โœ… MappedCatalogModelTests 11 11 0 596ms
โœ… MappedCatalogTests 3 3 0 12ms
โœ… MyBooksDownloadCenterAdeptGapTests 3 3 0 231ms
โœ… MyBooksSimplifiedBearerTokenTests 17 17 0 3.38s
โœ… MyBooksViewModelBooksPublisherTests 3 3 0 47ms
โœ… MyBooksViewModelConcurrencyTests 4 4 0 81ms
โœ… MyBooksViewModelDownloadStateTests 3 3 0 16ms
โœ… MyBooksViewModelEmptyArrayTests 3 3 0 9ms
โœ… MyBooksViewModelEmptyStateTests 4 4 0 50ms
โœ… MyBooksViewModelExtendedTests 15 15 0 67ms
โœ… MyBooksViewModelFacetIntegrationTests 4 4 0 32ms
โœ… MyBooksViewModelFacetPublisherTests 3 3 0 9ms
โœ… MyBooksViewModelFilterSortInteractionTests 2 2 0 28ms
โœ… MyBooksViewModelFilterTests 9 9 0 98ms
โœ… MyBooksViewModelGuardConditionsTests 2 2 0 40ms
โœ… MyBooksViewModelLargeDatasetTests 2 2 0 306ms
โœ… MyBooksViewModelLoadAccountTests 2 2 0 281ms
โœ… MyBooksViewModelLoginStateTests 4 4 0 534ms
โœ… MyBooksViewModelMultipleAuthorSortingTests 3 3 0 36ms
โœ… MyBooksViewModelNotificationTests 4 4 0 1.03s
โœ… MyBooksViewModelOfflineFilteringTests 3 3 0 22ms
โœ… MyBooksViewModelPublisherTests 7 7 0 18ms
โœ… MyBooksViewModelSearchEdgeCaseTests 6 6 0 43ms
โœ… MyBooksViewModelSearchQueryTests 3 3 0 9ms
โœ… MyBooksViewModelSortPersistenceTests 3 3 0 18ms
โœ… MyBooksViewModelSortingIntegrationTests 5 5 0 46ms
โœ… MyBooksViewModelSortingTests 6 6 0 45ms
โœ… MyBooksViewModelStateTransitionTests 3 3 0 516ms
โœ… MyBooksViewModelUIBindingTests 3 3 0 7ms
โœ… NSErrorAdditionsTests 7 7 0 14ms
โœ… NSNotificationTPPTests 3 3 0 22ms
โœ… NavigationCoordinatorTests 17 17 0 62ms
โœ… NavigationFreezePreventionTests 5 5 0 17ms
โŒ NetworkExecutorCredentialGuardTests 9 7 2 94ms
โœ… NetworkExecutorResponseRegressionTests 4 4 0 24ms
โœ… NetworkExecutorTaskTypeTests 3 3 0 30ms
โœ… NetworkOfflineDetectionTests 3 3 0 11ms
โœ… NetworkQueueTests 11 11 0 52ms
โœ… NetworkRequestQueueTests 2 2 0 553ms
โœ… NetworkRetryLogicTests 7 7 0 28ms
โœ… NetworkTimeoutTests 3 3 0 6ms
โœ… NotificationServiceTests 19 19 0 203ms
โœ… NotificationServiceTokenTests 9 9 0 25ms
โœ… NotificationSyncThrottleTests 7 7 0 27ms
โœ… NotificationTokenDataTests 4 4 0 12ms
โœ… NowPlayingCoordinatorTests 19 19 0 702ms
โœ… OAuthSAMLRedirectRegressionTests 4 4 0 510ms
โœ… OIDCAuthDocumentParsingTests 4 4 0 404ms
โœ… OIDCAuthTypeTests 5 5 0 8ms
โœ… OIDCAuthenticationPropertyTests 8 8 0 855ms
โœ… OIDCCallbackEdgeCaseTests 9 9 0 1.10s
โœ… OIDCCallbackHandlingTests 5 5 0 677ms
โœ… OIDCCallbackSchemeTests 3 3 0 10ms
โœ… OIDCExplicitLogoutTests 5 0 0 514ms
โœ… OIDCIsolationRegressionTests 6 6 0 4.48s
โœ… OIDCLoginRoutingTests 3 3 0 411ms
โœ… OIDCMakeRequestTests 3 3 0 341ms
โœ… OIDCNSCodingTests 1 1 0 103ms
โœ… OIDCNetworkLayer401Tests 5 5 0 540ms
โœ… OIDCReauthOnExpiredTokenTests 5 5 0 556ms
โœ… OIDCRedirectURIConstructionTests 6 6 0 603ms
โœ… OIDCRegressionTests 9 9 0 913ms
โœ… OIDCSelectedAuthenticationTests 2 2 0 260ms
โœ… OIDCSignOutRegressionTests 5 5 0 715ms
โœ… OIDCTokenRefreshRegressionTests 6 6 0 620ms
โœ… OIDCUpdateUserAccountTests 5 5 0 568ms
โœ… OIDCViewModelRegressionTests 1 1 0 99ms
โœ… OIDCViewModelSignInTests 2 2 0 5ms
โœ… OPDS2AuthenticationDocumentTests 18 18 0 120ms
โœ… OPDS2AvailabilityTests 4 4 0 16ms
โœ… OPDS2BookBridgeTests 44 44 0 211ms
โœ… OPDS2CatalogWiringTests 14 14 0 109ms
โœ… OPDS2CatalogsFeedTests 3 3 0 270ms
โœ… OPDS2ContributorTests 2 2 0 4ms
โœ… OPDS2FeedContractTests 5 5 0 77ms
โœ… OPDS2FeedParsingTests 11 11 0 474ms
โœ… OPDS2FeedTests 13 13 0 65ms
โœ… OPDS2FullMetadataTests 4 4 0 14ms
โœ… OPDS2FullPublicationTests 13 13 0 65ms
โœ… OPDS2IntegrationTests 18 18 0 165ms
โœ… OPDS2LinkArrayTests 5 5 0 18ms
โœ… OPDS2LinkComputedPropertyTests 20 20 0 78ms
โœ… OPDS2LinkRelTests 1 1 0 6ms
โœ… OPDS2LinkTests 2 2 0 262ms
โœ… OPDS2PublicationExtendedTests 46 46 0 531ms
โœ… OPDS2PublicationImageTests 6 6 0 12ms
โœ… OPDS2PublicationTests 2 2 0 220ms
โœ… OPDS2SamlIDPTests 6 6 0 23ms
โœ… OPDS2SubjectTests 2 2 0 6ms
โœ… OPDS2SupportingTypesTests 5 5 0 40ms
โœ… OPDSAcquisitionPathExpandedTests 19 19 0 405ms
โœ… OPDSFeedCacheTests 14 14 0 187ms
โœ… OPDSFeedParsingTests 2 2 0 159ms
โœ… OPDSFeedServiceTests 5 5 0 69ms
โœ… OPDSFormatTests 13 13 0 29ms
โœ… OPDSParserCoreTests 4 4 0 15ms
โœ… OPDSParserTests 4 4 0 8ms
โœ… OPDSParsingTests 47 47 0 1.83s
โœ… OfflineActionTests 29 29 0 204ms
โœ… OfflineQueueServiceExtendedTests 13 13 0 5.18s
โœ… OfflineQueueServiceTests 17 17 0 7.13s
โœ… PDFExtensionsTests 20 20 0 647ms
โœ… PDFReaderTests 12 12 0 43ms
โœ… PDFViewsSnapshotTests 15 15 0 124ms
โœ… PP3596RegressionTests 3 3 0 55ms
โŒ Palace 2 1 1 <1ms
โœ… PalaceCheckPropertyTests 8 8 0 233ms
โœ… PalaceErrorCategoryTests 17 17 0 42ms
โœ… PalaceErrorExtendedTests 29 29 0 87ms
โœ… PalaceErrorTests 11 11 0 100ms
โœ… ParserFuzzTests 4 4 0 45.70s
โœ… PerformanceMonitorTests 14 14 0 166ms
โœ… PerformanceReportTests 14 14 0 55ms
โœ… PersistentLoggerTests 7 7 0 65ms
โœ… PlaybackBootstrapperTests 12 12 0 896ms
โœ… PlaybackRateTests 18 18 0 174ms
โœ… PlaybackTrackingRegressionTests 5 5 0 109ms
โœ… PositionPersistenceLogicTests 6 6 0 38ms
โœ… PositionPersistenceTests 2 2 0 5ms
โœ… PositionSyncServiceTests 13 13 0 323ms
โœ… PositionSyncTests 5 5 0 29ms
โœ… PositionThrottlingTests 1 1 0 11ms
โœ… PostUpdateMigrationTests 5 5 0 61ms
โœ… ProblemDocumentContractTests 4 4 0 11ms
โœ… ProblemDocumentLoanExpiryTests 5 5 0 9ms
โœ… ProblemDocumentTests 12 12 0 26ms
โœ… ProblemReportEmailTests 16 16 0 44ms
โœ… ReachabilityTests 6 6 0 342ms
โœ… ReaderAccessibilityTests 7 7 0 12ms
โœ… ReaderErrorTests 5 5 0 9ms
โœ… ReaderServiceSyncTests 3 3 0 29ms
โœ… ReaderThemeTests 24 24 0 72ms
โœ… ReadingPositionTests 22 22 0 63ms
โœ… ReadingSessionTrackerTests 13 13 0 847ms
โœ… ReadingStatsServiceTests 12 12 0 92ms
โœ… ReadingStatsStoreTests 9 9 0 78ms
โœ… RedirectHandlingIntegrationTests 4 4 0 12ms
โœ… RemoteFeatureFlagsGapTests 4 4 0 25ms
โœ… RemoteFeatureFlagsTests 9 9 0 73ms
โœ… ReservationsSnapshotTests 9 9 0 66ms
โœ… RetryClassificationTests 17 17 0 55ms
โœ… ReturnFlowTests 1 1 0 5ms
โœ… RightsManagementDetectionTests 5 5 0 11ms
โœ… SAMLCookieSyncTests 5 5 0 70ms
โœ… SAMLHelperTests 5 5 0 27ms
โœ… SAMLPlusBiblioBoardExpirationTests 8 8 0 1.58s
โœ… SEMigrationsTests 6 6 0 39ms
โœ… SafeDictionaryTests 21 21 0 84ms
โœ… SamplePlayerErrorTests 5 5 0 11ms
โœ… SampleTypeTests 8 8 0 14ms
โœ… SceneDelegateTests 1 1 0 5ms
โœ… SearchAccessibilityTests 6 6 0 40ms
โœ… SearchFlowIntegrationTests 8 8 0 105ms
โœ… SearchSnapshotTests 5 5 0 59ms
โœ… SettingsSnapshotTests 9 9 0 133ms
โœ… SettingsViewModelComputedPropertyTests 6 6 0 12ms
โœ… SettingsViewModelEdgeCaseTests 7 7 0 167ms
โœ… SettingsViewModelGapTests 1 1 0 3ms
โœ… SettingsViewModelSyncTests 14 14 0 107ms
โœ… SettingsViewModelTests 33 33 0 458ms
โœ… SignOutCacheClearingTests 3 3 0 6ms
โœ… StatsViewModelTests 10 10 0 248ms
โœ… StatusAnnouncementTests 22 22 0 84ms
โœ… StopPositionSaveTests 2 2 0 4ms
โœ… StringExtensionTests 8 8 0 18ms
โœ… StringExtensionsTests 10 10 0 62ms
โœ… StringHTMLEntitiesTests 10 10 0 34ms
โœ… StringNYPLAdditionsTests 4 4 0 22ms
โœ… String_NYPLAdditionsTests 5 5 0 10ms
โœ… SyncConflictResolutionTests 3 3 0 5ms
โœ… SyncDeletionGuardTests 5 5 0 96ms
โœ… SyncDeletionRatioTests 6 6 0 18ms
โœ… SyncPermissionTests 5 5 0 273ms
โœ… TPPAccountAuthStateEnumTests 5 5 0 25ms
โœ… TPPAccountListDataSourceTests 3 3 0 10ms
โœ… TPPAdobeActivationSkipTests 6 6 0 728ms
โœ… TPPAgeCheckTests 6 6 0 1.58s
โœ… TPPAlertUtilsTests 45 45 0 1.44s
โœ… TPPAnnotationsHermeticTests 15 15 0 117ms
โœ… TPPAnnotationsTests 29 29 0 2.93s
โœ… TPPAnnouncementManagerTests 3 3 0 9ms
โœ… TPPBackgroundExecutorTests 5 3 0 2.55s
โœ… TPPBadgeImageGapTests 2 2 0 13ms
โœ… TPPBasicAuthTests 11 11 0 40ms
โœ… TPPBookAccessibilityLabelTests 8 8 0 33ms
โœ… TPPBookAuthorCoverageTests 3 3 0 11ms
โœ… TPPBookAuthorTests 6 6 0 24ms
โœ… TPPBookBearerTokenTests 9 8 0 157ms
โœ… TPPBookContentMetadataFilesHelperTests 9 9 0 513ms
โœ… TPPBookContentTypeConverterTests 4 4 0 7ms
โœ… TPPBookContentTypeExtendedTests 4 4 0 8ms
โœ… TPPBookContentTypeTests 14 14 0 48ms
โœ… TPPBookCoverRegistryTests 14 14 0 527ms
โœ… TPPBookCreationTests 3 3 0 29ms
โœ… TPPBookExtensionsTests 22 22 0 107ms
โœ… TPPBookLocationCoverageTests 7 7 0 32ms
โœ… TPPBookLocationEdgeCaseTests 27 27 0 88ms
โœ… TPPBookLocationKeyTests 3 3 0 6ms
โœ… TPPBookLocationTests 11 11 0 81ms
โœ… TPPBookModelGapTests 4 4 0 89ms
โœ… TPPBookRegistryBookRetrievalTests 7 7 0 59ms
โœ… TPPBookRegistryBookmarkTests 7 6 0 69ms
โœ… TPPBookRegistryCorruptedDataTests 5 5 0 63ms
โœ… TPPBookRegistryDataTests 4 4 0 7ms
โœ… TPPBookRegistryFulfillmentIdTests 4 4 0 12ms
โœ… TPPBookRegistryLoadReentrancyTests 2 2 0 5ms
โœ… TPPBookRegistryLocationTests 4 4 0 38ms
โœ… TPPBookRegistryProcessingTests 2 2 0 4ms
โœ… TPPBookRegistryPublisherTests 6 6 0 133ms
โœ… TPPBookRegistryRecordPersistenceTests 3 3 0 53ms
โœ… TPPBookRegistryRecordTests 10 10 0 58ms
โœ… TPPBookRegistryStateManagementTests 11 11 0 85ms
โœ… TPPBookRegistryThreadSafetyTests 3 3 0 281ms
โœ… TPPBookRegistryUpdateAndRemoveTests 1 1 0 6ms
โœ… TPPBookRequiresAdobeDRMTests 6 6 0 992ms
โœ… TPPBookSerializationTests 9 9 0 79ms
โœ… TPPBookStateInitializationTests 4 4 0 13ms
โœ… TPPBookStateTests 4 4 0 14ms
โœ… TPPBookTests 75 74 0 222ms
โœ… TPPBookmarkDeletionLogTests 11 11 0 97ms
โœ… TPPBookmarkFactoryInitTests 2 2 0 11ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests 5 5 0 37ms
โœ… TPPBookmarkFactoryTests 15 15 0 188ms
โœ… TPPBookmarkR3ConversionTests 5 5 0 22ms
โœ… TPPBookmarkR3LocationTests 13 13 0 504ms
โœ… TPPBookmarkSpecTests 1 1 0 10ms
โœ… TPPCachingTests 3 3 0 14ms
โœ… TPPCapturedCredentialsTests 5 5 0 437ms
โœ… TPPConfigurationTests 23 23 0 440ms
โœ… TPPContentTypeTests 7 7 0 48ms
โœ… TPPCredentialConcurrencyTests 3 3 0 12ms
โœ… TPPCredentialPersistenceTests 6 6 0 777ms
โœ… TPPCredentialSnapshotTests 8 8 0 16ms
โœ… TPPCredentialsCoverageTests 9 9 0 46ms
โœ… TPPCredentialsTests 26 26 0 215ms
โœ… TPPCrossLibrarySignOutTests 6 6 0 639ms
โœ… TPPDRMFailureCredentialPreservationTests 4 4 0 458ms
โœ… TPPEncryptedPDFDataProviderTests 3 3 0 20ms
โœ… TPPErrorLoggerTests 27 27 0 166ms
โœ… TPPIdleSignOutRegressionTests 13 13 0 1.50s
โœ… TPPJWKConversionTest 1 1 0 92ms
โœ… TPPKeychainManagerTests 5 5 0 45ms
โœ… TPPKeychainStoredVariableTests 9 9 0 36ms
โœ… TPPKeychainSwiftLegacyTests 1 0 0 6ms
โœ… TPPKeychainSwiftTests 8 0 0 173ms
โœ… TPPLastReadPositionPosterTests 6 6 0 46ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests 5 5 0 22ms
โœ… TPPLastReadPositionSynchronizerTests 23 23 0 50ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests 5 5 0 13ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests 9 9 0 21ms
โœ… TPPLastReadPositionSynchronizer_ConcurrencyTests 3 3 0 26ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests 9 9 0 25ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests 10 10 0 28ms
โœ… TPPLoginNoActivationTests 3 3 0 276ms
โœ… TPPMainThreadCheckerTests 4 4 0 32ms
โœ… TPPMigrationManagerTests 15 15 0 76ms
โœ… TPPNetworkExecutorAPITests 14 14 0 92ms
โœ… TPPNetworkExecutorStubbedTests 17 17 0 1.14s
โœ… TPPNetworkExecutorTests 3 3 0 10ms
โœ… TPPNetworkResponderTests 12 12 0 34ms
โœ… TPPOPDSAcquisitionPathTests 2 2 0 15ms
โœ… TPPOPDSEntryTests 7 7 0 47ms
โœ… TPPOPDSFeedTests 7 7 0 610ms
โœ… TPPOPDSGroupSwiftTests 3 3 0 9ms
โœ… TPPOPDSLinkTests 7 7 0 41ms
โœ… TPPOpenSearchDescriptionExpandedTests 10 10 0 93ms
โœ… TPPOpenSearchDescriptionTests 1 1 0 4ms
โœ… TPPPDFDocumentMetadataTests 15 15 0 157ms
โœ… TPPPDFDocumentTests 13 13 0 211ms
โœ… TPPPDFLocationCoverageTests 7 7 0 18ms
โœ… TPPPDFLocationTests 10 10 0 40ms
โœ… TPPPDFPageBookmarkTests 9 9 0 25ms
โœ… TPPPDFPageTests 5 5 0 12ms
โœ… TPPPDFReaderModeTests 6 6 0 25ms
โœ… TPPPerAccountIsolationTests 10 10 0 1.31s
โœ… TPPProblemDocumentCacheManagerTests 12 12 0 199ms
โœ… TPPProblemDocumentTests 21 21 0 59ms
โœ… TPPReaderAppearanceTests 4 4 0 50ms
โœ… TPPReaderBookmarksBusinessLogicTests 15 15 0 1.86s
โœ… TPPReaderFontTests 4 4 0 15ms
โœ… TPPReaderPreferencesLoadTests 3 3 0 16ms
โœ… TPPReaderSettingsTests 28 28 0 95ms
โœ… TPPReaderTOCBusinessLogicTests 15 15 0 3.18s
โœ… TPPReaderTOCFlattenTests 2 2 0 1.01s
โœ… TPPReadiumBookmarkLocationMatchingTests 5 5 0 35ms
โœ… TPPReadiumBookmarkTests 18 18 0 59ms
โœ… TPPReauthenticatorMockTests 2 2 0 11ms
โœ… TPPReauthenticatorTests 4 4 0 21ms
โœ… TPPReturnPromptHelperTests 5 5 0 42ms
โœ… TPPSAMLReauthFlowTests 2 2 0 245ms
โœ… TPPSAMLSignInTests 27 26 0 4.77s
โœ… TPPSessionTests 8 8 0 880ms
โœ… TPPSettingsTests 14 14 0 43ms
โœ… TPPSignInAdobeSkipTests 14 14 0 1.60s
โœ… TPPSignInAuthStateTransitionTests 3 3 0 2.17s
โœ… TPPSignInBusinessLogicExtendedTests 42 42 0 4.09s
โœ… TPPSignInBusinessLogicTests 6 6 0 632ms
โœ… TPPSignInErrorHandlingTests 2 2 0 239ms
โœ… TPPSignInProfileDocEdgeCaseTests 3 3 0 324ms
โœ… TPPSignedInStateProviderTests 3 3 0 13ms
โœ… TPPUserAccountAuthStateTests 7 7 0 36ms
โœ… TPPUserAccountGapTests 4 4 0 10ms
โœ… TPPUserFriendlyErrorTests 11 11 0 51ms
โœ… TPPUserNotificationsTests 10 10 0 150ms
โœ… TPPXMLSwiftTests 17 17 0 89ms
โœ… TPPXMLTests 3 3 0 32ms
โœ… TimeEntryTests 3 3 0 5ms
โŒ TokenRefreshIntegrationTests 3 2 1 2.31s
โœ… TokenRefreshInterceptorTests 17 17 0 1.53s
โœ… TokenRefreshTests 25 25 0 304ms
โœ… TokenRequestCredentialGuardTests 13 13 0 142ms
โœ… TokenRequestTests 9 9 0 747ms
โœ… TokenResponseTests 21 21 0 45ms
โœ… TypographyPresetTests 21 21 0 128ms
โœ… TypographyServiceTests 31 31 0 889ms
โœ… TypographySettingsViewModelTests 27 27 0 505ms
โœ… UIColor_NYPLAdditionsTests 1 1 0 2ms
โœ… URLExtensionTests 16 16 0 35ms
โœ… URLExtensionsTests 6 6 0 10ms
โœ… URLRequestExtensionsCoverageTests 3 3 0 7ms
โœ… URLRequestExtensionsTests 11 11 0 45ms
โœ… URLRequestNYPLAdditionsTests 18 18 0 63ms
โœ… URLRequest_NYPLTests 1 1 0 3ms
โœ… URLResponseAuthenticationTests 10 10 0 22ms
โœ… URLResponseNYPLTests 14 14 0 66ms
โœ… URLSessionCredentialStorageTests 4 4 0 39ms
โœ… URLTypeTests 2 2 0 24ms
โœ… URLValidationTests 5 5 0 19ms
โœ… UserAccountPublisherAuthStateTests 6 6 0 92ms
โœ… UserAccountPublisherTests 11 11 0 414ms
โœ… UserAccountValidationTests 5 5 0 36ms
โœ… UserProfileDocumentTests 7 7 0 22ms
โœ… UserRetryTrackerTests 10 10 0 33ms

๐Ÿ“ˆ Code Coverage

Target Coverage Lines
Palace.app
38.6%
30254 / 78389

๐Ÿ“‹ All Tests

Class Test Duration
โœ… AccessLintComplianceTests testAudiobookLabel_isDescriptive 4ms
โœ… AccessLintComplianceTests testBorrowAnnouncementStrings_areMeaningful 3ms
โœ… AccessLintComplianceTests testDownloadAnnouncementStrings_areMeaningful 3ms
โœ… AccessLintComplianceTests testExpandCollapseButton_labelsRoundTripOnStateFlip 7ms
โœ… AccessLintComplianceTests testPDFToolbarButton_fallbackLabel_isDistinctFromOkLabel 4ms
โœ… AccessLintComplianceTests testRetryAnnouncementStrings_areMeaningful 5ms
โœ… AccessLintComplianceTests testReturnAnnouncementStrings_areMeaningful 2ms
โœ… AccessLintComplianceTests testSearchAnnouncementStrings_areMeaningful 4ms
โœ… AccessLintComplianceTests testSortFilterLabels_areDescriptive 4ms
โœ… AccessLintComplianceTests testStatusAnnouncement_actionFailed_combinesTitleAndMessage 6ms
โœ… AccessLintComplianceTests testStatusAnnouncement_errorOccurred_passesThrough 6ms
โœ… AccessibilityAnnouncementCenterTests testPP3594_borrowAndReturnAnnouncements_postMessages 5ms
โœ… AccessibilityAnnouncementCenterTests testPP3594_downloadAnnouncements_respectVoiceOverDisabled 306ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_additionalResultsLoaded_announcesCount 16ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_additionalResultsLoaded_zeroCount_doesNotAnnounce 310ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_allAnnouncements_useAnnouncementNotificationType 4ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_announceError_postsMessage 3ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_announceMessage_postsArbitraryMessage 9ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_announceStatus_combinesTitleAndMessage 3ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_deduplication_allowsDifferentMessages 7ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_deduplication_allowsRepeatAfterWindowExpires 54ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_deduplication_crossMethod_sameText 8ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_deduplication_rapidFireSameMessage_onlyOneAnnouncement 9ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_deduplication_suppressesDuplicateWithinWindow 10ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_emptyMessage_isNotPosted 305ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_errorAnnouncements_respectVoiceOverDisabled 312ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_searchAnnouncements_respectVoiceOverDisabled 309ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_searchFailed_announcesFailure 6ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_searchNoResults_announcesNoResults 4ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_searchRerun_announcesUpdatedResults 6ms
โœ… AccessibilityAnnouncementCenterTests testPP3673_searchResults_announcesResultCountAndQuery 16ms
โœ… AccessibilityLabelTests testAccessibilityStrings_areNotEmpty 4ms
โœ… AccessibilityLabelTests testAccessibilityStrings_formatStringsWork 6ms
โœ… AccessibilityLabelTests testBookmarkLabels_existAndAreDifferent 2ms
โœ… AccessibilityLabelTests testChapterNavigationLabels_exist 3ms
โœ… AccessibilityLabelTests testExistingAccessibilityStrings_areNotEmpty 4ms
โœ… AccessibilityLabelTests testExpandCollapseLabels_areDifferent 3ms
โœ… AccessibilityLabelTests testFilterButtonLabel_changesWithCount 3ms
โœ… AccessibilityLabelTests testPlayPauseLabels_areDifferent 2ms
โœ… AccessibilityLabelTests testSortButtonLabel_changesWithSortOption 2ms
โœ… AccessibilityPreferencesTests testButtonShapesEnabled_WhenEnabled_RoundTripsThroughCodable 4ms
โœ… AccessibilityPreferencesTests testCodableRoundTrip_CustomPreferences 2ms
โœ… AccessibilityPreferencesTests testCodableRoundTrip_DefaultPreferences 5ms
โœ… AccessibilityPreferencesTests testCustomRotorActionsEnabled_Toggle 10ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_ButtonShapesOff 5ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_CustomRotorEnabled 3ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_HapticFeedbackOn 2ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_HasStandardVerbosity 2ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_HighContrastOff 5ms
โœ… AccessibilityPreferencesTests testDefaultPreferences_ReducedMotionOff 4ms
โœ… AccessibilityPreferencesTests testEquatable_DifferentValues 2ms
โœ… AccessibilityPreferencesTests testEquatable_SameValues 3ms
โœ… AccessibilityPreferencesTests testHapticFeedbackEnabled_Toggle 2ms
โœ… AccessibilityPreferencesTests testHighContrastBoost_WhenEnabled_MakesPrefsUnequalToDefault 2ms
โœ… AccessibilityPreferencesTests testPersistence_NoSavedData_ReturnsNil 11ms
โœ… AccessibilityPreferencesTests testPersistence_SaveAndLoad 5ms
โœ… AccessibilityPreferencesTests testReducedMotion_WhenEnabled_RoundTripsThroughCodable 2ms
โœ… AccessibilityPreferencesTests testStorageKey_IsCorrect 6ms
โœ… AccessibilityPreferencesTests testVerbosityMinimal_Description 2ms
โœ… AccessibilityPreferencesTests testVerbosityMinimal_DisplayName 2ms
โœ… AccessibilityPreferencesTests testVerbosityStandard_Description 3ms
โœ… AccessibilityPreferencesTests testVerbosityStandard_DisplayName 2ms
โœ… AccessibilityPreferencesTests testVerbosityVerbose_Description 7ms
โœ… AccessibilityPreferencesTests testVerbosityVerbose_DisplayName 5ms
โœ… AccessibilityPreferencesTests testVerbosity_AllCases 24ms
โœ… AccessibilityPreferencesTests testVerbosity_CodableRoundTrip 5ms
โœ… AccessibilityServiceTests testAccessibilityPreferencesCodable 3ms
โœ… AccessibilityServiceTests testDefaultPreferences 3ms
โœ… AccessibilityServiceTests testHapticDisabledWhenPreferenceOff 3ms
โœ… AccessibilityServiceTests testHapticDisabledWithReducedMotion 4ms
โœ… AccessibilityServiceTests testHighContrastEffective 3ms
โœ… AccessibilityServiceTests testPreferencesPersistAcrossInstances 4ms
โœ… AccessibilityServiceTests testPreferencesPublisher 7ms
โœ… AccessibilityServiceTests testReducedMotionEffective 4ms
โœ… AccessibilityServiceTests testUpdatePreferences 5ms
โœ… AccessibilityServiceTests testVerbosityDescriptions 23ms
โœ… AccessibilityServiceTests testVerbosityDisplayNames 3ms
โœ… AccountAuthDocCarryoverTests testAccount_authenticationDocumentDidSet_createsDetails 76ms
โœ… AccountAuthDocCarryoverTests testAccount_detailsPreserved_whenAuthDocCopiedToNewAccount 92ms
โœ… AccountAuthDocCarryoverTests testAccount_detailsSyncPermission_defaultsToTrue 75ms
โœ… AccountAuthDocCarryoverTests testAccount_multipleAccountsCarryover_matchesByUUID 195ms
โœ… AccountAuthDocCarryoverTests testAccount_replacementWithoutCarryover_losesDetails 82ms
โœ… AccountAwareNetworkTests testCancelNonEssentialTasks_CancelsActiveTasks 12ms
โœ… AccountAwareNetworkTests testCancelNonEssentialTasks_DoesNotCrash 5ms
โœ… AccountAwareNetworkTests testExecuteTokenRefresh_AcceptsAccountId 12ms
โœ… AccountAwareNetworkTests testExecuteTokenRefresh_NilAccountId_BackwardCompatible 31ms
โœ… AccountAwareNetworkTests testRefreshTokenAndResume_AcceptsAccountIdParameter 11ms
โœ… AccountAwareNetworkTests testRefreshTokenAndResume_DefaultAccountId_BackwardCompatible 7ms
โœ… AccountAwareNetworkTests testRefreshTokenAndResume_NilAccountId_DoesNotCrash 27ms
โœ… AccountAwareNetworkTests testRequest_AccountIdParameter_AcceptsNil 6ms
โœ… AccountAwareNetworkTests testRequest_AccountIdParameter_AcceptsSpecificId 9ms
โœ… AccountAwareNetworkTests testRequest_CapturesCurrentAccountToken 5ms
โœ… AccountDetailCredentialStateTests testIsSignedIn_OAuthRemainsSignedInWhenStateBecomesStale 3ms
โœ… AccountDetailCredentialStateTests testIsSignedIn_SAMLUpdatesWhenStateBecomesStale 3ms
โœ… AccountDetailCredentialStateTests testIsSignedIn_falseWhenLoggedOut 3ms
โœ… AccountDetailCredentialStateTests testIsSignedIn_falseWhenSAMLCredentialsStale 10ms
โœ… AccountDetailCredentialStateTests testIsSignedIn_trueWhenLoggedIn 5ms
โœ… AccountDetailCredentialStateTests testIsSignedIn_trueWhenOAuthCredentialsStale 16ms
โœ… AccountDetailCredentialStateTests testIsSignedIn_updatesAfterSAMLReauthentication 3ms
โœ… AccountDetailCredentialStateTests testNeedsReauthentication_trueWhenCredentialsStale 4ms
โœ… AccountDetailPINVisibilityTests testAccountDidChangeViaNotification_ClearsCredentialsOnLogout 7ms
โœ… AccountDetailPINVisibilityTests testBusinessLogicDidCancelSignIn_ClearsLoadingAndSigningOut 3ms
โœ… AccountDetailPINVisibilityTests testBusinessLogicDidCompleteSignIn_ClearsLoadingAndSigningOut 7ms
โœ… AccountDetailPINVisibilityTests testBusinessLogicDidFinishDeauthorizing_ClearsLoadingAndSigningOut 3ms
โœ… AccountDetailPINVisibilityTests testBusinessLogicDidReceiveCredentials_SetsLoadingTrue 3ms
โœ… AccountDetailPINVisibilityTests testBusinessLogicSignOutError_401ShowsUnexpectedCredentialsAlert 3ms
โœ… AccountDetailPINVisibilityTests testBusinessLogicSignOutError_WithErrorUsesLocalizedDescription 3ms
โœ… AccountDetailPINVisibilityTests testBusinessLogicValidationError_CancelledErrorClearsPin 5ms
โœ… AccountDetailPINVisibilityTests testBusinessLogicValidationError_ShowsAlertAndClearsLoading 3ms
โœ… AccountDetailPINVisibilityTests testBusinessLogicWillSignIn_NonOAuth_SetsLoadingTrueAndClearsSigningOut 3ms
โœ… AccountDetailPINVisibilityTests testBusinessLogicWillSignOut_SetsLoadingAndSigningOut 3ms
โœ… AccountDetailPINVisibilityTests testCellType_HashableInSet 2ms
โœ… AccountDetailPINVisibilityTests testCellType_InfoHeaderEqualityByText 2ms
โœ… AccountDetailPINVisibilityTests testCellType_SimpleCasesEqual 2ms
โœ… AccountDetailPINVisibilityTests testContext_ReturnsSettingsTab 3ms
โœ… AccountDetailPINVisibilityTests testLibraryLogo_MatchesSelectedAccountLogo 4ms
โœ… AccountDetailPINVisibilityTests testPINVisibility_DefaultsToHidden 5ms
โœ… AccountDetailPINVisibilityTests testPINVisibility_IndependentOfCredentialChanges 3ms
โœ… AccountDetailPINVisibilityTests testPINVisibility_ToggleMultipleTimes 3ms
โœ… AccountDetailPINVisibilityTests testPinComputed_EmptyReturnsEmptyString 2ms
โœ… AccountDetailPINVisibilityTests testRefreshSignInState_ReloadsTableWhenStateChanges 3ms
โœ… AccountDetailPINVisibilityTests testSelectAuthMethod_ClearsIDPAndSetsSelectedAuth 3ms
โœ… AccountDetailPINVisibilityTests testSignIn_WhenAlreadySignedIn_SetsIsSigningOutTrue 3ms
โœ… AccountDetailPINVisibilityTests testUpdateSync_WritesToAccountDetails 4ms
โœ… AccountDetailPINVisibilityTests testUsernameComputed_EmptyReturnsNil 3ms
โœ… AccountDetailViewModelGapTests testAccountDetailViewModel_updateSync_setsPermission 136ms
โœ… AccountDetailViewModelTests testAlertPropertiesUpdate 2ms
โœ… AccountDetailViewModelTests testBusinessLogic_IsInitialized 3ms
โœ… AccountDetailViewModelTests testCanSignInWithBothCredentials 2ms
โœ… AccountDetailViewModelTests testCanSignInWithEmptyCredentials 2ms
โœ… AccountDetailViewModelTests testCanSignInWithOnlyUsername 3ms
โœ… AccountDetailViewModelTests testCanSignIn_WithSpecialCharacters 2ms
โœ… AccountDetailViewModelTests testCanSignIn_WithWhitespaceOnlyUsername 2ms
โœ… AccountDetailViewModelTests testClearCredentials_WorksIndependently 2ms
โœ… AccountDetailViewModelTests testCredentialFields_AreIndependent 2ms
โœ… AccountDetailViewModelTests testInitialPublishedPropertiesState 3ms
โœ… AccountDetailViewModelTests testIsPINHiddenDefaultsToTrue 4ms
โœ… AccountDetailViewModelTests testIsSyncEnabledToggle 11ms
โœ… AccountDetailViewModelTests testLibraryNameReturnsAccountName 4ms
โœ… AccountDetailViewModelTests testMultipleAlerts_CanBeShown 2ms
โœ… AccountDetailViewModelTests testPinTextUpdate 2ms
โœ… AccountDetailViewModelTests testSelectedAccountMatchesInitialized 2ms
โœ… AccountDetailViewModelTests testShowBarcode_WhenEnabled_TriggerObjectWillChange 13ms
โœ… AccountDetailViewModelTests testTogglePINVisibility 3ms
โœ… AccountDetailViewModelTests testUsernameTextUpdate 3ms
โœ… AccountDetailsURLTests testDebugDescription_ReflectsSupportsSimplyESync_WhenUserProfileUrlPresent 2ms
โœ… AccountDetailsURLTests testDefaultAuth_WithOAuthAndBasic_PrefersBasicOverOAuth 8ms
โœ… AccountDetailsURLTests testEulaIsAccepted_DefaultIsFalse 2ms
โœ… AccountDetailsURLTests testEulaIsAccepted_RoundTrips_ThroughUserDefaults 5ms
โœ… AccountDetailsURLTests testGetLicenseURL_AfterSettingMultipleTypes_ReturnsCorrectURLs 6ms
โœ… AccountDetailsURLTests testGetLicenseURL_WhenNotSet_ReturnsNil 2ms
โœ… AccountDetailsURLTests testSetURL_ForAcknowledgements_StoresURL 4ms
โœ… AccountDetailsURLTests testSetURL_ForAnnotations_StoresURL 7ms
โœ… AccountDetailsURLTests testSetURL_ForContentLicenses_StoresURL 7ms
โœ… AccountDetailsURLTests testSetURL_ForEULA_StoresURL 4ms
โœ… AccountDetailsURLTests testSetURL_ForPrivacyPolicy_StoresURL 4ms
โœ… AccountDetailsURLTests testSetURL_OverwritesPreviousURL 8ms
โœ… AccountDetailsURLTests testSetURL_PersistsToUserDefaults 6ms
โœ… AccountDetailsURLTests testSyncPermissionGranted_DefaultIsTrue 3ms
โœ… AccountDetailsURLTests testSyncPermissionGranted_ToggleOffThenOn_PersistsViaUserDefaults 9ms
โœ… AccountDetailsURLTests testUserAboveAgeLimit_DefaultIsFalse 4ms
โœ… AccountDetailsURLTests testUserAboveAgeLimit_RoundTrips_ThroughUserDefaults 5ms
โœ… AccountModelGapTests testAccountDetails_defaultAuth_prefersNonOAuth 96ms
โœ… AccountModelGapTests testAccountDetails_eulaIsAccepted_persistsAcrossObjectRecreation 87ms
โœ… AccountModelGapTests testAccountDetails_initFromAuthDoc_populatesAuthMethods 84ms
โœ… AccountModelGapTests testAccountDetails_setAndGetLicenseURL_roundTrips 88ms
โœ… AccountModelGapTests testAccountDetails_syncPermissionGranted_persistsAcrossObjectRecreation 90ms
โœ… AccountModelGapTests testAccount_hasSupportOption_reflectsSupportAvailability 103ms
โœ… AccountModelGapTests testAccount_initFromPublication_mapsPropertiesCorrectly 81ms
โœ… AccountModelGapTests testAccount_loansUrl_delegatesToDetails 149ms
โœ… AccountModelGapTests testAuthentication_NSCoding_roundTrip 114ms
โœ… AccountModelTests testAccount_DebugDescription_ContainsName 2ms
โœ… AccountModelTests testAccount_InitFromPublication_DefaultLogo_IsPlaceholder 5ms
โœ… AccountModelTests testAccount_InitFromPublication_DetailsAreNil 2ms
โœ… AccountModelTests testAccount_InitFromPublication_HasUpdatedToken_IsFalse 1ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsAuthDocUrl 2ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsCatalogUrl 4ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsHomePageUrl 2ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsName 3ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsSubtitle 2ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsSupportEmail 5ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsSupportURL 3ms
โœ… AccountModelTests testAccount_InitFromPublication_SetsUUID 2ms
โœ… AccountModelTests testLoadAuthenticationDocument_WithNilUrl_CompletesWithFalse 17ms
โœ… AccountModelTests testLoadLogo_WithCachedImage_UsesCachedImage 27ms
โœ… AccountModelTests testLoadLogo_WithNilLogoUrl_DoesNotCrash 2ms
โœ… AccountModelTests testLoansUrl_WhenDetailsNil_ReturnsNil 2ms
โœ… AccountProfileDocumentTests testGetProfileDocument_WithDetailsButNilProfileUrl_CompletesWithNil 3ms
โœ… AccountProfileDocumentTests testGetProfileDocument_WithNilDetails_CompletesWithNil 3ms
โœ… AccountSwitchCleanupTests testBookCellModelCache_ClearsOnAccountChange 25ms
โœ… AccountSwitchCleanupTests testCancelNonEssentialTasks_CalledMultipleTimes_ExecutorIdempotent 10ms
โœ… AccountSwitchCleanupTests testCancelNonEssentialTasks_WithNoActiveTasks_ExecutorRemainsUsable 8ms
โœ… AccountSwitchCleanupTests testPauseAllTasks_AfterCancel_ResumeAcceptsNewRequests 37ms
โœ… AccountSwitchCleanupTests testSharedAccount_RapidSwitching_DoesNotCrash 6ms
โœ… AccountSwitchCleanupTests testSharedAccount_SwitchingUUIDs_DoesNotCrash 2ms
โœ… AccountSwitchCleanupTests testSharedAccount_WithNilUUID_DoesNotCrash 2ms
โœ… AccountSwitchCleanupTests testSharedAccount_WithSpecificUUID_DoesNotCrash 2ms
โœ… AccountSwitchIntegrationTests testAccountSwitch_ClearsBookRegistry 11ms
โœ… AccountSwitchIntegrationTests testAccountSwitch_ClearsCachedCredentials 17ms
โœ… AccountSwitchIntegrationTests testAccountSwitch_InvalidatesCatalogCache 62ms
โœ… AccountSwitchIntegrationTests testAccountSwitch_PostsCurrentAccountDidChangeNotification 16ms
โœ… AccountSwitchIntegrationTests testAccountSwitch_StopsPendingNetworkRequests 65ms
โœ… AccountSwitchIntegrationTests testMultipleRapidSwitches_DoNotCorruptRegistry 17ms
โœ… AccountSwitchIntegrationTests testNewAccount_LoadsFreshCatalog 19ms
โœ… AccountSwitchIntegrationTests testSwitchToSameAccount_IsIdempotent 15ms
โœ… AccountsManagerCacheTests testCacheDataAndMetadata_AreWrittenTogether 90ms
โœ… AccountsManagerCacheTests testCacheExpiry_OldCacheIsNotUsed 5ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_Codable_EncodesAndDecodes 2ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsExpired_ReturnsFalseJustUnder24Hours 101ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsExpired_ReturnsFalseWhenRecent 42ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsExpired_ReturnsTrueAfter24Hours 2ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsStale_ReturnsFalseJustUnder5Minutes 2ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsStale_ReturnsFalseWhenFresh 4ms
โœ… AccountsManagerCacheTests testCatalogCacheMetadata_IsStale_ReturnsTrueAfter5Minutes 4ms
โœ… AccountsManagerCacheTests testLoadCatalogs_WhenCacheExists_CompletesWithCachedData 121ms
โœ… AccountsManagerCacheTests testLoadCatalogs_WhenCacheExpired_ReturnsNil 7ms
โœ… AccountsManagerCacheTests testLoadCatalogs_WhenCacheStale_ReturnsDataButMarkedStale 8ms
โœ… AccountsManagerCacheTests testNotification_TPPCatalogDidLoad_IsDeliveredToObserver 33ms
โœ… AccountsManagerCacheTests testReadCacheMetadata_ReturnsNilWhenNotExists 5ms
โœ… AccountsManagerCacheTests testWriteAndReadCacheMetadata 9ms
โœ… AccountsManagerGapTests testAccountsManager_accountByUUID_returnsNilForUnknownUUID 8ms
โœ… AccountsManagerGapTests testAccountsManager_currentAccountId_persistsToUserDefaults 3ms
โœ… AccountsManagerGapTests testAccountsManager_tppAccountUUID_isNotEmpty 4ms
โœ… AccountsManagerTests testAccountChangeNotification_HasCorrectName 144ms
โœ… AccountsManagerTests testAccountDetails_DefaultAuth_ReturnsNonOAuthFirst 97ms
โœ… AccountsManagerTests testAccountDetails_NeedsAgeCheck_WhenCOPPAAuthExists 95ms
โœ… AccountsManagerTests testAccountDetails_SupportsReservations 81ms
โœ… AccountsManagerTests testAccountDetails_SupportsSimplyESync 88ms
โœ… AccountsManagerTests testAccountLookup_FromMultipleThreads_DoesNotCrash 575ms
โœ… AccountsManagerTests testAccount_AuthenticationDocumentUrl_IsValid 85ms
โœ… AccountsManagerTests testAccount_BarcodeAuthentication_IsBasic 88ms
โœ… AccountsManagerTests testAccount_CatalogUrl_IsValid 98ms
โœ… AccountsManagerTests testAccount_HasAuthenticationTypes 96ms
โœ… AccountsManagerTests testAccount_HasRequiredProperties 91ms
โœ… AccountsManagerTests testAccount_OAuthAuthentication_IsOAuth 80ms
โœ… AccountsManagerTests testAccount_SAMLAuthentication_IsSAML 98ms
โœ… AccountsManagerTests testAccount_WithEmptyUUID_ReturnsNil 75ms
โœ… AccountsManagerTests testAccount_WithExistingUUID_ReturnsAccount 125ms
โœ… AccountsManagerTests testAccount_WithNonExistentUUID_CreatesNewAccount 90ms
โœ… AccountsManagerTests testAccount_WithNonExistentUUID_ReturnsNil 100ms
โœ… AccountsManagerTests testAccount_WithValidUUID_ReturnsAccount 83ms
โœ… AccountsManagerTests testAccountsHaveLoaded_IsConsistentWithAccountsQuery 226ms
โœ… AccountsManagerTests testAccountsManager_ConformsToTPPLibraryAccountsProvider 103ms
โœ… AccountsManagerTests testAccountsManager_HasAgeCheck 86ms
โœ… AccountsManagerTests testAccountsManager_HasNYPLAccountUUID 115ms
โœ… AccountsManagerTests testAccountsManager_WithEmptyUUID_ReturnsNil 88ms
โœ… AccountsManagerTests testAccounts_FromMultipleThreads_DoesNotCrash 88ms
โœ… AccountsManagerTests testAccounts_WithNilKey_ReturnsCurrentAccountSet 86ms
โœ… AccountsManagerTests testAccounts_WithNonExistentKey_ReturnsEmptyArray 99ms
โœ… AccountsManagerTests testAuthenticationType_Basic_DoesNotRequireCatalogAuthentication 81ms
โœ… AccountsManagerTests testAuthenticationType_Basic_NeedsAuth 103ms
โœ… AccountsManagerTests testAuthenticationType_OAuth_NeedsAuth 83ms
โœ… AccountsManagerTests testAuthenticationType_OAuth_RequiresCatalogAuthentication 105ms
โœ… AccountsManagerTests testAuthenticationType_SAML_NeedsAuth 97ms
โœ… AccountsManagerTests testCatalogDidLoadNotification_CanBeObservedWithCombine 105ms
โœ… AccountsManagerTests testCatalogDidLoad_NotificationExists 87ms
โœ… AccountsManagerTests testClearCache_DoesNotThrow 79ms
โœ… AccountsManagerTests testCreateOPDS2Publication_ReturnsValidPublication 85ms
โœ… AccountsManagerTests testCurrentAccountId_AfterExplicitClear_ReturnsNilFromDefaults 80ms
โœ… AccountsManagerTests testCurrentAccountId_PersistsToUserDefaults 87ms
โœ… AccountsManagerTests testCurrentAccount_WhenChanged_PostsNotification 95ms
โœ… AccountsManagerTests testLoadCatalogs_PostsCatalogDidLoadNotification 124ms
โœ… AccountsManagerTests testMockLibraryAccountProvider_CurrentAccountId_MatchesUUID 90ms
โœ… AccountsManagerTests testMockLibraryAccountProvider_CurrentAccount_ReturnsTPPAccount 83ms
โœ… AccountsManagerTests testMultipleNotificationObservers_AllReceiveAccountChange 84ms
โœ… AccountsManagerTests testNotificationObserver_ForAccountChange_CanBeAdded 83ms
โœ… AccountsManagerTests testNotification_CanBeObservedWithCombine 114ms
โœ… AccountsManagerTests testSharedInstance_ReturnsSameAsShared 150ms
โœ… AccountsManagerTests testShared_ReturnsSameInstance 100ms
โœ… AccountsManagerTests testTPPAccountUUIDs_ContainsExpectedAccounts 94ms
โœ… AccountsManagerTests testTPPNationalAccountUUIDs_ContainsPalaceBookshelf 120ms
โœ… AccountsManagerTests testUpdateAccountSet_WithCompletion_CallsCompletion 115ms
โœ… AccountsManagerTests testUpdateAccountSet_WithNilCompletion_DoesNotCrash 93ms
โœ… AccountsManagerTests testUseBetaDidChange_NotificationExists 91ms
โœ… AccountsManagerTests testUseBetaDidChange_PostsNotificationWhenSettingChanges 112ms
โœ… AdobeCertificateGapTests testAdobeCertificate_expirationDate_computesFromTimestamp 3ms
โœ… AdobeCertificateGapTests testAdobeCertificate_expirationDate_nilWhenNoTimestamp 2ms
โœ… AdobeCertificateGapTests testAdobeCertificate_hasExpired_falseForFutureDate 4ms
โœ… AdobeCertificateGapTests testAdobeCertificate_hasExpired_falseWhenNoExpiration 5ms
โœ… AdobeCertificateGapTests testAdobeCertificate_hasExpired_trueForPastDate 4ms
โœ… AdobeCertificateGapTests testAdobeCertificate_initFromData_decodesValidJSON 4ms
โœ… AdobeCertificateGapTests testAdobeCertificate_initFromData_returnsNilForInvalidJSON 2ms
โœ… AdobeDRMErrorGapTests testAdobeDRMError_conformsToLocalizedError 2ms
โœ… AdobeDRMErrorGapTests testAdobeDRMError_errorDescription_isNotEmpty 2ms
โœ… AdobeDRMErrorGapTests testAdobeDRMError_expiredCase_exists 10ms
โœ… AdobeDRMServiceGapTests testAdobeDRMService_isReady_returnsBoolean 2ms
โœ… AdobeDRMServiceGapTests testAdobeDRMService_shared_isAccessible 2ms
โœ… AlertModelCoverageTests testAlertModel_basicProperties 3ms
โœ… AlertModelCoverageTests testAlertModel_customButtonTitle 2ms
โœ… AlertModelCoverageTests testAlertModel_maxRetriesExceeded 2ms
โœ… AlertModelCoverageTests testAlertModel_retryable 2ms
โœ… AlertModelCoverageTests testAlertModel_retryableWithCancel 2ms
โœ… AlertModelCoverageTests testAlertModel_uniqueId 5ms
โœ… AlertModelRetryTests testAlertModel_isIdentifiable 2ms
โœ… AlertModelRetryTests testDefaultAlertModel_hasExpectedDefaults 5ms
โœ… AlertModelRetryTests testDefaultModel_triggersOKBranch 5ms
โœ… AlertModelRetryTests testMaxRetriesExceeded_hasNoSecondaryButton 2ms
โœ… AlertModelRetryTests testMaxRetriesExceeded_preservesTitle 14ms
โœ… AlertModelRetryTests testMaxRetriesExceeded_setsOKButton 4ms
โœ… AlertModelRetryTests testMaxRetriesExceeded_showsTryAgainLaterMessage 4ms
โœ… AlertModelRetryTests testMaxRetriesExceeded_triggersOKBranch 5ms
โœ… AlertModelRetryTests testRetryable_executesCancelAction 3ms
โœ… AlertModelRetryTests testRetryable_executesRetryAction 5ms
โœ… AlertModelRetryTests testRetryable_hasNonNilSecondaryButtonTitle 6ms
โœ… AlertModelRetryTests testRetryable_preservesTitleAndMessage 6ms
โœ… AlertModelRetryTests testRetryable_setsCancelAsSecondaryButton 7ms
โœ… AlertModelRetryTests testRetryable_setsRetryButtonTitle 2ms
โœ… AlertModelRetryTests testRetryable_triggersRetryBranch 2ms
โœ… AlertModelTests testAlertModel_StoresProvidedValues 2ms
โœ… AlertModelTests testAlertModel_SyncingAlertStrings_AreNotEmpty 12ms
โœ… AlertUtilsTests testAlertWithDestructiveStyle 6ms
โœ… AlertUtilsTests testAlertWithDetailsHasOKButtonWhenNoRetry 10ms
โœ… AlertUtilsTests testAlertWithDetailsHasRetryAndCancelWhenRetryProvided 7ms
โœ… AlertUtilsTests testAlertWithDetailsHasViewErrorDetailsButton 8ms
โœ… AlertUtilsTests testAlertWithEmptyTitle 4ms
โœ… AlertUtilsTests testAlertWithErrorHavingNoDescription 13ms
โœ… AlertUtilsTests testAlertWithMessageAndError_MessageWins 4ms
โœ… AlertUtilsTests testAlertWithNSURLErrorCancelled 7ms
โœ… AlertUtilsTests testAlertWithNSURLErrorNotConnected 6ms
โœ… AlertUtilsTests testAlertWithNSURLErrorTimedOut 5ms
โœ… AlertUtilsTests testAlertWithNSURLErrorUnsupportedURL 30ms
โœ… AlertUtilsTests testAlertWithNilError 6ms
โœ… AlertUtilsTests testAlertWithNilMessage 18ms
โœ… AlertUtilsTests testAlertWithNilMessageAndError_ErrorWins 5ms
โœ… AlertUtilsTests testAlertWithNilTitle 5ms
โœ… AlertUtilsTests testAlertWithNonURLError 8ms
โœ… AlertUtilsTests testAlertWithTitleAndMessage 6ms
โœ… AlertUtilsTests testAlertWithUnknownNSURLError 12ms
โœ… AlertUtilsTests testPresentFromViewControllerOrNilWithNilAlert 3ms
โœ… AlertUtilsTests testSetProblemDocumentAppend 5ms
โœ… AlertUtilsTests testSetProblemDocumentReplace 40ms
โœ… AlertUtilsTests testSetProblemDocumentReplaceWithPartialDocument 6ms
โœ… AlertUtilsTests testSetProblemDocumentWithNilController 2ms
โœ… AlertUtilsTests testSetProblemDocumentWithNilDocument 4ms
โœ… AnnotationContractTests testBookmarkAndReadingPosition_HaveDifferentMotivations 8ms
โœ… AnnotationContractTests testParseAnnotationContainer 4ms
โœ… AnnotationContractTests testReadingPosition_HasEPUBCFISelector 12ms
โœ… AnnotationDeviceIDTests testAnnotationDeviceID_IsStableAcrossCalls 1ms
โœ… AnnotationDeviceIDTests testAnnotationDeviceID_MatchesFirebaseManagerFormat 2ms
โœ… AnnotationDeviceIDTests testAnnotationDeviceID_WhenNoAdobeDRM_ReturnsFirebaseDeviceID 2ms
โœ… AnnouncementTests testAnnouncement_decodesValidJSON 2ms
โœ… AnnouncementTests testAnnouncement_withMissingContent_throwsError 2ms
โœ… AnnouncementTests testAnnouncement_withMissingId_throwsError 6ms
โœ… AppHealthViewModelTests testAppLaunchStatusThresholds 208ms
โœ… AppHealthViewModelTests testHealthMetricItemProperties 2ms
โœ… AppHealthViewModelTests testInitialState 3ms
โœ… AppHealthViewModelTests testLoadDataIncludesMemoryMetric 233ms
โœ… AppHealthViewModelTests testLoadDataIncludesOfflineQueueMetrics 208ms
โœ… AppHealthViewModelTests testLoadDataPopulatesMetrics 225ms
โœ… AppHealthViewModelTests testOfflineQueueStatusUpdates 215ms
โœ… AppHealthViewModelTests testPerformanceReportGenerated 217ms
โœ… AppLaunchTrackerExtendedTests testAllMilestones_RecordedInChronologicalOrder 24ms
โœ… AppLaunchTrackerExtendedTests testColdLaunch_AfterReset 6ms
โœ… AppLaunchTrackerExtendedTests testDefaultIsColdLaunch 2ms
โœ… AppLaunchTrackerExtendedTests testDuplicateMilestone_DoesNotCreateExtraEntries 6ms
โœ… AppLaunchTrackerExtendedTests testDuplicateMilestone_OverwritesTimestamp 55ms
โœ… AppLaunchTrackerExtendedTests testLaunchMilestone_AllCases 2ms
โœ… AppLaunchTrackerExtendedTests testLaunchMilestone_RawValues 2ms
โœ… AppLaunchTrackerExtendedTests testMarkWarmLaunch_ChangesType 3ms
โœ… AppLaunchTrackerExtendedTests testMilestoneCount_MatchesRecordedCount 3ms
โœ… AppLaunchTrackerExtendedTests testTimeBetween_NilWhenBothMissing 3ms
โœ… AppLaunchTrackerExtendedTests testTimeBetween_NilWhenEndMissing 9ms
โœ… AppLaunchTrackerExtendedTests testTimeBetween_NilWhenStartMissing 2ms
โœ… AppLaunchTrackerExtendedTests testTimeToFirstFrame_NilWithoutFirstFrame 5ms
โœ… AppLaunchTrackerExtendedTests testTimeToInteractive_NilWithoutCatalogLoaded 5ms
โœ… AppLaunchTrackerExtendedTests testTimeToInteractive_NilWithoutProcessStart 3ms
โœ… AppLaunchTrackerExtendedTests testTimeToInteractive_RequiresProcessStartAndCatalogLoaded 37ms
โœ… AppLaunchTrackerExtendedTests testWarmLaunch_ReportsWithWarmType 261ms
โœ… AppLaunchTrackerTests testCatalogLoadedReportsToMonitor 159ms
โœ… AppLaunchTrackerTests testDefaultLaunchTypeIsCold 2ms
โœ… AppLaunchTrackerTests testRecordAllMilestones 40ms
โœ… AppLaunchTrackerTests testRecordProcessStart 3ms
โœ… AppLaunchTrackerTests testReset 3ms
โœ… AppLaunchTrackerTests testTimeBetweenMilestones 59ms
โœ… AppLaunchTrackerTests testTimeBetweenUnrecordedMilestones 5ms
โœ… AppLaunchTrackerTests testTimeToFirstFrame 25ms
โœ… AppLaunchTrackerTests testTimeToInteractive 42ms
โœ… AppLaunchTrackerTests testWarmLaunchType 8ms
โœ… AppRouteTests testAppRoute_Audio_IsHashable 2ms
โœ… AppRouteTests testAppRoute_BookDetail_IsHashable 2ms
โœ… AppRouteTests testAppRoute_DifferentTypes_NotEqual 2ms
โœ… AppRouteTests testBookRoute_IsHashable 19ms
โœ… AppRouteTests testSearchRoute_IsHashable 5ms
โœ… AppTabRouterCoverageTests testAppTabRouterHub_singletonExists 5ms
โœ… AppTabRouterCoverageTests testAppTabRouterHub_weakRouterReference 2ms
โœ… AppTabRouterCoverageTests testAppTabRouter_defaultIsCatalog 2ms
โœ… AppTabRouterCoverageTests testAppTabRouter_publishesSelectionChanges 3ms
โœ… AppTabRouterCoverageTests testAppTabRouter_sequentialTabChangesPreserveLastValue 2ms
โœ… AppTabRouterGapTests testAppTabRouterHub_registeredRouterIsWeaklyHeld 2ms
โœ… AppTabRouterGapTests testAppTabRouterHub_shared_singletonExists 2ms
โœ… AppTabRouterGapTests testAppTabRouter_roundTripToDefaultEmitsTwoChangeEvents 2ms
โœ… AppTabRouterGapTests testAppTabRouter_tabSwitchPublishesChangeEvent 3ms
โœ… ArrayExtensionsTests testSafeSubscriptGet_EmptyArray_ReturnsNil 4ms
โœ… ArrayExtensionsTests testSafeSubscriptGet_NegativeIndex_ReturnsNil 3ms
โœ… ArrayExtensionsTests testSafeSubscriptGet_OutOfBounds_ReturnsNil 4ms
โœ… ArrayExtensionsTests testSafeSubscriptGet_StringArray_ReturnsElement 5ms
โœ… ArrayExtensionsTests testSafeSubscriptGet_ValidIndex_ReturnsElement 2ms
โœ… ArrayExtensionsTests testSafeSubscriptSet_NilValue_NoChange 2ms
โœ… ArrayExtensionsTests testSafeSubscriptSet_OutOfBounds_NoChange 4ms
โœ… ArrayExtensionsTests testSafeSubscriptSet_ValidIndex_UpdatesValue 2ms
โœ… AudioBookmarkGapTests testAudioBookmark_copy_createsIndependentCopy 4ms
โœ… AudioBookmarkGapTests testAudioBookmark_creation_storesBasicProperties 2ms
โœ… AudioBookmarkGapTests testAudioBookmark_isSimilar_returnsFalseForDifferentChapter 7ms
โœ… AudioBookmarkGapTests testAudioBookmark_isSimilar_returnsTrueForSameChapterPosition 3ms
โœ… AudioBookmarkGapTests testAudioBookmark_toData_producesRoundTripData 5ms
โœ… AudioBookmarkGapTests testAudioBookmark_toTPPBookLocation_producesValidLocation 9ms
โœ… AudioInterruptionLogicTests testNoResume_whenNoShouldResume_andWasNotPlaying 3ms
โœ… AudioInterruptionLogicTests testResume_phoneCallDeclinedScenario 2ms
โœ… AudioInterruptionLogicTests testResume_siriInterruptionScenario 2ms
โœ… AudioInterruptionLogicTests testResume_whenNoShouldResume_butWasPlaying 2ms
โœ… AudioInterruptionLogicTests testResume_whenShouldResumeSet_andWasPlaying 6ms
โœ… AudioInterruptionLogicTests testResume_whenShouldResumeSet_butWasNotPlaying 2ms
โœ… AudiobookAccessibilityTests testAudiobookIndicator_labelExists 2ms
โœ… AudiobookAccessibilityTests testPauseLabel_isDescriptive 2ms
โœ… AudiobookAccessibilityTests testPlayLabel_isDescriptive 2ms
โœ… AudiobookAccessibilityTests testPlayPauseLabel_changesWithState 2ms
โœ… AudiobookAccessibilityTests testPlayPauseLabels_areDifferent 2ms
โœ… AudiobookAccessibilityTests testSkipBackLabel_indicatesTimeUnit 3ms
โœ… AudiobookAccessibilityTests testSkipBackLabel_isDescriptiveWithDuration 2ms
โœ… AudiobookBackgroundAudioTests testContinuousPlayback_accumulatesCorrectly 18ms
โœ… AudiobookBackgroundAudioTests testInterruptedPlayback_savesPartialTime 34ms
โœ… AudiobookBookmarkBusinessLogicTests testBusinessLogic_canBeInitialized 4ms
โœ… AudiobookBookmarkBusinessLogicTests testBusinessLogic_hasBookReference 5ms
โœ… AudiobookBookmarkBusinessLogicTests testDeleteBookmark_CallsAnnotationsManager 32ms
โœ… AudiobookBookmarkBusinessLogicTests testFlushPendingOperations_ExecutesPendingWork 4ms
โœ… AudiobookBookmarkBusinessLogicTests testLoadTracks_succeeds 33ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_BothNil_ReturnsNil 5ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_LocalNewerThanRemote_UsesLocal 17ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_OnlyLocalExists_UsesLocal 19ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_OnlyRemoteExists_UsesRemote 18ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_RemoteNewerThanLocal_UsesRemote 21ms
โœ… AudiobookBookmarkBusinessLogicTests testPositionRestoration_SameTimestamp_UsesLocal 23ms
โœ… AudiobookBookmarkBusinessLogicTests testSaveBookmark_AddsToRegistry 1.04s
โœ… AudiobookBookmarkBusinessLogicTests testSaveBookmark_CreatesBookmark 1.02s
โœ… AudiobookBookmarkBusinessLogicTests testSaveListeningPositionSync_SavesImmediately 23ms
โœ… AudiobookBookmarkBusinessLogicTests testSaveListeningPosition_SavesLocallyImmediately 1.05s
โœ… AudiobookBookmarkBusinessLogicTests testSaveListeningPosition_SyncsToServer 1.06s
โœ… AudiobookBookmarkBusinessLogicTests testSyncBookmarks_MergesLocalAndRemote 27ms
โœ… AudiobookDataManagerEmptyQueueTests testSyncValues_withEmptyQueue_makesNoRequests 9ms
โœ… AudiobookDataManagerErrorHandlingTests testSyncValues_with404Response_removesEntriesAndURL 2.57s
โœ… AudiobookDataManagerErrorHandlingTests testSyncValues_with500Response_keepsEntriesForRetry 2.13s
โœ… AudiobookDataManagerErrorHandlingTests testSyncValues_with503Response_keepsEntriesForRetry 2.13s
โœ… AudiobookDataManagerErrorHandlingTests testSyncValues_withNetworkError_keepsEntries 2.13s
โœ… AudiobookDataManagerErrorHandlingTests testSyncValues_withPartialSuccess_removesOnlySuccessfulEntries 2.15s
โœ… AudiobookDataManagerModelsTests testAudiobookDataManagerStoreInit_empty 2ms
โœ… AudiobookDataManagerModelsTests testAudiobookDataManagerStoreInit_fromData_invalidJson_returnsNil 5ms
โœ… AudiobookDataManagerModelsTests testAudiobookDataManagerStoreInit_fromData_validJson 5ms
โœ… AudiobookDataManagerModelsTests testAudiobookDataManagerStoreJsonRepresentation 3ms
โœ… AudiobookDataManagerModelsTests testAudiobookDataManagerStoreRoundTrip 3ms
โœ… AudiobookDataManagerModelsTests testAudiobookTimeEntryCodable 2ms
โœ… AudiobookDataManagerModelsTests testAudiobookTimeEntryEquality 2ms
โœ… AudiobookDataManagerModelsTests testLibraryBookCodable 2ms
โœ… AudiobookDataManagerModelsTests testLibraryBookEquality 2ms
โœ… AudiobookDataManagerModelsTests testLibraryBookHashable 2ms
โœ… AudiobookDataManagerModelsTests testLibraryBookInit_directAndFromTimeEntryAreEqual 3ms
โœ… AudiobookDataManagerModelsTests testLibraryBookInit_fromTimeEntry 2ms
โœ… AudiobookDataManagerModelsTests testRequestDataInit_fromLibraryBookAndEntries 2ms
โœ… AudiobookDataManagerModelsTests testRequestDataInit_timeEntryDurationMapsToSecondsPlayed 4ms
โœ… AudiobookDataManagerModelsTests testRequestDataJsonRepresentation 5ms
โœ… AudiobookDataManagerModelsTests testRequestDataTimeEntryDescription 3ms
โœ… AudiobookDataManagerModelsTests testResponseDataInit_fromData_emptyResponses 4ms
โœ… AudiobookDataManagerModelsTests testResponseDataInit_fromData_invalidJson_returnsNil 5ms
โœ… AudiobookDataManagerModelsTests testResponseDataInit_fromData_validJson 2ms
โœ… AudiobookDataManagerModelsTests testResponseDataInit_jsonAndDirectProduceSameResult 8ms
โœ… AudiobookDataManagerNetworkSyncTests testAudiobookDataManager_Sync_InitializesCorrectly 108ms
โœ… AudiobookDataManagerNetworkSyncTests testSyncValues_requestBodyContainsCorrectFormat 1.13s
โœ… AudiobookDataManagerNetworkSyncTests testSyncValues_withMultipleBooks_makesRequestForEach 1.12s
โœ… AudiobookDataManagerNetworkSyncTests testSyncValues_withQueuedEntries_postsToCorrectURL 1.14s
โœ… AudiobookDataManagerNetworkSyncTests testSyncValues_withSuccessfulResponse_removesEntriesFromQueue 2.16s
โœ… AudiobookDataManagerSaveTests testDataManagerConformance_savesViaProtocol 312ms
โœ… AudiobookDataManagerSaveTests testSave_addsEntryToQueue 312ms
โœ… AudiobookDataManagerSaveTests testSave_multipleEntries_allQueued 540ms
โœ… AudiobookDataManagerSaveTests testSave_storesURLMapping 309ms
โœ… AudiobookDataManagerStoreRecoveryTests testAudiobookDataManagerStoreInit_withInvalidData_returnsNil 4ms
โœ… AudiobookDataManagerStoreRecoveryTests testAudiobookDataManagerStoreInit_withPartialData_returnsNil 4ms
โœ… AudiobookDataManagerStoreRecoveryTests testLoadStore_withCorruptedJSON_doesNotCrash 4ms
โœ… AudiobookDataManagerStoreRecoveryTests testLoadStore_withEmptyFile_doesNotCrash 9ms
โœ… AudiobookDataManagerStoreRecoveryTests testSaveAndLoadStore_preservesData 2.08s
โœ… AudiobookEventsCoverageTests testManagerCreated_isPassthroughSubject 13ms
โœ… AudiobookEventsTests testManagerCreated_isPassthroughSubject 9ms
โœ… AudiobookFileLoggerTests testGetLogsDirectoryUrl_directoryExists 6ms
โœ… AudiobookFileLoggerTests testGetLogsDirectoryUrl_returnsURL 5ms
โœ… AudiobookFileLoggerTests testLogEvent_containsTimestamp 10ms
โœ… AudiobookFileLoggerTests testLogEvent_createsLogFile 8ms
โœ… AudiobookFileLoggerTests testLogEvent_multipleEvents_allAppear 16ms
โœ… AudiobookFileLoggerTests testRetrieveLog_nonexistentBook_returnsNil 5ms
โœ… AudiobookFileLoggerTests testRetrieveLogs_emptyBookIds_returnsEmptyDict 3ms
โœ… AudiobookFileLoggerTests testRetrieveLogs_multipleBooks 8ms
โœ… AudiobookFileLoggerTests testShared_isNotNil 12ms
โœ… AudiobookPlaybackStateTests testPlaybackStartAndStop_cycle 16ms
โœ… AudiobookPlaybackStateTests testPlaybackStarted_canBeCalledMultipleTimes 23ms
โœ… AudiobookPlaybackStateTests testPlaybackStopped_canBeCalledWithoutStart 5ms
โœ… AudiobookPlaybackTests testAudiobookTimeEntry_DurationCappedAt60 14ms
โœ… AudiobookPlaybackTests testAudiobookTimeEntry_ValidDuration 11ms
โœ… AudiobookPlaybackTests testChapterIndex_ValidTrack 20ms
โœ… AudiobookPlaybackTests testChapterNavigation_NextChapter 12ms
โœ… AudiobookPlaybackTests testChapterNavigation_NextChapter_AtEnd 12ms
โœ… AudiobookPlaybackTests testChapterNavigation_PreviousChapter 12ms
โœ… AudiobookPlaybackTests testChapterNavigation_PreviousChapter_ClampsToZero 14ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_0_75x_CalculatesCorrectDuration 15ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_1_0x_CalculatesCorrectDuration 14ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_1_25x_CalculatesCorrectDuration 19ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_1_5x_CalculatesCorrectDuration 12ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_2_0x_CalculatesCorrectDuration 17ms
โœ… AudiobookPlaybackTests testPlaybackSpeed_ContentPlayedCalculation 20ms
โœ… AudiobookPlaybackTests testSkipAhead_Adds30Seconds 11ms
โœ… AudiobookPlaybackTests testSkipAhead_ClampsToTrackEnd 20ms
โœ… AudiobookPlaybackTests testSkipAhead_WithinTrackDuration 11ms
โœ… AudiobookPlaybackTests testSkipBehind_ClampsToZero 24ms
โœ… AudiobookPlaybackTests testSkipBehind_Subtracts30Seconds 11ms
โœ… AudiobookPlaybackTests testSleepTimer_15Minutes 11ms
โœ… AudiobookPlaybackTests testSleepTimer_30Minutes 15ms
โœ… AudiobookPlaybackTests testSleepTimer_60Minutes 23ms
โœ… AudiobookPlaybackTests testSleepTimer_Expired 21ms
โœ… AudiobookPlaybackTests testSleepTimer_RemainingTime 18ms
โœ… AudiobookPlaybackTests testTrackPosition_Creation 18ms
โœ… AudiobookPlaybackTests testTrackPosition_ToAudioBookmark 15ms
โœ… AudiobookPlaybackTests testTrackPosition_ToTPPBookLocation 62ms
โœ… AudiobookPlayerSnapshotTests testAudiobookPlayerAccessibilityIdentifiers 4ms
โœ… AudiobookPlayerSnapshotTests testAudiobookSampleToolbar_withSample 7ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthForNilError 5ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthForNonSAMLAuth 9ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthForWrongCode 15ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthForWrongDomain 9ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthWithNilBook 6ms
โœ… AudiobookSAMLReauthTests testShouldNotTriggerSAMLReauthWithoutCredentials 5ms
โœ… AudiobookSessionErrorDescriptionTests testAllErrorCases_haveNonEmptyDescriptions 3ms
โœ… AudiobookSessionErrorDescriptionTests testErrorEquatable_differentTypes 6ms
โœ… AudiobookSessionErrorDescriptionTests testErrorEquatable_sameTypes 7ms
โœ… AudiobookSessionErrorDescriptionTests testUnknownError_preservesCustomMessage 8ms
โœ… AudiobookSessionErrorExtTests testErrorDescriptions 2ms
โœ… AudiobookSessionErrorExtTests testErrorEquality 2ms
โœ… AudiobookSessionErrorExtTests testUnknownErrorDescription 3ms
โœ… AudiobookSessionErrorExtTests testUnknownErrorEquality 2ms
โœ… AudiobookSessionErrorTests testAudiobookSessionError_AlreadyLoading_HasDescription 2ms
โœ… AudiobookSessionErrorTests testAudiobookSessionError_Equatable 3ms
โœ… AudiobookSessionErrorTests testAudiobookSessionError_ManifestLoadFailed_HasDescription 6ms
โœ… AudiobookSessionErrorTests testAudiobookSessionError_NetworkUnavailable_HasDescription 9ms
โœ… AudiobookSessionErrorTests testAudiobookSessionError_NotAuthenticated_HasDescription 5ms
โœ… AudiobookSessionErrorTests testAudiobookSessionError_NotDownloaded_HasDescription 2ms
โœ… AudiobookSessionErrorTests testAudiobookSessionError_PlayerCreationFailed_HasDescription 2ms
โœ… AudiobookSessionErrorTests testAudiobookSessionError_Unknown_PreservesMessage 3ms
โœ… AudiobookSessionManagerTests testBackgroundCompletionHandlerRegistration 54ms
โœ… AudiobookSessionManagerTests testRegisterActiveDownload 4ms
โœ… AudiobookSessionManagerTests testUpdateDownloadProgress 8ms
โœ… AudiobookSessionStateTests testErrorState 2ms
โœ… AudiobookSessionStateTests testIdleState 3ms
โœ… AudiobookSessionStateTests testLoadingState 5ms
โœ… AudiobookSessionStateTests testPausedState 2ms
โœ… AudiobookSessionStateTests testPlayingState 2ms
โœ… AudiobookSessionStateTests testStateEquality 7ms
โœ… AudiobookSessionStateTransitionTests testErrorState_isNotActive_butHasBookId 2ms
โœ… AudiobookSessionStateTransitionTests testIdleState_isNotActive 19ms
โœ… AudiobookSessionStateTransitionTests testLoadingState_isActive_andHasBookId 2ms
โœ… AudiobookSessionStateTransitionTests testPausedState_isActive_andHasBookId 2ms
โœ… AudiobookSessionStateTransitionTests testPlayingState_isActive_andHasBookId 2ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_cyclePlaybackRate_withoutManager_returnsNormalTime 19ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_initialState_isIdle 4ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_pause_withoutManager_doesNotCrash 4ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_play_withoutManager_doesNotCrash 4ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_skipToChapter_withoutManager_doesNotCrash 22ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_stopPlayback_publishesIdleState 3ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_stopPlayback_resetsState 5ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_togglePlayPause_withoutManager_doesNotCrash 3ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_updateCoverImage_nil_clearsImage 2ms
โœ… AudiobookSessionStateTransitionTests testSessionManager_updateCoverImage_setsImage 2ms
โœ… AudiobookSessionStateTransitionTests testStateEquality_differentBookIds 22ms
โœ… AudiobookSessionStateTransitionTests testStateEquality_differentStates 1ms
โœ… AudiobookSessionStateTransitionTests testStateEquality_sameStates 3ms
โœ… AudiobookSleepTimerIntegrationTests testEndOfChapterSleepTimer_savesPartialTime 25ms
โœ… AudiobookSleepTimerIntegrationTests testSleepTimer30Minutes_savesAllPlayedTime 75ms
โœ… AudiobookSleepTimerIntegrationTests testSleepTimerCancelResume_preservesAllTime 33ms
โœ… AudiobookSleepTimerIntegrationTests testSleepTimerMultipleMinutes_createsSeparateEntries 15ms
โœ… AudiobookSleepTimerIntegrationTests testSleepTimerScenario_savesAllPlayedTime 32ms
โœ… AudiobookStorageLocationTests testApplicationSupportDirectoryExists 2ms
โœ… AudiobookStorageLocationTests testAudiobooksDirectoryPath 6ms
โœ… AudiobookStorageLocationTests testOverdriveDirectoryPath 5ms
โœ… AudiobookTOCTests testChapterName_MatchesAfterNavigation 11ms
โœ… AudiobookTOCTests testChapterName_SavedCorrectly 11ms
โœ… AudiobookTOCTests testChapter_AutoAdvanceToNext 11ms
โœ… AudiobookTOCTests testChapter_HasDuration 13ms
โœ… AudiobookTOCTests testChapter_PositionAtStart 12ms
โœ… AudiobookTOCTests testChapter_PositionInMiddle 11ms
โœ… AudiobookTOCTests testChapter_PositionPersistsAfterRestart 10ms
โœ… AudiobookTOCTests testChapter_SelectionPersistsAfterReturn 11ms
โœ… AudiobookTOCTests testChapter_TotalDuration 12ms
โœ… AudiobookTOCTests testTOC_ChaptersAreOrdered 25ms
โœ… AudiobookTOCTests testTOC_ChaptersHaveTitles 11ms
โœ… AudiobookTOCTests testTOC_ContentsAndBookmarksTabs 11ms
โœ… AudiobookTOCTests testTOC_HasChapters 10ms
โœ… AudiobookTOCTests testTOC_OpenFirstChapter 35ms
โœ… AudiobookTOCTests testTOC_OpenRandomChapter 12ms
โœ… AudiobookTOCTests testTOC_OpenSpecificChapter 37ms
โœ… AudiobookTOCTests testTOC_SwitchToBookmarks 12ms
โœ… AudiobookTOCTests testTOC_SwitchToChapters 11ms
โœ… AudiobookTimeEntryTests testTimeEntry_codableRoundTrip 5ms
โœ… AudiobookTimeEntryTests testTimeEntry_conformsToProtocol 2ms
โœ… AudiobookTimeEntryTests testTimeEntry_durationCanExceed60InStruct 4ms
โœ… AudiobookTimeEntryTests testTimeEntry_equality 5ms
โœ… AudiobookTimeEntryTests testTimeEntry_hashable 7ms
โœ… AudiobookTimeEntryTests testTimeEntry_storesProperties 2ms
โœ… AudiobookTimeTrackerEdgeTests testPlaybackStopped_savesAccumulatedTime_beforeCancellingTimer 21ms
โœ… AudiobookTimeTrackerEdgeTests testReceiveValue_crossingMinuteBoundary_savesEntry 17ms
โœ… AudiobookTimeTrackerEdgeTests testReceiveValue_withinSameMinute_doesNotSaveUntilStop 16ms
โœ… AudiobookTimeTrackerEdgeTests testStopAndSave_calledMultipleTimes_doesNotDuplicate 15ms
โœ… AudiobookTimeTrackerEdgeTests testTimeEntry_containsCorrectBookAndLibraryIds 10ms
โœ… AudiobookTimeTrackerEdgeTests testTimeEntry_durationCappedAt60 12ms
โœ… AudiobookTimeTrackerEdgeTests testTimeEntry_duringMinute_isUTCFormat 12ms
โœ… AudiobookTimeTrackerEdgeTests testZeroDuration_isNotSaved 13ms
โœ… AudiobookTimeTrackerLifecycleTests testAppTerminationNotification_savesData 1.04s
โœ… AudiobookTimeTrackerLifecycleTests testStopAndSave_canBeCalledMultipleTimes 15ms
โœ… AudiobookTimeTrackerLifecycleTests testStopAndSave_savesAllAccumulatedTime 12ms
โœ… AudiobookTimeTrackerLifecycleTests testTimeEntryProperty_isThreadSafe 19ms
โœ… AudiobookTimeTrackerLifecycleTests testTrackerDeallocation_savesAccumulatedTime 16ms
โœ… AudiobookTimeTrackerTests testExactMinuteOfPlayback_savesCorrectTimeEntry 10ms
โœ… AudiobookTimeTrackerTests testMultipleMinuteBoundaries_createsMultipleEntries 11ms
โœ… AudiobookTimeTrackerTests testNoPlayback_savesNoTimeEntry 8ms
โœ… AudiobookTimeTrackerTests testPlaybackStarted_savesCorrectAggregateTime 8ms
โœ… AudiobookTimeTrackerTests testPlaybackStopped_stopsTimer 17ms
โœ… AudiobookTimeTrackerTests testSaveCurrentDuration_savesTimeEntryCorrectly 12ms
โœ… AudiobookTimeTrackerTests testTimeEntries_areInUTC 9ms
โœ… AudiobookTimeTrackerTests testTimeEntries_areLimitedTo60Seconds 8ms
โœ… AudiobookTimeTrackerTests testTimeEntry_hasCorrectMetadata 6ms
โœ… AudiobookTrackCompletionTests testTrackerFinalize_savesAccumulatedTime 87ms
โœ… AudiobookTrackCompletionTests testZeroDuration_notSaved 13ms
โœ… AudiobookTypeRoutingTests testAudiobookLCPBook_hasExpectedIdentifiers 4ms
โœ… AudiobookTypeRoutingTests testBearerTokenBook_hasExpectedIdentifiers 9ms
โœ… AudiobookTypeRoutingTests testLCPAudiobook_canOpenBook_usesCorrectAcquisitionType 34ms
โœ… AudiobookTypeRoutingTests testOpenAccessAudiobook_hasExpectedIdentifiers 4ms
โœ… AudiobookTypeRoutingTests testReadiumLCPBook_hasExpectedIdentifiers 4ms
โœ… AudiobookmarkTests testDecodeEarlyBookmark 6ms
โœ… AudiobookmarkTests testDecodeLocatorAudioBookTime2 21ms
โœ… AudiobookmarkTests testDecodeNewerBookmark 4ms
โœ… AudiobookmarkTests testEncodeAndDecodeBookmark 5ms
โœ… AuthDocumentContractTests testAuthDocument_HasRequiredLinks 2ms
โœ… AuthDocumentContractTests testParseAuthDocument_ExtractsAllFields 7ms
โœ… AuthErrorCategoryTests testHTTPURLResponse_bare401WithoutProblemDoc_shouldIndicateAuthRefresh 3ms
โœ… AuthErrorCategoryTests testHTTPURLResponse_withOldCredentialsInvalidType_shouldIndicateAuthRefresh 7ms
โœ… AuthErrorCategoryTests testHTTPURLResponse_withRecoverableError_shouldIndicateAuthRefresh 6ms
โœ… AuthErrorCategoryTests testHTTPURLResponse_withUnrecoverableError_shouldNotIndicateAuthRefresh 41ms
โœ… AuthErrorCategoryTests testHTTPURLResponse_withUnrecoverableNoAccess_shouldNotIndicateAuthRefresh 7ms
โœ… AuthErrorCategoryTests testProblemDocument_nilType_isNeitherCategory 3ms
โœ… AuthErrorCategoryTests testProblemDocument_nonAuthType_isNeitherCategory 4ms
โœ… AuthErrorCategoryTests testProblemDocument_recoverableSAMLBearerTokenInvalid_isRecoverable 8ms
โœ… AuthErrorCategoryTests testProblemDocument_recoverableSAMLSessionExpired_isRecoverable 8ms
โœ… AuthErrorCategoryTests testProblemDocument_recoverableTokenExpired_isRecoverable 2ms
โœ… AuthErrorCategoryTests testProblemDocument_unrecoverableInvalidCredentials_isUnrecoverable 3ms
โœ… AuthErrorCategoryTests testProblemDocument_unrecoverableNoAccess_isUnrecoverable 2ms
โŠ˜ AuthFlowSecurityTests testOAuth_callbackMissingStateParameter_isRejected 4ms
โŠ˜ AuthFlowSecurityTests testOAuth_invalidRedirectURI_isRejected 3ms
โŠ˜ AuthFlowSecurityTests testSAML_unsignedAssertion_loginFails 13ms
โœ… AuthFlowSecurityTests testSession_identifierRotatedOnSignIn 21ms
โŠ˜ AuthFlowSecurityTests testToken_expiredTokenNotReplayedAfterRefreshFailure 26ms
โœ… AuthFlowSecurityTests testToken_networkExecutorRefreshCount_singleFlightSemantics 3ms
โœ… AuthFlowSecurityTests testToken_reauthenticatorCallCount_observableForRawCallAssertion 3ms
โœ… AuthTypeTests testAuthType_AnonymousRawValue_IsCorrect 2ms
โœ… AuthTypeTests testAuthType_BasicRawValue_IsCorrect 2ms
โœ… AuthTypeTests testAuthType_CoppaRawValue_IsCorrect 2ms
โœ… AuthTypeTests testAuthType_InitFromInvalidString_ReturnsNil 5ms
โœ… AuthTypeTests testAuthType_OAuthRawValue_IsCorrect 1ms
โœ… AuthTypeTests testAuthType_SamlRawValue_IsCorrect 4ms
โœ… 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 2ms
โœ… AuthenticationTests testIsToken_ForTokenType_ReturnsTrue 2ms
โœ… AuthenticationTests testNeedsAgeCheck_ForBasicType_ReturnsFalse 2ms
โœ… AuthenticationTests testNeedsAgeCheck_ForCoppaType_ReturnsTrue 2ms
โœ… AuthenticationTests testNeedsAuth_ForAnonymousType_ReturnsFalse 8ms
โœ… AuthenticationTests testNeedsAuth_ForBasicType_ReturnsTrue 2ms
โœ… AuthenticationTests testNeedsAuth_ForCoppaType_ReturnsFalse 2ms
โœ… AuthenticationTests testNeedsAuth_ForOAuthType_ReturnsTrue 38ms
โœ… AuthenticationTests testNeedsAuth_ForSamlType_ReturnsTrue 2ms
โœ… AuthenticationTests testNeedsAuth_ForTokenType_ReturnsTrue 2ms
โœ… BackgroundDownloadHandlerTests testDetectRightsManagement_adobeAdept 2ms
โœ… BackgroundDownloadHandlerTests testDetectRightsManagement_bearerToken 2ms
โœ… BackgroundDownloadHandlerTests testDetectRightsManagement_epubZip 13ms
โœ… BackgroundDownloadHandlerTests testDetectRightsManagement_readiumLCP 2ms
โœ… BackgroundDownloadHandlerTests testDetectRightsManagement_unknownType 1ms
โœ… BackgroundDownloadHandlerTests testHandleDownloadProgress_firstBytes_detectsMimeType 7ms
โœ… BackgroundDownloadHandlerTests testHandleDownloadProgress_noDelegate_doesNotCrash 8ms
โœ… BackgroundDownloadHandlerTests testInit_withDelegate 2ms
โœ… BackgroundDownloadHandlerTests testInit_withoutDelegate 2ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_applicationXml 2ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_atomXml 2ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_caseInsensitive 2ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_epub_returnsFalse 2ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_html_returnsFalse 2ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_json_returnsFalse 2ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_opdsCatalog 2ms
โœ… BackgroundDownloadHandlerTests testIsOPDSEntryMimeType_textXml 2ms
โœ… BackgroundDownloadHandlerTests testMoveFile_moveFailure_logsError 5ms
โœ… BackgroundDownloadHandlerTests testMoveFile_noDelegate_returnsFalse 4ms
โœ… BackgroundDownloadHandlerTests testMoveFile_noFileUrl_returnsFalse 7ms
โœ… BackgroundDownloadHandlerTests testMoveFile_success_setsDownloadSuccessful 6ms
โœ… BackgroundDownloadHandlerTests testReplaceBook_existingFile_replacesIt 10ms
โœ… BackgroundDownloadHandlerTests testReplaceBook_noDelegate_returnsFalse 5ms
โœ… BackgroundDownloadHandlerTests testReplaceBook_noFileUrl_returnsFalse 7ms
โœ… BackgroundDownloadHandlerTests testReplaceBook_success_setsDownloadSuccessful 6ms
โœ… BackgroundDownloadHandlerTests testValidateDownloadedFile_emptyFile_returnsFalse 6ms
โœ… BackgroundDownloadHandlerTests testValidateDownloadedFile_existingFileWithContent_returnsTrue 6ms
โœ… BackgroundDownloadHandlerTests testValidateDownloadedFile_missingFile_returnsFalse 6ms
โœ… BackgroundListenerTests testOpenAccessListenerIdentifiesCorrectSessions 7ms
โœ… BackgroundListenerTests testOverdriveListenerIdentifiesCorrectSessions 30ms
โœ… BadgeDefinitionTests testBadgeCatalog_ContainsAllBadges 2ms
โœ… BadgeDefinitionTests testBadgeCatalog_HasUniqueIDs 5ms
โœ… BadgeDefinitionTests testFiftyBooksClub_CapsAtOne 5ms
โœ… BadgeDefinitionTests testFiftyBooksClub_FailingCriteria 2ms
โœ… BadgeDefinitionTests testFiftyBooksClub_Metadata 4.47s
โœ… BadgeDefinitionTests testFiftyBooksClub_PassingCriteria 2ms
โœ… BadgeDefinitionTests testFiftyBooksClub_ProgressCalculation 2ms
โœ… BadgeDefinitionTests testHundredBooksClub_FailingCriteria 5ms
โœ… BadgeDefinitionTests testHundredBooksClub_Metadata 2ms
โœ… BadgeDefinitionTests testHundredBooksClub_PassingCriteria 3ms
โœ… BadgeDefinitionTests testHundredBooksClub_ProgressCalculation 12ms
โœ… BadgeDefinitionTests testHundredBooksClub_ZeroCompletions 3ms
โœ… BadgeDefinitionTests testMakeBadge_DefaultsToNotEarned 2ms
โœ… BadgeDefinitionTests testMakeBadge_ProducesCorrectBadge 4ms
โœ… BadgeDefinitionTests testSpeedReader_FailingCriteria_MultiDayRead 399ms
โœ… BadgeDefinitionTests testSpeedReader_Metadata 5ms
โœ… BadgeDefinitionTests testSpeedReader_PassingCriteria_SameDayStartAndFinish 6ms
โœ… BadgeDefinitionTests testSpeedReader_ProgressWithCompletionsButNoneSameDay 4ms
โœ… BadgeDefinitionTests testSpeedReader_ZeroProgress_NoCompletions 2ms
โœ… BadgeDefinitionTests testStreakImmortal_CapsAtOne 3ms
โœ… BadgeDefinitionTests testStreakImmortal_FailingCriteria 2ms
โœ… BadgeDefinitionTests testStreakImmortal_Metadata 3ms
โœ… BadgeDefinitionTests testStreakImmortal_PassingCriteria 5ms
โœ… BadgeDefinitionTests testStreakImmortal_ProgressCalculation 4ms
โœ… BadgeDefinitionTests testStreakLegend_FailingCriteria 3ms
โœ… BadgeDefinitionTests testStreakLegend_Metadata 3ms
โœ… BadgeDefinitionTests testStreakLegend_PassingCriteria 3ms
โœ… BadgeDefinitionTests testStreakLegend_ProgressCalculation 153ms
โœ… BadgeDefinitionTests testStreakLegend_UsesLongestStreak 4ms
โœ… BadgeDefinitionTests testWeekendWarrior_FailingCriteria_NoWeekendSessions 9ms
โœ… BadgeDefinitionTests testWeekendWarrior_Metadata 4ms
โœ… BadgeDefinitionTests testWeekendWarrior_PassingCriteria_FourConsecutiveWeekends 4ms
โœ… BadgeDefinitionTests testWeekendWarrior_ProgressCalculation_TwoWeekends 1.57s
โœ… BadgeServiceTests testAllBadgesAreDefined 5ms
โœ… BadgeServiceTests testAudiobookAdventurerEarned 8ms
โœ… BadgeServiceTests testBadgeEarnedNotificationFires 14ms
โœ… BadgeServiceTests testEarlyBirdBadge 10ms
โœ… BadgeServiceTests testFirstBookFinishedBadge 6ms
โœ… BadgeServiceTests testFirstBookNotEarnedWithNoCompletions 9ms
โœ… BadgeServiceTests testGenreExplorerProgress 3ms
โœ… BadgeServiceTests testInProgressBadges 7ms
โœ… BadgeServiceTests testLibraryExplorerProgress 14ms
โœ… BadgeServiceTests testLockedBadges 3ms
โœ… BadgeServiceTests testMarathonReaderEarned 4ms
โœ… BadgeServiceTests testMarathonReaderProgress 8ms
โœ… BadgeServiceTests testNightOwlBadge 5ms
โœ… BadgeServiceTests testStreakMasterProgress 4ms
โœ… BadgeServiceTests testTenBooksClubEarned 4ms
โœ… BadgeServiceTests testTenBooksClubProgress 5ms
โœ… BadgesViewModelTests testBadgeCategories_AreMutuallyExclusive 3ms
โœ… BadgesViewModelTests testInitialState_HasEmptyBadgeLists 2ms
โœ… BadgesViewModelTests testInitialState_IsNotLoading 2ms
โœ… BadgesViewModelTests testInitialState_NoSelectedBadge 5ms
โœ… BadgesViewModelTests testLoad_PopulatesEarnedBadges 3ms
โœ… BadgesViewModelTests testLoad_PopulatesInProgressBadges 3ms
โœ… BadgesViewModelTests testLoad_PopulatesLockedBadges 4ms
โœ… BadgesViewModelTests testLoad_SetsIsLoadingFalseOnCompletion 3ms
โœ… BadgesViewModelTests testNewBadgeNotification_AddsToBadgeIDs 4ms
โœ… BadgesViewModelTests testNewBadgeNotification_TriggersReload 506ms
โœ… BadgesViewModelTests testProgressSummary_FormatsCorrectly 3ms
โœ… BadgesViewModelTests testProgressSummary_ZeroEarned 2ms
โœ… BadgesViewModelTests testSelectBadge_SetsSelectedBadge 2ms
โœ… BadgesViewModelTests testTotalBadgesCount_MatchesCatalogCount 2ms
โœ… BasicAuthEmptyCredentialTests testHandleChallenge_EmptyUsername_StillUsesCredential 2ms
โœ… BasicAuthEmptyCredentialTests testHandleChallenge_NilPassword_CancelsChallenge 2ms
โœ… BasicAuthEmptyCredentialTests testHandleChallenge_NilUsername_CancelsChallenge 24ms
โœ… BasicAuthEmptyCredentialTests testHandleChallenge_ValidCredentials_UsesCredentialWithNoPersistence 3ms
โœ… BearerTokenFulfillFlowTests testFulfillURL_andManifestURL_areDifferentEndpoints 2ms
โœ… BearerTokenFulfillFlowTests testFullFlow_bearerTokenWithExpiredManifestFetch_returnsNil 7ms
โœ… BearerTokenFulfillFlowTests testFullFlow_fulfillReturnsBearerToken_thenManifestIsFetched 25ms
โœ… BearerTokenFulfillFlowTests testFullFlow_manifestResponseIsNotMistakenForBearerToken 2ms
โœ… BearerTokenRefreshTests testRefreshRequest_includesAuthHeader 2ms
โœ… BearerTokenRefreshTests testRefreshRequest_withoutToken_noAuthHeader 2ms
โœ… BearerTokenRefreshTests testSimplifiedBearerToken_isExpired_withPastDate 2ms
โœ… BearerTokenRefreshTests testSimplifiedBearerToken_isNotExpired_withFutureDate 1ms
โœ… BearerTokenResponseDetectionTests testAudiobookManifestJSON_isNotMistakenForBearerToken 6ms
โœ… BearerTokenResponseDetectionTests testBearerTokenJSON_isDetectedCorrectly 3ms
โœ… BearerTokenResponseDetectionTests testBearerTokenJSON_withExpirationKey_isDetected 3ms
โœ… BearerTokenResponseDetectionTests testEmptyJSON_isNotBearerToken 4ms
โœ… BearerTokenResponseDetectionTests testManifestWithAccessTokenKey_butNoLocation_isNotBearerToken 3ms
โœ… BearerTokenResponseDetectionTests testManifestWithLocationKey_butNoAccessToken_isNotBearerToken 3ms
โœ… BearerTokenResponseDetectionTests testProblemDocumentJSON_isNotBearerToken 5ms
โœ… BookAvailabilityFormatterTests test_isDate_crossDayBoundary 3ms
โœ… BookAvailabilityFormatterTests test_isDate_crossYearBoundary 3ms
โœ… BookAvailabilityFormatterTests test_isDate_emptyStrings_returnsFalse 4ms
โœ… BookAvailabilityFormatterTests test_isDate_invalidDateStrings_returnsFalse 3ms
โœ… BookAvailabilityFormatterTests test_isDate_moreRecentThan_newerDate_isMoreRecent 3ms
โœ… BookAvailabilityFormatterTests test_isDate_moreRecentThan_olderDate_notMoreRecent 3ms
โœ… BookAvailabilityFormatterTests test_isDate_moreRecentThan_sameDate_notMoreRecent 4ms
โœ… BookAvailabilityFormatterTests test_isDate_negativeDelay_makesNewerDateFail 943ms
โœ… BookAvailabilityFormatterTests test_isDate_newerDateWithDelay_alwaysPasses 7ms
โœ… BookAvailabilityFormatterTests test_isDate_oneSecondDifference_noDelay 5ms
โœ… BookAvailabilityFormatterTests test_isDate_sameTimestamp_withSmallDelay_returnsTrue 5ms
โœ… BookAvailabilityFormatterTests test_isDate_withInsufficientDelay_olderDateStillFails 13ms
โœ… BookAvailabilityFormatterTests test_isDate_withPositiveDelay_makesOlderDatePassAsNewer 3ms
โœ… BookAvailabilityFormatterTests test_syncDecision_bothExist_localNewer_usesLocal 5ms
โœ… BookAvailabilityFormatterTests test_syncDecision_bothExist_remoteNewer_promptsSync 13ms
โœ… BookAvailabilityFormatterTests test_syncDecision_localExistsRemoteNil_localIsUsed 2ms
โœ… BookAvailabilityFormatterTests test_syncDecision_localNilRemoteExists_remoteIsNewer 10ms
โœ… BookAvailabilityFormatterTests test_syncDecision_localNilRemoteNil_noSync 2ms
โœ… BookButtonMapperHoldReadyTests testMap_DownloadingState_Unaffected 3ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_LimitedNoCopiesAvailability_ReturnsHolding 4ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_LimitedWithCopiesAvailability_ReturnsHolding 2ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_NilAvailability_ReturnsHolding 2ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_ReadyAvailability_ReturnsCanBorrow 4ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_ReservedAvailability_ReturnsHolding 4ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_UnavailableAvailability_ReturnsHolding 7ms
โœ… BookButtonMapperHoldReadyTests testMap_HoldingState_UnlimitedAvailability_ReturnsHolding 3ms
โœ… BookButtonMapperHoldReadyTests testMap_ProcessingDownload_Unaffected 2ms
โœ… BookButtonMapperHoldReadyTests testStateForAvailability_Nil_ReturnsNil 5ms
โœ… BookButtonMapperHoldReadyTests testStateForAvailability_Ready_ReturnsCanBorrow 3ms
โœ… BookButtonMapperHoldReadyTests testStateForAvailability_Reserved_ReturnsHoldingFrontOfQueue 2ms
โœ… BookButtonMapperTests testAllRegistryStatesAreMapped 2ms
โœ… BookButtonMapperTests testMapDownloadFailed 2ms
โœ… BookButtonMapperTests testMapDownloadNeeded 2ms
โœ… BookButtonMapperTests testMapDownloadSuccessful 2ms
โœ… BookButtonMapperTests testMapDownloading 2ms
โœ… BookButtonMapperTests testMapHolding 2ms
โœ… BookButtonMapperTests testMapReturning 3ms
โœ… BookButtonMapperTests testMapSAMLStarted 2ms
โœ… BookButtonMapperTests testMapUsed 32ms
โœ… BookButtonMapperTests testMappingIsDeterministic 2ms
โœ… BookButtonMapperTests testProcessingDownloadOverridesDownloadSuccessful 2ms
โœ… BookButtonMapperTests testProcessingDownloadOverridesState 3ms
โœ… BookButtonMapperTests testStateForNilAvailability 3ms
โœ… BookButtonMapperTests testUnregisteredWithNilAvailability 5ms
โœ… BookButtonMapperViewModelTests testMap_DownloadFailed_ReturnsDownloadFailed 14ms
โœ… BookButtonMapperViewModelTests testMap_DownloadNeeded_ReturnsDownloadNeeded 2ms
โœ… BookButtonMapperViewModelTests testMap_DownloadSuccessful_ReturnsDownloadSuccessful 3ms
โœ… BookButtonMapperViewModelTests testMap_DownloadingPrioritizedOverAvailability 1ms
โœ… BookButtonMapperViewModelTests testMap_Downloading_ReturnsDownloadInProgress 1ms
โœ… BookButtonMapperViewModelTests testMap_Holding_WithNilAvailability_ReturnsHolding 1ms
โœ… BookButtonMapperViewModelTests testMap_Holding_WithReadyAvailability_ReturnsCanBorrow 2ms
โœ… BookButtonMapperViewModelTests testMap_Holding_WithReservedAvailability_ReturnsHolding 7ms
โœ… BookButtonMapperViewModelTests testMap_IsProcessingDownload_ReturnsDownloadInProgress 3ms
โœ… BookButtonMapperViewModelTests testMap_Returning_ReturnsReturning 2ms
โœ… BookButtonMapperViewModelTests testMap_Unregistered_WithLimitedAvailability_CopiesAvailable_ReturnsCanBorrow 2ms
โœ… BookButtonMapperViewModelTests testMap_Unregistered_WithNilAvailability_ReturnsUnsupported 10ms
โœ… BookButtonMapperViewModelTests testMap_Unregistered_WithUnavailability_ReturnsCanHold 2ms
โœ… BookButtonMapperViewModelTests testMap_Unregistered_WithUnlimitedAvailability_ReturnsCanBorrow 2ms
โœ… BookButtonMapperViewModelTests testMap_Used_ReturnsUsed 2ms
โœ… BookButtonMapperViewModelTests testStateForAvailability_Nil_ReturnsNil 1ms
โœ… BookButtonMapperViewModelTests testStateForAvailability_Ready_ReturnsCanBorrow 3ms
โœ… BookButtonMapperViewModelTests testStateForAvailability_Reserved_ReturnsHoldingFrontOfQueue 14ms
โœ… BookButtonStateTests testAllCases 2ms
โœ… BookButtonStateTests testDownloadFailed_cancelAndRetry 6ms
โœ… BookButtonStateTests testDownloadInProgress_cancelButton 3ms
โœ… BookButtonStateTests testEquatable 2ms
โœ… BookButtonStateTests testReturning_returningButton 3ms
โœ… BookButtonStateTests testStateForAvailability_nilAvailability 9ms
โœ… BookButtonStateTests testStateForAvailability_unlimited 2ms
โœ… BookButtonStateTests testUnsupported_emptyButtons 58ms
โœ… BookButtonTypeTests testAllCases_haveRawValues 4ms
โœ… BookButtonTypeTests testBorderColor 4ms
โœ… BookButtonTypeTests testButtonBackgroundColor 5ms
โœ… BookButtonTypeTests testButtonStyle_destructive 2ms
โœ… BookButtonTypeTests testButtonStyle_primary 3ms
โœ… BookButtonTypeTests testButtonStyle_secondary 3ms
โœ… BookButtonTypeTests testButtonStyle_tertiary 5ms
โœ… BookButtonTypeTests testButtonTextColor 10ms
โœ… BookButtonTypeTests testDisplaysIndicator_falseForOthers 4ms
โœ… BookButtonTypeTests testDisplaysIndicator_trueForExpected 4ms
โœ… BookButtonTypeTests testHasBorder 5ms
โœ… BookButtonTypeTests testIsPrimary 4ms
โœ… BookButtonTypeTests testTitle_returnsNonEmptyStrings 3ms
โœ… BookCellModelActionTests testCancelHold_AlertContainsBookTitle 6ms
โœ… BookCellModelActionTests testCancelHold_AlertHasCancelButton 6ms
โœ… BookCellModelActionTests testCancelHold_CancellingAlert_DoesNotSetReturningState 6ms
โœ… BookCellModelActionTests testCancelHold_ConfirmingAlert_SetsReturningState 6ms
โœ… BookCellModelActionTests testCancelHold_DoesNotStartReturnImmediately 6ms
โœ… BookCellModelActionTests testCancelHold_ShowsConfirmationAlert_BeforeRevoking 7ms
โœ… BookCellModelActionTests testRemove_DoesNotShowAlert_ProceedsImmediately 6ms
โœ… BookCellModelActionTests testReturn_AlertContainsBookTitle 5ms
โœ… BookCellModelActionTests testReturn_AlertHasCancelButton 15ms
โœ… BookCellModelActionTests testReturn_CancellingAlert_DoesNotSetReturningState 6ms
โœ… BookCellModelActionTests testReturn_CancellingAlert_ResetsIsLoading 6ms
โœ… BookCellModelActionTests testReturn_ConfirmingAlert_DismissesAlert 7ms
โœ… BookCellModelActionTests testReturn_ConfirmingAlert_SetsReturningState 7ms
โœ… BookCellModelActionTests testReturn_DoesNotStartReturnImmediately 6ms
โœ… BookCellModelActionTests testReturn_ShowsConfirmationAlert_BeforeRevoking 5ms
โœ… BookCellModelCacheInvalidationTests testCacheInvalidatesDownloadingToFailed 10ms
โœ… BookCellModelCacheInvalidationTests testCacheInvalidatesDownloadingToSuccessful 11ms
โœ… BookCellModelCacheInvalidationTests testCacheInvalidatesFailedToSuccessful 8ms
โœ… BookCellModelCacheInvalidationTests testCacheInvalidatesOnDirectInvalidation 11ms
โœ… BookCellModelCacheInvalidationTests testCacheReturnsDifferentModelsForDifferentBooks 8ms
โœ… BookCellModelCacheInvalidationTests testCacheReturnsSameModel 12ms
โœ… BookCellModelCacheInvalidationTests testClearAllRemovesAllModels 20ms
โœ… BookCellModelCacheInvalidationTests testInvalidateForSpecificBook 35ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_EmptyBooksArray_DoesNotCrash 2ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_EmptyBooksArray_WithNonZeroRange_DoesNotCrash 4ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_EndOfList_DoesNotAccessBeyondBounds 29ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_LargeBuffer_ClampsToArraySize 30ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_NegativeBufferRange_ClampsToZero 21ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_NormalRange_PreloadsModels 46ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_RangeExceedsArraySize_DoesNotCrash 12ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_SingleElementArray_DoesNotCrash 11ms
โœ… BookCellModelCachePrefetchSafetyTests testPrefetch_StartOfList_DoesNotAccessNegativeIndex 26ms
โœ… BookCellModelCacheTests testAggressiveConfiguration_HasLargerValues 3ms
โœ… BookCellModelCacheTests testCacheWithSameIdentifierDifferentUpdatedDate 14ms
โœ… BookCellModelCacheTests testClear 11ms
โœ… BookCellModelCacheTests testClearEmptyCache_DoesNotCrash 11ms
โœ… BookCellModelCacheTests testConcurrentAccess_DoesNotCrash 112ms
โœ… BookCellModelCacheTests testDefaultConfiguration_HasReasonableValues 2ms
โœ… BookCellModelCacheTests testDifferentBooksGetDifferentModels 15ms
โœ… BookCellModelCacheTests testDirectInvalidation_RefreshesModel 15ms
โœ… BookCellModelCacheTests testDirectInvalidation_WorksForHoldingState 11ms
โœ… BookCellModelCacheTests testDirectInvalidation_WorksForStateTransitions 21ms
โœ… BookCellModelCacheTests testInvalidate 13ms
โœ… BookCellModelCacheTests testInvalidateMultiple 24ms
โœ… BookCellModelCacheTests testInvalidateNonExistentKey_DoesNotCrash 8ms
โœ… BookCellModelCacheTests testLRUEviction 50ms
โœ… BookCellModelCacheTests testMemoryWarning 49ms
โœ… BookCellModelCacheTests testMemoryWarningOnEmptyCache_DoesNotCrash 21ms
โœ… BookCellModelCacheTests testModelCreation 7ms
โœ… BookCellModelCacheTests testModelReuse 7ms
โœ… BookCellModelCacheTests testModelUpdate_WithNewerBook_DefersUpdateToTask 29ms
โœ… BookCellModelCacheTests testModelUpdate_WithOlderBook_DoesNotUpdate 16ms
โœ… BookCellModelCacheTests testModelUpdate_WithSameBook_DoesNotUpdate 17ms
โœ… BookCellModelCacheTests testModelUpdatesWhenBookChanges 13ms
โœ… BookCellModelCacheTests testPrefetchWithEmptyRange_DoesNotCrash 8ms
โœ… BookCellModelCacheTests testPreload 29ms
โœ… BookCellModelCacheTests testPreloadEmptyArray_DoesNotCrash 2ms
โœ… BookCellModelComputedPropertyTests testAuthors_ReturnsBookAuthors 9ms
โœ… BookCellModelComputedPropertyTests testAuthors_ReturnsEmptyStringWhenNil 6ms
โœ… BookCellModelComputedPropertyTests testBookState_ReturnsRegistryStateByDefault 7ms
โœ… BookCellModelComputedPropertyTests testBookState_SetToNonReturning_ClearsOverride 10ms
โœ… BookCellModelComputedPropertyTests testBookState_SetToReturning_OverridesRegistryState 6ms
โœ… BookCellModelComputedPropertyTests testButtonTypes_WhenReturning_UsesReturningState 11ms
โœ… BookCellModelComputedPropertyTests testIsManagingHold_DefaultsFalse 8ms
โœ… BookCellModelComputedPropertyTests testIsProcessing_ReturnsIsLoading 10ms
โœ… BookCellModelComputedPropertyTests testLoadBookCoverImage_UsesCachedImage 39ms
โœ… BookCellModelComputedPropertyTests testShowHalfSheet_CanBeToggled 52ms
โœ… BookCellModelComputedPropertyTests testShowHalfSheet_DefaultsFalse 12ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_FalseForDownloadFailed 5ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_FalseForDownloading 8ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_FalseForHolding 17ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_FalseForUnregistered 6ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_FalseForUsed 6ms
โœ… BookCellModelComputedPropertyTests testShowUnreadIndicator_TrueForDownloadSuccessful 10ms
โœ… BookCellModelComputedPropertyTests testStatePublisher_EmitsOnIsLoadingChange 15ms
โœ… BookCellModelComputedPropertyTests testTitle_ReturnsBookTitle 11ms
โœ… BookCellModelRegistryBindingTests testRegistryStateChange_ClearsLoadingForTerminalStates 12ms
โœ… BookCellModelRegistryBindingTests testRegistryStateChange_IgnoresOtherBookIds 318ms
โœ… BookCellModelRegistryBindingTests testRegistryStateChange_ToDownloadFailed_ClearsLoading 9ms
โœ… BookCellModelRegistryBindingTests testRegistryStateChange_UpdatesRegistryState 9ms
โœ… BookCellModelStateTests testBookCellStateButtonState_MapsThroughCorrectly 2ms
โœ… BookCellModelStateTests testBookCellStateForDownloadFailed 114ms
โœ… BookCellModelStateTests testBookCellStateForDownloadInProgress 116ms
โœ… BookCellModelStateTests testBookCellStateForDownloadSuccessful 114ms
โœ… BookCellModelStateTests testDownloadErrorRoutesToCellAlertWhenHalfSheetHidden 9ms
โœ… BookCellModelStateTests testDownloadErrorRoutesToHalfSheetAlertWhenHalfSheetVisible 14ms
โœ… BookCellModelStateTests testInitialStateForDownloadFailed 6ms
โœ… BookCellModelStateTests testInitialStateForDownloadNeeded 9ms
โœ… BookCellModelStateTests testInitialStateForDownloading 6ms
โœ… BookCellModelStateTests testInitialStateForHolding 7ms
โœ… BookCellModelStateTests testInitialStateForUnregisteredBook 6ms
โœ… BookCellModelStateTests testInitialStateMatchesRegistry 6ms
โœ… BookCellModelStateTests testIsLoading_EmitsViaStatePublisher_WhenChanged 9ms
โœ… BookCellModelStateTests testIsLoading_SettlesFalseAfterImageFetchCompletes 109ms
โœ… BookCellModelStateTests testValidateStateConsistencyDetectsMismatch 16ms
โœ… BookCellModelStateTests testValidateStateConsistencyPasses 6ms
โœ… BookCellStateComprehensiveTests testBookCellState_CanBorrow_MapsToNormal 8ms
โœ… BookCellStateComprehensiveTests testBookCellState_CanHold_MapsToNormal 2ms
โœ… BookCellStateComprehensiveTests testBookCellState_DownloadFailed_MapsToDownloadFailed 2ms
โœ… BookCellStateComprehensiveTests testBookCellState_DownloadInProgress_MapsToDownloading 14ms
โœ… BookCellStateComprehensiveTests testBookCellState_DownloadNeeded_MapsToNormal 2ms
โœ… BookCellStateComprehensiveTests testBookCellState_HoldingFrontOfQueue_MapsToNormal 2ms
โœ… BookCellStateComprehensiveTests testBookCellState_Holding_MapsToNormal 1ms
โœ… BookCellStateComprehensiveTests testBookCellState_ManagingHold_MapsToNormal 4ms
โœ… BookCellStateComprehensiveTests testBookCellState_Returning_MapsToNormal 2ms
โœ… BookCellStateComprehensiveTests testBookCellState_Unsupported_MapsToNormal 1ms
โœ… BookCellStateComprehensiveTests testBookCellState_Used_MapsToNormal 2ms
โœ… BookCellStateComprehensiveTests testButtonState_ExtractionFromDownloadFailed 2ms
โœ… BookCellStateComprehensiveTests testButtonState_ExtractionFromDownloading 4ms
โœ… BookCellStateComprehensiveTests testButtonState_ExtractionFromNormal 1ms
โœ… BookDetailSnapshotTests testBookButtonsView_canBorrow 6ms
โœ… BookDetailSnapshotTests testBookButtonsView_downloadSuccessful_audiobook 4ms
โœ… BookDetailSnapshotTests testBookButtonsView_downloadSuccessful_epub 6ms
โœ… BookDetailSnapshotTests testBookDetailAccessibilityIdentifiers 2ms
โœ… BookDetailSnapshotTests testBookDetailView_audiobook 4ms
โœ… BookDetailSnapshotTests testBookDetailView_epub 6ms
โœ… BookDetailSnapshotTests testBookDetailView_holdBook 8ms
โœ… BookDetailSnapshotTests testBookDetailView_pdf 4ms
โœ… BookDetailSnapshotTests testBookImageView_allTypes_grid 13ms
โœ… BookDetailSnapshotTests testBookImageView_audiobook_snapshot 5ms
โœ… BookDetailSnapshotTests testBookImageView_epub_snapshot 5ms
โœ… BookDetailSnapshotTests testBookImageView_holdBook_snapshot 5ms
โœ… BookDetailSnapshotTests testBookImageView_pdf_snapshot 4ms
โœ… BookDetailSnapshotTests testButtonState_canBorrow_showsBorrowButton 5ms
โœ… BookDetailSnapshotTests testButtonState_downloadSuccessful_audiobook_showsListenButton 4ms
โœ… BookDetailSnapshotTests testButtonState_downloadSuccessful_epub_showsReadButton 4ms
โœ… BookDetailSnapshotTests testButtonState_holdingFrontOfQueue_showsManageHold 5ms
โœ… BookDetailViewModelTests testAllBookStates_HaveValidMapping 4ms
โœ… BookDetailViewModelTests testAllButtonStates_HaveValidButtonTypes 8ms
โœ… BookDetailViewModelTests testAvailability_Nil_ReturnsNil 7ms
โœ… BookDetailViewModelTests testAvailability_Unlimited_MapsToCanBorrow 2ms
โœ… BookDetailViewModelTests testBookContentType_Audiobook 4ms
โœ… BookDetailViewModelTests testBookContentType_EPUB 7ms
โœ… BookDetailViewModelTests testBookContentType_PDF 5ms
โœ… BookDetailViewModelTests testBookLane_Creation 6ms
โœ… BookDetailViewModelTests testBookLane_EmptyBooks 2ms
โœ… BookDetailViewModelTests testBookLane_WithNilURL 8ms
โœ… BookDetailViewModelTests testBookState_SetReturning_SetsLocalOverride_HidesViaRegistryOnlyWhenUnregistered 110ms
โœ… BookDetailViewModelTests testBookState_SetUnregistered_ClearsLocalOverride 4ms
โœ… BookDetailViewModelTests testBook_GetExpirationDate_ReturnsDate_WhenLimitedAvailability 4ms
โœ… BookDetailViewModelTests testBook_GetExpirationDate_ReturnsNilForUnborrowed 4ms
โœ… BookDetailViewModelTests testButtonState_DownloadFailed_MapsToDownloadFailed 9ms
โœ… BookDetailViewModelTests testButtonState_DownloadNeeded_MapsToDownloadNeeded 6ms
โœ… BookDetailViewModelTests testButtonState_DownloadSuccessful_MapsToDownloadSuccessful 5ms
โœ… 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 5ms
โœ… BookDetailViewModelTests testButtonState_Used_MapsToUsed 2ms
โœ… BookDetailViewModelTests testButtonTypesProvider_DelegatesToStableButtonState 23ms
โœ… BookDetailViewModelTests testButtonTypes_CanBorrowAudiobookWithSample_IncludesAudiobookSample 8ms
โœ… BookDetailViewModelTests testButtonTypes_CanBorrowWithSample_IncludesSampleButton 7ms
โœ… BookDetailViewModelTests testButtonTypes_CanBorrow_ReturnsGetButton 4ms
โœ… BookDetailViewModelTests testButtonTypes_CanHold_ReturnsReserveButton 4ms
โœ… BookDetailViewModelTests testButtonTypes_DownloadFailed_ReturnsCancelAndRetry 4ms
โœ… BookDetailViewModelTests testButtonTypes_DownloadInProgress_ReturnsCancelButton 4ms
โœ… BookDetailViewModelTests testButtonTypes_DownloadSuccessful_AudiobookReturnsListen 6ms
โœ… BookDetailViewModelTests testButtonTypes_DownloadSuccessful_EpubReturnsRead 4ms
โœ… BookDetailViewModelTests testButtonTypes_PreviewDisabled_ExcludesSampleButton 6ms
โœ… BookDetailViewModelTests testButtonTypes_Returning_ReturnsReturningButton 7ms
โœ… BookDetailViewModelTests testButtonTypes_Unsupported_ReturnsEmpty 4ms
โœ… BookDetailViewModelTests testCredentialCheck_AllowsActionWhenLoggedIn 2ms
โœ… BookDetailViewModelTests testCredentialCheck_PreventsActionWhenNotLoggedIn 2ms
โœ… BookDetailViewModelTests testDidSelectCancel_ResetsDownloadProgress 11ms
โœ… BookDetailViewModelTests testDownloadProgress_IgnoresDifferentBook 514ms
โœ… BookDetailViewModelTests testDownloadProgress_NeverGoesBackwards 6ms
โœ… BookDetailViewModelTests testEnsureAuthPattern_ChecksCredentialsAfterModalDismiss 2ms
โœ… BookDetailViewModelTests testFetchRelatedBooks_NilURL_IsNoOp_AndDoesNotSetLoading 10ms
โœ… BookDetailViewModelTests testHalfSheet_DismissedOnHoldPlaced 2ms
โœ… BookDetailViewModelTests testHalfSheet_DismissedOnUnregistered 2ms
โœ… BookDetailViewModelTests testHalfSheet_StaysOpenDuringDownload 2ms
โœ… BookDetailViewModelTests testHalfSheet_StaysOpenOnDownloadFailed 2ms
โœ… BookDetailViewModelTests testHalfSheet_StaysOpenOnDownloadSuccess 4ms
โœ… BookDetailViewModelTests testHalfSheet_StaysOpenOnUsedState 2ms
โœ… BookDetailViewModelTests testHandleAction_Cancel_ResetsDownloadProgressToZero 7ms
โœ… BookDetailViewModelTests testHandleAction_Close_DoesNothingButInsertsProcessing 6ms
โœ… BookDetailViewModelTests testHandleAction_DuplicateTap_IsIgnored 5ms
โœ… BookDetailViewModelTests testHandleAction_ManageHold_SetsManagingHoldAndHoldingState 6ms
โœ… BookDetailViewModelTests testHandleBookRegistryChange_UpdatesBookFromRegistry 23ms
โœ… BookDetailViewModelTests testHoldingState_ButtonTypesIncludeHoldManagement 4ms
โœ… BookDetailViewModelTests testHoldingState_MapsFromBorrowAttempt 3ms
โœ… BookDetailViewModelTests testIsFullSize_ReturnsFalseOnNonIpad 11ms
โœ… BookDetailViewModelTests testIsProcessing_ReturnsTrueWhenButtonInSet 4ms
โœ… BookDetailViewModelTests testManagedHoldState_ButtonTypes 4ms
โœ… BookDetailViewModelTests testProcessingButtonTypes_DownloadRelated 3ms
โœ… BookDetailViewModelTests testProcessingButtons_ClearedWhenLoginCancelled 31ms
โœ… BookDetailViewModelTests testProcessingButtons_DidSetUpdatesIsProcessingFlag 4ms
โœ… BookDetailViewModelTests testRegistryTransitionToDownloadFailed_ClearsDownloadProcessingButtons 14ms
โœ… BookDetailViewModelTests testRegistryTransitionToDownloadSuccessful_ClearsDownloadProcessingButtons 9ms
โœ… BookDetailViewModelTests testRegistryTransitionToDownloading_ClearsDownloadProcessingButtons 9ms
โœ… BookDetailViewModelTests testRegistryTransitionToHolding_ClearsReserveAndDismissesHalfSheet 9ms
โœ… BookDetailViewModelTests testRegistryTransitionToUnregistered_ResetsManagingHoldAndHalfSheetAndReturning 13ms
โœ… BookDetailViewModelTests testRelatedBooks_ClearedWhenNavigatingToDifferentBook 25ms
โœ… BookDetailViewModelTests testRelatedBooks_PersistAfterViewReappears 17ms
โœ… BookDetailViewModelTests testRelatedBooks_PreservedDuringRefetchForSameBook 15ms
โœ… BookDetailViewModelTests testRemoveProcessingButton_RemovesTheButton 9ms
โœ… BookDetailViewModelTests testSelectRelatedBook_DifferentBook_UpdatesBookAndClearsLanes 11ms
โœ… BookDetailViewModelTests testSelectRelatedBook_SameBook_IsNoOp 7ms
โœ… BookDetailViewModelTests testShowMoreBooksForLane_LaneWithNilURL_DoesNotSetSelected 11ms
โœ… BookDetailViewModelTests testShowMoreBooksForLane_MissingLane_LeavesSelectedNil 11ms
โœ… BookDetailViewModelTests testShowMoreBooksForLane_SetsSelectedBookURL 6ms
โœ… BookDetailViewModelTests testStableButtonState_ManagingHold_WhileHoldingOverridesToManagingHold 7ms
โœ… BookDetailViewModelTests testStableButtonState_UpdatesWhenBookStateChanges 11ms
โœ… BookDetailViewModelTests testViewModel_BookStatePublisher_TriggersBookUpdate 8ms
โœ… BookDetailViewModelTests testViewModel_ReceivesBookFromRegistry_NotCachedVersion 19ms
โœ… BookDetailViewModelTests testViewModel_UpdatesBookWhenRegistryChanges 9ms
โœ… BookPreviewTests testEpubBookPreviewExtraction 6ms
โœ… BookPreviewTests testOverdriveMPEGAudiobookExtraction 4ms
โœ… BookPreviewTests testOverdriveWaveAudiobookExtraction 4ms
โœ… BookPreviewTests testOverdriveWebAudiobookExtraction 13ms
โœ… BookRegistryStoreTests test_addBook_thenRetrieve 109ms
โœ… BookRegistryStoreTests test_addBook_withLocationAndBookmarks 109ms
โœ… BookRegistryStoreTests test_allBooks_returnsAllRegisteredBooks 111ms
โœ… BookRegistryStoreTests test_bookForIdentifier_emptyString_returnsNil 2ms
โœ… BookRegistryStoreTests test_bookForIdentifier_nilIdentifier_returnsNil 2ms
โœ… BookRegistryStoreTests test_bookForIdentifier_nonexistent_returnsNil 2ms
โœ… BookRegistryStoreTests test_concurrentReadsAndWrites_noDataRace 242ms
โœ… BookRegistryStoreTests test_fulfillmentId_emptyIdentifier_returnsNil 2ms
โœ… BookRegistryStoreTests test_fulfillmentId_nilIdentifier_returnsNil 2ms
โœ… BookRegistryStoreTests test_fulfillmentId_setAndGet 318ms
โœ… BookRegistryStoreTests test_heldBooks_onlyReturnsHoldingState 113ms
โœ… BookRegistryStoreTests test_mutateRegistrySync_directMutation 106ms
โœ… BookRegistryStoreTests test_myBooks_returnsCorrectStates 109ms
โœ… BookRegistryStoreTests test_processing_defaultsFalse 2ms
โœ… BookRegistryStoreTests test_readRegistry_returnsSnapshot 109ms
โœ… BookRegistryStoreTests test_recordForEmptyIdentifier_returnsNil 2ms
โœ… BookRegistryStoreTests test_recordForNilIdentifier_returnsNil 6ms
โœ… BookRegistryStoreTests test_registrySnapshot_returnsDictionaryRepresentations 110ms
โœ… BookRegistryStoreTests test_registrySubject_emitsOnAdd 8ms
โœ… BookRegistryStoreTests test_removeAll_clearsRegistry 213ms
โœ… BookRegistryStoreTests test_removeBook_nonexistentId_completesWithNilBook 4ms
โœ… BookRegistryStoreTests test_removeBook_removesFromRegistry 104ms
โœ… BookRegistryStoreTests test_setProcessing_true_thenFalse 213ms
โœ… BookRegistryStoreTests test_setState_updatesState 108ms
โœ… BookRegistryStoreTests test_stateForEmptyIdentifier_returnsUnregistered 3ms
โœ… BookRegistryStoreTests test_stateForMissingBook_returnsUnregistered 3ms
โœ… BookRegistryStoreTests test_stateForNilIdentifier_returnsUnregistered 2ms
โœ… BookRegistryStoreTests test_updateAndRemoveBook_setsStateUnregistered 4ms
โœ… BookRegistryStoreTests test_updatedBookMetadata_returnsNilForMissingBook 4ms
โœ… BookRegistrySyncTests test_bulkDeletionProtection_emptyFeedWithLocalBooks 2ms
โœ… BookRegistrySyncTests test_bulkDeletionProtection_normalFeedDoesNotSkip 2ms
โœ… BookRegistrySyncTests test_bulkDeletionProtection_smallLibraryDoesNotSkip 2ms
โœ… BookRegistrySyncTests test_checkIfBookFileExists_returnsFalseForUnknownBook 4ms
โœ… BookRegistrySyncTests test_largeDeletionWarning_notTriggeredForSmallRatio 2ms
โœ… BookRegistrySyncTests test_loadStateTransition_downloadingWithNoFile_becomesDownloadFailed 5ms
โŠ˜ BookRegistrySyncTests test_load_SAMLStartedWithMissingFile_becomesDownloadFailed 3ms
โœ… BookRegistrySyncTests test_load_allowsLoadForDifferentAccount 507ms
โŠ˜ BookRegistrySyncTests test_load_downloadSuccessfulWithMissingFile_becomesDownloadNeeded 3ms
โŠ˜ BookRegistrySyncTests test_load_downloadingStateWithMissingFile_becomesDownloadFailed 8ms
โŠ˜ BookRegistrySyncTests test_load_emitsBookStateThroughSubject 3ms
โŠ˜ BookRegistrySyncTests test_load_populatesRegistryFromDiskFile 3ms
โŠ˜ BookRegistrySyncTests test_load_postsRegistryDidChangeNotification 3ms
โœ… BookRegistrySyncTests test_load_preventsReentrantLoadsForSameAccount 314ms
โœ… BookRegistrySyncTests test_load_withMalformedJSON_doesNotCrashAndLoadsEmpty 8ms
โœ… BookRegistrySyncTests test_load_withMissingFile_transitionsToLoadedWithEmptyRegistry 4ms
โœ… BookRegistrySyncTests test_registrySnapshot_producesSerializableData 114ms
โœ… BookRegistrySyncTests test_registryUrl_returnsPathContainingAccountAndRegistryFile 2ms
โœ… BookRegistrySyncTests test_reset_clearsSyncUrlAndStore 315ms
โœ… BookRegistrySyncTests test_reset_removesRegistryFileFromDisk 4ms
โŠ˜ BookRegistrySyncTests test_saveSync_thenLoad_roundTripsBook 3ms
โœ… BookRegistrySyncTests test_storeSnapshotWithMultipleStates 214ms
โœ… BookRegistrySyncTests test_syncUrl_isSetDuringSync_andClearedAfter 2ms
โœ… BookRegistrySyncTests test_sync_whenAlreadySyncing_returnsWithoutChangingState 5ms
โœ… BookRegistrySyncTests test_sync_withNoCurrentAccount_isNoOp 2ms
โœ… BookRegistrySyncTests test_validateDownloadedContent_marksDownloadNeededWhenFileMissing 111ms
โœ… BookStateIntegrationTests testBookBorrow_UpdatesRegistry 7ms
โœ… BookStateIntegrationTests testBookDownloadFailure_UpdatesStateToDownloadFailed 4ms
โœ… BookStateIntegrationTests testBookReturn_RemovesFromRegistry 4ms
โœ… BookStateIntegrationTests testBookStateChange_PublishesViaCombine 4ms
โœ… BookStateIntegrationTests testBookStateTransition_FullDownloadLifecycle 4ms
โœ… BookStateIntegrationTests testBookWithHolds_ShowsHoldingState 12ms
โœ… BookStateIntegrationTests testConcurrentStateChanges_DoNotCorruptRegistry 26ms
โœ… BookStateIntegrationTests testRegistryPublisher_EmitsOnBookAdd 15ms
โœ… BookmarkBusinessLogicExtendedTests testBookmarkAtIndex_negativeIndex_returnsNil 150ms
โœ… BookmarkBusinessLogicExtendedTests testBookmarkAtIndex_outOfBoundsIndex_returnsNil 181ms
โœ… BookmarkBusinessLogicExtendedTests testBookmarkAtIndex_validIndex_returnsBookmark 149ms
โœ… BookmarkBusinessLogicExtendedTests testDeleteBookmarkAtIndex_invalidIndex_returnsNil 131ms
โœ… BookmarkBusinessLogicExtendedTests testDeleteBookmarkAtIndex_outOfBounds_returnsNil 113ms
โœ… BookmarkBusinessLogicExtendedTests testDeleteBookmarkAtIndex_validIndex_removesAndReturns 98ms
โœ… BookmarkBusinessLogicExtendedTests testDeleteBookmark_existingBookmark_removes 91ms
โœ… BookmarkBusinessLogicExtendedTests testNoBookmarksText_returnsLocalizedString 140ms
โœ… BookmarkBusinessLogicExtendedTests testShouldAllowRefresh_checksSyncPermission 140ms
โœ… BookmarkBusinessLogicExtendedTests testShouldSelectBookmark_returnsTrue 108ms
โœ… BookmarkDeletionLogTests testUpdateLocalBookmarks_matchingLocalBookmark_preservesLocal 165ms
โœ… BookmarkDeletionLogTests testUpdateLocalBookmarks_serverBookmarkNotDeleted_addsLocally 329ms
โœ… BookmarkDeletionLogTests testUpdateLocalBookmarks_withPendingDeletion_deletesFromServer 197ms
โœ… BookmarkDeviceIdMatchingTests testUpdateLocalBookmarks_ServerBookmarkFromDifferentDevice_AddedLocally 218ms
โœ… BookmarkDeviceIdMatchingTests testUpdateLocalBookmarks_ServerBookmarkFromSameDevice_NotLocallyPresent_MarkedForDeletion 3.87s
โœ… BookmarkDeviceIdMatchingTests testUpdateLocalBookmarks_ServerBookmarkWithNilDevice_AddedLocally 161ms
โœ… BookmarkExistenceTests testIsBookmarkExisting_differentProgress_returnsNil 227ms
โœ… BookmarkExistenceTests testIsBookmarkExisting_matchingBookmark_returnsBookmark 158ms
โœ… BookmarkExistenceTests testIsBookmarkExisting_noBookmarks_returnsNil 136ms
โœ… BookmarkExistenceTests testIsBookmarkExisting_withNilLocation_returnsNil 140ms
โœ… BookmarkManagerTests test_addGenericBookmark 312ms
โœ… BookmarkManagerTests test_addGenericBookmark_initializesArrayIfNil 411ms
โœ… BookmarkManagerTests test_addGenericBookmark_toMissingBook_doesNotCrash 214ms
โœ… BookmarkManagerTests test_addMultipleReadiumBookmarks_sortedByProgress 713ms
โœ… BookmarkManagerTests test_addOrReplaceGenericBookmark_addsWhenNew 314ms
โœ… BookmarkManagerTests test_addOrReplaceGenericBookmark_initializesArrayIfNil 415ms
โœ… BookmarkManagerTests test_addOrReplaceGenericBookmark_replacesExisting 522ms
โœ… BookmarkManagerTests test_addReadiumBookmark 320ms
โœ… BookmarkManagerTests test_addReadiumBookmark_initializesArrayIfNil 420ms
โœ… BookmarkManagerTests test_addReadiumBookmark_toMissingBook_doesNotCrash 207ms
โœ… BookmarkManagerTests test_bookmarksAreIsolatedBetweenBooks 843ms
โœ… BookmarkManagerTests test_deleteGenericBookmark_byAnnotationId 525ms
โœ… BookmarkManagerTests test_deleteGenericBookmark_bySimilarity 723ms
โœ… BookmarkManagerTests test_deleteReadiumBookmark 721ms
โœ… BookmarkManagerTests test_everyMutationCallsSave 1.13s
โœ… BookmarkManagerTests test_genericBookmarks_emptyForMissingBook 8ms
โœ… BookmarkManagerTests test_locationAndBookmarksAreIndependent 924ms
โœ… BookmarkManagerTests test_locationForMissingBook_returnsNil 4ms
โœ… BookmarkManagerTests test_readiumBookmarks_emptyForMissingBook 2ms
โœ… BookmarkManagerTests test_replaceGenericBookmark 519ms
โœ… BookmarkManagerTests test_replaceReadiumBookmark 516ms
โœ… BookmarkManagerTests test_setAndGetLocation 319ms
โœ… BookmarkManagerTests test_setLocationSync_callsSaveSyncInsteadOfSave 107ms
โœ… BookmarkManagerTests test_setLocationSync_emptyIdentifier_doesNothing 2ms
โœ… BookmarkManagerTests test_setLocation_emptyIdentifier_doesNothing 209ms
โœ… BookmarkManagerTests test_setLocation_nil_clearsLocation 515ms
โœ… BookmarkReauthenticationTests testReauthenticator_UsedInBusinessLogic 106ms
โœ… BookmarkSortingTests testBookmarks_sortedByProgressWithinBook 102ms
โœ… BookmarkSyncTests testUpdateLocalBookmarks_addsServerBookmarks 105ms
โœ… BookmarkSyncTests testUpdateLocalBookmarks_handlesEmptyServerList 124ms
โœ… BookmarkSyncTests testUpdateLocalBookmarks_preservesFailedUploads 132ms
โœ… BorrowErrorMessageTests testAllRetryableParsingErrors_showUserFriendlyBaseMessage 6ms
โœ… BorrowErrorMessageTests testBookTitle_isIncludedInMessage 2ms
โœ… BorrowErrorMessageTests testDifferentBookTitles_produceDistinctMessages 2ms
โœ… BorrowErrorMessageTests testMessageFormat_matchesLegacyPattern_noProblemDoc 19ms
โœ… BorrowErrorMessageTests testMessageFormat_matchesLegacyPattern_withProblemDoc 2ms
โœ… BorrowErrorMessageTests testNetworkErrors_showUserFriendlyBaseMessage 2ms
โœ… BorrowErrorMessageTests testNilProblemDocument_usesRecoverySuggestion 2ms
โœ… BorrowErrorMessageTests testNoTechnicalErrorString_appearsAsMessage 4ms
โœ… BorrowErrorMessageTests testOPDSFeedInvalid_showsUserFriendlyMessage_notTechnicalError 4ms
โœ… BorrowErrorMessageTests testProblemDocument_takesPriorityOverRecoverySuggestion 2ms
โœ… BorrowErrorMessageTests testWithProblemDocument_appendsServerDetail 7ms
โœ… BorrowErrorMessageTests testWithProblemDocument_emptyDetail_fallsBackToBaseMessage 2ms
โœ… BorrowErrorMessageTests testWithProblemDocument_nilDetail_fallsBackToBaseMessage 3ms
โœ… ButtonStateTests testCanBorrowAudiobookWithPreview 7ms
โœ… ButtonStateTests testCanBorrowAudiobookWithoutPreview 14ms
โœ… ButtonStateTests testCanBorrowEpubWithPreview 3ms
โœ… ButtonStateTests testCanBorrowEpubWithoutPreview 12ms
โœ… ButtonStateTests testCanHoldAudiobookWithPreview 5ms
โœ… ButtonStateTests testCanHoldAudiobookWithoutPreview 3ms
โœ… ButtonStateTests testCanHoldEpubWithPreview 3ms
โœ… ButtonStateTests testCanHoldEpubWithoutPreview 4ms
โœ… ButtonStateTests testDownloadFailed 5ms
โœ… ButtonStateTests testDownloadInProgress 50ms
โœ… ButtonStateTests testDownloadNeededAudiobook 5ms
โœ… ButtonStateTests testDownloadNeededEpub 9ms
โœ… ButtonStateTests testDownloadSuccessfulAudiobook 7ms
โœ… ButtonStateTests testDownloadSuccessfulEpub 3ms
โœ… ButtonStateTests testDownloadSuccessfulPDF 4ms
โœ… ButtonStateTests testHoldingAudiobookWithPreview 3ms
โœ… ButtonStateTests testHoldingAudiobookWithoutPreview 5ms
โœ… ButtonStateTests testHoldingEpubWithPreview 4ms
โœ… ButtonStateTests testHoldingEpubWithoutPreview 3ms
โœ… ButtonStateTests testHoldingFrontOfQueue 3ms
โœ… ButtonStateTests testUnsupported 5ms
โœ… ButtonStateTests testUsedEpub 6ms
โœ… ButtonStyleTypeTests testAllCases 2ms
โœ… ButtonStyleTypeTests testEquality 2ms
โœ… C64ConversionTests testC64ConverionWithAccentedString 2ms
โœ… C64ConversionTests testC64ConverionWithEmptyString 2ms
โœ… C64ConversionTests testC64ConverionWithNilString 2ms
โœ… C64ConversionTests testC64ConverionWithRegularString 2ms
โœ… C64ConversionTests testC64ConverionWithSpecialCharacters 3ms
โœ… C64ConversionTests testC64ConverionWithUnicodeCharecters 3ms
โœ… CarPlayChapterListTests testCarPlayBridge_NoChaptersAvailable_ReturnsNil 3ms
โœ… CarPlayChapterListTests testCarPlayBridge_NoPlayback_CurrentChapterIsNil 2ms
โœ… CarPlayChapterListTests testCarPlayBridge_SkipToChapter_WithoutPlayback_DoesNotCrash 4ms
โœ… CarPlayIntegrationTests testCarPlayTemplateIntegration_BookSelectionHandling 10ms
โœ… CarPlayIntegrationTests testCarPlay_ImageProvider_CachesBehavior 16ms
โœ… CarPlayLibraryRefreshTests testCarPlay_BookRegistry_IsAccessible 4ms
โœ… CarPlayLibraryRefreshTests testCarPlay_DownloadedAudiobooks_CanBeFiltered 3ms
โœ… CarPlayLibraryRefreshTests testCarPlay_LibraryName_CanBeUpdated 4ms
โœ… CarPlayNowPlayingTemplateTests testCarPlayBridge_DoesNotConfigureNowPlayingOnInit 6ms
โœ… CarPlayNowPlayingTemplateTests testCarPlayBridge_HasPlaybackStatePublisher 504ms
โœ… CarPlayNowPlayingTemplateTests testCarPlayBridge_NowPlayingConfigurationIsIdempotent 6ms
โœ… CarPlayNowPlayingTemplateTests testCarPlayImageProvider_InitializesIndependently 9ms
โœ… CarPlayOpenAppAlertTests testCarPlay_OpenAppMessage_MentionsPalace 1ms
โœ… CarPlayOpenAppAlertTests testCarPlay_OpenAppMessage_MentionsPhone 2ms
โœ… CarPlayOpenAppAlertTests testCarPlay_OpenAppStrings_AreConfigured 2ms
โœ… CarPlayOpenAppAlertTests testSceneDelegate_HasMainSceneConnected_Flag 2ms
โœ… CarPlayPlaybackErrorTests testAudiobookSessionError_MapsToCarPlayAlert 2ms
โœ… CarPlayPlaybackErrorTests testBridge_currentBook_nilWhenNoSession 3ms
โœ… CarPlayPlaybackErrorTests testBridge_isPlaying_reflectsSessionManager 6ms
โœ… CarPlayPlaybackErrorTests testCarPlay_ErrorStrings_AuthRequired 2ms
โœ… CarPlayPlaybackErrorTests testCarPlay_ErrorStrings_NotDownloaded 2ms
โœ… CarPlayPlaybackErrorTests testCarPlay_ErrorStrings_Offline 2ms
โœ… CarPlayPlaybackErrorTests testCarPlay_ErrorStrings_PlaybackFailed 3ms
โœ… CarPlayPlaybackErrorTests testNowPlayingInfo_isAccessible 4ms
โœ… CarPlayTests testAudiobookSessionManager_Initialization 2ms
โœ… CarPlayTests testCarPlayBridge_Initialization 6ms
โœ… CarPlayTests testCarPlayImageProvider_GeneratesPlaceholder 8ms
โœ… CarPlayTests testCarPlay_AudiobookManagerCreatedNotification 6ms
โœ… CarPlayTests testCarPlay_BookDownloadedState 4ms
โœ… CarPlayTests testCarPlay_ChapterListFormatting 2ms
โœ… CarPlayTests testCarPlay_ChapterNumber_Formatting 2ms
โœ… CarPlayTests testCarPlay_ErrorStrings_NotEmpty 2ms
โœ… CarPlayTests testCarPlay_FiltersOnlyAudiobooks 13ms
โœ… CarPlayTests testCarPlay_NoEbooksInLibrary 6ms
โœ… CarPlayTests testCarPlay_ShortDurationFormatting 2ms
โœ… CarPlayTests testCarPlay_UIStrings_NotEmpty 2ms
โœ… CarPlayTests testCarPlay_ZeroDurationFormatting 2ms
โœ… CarPlayTimeTrackingTests testCarPlayChapterSkip_properlyTracksTime 22ms
โœ… CarPlayTimeTrackingTests testCarPlayDisconnect_trackerContinuesIndependently 17ms
โœ… CarPlayTimeTrackingTests testCarPlayPlayback_usesStandardTrackerDelegateMethods 33ms
โœ… CatalogAPIEntryPointTests testExtractSearchEntryPointsFromEmptyFeed 32ms
โœ… CatalogAccessibilityTests testCollapseSectionLabel_isDescriptive 2ms
โœ… CatalogAccessibilityTests testExpandCollapseLabel_roundTripsOnRepeatedFlips 4ms
โœ… CatalogAccessibilityTests testExpandCollapseLabels_areDifferent 2ms
โœ… CatalogAccessibilityTests testExpandSectionLabel_isDescriptive 2ms
โœ… CatalogAccessibilityTests testMoreBooksInLaneLabel_includesLaneTitle 3ms
โœ… CatalogAccessibilityTests testMoreBooksLabel_differsForDifferentLanes 5ms
โœ… CatalogAccessibilityTests testMoreBooksLabel_indicatesNavigation 2ms
โœ… CatalogAccessibilityTests testSwitchLibraryLabel_isDescriptive 5ms
โœ… CatalogCacheMetadataTests testDecode_FromValidJSON 8ms
โœ… CatalogCacheMetadataTests testEncodeDecode_PreservesAllProperties 3ms
โœ… CatalogCacheMetadataTests testEncodeDecode_WithEmptyHash 6ms
โœ… CatalogCacheMetadataTests testEncodeDecode_WithSpecialCharactersInHash 7ms
โœ… CatalogCacheMetadataTests testHash_IsCaseSensitive 2ms
โœ… CatalogCacheMetadataTests testIsExpired_WithCacheExactly24Hours_ReturnsFalse 3ms
โœ… CatalogCacheMetadataTests testIsExpired_WithCacheJustOver24Hours_ReturnsTrue 2ms
โœ… CatalogCacheMetadataTests testIsExpired_WithCacheOver24Hours_ReturnsTrue 7ms
โœ… CatalogCacheMetadataTests testIsExpired_WithCacheUnder24Hours_ReturnsFalse 8ms
โœ… CatalogCacheMetadataTests testIsExpired_WithFreshCache_ReturnsFalse 5ms
โœ… CatalogCacheMetadataTests testIsExpired_WithVeryOldTimestamp 10ms
โœ… CatalogCacheMetadataTests testIsStale_WithCacheExactly5Minutes_ReturnsFalse 7ms
โœ… CatalogCacheMetadataTests testIsStale_WithCacheJustOver5Minutes_ReturnsTrue 6ms
โœ… CatalogCacheMetadataTests testIsStale_WithCacheOver5Minutes_ReturnsTrue 2ms
โœ… CatalogCacheMetadataTests testIsStale_WithCacheUnder5Minutes_ReturnsFalse 8ms
โœ… CatalogCacheMetadataTests testIsStale_WithFreshCache_ReturnsFalse 26ms
โœ… CatalogCacheMetadataTests testIsStale_WithFutureTimestamp_ReturnsFalse 3ms
โœ… CatalogCacheMetadataTests testStaleAndExpired_ExpiredCacheIsAlsoStale 2ms
โœ… CatalogCacheMetadataTests testStaleAndExpired_FreshCache_NeitherStaleNorExpired 5ms
โœ… CatalogCacheMetadataTests testStaleAndExpired_StaleButNotExpired 2ms
โœ… CatalogFeedModelTests testCatalogEntryFromOPDS1Entry 3ms
โœ… CatalogFeedModelTests testCatalogFeedFromNilFeedReturnsNil 5ms
โœ… CatalogFeedModelTests testCatalogFeedFromOPDS1 6ms
โœ… CatalogFeedModelTests testSearchFormatEntryEquality 3ms
โœ… CatalogFilterGroupModelTests testEdgeCase_EmptyGroupName 2ms
โœ… CatalogFilterGroupModelTests testEdgeCase_SpecialCharactersInName 2ms
โœ… CatalogFilterGroupModelTests testEquality_DifferentFiltersMakesGroupsUnequal 2ms
โœ… CatalogFilterGroupModelTests testEquality_DifferentIdsMakesGroupsUnequal 1ms
โœ… CatalogFilterGroupModelTests testEquality_DifferentNamesMakesGroupsUnequal 4ms
โœ… CatalogFilterGroupModelTests testEquality_IdenticalGroupsAreEqual 4ms
โœ… CatalogFilterGroupModelTests testFilters_FilterByHrefPresence 3ms
โœ… CatalogFilterGroupModelTests testFilters_FindActiveFilter 4ms
โœ… CatalogFilterGroupModelTests testFilters_MultipleActiveFilters 2ms
โœ… CatalogFilterGroupModelTests testFilters_NoActiveFilter 2ms
โœ… CatalogFilterGroupModelTests testHashable_EqualGroupsHaveSameHash 2ms
โœ… CatalogFilterGroupModelTests testHashable_GroupsCanBeUsedInSet 2ms
โœ… CatalogFilterGroupModelTests testIdentifiable_UsesIdProperty 3ms
โœ… CatalogFilterGroupModelTests testInit_StoresAllProperties 2ms
โœ… CatalogFilterGroupModelTests testInit_WithEmptyFilters 2ms
โœ… CatalogFilterGroupModelTests testInit_WithManyFilters 3ms
โœ… CatalogFilterGroupModelTests testInit_WithSingleFilter 2ms
โœ… CatalogFilterGroupTests testCatalogFilterGroup_ActiveFilter 5ms
โœ… CatalogFilterGroupTests testCatalogFilterGroup_EmptyFilters 2ms
โœ… CatalogFilterGroupTests testCatalogFilterGroup_StoresProvidedValues 2ms
โœ… CatalogFilterModelTests testEdgeCase_ComplexURL 3ms
โœ… CatalogFilterModelTests testEdgeCase_EmptyStringId 2ms
โœ… CatalogFilterModelTests testEdgeCase_EmptyStringTitle 2ms
โœ… CatalogFilterModelTests testEdgeCase_SpecialCharactersInTitle 11ms
โœ… CatalogFilterModelTests testEdgeCase_UnicodeInTitle 2ms
โœ… CatalogFilterModelTests testEquality_DifferentActiveStateMakesFiltersUnequal 2ms
โœ… CatalogFilterModelTests testEquality_DifferentHrefMakesFiltersUnequal 2ms
โœ… CatalogFilterModelTests testEquality_DifferentIdsMakesFiltersUnequal 4ms
โœ… CatalogFilterModelTests testEquality_DifferentTitlesMakesFiltersUnequal 2ms
โœ… CatalogFilterModelTests testEquality_IdenticalFiltersAreEqual 2ms
โœ… CatalogFilterModelTests testEquality_NilAndNonNilHrefMakesFiltersUnequal 2ms
โœ… CatalogFilterModelTests testHashable_DifferentFiltersCanBeUsedInSet 5ms
โœ… CatalogFilterModelTests testHashable_EqualFiltersHaveSameHash 2ms
โœ… CatalogFilterModelTests testIdentifiable_UsesIdProperty 2ms
โœ… CatalogFilterModelTests testInit_StoresAllProperties 2ms
โœ… CatalogFilterModelTests testInit_WithInactiveState 3ms
โœ… CatalogFilterModelTests testInit_WithNilHref 2ms
โœ… CatalogFilterServiceTests testActiveFacetHrefs_excludesDefaultsWhenFlagFalse 3ms
โœ… CatalogFilterServiceTests testActiveFacetHrefs_returnsActiveURLs 12ms
โœ… CatalogFilterServiceTests testActiveFiltersCount_emptySet_returnsZero 2ms
โœ… CatalogFilterServiceTests testActiveFiltersCount_excludesDefaults 2ms
โœ… CatalogFilterServiceTests testCategorizeFacetURL_categorisesCorrectly 2ms
โœ… CatalogFilterServiceTests testFindFacetGroupName_matchesURL 2ms
โœ… CatalogFilterServiceTests testFindFacetGroupName_returnsNilForUnknownURL 2ms
โœ… CatalogFilterServiceTests testFindFilterInCurrentFacets_caseInsensitiveMatch 2ms
โœ… CatalogFilterServiceTests testFindFilterInCurrentFacets_returnsNilWhenNotFound 2ms
โœ… CatalogFilterServiceTests testGroupPriority_caseInsensitive 2ms
โœ… CatalogFilterServiceTests testGroupPriority_collectionIsHighest 2ms
โœ… CatalogFilterServiceTests testGroupPriority_distributorBeforeFormat 11ms
โœ… CatalogFilterServiceTests testGroupPriority_unknownGroupReturnsFallback 6ms
โœ… CatalogFilterServiceTests testKeysForCurrentFacets_excludesSortGroups 2ms
โœ… CatalogFilterServiceTests testKeysForCurrentFacets_mapsGroupTitleKeysToFullKeys 2ms
โœ… CatalogFilterServiceTests testMakeGroupTitleKey_omitsHref 2ms
โœ… CatalogFilterServiceTests testMakeKey_producesCanonicalFormat 2ms
โœ… CatalogFilterServiceTests testNormalizeTitle_trimsAndLowercases 3ms
โœ… CatalogFilterServiceTests testParseKey_handlesEmptyComponents 2ms
โœ… CatalogFilterServiceTests testParseKey_returnsNilForInvalidKey 2ms
โœ… CatalogFilterServiceTests testParseKey_roundTrips 4ms
โœ… CatalogFilterServiceTests testParsedKey_isDefaultTitle_detectsAllVariants 1ms
โœ… CatalogFilterServiceTests testParsedKey_isDefaultTitle_rejectsNonDefaults 2ms
โœ… CatalogFilterServiceTests testPrioritizeSelectedFilters_ordersCollectionBeforeFormat 2ms
โœ… CatalogFilterServiceTests testReconstructSelections_matchesByGroupAndTitle 2ms
โœ… CatalogFilterServiceTests testReconstructSelections_skipsInvalidKeys 2ms
โœ… CatalogFilterServiceTests testSelectionKeys_excludesDefaultsWhenFlagFalse 5ms
โœ… CatalogFilterServiceTests testSelectionKeys_excludesSortGroups 2ms
โœ… CatalogFilterServiceTests testSelectionKeys_includesDefaultsWhenFlagTrue 3ms
โœ… CatalogFilterTests testCatalogFilter_ActiveState 2ms
โœ… CatalogFilterTests testCatalogFilter_StoresProvidedValues 5ms
โœ… CatalogFilterTests testCatalogFilter_WithNilHref 3ms
โœ… CatalogLaneModelStructTests testBooks_EmptyCollection 2ms
โœ… CatalogLaneModelStructTests testBooks_LargeCollection 196ms
โœ… CatalogLaneModelStructTests testBooks_MixedContentTypes 12ms
โœ… CatalogLaneModelStructTests testBooks_MultipleBooks 12ms
โœ… CatalogLaneModelStructTests testBooks_OrderPreserved 16ms
โœ… CatalogLaneModelStructTests testBooks_SingleBook 4ms
โœ… CatalogLaneModelStructTests testEdgeCase_ComplexMoreURL 5ms
โœ… CatalogLaneModelStructTests testEdgeCase_EmptyTitle 4ms
โœ… CatalogLaneModelStructTests testEdgeCase_LongTitle 2ms
โœ… CatalogLaneModelStructTests testEdgeCase_SpecialCharactersInTitle 2ms
โœ… CatalogLaneModelStructTests testEdgeCase_UnicodeInTitle 3ms
โœ… CatalogLaneModelStructTests testIdentifiable_HasUniqueId 1ms
โœ… CatalogLaneModelStructTests testIdentifiable_IdIsUUID 4ms
โœ… CatalogLaneModelStructTests testInit_StoresAllProperties 8ms
โœ… CatalogLaneModelStructTests testInit_WithDefaultIsLoading 2ms
โœ… CatalogLaneModelStructTests testInit_WithLoadingState 3ms
โœ… CatalogLaneModelStructTests testInit_WithNilMoreURL 2ms
โœ… CatalogLaneModelStructTests testSnapshotBooks_WithDeterministicData 23ms
โœ… CatalogLaneModelTests testCatalogLaneModel_HasUniqueId 2ms
โœ… CatalogLaneModelTests testCatalogLaneModel_LoadingState 2ms
โœ… CatalogLaneModelTests testCatalogLaneModel_StoresProvidedValues 2ms
โœ… CatalogLaneModelTests testCatalogLaneModel_WithBooks 10ms
โœ… CatalogLaneMoreFilterStateTests testActiveSortTitle_WithMultipleActive_ReturnsFirst 3ms
โœ… CatalogLaneMoreFilterStateTests testOpeningFilterSheet_PopulatesPendingFromApplied 8ms
โœ… CatalogLaneMoreFilterStateTests testOpeningFilterSheet_WithNoApplied_ClearsPending 4ms
โœ… CatalogLaneMoreFilterStateTests testRestoreFilterState_RestoresAppliedSelections 6ms
โœ… CatalogLaneMoreFilterStateTests testRestoreFilterState_RestoresFacetGroups 3ms
โœ… CatalogLaneMoreFilterStateTests testRestoreFilterState_WithEmptyState_ClearsAll 2ms
โœ… CatalogLaneMoreFilterStateTests testSortFacets_CaseInsensitiveGroupMatch 2ms
โœ… CatalogLaneMoreFilterStateTests testURL_MatchesInitializer 2ms
โœ… CatalogLaneMoreViewModelTests testActiveFiltersCount_AfterClearingSelections 3ms
โœ… CatalogLaneMoreViewModelTests testActiveFiltersCount_FiltersOutAllDefaults 5ms
โœ… CatalogLaneMoreViewModelTests testActiveFiltersCount_WhenEmpty 3ms
โœ… CatalogLaneMoreViewModelTests testActiveFiltersCount_WithAppliedSelections 2ms
โœ… CatalogLaneMoreViewModelTests testActiveSortTitle_WhenActiveFacetExists_ReturnsTitle 6ms
โœ… CatalogLaneMoreViewModelTests testActiveSortTitle_WhenNoActiveFacet_ReturnsNil 2ms
โœ… CatalogLaneMoreViewModelTests testAllBooks_CombinesMultipleLanes 9ms
โœ… CatalogLaneMoreViewModelTests testAllBooks_EmptyWhenNoData 5ms
โœ… CatalogLaneMoreViewModelTests testAllBooks_WhenLanesEmpty_ReturnsUngroupedBooks 18ms
โœ… CatalogLaneMoreViewModelTests testAllBooks_WhenLanesHaveBooks_ReturnsLaneBooks 11ms
โœ… CatalogLaneMoreViewModelTests testAppliedSelectionsUpdate 5ms
โœ… CatalogLaneMoreViewModelTests testErrorPublishes 3ms
โœ… CatalogLaneMoreViewModelTests testError_CanBeCleared 2ms
โœ… CatalogLaneMoreViewModelTests testError_CanBeSet 4ms
โœ… CatalogLaneMoreViewModelTests testFacetGroups_MultipleGroups 2ms
โœ… CatalogLaneMoreViewModelTests testFilterStateInitialValues 2ms
โœ… CatalogLaneMoreViewModelTests testInitialState 2ms
โœ… CatalogLaneMoreViewModelTests testIsApplyingFiltersInitiallyFalse 3ms
โœ… CatalogLaneMoreViewModelTests testIsLoadingMoreInitiallyFalse 3ms
โœ… CatalogLaneMoreViewModelTests testIsLoadingPublishes 4ms
โœ… CatalogLaneMoreViewModelTests testLanesPublishes 4ms
โœ… CatalogLaneMoreViewModelTests testPagination_ClearedWhenNil 5ms
โœ… CatalogLaneMoreViewModelTests testPagination_NextPageURLCanBeSet 2ms
โœ… CatalogLaneMoreViewModelTests testPendingSelectionsUpdate 6ms
โœ… CatalogLaneMoreViewModelTests testShouldShowPagination_WhenNextPageURLExists 2ms
โœ… CatalogLaneMoreViewModelTests testShowSearchToggle 2ms
โœ… CatalogLaneMoreViewModelTests testShowingFiltersSheetToggle 2ms
โœ… CatalogLaneMoreViewModelTests testShowingSortSheetToggle 2ms
โœ… CatalogLaneMoreViewModelTests testSortFacets_WhenNoSortGroup_ReturnsEmpty 5ms
โœ… CatalogLaneMoreViewModelTests testSortFacets_WhenSortGroupExists_ReturnsFacets 4ms
โœ… CatalogLaneMoreViewModelTests testTitle_Empty 2ms
โœ… CatalogLaneMoreViewModelTests testTitle_WithSpecialCharacters 12ms
โœ… CatalogLaneMoreViewModelTests testUIStateInitialValues 4ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_audiobookFormat 4ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_audiobookIncludesAudiobookDesignation 4ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_audiobook_authorOnly 5ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_bookWithoutAuthor 4ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_doesNotIncludeSummaryOrBlurbs 5ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_ebookDoesNotIncludeAudiobookDesignation 4ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_ebook_noAuthor_titleOnly 4ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_ebook_titleByAuthor 4ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_includesTitleAndAuthor 4ms
โœ… CatalogLaneRowViewAccessibilityTests testAccessibilityLabel_usesCommaSeparatedFormat 4ms
โœ… CatalogLaneRowViewAccessibilityTests testSwimlaneTitle_sourceDeclaresHeaderAccessibilityTrait 5ms
โœ… CatalogLaneSortingTests testExtractFacets_ActiveSortFacet_IsMarkedActive 4ms
โœ… CatalogLaneSortingTests testExtractFacets_GroupedFeedWithSortFacets_ExtractsSortGroup 9ms
โœ… CatalogLaneSortingTests testLaneMoreViewModel_ActiveSortTitle_ReturnsActiveFacetTitle 93ms
โœ… CatalogLaneSortingTests testLaneMoreViewModel_GroupedFeedWithSortFacets_ExposesSortFacets 13ms
โœ… CatalogLoadIntegrationTests testAuthenticationRequired_ReturnsUnauthorizedError 6ms
โœ… CatalogLoadIntegrationTests testCacheInvalidation_TriggersFreshFetch 3ms
โœ… CatalogLoadIntegrationTests testFetchFeed_DelegatesToLoadTopLevelCatalog 10ms
โœ… CatalogLoadIntegrationTests testFreshLoad_FetchesFromNetwork 8ms
โœ… CatalogLoadIntegrationTests testNetworkFailure_PropagatesError 3ms
โœ… CatalogLoadIntegrationTests testOPDSFeedXML_IsGeneratedCorrectly 155ms
โœ… CatalogRepositoryCoreTests testDifferentURLsAreCachedSeparately 5ms
โœ… CatalogRepositoryCoreTests testInvalidateCacheForcesFreshFetch 107ms
โœ… CatalogRepositoryCoreTests testLoadTopLevelCatalogCachesFeed 7ms
โœ… CatalogRepositoryCoreTests testLoadTopLevelCatalogCallsAPI 6ms
โœ… CatalogRepositoryCoreTests testLoadTopLevelCatalogFallsToCacheOnNetworkError 117ms
โœ… CatalogRepositoryCoreTests testLoadTopLevelCatalogPropagatesError 9ms
โœ… CatalogRepositoryCoreTests testLoadTopLevelCatalogReturnsFeedTitle 7ms
โœ… CatalogRepositoryCoreTests testSearchDelegatesToAPI 15ms
โœ… CatalogRepositoryCoreTests testSearchPropagatesError 4ms
โœ… CatalogRepositoryTests testFetchFeed_DoesNotCache_AlwaysFetchesFresh 4ms
โœ… CatalogRepositoryTests testFetchFeed_NetworkError_ThrowsError 3ms
โœ… CatalogRepositoryTests testFetchFeed_Success_ReturnsFeed 4ms
โœ… CatalogRepositoryTests testIntegration_ErrorPropagation 5ms
โœ… CatalogRepositoryTests testIntegration_FullFetchFlow 16ms
โœ… CatalogRepositoryTests testInvalidateCache_ClearsSpecificURL 5ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_401Unauthorized_ThrowsError 3ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_500ServerError_ThrowsError 3ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_CachesFeed_ReturnsFromCache 4ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_EmptyFeed_ReturnsEmptyEntries 4ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_InvalidXML_ThrowsParsingError 4ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_MultipleURLs_CachesIndependently 8ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_NetworkError_FallsBackToStaleCache 5ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_NetworkError_ThrowsError 54ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_PreservesQueryParameters 5ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_ProblemDocument_ParsesErrorDetails 8ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_SpecialCharactersInTitle_ParsesCorrectly 4ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_Success_ReturnsFeed 5ms
โœ… CatalogRepositoryTests testLoadTopLevelCatalog_UsesGETMethod 5ms
โœ… CatalogSearchViewModelRegistryUpdateTests testApplyRegistryUpdates_EmptyFilteredBooks_DoesNotCrash 2ms
โœ… CatalogSearchViewModelRegistryUpdateTests testApplyRegistryUpdates_MultipleRapidCalls_DoesNotCrash 31ms
โœ… CatalogSearchViewModelRegistryUpdateTests testApplyRegistryUpdates_NilChangedIdentifier_UpdatesAllBooks 8ms
โœ… CatalogSearchViewModelRegistryUpdateTests testApplyRegistryUpdates_UnknownIdentifier_NoChanges 9ms
โœ… CatalogSearchViewModelRegistryUpdateTests testApplyRegistryUpdates_WithBooks_UpdatesMatchingBook 8ms
โœ… CatalogSearchViewModelTests testApplyRegistryUpdates_DoesNotChangeSearchId 4ms
โœ… CatalogSearchViewModelTests testApplyRegistryUpdates_WithEmptyFilteredBooks_DoesNothing 2ms
โœ… CatalogSearchViewModelTests testClearSearch_CancelsPendingOperations 310ms
โœ… CatalogSearchViewModelTests testClearSearch_ChangesSearchId 2ms
โœ… CatalogSearchViewModelTests testClearSearch_ResetsSelectedFormat_DoesNotChangeFormatEntries 4ms
โœ… CatalogSearchViewModelTests testClearSearch_ResetsState 11ms
โœ… CatalogSearchViewModelTests testClearSearch_RestoresAllBooks 8ms
โœ… CatalogSearchViewModelTests testConcurrentUpdates_DoNotCrash 19ms
โœ… CatalogSearchViewModelTests testInit_HasCorrectDefaults 2ms
โœ… CatalogSearchViewModelTests testLoadFormatEntryPoints_SelectsActiveEntry 3ms
โœ… CatalogSearchViewModelTests testLoadFormatEntryPoints_WhenFeedHasNoEntryPoints_LeavesFormatEntriesEmpty 9ms
โœ… CatalogSearchViewModelTests testLoadFormatEntryPoints_WhenFetchFails_LeavesFormatEntriesEmpty 156ms
โœ… CatalogSearchViewModelTests testLoadFormatEntryPoints_WhenSuccessful_PopulatesFormatEntries 3ms
โœ… CatalogSearchViewModelTests testLoadFormatEntryPoints_WithNilBaseURL_DoesNotCallRepository 155ms
โœ… CatalogSearchViewModelTests testLoadNextPage_DoesNotChangeSearchId 3ms
โœ… CatalogSearchViewModelTests testLoadNextPage_SetsIsLoadingMore 4ms
โœ… CatalogSearchViewModelTests testLoadNextPage_WhenAlreadyLoading_DoesNothing 12ms
โœ… CatalogSearchViewModelTests testLoadNextPage_WithNoNextURL_DoesNothing 3ms
โœ… CatalogSearchViewModelTests testPP3605_ApplyRegistryUpdates_DoesNotChangeSearchId 7ms
โœ… CatalogSearchViewModelTests testPP3605_ClearSearch_ChangesSearchId 4ms
โœ… CatalogSearchViewModelTests testPP3605_DifferentSearches_EachHaveUniqueSearchId 110ms
โœ… CatalogSearchViewModelTests testPP3605_LoadNextPage_DoesNotChangeSearchId 60ms
โœ… CatalogSearchViewModelTests testPP3605_NewSearch_ChangesSearchId 57ms
โœ… CatalogSearchViewModelTests testPP3673_clearSearch_doesNotAnnounce 219ms
โœ… CatalogSearchViewModelTests testPP3673_search_emptyQuery_doesNotAnnounce 166ms
โœ… CatalogSearchViewModelTests testPP3673_search_error_announcesFailure 57ms
โœ… CatalogSearchViewModelTests testPP3673_search_noResults_announcesNoResults 57ms
โœ… CatalogSearchViewModelTests testPP3673_search_rerun_announcesUpdatedResults 108ms
โœ… CatalogSearchViewModelTests testSearch_CancelsDebounce_OnNewQuery 1.35s
โœ… CatalogSearchViewModelTests testSearch_CancelsInFlight_OnNewQuery 211ms
โœ… CatalogSearchViewModelTests testSearch_Debounces_DoesNotSearchDuringDebounceWindow 1.02s
โœ… CatalogSearchViewModelTests testSearch_Debounces_MultipleQueries 106ms
โœ… CatalogSearchViewModelTests testSearch_DifferentQueries_HaveDifferentSearchIds 111ms
โœ… CatalogSearchViewModelTests testSearch_NewSearch_ChangesSearchId 59ms
โœ… CatalogSearchViewModelTests testSearch_SpecialCharacters_DoesNotCrash 57ms
โœ… CatalogSearchViewModelTests testSearch_UnicodeCharacters_Works 57ms
โœ… CatalogSearchViewModelTests testSearch_VeryLongQuery_Works 57ms
โœ… CatalogSearchViewModelTests testSearch_WithEmptyQuery_DoesNotCallRepository 154ms
โœ… CatalogSearchViewModelTests testSearch_WithEmptyQuery_ShowsAllBooks 161ms
โœ… CatalogSearchViewModelTests testSearch_WithError_ClearsNextPageURL 54ms
โœ… CatalogSearchViewModelTests testSearch_WithError_SetsErrorMessage 55ms
โœ… CatalogSearchViewModelTests testSearch_WithNilBaseURL_ClearsNextPageURL 156ms
โœ… CatalogSearchViewModelTests testSearch_WithNilBaseURL_DoesNotSearch 156ms
โœ… CatalogSearchViewModelTests testSearch_WithNilResult_SetsEmptyResults 60ms
โœ… CatalogSearchViewModelTests testSearch_WithNoFormatEntries_UsesDefaultBaseURL 60ms
โœ… CatalogSearchViewModelTests testSearch_WithResults_UpdatesResults 57ms
โœ… CatalogSearchViewModelTests testSearch_WithValidQuery_CallsRepository 58ms
โœ… CatalogSearchViewModelTests testSearch_WithValidQuery_ClearsIsLoadingAfterCompletion 60ms
โœ… CatalogSearchViewModelTests testSearch_WithValidQuery_SetsIsSearching 61ms
โœ… CatalogSearchViewModelTests testSearch_WithWhitespaceOnlyQuery_DoesNotCallRepository 154ms
โœ… CatalogSearchViewModelTests testSelectFormat_ChangesSelectedIndex 4ms
โœ… CatalogSearchViewModelTests testSelectFormat_SameIndex_DoesNotChangeIndex 155ms
โœ… CatalogSearchViewModelTests testSelectFormat_WithActiveQuery_TriggersNewSearch 70ms
โœ… CatalogSearchViewModelTests testSelectFormat_WithCachedDescriptorURL_UsesDescriptorSearch 60ms
โœ… CatalogSearchViewModelTests testSelectFormat_WithEmptyQuery_DoesNotSearch 154ms
โœ… CatalogSearchViewModelTests testUpdateBooks_DoesNotChangeFilteredBooks_WhenQueryNotEmpty 7ms
โœ… CatalogSearchViewModelTests testUpdateBooks_EmptyArray_Works 6ms
โœ… CatalogSearchViewModelTests testUpdateBooks_LargeArray_Works 184ms
โœ… CatalogSearchViewModelTests testUpdateBooks_SetsFilteredBooks_WhenQueryEmpty 8ms
โœ… CatalogSnapshotTests testAccessibilityIdentifiers_exist 2ms
โœ… CatalogSnapshotTests testBookImageView_audiobook 10ms
โœ… CatalogSnapshotTests testBookImageView_epub 29ms
โœ… CatalogSnapshotTests testCatalogLaneRowView_empty 37ms
โœ… CatalogSnapshotTests testCatalogLaneRowView_loading 3ms
โœ… CatalogSnapshotTests testCatalogLaneRowView_noHeader 20ms
โœ… CatalogSnapshotTests testCatalogLaneRowView_withBooks 25ms
โœ… CatalogSnapshotTests testCatalogLaneSkeletonView 113ms
โœ… CatalogSnapshotTests testFacetToolbarView_noSort 6ms
โœ… CatalogSnapshotTests testFacetToolbarView_withSort 2ms
โœ… CatalogSortServiceTests testAllCases 2ms
โœ… CatalogSortServiceTests testSortByAuthorAZ 32ms
โœ… CatalogSortServiceTests testSortByAuthorZA 8ms
โœ… CatalogSortServiceTests testSortByRecentlyAddedAZ 12ms
โœ… CatalogSortServiceTests testSortByRecentlyAddedZA 7ms
โœ… CatalogSortServiceTests testSortByTitleAZ 10ms
โœ… CatalogSortServiceTests testSortByTitleZA 9ms
โœ… CatalogSortServiceTests testSortEmptyArray 4ms
โœ… CatalogSortServiceTests testSortOptionFromLocalizedString_invalidString_returnsNil 7ms
โœ… CatalogSortServiceTests testSortOptionFromLocalizedString_validStrings 2ms
โœ… CatalogSortServiceTests testSortOptionLocalizedStrings 4ms
โœ… CatalogSortServiceTests testSortSingleBook 11ms
โœ… CatalogSortServiceTests testSortWithNilAuthors 8ms
โœ… CatalogSortServiceTests testSortedReturnsNewArray 9ms
โœ… CatalogViewModelIntegrationTests testForceRefresh_SetsIsLoadingTrue 3ms
โœ… CatalogViewModelIntegrationTests testHandleAccountChange_SetsIsLoadingTrue 4ms
โœ… CatalogViewModelIntegrationTests testIsContentReloading_PublishesChanges 12ms
โœ… CatalogViewModelIntegrationTests testLoad_SetsIsLoadingTrue 3ms
โœ… CatalogViewModelIntegrationTests testLoad_WithError_SetsErrorMessage 6ms
โœ… CatalogViewModelIntegrationTests testLoad_WithNilResult_SetsErrorMessage 8ms
โœ… CatalogViewModelIntegrationTests testLoad_WithNilURL_DoesNotLoad 18ms
โœ… CatalogViewModelIntegrationTests testResetScrollTrigger_SetsFalse 2ms
โœ… CatalogViewModelIntegrationTests testSearchBaseURL_ReturnsCorrectURL 2ms
โœ… CatalogViewModelIntegrationTests testSearchRepository_ReturnsSameRepository 2ms
โœ… CatalogViewModelIntegrationTests testViewModel_InitialState_HasCorrectDefaults 2ms
โœ… CatalogViewModelOptimisticLoadingTests testApplyEntryPoint_WithNilHref_DoesNothing 2ms
โœ… CatalogViewModelOptimisticLoadingTests testApplyEntryPoint_WithValidHref_CallsRepository 3ms
โœ… CatalogViewModelOptimisticLoadingTests testApplyFacet_WithError_RestoresPreviousState 8ms
โœ… CatalogViewModelOptimisticLoadingTests testApplyFacet_WithNilHref_DoesNothing 41ms
โœ… CatalogViewModelOptimisticLoadingTests testApplyFacet_WithValidHref_CallsRepository 14ms
โœ… ChaosFaultInjectionTests test_scenario1_midDownloadNetworkKill_failsRecoverably 10ms
โœ… ChaosFaultInjectionTests test_scenario2_diskFullDuringExtraction_throwsAndLeavesNoFullFile 14ms
โœ… ChaosFaultInjectionTests test_scenario3_lowMemoryDuringDRMFetch_remainsRecoverable 16ms
โœ… ChaosFaultInjectionTests test_scenario4_processKillDuringRegistryWrite_atomicityHolds 16ms
โœ… ChaosFaultInjectionTests test_scenario5_tokenExpiryMidAnnotationSync_invokesReauthAndRetries 8ms
โœ… CirculationAnalyticsTests testEventPathComponents 4ms
โœ… CirculationAnalyticsTests testNetworkQueueStatusCodesExist 7ms
โœ… CirculationAnalyticsTests testPostEventConstructsCorrectURL 3ms
โœ… CirculationAnalyticsTests testPostEventWithNilAnalyticsURL 11ms
โœ… ColorExtensionTests testIsDark_Black_ReturnsTrue 2ms
โœ… ColorExtensionTests testIsDark_DarkGray_ReturnsTrue 3ms
โœ… ColorExtensionTests testIsDark_LightGray_ReturnsFalse 2ms
โœ… ColorExtensionTests testIsDark_PureRed_ReturnsFalse 2ms
โœ… ColorExtensionTests testIsDark_White_ReturnsFalse 2ms
โœ… ConcurrentBookStateTests testConcurrent_differentContentTypes_supportedSimultaneously 11ms
โœ… ConcurrentBookStateTests testConcurrent_drmTypes_supportedSimultaneously 8ms
โœ… ConcurrentBookStateTests testConcurrent_multipleDownloads_independentStates 10ms
โœ… ConcurrentDownloadStateTests testMultipleBooks_canBeRegisteredSimultaneously 20ms
โœ… ConcurrentDownloadStateTests testMultipleBooks_canHaveDifferentStates 26ms
โœ… ConcurrentDownloadStateTests testMultipleBooks_stateChangesAreIndependent 14ms
โœ… ConcurrentTokenRefreshTests testRefreshTokenAndResume_noCredentials_failsImmediately 16ms
โœ… ConcurrentTokenRefreshTests testTokenRequest_canExecuteViaStub 45ms
โœ… ContinuousPlaybackTrackingTests testBiblioBoardScenario_61MinutesWithTrackChanges 241ms
โœ… ContinuousPlaybackTrackingTests testRapidTrackChanges_noTimeLoss 158ms
โœ… ContinuousPlaybackTrackingTests testTrackTransition_savesTimeBeforeNextTrackStarts 28ms
โœ… CredentialEdgeCaseTests testBarcodeAndPin_EmptyStrings_ProduceMalformedBasicAuthHeader 2ms
โœ… CredentialEdgeCaseTests testBarcodeAndPin_SingleCharEach_StillValidButShort 2ms
โœ… CredentialEdgeCaseTests testBarcodeAndPin_ValidCredentials_ProducesNonTrivialBasicAuthHeader 2ms
โœ… CredentialEdgeCaseTests testTokenCredential_EmptyBarcode_IsDistinctFromNil 2ms
โœ… CredentialEdgeCaseTests testTokenCredential_EmptyPin_IsDistinctFromNil 1ms
โœ… CredentialEdgeCaseTests testTokenCredential_NilBarcode_ReturnsNilUsername 2ms
โŠ˜ CredentialPrivacyTests testCrashlyticsBreadcrumb_sanitizesURLAuthorizationParameters 5ms
โœ… CredentialPrivacyTests testErrorLogger_metadataKeysNeverIncludeCredentialFields 2ms
โœ… CredentialPrivacyTests testException_messageDoesNotEmbedCredentials 4ms
โœ… CredentialPrivacyTests testLCPPassphraseError_doesNotEmbedPassphrase 4ms
โœ… CredentialPrivacyTests testSignInFailureLog_doesNotContainBarcodeOrPIN 2ms
โœ… CrossDomain401Tests test200FromDifferentDomain_shouldNotIndicateAuthRefreshNeeded 3ms
โœ… CrossDomain401Tests test401FromDifferentDomain_shouldNotIndicateAuthRefreshNeeded 2ms
โœ… CrossDomain401Tests test401FromDifferentSubdomain_shouldIndicateAuthRefreshNeeded 12ms
โœ… CrossDomain401Tests test401FromSameDomain_shouldIndicateAuthRefreshNeeded 2ms
โœ… CrossDomain401Tests test401FromSameSubdomain_shouldIndicateAuthRefreshNeeded 2ms
โœ… CrossDomain401Tests test401WithNilOriginalURL_shouldIndicateAuthRefreshNeeded 2ms
โœ… CrossDomain401Tests test403FromDifferentDomain_shouldNotIndicateAuthRefreshNeeded 2ms
โœ… CrossDomain401Tests testProblemDocFromDifferentDomain_shouldNotIndicateAuthRefreshNeeded 3ms
โœ… CrossFormatMappingTests testChapterBeyondMappingRange 2ms
โœ… CrossFormatMappingTests testCodableRoundTrip 10ms
โœ… CrossFormatMappingTests testCustomChapterMapping 1ms
โœ… CrossFormatMappingTests testFirstChapterMapping 2ms
โœ… CrossFormatMappingTests testLastChapterMapping 4ms
โœ… CrossFormatMappingTests testMappingWithMissingChapterIndex 2ms
โœ… CrossFormatMappingTests testMappingWithZeroChapters 1ms
โœ… CrossFormatMappingTests testMappingWrongFormat 1ms
โœ… CrossFormatMappingTests testOneToOneAudiobookToEpub 2ms
โœ… CrossFormatMappingTests testOneToOneEpubToAudiobook 2ms
โœ… CrossFormatMappingTests testOneToOneMappingCreation 4ms
โœ… CrossFormatMappingTests testProportionalAudiobookToEpub 8ms
โœ… CrossFormatMappingTests testProportionalEpubToAudiobook 2ms
โœ… CrossFormatMappingTests testProportionalMappingCreation 2ms
โœ… DPLAErrorTests testCertificateUrl_isValid 2ms
โœ… DPLAErrorTests testDrmKeyError_readableError 5ms
โœ… DPLAErrorTests testRequestError_readableError 2ms
โŠ˜ DRMAdversarialTests testAdobe_epubWithoutValidLicense_openFails 13ms
โŠ˜ DRMAdversarialTests testAdobe_tamperedContent_verificationFails 11ms
โŠ˜ DRMAdversarialTests testLCP_licenseWithExpiredDate_returnsLicenseExpiredError 4ms
โœ… DRMAdversarialTests testLCP_publicationWithoutPassphrase_returnsAuthRequired 11ms
โŠ˜ DRMAdversarialTests testLCP_wrongPassphrase_returnsAuthError 34ms
โŠ˜ DRMAdversarialTests testNoDRMBuild_drmAcquisitionRefused 7ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_localURLIsCorrect 5ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_storesLocalURL 4ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_storesSuggestedFilename 3ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_withEmptyFilename 3ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_withLongFilename 3ms
โœ… DRMFulfilledPublicationTests testDRMFulfilledPublication_withSpecialCharacters 5ms
โœ… DataBase64Tests testBase64UrlSafe_ASCIIData_EncodesCorrectly 2ms
โœ… DataBase64Tests testBase64UrlSafe_EmptyData_ReturnsEmpty 2ms
โœ… DataBase64Tests testBase64UrlSafe_NoNewlines 2ms
โœ… DataBase64Tests testBase64UrlSafe_ReplacesPlus_WithDash 2ms
โœ… DataBase64Tests testBase64UrlSafe_ReplacesSlash_WithUnderscore 2ms
โœ… DataReceptionComparisonTests testGET_receivesBearerTokenJSON_andCanBeDetected 20ms
โœ… DataReceptionComparisonTests testGET_receivesNonEmptyBody_forValidJSON 13ms
โœ… DateExtensionTests testAddingDays_increasesDate 2ms
โœ… DateExtensionTests testDateComparison_differentDay 1ms
โœ… DateExtensionTests testDateComparison_sameDay 2ms
โœ… DateExtensionTests testISO8601_roundTrip 4ms
โœ… DateExtensionTests testRfc339String_includesTimezone 2ms
โœ… DateExtensionTests testRfc339String_producesValidFormat 2ms
โœ… DateExtensionTests testSubtractingDays_decreasesDate 2ms
โœ… DateExtensionTests testTimeIntervalSinceNow_negative 3ms
โœ… DateExtensionTests testTimeIntervalSinceNow_positive 2ms
โœ… DateFormattingTests testCustomFormat 94ms
โœ… DateFormattingTests testLongDateFormat 4ms
โœ… DateFormattingTests testShortDateFormat 3ms
โœ… DateFormattingTests testTimeFormat 9ms
โœ… Date_NYPLAdditionsTests testISO8601FullDateParsing 9ms
โœ… Date_NYPLAdditionsTests testInvalidRFC3339Date 2ms
โœ… Date_NYPLAdditionsTests testParsesRFC3339DateCorrectly 12ms
โœ… Date_NYPLAdditionsTests testParsesRFC3339DateWithFractionalSecondsCorrectly 3ms
โœ… Date_NYPLAdditionsTests testRFC1123 2ms
โœ… Date_NYPLAdditionsTests testRFC1123Performance 497ms
โœ… Date_NYPLAdditionsTests testRFC3339RoundTrip 3ms
โœ… DebugSettingsTests testBadgeLogging_defaultFalse 10ms
โœ… DebugSettingsTests testBadgeLogging_enabledStateIsResetByResetAll 4ms
โœ… DebugSettingsTests testCreateSimulatedBorrowError_nilWhenDisabled 4ms
โœ… DebugSettingsTests testCreateSimulatedBorrowError_returnsErrorWhenEnabled 8ms
โœ… DebugSettingsTests testCreateTestHoldBooks_allReady 4ms
โœ… DebugSettingsTests testCreateTestHoldBooks_mixedHolds 5ms
โœ… DebugSettingsTests testCreateTestHoldBooks_nilWhenDisabled 4ms
โœ… DebugSettingsTests testCreateTestHoldBooks_oneReady 5ms
โœ… DebugSettingsTests testCreateTestHoldBooks_oneReserved 3ms
โœ… DebugSettingsTests testDefaultSimulatedBorrowError 5ms
โœ… DebugSettingsTests testIsBorrowErrorSimulationEnabled 3ms
โœ… DebugSettingsTests testIsTestHoldsEnabled 3ms
โœ… DebugSettingsTests testResetAll 8ms
โœ… DebugSettingsTests testSimulatedBorrowError_allCasesHaveDisplayNames 6ms
โœ… DebugSettingsTests testSimulatedBorrowError_canBeSet 4ms
โœ… DebugSettingsTests testSimulatedBorrowError_credentialsSuspended 4ms
โœ… DebugSettingsTests testSimulatedBorrowError_generic 5ms
โœ… DebugSettingsTests testSimulatedBorrowError_holdLimit 2ms
โœ… DebugSettingsTests testSimulatedBorrowError_loanLimit 4ms
โœ… DebugSettingsTests testSimulatedBorrowError_none_nilProblemDoc 2ms
โœ… DebugSettingsTests testTestHoldsConfig_allCasesHaveDisplayNames 6ms
โœ… DebugSettingsTests testTestHoldsConfig_allReady_badgeCount 2ms
โœ… DebugSettingsTests testTestHoldsConfig_default 3ms
โœ… DebugSettingsTests testTestHoldsConfig_mixedHolds_badgeCount 3ms
โœ… DebugSettingsTests testTestHoldsConfig_none_badgeCount 2ms
โœ… DebugSettingsTests testTestHoldsConfig_oneReady_badgeCount 2ms
โœ… DebugSettingsTests testTestHoldsConfig_oneReserved_badgeCount 2ms
โœ… DefaultCatalogAPITests testCatalogAPI_IntegrationWithRepository_HandlesErrors 33ms
โœ… DefaultCatalogAPITests testCatalogAPI_IntegrationWithRepository_WorksCorrectly 16ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_ActiveEntry_GetsSearchDescriptorURL 3ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_FacetWithEmptyTitle_IsExcluded 4ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_FeedWithNoFacets_ReturnsEmpty 5ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_FirstEntryActive_MarkedCorrectly 3ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_GroupsFeedURLs_AreCorrect 3ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_InactiveEntries_HaveNilSearchDescriptorURL 3ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_NoSearchLink_AllDescriptorURLsNil 8ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_NonEntryPointFacets_AreExcluded 9ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_SecondEntryActive_MarkedCorrectly 3ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_StableIDs_MatchGroupsFeedURL 8ms
โœ… DefaultCatalogAPITests testExtractSearchEntryPoints_ThreeEntryPoints_ReturnsAllThree 2ms
โœ… DefaultCatalogAPITests testFetchFeed_AfterReset_CallCountResetsToZero 7ms
โœ… DefaultCatalogAPITests testFetchFeed_DefaultResponse_UsedWhenNoStubSet 3ms
โœ… DefaultCatalogAPITests testFetchFeed_DifferentURLs_ReturnDifferentStubs 17ms
โœ… DefaultCatalogAPITests testFetchFeed_EmptyFeed_ReturnsEmptyEntries 9ms
โœ… DefaultCatalogAPITests testFetchFeed_EmptyResponseData_ThrowsParsingError 8ms
โœ… DefaultCatalogAPITests testFetchFeed_FailAfterMultipleCalls_SimulatesIntermittentFailure 6ms
โœ… DefaultCatalogAPITests testFetchFeed_GlobalError_AffectsAllRequests 2ms
โœ… DefaultCatalogAPITests testFetchFeed_InvalidXML_ThrowsParsingError 4ms
โœ… DefaultCatalogAPITests testFetchFeed_MultipleCalls_TracksAllRequests 4ms
โœ… DefaultCatalogAPITests testFetchFeed_NetworkError_ThrowsError 2ms
โœ… DefaultCatalogAPITests testFetchFeed_ServerError500_ThrowsError 3ms
โœ… DefaultCatalogAPITests testFetchFeed_SpecialCharactersInFeedTitle_ParsesCorrectly 8ms
โœ… DefaultCatalogAPITests testFetchFeed_Timeout_ThrowsError 3ms
โœ… DefaultCatalogAPITests testFetchFeed_TracksRequestDetails 10ms
โœ… DefaultCatalogAPITests testFetchFeed_URLWithQueryParameters_PreservesParameters 11ms
โœ… DefaultCatalogAPITests testFetchFeed_UnauthorizedError_ThrowsError 105ms
โœ… DefaultCatalogAPITests testFetchFeed_UsesGETMethod 4ms
โœ… DefaultCatalogAPITests testFetchFeed_ValidOPDSResponse_ReturnsParsedFeed 4ms
โœ… DeriveInitialStateTests testDeriveInitialState_ForBookWithoutAcquisition_ReturnsUnsupported 6ms
โœ… DeriveInitialStateTests testDeriveInitialState_ForReadyBook_ReturnsHolding 14ms
โœ… DeriveInitialStateTests testDeriveInitialState_ForReservedBook_ReturnsHolding 6ms
โœ… DeriveInitialStateTests testDeriveInitialState_ForStandardBook_ReturnsDownloadNeeded 4ms
โœ… DeviceLogCollectorGapTests testDeviceLogCollector_collectLogs_exercisesFormattingMethods 3.65s
โœ… DeviceLogCollectorGapTests testDeviceLogCollector_collectLogs_outputContainsFormattedStructure 2.57s
โœ… DeviceLogCollectorTests testCollectLogs_capturesRecentOSLogEntries 2.26s
โœ… DeviceLogCollectorTests testCollectLogs_containsEndMarker 1.43s
โœ… DeviceLogCollectorTests testCollectLogs_containsExpectedHeader 1.63s
โœ… DeviceLogCollectorTests testCollectLogs_defaultParameterIs7Days 1.38s
โœ… DeviceLogCollectorTests testCollectLogs_formattedEntriesContainExpectedFields 1.54s
โœ… DeviceLogCollectorTests testCollectLogs_outputIsValidUTF8 1.43s
โœ… DeviceLogCollectorTests testCollectLogs_reportsEntryCount 1.56s
โœ… DeviceLogCollectorTests testCollectLogs_returnsNonEmptyData 1.98s
โœ… DeviceLogCollectorTests testCollectLogs_withCustomDayRange_reflectsInOutput 1.33s
โœ… DeviceOrientationTests testDeviceOrientation_isObservableObject 19ms
โœ… DeviceOrientationTests testInitialIsLandscape_basedOnScreenDimensions 2ms
โœ… DeviceOrientationTests testIsLandscape_isPublished 7ms
โœ… DeviceOrientationTests testStartAndStopTracking_multipleTimesDoesNotCrash 4ms
โœ… DeviceOrientationTests testStartTracking_doesNotCrash 2ms
โœ… DeviceOrientationTests testStopTracking_beforeStartTracking_doesNotCrash 3ms
โœ… DeviceOrientationTests testStopTracking_doesNotCrash 6ms
โœ… DeviceSpecificErrorMonitorTests testGetDeviceID_isConsistent 3ms
โœ… DeviceSpecificErrorMonitorTests testGetDeviceID_looksLikeUUID 4ms
โœ… DeviceSpecificErrorMonitorTests testGetDeviceID_returnsNonEmptyString 2ms
โœ… DeviceSpecificErrorMonitorTests testGetDeviceInfo_containsExpectedKeys 2ms
โœ… DeviceSpecificErrorMonitorTests testGetDeviceInfo_valuesAreNonEmpty 2ms
โœ… DeviceSpecificErrorMonitorTests testIsEnhancedLoggingEnabled_returnsBool 2ms
โœ… DeviceSpecificErrorMonitorTests testLogError_doesNotCrash 5ms
โœ… DeviceSpecificErrorMonitorTests testLogError_withMetadata_doesNotCrash 2ms
โœ… DeviceSpecificErrorMonitorTests testLogNetworkFailure_doesNotCrash 4ms
โœ… DeviceSpecificErrorMonitorTests testShared_isNotNil 1ms
โœ… DeviceSpecificErrorMonitorTests testShared_returnsSameInstance 2ms
โœ… DictionaryExtensionsTests testMapKeys_ChangesKeyType_StringToInt 2ms
โœ… DictionaryExtensionsTests testMapKeys_CollidingKeys_OverwritesValue 3ms
โœ… DictionaryExtensionsTests testMapKeys_EmptyDictionary_ReturnsEmpty 2ms
โœ… DictionaryExtensionsTests testMapKeys_TransformsKeys_PreservesValues 2ms
โœ… DictionaryExtensionsTests testMapKeys_UniqueTransform_PreservesCount 2ms
โœ… DiskBudgetTests testContentDirectory_createdOnAccess 4ms
โœ… DiskBudgetTests testDiskSpace_available_returnsPositiveValue 3ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_concurrentCompletions_maintainsConsistency 4ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_concurrentRegistrations_maintainsConsistency 36ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_downloadInfoCache_storesMultipleEntries 5ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_downloadInfoCache_updatesExistingEntry 4ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_mixedOperations_maintainsConsistency 16ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_partialDequeue_leavesRemainder 13ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_queueFIFO_maintainsOrder 10ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_throttling_returnsDelayAfterRecentStart 3ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_throttling_returnsZeroAfterDelay 376ms
โœ… DownloadCoordinatorIntegrationTests testCoordinator_zeroCapacityDequeue_returnsEmpty 7ms
โœ… DownloadCoordinatorTests testCoordinator_cacheDownloadInfo_storesAndRetrieves 6ms
โœ… DownloadCoordinatorTests testCoordinator_canStartDownload_respectsMaxConcurrent 2ms
โœ… DownloadCoordinatorTests testCoordinator_canStartDownload_withinLimit 4ms
โœ… DownloadCoordinatorTests testCoordinator_dequeuePending_returnsBooks 22ms
โœ… DownloadCoordinatorTests testCoordinator_enqueuePending_addsToQueue 5ms
โœ… DownloadCoordinatorTests testCoordinator_enqueuePending_preventsDuplicates 14ms
โœ… DownloadCoordinatorTests testCoordinator_redirectAttempts_tracksCorrectly 2ms
โœ… DownloadCoordinatorTests testCoordinator_registerCompletion_decrementsActiveCount 4ms
โœ… DownloadCoordinatorTests testCoordinator_registerStart_incrementsActiveCount 6ms
โœ… DownloadCoordinatorTests testCoordinator_removeCachedDownloadInfo_removesEntry 2ms
โœ… DownloadCoordinatorTests testCoordinator_reset_clearsAllState 4ms
โœ… DownloadDiskSpaceTests testAvailableDiskSpace_isPositive 2ms
โœ… DownloadDiskSpaceTests testDocumentsDirectory_exists 2ms
โœ… DownloadErrorInfoTests testConvenienceInit_setsFieldsCorrectly 3ms
โœ… DownloadErrorInfoTests testFullInit_withNilRetryAction 2ms
โœ… DownloadErrorInfoTests testFullInit_withRetryAction 8ms
โœ… DownloadErrorRecoveryPolicyTests testAggressivePolicy_hasMoreAttempts 2ms
โœ… DownloadErrorRecoveryPolicyTests testBorrowOperationPolicy_exists 2ms
โœ… DownloadErrorRecoveryPolicyTests testBorrowPolicy_doesNotRetryOnHTTPError 2ms
โœ… DownloadErrorRecoveryPolicyTests testBorrowPolicy_doesNotRetryOnInvalidCredentials 2ms
โœ… DownloadErrorRecoveryPolicyTests testBorrowPolicy_doesNotRetryOnInvalidLicense 2ms
โœ… DownloadErrorRecoveryPolicyTests testBorrowPolicy_recoversAfterNoActiveLoan 20ms
โœ… DownloadErrorRecoveryPolicyTests testBorrowPolicy_retriesOnNSURLTimeout 3ms
โœ… DownloadErrorRecoveryPolicyTests testBorrowPolicy_retriesOnNoActiveLoan 2ms
โœ… DownloadErrorRecoveryPolicyTests testBorrowPolicy_retriesOnNoConnection 321ms
โœ… DownloadErrorRecoveryPolicyTests testBorrowPolicy_retriesOnTimeout 2ms
โœ… DownloadErrorRecoveryPolicyTests testConservativePolicy_hasFewerAttempts 2ms
โœ… DownloadErrorRecoveryPolicyTests testDefaultPolicy_hasReasonableDefaults 353ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_failsAfterMaxAttempts 20ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_immediateSuccess_noRetries 7ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_nonRetryableError_failsImmediately 5ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_retriesOnTransientError 220ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_successfulOperation_returnsResult 3ms
โœ… DownloadErrorRecoveryPolicyTests testExecuteWithRetry_worksWithDifferentTypes 245ms
โœ… DownloadErrorRecoveryTests testErrorRecovery_cancelledDownload_resetsToDownloadNeeded 3ms
โœ… DownloadErrorRecoveryTests testErrorRecovery_downloadFailed_allowsRetry 5ms
โœ… DownloadErrorRecoveryTests testErrorRecovery_multipleFailures_trackedSeparately 14ms
โœ… DownloadInfoTests testDownloadInfo_creation_setsInitialValues 3ms
โœ… DownloadInfoTests testDownloadInfo_progressUpdates_handlesEdgeCases 2ms
โœ… DownloadInfoTests testDownloadInfo_rightsManagementString_returnsCorrectString 6ms
โœ… DownloadInfoTests testDownloadInfo_withDownloadProgress_createsNewInstance 4ms
โœ… DownloadInfoTests testDownloadInfo_withRightsManagement_createsNewInstance 4ms
โœ… DownloadOnlyOnWiFiTests testAccessibilityIdentifier_exists 16ms
โœ… DownloadOnlyOnWiFiTests testDefaultValue_isFalse 2ms
โœ… DownloadOnlyOnWiFiTests testLocalizedStrings_areNotEmpty 2ms
โœ… DownloadOnlyOnWiFiTests testMock_canBeConfigured 3ms
โœ… DownloadOnlyOnWiFiTests testMock_defaultIsFalse 2ms
โœ… DownloadOnlyOnWiFiTests testMock_resetClearsSetting 1ms
โœ… DownloadOnlyOnWiFiTests testReachability_isOnWiFi_consistentWithDetailedStatus 2ms
โœ… DownloadOnlyOnWiFiTests testReachability_isOnWiFi_returnsBool 3ms
โœ… DownloadOnlyOnWiFiTests testSetting_canBeToggledOff 4ms
โœ… DownloadOnlyOnWiFiTests testSetting_canBeToggledOn 4ms
โœ… DownloadOnlyOnWiFiTests testSetting_persistsAcrossReads 4ms
โœ… DownloadOnlyOnWiFiTests testSettingsProviding_includesDownloadOnlyOnWiFi 4ms
โœ… DownloadPersistenceStoreTests testBookDownloadsOverallProgress 7ms
โœ… DownloadPersistenceStoreTests testGetIncompleteDownloads 22ms
โœ… DownloadPersistenceStoreTests testMarkCompleted 5ms
โœ… DownloadPersistenceStoreTests testRegisterDownload 12ms
โœ… DownloadPersistenceStoreTests testUpdateProgress 5ms
โœ… DownloadProgressPublisherCoreTests testAnnounceBorrowFailed_doesNotCrash 4ms
โœ… DownloadProgressPublisherCoreTests testAnnounceBorrowStarted_doesNotCrash 6ms
โœ… DownloadProgressPublisherCoreTests testAnnounceBorrowSucceeded_doesNotCrash 4ms
โœ… DownloadProgressPublisherCoreTests testAnnounceDownloadCompleted_doesNotCrash 5ms
โœ… DownloadProgressPublisherCoreTests testAnnounceDownloadFailed_doesNotCrash 10ms
โœ… DownloadProgressPublisherCoreTests testAnnounceDownloadProgress_doesNotCrash 4ms
โœ… DownloadProgressPublisherCoreTests testAnnounceDownloadStarted_doesNotCrash 16ms
โœ… DownloadProgressPublisherCoreTests testAnnounceReturnFailed_doesNotCrash 4ms
โœ… DownloadProgressPublisherCoreTests testAnnounceReturnStarted_doesNotCrash 12ms
โœ… DownloadProgressPublisherCoreTests testAnnounceReturnSucceeded_doesNotCrash 7ms
โœ… DownloadProgressPublisherCoreTests testBroadcastUpdate_postsNotification 3ms
โœ… DownloadProgressPublisherCoreTests testBroadcastUpdate_throttles_rapidCalls 1.52s
โœ… DownloadProgressPublisherCoreTests testBroadcastUpdate_usesNotificationSender 3ms
โœ… DownloadProgressPublisherCoreTests testConformsToDownloadProgressPublishing 2ms
โœ… DownloadProgressPublisherCoreTests testPublishAndAnnounceError_publishesOnErrorPublisher 2ms
โœ… DownloadProgressPublisherCoreTests testPublishAndAnnounceError_withRetryAction 4ms
โœ… DownloadProgressPublisherCoreTests testSendProgress_differentBooks_publishesSeparately 22ms
โœ… DownloadProgressPublisherCoreTests testSendProgress_multipleUpdates_allReceived 3ms
โœ… DownloadProgressPublisherCoreTests testSendProgress_publishesOnProgressPublisher 3ms
โœ… DownloadProgressPublisherTests testProgressPublisher_emitsMultipleUpdates 3ms
โœ… DownloadProgressPublisherTests testProgressPublisher_emitsProgressUpdates 6ms
โœ… DownloadQueueIntegrationTests testMaxConcurrentDownloads_limitsActiveDownloads 3ms
โœ… DownloadQueueIntegrationTests testQueuedBooks_preserveOrderAcrossMultipleDequeues 36ms
โœ… DownloadQueueIntegrationTests testQueuedBooks_startedWhenCapacityAvailable 13ms
โœ… DownloadRedirectTests testBearerTokenJSON_shouldUseDistributorToken_notPalaceToken 4ms
โœ… DownloadRedirectTests testRedirectRequest_crossDomain_shouldNotContainAuthHeader 2ms
โœ… DownloadRedirectTests testRedirectRequest_sameDomain_shouldNotContainAuthHeader 2ms
โœ… DownloadRedirectTests testRedirectRequest_shouldNotContainAuthHeader_whenFollowingRedirect 2ms
โœ… DownloadRedirectTests testRedirect_httpsToHttp_shouldBeBlocked 2ms
โœ… DownloadRedirectTests testRedirect_httpsToHttps_shouldBeAllowed 2ms
โœ… DownloadRedirectTests testRedirect_maxRedirectAttempts_shouldBeEnforced 2ms
โœ… DownloadSlotManagementTests testHoldingState_bookRegistryTracksCorrectly 4ms
โœ… DownloadSlotManagementTests testStateTransition_completeDownloadFlow 4ms
โœ… DownloadSlotManagementTests testStateTransition_downloadingToFailed 4ms
โœ… DownloadSlotManagementTests testStateTransition_downloadingToHolding 4ms
โœ… DownloadSlotManagementTests testStateTransitions_holdingStateIsTracked 4ms
โœ… DownloadStateMachineIntegrationTests testState_borrowResultsInHold_setsHoldingState 4ms
โœ… DownloadStateMachineIntegrationTests testState_completeFailedDownloadWithRetryFlow 4ms
โœ… DownloadStateMachineIntegrationTests testState_completeSuccessfulDownloadFlow 4ms
โœ… DownloadStateMachineIntegrationTests testState_downloadFailedToDownloading_retryTransition 7ms
โœ… DownloadStateMachineIntegrationTests testState_downloadNeededToDownloading_validTransition 4ms
โœ… DownloadStateMachineIntegrationTests testState_downloadingToDownloadFailed_validTransition 4ms
โœ… DownloadStateMachineIntegrationTests testState_downloadingToDownloadSuccessful_validTransition 4ms
โœ… DownloadStateMachineIntegrationTests testState_holdReadyToDownload_transitionsCorrectly 4ms
โœ… DownloadStateMachineIntegrationTests testState_unregisteredToDownloadNeeded_validTransition 4ms
โœ… DownloadStateMachineTests testState_downloadFailed_canRetry 6ms
โœ… DownloadStateMachineTests testState_downloadNeeded_canTransitionToDownloadSuccessful 12ms
โœ… DownloadStateMachineTests testState_downloadNeeded_canTransitionToDownloading 7ms
โœ… DownloadStateMachineTests testState_downloading_canTransitionToFailed 6ms
โœ… DownloadStateMachineTests testState_downloading_canTransitionToSuccess 6ms
โœ… DownloadStateManagerTests testBookIdentifierToDownloadTask_storesAndRetrieves 31ms
โœ… DownloadStateManagerTests testCleanupDownload_removesAllTracking 5ms
โœ… DownloadStateManagerTests testCleanupDownload_withoutTaskId_stillCleansInfo 3ms
โœ… DownloadStateManagerTests testConcurrentAccess_doesNotCrash 24ms
โœ… DownloadStateManagerTests testDownloadInfoAsync_cachesInCoordinator 97ms
โœ… DownloadStateManagerTests testDownloadInfoAsync_existingEntry_returnsInfo 4ms
โœ… DownloadStateManagerTests testDownloadInfoAsync_missingEntry_returnsNil 8ms
โœ… DownloadStateManagerTests testDownloadInfo_sync_returnsNilForMissing 2ms
โœ… DownloadStateManagerTests testDownloadProgress_noInfo_returnsZero 3ms
โœ… DownloadStateManagerTests testInit_defaultMaxConcurrentDownloads 4ms
โœ… DownloadStateManagerTests testInit_emptyCollections 3ms
โœ… DownloadStateManagerTests testMaxConcurrentDownloads_canBeChanged 2ms
โœ… DownloadStateManagerTests testResetAll_clearsEverything 9ms
โœ… DownloadStateManagerTests testTaskIdentifierToBook_storesAndRetrieves 7ms
โŒ DownloadWatchdogTests testDefaultConfiguration <1ms
โœ… DownloadWatchdogTests testStartAndStop 21ms
โœ… DownloadWatchdogTests testWatchdogConfiguration 11ms
โœ… EPUBModuleTests testEPUBModule_canBeInitialized 4ms
โœ… EPUBModuleTests testEPUBModule_conformsToReaderFormatModule 6ms
โœ… EPUBModuleTests testReaderError_epubNotValid_exists 4ms
โœ… EPUBModuleTests testReaderError_epubNotValid_isError 4ms
โœ… EPUBPositionTests testBookLocation_CreationFromDictionary 4ms
โœ… EPUBPositionTests testBookLocation_CreationWithValidData 5ms
โœ… EPUBPositionTests testBookLocation_DictionaryRoundTrip 2ms
โœ… EPUBPositionTests testBookLocation_FailsWithMissingLocationString 4ms
โœ… EPUBPositionTests testBookLocation_FailsWithMissingRenderer 2ms
โœ… EPUBPositionTests testLocationSimilarity_DifferentProgressions 52ms
โœ… EPUBPositionTests testLocationSimilarity_IdenticalLocations 2ms
โœ… EPUBPositionTests testThrottlingInterval_Value 3ms
โœ… EPUBSearchViewModelTests testClearSearch_ResetsState 23ms
โœ… EPUBSearchViewModelTests testFetchNextBatch_WhenNotIdle_DoesNothing 4ms
โœ… EPUBSearchViewModelTests testFetchNextBatch_WithMoreResults_AppendsResults 4ms
โœ… EPUBSearchViewModelTests testInit_HasCorrectDefaults 12ms
โœ… EPUBSearchViewModelTests testSearch_CancelsInFlight_OnNewQuery 3ms
โœ… EPUBSearchViewModelTests testSearch_FiltersDuplicateResults 5ms
โœ… EPUBSearchViewModelTests testSearch_GroupsResultsByTitle 17ms
โœ… EPUBSearchViewModelTests testSearch_PublicationNotSearchable_SetsFailureState 4ms
โœ… EPUBSearchViewModelTests testSearch_SetsIsSearching 3ms
โœ… EPUBSearchViewModelTests testSearch_WithEmptyQuery_DoesNotSearch 4ms
โœ… EPUBSearchViewModelTests testSearch_WithError_SetsErrorMessage 9ms
โœ… EPUBSearchViewModelTests testSearch_WithIteratorError_SetsErrorState 7ms
โœ… EPUBSearchViewModelTests testSearch_WithNoResults_SetsEmptyState 4ms
โœ… EPUBSearchViewModelTests testSearch_WithResults_UpdatesResults 3ms
โœ… EPUBSearchViewModelTests testSearch_WithValidQuery_PerformsSearch 3ms
โœ… EPUBSearchViewModelTests testSelectResult_NavigatesToLocation 2ms
โœ… EPUBSearchViewModelTests testSelectResult_WithNilDelegate_DoesNotCrash 7ms
โœ… EPUBSearchViewModelTests testState_IsLoadingState_ReturnsCorrectValues 4ms
โœ… EPUBToolbarToggleTests testDoubleToggle_restoresOriginalState 2ms
โœ… EPUBToolbarToggleTests testDualPath_edgeTap_doesNotToggleToolbar 2ms
โœ… EPUBToolbarToggleTests testFixedDualPath_centerTap_togglesToolbarExactlyOnce 2ms
โœ… EPUBToolbarToggleTests testFixedDualPath_repeatedCenterTaps_alternateToolbarState 2ms
โœ… EPUBToolbarToggleTests testKeyboardNavigable_doubleToggle_restoresState 3ms
โœ… EPUBToolbarToggleTests testKeyboardNavigable_toggleToolbar_changesState 2ms
โœ… EPUBToolbarToggleTests testSingleToggle_changesToolbarVisibility 3ms
โœ… EPUBToolbarToggleTests testTapRegion_atExactThreshold_isEdge 22ms
โœ… EPUBToolbarToggleTests testTapRegion_centerOfViewport_isCenter 2ms
โœ… EPUBToolbarToggleTests testTapRegion_justPastThreshold_isCenter 4ms
โœ… EPUBToolbarToggleTests testTapRegion_leftEdge_isLeftEdge 2ms
โœ… EPUBToolbarToggleTests testTapRegion_rightEdge_isRightEdge 2ms
โœ… EPUBToolbarToggleTests testTapRegion_zeroWidthViewport_isCenter 2ms
โœ… EPUBToolbarToggleTests testUnfixedDualPath_centerTap_doubleTogglesToolbar 2ms
โœ… EmailAddressTests testEmail_withLeadingWhitespace_isTrimmed 2ms
โœ… EmailAddressTests testEmail_withTrailingWhitespace_isTrimmed 2ms
โœ… EmailAddressTests testEquality_differentRawValue_haveDifferentRawValue 3ms
โœ… EmailAddressTests testEquality_sameRawValue_haveSameRawValue 2ms
โœ… EmailAddressTests testInvalidEmail_emptyString 5ms
โœ… EmailAddressTests testInvalidEmail_justText 5ms
โœ… EmailAddressTests testInvalidEmail_multipleAtSigns 5ms
โœ… EmailAddressTests testInvalidEmail_noAtSign 3ms
โœ… EmailAddressTests testInvalidEmail_noDomain 2ms
โœ… EmailAddressTests testInvalidEmail_noLocalPart 2ms
โœ… EmailAddressTests testRawValue_matchesInput 2ms
โœ… EmailAddressTests testValidEmail_simpleAddress 3ms
โœ… EmailAddressTests testValidEmail_withDots 3ms
โœ… EmailAddressTests testValidEmail_withNumbers 5ms
โœ… EmailAddressTests testValidEmail_withPlus 3ms
โœ… EmailAddressTests testValidEmail_withSubdomain 10ms
โœ… EpubSampleFactoryTests testCreateSample_withBookWithoutSample_returnsError 5ms
โœ… EpubSampleFactoryTests testEpubLocationSampleURL_storesURL 8ms
โœ… EpubSampleFactoryTests testEpubLocationSampleURL_urlIsAccessible 4ms
โœ… EpubSampleFactoryTests testEpubSampleWebURL_canBeTreatedAsEpubLocationSampleURL 5ms
โœ… EpubSampleFactoryTests testEpubSampleWebURL_isSubclassOfEpubLocationSampleURL 5ms
โœ… EpubSampleFactoryTests testEpubSampleWebURL_storesURL 59ms
โœ… EpubSampleFactoryTests testSamplePlayerError_fileSaveFailed_exists 11ms
โœ… EpubSampleFactoryTests testSamplePlayerError_fileSaveFailed_withUnderlyingError 2ms
โœ… EpubSampleFactoryTests testSamplePlayerError_noSampleAvailable_exists 2ms
โœ… EpubSampleFactoryTests testSamplePlayerError_sampleDownloadFailed_exists 2ms
โœ… EpubSampleFactoryTests testSamplePlayerError_sampleDownloadFailed_withUnderlyingError 2ms
โœ… ErrorActivityTrackerTests testCategoryRawValues 2ms
โœ… ErrorActivityTrackerTests testClear_removesAllEntries 2ms
โœ… ErrorActivityTrackerTests testDisplayString_containsTimestampCategoryAndMessage 5ms
โœ… ErrorActivityTrackerTests testLog_allCategories_areStoredCorrectly 4ms
โœ… ErrorActivityTrackerTests testLog_capturesFileAndLine 2ms
โœ… ErrorActivityTrackerTests testLog_exceedingMaxEntries_trimmsOldest 6ms
โœ… ErrorActivityTrackerTests testLog_multipleEntries_preservesOrder 3ms
โœ… ErrorActivityTrackerTests testLog_singleEntry_appearsInSnapshot 3ms
โœ… ErrorActivityTrackerTests testLog_timestampsAreMonotonicallyIncreasing 4ms
โœ… ErrorActivityTrackerTests testRecentActivities_defaultParameter_returns5Minutes 3ms
โœ… ErrorActivityTrackerTests testRecentActivities_filtersOldEntries 2ms
โœ… ErrorActivityTrackerTests testShortSource_containsFileAndLine 2ms
โœ… ErrorDetailTests testBookInfo_withNilIdentifier_isNil 81ms
โœ… ErrorDetailTests testCapture_populatesBasicFields 8ms
โœ… ErrorDetailTests testCapture_populatesDeviceContext 18ms
โœ… ErrorDetailTests testCapture_withBookInfo_populatesBookContext 98ms
โœ… ErrorDetailTests testCapture_withError_storesUnderlyingError 21ms
โœ… ErrorDetailTests testCapture_withoutBookInfo_bookInfoIsNil 264ms
โœ… ErrorDetailTests testFormattedReport_containsActivityTrailSection 10ms
โœ… ErrorDetailTests testFormattedReport_containsDeviceSection 29ms
โœ… ErrorDetailTests testFormattedReport_containsErrorSection 5ms
โœ… ErrorDetailTests testFormattedReport_containsHeader 7ms
โœ… ErrorDetailTests testFormattedReport_withBookInfo_containsBookSection 10ms
โœ… ErrorDetailTests testFormattedReport_withError_containsErrorDetails 53ms
โœ… ErrorDetailViewControllerGapTests testErrorDetailVC_rendersDeviceContextLines 22ms
โœ… ErrorDetailViewControllerGapTests testErrorDetailVC_rendersFieldsCorrectly 204ms
โœ… ErrorDetailViewControllerGapTests testErrorDetailVC_rendersSectionsCorrectly 14ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_Init_SetsTitle 19ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_NavigationItems_AreConfigured 25ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_RenderContent_ContainsDeviceFields 26ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_RenderContent_ContainsErrorTitle 11ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_RenderContent_ContainsSection 24ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_RenderContent_EmptyTrailShowsMessage 21ms
โœ… ErrorDetailViewControllerTests testErrorDetailViewController_ViewDidLoad_HasTextView 312ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_ContainsActivityTrailSection 5ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_ContainsDeviceSection 5ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_ContainsErrorHeader 5ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_ContainsMessage 5ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_ContainsTimestamp 5ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_ContainsTitle 6ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_DeviceContextFields 6ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_EmptyActivityTrail 6ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_WithBookInfo_ContainsBookSection 5ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_WithNoBookInfo_OmitsBookSection 6ms
โœ… ErrorDetailViewControllerTests testErrorDetail_FormattedReport_WithUnderlyingError_ContainsDomain 8ms
โœ… ErrorLogExporterTests testErrorLogData_deviceLogsField_acceptsEmptyData 14ms
โœ… ErrorLogExporterTests testErrorLogData_deviceLogsField_acceptsLargeData 4ms
โœ… ErrorLogExporterTests testErrorLogData_initializesWithAllFields 2ms
โœ… ErrorLogExporterTests testErrorLogExporter_sharedInstance_isNotNil 16ms
โœ… ErrorLogExporterTests testPP3651_collectLogsForPreview_containsPatronIDField 11.25s
โœ… ExpiredLoanStringsTests testExpiredLoanMessageWithDate_containsFormatSpecifier 2ms
โœ… ExpiredLoanStringsTests testExpiredLoanMessageWithDate_formatsDateCorrectly 4ms
โœ… ExpiredLoanStringsTests testExpiredLoanMessage_isNonEmpty 3ms
โœ… ExpiredLoanStringsTests testExpiredLoanMessage_mentionsRemoval 2ms
โœ… ExpiredLoanStringsTests testExpiredLoanTitle_isNonEmpty 2ms
โœ… FacetEnumTests testFacet_LocalizedStrings_AreDistinct 2ms
โœ… FacetEnumTests testFacet_LocalizedStrings_AreNotEmpty 2ms
โœ… FacetEnumTests testFacet_LocalizedStrings_MatchStringsFile 3ms
โœ… FacetToolbarAccessibilityTests testFilterButtonLabel_differsBasedOnFilterState 5ms
โœ… FacetToolbarAccessibilityTests testFilterButtonLabel_noFiltersApplied 4ms
โœ… FacetToolbarAccessibilityTests testFilterButtonLabel_withFiltersApplied 9ms
โœ… FacetToolbarAccessibilityTests testSortButtonLabel_hasConsistentFormat 5ms
โœ… FacetToolbarAccessibilityTests testSortButtonLabel_includesSortOption 2ms
โœ… FacetViewModelLogoDelegateTests testAccountScreenURL_WithValidHomePageURL 4ms
โœ… FacetViewModelLogoDelegateTests testActiveSort_DefaultsToFirstFacet_AuthorFirst 2ms
โœ… FacetViewModelLogoDelegateTests testActiveSort_DefaultsToFirstFacet_TitleFirst 5ms
โœ… FacetViewModelLogoDelegateTests testLogoDidUpdate_SetsLogo 33ms
โœ… FacetViewModelTests testActiveSortPublished 4ms
โœ… FacetViewModelTests testChangingSortMultipleTimes 2ms
โœ… FacetViewModelTests testCurrentAccountURLWithNilAccount 4ms
โœ… FacetViewModelTests testEmptyGroupName 2ms
โœ… FacetViewModelTests testFacetLocalizedStrings 5ms
โœ… FacetViewModelTests testFacetRawValues 38ms
โœ… FacetViewModelTests testFacetsArrayPublished 5ms
โœ… FacetViewModelTests testGroupNamePublished 6ms
โœ… FacetViewModelTests testGroupNameWithSpecialCharacters 6ms
โœ… FacetViewModelTests testInitWithAuthorAndTitleFacets 18ms
โœ… FacetViewModelTests testInitWithSingleFacet 5ms
โœ… FacetViewModelTests testInitWithTitleFirst 2ms
โœ… FacetViewModelTests testLogoInitiallyNilWithoutAccount 2ms
โœ… FacetViewModelTests testMultipleSubscribersToActiveSort 3ms
โœ… FacetViewModelTests testSettingSameSortValue 5ms
โœ… FacetViewModelTests testShowAccountScreenInitiallyFalse 4ms
โœ… FacetViewModelTests testShowAccountScreenToggle 4ms
โœ… FacetViewModelTests testUpdatingFacetsDoesNotChangeActiveSort 3ms
โœ… FacetsSelectorSnapshotTests testEntryPointsSelectorView_darkMode 2ms
โœ… FacetsSelectorSnapshotTests testEntryPointsSelectorView_threeTabs 59ms
โœ… FacetsSelectorSnapshotTests testEntryPointsSelectorView_twoTabs 3ms
โœ… FacetsSelectorSnapshotTests testFacetsSelectorView_darkMode 14ms
โœ… FacetsSelectorSnapshotTests testFacetsSelectorView_emptyGroups 2ms
โœ… FacetsSelectorSnapshotTests testFacetsSelectorView_manyFilters 3ms
โœ… FacetsSelectorSnapshotTests testFacetsSelectorView_multipleGroups 4ms
โœ… FacetsSelectorSnapshotTests testFacetsSelectorView_noActiveFilter 2ms
โœ… FacetsSelectorSnapshotTests testFacetsSelectorView_singleGroup 2ms
โœ… FetchManifestWithBearerTokenLCPSafetyTests testFetchManifestWithBearerToken_receivingLCPLicense_returnsJSON 14ms
โœ… FetchManifestWithBearerTokenTests testEmptyResponseBody_returnsNil 12ms
โœ… FetchManifestWithBearerTokenTests testHTMLResponse_returnsNil 17ms
โœ… FetchManifestWithBearerTokenTests testHTTP401_returnsNil 16ms
โœ… FetchManifestWithBearerTokenTests testHTTP500_returnsNil 6ms
โœ… FetchManifestWithBearerTokenTests testInvalidJSON_returnsNil 31ms
โœ… FetchManifestWithBearerTokenTests testJSONArray_returnsNil 14ms
โœ… FetchManifestWithBearerTokenTests testSuccess_requestsFromCorrectURL 15ms
โœ… FetchManifestWithBearerTokenTests testSuccess_returnsManifestJSON 12ms
โœ… FetchManifestWithBearerTokenTests testSuccess_sendsCorrectBearerTokenHeader 12ms
โœ… FetchOpenAccessManifestLCPSafetyTests testBearerTokenResponseVsLCPLicense_areDistinct 2ms
โœ… FetchOpenAccessManifestLCPSafetyTests testLCPLicenseResponse_notDetectedAsBearerToken_inFetchFlow 2ms
โœ… FetchOpenAccessManifestLCPSafetyTests testLCPLicenseResponse_wouldBeReturnedAsManifest_withoutRouting 3ms
โœ… FetchOpenAccessManifestLCPSafetyTests testManifestVsLCPLicense_structuralDifferences 4ms
โœ… FileURLGenerationTests testFileUrl_contentDirectoryExists 6ms
โœ… FileURLGenerationTests testFileUrl_deterministicForSameIdentifier 22ms
โœ… FileURLGenerationTests testFileUrl_epubBook_hasEpubExtension 12ms
โœ… FloatTPPAdditionsTests testApproxEqual_DifferentValues_ReturnsFalse 2ms
โœ… FloatTPPAdditionsTests testApproxEqual_IdenticalValues_ReturnsTrue 2ms
โœ… FloatTPPAdditionsTests testApproxEqual_NegativeVsPositive_ReturnsFalse 2ms
โœ… FloatTPPAdditionsTests testApproxEqual_NilValue_ReturnsFalse 2ms
โœ… FloatTPPAdditionsTests testApproxEqual_Symmetry_WorksBothWays 2ms
โœ… FloatTPPAdditionsTests testApproxEqual_WithinEpsilon_ReturnsTrue 2ms
โœ… FloatTPPAdditionsTests testApproxEqual_ZeroValues_ReturnsTrue 2ms
โœ… FloatTPPAdditionsTests testRoundTo_AppendsPercentSign 5ms
โœ… FloatTPPAdditionsTests testRoundTo_ThreeDecimalPlaces_FormatsCorrectly 1ms
โœ… FloatTPPAdditionsTests testRoundTo_TwoDecimalPlaces_FormatsCorrectly 3ms
โœ… FloatTPPAdditionsTests testRoundTo_ZeroDecimalPlaces_FormatsCorrectly 2ms
โœ… FocusIndicationTests testAccessibilityElements_areOrderedLogically 4ms
โœ… FocusIndicationTests testCatalogCell_accessibilityLabelBehavior 4ms
โœ… FocusIndicationTests testFocusColor_hasSufficientContrastInDarkMode 2ms
โœ… FocusIndicationTests testFocusColor_hasSufficientContrastInLightMode 3ms
โœ… FocusIndicationTests testFocusableButton_hasFocusEffect 5ms
โœ… FocusIndicationTests testReaderToolbar_buttonsInLogicalOrder 6ms
โœ… FocusIndicationTests testTPPRoundedButton_isAccessible 3ms
โœ… FontManagerTests testAllFontFamiliesHaveCSSValue 2ms
โœ… FontManagerTests testAllFontFamiliesHaveCategory 2ms
โœ… FontManagerTests testAllFontFamiliesHaveDisplayName 2ms
โœ… FontManagerTests testAllFontFamiliesHavePreviewText 2ms
โœ… FontManagerTests testAvailableFamiliesNotEmpty 2ms
โœ… FontManagerTests testFamilyAvailabilityForSystemFonts 1ms
โœ… FontManagerTests testFontFamilyCategorization 2ms
โœ… FontManagerTests testFontFamilyIsCodable 5ms
โœ… FontManagerTests testFontsInCategory 2ms
โœ… FontManagerTests testNonExistentFontIsNotAvailable 4ms
โœ… FontManagerTests testOpenDyslexicCSSContainsFontName 1ms
โœ… FontManagerTests testRegisterCustomFontsDoesNotCrash 18ms
โœ… FontManagerTests testRegisterNonexistentFontReturnsFalse 2ms
โœ… FontManagerTests testSharedInstanceExists 5ms
โœ… FontManagerTests testSwiftUIFontCreation 2ms
โœ… FontManagerTests testSystemFontsAreAvailable 3ms
โœ… FontManagerTests testUIFontCreation 4ms
โœ… GeneralCacheTests testCachePolicy_cacheFirst_callsFetcher_onCacheMiss 5ms
โœ… GeneralCacheTests testCachePolicy_cacheFirst_returnsCachedValue_whenPresent 5ms
โœ… GeneralCacheTests testCachePolicy_cacheFirst_usesCache_whenFetcherFails 3ms
โœ… GeneralCacheTests testCachePolicy_noCache_alwaysFetches 5ms
โœ… GeneralCacheTests testCache_withCodableValues 6ms
โœ… GeneralCacheTests testCache_withIntKeys 5ms
โœ… GeneralCacheTests testClearMemory_removesMemoryEntries 5ms
โœ… GeneralCacheTests testClear_removesAllEntries 3ms
โœ… GeneralCacheTests testDiskCache_persistsValue 6ms
โœ… GeneralCacheTests testFileURL_returnsURL 3ms
โœ… GeneralCacheTests testGet_unknownKey_returnsNil 2ms
โœ… GeneralCacheTests testMemoryAndDisk_persistsValue 12ms
โœ… GeneralCacheTests testNoneMode_doesNotStore 4ms
โœ… GeneralCacheTests testRemove_deletesEntry 5ms
โœ… GeneralCacheTests testRemove_nonexistentKey_doesNotCrash 2ms
โœ… GeneralCacheTests testSet_andGet_returnsValue 5ms
โœ… GeneralCacheTests testSet_overwrite_updatesValue 7ms
โœ… GeneralCacheTests testSet_withExpiration_isAvailableBeforeExpiry 2ms
โœ… GroupEnumTests testGroup_UsedAsSection_FacetViewModelGroupNameMatches 14ms
โœ… HTMLTextViewTests testAngleBracketsWithSpaces 27ms
โœ… HTMLTextViewTests testBOMCausesIssuesWithoutSanitization 92ms
โœ… HTMLTextViewTests testBOMCharacter 33ms
โœ… HTMLTextViewTests testBOMCharacterIsRemoved 53ms
โœ… HTMLTextViewTests testControlCharacters 46ms
โœ… HTMLTextViewTests testControlCharactersAreRemoved 39ms
โœ… HTMLTextViewTests testControlCharactersCauseIssuesWithoutSanitization 86ms
โœ… HTMLTextViewTests testDataURL 99ms
โœ… HTMLTextViewTests testDeeplyNestedTags 64ms
โœ… HTMLTextViewTests testDefensiveMeasuresPreventCrashes 635ms
โœ… HTMLTextViewTests testEmptyParagraph 32ms
โœ… HTMLTextViewTests testEmptyString 2ms
โœ… HTMLTextViewTests testExistingDoctypeNotDoubleWrapped 48ms
โœ… HTMLTextViewTests testExistingHTMLTagNotDoubleWrapped 29ms
โœ… HTMLTextViewTests testFallbackStripsHTMLTags 30ms
โœ… HTMLTextViewTests testFastPathLongContent 10ms
โœ… HTMLTextViewTests testFastPathLongContentWithHTML 24ms
โœ… HTMLTextViewTests testFastPathNoHTMLTags 2ms
โœ… HTMLTextViewTests testFormElements 85ms
โœ… HTMLTextViewTests testHTML5Elements 43ms
โœ… HTMLTextViewTests testHTMLDocumentWrapping 1.35s
โœ… HTMLTextViewTests testHTMLEntities 31ms
โœ… HTMLTextViewTests testHTMLTagsAreNotDisplayedAsText 289ms
โœ… HTMLTextViewTests testHTMLWithMultipleTags 45ms
โœ… HTMLTextViewTests testInvalidUTF8Sequence 61ms
โœ… HTMLTextViewTests testLeadingWhitespaceIsTrimmed 33ms
โœ… HTMLTextViewTests testMalformedBrokenAttributes 33ms
โœ… HTMLTextViewTests testMalformedEmptyTags 40ms
โœ… HTMLTextViewTests testMalformedNestedTags 27ms
โœ… HTMLTextViewTests testMalformedOnlyClosingTag 36ms
โœ… HTMLTextViewTests testMalformedOnlyOpeningTag 34ms
โœ… HTMLTextViewTests testMalformedRandomAngleBrackets 39ms
โœ… HTMLTextViewTests testMalformedTable 43ms
โœ… HTMLTextViewTests testMalformedUnclosedTags 45ms
โœ… HTMLTextViewTests testMathMLContent 116ms
โœ… HTMLTextViewTests testMixedContentRapidCalls 2.33s
โœ… HTMLTextViewTests testMultipleDoctypes 29ms
โœ… HTMLTextViewTests testMultipleEmptyParagraphs 31ms
โœ… HTMLTextViewTests testNullCharacterInHTML 55ms
โœ… HTMLTextViewTests testNumericEntities 39ms
โœ… HTMLTextViewTests testOPDSSummaryPatterns 156ms
โœ… HTMLTextViewTests testOnlyAngleBracket 30ms
โœ… HTMLTextViewTests testOnlyClosingAngleBracket 2ms
โœ… HTMLTextViewTests testOnlyWhitespaceBeforeTag 31ms
โœ… HTMLTextViewTests testPlainTextWithoutHTML 4ms
โœ… HTMLTextViewTests testProcessingInstruction 38ms
โœ… HTMLTextViewTests testRapidBookDetailViewSimulation 6.81s
โœ… HTMLTextViewTests testRapidSequentialCalls 3.33s
โœ… HTMLTextViewTests testRefugeeGraphicNovelSummaryPattern 457ms
โœ… HTMLTextViewTests testSVGContent 58ms
โœ… HTMLTextViewTests testSafeVsUnsafeParsingComparison 436ms
โœ… HTMLTextViewTests testScriptTag 27ms
โœ… HTMLTextViewTests testSimpleHTMLParagraph 43ms
โœ… HTMLTextViewTests testStartsWithCDATA 37ms
โœ… HTMLTextViewTests testStartsWithClosingTag 28ms
โœ… HTMLTextViewTests testStartsWithComment 34ms
โœ… HTMLTextViewTests testStartsWithDoctype 33ms
โœ… HTMLTextViewTests testStartsWithEndOfDocument 47ms
โœ… HTMLTextViewTests testStartsWithXMLDeclaration 30ms
โœ… HTMLTextViewTests testStyleTag 32ms
โœ… HTMLTextViewTests testSummaryWithLineBreaks 35ms
โœ… HTMLTextViewTests testSummaryWithLinks 34ms
โœ… HTMLTextViewTests testTableHTML 43ms
โœ… HTMLTextViewTests testTypicalBookDescriptionHTML 38ms
โœ… HTMLTextViewTests testTypicalBookSummary 69ms
โœ… HTMLTextViewTests testUnclosedScriptTag 38ms
โœ… HTMLTextViewTests testUnexpectedSummaryStarts 243ms
โœ… HTMLTextViewTests testUnicodeContent 126ms
โœ… HTMLTextViewTests testVeryLongAttribute 42ms
โœ… HTMLTextViewTests testWhitespaceOnly 4ms
โœ… HoldNotificationClassificationTests testIsHoldRelated_withGenericType_returnsFalse 19ms
โœ… HoldNotificationClassificationTests testIsHoldRelated_withTypeHold_returnsTrue 3ms
โœ… HoldNotificationClassificationTests testIsHoldRelated_withTypeReservation_returnsTrue 2ms
โœ… HoldsBadgeCountTests testBadgeCount_allReserved_returnsZero 9ms
โœ… HoldsBadgeCountTests testBadgeCount_mixedHolds_countsOnlyReady 10ms
โœ… HoldsBadgeCountTests testBadgeCount_multipleReady_countsAll 7ms
โœ… HoldsBadgeCountTests testBadgeCount_noBooks_returnsZero 4ms
โœ… HoldsBadgeCountTests testBadgeCount_oneReadyBook_returnsOne 5ms
โœ… HoldsBadgeCountTests testBadgeCount_oneReservedBook_returnsZero 4ms
โœ… HoldsBadgeCountTests testBadgeCount_regularBook_notCounted 4ms
โœ… HoldsBadgeCountTests testReadyBookHasReadyAvailability 5ms
โœ… HoldsBadgeCountTests testReservedBookHasReservedAvailability 4ms
โœ… HoldsBookViewModelTests testBookPropertyReturnsCorrectBook 4ms
โœ… HoldsBookViewModelTests testHoldReady_DistinguishesFromReserved 8ms
โœ… HoldsBookViewModelTests testHoldReady_IdentifiesReadyHolds 6ms
โœ… HoldsBookViewModelTests testIdMatchesBookIdentifier 6ms
โœ… HoldsBookViewModelTests testIsReservedForHoldBook 7ms
โœ… HoldsBookViewModelTests testIsReservedForNonReservedBook 9ms
โœ… HoldsBookViewModelTests testIsReservedForReadyBook 4ms
โœ… HoldsBookViewModelTests testIsReserved_WithLimitedAvailability_ReturnsFalse 4ms
โœ… HoldsSnapshotTests testHoldsBookList 10ms
โœ… HoldsSnapshotTests testHoldsBookList_darkMode 9ms
โœ… HoldsSnapshotTests testHoldsEmptyState 5ms
โœ… HoldsSnapshotTests testHoldsEmptyState_darkMode 2ms
โœ… HoldsSnapshotTests testHoldsLoadingState 5ms
โœ… HoldsSnapshotTests testHoldsSearchBar_empty 10ms
โœ… HoldsSnapshotTests testHoldsSearchBar_withText 2ms
โœ… HoldsSyncFailureTests testDismissSyncError_ClearsError 2ms
โœ… HoldsSyncFailureTests testSyncBegan_ClearsPreviousSyncError 8ms
โœ… HoldsSyncFailureTests testSyncFailure_SetsSyncError 6ms
โœ… HoldsSyncFailureTests testSyncFailure_StaleDataPersists_ButErrorIsVisible 6ms
โœ… HoldsSyncFailureTests testSyncFailure_StopsLoading 4ms
โœ… HoldsSyncFailureTests testSyncFailure_WithProblemDocument_ShowsServerMessage 11ms
โœ… HoldsSyncFailureTests testSyncFailure_WithTitleOnly_UsesTitle 8ms
โœ… HoldsSyncFailureTests testSyncFailure_WithoutProblemDocument_ShowsGenericMessage 7ms
โœ… HoldsViewModelTests testFilterBooksWithEmptyQueryReturnsAll 9ms
โœ… HoldsViewModelTests testFilterBooksWithQuery 8ms
โœ… HoldsViewModelTests testFilterBooks_CaseInsensitive 7ms
โœ… HoldsViewModelTests testFilterBooks_WithAuthorMatch_ReturnsMatchingBooks 12ms
โœ… HoldsViewModelTests testFilterBooks_WithTitleMatch_ReturnsMatchingBooks 30ms
โœ… HoldsViewModelTests testInitialState_EmptyBookLists 6ms
โœ… HoldsViewModelTests testInitialState_HasCorrectDefaults 4ms
โœ… HoldsViewModelTests testIsLoading_PublishesChanges 9ms
โœ… HoldsViewModelTests testLoadHolds_WithEmptyResult_SetsEmptyState 5ms
โœ… HoldsViewModelTests testLoadHolds_WithSuccess_UpdatesHolds 13ms
โœ… HoldsViewModelTests testOpenSearchDescriptionHumanReadableDescription 7ms
โœ… HoldsViewModelTests testOpenSearchDescription_IncludesAllBooks 12ms
โœ… HoldsViewModelTests testRegistryDidChange_ReloadsData 642ms
โœ… HoldsViewModelTests testReloadData_CallsMethod 8ms
โœ… HoldsViewModelTests testReloadData_HandlesMultipleBooks 15ms
โœ… HoldsViewModelTests testReloadData_SeparatesReservedAndReadyBooks 20ms
โœ… HoldsViewModelTests testSearchQueryUpdate 2ms
โœ… HoldsViewModelTests testSelectNewLibraryToggle 6ms
โœ… HoldsViewModelTests testShowLibraryAccountViewToggle 3ms
โœ… HoldsViewModelTests testShowSearchSheetToggle 35ms
โœ… HoldsViewModelTests testSyncBeganSetsLoadingTrue 9ms
โœ… HoldsViewModelTests testSyncEndedSetsLoadingFalse 310ms
โœ… HoldsViewModelTests testVisibleBooks_PublishesChanges 313ms
โœ… ImageCacheTypeTests testImageCacheType_defaultSetUses7DayTTL 4ms
โœ… IntExtensionsTests testOrdinal_FourAndAbove_ReturnsTh 6ms
โœ… IntExtensionsTests testOrdinal_One_ReturnsFirst 3ms
โœ… IntExtensionsTests testOrdinal_Three_ReturnsThird 3ms
โœ… IntExtensionsTests testOrdinal_TwentyFirstPattern_ReturnsCorrectSuffix 23ms
โœ… IntExtensionsTests testOrdinal_Two_ReturnsSecond 2ms
โœ… IntExtensionsTests testOrdinal_Zero_ReturnsZeroth 4ms
โœ… KeyboardNavigationFKATests testFKA_escapeKey_isStillConsumed 14ms
โœ… KeyboardNavigationFKATests testFKA_leftArrow_isNotConsumed 8ms
โœ… KeyboardNavigationFKATests testFKA_pageDown_isStillConsumed 18ms
โœ… KeyboardNavigationFKATests testFKA_pageUp_isStillConsumed 28ms
โœ… KeyboardNavigationFKATests testFKA_rightArrow_isNotConsumed 249ms
โœ… KeyboardNavigationFKATests testFKA_spaceKey_isStillConsumed 5ms
โœ… KeyboardNavigationFKATests testHandleCommand_goBackward_navigatesLeft 4ms
โœ… KeyboardNavigationFKATests testHandleCommand_goForward_navigatesRight 3ms
โœ… KeyboardNavigationFKATests testHandleCommand_toggleUI_togglesToolbar 5ms
โœ… KeyboardNavigationFKATests testHandleKeyEvent_whenNavigableIsNil_returnsFalse 6ms
โœ… KeyboardNavigationFKATests testNoFKA_rightArrow_isConsumed 3ms
โœ… KeyboardNavigationHandlerTests testArrowKeyRelease_doesNotTurnPage 16ms
โœ… KeyboardNavigationHandlerTests testArrowKey_withCommandModifier_doesNotTurnPage 2ms
โœ… KeyboardNavigationHandlerTests testArrowKey_withShiftModifier_doesNotTurnPage 2ms
โœ… KeyboardNavigationHandlerTests testEscapeKeyRelease_doesNotToggleToolbar 2ms
โœ… KeyboardNavigationHandlerTests testEscapeKey_whenToolbarHidden_togglesToolbar 2ms
โœ… KeyboardNavigationHandlerTests testEscapeKey_whenToolbarVisible_togglesToolbar 2ms
โœ… KeyboardNavigationHandlerTests testEscapeKey_withModifier_doesNotToggleToolbar 2ms
โœ… KeyboardNavigationHandlerTests testLeftArrow_whenToolbarHidden_goesToPreviousPage 2ms
โœ… KeyboardNavigationHandlerTests testLeftArrow_whenToolbarVisible_doesNotChangePage 2ms
โœ… KeyboardNavigationHandlerTests testPageDown_whenToolbarHidden_advancesPage 3ms
โœ… KeyboardNavigationHandlerTests testPageUp_whenToolbarHidden_goesBackward 2ms
โœ… KeyboardNavigationHandlerTests testRightArrow_whenToolbarHidden_advancesToNextPage 2ms
โœ… KeyboardNavigationHandlerTests testRightArrow_whenToolbarVisible_doesNotChangePage 2ms
โœ… KeyboardNavigationHandlerTests testSpaceKey_whenToolbarHidden_advancesPage 9ms
โœ… KeyboardNavigationHandlerTests testSpaceKey_whenToolbarVisible_doesNotAdvancePage 2ms
โœ… KeyboardNavigationHandlerTests testUnhandledKey_isNotConsumed 2ms
โœ… KeyboardVoiceOverTests testEscapeKey_respectsVoiceOverToolbarBehavior 5ms
โœ… KeyboardVoiceOverTests testKeyboardHandler_doesNotBlockAccessibilityNotifications 5ms
โœ… KeyboardVoiceOverTests testKeyboardNavigation_worksRegardlessOfVoiceOverState 4ms
โœ… KeyboardVoiceOverTests testNavigationActions_haveAccessibilityLabels 16ms
โœ… KeyboardVoiceOverTests testReaderViewController_voiceOverObserverExists 43ms
โœ… KeyboardVoiceOverTests testSettingsButton_hasAccessibilityLabel 24ms
โœ… KeyboardVoiceOverTests testTouchNavigation_notAffectedByKeyboardSupport 2ms
โœ… LCPAudiobookURLSchemeTests testHTTPURLConversion_toReadiumLCPScheme 2ms
โœ… LCPAudiobookURLSchemeTests testReadiumLCPScheme_isCorrect 2ms
โœ… LCPAudiobookURLSchemeTests testReadiumLCPURL_preservesPath 2ms
โœ… LCPAudiobookURLSchemeTests testReadiumLCPURL_preservesQueryParameters 2ms
โœ… LCPAudiobooksTests testCachedContentDictionary_initiallyReturnsNil 7ms
โœ… LCPAudiobooksTests testCanOpenBook_withEpub_returnsFalse 4ms
โœ… LCPAudiobooksTests testCanOpenBook_withLCPAudiobook_returnsTrue 6ms
โœ… LCPAudiobooksTests testCanOpenBook_withNonLCPAudiobook_returnsFalse 10ms
โœ… LCPAudiobooksTests testCanOpenBook_withPDF_returnsFalse 4ms
โœ… LCPAudiobooksTests testCancelPrefetch_doesNotCrash 43ms
โœ… LCPAudiobooksTests testCancelPrefetch_withoutStart_doesNotCrash 3ms
โœ… LCPAudiobooksTests testGetPublication_initiallyReturnsNil 3ms
โœ… LCPAudiobooksTests testInit_withLcplLicenseURL_setsLicenseUrl 4ms
โœ… LCPAudiobooksTests testInit_withNilURL_returnsNil 3ms
โœ… LCPAudiobooksTests testInit_withSeparateLicenseURL_acceptsBothURLs 3ms
โœ… LCPAudiobooksTests testInit_withValidFileURL_createsInstance 2ms
โœ… LCPAudiobooksTests testInit_withValidHTTPURL_createsInstance 4ms
โœ… LCPAudiobooksTests testReleaseResources_canBeCalledMultipleTimes 5ms
โœ… LCPAudiobooksTests testReleaseResources_cancelsPrefetch 6ms
โœ… LCPAudiobooksTests testReleaseResources_clearsPublication 7ms
โœ… LCPAudiobooksTests testStartPrefetch_doesNotCrash 3ms
โœ… LCPAudiobooksTests testSupportsStreaming_returnsTrue 6ms
โœ… LCPLibraryServiceTests testCanFulfill_withAudiobookExtension_returnsFalse 2ms
โœ… LCPLibraryServiceTests testCanFulfill_withEpubExtension_returnsFalse 5ms
โœ… LCPLibraryServiceTests testCanFulfill_withLcpaExtension_returnsFalse 494ms
โœ… LCPLibraryServiceTests testCanFulfill_withLcplExtension_returnsTrue 3ms
โœ… LCPLibraryServiceTests testCanFulfill_withMixedCaseLcplExtension_returnsTrue 3ms
โœ… LCPLibraryServiceTests testCanFulfill_withNoExtension_returnsFalse 547ms
โœ… LCPLibraryServiceTests testCanFulfill_withPdfExtension_returnsFalse 3ms
โœ… LCPLibraryServiceTests testCanFulfill_withUppercaseLcplExtension_returnsTrue 2ms
โœ… LCPLibraryServiceTests testContentProtection_isAvailable 6ms
โœ… LCPLibraryServiceTests testContentProtection_multipleAccess_returnsValue 13ms
โœ… LCPLibraryServiceTests testDecrypt_withEmptyData_returnsNil 3ms
โœ… LCPLibraryServiceTests testDecrypt_withInvalidData_returnsNil 3ms
โœ… LCPLibraryServiceTests testDecrypt_withSmallData_returnsNil 3ms
โœ… LCPLibraryServiceTests testFulfillAsync_withEmptyPath_throwsError 43ms
โœ… LCPLibraryServiceTests testFulfillAsync_withInvalidURL_throwsError 45ms
โœ… LCPLibraryServiceTests testFulfill_reportsProgress 7ms
โœ… LCPLibraryServiceTests testFulfill_withNonExistentFile_callsCompletionWithError 9ms
โœ… LCPLibraryServiceTests testInit_createsInstance 41ms
โœ… LCPLibraryServiceTests testInit_multipleInstances_areIndependent 775ms
โœ… LCPLibraryServiceTests testLicenseExtension_isLcpl 2ms
โœ… LCPLicenseDocumentDetectionTests testLCPLicenseDocument_doesNotContainManifestKeys 2ms
โœ… LCPLicenseDocumentDetectionTests testLCPLicenseDocument_isNotDetectedAsBearerToken 4ms
โœ… LCPLicenseDocumentDetectionTests testLCPLicenseDocument_isValidJSON 4ms
โœ… LCPLicenseDocumentDetectionTests testLCPLicenseDocument_parsedAsManifest_lacksReadingOrder 3ms
โœ… LCPLicenseDocumentDetectionTests testLCPLicenseDocument_withMinimalFields_isNotBearerToken 2ms
โœ… LCPLicenseFilePathTests testLCPLicenseExtension_isLcpl 4ms
โœ… LCPLicenseFilePathTests testLCPLicensePath_derivedFromContentPath 7ms
โœ… LCPLicenseFilePathTests testLCPLicensePath_fromEpubExtension 3ms
โœ… LCPOrphanedDownloadRegistryTests testBookState_downloadSuccessful_withExistingFile_staysDownloadSuccessful 5ms
โœ… LCPOrphanedDownloadRegistryTests testBookState_downloadSuccessful_withMissingFile_transitionsToDownloadNeeded 6ms
โœ… LCPOrphanedDownloadRegistryTests testLCPAudiobook_withBothFiles_remainsDownloadSuccessful 5ms
โœ… LCPOrphanedDownloadRegistryTests testLCPAudiobook_withOnlyLicense_shouldBeConsideredMissing 4ms
โœ… LCPPDFManifestTests testPDFManifest_decodesValidJSON 4ms
โœ… LCPPDFManifestTests testPDFManifest_withEmptyReadingOrder_decodesSuccessfully 6ms
โœ… LCPPDFManifestTests testPDFManifest_withMissingReadingOrder_throwsError 2ms
โœ… LCPPDFsTests testCanOpenBook_withEpub_returnsFalse 42ms
โœ… LCPPDFsTests testCanOpenBook_withLCPAudiobook_returnsFalse 12ms
โœ… LCPPDFsTests testCanOpenBook_withNonLCPPdf_returnsFalse 9ms
โœ… LCPPDFsTests testDecryptData_usesCache 25ms
โœ… LCPPDFsTests testDecryptData_withEmptyData_returnsNil 7ms
โœ… LCPPDFsTests testDecryptData_withStartEqualToEnd_returnsEmptyData 8ms
โœ… LCPPDFsTests testDeletePdfContent_withExistingFile_removesFile 5ms
โœ… LCPPDFsTests testDeletePdfContent_withNonExistentFile_doesNotThrow 2ms
โœ… LCPPDFsTests testInit_withValidURL_createsInstance 10ms
โœ… LCPPDFsTests testTemporaryUrlForPDF_appendsPdfExtension 3ms
โœ… LCPPDFsTests testTemporaryUrlForPDF_differentSourcesProduceDifferentURLs 3ms
โœ… LCPPDFsTests testTemporaryUrlForPDF_sameSourceProducesSameURL 3ms
โœ… LCPPDFsTests testTemporaryUrlForPDF_usesTemporaryDirectory 3ms
โœ… LCPSessionIdentifierTests testSessionIdentifier_isDifferentForDifferentURLs 6ms
โœ… LCPSessionIdentifierTests testSessionIdentifier_isSameAcrossMultipleComputations 12ms
โœ… LCPSessionIdentifierTests testURLHashValue_isNotStableAcrossComputations 69ms
โœ… LatestAudiobookLocationTests testLatestLocation_defaultNil 7ms
โœ… LatestAudiobookLocationTests testLatestLocation_setAndRead 4ms
โœ… LatestAudiobookLocationTests testLatestLocation_threadSafe 5ms
โœ… LicensesServiceTests testAcquirePublication_WithInvalidLCPLFile_CompletesWithError 5ms
โœ… LicensesServiceTests testAcquirePublication_WithNonexistentFile_CompletesWithError 10ms
โœ… LicensesServiceTests testLicensesServiceError_HasDescription 2ms
โœ… LicensesServiceTests testPathInZip_ForAudiobookLCPType_ReturnsLicensePath 2ms
โœ… LicensesServiceTests testPathInZip_ForEpubZipType_ReturnsMetaInfPath 2ms
โœ… LicensesServiceTests testPathInZip_ForNilType_ReturnsNil 2ms
โœ… LicensesServiceTests testPathInZip_ForPDFLCPType_ReturnsLicensePath 2ms
โœ… LicensesServiceTests testPathInZip_ForReadiumLCPPDFType_ReturnsLicensePath 2ms
โœ… LicensesServiceTests testPathInZip_ForReadiumLCPType_ReturnsLicensePath 2ms
โœ… LicensesServiceTests testPathInZip_ForUnknownType_ReturnsNil 3ms
โœ… LogTests testDateFormatter_isConfigured 3ms
โœ… LogTests testDebug_doesNotCrash 6ms
โœ… LogTests testDebug_doesNotPersistToLogger 108ms
โœ… LogTests testError_doesNotCrash 2ms
โœ… LogTests testError_persistsToLogger 9ms
โœ… LogTests testFault_doesNotCrash 4ms
โœ… LogTests testFault_persistsToLogger 34ms
โœ… LogTests testInfo_doesNotCrash 3ms
โœ… LogTests testInfo_doesNotPersistToLogger 118ms
โœ… LogTests testLog_objcCompatibility_doesNotCrash 3ms
โœ… LogTests testLog_withFilePathTag_trimsProperly 40ms
โœ… LogTests testSubsystem_isCorrectValue 2ms
โœ… LogTests testSubsystem_isNotEmpty 2ms
โœ… LogTests testWarn_doesNotCrash 4ms
โœ… LoginKeyboardTests testInit_WithCaseSensitiveString_ReturnsNil 6ms
โœ… LoginKeyboardTests testInit_WithDefaultString_ReturnsStandard 5ms
โœ… LoginKeyboardTests testInit_WithEmailString_ReturnsEmail 6ms
โœ… LoginKeyboardTests testInit_WithEmptyString_ReturnsNil 5ms
โœ… LoginKeyboardTests testInit_WithInvalidString_ReturnsNil 31ms
โœ… LoginKeyboardTests testInit_WithNilString_ReturnsNil 8ms
โœ… LoginKeyboardTests testInit_WithNoInputString_ReturnsNone 22ms
โœ… LoginKeyboardTests testInit_WithNumberPadString_ReturnsNumeric 4ms
โœ… MainActorHelpersTests testBarrierExecutor_Modify_TransformsValue 5ms
โœ… MainActorHelpersTests testBarrierExecutor_ReadInitialValue 4ms
โœ… MainActorHelpersTests testBarrierExecutor_Write_UpdatesValue 2ms
โœ… MainActorHelpersTests testDebouncer_Cancel_PreventsExecution 105ms
โœ… MainActorHelpersTests testDebouncer_OnlExecutesLastCall 157ms
โœ… MainActorHelpersTests testOnceExecutor_ExecutesOnlyOnce 2ms
โœ… MainActorHelpersTests testOnceExecutor_Reset_AllowsReExecution 2ms
โœ… MainActorHelpersTests testRunParallelFireAndForget_EmptyArray_CompletesImmediately 2ms
โœ… MainActorHelpersTests testRunParallelFireAndForget_ExecutesAllTasks 3ms
โœ… MainActorHelpersTests testRunParallel_EmptyArray_ReturnsEmptyArray 7ms
โœ… MainActorHelpersTests testRunParallel_MultipleItems_ReturnsInOriginalOrder 56ms
โœ… MainActorHelpersTests testRunParallel_SingleItem_ReturnsSingleResult 104ms
โœ… MainActorHelpersTests testRunParallel_ThrowingTask_PropagatesError 3ms
โœ… MainActorHelpersTests testSerialExecutor_ExecutesInOrder 2ms
โœ… MainActorHelpersTests testSerialExecutor_WaitForAll_WaitsForCompletion 56ms
โœ… MainActorHelpersTests testTaskSleepSeconds_CompletesAfterDuration 56ms
โœ… MainActorHelpersTests testThrottler_AfterInterval_ExecutesAgain 207ms
โœ… MainActorHelpersTests testThrottler_FirstCall_ExecutesImmediately 2ms
โœ… MainActorHelpersTests testThrottler_RapidCalls_SkipsSubsequent 2ms
โœ… MainActorHelpersTests testWithAsyncCallback_ConvertsCallbackToAsync 3ms
โœ… MainActorHelpersTests testWithAsyncThrowingCallback_Failure_ThrowsError 4ms
โœ… MainActorHelpersTests testWithAsyncThrowingCallback_Success_ReturnsValue 2ms
โœ… MappedCatalogModelTests testEdgeCase_EmptyTitle 4ms
โœ… MappedCatalogModelTests testEdgeCase_LongTitle 6ms
โœ… MappedCatalogModelTests testEdgeCase_ManyLanes 5ms
โœ… MappedCatalogModelTests testEdgeCase_ManyUngroupedBooks 533ms
โœ… MappedCatalogModelTests testInit_CompleteFeedWithAllComponents 5ms
โœ… MappedCatalogModelTests testInit_EmptyFeed 4ms
โœ… MappedCatalogModelTests testInit_GroupedFeedWithLanes 11ms
โœ… MappedCatalogModelTests testInit_StoresAllProperties 12ms
โœ… MappedCatalogModelTests testInit_UngroupedFeedWithBooks 9ms
โœ… MappedCatalogModelTests testInit_WithEntryPoints 8ms
โœ… MappedCatalogModelTests testInit_WithFacetGroups 2ms
โœ… MappedCatalogTests testMappedCatalog_EmptyFeed 2ms
โœ… MappedCatalogTests testMappedCatalog_WithLanes 3ms
โœ… MappedCatalogTests testMappedCatalog_WithUngroupedBooks 6ms
โœ… MyBooksDownloadCenterAdeptGapTests testDownloadCenter_bookStateTransitions_downloadSuccess 215ms
โœ… MyBooksDownloadCenterAdeptGapTests testDownloadCenter_bookStateTransitions_forAdobeAdeptBooks 11ms
โœ… MyBooksDownloadCenterAdeptGapTests testDownloadCenter_downloadProgressPublisher_exists 5ms
โœ… MyBooksSimplifiedBearerTokenTests testFulfillURL_canBeSetAfterInit 2ms
โœ… MyBooksSimplifiedBearerTokenTests testFulfillURL_canBeSetViaInit 6ms
โœ… MyBooksSimplifiedBearerTokenTests testFulfillURL_defaultsToNil 3ms
โœ… MyBooksSimplifiedBearerTokenTests testIsExpired_exactlyNow_returnsTrue 7ms
โœ… MyBooksSimplifiedBearerTokenTests testIsExpired_futureExpiration_returnsFalse 2ms
โœ… MyBooksSimplifiedBearerTokenTests testIsExpired_pastExpiration_returnsTrue 7ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_acceptsExpirationKey 1.26s
โœ… MyBooksSimplifiedBearerTokenTests testParsing_invalidLocationURL_returnsNil 4ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_missingAccessToken_returnsNil 3ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_missingExpiration_returnsNil 2ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_missingLocation_returnsNil 6ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_negativeExpiration_usesDistantFuture 199ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_validDictionary_createsToken 6ms
โœ… MyBooksSimplifiedBearerTokenTests testParsing_zeroExpiration_usesDistantFuture 4ms
โœ… MyBooksSimplifiedBearerTokenTests testRefreshToken_invalidJSON_returnsNil 802ms
โœ… MyBooksSimplifiedBearerTokenTests testRefreshToken_serverError_returnsNil 4ms
โœ… MyBooksSimplifiedBearerTokenTests testRefreshToken_success_returnsNewToken 1.06s
โœ… MyBooksViewModelBooksPublisherTests testBooksPublisher_EmitsInitialValue 12ms
โœ… MyBooksViewModelBooksPublisherTests testBooksPublisher_EmitsOnFilter 22ms
โœ… MyBooksViewModelBooksPublisherTests testBooksPublisher_EmitsRestoredCountAfterReset 13ms
โœ… MyBooksViewModelConcurrencyTests testFilterBooks_MultipleCalls_EachProducesCorrectResult 24ms
โœ… MyBooksViewModelConcurrencyTests testFilterBooks_RapidChanges_SettlesOnLastQuery 39ms
โœ… MyBooksViewModelConcurrencyTests testLoadData_AfterInit_IsNotLoadingAndHasBooks 12ms
โœ… MyBooksViewModelConcurrencyTests testReloadData_WhenRegistryIdle_BookListRemainsAccessible 5ms
โœ… MyBooksViewModelDownloadStateTests testRegistryState_DownloadFailed_BookRemainsVisible 4ms
โœ… MyBooksViewModelDownloadStateTests testRegistryState_DownloadSuccessful_BookRemainsInList 7ms
โœ… MyBooksViewModelDownloadStateTests testRegistryState_HoldingBook_NotInMyBooksIfNotInMyBooks 4ms
โœ… MyBooksViewModelEmptyArrayTests testFilterLogic_EmptyArray_ReturnsEmpty 2ms
โœ… MyBooksViewModelEmptyArrayTests testSortLogic_EmptyArray_ReturnsEmpty 3ms
โœ… MyBooksViewModelEmptyArrayTests testSortLogic_SingleBook_ReturnsSame 4ms
โœ… MyBooksViewModelEmptyStateTests testBooksAndInstructionsLabel_CoordinateAfterFilterReset 12ms
โœ… MyBooksViewModelEmptyStateTests testBooksPublisher_EmitsRegistryContents 14ms
โœ… MyBooksViewModelEmptyStateTests testShowInstructionsLabel_FalseWhenRegistryHasBooks 11ms
โœ… MyBooksViewModelEmptyStateTests testShowInstructionsLabel_TrueWhenRegistryEmpty 12ms
โœ… MyBooksViewModelExtendedTests testAlert_ClearsOnNilAssignment 4ms
โœ… MyBooksViewModelExtendedTests testFacetViewModel_InitializedWithCorrectConfig 2ms
โœ… MyBooksViewModelExtendedTests testFilterBooks_WithEmptyQuery_RestoresAllBooks 8ms
โœ… MyBooksViewModelExtendedTests testFilterBooks_WithQuery_NarrowsToMatchingBooks 8ms
โœ… MyBooksViewModelExtendedTests testInitialFacetSort_DefaultsToTitle 6ms
โœ… MyBooksViewModelExtendedTests testInitialState_HasCorrectDefaults 2ms
โœ… MyBooksViewModelExtendedTests testIsPadProperty_MatchesUIDevice 2ms
โœ… MyBooksViewModelExtendedTests testLoadAccount_WhenRegistryIsSyncing_ShowsSyncAlert 5ms
โœ… MyBooksViewModelExtendedTests testResetFilter_RestoresBooksAfterQuery 8ms
โœ… MyBooksViewModelExtendedTests testSelectNewLibrary_PublishesTransitionToSubscribers 2ms
โœ… MyBooksViewModelExtendedTests testSelectedBook_PublishesThroughCombine 4ms
โœ… MyBooksViewModelExtendedTests testShowLibraryAccountView_PublishesTransitionsToSubscribers 2ms
โœ… MyBooksViewModelExtendedTests testShowSearchSheet_PublishesTransitionsToSubscribers 2ms
โœ… MyBooksViewModelExtendedTests testSortByAuthor_ReordersBooks 6ms
โœ… MyBooksViewModelExtendedTests testSortByTitle_ReordersBooks 6ms
โœ… MyBooksViewModelFacetIntegrationTests testFacetSortChange_PropagatestoViewModel 8ms
โœ… MyBooksViewModelFacetIntegrationTests testFacetViewModel_ConfiguredCorrectly 9ms
โœ… MyBooksViewModelFacetIntegrationTests testFacet_LocalizedStrings_MatchExpected 2ms
โœ… MyBooksViewModelFacetIntegrationTests testInitialActiveSort_IsFirstFacet 13ms
โœ… MyBooksViewModelFacetPublisherTests testFacetSort_RoundTripPropagation 3ms
โœ… MyBooksViewModelFacetPublisherTests testFacetViewModel_PublishesActiveSortChanges 4ms
โœ… MyBooksViewModelFacetPublisherTests testMyBooksViewModel_SubscribesToFacetChanges 2ms
โœ… MyBooksViewModelFilterSortInteractionTests testFilter_MaintainsSortOrder_Logic 15ms
โœ… MyBooksViewModelFilterSortInteractionTests testSortAfterFilter_ProducesCorrectOrder 13ms
โœ… MyBooksViewModelFilterTests testFilterBooks_EmptyQuery_ResetsToAllBooks 16ms
โœ… MyBooksViewModelFilterTests testFilterBooks_WithQuery_MaintainsSearchQuerySeparately 11ms
โœ… MyBooksViewModelFilterTests testFilterLogic_AuthorMatch_CaseInsensitive 23ms
โœ… MyBooksViewModelFilterTests testFilterLogic_MatchesBothTitleAndAuthor_ReturnsAll 12ms
โœ… MyBooksViewModelFilterTests testFilterLogic_NilAuthors_DoesNotCrash 4ms
โœ… MyBooksViewModelFilterTests testFilterLogic_NoMatches_ReturnsEmpty 5ms
โœ… MyBooksViewModelFilterTests testFilterLogic_SpecialCharacters_HandledCorrectly 6ms
โœ… MyBooksViewModelFilterTests testFilterLogic_TitleMatch_CaseInsensitive 8ms
โœ… MyBooksViewModelFilterTests testResetFilter_RestoresAllBooks 13ms
โœ… MyBooksViewModelGuardConditionsTests testLoadData_CompletesWithIsLoadingFalse 6ms
โœ… MyBooksViewModelGuardConditionsTests testLoadData_SequentialFilterCalls_EachProducesCorrectResult 34ms
โœ… MyBooksViewModelLargeDatasetTests testFilterLogic_ManyBooks_FiltersCorrectly 150ms
โœ… MyBooksViewModelLargeDatasetTests testSortLogic_ManyBooks_Completes 156ms
โœ… MyBooksViewModelLoadAccountTests testLoadAccount_WhenNotSyncing_DoesNotShowSyncAlert 190ms
โœ… MyBooksViewModelLoadAccountTests testLoadAccount_WhenSyncing_ShowsAlert 91ms
โœ… MyBooksViewModelLoginStateTests testLoadData_EmptyRegistry_ShowsInstructionsLabel 2ms
โœ… MyBooksViewModelLoginStateTests testLoadData_MultipleBooks_ExposesAllViaPublishedProperty 12ms
โœ… MyBooksViewModelLoginStateTests testLoadData_PopulatedRegistry_HidesInstructionsLabel 4ms
โœ… MyBooksViewModelLoginStateTests testRegistryChangeNotification_TriggersReload_UpdatesBooks 517ms
โœ… MyBooksViewModelMultipleAuthorSortingTests testSortByAuthor_SameFirstName_SortsByFullName 16ms
โœ… MyBooksViewModelMultipleAuthorSortingTests testSortByTitle_ThePrefix_SortedAlphabetically 10ms
โœ… MyBooksViewModelMultipleAuthorSortingTests testSort_AlreadySorted_MaintainsOrder 10ms
โœ… MyBooksViewModelNotificationTests testRegistryChangeNotification_IsRegistered 6ms
โœ… MyBooksViewModelNotificationTests testStateChangeNotification_IsRegistered 4ms
โœ… MyBooksViewModelNotificationTests testSyncEndedNotification_CausesBookListToUpdate 1.02s
โœ… MyBooksViewModelNotificationTests testSyncEndedNotification_IsRegistered 3ms
โœ… MyBooksViewModelOfflineFilteringTests testExpiredBookFiltering_Logic 9ms
โœ… MyBooksViewModelOfflineFilteringTests testOfflineState_FiltersExpiredBooks_Logic 6ms
โœ… MyBooksViewModelOfflineFilteringTests testOnlineState_ShowsAllBooks_Logic 8ms
โœ… MyBooksViewModelPublisherTests testAlertPublisher_EmitsWhenSet 3ms
โœ… MyBooksViewModelPublisherTests testAlertPublisher_InitiallyNil 2ms
โœ… MyBooksViewModelPublisherTests testFacetViewModelPublisher_TriggersSortUpdate 2ms
โœ… MyBooksViewModelPublisherTests testIsLoadingPublisher_EmitsChanges 2ms
โœ… MyBooksViewModelPublisherTests testSearchQueryPublisher_EmitsChanges 2ms
โœ… MyBooksViewModelPublisherTests testSelectedBookPublisher_EmitsChanges 4ms
โœ… MyBooksViewModelPublisherTests testShowInstructionsLabelPublisher_InitialState 3ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_EmojiInContent_HandledCorrectly 19ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_NumbersInQuery_Matches 6ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_PartialWord_Matches 4ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_UnicodeCharacters_Matches 7ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_VeryLongQuery_NoMatch 4ms
โœ… MyBooksViewModelSearchEdgeCaseTests testFilterLogic_WhitespaceQuery_HandledCorrectly 4ms
โœ… MyBooksViewModelSearchQueryTests testSearchQuery_IndependentOfFilterBooks 4ms
โœ… MyBooksViewModelSearchQueryTests testSearchQuery_PublisherEmitsAllChanges 2ms
โœ… MyBooksViewModelSearchQueryTests testSearchQuery_SetAndRetrieve 2ms
โœ… MyBooksViewModelSortPersistenceTests testActiveFacetSort_StaysInSync 8ms
โœ… MyBooksViewModelSortPersistenceTests testSortOrder_MaintainedAfterFilter 4ms
โœ… MyBooksViewModelSortPersistenceTests testSortOrder_MaintainedAfterReset 6ms
โœ… MyBooksViewModelSortingIntegrationTests testAuthorSort_SortKeyFormat 11ms
โœ… MyBooksViewModelSortingIntegrationTests testSortByAuthor_MultipleBooks_CorrectOrder 8ms
โœ… MyBooksViewModelSortingIntegrationTests testSortByTitle_MultipleBooks_CorrectOrder 10ms
โœ… MyBooksViewModelSortingIntegrationTests testSort_SecondaryField_BreaksTies 7ms
โœ… MyBooksViewModelSortingIntegrationTests testTitleSort_SortKeyFormat 10ms
โœ… MyBooksViewModelSortingTests testSortChange_FromTitleToAuthor_UpdatesActiveFacetSort 11ms
โœ… MyBooksViewModelSortingTests testSortComparator_AuthorSort_ComparesCorrectly 6ms
โœ… MyBooksViewModelSortingTests testSortComparator_EmptyAuthor_TreatedAsEmptyString 5ms
โœ… MyBooksViewModelSortingTests testSortComparator_IdenticalKeys_MaintainsOrder 12ms
โœ… MyBooksViewModelSortingTests testSortComparator_NilAuthors_HandledCorrectly 5ms
โœ… MyBooksViewModelSortingTests testSortComparator_TitleSort_ComparesCorrectly 6ms
โœ… MyBooksViewModelStateTransitionTests testAlert_StateTransitions 6ms
โœ… MyBooksViewModelStateTransitionTests testIsLoading_TransitionsDuringLoad 2ms
โœ… MyBooksViewModelStateTransitionTests testShowInstructionsLabel_TransitionsOnRegistryChange 508ms
โœ… MyBooksViewModelUIBindingTests testSelectNewLibrary_PublisherEmitsOnChange 3ms
โœ… MyBooksViewModelUIBindingTests testShowLibraryAccountView_PublisherEmitsOnChange 2ms
โœ… MyBooksViewModelUIBindingTests testShowSearchSheet_PublisherEmitsOnChange 2ms
โœ… NSErrorAdditionsTests testLocalizedDescriptionWithRecovery_bothPresent_separatedByDoubleNewline 3ms
โœ… 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 15ms
โœ… NSNotificationTPPTests testNotificationKeys_exist 4ms
โœ… NSNotificationTPPTests testNotificationNames_exist 3ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_Book_NotStored_ReturnsNil 1ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_ClearAudioRoutes_ClearsPath 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_ClearAudioRoutes_OnEmptyPath_DoesNotCrash 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_InitialState_NoEPUBSamplePresented 1ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_InitialState_PathIsEmpty 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_MultiplePushes_AccumulateInPath 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PopToRoot_ClearsEntirePath 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PopToRoot_OnEmptyPath_DoesNotCrash 6ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_Pop_DecreasesPathCount 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_Pop_OnEmptyPath_DoesNotCrash 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PushAudioRoute_ClearsExistingRoutes 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PushAudioRoute_FromBookDetail_PreservesStack 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PushAudioRoute_OnEmptyPath_AddsRoute 13ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_PushAudioRoute_PreventsDuplicateAudioRoutes 9ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_Push_IncreasesPathCount 7ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_StoreAudioModel_CanBeRetrieved 2ms
โœ… NavigationCoordinatorTests testNavigationCoordinator_StoreBook_CanBeRetrieved 4ms
โœ… NavigationFreezePreventionTests testNavigation_failurePath_clearsOnPlaybackFailed 2ms
โœ… NavigationFreezePreventionTests testNavigation_multipleBeginsThenFailure_stillClears 6ms
โœ… NavigationFreezePreventionTests testNavigation_normalFlow_clearsOnPlaybackBegan 5ms
โœ… NavigationFreezePreventionTests testNavigation_notNavigating_seekIsAllowed 2ms
โœ… NavigationFreezePreventionTests testNavigation_unloadPath_clearsOnPlaybackUnloaded 2ms
โœ… NetworkExecutorCredentialGuardTests testExecuteTokenRefresh_BothEmpty_FailsViaTokenRequestGuard 9ms
โŒ NetworkExecutorCredentialGuardTests testExecuteTokenRefresh_EmptyPassword_FailsViaTokenRequestGuard 28ms
โŒ NetworkExecutorCredentialGuardTests testExecuteTokenRefresh_EmptyUsername_FailsViaTokenRequestGuard 6ms
โœ… NetworkExecutorCredentialGuardTests testExecuteTokenRefresh_ServerReturns401_ReturnsFailure 4ms
โœ… NetworkExecutorCredentialGuardTests testExecuteTokenRefresh_ValidCredentials_ReturnsTokenResponse 19ms
โœ… NetworkExecutorCredentialGuardTests testExecuteTokenRefresh_WithAccountId_Succeeds 8ms
โœ… NetworkExecutorCredentialGuardTests testRefreshTokenAndResume_DefaultAccountId_BackwardCompatible 6ms
โœ… NetworkExecutorCredentialGuardTests testRefreshTokenAndResume_NilTask_NilAccountId_DoesNotCrash 4ms
โœ… NetworkExecutorCredentialGuardTests testRefreshTokenAndResume_NoCredentials_FailsGracefully 10ms
โœ… NetworkExecutorResponseRegressionTests testGET_handlesEmptyResponseBody 6ms
โœ… NetworkExecutorResponseRegressionTests testGET_handlesHTTPErrorGracefully 5ms
โœ… NetworkExecutorResponseRegressionTests testGET_receivesLCPLicenseJSON 6ms
โœ… NetworkExecutorResponseRegressionTests testGET_receivesLargeManifestJSON 7ms
โœ… NetworkExecutorTaskTypeTests testDownload_createsDownloadTask 8ms
โœ… NetworkExecutorTaskTypeTests testGET_createsDataTask_notDownloadTask 11ms
โœ… NetworkExecutorTaskTypeTests testGET_receivesResponseData 11ms
โœ… NetworkOfflineDetectionTests testNetworkReachability_hasSharedInstance 3ms
โœ… NetworkOfflineDetectionTests testURLError_nonOfflineErrorCodes 4ms
โœ… NetworkOfflineDetectionTests testURLError_offlineErrorCodes 4ms
โœ… NetworkQueueTests testAddRequestDoesNotCrash 7ms
โœ… NetworkQueueTests testAddRequestWithHeadersDoesNotCrash 7ms
โœ… NetworkQueueTests testHTTPMethodTypeRawValues 3ms
โœ… NetworkQueueTests testMaxRetriesInQueueIsFive 2ms
โœ… NetworkQueueTests testMigrateCanBeCalledMultipleTimes 8ms
โœ… NetworkQueueTests testMigrateDoesNotCrash 4ms
โœ… NetworkQueueTests testObjCSharedReturnsInstance 3ms
โœ… NetworkQueueTests testSharedInstanceIsSingleton 4ms
โœ… NetworkQueueTests testStatusCodesContainsExpectedNetworkErrors 3ms
โœ… NetworkQueueTests testStatusCodesContainsRoamingAndCallErrors 6ms
โœ… NetworkQueueTests testStatusCodesContainsSecureConnectionFailed 5ms
โœ… NetworkRequestQueueTests testConcurrentRequests_respectsLimit 541ms
โœ… NetworkRequestQueueTests testRequestOrdering_maintainsOrder 12ms
โœ… NetworkRetryLogicTests testNoRetry_on400BadRequest 4ms
โœ… NetworkRetryLogicTests testNoRetry_on404NotFound 6ms
โœ… NetworkRetryLogicTests testRateLimiting_429Response 3ms
โœ… NetworkRetryLogicTests testRetry_on500Error_eventualSuccess 4ms
โœ… NetworkRetryLogicTests testRetry_on502BadGateway 3ms
โœ… NetworkRetryLogicTests testRetry_on503ServiceUnavailable 4ms
โœ… NetworkRetryLogicTests testRetry_on504GatewayTimeout 3ms
โœ… NetworkTimeoutTests testDefaultTimeout_isReasonable 2ms
โœ… NetworkTimeoutTests testRequest_hasCorrectTimeout 2ms
โœ… NetworkTimeoutTests testTimeout_configuration 2ms
โœ… NotificationServiceTests testBackgroundFetchIsNeededReturnsBoolean 2ms
โœ… NotificationServiceTests testCheckOutActionIdentifier 2ms
โœ… NotificationServiceTests testCompareAvailabilityDoesNotCrashWithNoAvailability 7ms
โœ… NotificationServiceTests testCompareAvailabilityReservedToReady 13ms
โœ… NotificationServiceTests testHoldClassificationCaseInsensitive 3ms
โœ… NotificationServiceTests testHoldClassificationWithAPSAlertContainingAvailableKeyword 20ms
โœ… NotificationServiceTests testHoldClassificationWithAPSAlertContainingReadyKeyword 27ms
โœ… NotificationServiceTests testHoldClassificationWithEmptyUserInfoDefaultsToTrue 3ms
โœ… NotificationServiceTests testHoldClassificationWithExplicitHoldType 2ms
โœ… NotificationServiceTests testHoldClassificationWithNonHoldAPSAlert 2ms
โœ… NotificationServiceTests testHoldClassificationWithNonHoldType 2ms
โœ… NotificationServiceTests testHoldClassificationWithReservationInBody 2ms
โœ… NotificationServiceTests testHoldClassificationWithReservationType 97ms
โœ… NotificationServiceTests testNotificationCategoryIdentifier 3ms
โœ… NotificationServiceTests testTokenDataCodableRoundTrip 2ms
โœ… NotificationServiceTests testTokenDataEncodesToValidJSON 11ms
โœ… NotificationServiceTests testTokenDataEncoding 3ms
โœ… NotificationServiceTests testTokenDataWithEmptyToken 2ms
โœ… NotificationServiceTests testTokenDataWithSpecialCharacters 2ms
โœ… NotificationServiceTokenTests testCheckOutActionIdentifier_isCorrect 11ms
โœ… NotificationServiceTokenTests testDefaultActionIdentifier_isCorrect 1ms
โœ… NotificationServiceTokenTests testHoldNotificationCategoryIdentifier_isCorrect 2ms
โœ… NotificationServiceTokenTests testSharedService_returnsSameAsShared 2ms
โœ… NotificationServiceTokenTests testTokenData_data_isNotNil 2ms
โœ… NotificationServiceTokenTests testTokenData_emptyToken_stillEncodes 3ms
โœ… NotificationServiceTokenTests testTokenData_encodesCorrectJSON 2ms
โœ… NotificationServiceTokenTests testTokenData_longToken_encodesCorrectly 2ms
โœ… NotificationServiceTokenTests testTokenData_tokenType_isAlwaysFCMiOS 1ms
โœ… NotificationSyncThrottleTests testForceSync_bypassesThrottle_atExactThreshold 2ms
โœ… NotificationSyncThrottleTests testForceSync_bypassesThrottle_evenIfRecentlySynced 13ms
โœ… NotificationSyncThrottleTests testForceSync_withZeroLastSync_proceeds 5ms
โœ… NotificationSyncThrottleTests testHoldNotification_alwaysSyncs 2ms
โœ… NotificationSyncThrottleTests testThrottle_noLastSync_allowsSync 2ms
โœ… NotificationSyncThrottleTests testThrottle_oldSync_allowsNormalSync 2ms
โœ… NotificationSyncThrottleTests testThrottle_recentSync_blocksNormalSync 2ms
โœ… NotificationTokenDataTests testTokenData_codableRoundTrip 3ms
โœ… NotificationTokenDataTests testTokenData_dataNotNil 6ms
โœ… NotificationTokenDataTests testTokenData_encodesToJSON 2ms
โœ… NotificationTokenDataTests testTokenData_init 2ms
โœ… NowPlayingCoordinatorTests testClearNowPlaying_removesAllInfo 7ms
โœ… NowPlayingCoordinatorTests testClearNowPlaying_setsStoppedState 2ms
โœ… NowPlayingCoordinatorTests testSetPlaybackState_paused_setsCorrectPlaybackState 2ms
โœ… NowPlayingCoordinatorTests testSetPlaybackState_paused_setsZeroRate 3ms
โœ… NowPlayingCoordinatorTests testSetPlaybackState_playing_setsCorrectPlaybackState 4ms
โœ… NowPlayingCoordinatorTests testSetPlaybackState_playing_setsNonZeroRate 3ms
โœ… NowPlayingCoordinatorTests testUpdateArtwork_nil_clearsArtwork 96ms
โœ… NowPlayingCoordinatorTests testUpdateArtwork_setsArtworkInInfo 3ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_clampsElapsedToNotExceedDuration 3ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_clampsNegativeElapsedToZero 5ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_ensuresDurationIsAtLeastOne 3ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_preservesArtwork_acrossUpdates 5ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_rapidUpdates_lastOneWins 506ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_setsElapsedAndDuration 4ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_setsInfoCenter 3ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_setsMediaType_toAudioBook 45ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_setsPlaybackRate_whenPlaying 4ms
โœ… NowPlayingCoordinatorTests testUpdateNowPlaying_setsZeroPlaybackRate_whenPaused 2ms
โœ… NowPlayingCoordinatorTests testUpdatePlaybackRate_updatesDefaultRate 2ms
โœ… OAuthSAMLRedirectRegressionTests testRegression_handleRedirectURL_rejectsCustomSchemeURL 128ms
โœ… OAuthSAMLRedirectRegressionTests testRegression_oauthRedirect_stillUsesUniversalLinksPrefix 114ms
โœ… OAuthSAMLRedirectRegressionTests testRegression_oauthRedirect_withError_stillHandlesError 153ms
โœ… OAuthSAMLRedirectRegressionTests testRegression_samlRedirect_stillUsesUniversalLinksPrefix 115ms
โœ… OIDCAuthDocumentParsingTests testAuthDocument_containsOidcType 108ms
โœ… OIDCAuthDocumentParsingTests testAuthDocument_oidcAuthenticateLink_IsParsed 158ms
โœ… OIDCAuthDocumentParsingTests testAuthDocument_oidcDoesNotAffectOtherAuthTypes 101ms
โœ… OIDCAuthDocumentParsingTests testAuthDocument_unknownTypeStillFallsToNone 37ms
โœ… OIDCAuthTypeTests testAuthType_InitFromLegacyOidcString_ReturnsOidc 2ms
โœ… OIDCAuthTypeTests testAuthType_InitFromOidcString_ReturnsOidc 2ms
โœ… OIDCAuthTypeTests testAuthType_LegacyOidcURI_DecodesViaCodeable 2ms
โœ… OIDCAuthTypeTests testAuthType_OidcIsDistinct_FromOtherTypes 2ms
โœ… OIDCAuthTypeTests testAuthType_OidcRawValue_IsCorrect 1ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_catalogRequiresAuthentication_ReturnsFalse 90ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_hasAuthenticationUrl 88ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_isNotOtherTypes 114ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_isOidc_ReturnsTrue 114ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_methodDescription_IsOpenIDConnect 92ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_needsAgeCheck_ReturnsFalse 136ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_needsAuth_ReturnsTrue 115ms
โœ… OIDCAuthenticationPropertyTests testOidcAuthentication_otherUrlsAreNil 106ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_doesNotAffectPriorOAuthState 111ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_prefersQueryOverFragment 102ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withEmptyQueryString_doesNotSetToken 152ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withLongToken_setsFullToken 104ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withMalformedPatronJSON_doesNotSetToken 112ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withOnlyAccessToken_doesNotSetToken 135ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withOnlyPatronInfo_doesNotSetToken 140ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withPatronContainingMultipleFields_parsesAll 111ms
โœ… OIDCCallbackEdgeCaseTests testHandleOIDCCallback_withPlusEncodedPatron_decodesSpaces 135ms
โœ… OIDCCallbackHandlingTests testHandleOIDCCallback_withError_doesNotSetToken 156ms
โœ… OIDCCallbackHandlingTests testHandleOIDCCallback_withFragment_extractsTokenAndValidates 121ms
โœ… OIDCCallbackHandlingTests testHandleOIDCCallback_withNoPayload_doesNotSetToken 127ms
โœ… OIDCCallbackHandlingTests testHandleOIDCCallback_withQueryParams_extractsTokenAndValidates 133ms
โœ… OIDCCallbackHandlingTests testOIDCFlow_afterCallback_validatesAndCompletesSignIn 141ms
โœ… OIDCCallbackSchemeTests testOidcCallbackHost_matchesAndroidConvention 3ms
โœ… OIDCCallbackSchemeTests testOidcCallbackScheme_isNotHTTPS 2ms
โœ… OIDCCallbackSchemeTests testOidcCallbackScheme_matchesAndroidConvention 6ms
โŠ˜ OIDCExplicitLogoutTests testOIDCExplicitLogout_endSessionUrl_isNilForNonOIDCAuthTypes 95ms
โŠ˜ OIDCExplicitLogoutTests testOIDCExplicitLogout_endSessionUrl_isParsedFromAuthDocument 113ms
โŠ˜ OIDCExplicitLogoutTests testOIDCExplicitLogout_postLogoutRedirectURI_usesOIDCCallbackScheme 97ms
โŠ˜ OIDCExplicitLogoutTests testOIDCExplicitLogout_signOutPipeline_clearsTokenAndNotifiesDelegate 99ms
โŠ˜ OIDCExplicitLogoutTests testOIDCExplicitLogout_withNoEndSessionUrl_callsCompletionImmediately 110ms
โœ… OIDCIsolationRegressionTests testRegression_basicAuthentication_noTokenURLs 103ms
โœ… OIDCIsolationRegressionTests testRegression_makeRequest_oauthAndOIDC_bothUseBearerToken 189ms
โœ… OIDCIsolationRegressionTests testRegression_oauthAuthentication_typeIsCorrect 3.01s
โœ… OIDCIsolationRegressionTests testRegression_oidcAuthentication_noOtherAuthURLs 388ms
โœ… OIDCIsolationRegressionTests testRegression_samlAuthentication_typeIsCorrect 232ms
โœ… OIDCIsolationRegressionTests testRegression_updateUserAccount_oauthStillStoresToken 557ms
โœ… OIDCLoginRoutingTests testLogIn_withOIDC_callsWillSignIn 123ms
โœ… OIDCLoginRoutingTests testLogIn_withOIDC_capturesCredentials 95ms
โœ… OIDCLoginRoutingTests testLogIn_withOIDC_doesNotValidateCredentialsDirectly 193ms
โœ… OIDCMakeRequestTests testMakeRequest_forOIDCSignOut_usesUserProfileURL 106ms
โœ… OIDCMakeRequestTests testMakeRequest_forOIDC_addsBearerTokenHeader 98ms
โœ… OIDCMakeRequestTests testMakeRequest_forOIDC_withoutToken_stillCreatesRequest 137ms
โœ… OIDCNSCodingTests testOidcAuthentication_NSCodingRoundTrip_PreservesProperties 103ms
โœ… OIDCNetworkLayer401Tests testOIDC_authDefinition_hasNoTokenURL 92ms
โœ… OIDCNetworkLayer401Tests testOIDC_authDefinition_isNotOauth 133ms
โœ… OIDCNetworkLayer401Tests testOIDC_authDefinition_isNotToken 75ms
โœ… OIDCNetworkLayer401Tests testOIDC_cannotDoClientSideTokenRefresh 84ms
โœ… OIDCNetworkLayer401Tests testOIDC_isTreatedLikeSAML_forReauth 157ms
โœ… OIDCReauthOnExpiredTokenTests testOIDC_afterReauth_credentialsRestored 87ms
โœ… OIDCReauthOnExpiredTokenTests testOIDC_refreshAuthIfNeeded_doesNotNilSelectedAuth 96ms
โœ… OIDCReauthOnExpiredTokenTests testOIDC_refreshAuthIfNeeded_withoutExistingCredentials_requiresUI 128ms
โœ… OIDCReauthOnExpiredTokenTests testOIDC_staleCredentials_authDefinitionPreserved 136ms
โœ… OIDCReauthOnExpiredTokenTests testOIDC_staleCredentials_stillHasCredentials 110ms
โœ… OIDCRedirectURIConstructionTests testOidcCallbackScheme_containsNoDots 99ms
โœ… OIDCRedirectURIConstructionTests testOidcCallbackScheme_doesNotContainColonOrSlash 83ms
โœ… OIDCRedirectURIConstructionTests testOidcCallbackScheme_isLowercase 81ms
โœ… OIDCRedirectURIConstructionTests testOidcRedirectURI_doesNotUseHTTPS 101ms
โœ… OIDCRedirectURIConstructionTests testOidcRedirectURI_doesNotUseUniversalLinksURL 104ms
โœ… OIDCRedirectURIConstructionTests testOidcRedirectURI_isValidURL 134ms
โœ… OIDCRegressionTests testRegression_allAuthTypes_areCodable 86ms
โœ… OIDCRegressionTests testRegression_authTypeCodable_roundTripIncludesOidc 114ms
โœ… OIDCRegressionTests testRegression_basicAuth_makeRequest_noBearerToken 102ms
โœ… OIDCRegressionTests testRegression_basicAuth_needsAuth_StillTrue 86ms
โœ… OIDCRegressionTests testRegression_defaultAuth_stillPrefersNonOAuth 123ms
โœ… OIDCRegressionTests testRegression_existingAuthTypesUnchanged 102ms
โœ… OIDCRegressionTests testRegression_oauthAuth_makeRequest_stillAddsBearerToken 115ms
โœ… OIDCRegressionTests testRegression_samlAuth_makeRequest_stillAddsBearerToken 88ms
โœ… OIDCRegressionTests testRegression_samlUpdateUserAccount_stillStoresCookies 96ms
โœ… OIDCSelectedAuthenticationTests testRefreshAuthIfNeeded_withOIDC_resetsIgnoreSignedInState 129ms
โœ… OIDCSelectedAuthenticationTests testSelectedAuthentication_canBeSetToOIDC 132ms
โœ… OIDCSignOutRegressionTests testRegression_signOut_withOAuth_stillClearsToken 95ms
โœ… OIDCSignOutRegressionTests testRegression_signOut_withSAML_stillClearsCookies 233ms
โœ… OIDCSignOutRegressionTests testSignOut_withOIDC_clearsAuthToken 97ms
โœ… OIDCSignOutRegressionTests testSignOut_withOIDC_clearsPatronInfo 134ms
โœ… OIDCSignOutRegressionTests testSignOut_withOIDC_triggersExplicitLogoutFlowAndCompletesDeauthorization 154ms
โœ… OIDCTokenRefreshRegressionTests testRefreshAuth_withOIDC_doesNotNilOutSelectedAuth_unlikeSAML 141ms
โœ… OIDCTokenRefreshRegressionTests testRefreshAuth_withOIDC_usingExistingCredentials_doesNotResetSelectedAuth 111ms
โœ… OIDCTokenRefreshRegressionTests testRefreshAuth_withOIDC_withoutExistingCredentials_setsIgnoreSignedIn 98ms
โœ… OIDCTokenRefreshRegressionTests testRegression_refreshAuth_withBasic_ignoreSignedInNotSet 101ms
โœ… OIDCTokenRefreshRegressionTests testRegression_refreshAuth_withOAuth_stillSetsIgnoreSignedIn 93ms
โœ… OIDCTokenRefreshRegressionTests testRegression_refreshAuth_withSAML_codepathIncludesSAML 77ms
โœ… OIDCUpdateUserAccountTests testUpdateUserAccount_withOIDC_doesNotStoreCookies 99ms
โœ… OIDCUpdateUserAccountTests testUpdateUserAccount_withOIDC_marksLoggedIn 135ms
โœ… OIDCUpdateUserAccountTests testUpdateUserAccount_withOIDC_setsAuthDefinition 119ms
โœ… OIDCUpdateUserAccountTests testUpdateUserAccount_withOIDC_storesAuthToken 97ms
โœ… OIDCUpdateUserAccountTests testUpdateUserAccount_withOIDC_storesPatronInfo 118ms
โœ… OIDCViewModelRegressionTests testOIDCSignIn_doesNotRequireUsernameOrPIN 99ms
โœ… OIDCViewModelSignInTests testSignIn_withActiveCredentials_showsSignOutAlert 3ms
โœ… OIDCViewModelSignInTests testSignIn_withStaleOIDCCredentials_proceedsToLogin 2ms
โœ… OPDS2AuthenticationDocumentTests testAnnouncements_parsesIfPresent 6ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_noAuthRequired 6ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesBarcodeFormat 2ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesBasicAuth 21ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesInputConfiguration 4ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesLabels 5ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesMaximumLength 2ms
โœ… OPDS2AuthenticationDocumentTests testAuthentication_parsesMultipleMethods 6ms
โœ… OPDS2AuthenticationDocumentTests testColorScheme_parsesIfPresent 3ms
โœ… OPDS2AuthenticationDocumentTests testFeatures_parsesDisabledFeatures 3ms
โœ… OPDS2AuthenticationDocumentTests testFeatures_parsesEnabledFeatures 3ms
โœ… OPDS2AuthenticationDocumentTests testFromData_withEmptyData_throwsError 26ms
โœ… OPDS2AuthenticationDocumentTests testFromData_withInvalidJSON_throwsError 3ms
โœ… OPDS2AuthenticationDocumentTests testFromData_withMissingRequiredFields_throwsError 2ms
โœ… OPDS2AuthenticationDocumentTests testFromData_withValidJSON_parsesDocument 7ms
โœ… OPDS2AuthenticationDocumentTests testLinks_firstRelMethod_findsPasswordReset 7ms
โœ… OPDS2AuthenticationDocumentTests testLinks_parsesCorrectly 7ms
โœ… OPDS2AuthenticationDocumentTests testServiceDescription_parsesIfPresent 7ms
โœ… OPDS2AvailabilityTests testIsAvailable_AvailableState_ReturnsTrue 3ms
โœ… OPDS2AvailabilityTests testIsReady_ReadyState_ReturnsTrue 5ms
โœ… OPDS2AvailabilityTests testIsReserved_ReservedState_ReturnsTrue 6ms
โœ… OPDS2AvailabilityTests testIsUnavailable_UnavailableState_ReturnsTrue 2ms
โœ… OPDS2BookBridgeTests testConvertAvailability_availableWithoutCopiesIsUnlimited 3ms
โœ… OPDS2BookBridgeTests testConvertAvailability_unknownStateDefaultsToUnlimited 30ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_fromDecodedJSON 13ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsAuthors 4ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsDescription 5ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsMultipleAuthors 3ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsNarrators 3ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsPublishedDate 5ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsPublisher 3ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsSubjectsAsCategories 3ms
โœ… OPDS2BookBridgeTests testFullPublicationToBook_mapsSubtitle 4ms
โœ… OPDS2BookBridgeTests testRelationMapping_allStandardRelations 3ms
โœ… OPDS2BookBridgeTests testRelationMapping_nonAcquisitionRelReturnsNil 3ms
โœ… OPDS2BookBridgeTests testToBook_fallsBackToFirstImageWhenNoRelSpecified 3ms
โœ… OPDS2BookBridgeTests testToBook_filtersNonAcquisitionLinks 10ms
โœ… OPDS2BookBridgeTests testToBook_fromDecodedJSON 8ms
โœ… OPDS2BookBridgeTests testToBook_handlesEmptyLinksArray 2ms
โœ… OPDS2BookBridgeTests testToBook_handlesInvalidHrefURL 3ms
โœ… OPDS2BookBridgeTests testToBook_handlesLinkWithNoType 3ms
โœ… OPDS2BookBridgeTests testToBook_mapsAlternateLink 4ms
โœ… OPDS2BookBridgeTests testToBook_mapsAvailableState 8ms
โœ… OPDS2BookBridgeTests testToBook_mapsBorrowLink 8ms
โœ… OPDS2BookBridgeTests testToBook_mapsBuyLink 4ms
โœ… OPDS2BookBridgeTests testToBook_mapsDescription 4ms
โœ… OPDS2BookBridgeTests testToBook_mapsGenericAcquisitionLink 3ms
โœ… OPDS2BookBridgeTests testToBook_mapsIdentifier 3ms
โœ… OPDS2BookBridgeTests testToBook_mapsImageURLFromImages 2ms
โœ… OPDS2BookBridgeTests testToBook_mapsIndirectAcquisition 3ms
โœ… OPDS2BookBridgeTests testToBook_mapsLCPIndirectAcquisition 3ms
โœ… OPDS2BookBridgeTests testToBook_mapsOpenAccessLink 3ms
โœ… OPDS2BookBridgeTests testToBook_mapsPreviewLink 5ms
โœ… OPDS2BookBridgeTests testToBook_mapsReadyState 3ms
โœ… OPDS2BookBridgeTests testToBook_mapsRelatedWorksLink 4ms
โœ… OPDS2BookBridgeTests testToBook_mapsReservedState 3ms
โœ… OPDS2BookBridgeTests testToBook_mapsRevokeLink 5ms
โœ… OPDS2BookBridgeTests testToBook_mapsSampleLink 4ms
โœ… OPDS2BookBridgeTests testToBook_mapsThumbnailURL 5ms
โœ… OPDS2BookBridgeTests testToBook_mapsTitle 4ms
โœ… OPDS2BookBridgeTests testToBook_mapsUnavailableState 3ms
โœ… OPDS2BookBridgeTests testToBook_mapsUpdatedDate 2ms
โœ… OPDS2BookBridgeTests testToBook_multipleAcquisitionLinks 5ms
โœ… OPDS2BookBridgeTests testToBook_nilDescriptionMapsToNilSummary 3ms
โœ… OPDS2BookBridgeTests testToBook_noAvailabilityDefaultsToUnlimited 8ms
โœ… OPDS2BookBridgeTests testToBook_returnsNilWhenNoAcquisitionLinks 2ms
โœ… OPDS2CatalogWiringTests testCatalogFeed_opds2Init_createsShellOpdsFeed 2ms
โœ… OPDS2CatalogWiringTests testCatalogFeed_opds2Init_mapsEntries 3ms
โœ… OPDS2CatalogWiringTests testCatalogFeed_opds2Init_setsTitle 3ms
โœ… OPDS2CatalogWiringTests testEndToEnd_jsonToLanes 39ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Facets_extracted 3ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Grouped_lanesHaveMoreURLs 3ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Grouped_lanesTitlesMatch 4ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Grouped_producesLanes 4ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Navigation_producesEmptyLanesAndBooks 2ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2Publication_producesUngroupedBooks 15ms
โœ… OPDS2CatalogWiringTests testMapFeed_opds2_bookMetadataPreserved 3ms
โœ… OPDS2CatalogWiringTests testParser_detectsOPDS1XML 2ms
โœ… OPDS2CatalogWiringTests testParser_detectsOPDS2JSON 18ms
โœ… OPDS2CatalogWiringTests testParser_invalidJSONThrows 7ms
โœ… OPDS2CatalogsFeedTests testAccountSetAuthenticationDocument 99ms
โœ… OPDS2CatalogsFeedTests testInitAccountsWithPublication 80ms
โœ… OPDS2CatalogsFeedTests testLoadCatalogsFeed 90ms
โœ… OPDS2ContributorTests testDecode_ObjectValue_ParsesAllFields 2ms
โœ… OPDS2ContributorTests testDecode_StringValue_ParsesAsName 3ms
โœ… OPDS2FeedContractTests testParseAudiobook_IncludesTypeMetadata 7ms
โœ… OPDS2FeedContractTests testParseFacets_ExtractsFormatEntryPoints 4ms
โœ… OPDS2FeedContractTests testParseFeed_FromBackendFixture_SucceedsWithExpectedStructure 4ms
โœ… OPDS2FeedContractTests testParseGroups_ExtractsLanes 40ms
โœ… OPDS2FeedContractTests testParsePublications_ExtractsBookMetadata 23ms
โœ… OPDS2FeedParsingTests testDateParsing_withISO8601_parsesCorrectly 101ms
โœ… OPDS2FeedParsingTests testDateParsing_withMilliseconds_parsesCorrectly 3ms
โœ… OPDS2FeedParsingTests testDateParsing_withoutMilliseconds_parsesCorrectly 5ms
โœ… OPDS2FeedParsingTests testFromData_withEmptyCatalogs_parsesSuccessfully 2ms
โœ… OPDS2FeedParsingTests testFromData_withEmptyData_throwsError 2ms
โœ… OPDS2FeedParsingTests testFromData_withInvalidJSON_throwsError 2ms
โœ… OPDS2FeedParsingTests testFromData_withMissingCatalogs_throwsError 2ms
โœ… OPDS2FeedParsingTests testFromData_withValidJSON_parsesFeed 126ms
โœ… OPDS2FeedParsingTests testLinks_parsesCorrectly 77ms
โœ… OPDS2FeedParsingTests testMetadata_parsesAdobeVendorId 77ms
โœ… OPDS2FeedParsingTests testMetadata_parsesTitle 78ms
โœ… OPDS2FeedTests testDetectOPDS2FromContentType 2ms
โœ… OPDS2FeedTests testDetectOPDS2FromData 2ms
โœ… OPDS2FeedTests testFeedEquatable 6ms
โœ… OPDS2FeedTests testParseDateWithFractionalSeconds 3ms
โœ… OPDS2FeedTests testParseDateWithoutFractionalSeconds 6ms
โœ… OPDS2FeedTests testParseFeedWithFacets 10ms
โœ… OPDS2FeedTests testParseFeedWithGroups 8ms
โœ… OPDS2FeedTests testParseFeedWithNavigation 5ms
โœ… OPDS2FeedTests testParseFeedWithPagination 3ms
โœ… OPDS2FeedTests testParseFeedWithPublications 8ms
โœ… OPDS2FeedTests testParseLinkWithIndirectAcquisition 2ms
โœ… OPDS2FeedTests testParseLinkWithProperties 7ms
โœ… OPDS2FeedTests testParseMinimalFeed 4ms
โœ… OPDS2FullMetadataTests testDecode_AllOptionalFields_ParsesCorrectly 7ms
โœ… OPDS2FullMetadataTests testDecode_AtIdKey_ParsesIdentifier 2ms
โœ… OPDS2FullMetadataTests testDecode_MissingId_GeneratesUUID 2ms
โœ… OPDS2FullMetadataTests testEncodeDecode_RoundTrip_PreservesData 3ms
โœ… OPDS2FullPublicationTests testAcquisitionLinks_FiltersCorrectly 10ms
โœ… OPDS2FullPublicationTests testBorrowLink_Found_ReturnsLink 6ms
โœ… OPDS2FullPublicationTests testCoverURL_CoverRel_ReturnsCorrectURL 2ms
โœ… OPDS2FullPublicationTests testCoverURL_LargeWidth_FallsBackToLargeImage 5ms
โœ… OPDS2FullPublicationTests testImageURL_NoRelImage_ReturnsFirst 2ms
โœ… OPDS2FullPublicationTests testIsAudiobook_AudiobookType_ReturnsTrue 2ms
โœ… OPDS2FullPublicationTests testIsEPUB_EpubType_ReturnsTrue 2ms
โœ… OPDS2FullPublicationTests testIsPDF_PdfType_ReturnsTrue 2ms
โœ… OPDS2FullPublicationTests testOpenAccessLink_Found_ReturnsLink 19ms
โœ… OPDS2FullPublicationTests testSampleLink_PreviewRel_ReturnsLink 3ms
โœ… OPDS2FullPublicationTests testSampleLink_SampleRel_ReturnsLink 6ms
โœ… OPDS2FullPublicationTests testThumbnailURL_SmallWidth_FallsBackToSmallImage 4ms
โœ… OPDS2FullPublicationTests testThumbnailURL_ThumbnailRel_ReturnsCorrectURL 4ms
โœ… OPDS2IntegrationTests testAllPublicationsConvertSuccessfully 8ms
โœ… OPDS2IntegrationTests testBorrowableBookConversion 8ms
โœ… OPDS2IntegrationTests testFeedFacets 10ms
โœ… OPDS2IntegrationTests testFeedIsGrouped 7ms
โœ… OPDS2IntegrationTests testFeedLinks 7ms
โœ… OPDS2IntegrationTests testFeedMetadata 7ms
โœ… OPDS2IntegrationTests testFormatDetection_JSON 7ms
โœ… OPDS2IntegrationTests testFormatDetection_XML 8ms
โœ… OPDS2IntegrationTests testFormatDetection_contentType 12ms
โœ… OPDS2IntegrationTests testFullPublicationFromJSON 18ms
โœ… OPDS2IntegrationTests testGroupCount 9ms
โœ… OPDS2IntegrationTests testNewAndNotableGroup 8ms
โœ… OPDS2IntegrationTests testOpenAccessBookConversion 8ms
โœ… OPDS2IntegrationTests testPopularAudiobooksGroup 12ms
โœ… OPDS2IntegrationTests testReadyBookConversion 7ms
โœ… OPDS2IntegrationTests testReservedBookWithLCPConversion 8ms
โœ… OPDS2IntegrationTests testStaffPicksGroup 9ms
โœ… OPDS2IntegrationTests testUnavailableAudiobookConversion 10ms
โœ… OPDS2LinkArrayTests testAllRel_MatchingLinks_ReturnsFiltered 3ms
โœ… OPDS2LinkArrayTests testAllRel_NoMatchingLinks_ReturnsEmpty 2ms
โœ… OPDS2LinkArrayTests testFirstRel_EmptyArray_ReturnsNil 10ms
โœ… OPDS2LinkArrayTests testFirstRel_MatchingLink_ReturnsFirst 2ms
โœ… OPDS2LinkArrayTests testFirstRel_NoMatch_ReturnsNil 2ms
โœ… OPDS2LinkComputedPropertyTests testHrefURL_InvalidURL_ReturnsNil 7ms
โœ… OPDS2LinkComputedPropertyTests testHrefURL_ValidURL_ReturnsURL 5ms
โœ… OPDS2LinkComputedPropertyTests testId_ReturnsHref 6ms
โœ… OPDS2LinkComputedPropertyTests testIsAcquisition_BorrowRel_ReturnsTrue 2ms
โœ… OPDS2LinkComputedPropertyTests testIsAcquisition_NilRel_ReturnsFalse 2ms
โœ… OPDS2LinkComputedPropertyTests testIsAcquisition_OpenAccessRel_ReturnsTrue 2ms
โœ… OPDS2LinkComputedPropertyTests testIsAcquisition_SelfRel_ReturnsFalse 4ms
โœ… OPDS2LinkComputedPropertyTests testIsBorrow_CorrectRel_ReturnsTrue 2ms
โœ… OPDS2LinkComputedPropertyTests testIsBorrow_OpenAccessRel_ReturnsFalse 2ms
โœ… OPDS2LinkComputedPropertyTests testIsImage_CoverRel_ReturnsTrue 3ms
โœ… OPDS2LinkComputedPropertyTests testIsImage_ImageType_ReturnsTrue 4ms
โœ… OPDS2LinkComputedPropertyTests testIsImage_NonImageType_ReturnsFalse 2ms
โœ… OPDS2LinkComputedPropertyTests testIsImage_ThumbnailRel_ReturnsTrue 3ms
โœ… OPDS2LinkComputedPropertyTests testIsOpenAccess_BorrowRel_ReturnsFalse 3ms
โœ… OPDS2LinkComputedPropertyTests testIsOpenAccess_CorrectRel_ReturnsTrue 2ms
โœ… OPDS2LinkComputedPropertyTests testIsSample_BorrowRel_ReturnsFalse 6ms
โœ… OPDS2LinkComputedPropertyTests testIsSample_PreviewRel_ReturnsTrue 4ms
โœ… OPDS2LinkComputedPropertyTests testIsSample_SampleRel_ReturnsTrue 4ms
โœ… OPDS2LinkComputedPropertyTests testLink_CodableRoundTrip_MinimalFields 7ms
โœ… OPDS2LinkComputedPropertyTests testLink_CodableRoundTrip_PreservesAllFields 9ms
โœ… OPDS2LinkRelTests testPasswordReset_hasCorrectRawValue 6ms
โœ… OPDS2LinkTests testLink_firstRelMethod_findsMatchingLink 145ms
โœ… OPDS2LinkTests testLink_hasHref 117ms
โœ… OPDS2PublicationExtendedTests testContributorDecodesFromObject 10ms
โœ… OPDS2PublicationExtendedTests testContributorDecodesFromString 9ms
โœ… OPDS2PublicationExtendedTests testConvertAcquisitionFromBorrowLink 3ms
โœ… OPDS2PublicationExtendedTests testConvertAcquisitionFromNonAcquisitionLink 41ms
โœ… OPDS2PublicationExtendedTests testConvertAcquisitionSynthesizesIndirectForBearerToken 54ms
โœ… OPDS2PublicationExtendedTests testConvertAcquisitionSynthesizesIndirectForLCP 2ms
โœ… OPDS2PublicationExtendedTests testConvertAcquisitionWithExplicitIndirectAcquisitions 3ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityAvailableWithCopies 4ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityAvailableWithoutCopies 3ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityNil 7ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityReady 2ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityReserved 4ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityReservedWithZeroPosition 64ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityUnavailable 2ms
โœ… OPDS2PublicationExtendedTests testConvertAvailabilityUnknownState 5ms
โœ… OPDS2PublicationExtendedTests testConvertIndirectAcquisitionsFlat 2ms
โœ… OPDS2PublicationExtendedTests testConvertIndirectAcquisitionsNested 5ms
โœ… OPDS2PublicationExtendedTests testConvertIndirectAcquisitionsNil 2ms
โœ… OPDS2PublicationExtendedTests testExtractImageURLsFallsBackToFirstImage 29ms
โœ… OPDS2PublicationExtendedTests testExtractImageURLsNil 2ms
โœ… OPDS2PublicationExtendedTests testExtractImageURLsWithExplicitRels 94ms
โœ… OPDS2PublicationExtendedTests testExtractSpecialLinks 5ms
โœ… OPDS2PublicationExtendedTests testExtractSpecialLinksEmpty 4ms
โœ… OPDS2PublicationExtendedTests testFullMetadataCodableRoundTrip 10ms
โœ… OPDS2PublicationExtendedTests testFullMetadataDecodesWithAlternateIdKey 2ms
โœ… OPDS2PublicationExtendedTests testFullMetadataDecodesWithMissingIdentifier 4ms
โœ… OPDS2PublicationExtendedTests testFullPublicationAcquisitionLinks 3ms
โœ… OPDS2PublicationExtendedTests testFullPublicationContentType 5ms
โœ… OPDS2PublicationExtendedTests testFullPublicationDurationFormatting 8ms
โœ… OPDS2PublicationExtendedTests testFullPublicationDurationFormattingSubHour 4ms
โœ… OPDS2PublicationExtendedTests testFullPublicationId 2ms
โœ… OPDS2PublicationExtendedTests testFullPublicationImageURLs 2ms
โœ… OPDS2PublicationExtendedTests testFullPublicationToBookReturnsNilWithNoAcquisitions 60ms
โœ… OPDS2PublicationExtendedTests testRelationFromBorrow 5ms
โœ… OPDS2PublicationExtendedTests testRelationFromBuy 7ms
โœ… OPDS2PublicationExtendedTests testRelationFromGenericAcquisition 4ms
โœ… OPDS2PublicationExtendedTests testRelationFromIssuesRelIsNil 2ms
โœ… OPDS2PublicationExtendedTests testRelationFromNonAcquisitionRel 2ms
โœ… OPDS2PublicationExtendedTests testRelationFromOpenAccess 7ms
โœ… OPDS2PublicationExtendedTests testRelationFromPreview 2ms
โœ… OPDS2PublicationExtendedTests testRelationFromRevokeRelIsNil 7ms
โœ… OPDS2PublicationExtendedTests testRelationFromSample 8ms
โœ… OPDS2PublicationExtendedTests testRelationFromSubscribe 2ms
โœ… OPDS2PublicationExtendedTests testRelationFromUnknownAcquisitionSubtype 18ms
โœ… OPDS2PublicationExtendedTests testSubjectDecodesFromObject 7ms
โœ… OPDS2PublicationExtendedTests testSubjectDecodesFromString 4ms
โœ… OPDS2PublicationImageTests testCoverURL_CoverRel_ReturnsURL 2ms
โœ… OPDS2PublicationImageTests testImageURL_NoImages_ReturnsNil 2ms
โœ… OPDS2PublicationImageTests testImageURL_NonPNGImage_ReturnsNil 2ms
โœ… OPDS2PublicationImageTests testImageURL_PNGImage_ReturnsURL 3ms
โœ… OPDS2PublicationImageTests testThumbnailURL_NoThumbnailRel_ReturnsNil 2ms
โœ… OPDS2PublicationImageTests testThumbnailURL_ThumbnailRel_ReturnsURL 2ms
โœ… OPDS2PublicationTests testPublication_hasRequiredFields 127ms
โœ… OPDS2PublicationTests testPublication_metadataHasTitle 93ms
โœ… OPDS2SamlIDPTests testDisplayName_WithEnglishName_ReturnsEnglishValue 7ms
โœ… OPDS2SamlIDPTests testDisplayName_WithNoEnglishName_ReturnsNil 5ms
โœ… OPDS2SamlIDPTests testIdpDescription_WithEnglishDescription_ReturnsValue 2ms
โœ… OPDS2SamlIDPTests testIdpDescription_WithNoDescriptions_ReturnsNil 4ms
โœ… OPDS2SamlIDPTests testInit_WithInvalidHref_ReturnsNil 2ms
โœ… OPDS2SamlIDPTests testInit_WithValidLink_MapsURLCorrectly 4ms
โœ… OPDS2SubjectTests testDecode_ObjectValue_ParsesAllFields 2ms
โœ… OPDS2SubjectTests testDecode_StringValue_ParsesAsName 4ms
โœ… OPDS2SupportingTypesTests testBelongsTo_SeriesWithPosition 16ms
โœ… OPDS2SupportingTypesTests testFacetLink_IsActive_WithNumberOfItems_ReturnsTrue 3ms
โœ… OPDS2SupportingTypesTests testFacetLink_IsActive_WithoutProperties_ReturnsFalse 2ms
โœ… OPDS2SupportingTypesTests testIndirectAcquisition_NestedChild 14ms
โœ… OPDS2SupportingTypesTests testPrice_CodableRoundTrip 5ms
โœ… OPDSAcquisitionPathExpandedTests test_acquisitionFromSingleEntry_hasDictionaryRepresentation 5ms
โœ… OPDSAcquisitionPathExpandedTests test_acquisitionRelationString_borrow 2ms
โœ… OPDSAcquisitionPathExpandedTests test_acquisitionRelationString_openAccess 2ms
โœ… OPDSAcquisitionPathExpandedTests test_audiobookTypes_isNonEmpty 2ms
โœ… OPDSAcquisitionPathExpandedTests test_entryFromSingleEntryXML_hasAuthors 3ms
โœ… OPDSAcquisitionPathExpandedTests test_entryFromSingleEntryXML_hasCorrectTitle 3ms
โœ… OPDSAcquisitionPathExpandedTests test_entryFromSingleEntryXML_hasIdentifier 3ms
โœ… OPDSAcquisitionPathExpandedTests test_entryInitWithInvalidXML_returnsNil 7ms
โœ… OPDSAcquisitionPathExpandedTests test_feedFromMainXML_hasEntries 68ms
โœ… OPDSAcquisitionPathExpandedTests test_feedFromMainXML_hasIdentifier 73ms
โœ… OPDSAcquisitionPathExpandedTests test_feedFromMainXML_hasLinks 70ms
โœ… OPDSAcquisitionPathExpandedTests test_feedFromMainXML_hasTitle 71ms
โœ… OPDSAcquisitionPathExpandedTests test_feedFromMainXML_hasUpdatedDate 73ms
โœ… OPDSAcquisitionPathExpandedTests test_feedInitWithNilXML_returnsNil 3ms
โœ… OPDSAcquisitionPathExpandedTests test_linkFromSingleEntryXML_hasHref 4ms
โœ… OPDSAcquisitionPathExpandedTests test_linkInitWithNilXML_returnsNil 2ms
โœ… OPDSAcquisitionPathExpandedTests test_linksFromSingleEntryXML_haveCorrectCount 11ms
โœ… OPDSAcquisitionPathExpandedTests test_supportedTypes_containsEPUB 2ms
โœ… OPDSAcquisitionPathExpandedTests test_supportedTypes_isNonEmpty 3ms
โœ… OPDSFeedCacheTests testCacheEntryIsExpired 2ms
โœ… OPDSFeedCacheTests testCacheEntryIsStale 5ms
โœ… OPDSFeedCacheTests testClear 3ms
โœ… OPDSFeedCacheTests testConditionalHeaders 9ms
โœ… OPDSFeedCacheTests testConditionalHeadersEmptyWhenNoCachedEntry 2ms
โœ… OPDSFeedCacheTests testExpiredEntriesNotReturned 20ms
โœ… OPDSFeedCacheTests testGetNonExistent 26ms
โœ… OPDSFeedCacheTests testGetWithRevalidationFetchesWhenNoCache 2ms
โœ… OPDSFeedCacheTests testGetWithRevalidationReturnsFreshData 2ms
โœ… OPDSFeedCacheTests testLRUEviction 105ms
โœ… OPDSFeedCacheTests testLRUUpdatesOnAccess 3ms
โœ… OPDSFeedCacheTests testRemove 2ms
โœ… OPDSFeedCacheTests testSetAndGet 3ms
โœ… OPDSFeedCacheTests testStats 2ms
โœ… OPDSFeedParsingTests testParseInvalidOPDSFeed 4ms
โœ… OPDSFeedParsingTests testParseValidOPDSFeed 155ms
โœ… OPDSFeedServiceTests testCancelAllRequests_doesNotCrash 3ms
โœ… OPDSFeedServiceTests testCancelRequest_doesNotCrash 55ms
โœ… OPDSFeedServiceTests testFetchCatalogRoot_methodExists 2ms
โœ… OPDSFeedServiceTests testFetchLoans_methodExists 6ms
โœ… OPDSFeedServiceTests testShared_returnsSameInstance 2ms
โœ… OPDSFormatTests testDetectIsCaseInsensitive 2ms
โœ… OPDSFormatTests testDetectOPDS1FromAtomXMLContentType 1ms
โœ… OPDSFormatTests testDetectOPDS1FromGenericXMLContentType 6ms
โœ… OPDSFormatTests testDetectOPDS1FromXMLData 3ms
โœ… OPDSFormatTests testDetectOPDS2FromGenericJSONContentType 3ms
โœ… OPDSFormatTests testDetectOPDS2FromJSONArrayData 2ms
โœ… OPDSFormatTests testDetectOPDS2FromJSONContentType 1ms
โœ… OPDSFormatTests testDetectOPDS2FromJSONData 2ms
โœ… OPDSFormatTests testDetectUnknownFromEmptyData 2ms
โœ… OPDSFormatTests testDetectUnknownFromNilContentType 2ms
โœ… OPDSFormatTests testDetectUnknownFromUnrelatedContentType 2ms
โœ… OPDSFormatTests testOPDS1RawValue 2ms
โœ… OPDSFormatTests testOPDS2RawValue 2ms
โœ… OPDSParserCoreTests testParseEmptyDataThrows 6ms
โœ… OPDSParserCoreTests testParseInvalidXMLThrows 3ms
โœ… OPDSParserCoreTests testParseValidOPDS1Feed 5ms
โœ… OPDSParserCoreTests testParserErrorDescriptions 2ms
โœ… OPDSParserTests testParseFeed_throwsForInvalidData 2ms
โœ… OPDSParserTests testParseFeed_throwsForNonXML 3ms
โœ… OPDSParserTests testParserError_invalidFeed 2ms
โœ… OPDSParserTests testParserError_invalidXML 2ms
โœ… OPDSParsingTests testAcquisitionLinks 4ms
โœ… OPDSParsingTests testAnalyticsURLGeneration 3ms
โœ… OPDSParsingTests testAuthorWithMissingName 21ms
โœ… OPDSParsingTests testCategoryWithMissingTerm 4ms
โœ… OPDSParsingTests testEmptyXMLData 4ms
โœ… OPDSParsingTests testEntryExtractionFromFeed 4ms
โœ… OPDSParsingTests testEntryWithCategories 3ms
โœ… OPDSParsingTests testEntryWithContributors 5ms
โœ… OPDSParsingTests testEntryWithDuration 3ms
โœ… OPDSParsingTests testEntryWithMissingId 2ms
โœ… OPDSParsingTests testEntryWithMissingTitle 2ms
โœ… OPDSParsingTests testEntryWithMissingUpdated 2ms
โœ… OPDSParsingTests testEntryWithMultipleAuthors 9ms
โœ… OPDSParsingTests testEntryWithPublisherAndDistribution 4ms
โœ… OPDSParsingTests testFeedIgnoresMalformedEntries 5ms
โœ… OPDSParsingTests testFeedIgnoresMalformedLinks 3ms
โœ… OPDSParsingTests testFeedInitializationFromCompleteFeed 5ms
โœ… OPDSParsingTests testFeedInitializationFromMinimalXML 57ms
โœ… OPDSParsingTests testFeedInitializationFromSingleEntry 2ms
โœ… OPDSParsingTests testFeedParsingPerformance 1.59s
โœ… OPDSParsingTests testFeedTypeAcquisitionGrouped 4ms
โœ… OPDSParsingTests testFeedTypeAcquisitionUngrouped 3ms
โœ… OPDSParsingTests testFeedTypeAcquisitionUngroupedWithEmptyFeed 2ms
โœ… OPDSParsingTests testFeedTypeNavigation 4ms
โœ… OPDSParsingTests testFeedWithInvalidDate 3ms
โœ… OPDSParsingTests testFeedWithLicensorAndPatron 6ms
โœ… OPDSParsingTests testFeedWithMissingId 3ms
โœ… OPDSParsingTests testFeedWithMissingTitle 2ms
โœ… OPDSParsingTests testFeedWithMissingUpdated 2ms
โœ… OPDSParsingTests testGroupAttributes 4ms
โœ… OPDSParsingTests testHTMLEntityDecoding 2ms
โœ… OPDSParsingTests testImageLinks 4ms
โœ… OPDSParsingTests testLinkInitialization 4ms
โœ… OPDSParsingTests testLinkRelationAlternate 6ms
โœ… OPDSParsingTests testLinkRelationAnnotations 3ms
โœ… OPDSParsingTests testLinkRelationRelatedWorks 4ms
โœ… OPDSParsingTests testLinkRelationTimeTracking 4ms
โœ… OPDSParsingTests testLinkWithMissingHref 5ms
โœ… OPDSParsingTests testLinkWithOptionalAttributesNil 2ms
โœ… OPDSParsingTests testMalformedXML 2ms
โœ… OPDSParsingTests testNilXMLFeed 2ms
โœ… OPDSParsingTests testNonMarketplaceHTMLPreviewIsAccepted 3ms
โœ… OPDSParsingTests testPalaceMarketplaceHTMLPreviewIsAccepted 3ms
โœ… OPDSParsingTests testPreviewLinkParsing 13ms
โœ… OPDSParsingTests testPreviewLinkUsesFirstAvailable 2ms
โœ… OPDSParsingTests testRFC3339DateParsing 3ms
โœ… OPDSParsingTests testSeriesLink 3ms
โœ… OfflineActionTests testActionState_CodableRoundTrip 4ms
โœ… OfflineActionTests testActionType_CodableRoundTrip 3ms
โœ… OfflineActionTests testBorrowAction_Creation 3ms
โœ… OfflineActionTests testCanRetry_CompletedState_False 24ms
โœ… OfflineActionTests testCanRetry_FailedExceedingMaxRetries_False 4ms
โœ… OfflineActionTests testCanRetry_FailedWithRetriesExhausted_False 3ms
โœ… OfflineActionTests testCanRetry_FailedWithRetriesRemaining_True 3ms
โœ… OfflineActionTests testCanRetry_PendingState_False 2ms
โœ… OfflineActionTests testCanRetry_ProcessingState_False 3ms
โœ… OfflineActionTests testCanRetry_ZeroMaxRetries_AlwaysFalse 2ms
โœ… OfflineActionTests testCancelHoldAction_Creation 3ms
โœ… OfflineActionTests testCodableRoundTrip_AllActionTypes 4ms
โœ… OfflineActionTests testCodableRoundTrip_FailedAction 2ms
โœ… OfflineActionTests testCodableRoundTrip_PendingAction 3ms
โœ… OfflineActionTests testCustomMaxRetries 3ms
โœ… OfflineActionTests testDisplayDescription_Borrow 4ms
โœ… OfflineActionTests testDisplayDescription_CancelHold 2ms
โœ… OfflineActionTests testDisplayDescription_Hold 4ms
โœ… OfflineActionTests testDisplayDescription_Return 5ms
โœ… OfflineActionTests testEquality_DifferentID_NotEqual 4ms
โœ… OfflineActionTests testEquality_SameID_Equal 4ms
โœ… OfflineActionTests testHoldAction_Creation 4ms
โœ… OfflineActionTests testNextRetryDelay_FirstRetry 4ms
โœ… OfflineActionTests testNextRetryDelay_FourthRetry 2ms
โœ… OfflineActionTests testNextRetryDelay_GrowsExponentially 2ms
โœ… OfflineActionTests testNextRetryDelay_SecondRetry 33ms
โœ… OfflineActionTests testNextRetryDelay_ThirdRetry 4ms
โœ… OfflineActionTests testRetryCount_IncrementWorks 3ms
โœ… OfflineActionTests testReturnAction_Creation 62ms
โœ… OfflineQueueServiceExtendedTests testCancel_NonexistentAction_NoOp 11ms
โœ… OfflineQueueServiceExtendedTests testCancel_SpecificPendingAction 5ms
โœ… OfflineQueueServiceExtendedTests testClearFailed_RemovesOnlyFailedActions 508ms
โœ… OfflineQueueServiceExtendedTests testIsProcessing_InitiallyFalse 4ms
โœ… OfflineQueueServiceExtendedTests testMaxRetriesReached_ActionMarkedAsFailed 3.07s
โœ… OfflineQueueServiceExtendedTests testPersistence_ProcessingState_ResetToPending 6ms
โœ… OfflineQueueServiceExtendedTests testPersistence_SaveAndReload 5ms
โœ… OfflineQueueServiceExtendedTests testProcessQueue_FIFO_Order 518ms
โœ… OfflineQueueServiceExtendedTests testQueueStatus_EmptyQueue 10ms
โœ… OfflineQueueServiceExtendedTests testQueueStatus_Summary_AllStates 2ms
โœ… OfflineQueueServiceExtendedTests testQueueStatus_TotalActive 5ms
โœ… OfflineQueueServiceExtendedTests testQueueStatus_WithPendingActions 5ms
โœ… OfflineQueueServiceExtendedTests testRetry_MovesFailedToPending 1.04s
โœ… OfflineQueueServiceTests testActionPublisherEmits 5ms
โœ… OfflineQueueServiceTests testCancelPendingAction 10ms
โœ… OfflineQueueServiceTests testClearFailed 210ms
โœ… OfflineQueueServiceTests testEnqueueAction 5ms
โœ… OfflineQueueServiceTests testEnqueueMultipleActions 12ms
โœ… OfflineQueueServiceTests testExponentialBackoff 2ms
โœ… OfflineQueueServiceTests testMaxRetriesExceeded 1.12s
โœ… OfflineQueueServiceTests testNetworkAvailableTriggersProcessing 213ms
โœ… OfflineQueueServiceTests testOfflineActionCanRetry 3ms
โœ… OfflineQueueServiceTests testOfflineActionDisplayDescription 7ms
โœ… OfflineQueueServiceTests testOfflineQueueStatusSummary 3ms
โœ… OfflineQueueServiceTests testProcessQueueFIFOOrder 226ms
โœ… OfflineQueueServiceTests testProcessQueueSuccess 212ms
โœ… OfflineQueueServiceTests testProcessingStateResetOnRestart 13ms
โœ… OfflineQueueServiceTests testQueuePersistsAcrossInstances 8ms
โœ… OfflineQueueServiceTests testRetryFailedAction 5.06s
โœ… OfflineQueueServiceTests testStatusPublisherEmits 14ms
โœ… PDFExtensionsTests testBookmarkSelector_RoundTrips_AsTPPPDFPageBookmark 9ms
โœ… PDFExtensionsTests testBookmarkSelector_ValidPage_ContainsLocatorPageType 2ms
โœ… PDFExtensionsTests testLocationString_PageZero_ReturnsValidJSON 8ms
โœ… PDFExtensionsTests testLocationString_RoundTrips_WithDecoder 1ms
โœ… PDFExtensionsTests testLocationString_ValidPage_ReturnsJSONString 4ms
โœ… PDFExtensionsTests testPageNumber_EmptyLocationString_ReturnsNil 2ms
โœ… PDFExtensionsTests testPageNumber_InvalidLocationString_ReturnsNil 2ms
โœ… PDFExtensionsTests testPageNumber_LargePageNumber_ReturnsCorrectly 5ms
โœ… PDFExtensionsTests testPageNumber_NonPDFLocationString_ReturnsNil 17ms
โœ… PDFExtensionsTests testPageNumber_PageZero_ReturnsZero 2ms
โœ… PDFExtensionsTests testPageNumber_ValidLocationString_ReturnsPageNumber 3ms
โœ… PDFExtensionsTests testPdfImageRenderingQueue_CreatesNewInstanceEachTime 219ms
โœ… PDFExtensionsTests testPdfImageRenderingQueue_HasCorrectLabel 2ms
โœ… PDFExtensionsTests testPdfPreviewSize_IsLargerThanThumbnail 2ms
โœ… PDFExtensionsTests testPdfPreviewSize_IsSquare 2ms
โœ… PDFExtensionsTests testPdfPreviewSize_ReturnsExpectedDimensions 2ms
โœ… PDFExtensionsTests testPdfThumbnailRenderingQueue_CreatesNewInstanceEachTime 357ms
โœ… PDFExtensionsTests testPdfThumbnailRenderingQueue_HasCorrectLabel 2ms
โœ… PDFExtensionsTests testPdfThumbnailSize_IsSquare 5ms
โœ… PDFExtensionsTests testPdfThumbnailSize_ReturnsExpectedDimensions 2ms
โœ… PDFReaderTests testLCPPDFBook_ContentType 6ms
โœ… PDFReaderTests testPDFBook_ContentType 6ms
โœ… PDFReaderTests testPDFPageBookmark_ConformsToBookmark 4ms
โœ… PDFReaderTests testPDFPageBookmark_Decoding 4ms
โœ… PDFReaderTests testPDFPageBookmark_Encoding 4ms
โœ… PDFReaderTests testPDFPageBookmark_Initialization 2ms
โœ… PDFReaderTests testPDFPageBookmark_WithAnnotationID 2ms
โœ… PDFReaderTests testPDFPage_Decoding 1ms
โœ… PDFReaderTests testPDFPage_Encoding 2ms
โœ… PDFReaderTests testPDFPage_Initialization 8ms
โœ… PDFReaderTests testPDFPage_RoundTrip 3ms
โœ… PDFReaderTests testReaderMode_Values 1ms
โœ… PDFViewsSnapshotTests testPDFNavigation_bookmarksMode 11ms
โœ… PDFViewsSnapshotTests testPDFNavigation_previewsMode 7ms
โœ… PDFViewsSnapshotTests testPDFNavigation_readerMode_bookmarked 6ms
โœ… PDFViewsSnapshotTests testPDFNavigation_readerMode_notBookmarked 9ms
โœ… PDFViewsSnapshotTests testPDFNavigation_searchMode 7ms
โœ… PDFViewsSnapshotTests testPDFNavigation_tocMode 5ms
โœ… PDFViewsSnapshotTests testPDFPreviewBar_atFirstPage 4ms
โœ… PDFViewsSnapshotTests testPDFPreviewBar_atLastPage 3ms
โœ… PDFViewsSnapshotTests testPDFPreviewBar_atMiddlePage 7ms
โœ… PDFViewsSnapshotTests testPDFPreviewBar_compactWidth 5ms
โœ… PDFViewsSnapshotTests testPDFPreviewBar_darkMode 8ms
โœ… PDFViewsSnapshotTests testPDFPreviewThumbnail_darkMode 4ms
โœ… PDFViewsSnapshotTests testPDFPreviewThumbnail_defaultSize 38ms
โœ… PDFViewsSnapshotTests testPDFPreviewThumbnail_largerSize 4ms
โœ… PDFViewsSnapshotTests testPDFPreviewThumbnail_smallSize 5ms
โœ… PP3596RegressionTests testPP3596_multiplePlaybackStartedCalls_shouldNotOvercount 17ms
โœ… PP3596RegressionTests testPP3596_onlyActualPlaybackIsTracked 29ms
โœ… PP3596RegressionTests testPP3596_playbackStartedWithoutPlayback_shouldNotAccumulateTime 9ms
โŒ Palace PalaceTests <1ms
โœ… Palace TenPrintCoverTests <1ms
โœ… PalaceCheckPropertyTests test_BackoffDelay_isNonNegativeAndMonotone 3ms
โœ… PalaceCheckPropertyTests test_BookButtonMapper_map_isTotal_forAllStates 9ms
โœ… PalaceCheckPropertyTests test_OPDS2Publication_jsonRoundTrip 19ms
โœ… PalaceCheckPropertyTests test_TPPBookState_disallowedTransitionsAreRejected 2ms
โœ… PalaceCheckPropertyTests test_TPPBookState_selfTransitionsAlwaysAllowed 2ms
โœ… PalaceCheckPropertyTests test_TPPBookState_unregisteredToDownloadingAllowed 2ms
โœ… PalaceCheckPropertyTests test_TPPBookState_validSequencesRespectTable 12ms
โœ… PalaceCheckPropertyTests test_TPPBook_dictionaryRoundTrip 183ms
โœ… PalaceErrorCategoryTests testAuthenticationError_allCases_haveDescriptions 2ms
โœ… PalaceErrorCategoryTests testBookReaderError_allCases_haveDescriptions 11ms
โœ… PalaceErrorCategoryTests testDownloadError_allCases_haveDescriptions 2ms
โœ… PalaceErrorCategoryTests testErrorCode_authErrors_startAt6000 2ms
โœ… PalaceErrorCategoryTests testErrorCode_downloadErrors_startAt3000 2ms
โœ… PalaceErrorCategoryTests testErrorCode_drmErrors_startAt5000 2ms
โœ… PalaceErrorCategoryTests testErrorCode_networkErrors_startAt1000 2ms
โœ… PalaceErrorCategoryTests testErrorCode_uniquePerCase 2ms
โœ… PalaceErrorCategoryTests testFromNSError_unknownDomain_mapsToNetworkUnknown 2ms
โœ… PalaceErrorCategoryTests testFromNSError_urlErrorCancelled_mapsToCancelled 2ms
โœ… PalaceErrorCategoryTests testFromNSError_urlErrorNotConnected_mapsToNoConnection 3ms
โœ… PalaceErrorCategoryTests testFromNSError_urlErrorTimedOut_mapsToTimeout 2ms
โœ… PalaceErrorCategoryTests testLocalizedError_conformance 4ms
โœ… PalaceErrorCategoryTests testNetworkError_allCases_haveDescriptions 2ms
โœ… PalaceErrorCategoryTests testRecoverySuggestion_downloadInsufficientSpace 1ms
โœ… PalaceErrorCategoryTests testRecoverySuggestion_networkErrors_provideGuidance 3ms
โœ… PalaceErrorCategoryTests testStorageError_allCases_haveDescriptions 2ms
โœ… PalaceErrorExtendedTests testAudiobookError_allCases_haveDescriptions 4ms
โœ… PalaceErrorExtendedTests testAudiobookError_allCases_haveRecoverySuggestions 2ms
โœ… PalaceErrorExtendedTests testBookRegistryError_allCases_haveDescriptions 2ms
โœ… PalaceErrorExtendedTests testBookRegistryError_allCases_haveRecoverySuggestions 3ms
โœ… PalaceErrorExtendedTests testDRMError_allCases_haveDescriptions 5ms
โœ… PalaceErrorExtendedTests testDRMError_allCases_haveRecoverySuggestions 4ms
โœ… PalaceErrorExtendedTests testDownloadError_cancelled_hasNilRecoverySuggestion 2ms
โœ… PalaceErrorExtendedTests testErrorCode_audiobookErrors_startAt9000 2ms
โœ… PalaceErrorExtendedTests testErrorCode_bookReaderErrors_startAt8000 3ms
โœ… PalaceErrorExtendedTests testErrorCode_bookRegistryErrors_startAt2000 2ms
โœ… PalaceErrorExtendedTests testErrorCode_offsetByRawValue 6ms
โœ… PalaceErrorExtendedTests testErrorCode_parsingErrors_startAt4000 3ms
โœ… PalaceErrorExtendedTests testErrorCode_storageErrors_startAt7000 4ms
โœ… PalaceErrorExtendedTests testFromError_palaceErrorPassedDirectly_returnsItself 2ms
โœ… PalaceErrorExtendedTests testFromNSError_palaceDomain_code0_mapsToNetworkUnknown 2ms
โœ… PalaceErrorExtendedTests testFromNSError_palaceDomain_code3_mapsToParsingOpdsFeedInvalid 2ms
โœ… PalaceErrorExtendedTests testFromNSError_palaceDomain_code5_mapsToAuthInvalidCredentials 2ms
โœ… PalaceErrorExtendedTests testFromNSError_palaceDomain_code8_mapsToAudiobookPlaybackError 3ms
โœ… PalaceErrorExtendedTests testFromNSError_palaceDomain_unknownCode_mapsToNetworkUnknown 2ms
โœ… PalaceErrorExtendedTests testFromNSError_urlErrorBadURL_mapsToInvalidURL 2ms
โœ… PalaceErrorExtendedTests testFromNSError_urlErrorCannotConnectToHost_mapsToServerError 4ms
โœ… PalaceErrorExtendedTests testFromNSError_urlErrorCannotFindHost_mapsToServerError 3ms
โœ… PalaceErrorExtendedTests testFromNSError_urlErrorUnsupportedURL_mapsToInvalidURL 6ms
โœ… PalaceErrorExtendedTests testNetworkError_cancelled_hasNilRecoverySuggestion 2ms
โœ… PalaceErrorExtendedTests testPalaceError_errorDescription_delegatesToInnerError 2ms
โœ… PalaceErrorExtendedTests testPalaceError_recoverySuggestion_delegatesToInnerError 4ms
โœ… PalaceErrorExtendedTests testParsingError_allCases_haveDescriptions 2ms
โœ… PalaceErrorExtendedTests testParsingError_contentNotSupported_hasSpecificRecovery 3ms
โœ… PalaceErrorExtendedTests testParsingError_otherCases_haveGenericRecovery 4ms
โœ… PalaceErrorTests testPalaceError_authentication_accountNotFound 6ms
โœ… PalaceErrorTests testPalaceError_authentication_invalidCredentials 3ms
โœ… PalaceErrorTests testPalaceError_authentication_tokenExpired 11ms
โœ… PalaceErrorTests testPalaceError_bookRegistry_alreadyBorrowed 9ms
โœ… PalaceErrorTests testPalaceError_bookRegistry_bookNotFound 5ms
โœ… PalaceErrorTests testPalaceError_download_cannotFulfill 12ms
โœ… PalaceErrorTests testPalaceError_network_forbidden 5ms
โœ… PalaceErrorTests testPalaceError_network_notFound 3ms
โœ… PalaceErrorTests testPalaceError_network_rateLimited 26ms
โœ… PalaceErrorTests testPalaceError_network_serverError 5ms
โœ… PalaceErrorTests testPalaceError_parsing_opdsFeedInvalid 15ms
โœ… ParserFuzzTests testFuzz_AnnotationsResponse_NoCrashes 51ms
โœ… ParserFuzzTests testFuzz_LCPLicense_NoCrashes 52ms
โœ… ParserFuzzTests testFuzz_OPDS1XML_NoCrashes 360ms
โœ… ParserFuzzTests testFuzz_OPDS2JSON_NoCrashes 45.23s
โœ… PerformanceMonitorTests testClearAll 4ms
โœ… PerformanceMonitorTests testEmptyReport 6ms
โœ… PerformanceMonitorTests testEndTimingSameTokenTwice 3ms
โœ… PerformanceMonitorTests testEndTimingWithInvalidToken 9ms
โœ… PerformanceMonitorTests testGenerateReport 4ms
โœ… PerformanceMonitorTests testMaxMetricsPerCategoryEnforced 3ms
โœ… PerformanceMonitorTests testMetricPublisherEmits 12ms
โœ… PerformanceMonitorTests testMetricsGroupedByCategory 4ms
โœ… PerformanceMonitorTests testPercentileCalculations 4ms
โœ… PerformanceMonitorTests testRecordDurationDirectly 3ms
โœ… PerformanceMonitorTests testRecordMetricDirectly 8ms
โœ… PerformanceMonitorTests testReportByName 3ms
โœ… PerformanceMonitorTests testReportSummaryFormat 43ms
โœ… PerformanceMonitorTests testStartAndEndTiming 60ms
โœ… PerformanceReportTests testEmptyMetrics_ReturnsZeros 3ms
โœ… PerformanceReportTests testLargeDataset_PercentileAccuracy 12ms
โœ… PerformanceReportTests testMinMaxMean 2ms
โœ… PerformanceReportTests testMinMaxMean_UnsortedInput 2ms
โœ… PerformanceReportTests testPercentile_P50_EvenCount 2ms
โœ… PerformanceReportTests testPercentile_P50_OddCount 2ms
โœ… PerformanceReportTests testPercentile_P95 3ms
โœ… PerformanceReportTests testPercentile_P99 4ms
โœ… PerformanceReportTests testReport_EmptyMonitor_ZeroMeasurements 13ms
โœ… PerformanceReportTests testReport_StatisticsByCategory 3ms
โœ… PerformanceReportTests testReport_StatisticsByName 2ms
โœ… PerformanceReportTests testReport_SummaryContainsMeasurementCount 2ms
โœ… PerformanceReportTests testReport_TotalMeasurements 2ms
โœ… PerformanceReportTests testSingleMetric_AllPercentilesEqual 2ms
โœ… PersistentLoggerTests testLog_andRetrieve_containsLoggedMessage 31ms
โœ… PersistentLoggerTests testLog_containsTimestamp 3ms
โœ… PersistentLoggerTests testLog_errorLevel_isRecorded 5ms
โœ… PersistentLoggerTests testLog_faultLevel_isRecorded 4ms
โœ… PersistentLoggerTests testLog_multipleEntries_allAppear 10ms
โœ… PersistentLoggerTests testRetrieveAllLogs_returnsString 9ms
โœ… PersistentLoggerTests testShared_returnsSameInstance 3ms
โœ… PlaybackBootstrapperTests testAudiobookSessionManager_InitialState_IsIdle 4ms
โœ… PlaybackBootstrapperTests testAudiobookSessionState_ErrorIsNotActive 3ms
โœ… PlaybackBootstrapperTests testAudiobookSessionState_IdleIsNotActive 3ms
โœ… PlaybackBootstrapperTests testAudiobookSessionState_LoadingIsActive 5ms
โœ… PlaybackBootstrapperTests testAudiobookSessionState_PausedIsActive 3ms
โœ… PlaybackBootstrapperTests testAudiobookSessionState_PlayingIsActive 10ms
โœ… PlaybackBootstrapperTests testPlaybackBootstrapper_ConfiguresRemoteCommandCenter 5ms
โœ… PlaybackBootstrapperTests testPlaybackBootstrapper_EnsureInitializedForCarPlay_LoadsBookRegistry 174ms
โœ… PlaybackBootstrapperTests testPlaybackBootstrapper_EnsureInitialized_IsIdempotent 674ms
โœ… PlaybackBootstrapperTests testPlaybackBootstrapper_NoActiveManager_ReturnsNoActionableItem 3ms
โœ… PlaybackBootstrapperTests testPlaybackBootstrapper_Singleton_Exists 7ms
โœ… PlaybackBootstrapperTests testPlaybackBootstrapper_SkipIntervals_AreConfigured 4ms
โœ… PlaybackRateTests testConvert_IntermediateCases_ReturnCorrectMultipliers 99ms
โœ… PlaybackRateTests testConvert_PresetCases_ReturnCorrectMultipliers 2ms
โœ… PlaybackRateTests testFormatMultiplier_AllIntermediateSteps_ContainMultiplySign 3ms
โœ… PlaybackRateTests testFormatMultiplier_OneDecimalPlace_ShowsOneDecimalPlace 5ms
โœ… PlaybackRateTests testFormatMultiplier_TwoDecimalPlaces_ShowsTwoDecimalPlaces 9ms
โœ… PlaybackRateTests testFormatMultiplier_WholeNumber_ShowsOneDecimalPlace 1ms
โœ… PlaybackRateTests testNearest_AboveMaximum_ReturnsDoubleTime 4ms
โœ… PlaybackRateTests testNearest_BelowMinimum_ReturnsThreeQuartersTime 2ms
โœ… PlaybackRateTests testNearest_ExactIntermediateValues_ReturnExactCase 21ms
โœ… PlaybackRateTests testNearest_ExactPresetValues_ReturnExactCase 2ms
โœ… PlaybackRateTests testNearest_ValueBetweenSteps_SnapsToNearest 2ms
โœ… PlaybackRateTests testPresets_ContainsAllNamedRates 2ms
โœ… PlaybackRateTests testPresets_ContainsExactlyFiveCases 5ms
โœ… PlaybackRateTests testPresets_DoesNotContainIntermediateCases 2ms
โœ… PlaybackRateTests testSteps_BoundsAre75And200 2ms
โœ… PlaybackRateTests testSteps_ContainsAll26Values 6ms
โœ… PlaybackRateTests testSteps_Has0Point05IncrementsBetweenBounds 2ms
โœ… PlaybackRateTests testSteps_IsSortedAscending 4ms
โœ… PlaybackTrackingRegressionTests testMultiplePlaybackStartedCalls_doesNotOvercount 21ms
โœ… PlaybackTrackingRegressionTests testMultipleStopStartCycles_preservesAllTime 28ms
โœ… PlaybackTrackingRegressionTests testPlaybackStopped_savesAccumulatedTime 20ms
โœ… PlaybackTrackingRegressionTests testRapidStartStopCycles_countsCorrectly 21ms
โœ… PlaybackTrackingRegressionTests testSleepTimerPause_savesAllAccumulatedTime 20ms
โœ… PositionPersistenceLogicTests testCriticalSave_onTermination_mustBypassSuppression 5ms
โœ… PositionPersistenceLogicTests testNewPersistLocation_bypassesSuppression 6ms
โœ… PositionPersistenceLogicTests testNoSuppression_allowsSave 7ms
โœ… PositionPersistenceLogicTests testOldBehavior_suppressionBlocksSave 9ms
โœ… PositionPersistenceLogicTests testSuppressionExpired_allowsSave 8ms
โœ… PositionPersistenceLogicTests testSuppressionWindow_threeSeconds_blocksAndThenAllows 3ms
โœ… PositionPersistenceTests testBookRegistry_setLocation_updatesPosition 2ms
โœ… PositionPersistenceTests testBookRegistry_storesLocation 3ms
โœ… PositionSyncServiceTests testClearAll 7ms
โœ… PositionSyncServiceTests testClearPositionsForBook 5ms
โœ… PositionSyncServiceTests testLatestPositionAnyFormat 15ms
โœ… PositionSyncServiceTests testNoSyncOfferForUnknownBook 4ms
โœ… PositionSyncServiceTests testNoSyncOfferWhenCurrentFormatIsMoreRecent 17ms
โœ… PositionSyncServiceTests testPersistenceAcrossInstances 19ms
โœ… PositionSyncServiceTests testPositionRecordedEventPublished 5ms
โœ… PositionSyncServiceTests testRecordAudiobookPosition 10ms
โœ… PositionSyncServiceTests testRecordEpubPosition 4ms
โœ… PositionSyncServiceTests testRecordPdfPosition 4ms
โœ… PositionSyncServiceTests testSetAndRetrieveMapping 9ms
โœ… PositionSyncServiceTests testSyncAvailableEventPublished 220ms
โœ… PositionSyncServiceTests testSyncOfferWhenOtherFormatIsMoreRecent 7ms
โœ… PositionSyncTests testSyncIsPossibleAndPermitted_checksSyncState 15ms
โœ… PositionSyncTests testTPPBookLocation_creation 2ms
โœ… PositionSyncTests testTPPBookLocation_equality 3ms
โœ… PositionSyncTests testTPPBookLocation_withEmptyString_createsLocation 4ms
โœ… PositionSyncTests testTPPBookmarkR3Location_storesResourceIndex 5ms
โœ… PositionThrottlingTests testPoster_rapidPositionUpdates_throttlesUploads 11ms
โœ… PostUpdateMigrationTests testMigrate_doesNotCrash 29ms
โœ… PostUpdateMigrationTests testMigrate_updatesStoredVersion 7ms
โœ… PostUpdateMigrationTests testPostUpdateDetection_differentBuild_isDetected 12ms
โœ… PostUpdateMigrationTests testPostUpdateDetection_firstLaunch_isNotUpdate 7ms
โœ… PostUpdateMigrationTests testPostUpdateDetection_sameBuild_isNotDetected 7ms
โœ… ProblemDocumentContractTests testAllProblemDocuments_Parse 4ms
โœ… ProblemDocumentContractTests testAllProblemTypes_HaveDistinctTypeURIs 3ms
โœ… ProblemDocumentContractTests testInvalidCredentials_HasExpectedShape 2ms
โœ… ProblemDocumentContractTests testLoanLimitReached_HasExpectedShape 2ms
โœ… ProblemDocumentLoanExpiryTests testDetailLoanTermLimitReached_detectedInRealServerDetail 2ms
โœ… ProblemDocumentLoanExpiryTests testDetailLoanTermLimitReached_hasExpectedValue 2ms
โœ… ProblemDocumentLoanExpiryTests testDetailLoanTermLimitReached_notDetectedInUnrelatedDetail 1ms
โœ… ProblemDocumentLoanExpiryTests testLoanTermLimitReached_detectedFromErrorDictionary 2ms
โœ… ProblemDocumentLoanExpiryTests testNoActiveLoan_doesNotMatchTermLimitCheck 2ms
โœ… ProblemDocumentTests testBorrowError_credentialsSuspended_extractsDetails 2ms
โœ… ProblemDocumentTests testBorrowError_loanLimitReached_extractsDetails 2ms
โœ… ProblemDocumentTests testNSError_problemDocument_extractsCorrectly 5ms
โœ… ProblemDocumentTests testNSError_withoutProblemDocument_hasNilProperties 2ms
โœ… ProblemDocumentTests testProblemDocumentTypes_areCorrect 2ms
โœ… ProblemDocumentTests testProblemDocument_fromData_parsesCorrectly 2ms
โœ… ProblemDocumentTests testProblemDocument_fromDictionary_parsesCorrectly 2ms
โœ… ProblemDocumentTests testProblemDocument_fromResponseError_extractsFromNSError 2ms
โœ… ProblemDocumentTests testProblemDocument_fromResponseError_fallsBackToData 2ms
โœ… ProblemDocumentTests testProblemDocument_fromResponseError_returnsNilWhenNoDocument 2ms
โœ… ProblemDocumentTests testProblemDocument_stringValue_combinesTitleAndDetail 2ms
โœ… ProblemDocumentTests testProblemDocument_stringValue_handlesMissingTitle 2ms
โœ… ProblemReportEmailTests testGenerateBody_containsDeviceIdiom 2ms
โœ… ProblemReportEmailTests testGenerateBody_containsLibrary 3ms
โœ… ProblemReportEmailTests testGenerateBody_containsOSVersion 2ms
โœ… ProblemReportEmailTests testGenerateBody_containsPalaceVersion 2ms
โœ… ProblemReportEmailTests testGenerateBody_containsPlatform 2ms
โœ… ProblemReportEmailTests testGenerateBody_containsScreenHeight 2ms
โœ… ProblemReportEmailTests testGenerateBody_containsSeparator 6ms
โœ… ProblemReportEmailTests testGenerateBody_startsWithNewlines 2ms
โœ… ProblemReportEmailTests testGenerateBody_withBook_containsBookInfo 4ms
โœ… ProblemReportEmailTests testGenerateBody_withoutBook_doesNotContainBookInfo 2ms
โœ… ProblemReportEmailTests testPP3651_beginComposing_acceptsLibraryUUID 2ms
โœ… ProblemReportEmailTests testPP3651_generateBody_patronID_appearsAfterSeparator 4ms
โœ… ProblemReportEmailTests testPP3651_generateBody_withBookAndPatronID_containsBothBookAndPatronInfo 5ms
โœ… ProblemReportEmailTests testPP3651_generateBody_withExplicitNilPatronID_doesNotLeakActiveLibraryID 2ms
โœ… ProblemReportEmailTests testPP3651_generateBody_withPatronID_containsPatronID 2ms
โœ… ProblemReportEmailTests testPP3651_generateBody_withoutPatronID_doesNotContainPatronIDLabel 2ms
โœ… ReachabilityTests testGetDetailedConnectivityStatus_returnsNonEmptyFields 6ms
โœ… ReachabilityTests testIsConnectedToNetwork_returnsBool 3ms
โœ… ReachabilityTests testIsConnected_property_returnsBool 2ms
โœ… ReachabilityTests testShared_isNotNil 3ms
โœ… ReachabilityTests testShared_returnsSameInstance 325ms
โœ… ReachabilityTests testStartAndStopMonitoring_doesNotCrash 2ms
โœ… ReaderAccessibilityTests testBookmarkToggleLabels_areDistinctAndDescriptive 2ms
โœ… ReaderAccessibilityTests testBookmarksTabLabel_isDescriptive 1ms
โœ… ReaderAccessibilityTests testChapterNavigationLabels_areDistinct 1ms
โœ… ReaderAccessibilityTests testCloseSampleLabel_isDescriptive 2ms
โœ… ReaderAccessibilityTests testPDFPickerSegmentLabels_areDistinct 1ms
โœ… 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 2ms
โœ… ReaderServiceSyncTests testLastReadPositionSynchronizer_syncDoesNotCrash_withDeviceID 3ms
โœ… ReaderServiceSyncTests testLastReadPositionSynchronizer_syncReturns_whenNoServerPosition 23ms
โœ… ReaderThemeTests testAllCases_containsExactly5Themes 2ms
โœ… ReaderThemeTests testAllCases_containsExpectedThemes 4ms
โœ… ReaderThemeTests testAllThemes_haveCSSHexBackgrounds 2ms
โœ… ReaderThemeTests testAllThemes_haveCSSHexTextColors 1ms
โœ… ReaderThemeTests testAllThemes_haveValidBackgroundColors 3ms
โœ… ReaderThemeTests testAllThemes_haveValidTextColors 3ms
โœ… ReaderThemeTests testCSSHex_matchesExpectedFormat 6ms
โœ… ReaderThemeTests testCodable_preservesAllProperties 2ms
โœ… ReaderThemeTests testCodable_roundTrip 4ms
โœ… ReaderThemeTests testDarkTheme_darkBackground 2ms
โœ… ReaderThemeTests testDarkTheme_hasDarkBackground 2ms
โœ… ReaderThemeTests testDarkTheme_hasLightText 1ms
โœ… ReaderThemeTests testEachThemeID_isUnique 4ms
โœ… ReaderThemeTests testEquatable_differentThemesAreNotEqual 2ms
โœ… ReaderThemeTests testEquatable_sameThemesAreEqual 2ms
โœ… ReaderThemeTests testLightTheme_hasDarkText 2ms
โœ… ReaderThemeTests testLightTheme_hasLightBackground 2ms
โœ… ReaderThemeTests testLightTheme_whiteBackground 4ms
โœ… ReaderThemeTests testNightTheme_hasDarkBackground 12ms
โœ… ReaderThemeTests testNightTheme_hasLightText 2ms
โœ… ReaderThemeTests testNightTheme_nearBlackBackground 4ms
โœ… ReaderThemeTests testSepiaTheme_hasDarkText 2ms
โœ… ReaderThemeTests testSepiaTheme_hasLightBackground 2ms
โœ… ReaderThemeTests testSolarizedTheme_hasLightBackground 2ms
โœ… ReadingPositionTests testAudiobookPosition_CodableRoundTrip 2ms
โœ… ReadingPositionTests testAudiobookPosition_NegativeTimeOffset_ClampedToZero 2ms
โœ… ReadingPositionTests testAudiobookPosition_SetsFormatAndFields 2ms
โœ… ReadingPositionTests testAudiobookPosition_ZeroTimeOffset 2ms
โœ… ReadingPositionTests testDeviceID_IsPopulated 4ms
โœ… ReadingPositionTests testDisplayDescription_Audiobook 2ms
โœ… ReadingPositionTests testDisplayDescription_Epub 2ms
โœ… ReadingPositionTests testDisplayDescription_Pdf 2ms
โœ… ReadingPositionTests testEpubPosition_CodableRoundTrip 8ms
โœ… ReadingPositionTests testEpubPosition_ProgressBoundary0 2ms
โœ… ReadingPositionTests testEpubPosition_ProgressBoundary1 2ms
โœ… ReadingPositionTests testEpubPosition_ProgressClampedAbove1 2ms
โœ… ReadingPositionTests testEpubPosition_ProgressClampedBelow0 2ms
โœ… ReadingPositionTests testEpubPosition_SetsFormatAndFields 2ms
โœ… ReadingPositionTests testEquality_DifferentChapter_NotEqual 2ms
โœ… ReadingPositionTests testEquality_DifferentFormat_NotEqual 2ms
โœ… ReadingPositionTests testEquality_SamePosition 14ms
โœ… ReadingPositionTests testPdfPosition_CodableRoundTrip 2ms
โœ… ReadingPositionTests testPdfPosition_NegativePageNumber_ClampedTo1 2ms
โœ… ReadingPositionTests testPdfPosition_PageNumberClampedToMinimum1 2ms
โœ… ReadingPositionTests testPdfPosition_SetsFormatAndFields 2ms
โœ… ReadingPositionTests testReadingFormat_CodableRoundTrip 2ms
โœ… ReadingSessionTrackerTests testActiveBookID_NilInitially 2ms
โœ… ReadingSessionTrackerTests testEndSession_FiltersBriefSessions 206ms
โœ… ReadingSessionTrackerTests testEndSession_StopsTracking 2ms
โœ… ReadingSessionTrackerTests testEndSession_WithoutStartSession_DoesNotCrash 2ms
โœ… ReadingSessionTrackerTests testEndSession_WithoutStartSession_DoesNotRecordSession 205ms
โœ… ReadingSessionTrackerTests testIsTracking_FalseInitially 2ms
โœ… ReadingSessionTrackerTests testMultipleCycles_WorkCorrectly 2ms
โœ… ReadingSessionTrackerTests testPageCount_ResetsBetweenSessions 2ms
โœ… ReadingSessionTrackerTests testRecordBookFinished_RecordsCompletion 214ms
โœ… ReadingSessionTrackerTests testRecordBookFinished_TriggersBadgeRefresh 205ms
โœ… ReadingSessionTrackerTests testRecordPageTurn_IncrementsPageCount 1ms
โœ… ReadingSessionTrackerTests testStartSession_BeginsTracking 2ms
โœ… ReadingSessionTrackerTests testStartSession_EndsExistingSession 2ms
โœ… ReadingStatsServiceTests testAggregateStats 9ms
โœ… ReadingStatsServiceTests testAggregateStatsTimePeriodFilter 9ms
โœ… ReadingStatsServiceTests testChartDataEmpty 4ms
โœ… ReadingStatsServiceTests testChartDataWeek 10ms
โœ… ReadingStatsServiceTests testDuplicateCompletionIgnored 7ms
โœ… ReadingStatsServiceTests testRecordBookCompletion 12ms
โœ… ReadingStatsServiceTests testRecordMultipleSessions 9ms
โœ… ReadingStatsServiceTests testRecordSession 6ms
โœ… ReadingStatsServiceTests testRecordSessionIgnoresZeroDuration 8ms
โœ… ReadingStatsServiceTests testStreakRecalculation 5ms
โœ… ReadingStatsServiceTests testStreakResetsAfterGap 6ms
โœ… ReadingStatsServiceTests testStreakUpdatesOnSession 8ms
โœ… ReadingStatsStoreTests testClearAll 7ms
โœ… ReadingStatsStoreTests testLoadSessionsEmpty 4ms
โœ… ReadingStatsStoreTests testLoadStreakDefault 4ms
โœ… ReadingStatsStoreTests testMigrationSetsVersion 4ms
โœ… ReadingStatsStoreTests testMultipleSessions 5ms
โœ… ReadingStatsStoreTests testSaveAndLoadCompletions 9ms
โœ… ReadingStatsStoreTests testSaveAndLoadEarnedBadges 5ms
โœ… ReadingStatsStoreTests testSaveAndLoadSessions 25ms
โœ… ReadingStatsStoreTests testSaveAndLoadStreak 15ms
โœ… RedirectHandlingIntegrationTests testRedirect_attemptsCleared_afterCompletion 4ms
โœ… RedirectHandlingIntegrationTests testRedirect_httpsToHttp_blockedForSecurity 2ms
โœ… RedirectHandlingIntegrationTests testRedirect_httpsToHttps_allowed 2ms
โœ… RedirectHandlingIntegrationTests testRedirect_maxAttempts_enforced 4ms
โœ… RemoteFeatureFlagsGapTests testRemoteFeatureFlags_convenienceProperties_dontCrash 9ms
โœ… RemoteFeatureFlagsGapTests testRemoteFeatureFlags_fetchIfNeeded_completesWithoutCrashing 7ms
โœ… RemoteFeatureFlagsGapTests testRemoteFeatureFlags_isFeatureEnabled_returnsBoolean 4ms
โœ… RemoteFeatureFlagsGapTests testRemoteFeatureFlags_shared_isAccessible 5ms
โœ… RemoteFeatureFlagsTests testFeatureFlag_allCases_haveNonEmptyRawValues 2ms
โœ… RemoteFeatureFlagsTests testFeatureFlag_defaultValues_areDefined 3ms
โœ… RemoteFeatureFlagsTests testFetchIfNeeded_doesNotCrash 48ms
โœ… RemoteFeatureFlagsTests testGetDeviceInfo_containsVersionInfo 5ms
โœ… RemoteFeatureFlagsTests testGetDeviceInfo_returnsNonEmptyDict 2ms
โœ… RemoteFeatureFlagsTests testIsCarPlayEnabledCached_returnsBool 2ms
โœ… RemoteFeatureFlagsTests testIsFeatureEnabled_withoutFirebase_returnsDefault 2ms
โœ… RemoteFeatureFlagsTests testShared_isNotNil 6ms
โœ… RemoteFeatureFlagsTests testShared_returnsSameInstance 2ms
โœ… ReservationsSnapshotTests testHoldingFrontOfQueue_buttonBehavior 4ms
โœ… ReservationsSnapshotTests testHoldsSorting_byAuthor 8ms
โœ… ReservationsSnapshotTests testHoldsSorting_byTitle 8ms
โœ… ReservationsSnapshotTests testNormalBookCell_downloadSuccessful 12ms
โœ… ReservationsSnapshotTests testNormalBookCell_holding 16ms
โœ… ReservationsSnapshotTests testRemoveButton_showsAfterReservation 6ms
โœ… ReservationsSnapshotTests testReservationsAccessibilityIdentifiers 2ms
โœ… ReservationsSnapshotTests testReservationsEmptyState 5ms
โœ… ReservationsSnapshotTests testReserveButton_showsForUnavailableBook 4ms
โœ… RetryClassificationTests testAudiobookErrors_notRetryable 4ms
โœ… RetryClassificationTests testAudiobookErrors_retryable 3ms
โœ… RetryClassificationTests testAuthErrors_notRetryable 4ms
โœ… RetryClassificationTests testAuthErrors_retryable 5ms
โœ… RetryClassificationTests testBookRegistryErrors_notRetryable 2ms
โœ… RetryClassificationTests testBookRegistryErrors_retryable 4ms
โœ… RetryClassificationTests testDRMErrors_notRetryable 2ms
โœ… RetryClassificationTests testDownloadErrors_notRetryable 4ms
โœ… RetryClassificationTests testDownloadErrors_retryable 2ms
โœ… RetryClassificationTests testNSURLError_notRetryable 3ms
โœ… RetryClassificationTests testNSURLError_retryable 2ms
โœ… RetryClassificationTests testNetworkErrors_notRetryable 2ms
โœ… RetryClassificationTests testNetworkErrors_retryable 6ms
โœ… RetryClassificationTests testParsingErrors_notRetryable 4ms
โœ… RetryClassificationTests testParsingErrors_retryable 2ms
โœ… RetryClassificationTests testStorageErrors_notRetryable 2ms
โœ… RetryClassificationTests testUnknownError_notRetryable 3ms
โœ… ReturnFlowTests testRetryTracker_limitsRetries 5ms
โœ… RightsManagementDetectionTests testMimeType_adobeAdept_detectsAdobeRights 2ms
โœ… RightsManagementDetectionTests testMimeType_bearerToken_detectsBearerTokenRights 2ms
โœ… RightsManagementDetectionTests testMimeType_epubZip_detectsNoRights 4ms
โœ… RightsManagementDetectionTests testMimeType_lcpLicense_detectsLCPRights 2ms
โœ… RightsManagementDetectionTests testMimeType_unknown_detectsUnknown 2ms
โœ… SAMLCookieSyncTests testCookieSyncToSharedStorage 7ms
โœ… SAMLCookieSyncTests testCookieSync_emptyCookies_doesNotCrash 2ms
โœ… SAMLCookieSyncTests testCookieSync_multipleCookies 3ms
โœ… SAMLCookieSyncTests testCookieSync_replacesExistingCookie 3ms
โœ… SAMLCookieSyncTests testRequestCreation_includesCookieHeader 55ms
โœ… SAMLHelperTests testLogInWithNilBusinessLogicDoesNotCrash 17ms
โœ… SAMLHelperTests testSAMLHelperCanBeInstantiated 2ms
โœ… SAMLHelperTests testSAMLLoginURLConstruction 5ms
โœ… SAMLHelperTests testSAMLLoginURLConstructionWithNoExistingParams 2ms
โœ… SAMLHelperTests testSAMLLoginURLPreservesExistingQueryParams 2ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_AuthRequiredError_SAML_Credentials_Book_ReturnsTrue 162ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_BasicAuth_ReturnsFalse 157ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_NilCurrentBook_ReturnsFalse 182ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_NilError_ReturnsFalse 324ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_NoCredentials_ReturnsFalse 172ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_OAuthAccount_ReturnsFalse 245ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_WrongErrorCode_ReturnsFalse 148ms
โœ… SAMLPlusBiblioBoardExpirationTests testShouldTriggerSAMLReauth_WrongErrorDomain_ReturnsFalse 188ms
โœ… SEMigrationsTests testMigrate2_oldCacheFiles_areRemoved 6ms
โœ… SEMigrationsTests testRunMigrations_doesNotCrash 4ms
โœ… SEMigrationsTests testRunMigrations_emptyVersion_handlesGracefully 10ms
โœ… SEMigrationsTests testRunMigrations_multipleCallsAreSafe 7ms
โœ… SEMigrationsTests testRunMigrations_nilVersion_handlesGracefully 6ms
โœ… SEMigrationsTests testRunMigrations_withCurrentVersion_doesNotMigrate 6ms
โœ… SafeDictionaryTests testAllPairs_returnsAllKeyValuePairs 5ms
โœ… SafeDictionaryTests testCompactMapValues_removesNils 3ms
โœ… SafeDictionaryTests testContains_existingKey_returnsTrue 2ms
โœ… SafeDictionaryTests testCount_reflectsEntries 3ms
โœ… SafeDictionaryTests testFilter_selectsMatchingEntries 6ms
โœ… SafeDictionaryTests testGetMetrics_returnsMetricsDictionary 4ms
โœ… SafeDictionaryTests testGet_missingKey_returnsNil 2ms
โœ… SafeDictionaryTests testInit_withInitialValues 4ms
โœ… SafeDictionaryTests testIsEmpty_noEntries_returnsTrue 4ms
โœ… SafeDictionaryTests testKeys_returnsAllKeys 3ms
โœ… SafeDictionaryTests testMapValues_transformsValues 6ms
โœ… SafeDictionaryTests testModify_createsNewValue 5ms
โœ… SafeDictionaryTests testModify_updatesExistingValue 10ms
โœ… SafeDictionaryTests testRemoveAll_clearsEverything 2ms
โœ… SafeDictionaryTests testRemoveMultiple_removesSpecifiedKeys 4ms
โœ… SafeDictionaryTests testRemove_deletesEntry 4ms
โœ… SafeDictionaryTests testRemove_missingKey_returnsNil 6ms
โœ… SafeDictionaryTests testSet_andGet_returnsValue 2ms
โœ… SafeDictionaryTests testSet_overwrite_updatesValue 2ms
โœ… SafeDictionaryTests testUpdateMultiple_addsAllEntries 3ms
โœ… SafeDictionaryTests testValues_returnsAllValues 2ms
โœ… SamplePlayerErrorTests testFileSaveFailed_WithUnderlyingError 3ms
โœ… SamplePlayerErrorTests testFileSaveFailed_WithoutUnderlyingError 2ms
โœ… SamplePlayerErrorTests testNoSampleAvailable_IsError 2ms
โœ… SamplePlayerErrorTests testSampleDownloadFailed_WithUnderlyingError 2ms
โœ… SamplePlayerErrorTests testSampleDownloadFailed_WithoutUnderlyingError 2ms
โœ… SampleTypeTests testNeedsDownload_EpubZip_ReturnsTrue 2ms
โœ… SampleTypeTests testNeedsDownload_OpenAccessAudiobook_ReturnsFalse 2ms
โœ… SampleTypeTests testNeedsDownload_OverdriveAudiobookMpeg_ReturnsTrue 2ms
โœ… SampleTypeTests testNeedsDownload_OverdriveAudiobookWaveFile_ReturnsTrue 2ms
โœ… SampleTypeTests testNeedsDownload_OverdriveWeb_ReturnsFalse 2ms
โœ… SampleTypeTests testRawValue_ContentTypeEpubZip 2ms
โœ… SampleTypeTests testRawValue_OpenAccessAudiobook 1ms
โœ… SampleTypeTests testRawValue_OverdriveWeb 2ms
โœ… SceneDelegateTests testSceneDelegate_HasMainSceneConnected_IsConsistent 5ms
โœ… SearchAccessibilityTests testClearSearchLabel_isDescriptive 2ms
โœ… SearchAccessibilityTests testClearSearchLabel_isLocalized 32ms
โœ… SearchAccessibilityTests testGoBackLabel_isDescriptive 2ms
โœ… SearchAccessibilityTests testSearchBooksLabel_exists 2ms
โœ… SearchAccessibilityTests testSearchCatalogLabel_differsFromSearchInBook 2ms
โœ… SearchAccessibilityTests testSearchInBookLabel_isDescriptive 2ms
โœ… SearchFlowIntegrationTests testSearchCancellation_StopsPendingRequest 59ms
โœ… SearchFlowIntegrationTests testSearchDebouncing_PreventsExcessiveRequests 27ms
โœ… SearchFlowIntegrationTests testSearchQuery_DispatchesToCatalogRepository 5ms
โœ… SearchFlowIntegrationTests testSearchResults_ContainExpectedBookData 4ms
โœ… SearchFlowIntegrationTests testSearchWithEmptyQuery_ReturnsNilResult 4ms
โœ… SearchFlowIntegrationTests testSearchWithNetworkError_PropagatesError 2ms
โœ… SearchFlowIntegrationTests testSearchWithServerError_PropagatesServerError 2ms
โœ… SearchFlowIntegrationTests testSequentialSearches_TrackAllQueries 3ms
โœ… SearchSnapshotTests testBookListView_grid 16ms
โœ… SearchSnapshotTests testBookListView_loading 4ms
โœ… SearchSnapshotTests testCatalogSearchView_empty 10ms
โœ… SearchSnapshotTests testCatalogSearchView_withBooks 24ms
โœ… SearchSnapshotTests testSearchAccessibilityIdentifiers 5ms
โœ… SettingsSnapshotTests testAccountDetailSkeletonView 19ms
โœ… SettingsSnapshotTests testAccountDetailView_signedOut 4ms
โœ… SettingsSnapshotTests testActionButtonView_darkMode 3ms
โœ… SettingsSnapshotTests testActionButtonView_loading 39ms
โœ… SettingsSnapshotTests testActionButtonView_normal 2ms
โœ… SettingsSnapshotTests testAdvancedSettingsView 6ms
โœ… SettingsSnapshotTests testSectionSeparator 18ms
โœ… SettingsSnapshotTests testSettingsAccessibilityIdentifiers 2ms
โœ… SettingsSnapshotTests testSettingsView_mainScreen 41ms
โœ… SettingsViewModelComputedPropertyTests testAccountCount_ReflectsSettingsAccountsList 2ms
โœ… SettingsViewModelComputedPropertyTests testDuplicateWrite_DoesNotTriggerSettingsUpdate 3ms
โœ… SettingsViewModelComputedPropertyTests testIsUsingCustomFeed_AfterClear_ReturnsFalse 2ms
โœ… SettingsViewModelComputedPropertyTests testIsUsingCustomRegistry_AfterClear_ReturnsFalse 2ms
โœ… SettingsViewModelComputedPropertyTests testShowDeveloperSettings_CanBeToggled 2ms
โœ… SettingsViewModelComputedPropertyTests testShowDeveloperSettings_DefaultsFalse 2ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_InitWithPartialSettings_HandlesGracefully 6ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_MultipleRapidChanges_MaintainsConsistency 71ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_ResetThenModify_WorksCorrectly 8ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_SetCustomFeedURL_LocalhostHTTP_ReturnsTrue 69ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_SetCustomFeedURL_URLWithFragment_ReturnsTrue 5ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_SetCustomFeedURL_URLWithPort_ReturnsTrue 6ms
โœ… SettingsViewModelEdgeCaseTests testSettingsViewModel_SetCustomFeedURL_URLWithQueryParams_ReturnsTrue 3ms
โœ… SettingsViewModelGapTests testSettingsViewModel_refreshAccountsList_updatesProperty 3ms
โœ… SettingsViewModelSyncTests testResetToDefaults_ClearsAllSettings 2ms
โœ… SettingsViewModelSyncTests testResetToDefaults_UpdatesSettingsProvider 4ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithEmptyString_ClearsURL 5ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithInvalidURL_ReturnsFalse 3ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithNil_ClearsURL 9ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithNonHttpScheme_ReturnsFalse 2ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithValidHttpURL_ReturnsTrue 3ms
โœ… SettingsViewModelSyncTests testSetCustomFeedURL_WithValidHttpsURL_ReturnsTrue 12ms
โœ… SettingsViewModelSyncTests testSetCustomRegistryServer_WithEmptyString_ReturnsTrueAndClears 6ms
โœ… SettingsViewModelSyncTests testSetCustomRegistryServer_WithNil_ClearsServer 49ms
โœ… SettingsViewModelSyncTests testSetCustomRegistryServer_WithValidURL_ReturnsTrue 4ms
โœ… SettingsViewModelSyncTests testSettingsViewModel_BidirectionalSync_SettingsToViewModelViaRefresh 2ms
โœ… SettingsViewModelSyncTests testSettingsViewModel_BidirectionalSync_ViewModelToSettings 3ms
โœ… SettingsViewModelSyncTests testSettingsViewModel_ExternalSettingsChange_RequiresRefresh 3ms
โœ… SettingsViewModelTests testSettingsViewModel_AcceptEULA_SetsTrue 3ms
โœ… SettingsViewModelTests testSettingsViewModel_ClearCustomFeedURL_ClearsURL 3ms
โœ… SettingsViewModelTests testSettingsViewModel_ClearCustomRegistryServer_ClearsServer 6ms
โœ… SettingsViewModelTests testSettingsViewModel_CustomMainFeedURL_PublishesChanges 31ms
โœ… SettingsViewModelTests testSettingsViewModel_FormattedAppVersion_ReturnsFormattedString 3ms
โœ… SettingsViewModelTests testSettingsViewModel_Init_DefaultsAreCorrect 6ms
โœ… SettingsViewModelTests testSettingsViewModel_Init_ReadsSettingsFromProvider 7ms
โœ… SettingsViewModelTests testSettingsViewModel_IsUsingCustomFeed_FalseWhenURLNil 3ms
โœ… SettingsViewModelTests testSettingsViewModel_IsUsingCustomFeed_TrueWhenURLSet 11ms
โœ… SettingsViewModelTests testSettingsViewModel_IsUsingCustomRegistry_FalseWhenServerEmpty 2ms
โœ… SettingsViewModelTests testSettingsViewModel_IsUsingCustomRegistry_FalseWhenServerNil 7ms
โœ… SettingsViewModelTests testSettingsViewModel_IsUsingCustomRegistry_TrueWhenServerSet 2ms
โœ… SettingsViewModelTests testSettingsViewModel_MarkAgeCheckPresented_SetsTrue 3ms
โœ… SettingsViewModelTests testSettingsViewModel_RefreshSettings_ReloadsFromProvider 9ms
โœ… SettingsViewModelTests testSettingsViewModel_ResetToDefaults_ResetsAllSettings 3ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_EmptyString_ClearsURL 2ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_InvalidScheme_ReturnsFalse 6ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_InvalidURL_ReturnsFalse 6ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_Nil_ClearsURL 3ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_ValidHTTPS_ReturnsTrue 14ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomFeedURL_ValidHTTP_ReturnsTrue 3ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomRegistryServer_EmptyString_ClearsServer 24ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomRegistryServer_InvalidURL_ReturnsFalse 2ms
โœ… SettingsViewModelTests testSettingsViewModel_SetCustomRegistryServer_ValidURL_ReturnsTrue 2ms
โœ… SettingsViewModelTests testSettingsViewModel_SetEnterLCPPassphraseManually_UpdatesSettings 2ms
โœ… SettingsViewModelTests testSettingsViewModel_SetSameValue_DoesNotWriteToSettings 2ms
โœ… SettingsViewModelTests testSettingsViewModel_SetUseBetaLibraries_UpdatesSettings 5ms
โœ… SettingsViewModelTests testSettingsViewModel_SetUserHasAcceptedEULA_UpdatesSettings 2ms
โœ… SettingsViewModelTests testSettingsViewModel_SetUserPresentedAgeCheck_UpdatesSettings 3ms
โœ… SettingsViewModelTests testSettingsViewModel_ToggleBetaLibraries_TogglesValue 33ms
โœ… SettingsViewModelTests testSettingsViewModel_ToggleLCPManualPassphrase_TogglesValue 2ms
โœ… SettingsViewModelTests testSettingsViewModel_UpdateAppVersion_UpdatesSettings 243ms
โœ… SettingsViewModelTests testSettingsViewModel_UseBetaLibraries_PublishesChanges 3ms
โœ… SignOutCacheClearingTests testClearCache_doesNotCrash 2ms
โœ… SignOutCacheClearingTests testNetworkExecutorAndSharedCache_areSeparate 3ms
โœ… SignOutCacheClearingTests testURLCacheShared_clearDoesNotCrash 2ms
โœ… StatsViewModelTests testInitialState 7ms
โœ… StatsViewModelTests testLoadPopulatesChartData 5ms
โœ… StatsViewModelTests testLoadPopulatesStats 4ms
โœ… StatsViewModelTests testLoadPopulatesStreak 4ms
โœ… StatsViewModelTests testLongestStreakText 2ms
โœ… StatsViewModelTests testRecentBadgesAfterCompletion 5ms
โœ… StatsViewModelTests testRecentBadgesLimitedToFive 7ms
โœ… StatsViewModelTests testStreakDisplayTextActive 4ms
โœ… StatsViewModelTests testStreakDisplayTextNoStreak 2ms
โœ… StatsViewModelTests testTimePeriodChangeUpdatesData 210ms
โœ… StatusAnnouncementTests testPP3673_allAnnouncementTypes_areProgrammaticallyDeterminable 7ms
โœ… StatusAnnouncementTests testPP3673_borrowFailed_announces 4ms
โœ… StatusAnnouncementTests testPP3673_borrowLifecycle_producesSequentialAnnouncements 4ms
โœ… StatusAnnouncementTests testPP3673_borrowStarted_announces 3ms
โœ… StatusAnnouncementTests testPP3673_borrowSucceeded_announcesWithoutFocusShift 7ms
โœ… StatusAnnouncementTests testPP3673_differentMessages_allAnnounced 5ms
โœ… StatusAnnouncementTests testPP3673_downloadCompleted_announces 3ms
โœ… StatusAnnouncementTests testPP3673_downloadFailed_announces 3ms
โœ… StatusAnnouncementTests testPP3673_downloadStarted_announces 3ms
โœ… StatusAnnouncementTests testPP3673_errorAnnouncement_doesNotMoveFocus 3ms
โœ… StatusAnnouncementTests testPP3673_errorMessage_announcedViaVoiceOver 3ms
โœ… StatusAnnouncementTests testPP3673_quickSuccession_sameMessage_collapsed 3ms
โœ… StatusAnnouncementTests testPP3673_searchAnnouncement_usesAnnouncementNotification 4ms
โœ… StatusAnnouncementTests testPP3673_searchFailed_announces 4ms
โœ… StatusAnnouncementTests testPP3673_searchNoResults_announcesNoResults 4ms
โœ… StatusAnnouncementTests testPP3673_searchRerun_announcesNewStatus 5ms
โœ… StatusAnnouncementTests testPP3673_searchStrings_areLocalized 6ms
โœ… StatusAnnouncementTests testPP3673_searchWithResults_announcesResultsForQuery 4ms
โœ… StatusAnnouncementTests testPP3673_statusStrings_areUnderstandable 2ms
โœ… StatusAnnouncementTests testPP3673_statusWithTitleAndMessage_isClear 3ms
โœ… StatusAnnouncementTests testPP3673_updatedStatus_replacesOld 3ms
โœ… StatusAnnouncementTests testPP3673_voiceOverDisabled_noAnnouncements 3ms
โœ… StopPositionSaveTests testStop_bypassesSaveSuppression 2ms
โœ… StopPositionSaveTests testStop_savesEvenDuringActiveSuppression 3ms
โœ… StringExtensionTests testMd5hex_differsByInput 2ms
โœ… StringExtensionTests testMd5hex_emptyString 2ms
โœ… StringExtensionTests testMd5hex_length 2ms
โœ… StringExtensionTests testMd5hex_returnsConsistentHash 2ms
โœ… StringExtensionTests testParseJSONString_arrayJSON 3ms
โœ… StringExtensionTests testParseJSONString_emptyString 3ms
โœ… StringExtensionTests testParseJSONString_invalidJSON 3ms
โœ… StringExtensionTests testParseJSONString_validJSON 2ms
โœ… StringExtensionsTests testIsDate_DelayAtThreshold_WorksCorrectly 7ms
โœ… StringExtensionsTests testIsDate_WhenDate1IsMoreRecent_ReturnsTrue 4ms
โœ… StringExtensionsTests testIsDate_WhenDate1IsOlder_ReturnsFalse 6ms
โœ… StringExtensionsTests testIsDate_WithBothInvalidDates_ReturnsFalse 5ms
โœ… StringExtensionsTests testIsDate_WithDelay_AdjustsComparison 7ms
โœ… StringExtensionsTests testIsDate_WithDifferentDays_ComparesCorrectly 6ms
โœ… StringExtensionsTests testIsDate_WithDifferentYears_ComparesCorrectly 5ms
โœ… StringExtensionsTests testIsDate_WithEmptyStrings_ReturnsFalse 5ms
โœ… StringExtensionsTests testIsDate_WithInvalidDate1_ReturnsFalse 12ms
โœ… StringExtensionsTests testIsDate_WithInvalidDate2_ReturnsFalse 6ms
โœ… StringHTMLEntitiesTests testDecode_AmpersandWithoutSemicolon_Preserved 2ms
โœ… StringHTMLEntitiesTests testDecode_CommonHTMLEntities_DecodesCorrectly 3ms
โœ… StringHTMLEntitiesTests testDecode_EmptyString_ReturnsEmpty 3ms
โœ… StringHTMLEntitiesTests testDecode_InvalidEntity_PreservedVerbatim 6ms
โœ… StringHTMLEntitiesTests testDecode_MixedContent_DecodesCorrectly 2ms
โœ… StringHTMLEntitiesTests testDecode_NoEntities_ReturnsSameString 5ms
โœ… StringHTMLEntitiesTests testDecode_NumericDecimal_DecodesCorrectly 2ms
โœ… StringHTMLEntitiesTests testDecode_NumericHex_DecodesCorrectly 4ms
โœ… StringHTMLEntitiesTests testDecode_XMLPredefinedEntities_DecodesCorrectly 4ms
โœ… StringHTMLEntitiesTests testNSStringBridge_DecodesEntities 2ms
โœ… StringNYPLAdditionsTests testStringContains_caseInsensitive 16ms
โœ… StringNYPLAdditionsTests testStringIsEmpty_withWhitespace 3ms
โœ… StringNYPLAdditionsTests testStringPrefix_matching 2ms
โœ… StringNYPLAdditionsTests testStringSuffix_matching 2ms
โœ… String_NYPLAdditionsTests testBase64Decode 2ms
โœ… String_NYPLAdditionsTests testBase64Encode 2ms
โœ… String_NYPLAdditionsTests testMD5 2ms
โœ… String_NYPLAdditionsTests testSHA256 2ms
โœ… String_NYPLAdditionsTests testURLEncodingQueryParam 2ms
โœ… SyncConflictResolutionTests testConflictResolution_localNewer_usesLocal 1ms
โœ… SyncConflictResolutionTests testConflictResolution_sameTimestamp_usesHigherProgress 2ms
โœ… SyncConflictResolutionTests testConflictResolution_serverNewer_usesServer 2ms
โœ… SyncDeletionGuardTests testVersionComparison_emptyIsLessThan 2ms
โœ… SyncDeletionGuardTests testVersionComparison_equal_returnsFalse 2ms
โœ… SyncDeletionGuardTests testVersionComparison_sameMajor 2ms
โœ… SyncDeletionGuardTests testVersionComparison_shorterIsLess 88ms
โœ… SyncDeletionGuardTests testVersionComparison_shorterIsNotLess_ifZero 3ms
โœ… SyncDeletionRatioTests testCompleteFeed_noDeletions 2ms
โœ… SyncDeletionRatioTests testEmptyFeedWithLocalBooks_shouldSkipDeletion 5ms
โœ… SyncDeletionRatioTests testEmptyFeedWithNoLocalBooks_shouldNotSkip 4ms
โœ… SyncDeletionRatioTests testNormalSync_singleBookRemoved_noWarning 2ms
โœ… SyncDeletionRatioTests testPartialFeed_shouldWarnButNotSkip 3ms
โœ… SyncDeletionRatioTests testSmallLibrary_noProtection 2ms
โœ… SyncPermissionTests testAccountDetails_nilDetails_makesSyncPropertiesFalse 116ms
โœ… SyncPermissionTests testAccountDetails_syncProperties_matchExpectations 130ms
โœ… SyncPermissionTests testSyncIsPossibleAndPermitted_doesNotCrash 3ms
โœ… SyncPermissionTests testSyncIsPossible_withCredentials_dependsOnCurrentAccountDetails 2ms
โœ… SyncPermissionTests testSyncIsPossible_withoutCredentials_returnsFalse 23ms
โœ… TPPAccountAuthStateEnumTests testCodable_encodesAndDecodesCorrectly 7ms
โœ… TPPAccountAuthStateEnumTests testDescription_returnsCorrectStrings 2ms
โœ… TPPAccountAuthStateEnumTests testHasAdobeActivation_trueForLoggedInAndStale 5ms
โœ… TPPAccountAuthStateEnumTests testHasStoredCredentials_falseOnlyForLoggedOut 7ms
โœ… TPPAccountAuthStateEnumTests testNeedsReauthentication_trueForLoggedOutAndStale 4ms
โœ… TPPAccountListDataSourceTests testLoadData_MixedCaseLibraryNames_SortsCaseInsensitively 3ms
โœ… TPPAccountListDataSourceTests testLoadData_WithFilter_FiltersCaseInsensitively 2ms
โœ… TPPAccountListDataSourceTests testLoadData_WithNationalAccounts_SeparatesAndSortsCaseInsensitively 5ms
โœ… TPPAdobeActivationSkipTests testShouldSkipAdobeActivation_falseWhenLoggedIn 135ms
โœ… TPPAdobeActivationSkipTests testShouldSkipAdobeActivation_falseWhenLoggedOut 136ms
โœ… TPPAdobeActivationSkipTests testShouldSkipAdobeActivation_falseWhenStaleButAdobeNotAuthorized 102ms
โœ… TPPAdobeActivationSkipTests testShouldSkipAdobeActivation_falseWhenStaleButNoAdobeCredentials 148ms
โœ… TPPAdobeActivationSkipTests testShouldSkipAdobeActivation_trueWhenStaleAndAdobeAuthorized 97ms
โœ… TPPAdobeActivationSkipTests testUpdateUserAccount_marksLoggedIn 110ms
โœ… TPPAgeCheckTests testAge0 116ms
โœ… TPPAgeCheckTests testAge100 93ms
โœ… TPPAgeCheckTests testAge12 97ms
โœ… TPPAgeCheckTests testAge13 89ms
โœ… TPPAgeCheckTests testAge14 94ms
โœ… TPPAgeCheckTests testAgeCheckFailed 1.09s
โœ… TPPAlertUtilsTests testAlertTitleMessageError_withMessage_prefersMessageOverError 4ms
โœ… TPPAlertUtilsTests testAlertTitleMessageError_withNilMessage_fallsBackToError 4ms
โœ… TPPAlertUtilsTests testAlertWithDetails_hasOKAction 5ms
โœ… TPPAlertUtilsTests testAlertWithDetails_hasTwoActions 5ms
โœ… TPPAlertUtilsTests testAlertWithDetails_hasViewDetailsAction 5ms
โœ… TPPAlertUtilsTests testAlertWithDetails_plainMessageWithProblemDoc_includesDetail 42ms
โœ… TPPAlertUtilsTests testAlertWithDetails_retryAction_invokesClosure 4ms
โœ… TPPAlertUtilsTests testAlertWithDetails_withError_buildsAlert 15ms
โœ… TPPAlertUtilsTests testAlertWithDetails_withProblemDocument_doesNotDuplicateDetail 4ms
โœ… TPPAlertUtilsTests testAlertWithDetails_withRetryAction_hasRetryAndCancelNoOK 6ms
โœ… TPPAlertUtilsTests testAlertWithDetails_withoutRetry_okActionIsDefaultStyle 4ms
โœ… TPPAlertUtilsTests testAlert_cancelStyle_okActionIsCancel 4ms
โœ… TPPAlertUtilsTests testAlert_customStyle_usesProvidedStyle 5ms
โœ… TPPAlertUtilsTests testAlert_defaultStyle_okActionIsDefaultStyle 7ms
โœ… TPPAlertUtilsTests testAlert_destructiveStyle_okActionIsDestructive 4ms
โœ… TPPAlertUtilsTests testAlert_emptyMessage_returnsEmptyMessage 3ms
โœ… TPPAlertUtilsTests testAlert_emptyTitle_substitutesAlertDefault 5ms
โœ… TPPAlertUtilsTests testAlert_hasOKAction 4ms
โœ… TPPAlertUtilsTests testAlert_nilMessage_substitutesEmpty 3ms
โœ… TPPAlertUtilsTests testAlert_nilTitle_substitutesDefault 3ms
โœ… TPPAlertUtilsTests testAlert_titleAndMessage_createsAlert 37ms
โœ… TPPAlertUtilsTests testAlert_veryLongMessage_preservesContent 5ms
โœ… TPPAlertUtilsTests testAlert_withError_createsAlert 12ms
โœ… TPPAlertUtilsTests testAlert_withNSURLErrorCancelled_setsMessage 5ms
โœ… TPPAlertUtilsTests testAlert_withNSURLErrorNotConnected_setsMessage 10ms
โœ… TPPAlertUtilsTests testAlert_withNSURLErrorTimedOut_setsMessage 9ms
โœ… TPPAlertUtilsTests testAlert_withNSURLErrorUnknownCode_setsUnknownRequestMessage 19ms
โœ… TPPAlertUtilsTests testAlert_withNSURLErrorUnsupportedURL_setsMessage 18ms
โœ… TPPAlertUtilsTests testAlert_withNilError_createsAlert 299ms
โœ… TPPAlertUtilsTests testAlert_withUnknownDomainAndLocalizedDescription_usesDescription 19ms
โœ… TPPAlertUtilsTests testAlert_withUnknownDomainNoDescription_usesGenericFallback 28ms
โœ… TPPAlertUtilsTests testBorrowErrorPipeline_doesNotDuplicateProblemDocDetail 5ms
โœ… TPPAlertUtilsTests testCrashlyticsFE741015_PresentAlertWhileAlertShowing_DoesNotCrash 143ms
โœ… TPPAlertUtilsTests testPresentAlert_WhenNoAlertShowing_PresentsSuccessfully 221ms
โœ… TPPAlertUtilsTests testRetryPresentation_AfterFirstAlertDismisses_PresentsSecond 229ms
โœ… TPPAlertUtilsTests testRetryPresentation_ExceedsMaxRetries_DropsAlertWithCompletion 163ms
โœ… TPPAlertUtilsTests testSetProblemDocument_appendMode_appendsDetailAfterExisting 3ms
โœ… TPPAlertUtilsTests testSetProblemDocument_appendMode_titleAndDetailBothAppended 3ms
โœ… TPPAlertUtilsTests testSetProblemDocument_appendsToMessage 3ms
โœ… TPPAlertUtilsTests testSetProblemDocument_emptyAlertTitle_fillsFromDoc 32ms
โœ… TPPAlertUtilsTests testSetProblemDocument_nilController_doesNotCrash 3ms
โœ… TPPAlertUtilsTests testSetProblemDocument_nilDocument_doesNotCrash 8ms
โœ… TPPAlertUtilsTests testSetProblemDocument_replaceMode_setsTitleAndDetail 3ms
โœ… TPPAlertUtilsTests testSetProblemDocument_replaceMode_titleOnly_fillsMessageFromDetail 26ms
โœ… TPPAlertUtilsTests testSetProblemDocument_replacesMessage 3ms
โœ… TPPAnnotationsHermeticTests testAnnotationsURL_WhenMainFeedURLPresent_EndsInAnnotationsPath 5ms
โœ… TPPAnnotationsHermeticTests testDeleteBookmark_InvalidURLString_ReturnsFalseWithoutNetwork 4ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_NetworkErrorWithQueueOfflineTrue_DoesNotCrashAndReportsFailure 10ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_NetworkError_ReturnsFailure 6ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Non200StatusCode_ReturnsFailure 16ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_NonHTTPURLResponse_ReturnsFailure 4ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_NotFound404_ReturnsFailure 4ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_RequestShape_PreservesMethodHeadersTimeoutAndBody 8ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Success200WithFullPayload_ReturnsIdAndTimestamp 6ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Success200WithMalformedJSON_ReturnsNilIdAndTimestamp 8ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Success200WithMissingBodyKey_ReturnsNilTimestamp 4ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Success200WithMissingIdKey_ReturnsNilId 6ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Success200WithNilData_ReturnsNilIdAndTimestamp 4ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_Unauthorized401_ReturnsFailure 6ms
โœ… TPPAnnotationsHermeticTests testPostAnnotation_UsesExecutorOverride_NotShared 25ms
โœ… TPPAnnotationsTests testAnnotationResponse_HandlesNilValues 89ms
โœ… TPPAnnotationsTests testAnnotationResponse_StoresValues 116ms
โœ… TPPAnnotationsTests testTPPAnnotationsWrapper_ImplementsProtocol 103ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteAllBookmarks_CompletesImmediately 81ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteBookmark_Handles404AsSuccess 81ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteBookmark_HandlesServerError 88ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteBookmark_HandlesSuccessfulDeletion 77ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteBookmark_ReturnsFalseForInvalidURL 86ms
โœ… TPPAnnotationsTests testTPPAnnotations_DeleteBookmarks_HandlesArray 79ms
โœ… TPPAnnotationsTests testTPPAnnotations_GetServerBookmarks_ParsesValidResponse 122ms
โœ… TPPAnnotationsTests testTPPAnnotations_GetServerBookmarks_ReturnsNilForNilBook 79ms
โœ… TPPAnnotationsTests testTPPAnnotations_GetServerBookmarks_ReturnsNilForNilURL 88ms
โœ… TPPAnnotationsTests testTPPAnnotations_GetServerBookmarks_ReturnsNilWhenSyncNotPermitted 92ms
โœ… TPPAnnotationsTests testTPPAnnotations_HandlesConcurrentRequests 118ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAnnotation_CreatesCorrectRequestFormat 88ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAnnotation_HandlesInvalidJSONGracefully 94ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAnnotation_HandlesNetworkError 162ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAnnotation_HandlesNon200StatusCode 90ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAnnotation_HandlesSuccessResponse 98ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostAudiobookBookmark_ThrowsOnFailure 133ms
โœ… TPPAnnotationsTests testTPPAnnotations_PostListeningPosition_CallsPostReadingPosition 105ms
โœ… TPPAnnotationsTests testTPPAnnotations_SyncIsPossible_ReturnsFalseWithoutCredentials 128ms
โœ… TPPAnnotationsTests testTPPAnnotations_SyncIsPossible_ReturnsTrueWithCredentialsAndSyncSupport 135ms
โœ… TPPAnnotationsTests testTPPAnnotations_SyncReadingPosition_ReturnsNilWhenNotPermitted 90ms
โœ… TPPAnnotationsTests testTPPAnnotations_UploadLocalBookmarks_SkipsAlreadySyncedBookmarks 94ms
โœ… TPPAnnotationsTests testTPPBookmarkFactory_FiltersBookmarksByMotivation 101ms
โœ… TPPAnnotationsTests testTPPBookmarkFactory_RejectsBookmarksForWrongBook 94ms
โœ… TPPAnnotationsTests testTPPBookmarkSpec_ReadingProgressMotivation 98ms
โœ… TPPAnnotationsTests testTPPBookmarkSpec_SerializesToValidJSON 121ms
โœ… TPPAnnouncementManagerTests testAddPresentedAnnouncement 3ms
โœ… TPPAnnouncementManagerTests testDeletePresentedAnnouncement 4ms
โœ… TPPAnnouncementManagerTests testShouldPresentAnnouncement 2ms
โœ… TPPBackgroundExecutorTests testExecutorCallsSetUpWorkItem 1.01s
โœ… TPPBackgroundExecutorTests testExecutorDoesNotRetainOwner 513ms
โœ… TPPBackgroundExecutorTests testExecutorHandlesNilWorkItem 1.02s
โŠ˜ TPPBackgroundExecutorTests testExecutorPerformsBackgroundWork 3ms
โŠ˜ TPPBackgroundExecutorTests testMultipleDispatches 9ms
โœ… TPPBadgeImageGapTests testTPPBadgeImageView_audiobook_initSucceeds 11ms
โœ… TPPBadgeImageGapTests testTPPBadgeImage_audiobook_assetNameReturnsAudiobookBadge 2ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withEmptyCredentials_usesCredential 5ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withMultipleFailures_cancelsChallenge 2ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withNilPassword_cancelsChallenge 5ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withNilUsername_cancelsChallenge 2ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withPreviousFailure_cancelsChallenge 2ms
โœ… TPPBasicAuthTests testHandleChallenge_basicAuth_withValidCredentials_usesCredential 3ms
โœ… TPPBasicAuthTests testHandleChallenge_clientCertificate_rejectsProtectionSpace 2ms
โœ… TPPBasicAuthTests testHandleChallenge_credentials_noPersistence 8ms
โœ… TPPBasicAuthTests testHandleChallenge_serverTrust_performsDefaultHandling 5ms
โœ… TPPBasicAuthTests testHandleChallenge_unknownMethod_rejectsProtectionSpace 2ms
โœ… TPPBasicAuthTests testInit_createsInstance 4ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_audiobook_authorOnly_includesFormatAndAuthor 5ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_audiobook_narratorOnly_omitsAuthorPhrase 2ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_audiobook_neitherAuthorNorNarrator_titlePlusFormat 3ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_audiobook_withNarrator_includesNarrator 5ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_ebook_blankAuthor_titleOnly 5ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_ebook_noAuthor_titleOnly 4ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_ebook_titleByAuthor 4ms
โœ… TPPBookAccessibilityLabelTests testVoiceOverLabel_neverIncludesSummary 5ms
โœ… TPPBookAuthorCoverageTests testBookAuthor_NilURL_IsDistinctFromEmptyURL 3ms
โœ… TPPBookAuthorCoverageTests testBookAuthor_initWithNameAndURL 3ms
โœ… TPPBookAuthorCoverageTests testBookAuthor_initWithNilURL 5ms
โœ… TPPBookAuthorTests testInit_EmptyName_AllowsEmptyString 2ms
โœ… TPPBookAuthorTests testInit_WithNameAndURL_SetsProperties 5ms
โœ… TPPBookAuthorTests testInit_WithNilURL_SetsURLToNil 2ms
โœ… TPPBookAuthorTests testIsKindOfClass_NSObject 2ms
โœ… TPPBookAuthorTests test_differentName_haveDifferentProperties 13ms
โœ… TPPBookAuthorTests test_sameNameAndURL_haveMatchingProperties 2ms
โœ… TPPBookBearerTokenTests testBearerToken_clearWithNil 18ms
โœ… TPPBookBearerTokenTests testBearerToken_defaultsToNil 13ms
โœ… TPPBookBearerTokenTests testBearerToken_writeAndRead 8ms
โœ… TPPBookBearerTokenTests testFulfillURL_clearWithNil 16ms
โœ… TPPBookBearerTokenTests testFulfillURL_defaultsToNil 13ms
โœ… TPPBookBearerTokenTests testFulfillURL_independentPerBook 9ms
โœ… TPPBookBearerTokenTests testFulfillURL_overwrite 9ms
โŠ˜ TPPBookBearerTokenTests testFulfillURL_persistsAcrossNewBookInstances 65ms
โœ… TPPBookBearerTokenTests testFulfillURL_writeAndRead 6ms
โœ… TPPBookContentMetadataFilesHelperTests testCurrentAccountDirectory_returnsURLOrNil 2ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_containsBundleIdentifier 5ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_differentAccounts_returnDifferentPaths 448ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_emptyString_handlesGracefully 3ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_longAccountId_handlesGracefully 4ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_pathContainsApplicationSupport 5ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_sameAccount_returnsSamePath 6ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_specialCharacters_handlesGracefully 37ms
โœ… TPPBookContentMetadataFilesHelperTests testDirectory_validAccountId_returnsURL 4ms
โœ… TPPBookContentTypeConverterTests testStringValue_audiobook 2ms
โœ… TPPBookContentTypeConverterTests testStringValue_epub 1ms
โœ… TPPBookContentTypeConverterTests testStringValue_pdf 2ms
โœ… TPPBookContentTypeConverterTests testStringValue_unsupported 2ms
โœ… TPPBookContentTypeExtendedTests testFromMimeType_empty 2ms
โœ… TPPBookContentTypeExtendedTests testFromMimeType_epubAndPdfMappedCorrectly 2ms
โœ… TPPBookContentTypeExtendedTests testFromMimeType_nil 2ms
โœ… TPPBookContentTypeExtendedTests testFromMimeType_unknown 2ms
โœ… TPPBookContentTypeTests test_converter_audiobook_returnsAudioBook 2ms
โœ… TPPBookContentTypeTests test_converter_epub_returnsEpub 3ms
โœ… TPPBookContentTypeTests test_converter_pdf_returnsPDF 3ms
โœ… TPPBookContentTypeTests test_converter_unsupported_returnsUnsupported 3ms
โœ… TPPBookContentTypeTests test_from_audiobookJsonMimeType_returnsAudiobook 2ms
โœ… TPPBookContentTypeTests test_from_emptyMimeType_returnsUnsupported 5ms
โœ… TPPBookContentTypeTests test_from_epubZipMimeType_returnsEpub 2ms
โœ… TPPBookContentTypeTests test_from_nilMimeType_returnsUnsupported 3ms
โœ… TPPBookContentTypeTests test_from_octetStreamMimeType_returnsEpub 4ms
โœ… TPPBookContentTypeTests test_from_pdfMimeType_returnsPdf 4ms
โœ… TPPBookContentTypeTests test_from_unknownMimeType_returnsUnsupported 3ms
โœ… TPPBookContentTypeTests test_opdsPublicationType_isInSupportedTypes 3ms
โœ… TPPBookContentTypeTests test_opdsPublicationType_withDirectEpubIndirect_producesEpubPath 6ms
โœ… TPPBookContentTypeTests test_opdsPublicationType_withLCPEpubIndirect_producesEpubPath 7ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_DecodesJPEGAtTargetSize 47ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_DecodesPNGData 64ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_EmptyDataReturnsNil 2ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_InvalidDataReturnsNil 2ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_MemoryEfficiency_LargeImage 127ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_PreservesAspectRatio 56ms
โœ… TPPBookCoverRegistryTests testDownsampleImage_SmallImageNotUpscaled 5ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_NilHostHandledGracefully 2ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_RecordsFailureAndSkips 5ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_ResetClearsAll 2ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_ResetsAfterCooldown 206ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_SuccessClearsFailure 4ms
โœ… TPPBookCoverRegistryTests testHostFailureTracker_TracksHostsIndependently 3ms
โœ… TPPBookCoverRegistryTests testRegistry_UsesCustomImageSession 2ms
โœ… TPPBookCreationTests testBookCreationViaDictionary 17ms
โœ… TPPBookCreationTests testBookCreationViaFactoryMethod 6ms
โœ… TPPBookCreationTests testBookCreationViaMemberWiseInitializer 6ms
โœ… TPPBookExtensionsTests test_format_forAudiobook_matchesLocalizedString 4ms
โœ… TPPBookExtensionsTests test_format_forEpub_matchesLocalizedString 4ms
โœ… TPPBookExtensionsTests test_format_forPDF_matchesLocalizedString 5ms
โœ… TPPBookExtensionsTests test_format_forUnsupported_matchesLocalizedString 2ms
โœ… TPPBookExtensionsTests test_format_isNotEmpty 6ms
โœ… TPPBookExtensionsTests test_hasAudiobookSample_audiobookWithSample_returnsTrue 5ms
โœ… TPPBookExtensionsTests test_hasAudiobookSample_audiobookWithoutSample_returnsFalse 4ms
โœ… TPPBookExtensionsTests test_hasAudiobookSample_epubWithSample_returnsFalse 8ms
โœ… TPPBookExtensionsTests test_hasAudiobookSample_pdfWithSample_returnsFalse 4ms
โœ… TPPBookExtensionsTests test_hasSample_withMockerHasSampleFalse_returnsFalse 4ms
โœ… TPPBookExtensionsTests test_hasSample_withMockerHasSampleTrue_returnsTrue 4ms
โœ… TPPBookExtensionsTests test_hasSample_withNoSample_returnsFalse 3ms
โœ… TPPBookExtensionsTests test_hasSample_withPreviewLink_returnsTrue 5ms
โœ… TPPBookExtensionsTests test_loggableDictionary_containsExpectedKeys 3ms
โœ… TPPBookExtensionsTests test_loggableShortString_containsTitleAndId 9ms
โœ… TPPBookExtensionsTests test_sample_nilForUnsupportedContentType 2ms
โœ… TPPBookExtensionsTests test_sample_preservesURL 2ms
โœ… TPPBookExtensionsTests test_sample_withAudiobookSample_returnsAudiobookSample 8ms
โœ… TPPBookExtensionsTests test_sample_withEpubSample_returnsEpubSample 9ms
โœ… TPPBookExtensionsTests test_sample_withNoSample_returnsNil 4ms
โœ… TPPBookExtensionsTests test_showAudiobookToolbar_falseForEpubEvenWithSample 4ms
โœ… TPPBookExtensionsTests test_showAudiobookToolbar_falseWhenNoSample 5ms
โœ… TPPBookLocationCoverageTests testBookLocation_dictionaryRoundTrip 17ms
โœ… TPPBookLocationCoverageTests testBookLocation_initWithDictionary 1ms
โœ… TPPBookLocationCoverageTests testBookLocation_initWithEmptyDictionary 2ms
โœ… TPPBookLocationCoverageTests testBookLocation_initWithIncompleteDictionary 3ms
โœ… TPPBookLocationCoverageTests testBookLocation_initWithStrings 2ms
โœ… TPPBookLocationCoverageTests testBookLocation_locationStringMutation_ReflectsInDictionary 2ms
โœ… TPPBookLocationCoverageTests testBookLocation_rendererMutation_ReflectsInDictionary 5ms
โœ… TPPBookLocationEdgeCaseTests test_bookLocationData_stringForKey_missingKey_returnsNil 14ms
โœ… TPPBookLocationEdgeCaseTests test_bookLocationData_stringForKey_returnsValue 2ms
โœ… 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 2ms
โœ… TPPBookLocationEdgeCaseTests test_initFromDictionary_missingLocationString_returnsNil 4ms
โœ… 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 2ms
โœ… TPPBookLocationEdgeCaseTests test_init_withLongJSON_createsLocation 2ms
โœ… TPPBookLocationEdgeCaseTests test_init_withValidStringAndRenderer_createsLocation 2ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_differentContent_returnsFalse 8ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_differentRenderer_returnsFalse 2ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_identicalLocations_returnsTrue 1ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_ignoresAnnotationIdDifferences 2ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_ignoresTimeStampDifferences 17ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_nonJSONLocationString_returnsFalse 2ms
โœ… TPPBookLocationEdgeCaseTests test_isSimilarTo_sameContentDifferentTimeStampAndAnnotationId_returnsTrue 2ms
โœ… TPPBookLocationEdgeCaseTests test_locationStringDictionary_arrayJSON_returnsNil 2ms
โœ… TPPBookLocationEdgeCaseTests test_locationStringDictionary_emptyString_returnsNil 3ms
โœ… TPPBookLocationEdgeCaseTests test_locationStringDictionary_invalidJSON_returnsNil 2ms
โœ… TPPBookLocationEdgeCaseTests test_locationStringDictionary_validJSON_returnsParsedDictionary 2ms
โœ… TPPBookLocationKeyTests testBookLocationData_stringAccessor 3ms
โœ… TPPBookLocationKeyTests testBookLocationData_stringAccessorWrongType 2ms
โœ… TPPBookLocationKeyTests testBookLocationKey_MatchesDictionaryRepresentationKeys 2ms
โœ… TPPBookLocationTests testDictionaryRepresentation_ContainsAllFields 47ms
โœ… TPPBookLocationTests testInit_FromDictionary_Succeeds 3ms
โœ… TPPBookLocationTests testInit_FromDictionary_WithMissingLocationString_ReturnsNil 5ms
โœ… TPPBookLocationTests testInit_FromDictionary_WithMissingRenderer_ReturnsNil 8ms
โœ… TPPBookLocationTests testInit_WithValidParams_Succeeds 2ms
โœ… TPPBookLocationTests testIsSimilarTo_IgnoresAnnotationId 2ms
โœ… TPPBookLocationTests testIsSimilarTo_IgnoresTimestamp 2ms
โœ… TPPBookLocationTests testIsSimilarTo_WithDifferentRenderer_ReturnsFalse 3ms
โœ… TPPBookLocationTests testIsSimilarTo_WithSameContent_ReturnsTrue 2ms
โœ… TPPBookLocationTests testLocationStringDictionary_ParsesValidJSON 4ms
โœ… TPPBookLocationTests testLocationStringDictionary_WithInvalidJSON_ReturnsNil 3ms
โœ… TPPBookModelGapTests testTPPBook_bookWithMetadata_returnsBookWithUpdatedMetadata 23ms
โœ… TPPBookModelGapTests testTPPBook_dictionaryRepresentation_producesNonEmptyDict 13ms
โœ… TPPBookModelGapTests testTPPBook_dictionaryRepresentation_roundTripPreservesKeyProperties 26ms
โœ… TPPBookModelGapTests testTPPBook_sameIdentifier_comparableEquivalent 27ms
โœ… TPPBookRegistryBookRetrievalTests testAllBooks_ReturnsRegisteredBooks 10ms
โœ… TPPBookRegistryBookRetrievalTests testBook_ForEmptyIdentifier_ReturnsNil 2ms
โœ… TPPBookRegistryBookRetrievalTests testBook_ForNilIdentifier_ReturnsNil 2ms
โœ… TPPBookRegistryBookRetrievalTests testBook_ForNonExistentIdentifier_ReturnsNil 8ms
โœ… TPPBookRegistryBookRetrievalTests testBook_ForValidIdentifier_ReturnsBook 7ms
โœ… TPPBookRegistryBookRetrievalTests testHeldBooks_ReturnsOnlyHoldingBooks 9ms
โœ… TPPBookRegistryBookRetrievalTests testMyBooks_ReturnsDownloadRelatedBooks 21ms
โœ… TPPBookRegistryBookmarkTests testAddGenericBookmark_AppendsToList 9ms
โŠ˜ TPPBookRegistryBookmarkTests testAddOrReplaceGenericBookmark_ReplacesExisting 8ms
โœ… TPPBookRegistryBookmarkTests testAddReadiumBookmark_AppendsToList 19ms
โœ… TPPBookRegistryBookmarkTests testDeleteGenericBookmark_RemovesFromList 7ms
โœ… TPPBookRegistryBookmarkTests testDeleteReadiumBookmark_RemovesFromList 6ms
โœ… TPPBookRegistryBookmarkTests testReadiumBookmarks_SortedByProgress 10ms
โœ… TPPBookRegistryBookmarkTests testReplaceGenericBookmark_UpdatesBookmark 9ms
โœ… TPPBookRegistryCorruptedDataTests testRecordInit_WithCorruptedBookmarks_SkipsInvalid 8ms
โœ… TPPBookRegistryCorruptedDataTests testRecordInit_WithInvalidState_ReturnsNil 10ms
โœ… TPPBookRegistryCorruptedDataTests testRecordInit_WithMissingBook_ReturnsNil 13ms
โœ… TPPBookRegistryCorruptedDataTests testRecordInit_WithMissingOptionalFields_Succeeds 18ms
โœ… TPPBookRegistryCorruptedDataTests testRecordInit_WithMissingState_ReturnsNil 14ms
โœ… TPPBookRegistryDataTests testArrayForKey_ReturnsArray 2ms
โœ… TPPBookRegistryDataTests testObjectForKey_ReturnsDictionary 2ms
โœ… TPPBookRegistryDataTests testSetValue_SetsValue 2ms
โœ… TPPBookRegistryDataTests testValueForKey_ReturnsValue 2ms
โœ… TPPBookRegistryFulfillmentIdTests testFulfillmentId_ForEmptyIdentifier_ReturnsNil 2ms
โœ… TPPBookRegistryFulfillmentIdTests testFulfillmentId_ForNilIdentifier_ReturnsNil 2ms
โœ… TPPBookRegistryFulfillmentIdTests testFulfillmentId_ForNonExistentBook_ReturnsNil 2ms
โœ… TPPBookRegistryFulfillmentIdTests testSetFulfillmentId_UpdatesFulfillmentId 7ms
โœ… TPPBookRegistryLoadReentrancyTests testLoad_EmitsBookStateEventsForAllBooks 2ms
โœ… TPPBookRegistryLoadReentrancyTests testLoad_RapidCallsForSameAccount_DoesNotCrash 3ms
โœ… TPPBookRegistryLocationTests testLocation_ForNonExistentBook_ReturnsNil 7ms
โœ… TPPBookRegistryLocationTests testSetLocationSync_UpdatesSynchronously 15ms
โœ… TPPBookRegistryLocationTests testSetLocation_UpdatesLocation 9ms
โœ… TPPBookRegistryLocationTests testSetLocation_WithNil_ClearsLocation 6ms
โœ… TPPBookRegistryProcessingTests testSetProcessing_False_ClearsProcessingState 2ms
โœ… TPPBookRegistryProcessingTests testSetProcessing_TracksProcessingState 2ms
โœ… TPPBookRegistryPublisherTests testBookStatePublisher_EmitsOnBookAdd 22ms
โœ… TPPBookRegistryPublisherTests testBookStatePublisher_EmitsOnBookRemove 24ms
โœ… TPPBookRegistryPublisherTests testBookStatePublisher_EmitsOnStateChange 36ms
โœ… TPPBookRegistryPublisherTests testBookStatePublisher_MultipleStateChanges_EmitsAll 29ms
โœ… TPPBookRegistryPublisherTests testRegistryPublisher_EmitsOnBookAdd 11ms
โœ… TPPBookRegistryPublisherTests testRegistryPublisher_EmitsOnBookRemove 12ms
โœ… TPPBookRegistryRecordPersistenceTests testAllStatesSerializeCorrectly 37ms
โœ… TPPBookRegistryRecordPersistenceTests testDictionaryRepresentation_ContainsAllFields 8ms
โœ… TPPBookRegistryRecordPersistenceTests testDictionaryRoundTrip_PreservesData 8ms
โœ… TPPBookRegistryRecordTests testAllStatesCanBePreserved 4ms
โœ… TPPBookRegistryRecordTests testDeriveInitialStateForBookWithoutAcquisition 6ms
โœ… TPPBookRegistryRecordTests testDeriveInitialStateForBorrowableBook 5ms
โœ… TPPBookRegistryRecordTests testDictionaryRepresentationPreservesState 4ms
โœ… TPPBookRegistryRecordTests testInitFromDictionaryPreservesState 14ms
โœ… TPPBookRegistryRecordTests testInitPreservesDownloadFailedState 3ms
โœ… TPPBookRegistryRecordTests testInitPreservesDownloadSuccessfulState 4ms
โœ… TPPBookRegistryRecordTests testInitPreservesDownloadingState 5ms
โœ… TPPBookRegistryRecordTests testInitPreservesHoldingState 7ms
โœ… TPPBookRegistryRecordTests testInitPreservesUsedState 5ms
โœ… TPPBookRegistryStateManagementTests testAddBook_NewBook_RegistersWithCorrectState 5ms
โœ… TPPBookRegistryStateManagementTests testAddBook_WithBookmarks_StoresBookmarks 6ms
โœ… TPPBookRegistryStateManagementTests testAddBook_WithFulfillmentId_StoresFulfillmentId 14ms
โœ… TPPBookRegistryStateManagementTests testAddBook_WithLocation_StoresLocation 27ms
โœ… TPPBookRegistryStateManagementTests testRemoveBook_RemovesFromRegistry 6ms
โœ… TPPBookRegistryStateManagementTests testRemoveBook_WithEmptyIdentifier_DoesNotCrash 3ms
โœ… TPPBookRegistryStateManagementTests testSetState_ForUnregisteredBook_DoesNotCrash 13ms
โœ… TPPBookRegistryStateManagementTests testSetState_TransitionsCorrectly 5ms
โœ… TPPBookRegistryStateManagementTests testStateFor_EmptyIdentifier_ReturnsUnregistered 3ms
โœ… TPPBookRegistryStateManagementTests testStateFor_NilIdentifier_ReturnsUnregistered 2ms
โœ… TPPBookRegistryStateManagementTests testStateFor_NonExistentBook_ReturnsUnregistered 2ms
โœ… TPPBookRegistryThreadSafetyTests testCrashlytics30c41d7e_ConcurrentAddAndUpdate_DoNotCrash 106ms
โœ… TPPBookRegistryThreadSafetyTests testCrashlytics30c41d7e_RapidRegistryMutations_DoNotCrashPublisher 84ms
โœ… TPPBookRegistryThreadSafetyTests testRegistryPublisher_EmitsConsistentSnapshots_DuringRapidMutations 91ms
โœ… TPPBookRegistryUpdateAndRemoveTests testUpdateAndRemoveBook_SetsStateToUnregistered 6ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_falseForLCPBook 3ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_falseForOpenAccessAudiobook 5ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_falseForOpenAccessBook 3ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_falseWhenNoAcquisitions 2ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_trueForAdobeAdeptBook 3ms
โœ… TPPBookRequiresAdobeDRMTests testRequiresAdobeDRM_trueForOPDSFixtureEntry 975ms
โœ… TPPBookSerializationTests test_categoryStrings_returnsCategories 5ms
โœ… TPPBookSerializationTests test_comparable_sortsAlphabeticallyByTitle 7ms
โœ… TPPBookSerializationTests test_defaultBookContentType_forAudiobook_returnsAudiobook 4ms
โœ… TPPBookSerializationTests test_defaultBookContentType_forEpub_returnsEpub 5ms
โœ… TPPBookSerializationTests test_dictionaryRoundTrip_preservesAllFields 7ms
โœ… TPPBookSerializationTests test_dictionaryRoundTrip_preservesIdentifier 33ms
โœ… TPPBookSerializationTests test_initFromDictionary_missingId_returnsNil 6ms
โœ… TPPBookSerializationTests test_initFromDictionary_missingTitle_returnsNil 5ms
โœ… TPPBookSerializationTests test_initFromDictionary_missingUpdated_returnsNil 7ms
โœ… TPPBookStateInitializationTests testStateInit_FromInvalidString_ReturnsNil 2ms
โœ… TPPBookStateInitializationTests testStateInit_FromValidStrings 2ms
โœ… TPPBookStateInitializationTests testStateRoundTrip_AllStates 3ms
โœ… TPPBookStateInitializationTests testStateStringValue_ReturnsCorrectString 7ms
โœ… TPPBookStateTests testAllBookState 3ms
โœ… TPPBookStateTests testBookStateFromString 5ms
โœ… TPPBookStateTests testInitWithString 3ms
โœ… TPPBookStateTests testStringValue 2ms
โœ… TPPBookTests test_authorLinkArray_excludesNilURLs 2ms
โœ… TPPBookTests test_authorLinkArray_returnsURLStrings 2ms
โœ… TPPBookTests test_authorNameArray_nilWhenNoAuthors 2ms
โœ… TPPBookTests test_authorNameArray_returnsNames 3ms
โœ… TPPBookTests test_authors_joinsNamesWithSemicolon 2ms
โœ… TPPBookTests test_authors_nilWhenNoAuthors 3ms
โœ… TPPBookTests test_authors_singleAuthor 2ms
โœ… 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 2ms
โœ… TPPBookTests test_categories_nilWhenNil 2ms
โœ… TPPBookTests test_categoryStringsFromCategories_emptyArrayReturnsEmpty 2ms
โœ… TPPBookTests test_categoryStringsFromCategories_extractsLabelsFromSimplifiedScheme 2ms
โœ… TPPBookTests test_categoryStringsFromCategories_filtersOutUnknownSchemes 2ms
โœ… TPPBookTests test_categoryStringsFromCategories_includesCategoriesWithNilScheme 2ms
โœ… TPPBookTests test_categoryStringsFromCategories_usesTermWhenNoLabel 2ms
โœ… TPPBookTests test_clearCachedImages_removesAllKeysFromCache 3ms
โœ… TPPBookTests test_comparable_equalIdentifiersNotLessThan 2ms
โœ… TPPBookTests test_comparable_ordersById 2ms
โœ… TPPBookTests test_comparable_sortingMultipleBooks 3ms
โœ… TPPBookTests test_defaultAcquisitionIfBorrow_nilWhenOpenAccess 2ms
โœ… TPPBookTests test_defaultAcquisitionIfBorrow_returnsAcquisitionWhenBorrow 2ms
โœ… TPPBookTests test_defaultAcquisitionIfOpenAccess_nilWhenBorrow 2ms
โœ… TPPBookTests test_defaultAcquisitionIfOpenAccess_returnsWhenOpenAccess 2ms
โœ… TPPBookTests test_defaultBookContentType_audiobook 8ms
โœ… TPPBookTests test_defaultBookContentType_epub 17ms
โœ… TPPBookTests test_defaultBookContentType_pdf 4ms
โœ… TPPBookTests test_defaultBookContentType_unsupportedWhenNoAcquisitions 2ms
โœ… TPPBookTests test_dictionaryInit_handlesFlatAuthorArrayFormat 4ms
โœ… TPPBookTests test_dictionaryInit_handlesNestedAuthorArrayFormat 3ms
โœ… TPPBookTests test_dictionaryInit_nilWhenMissingCategories 2ms
โœ… TPPBookTests test_dictionaryInit_nilWhenMissingId 1ms
โœ… TPPBookTests test_dictionaryInit_nilWhenMissingTitle 2ms
โœ… TPPBookTests test_dictionaryInit_nilWhenMissingUpdated 4ms
โœ… TPPBookTests test_dictionaryRepresentation_containsRequiredKeys 2ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesAuthors 4ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesCategories 3ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesDistributor 5ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesIdentifierAndTitle 4ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesOptionalURLs 2ms
โœ… TPPBookTests test_dictionaryRoundTrip_preservesSubtitleAndSummary 4ms
โœ… TPPBookTests test_getAvailabilityDetails_nilForUnlimitedAvailability 2ms
โœ… TPPBookTests test_getAvailabilityDetails_populatesForLimitedAvailability 4ms
โœ… TPPBookTests test_getExpirationDate_nilForUnlimitedAvailability 2ms
โŠ˜ TPPBookTests test_getExpirationDate_nilWhenUntilDateIsInPast 4ms
โœ… TPPBookTests test_getExpirationDate_returnsDateForLimitedAvailability 4ms
โœ… TPPBookTests test_getReservationDetails_populatesFromReservedAvailability 4ms
โœ… TPPBookTests test_getReservationDetails_timeUnitPluralForMultipleDays 3ms
โœ… TPPBookTests test_getReservationDetails_timeUnitSingularForOneDay 4ms
โœ… TPPBookTests test_getReservationDetails_zeroValuesForUnlimitedAvailability 2ms
โœ… TPPBookTests test_hasDuration_falseWhenDurationEmpty 2ms
โœ… TPPBookTests test_hasDuration_falseWhenDurationNil 2ms
โœ… TPPBookTests test_hasDuration_trueWhenDurationSet 2ms
โœ… TPPBookTests test_identifiable_conformance 7ms
โœ… TPPBookTests test_isAudiobook_falseForEpub 2ms
โœ… TPPBookTests test_isAudiobook_falseForPDF 4ms
โœ… TPPBookTests test_isAudiobook_trueForAudiobookContentType 5ms
โœ… TPPBookTests test_isExpired_falseWhenNoExpiration 3ms
โœ… TPPBookTests test_narrators_joinsContributorsNrt 2ms
โœ… TPPBookTests test_narrators_nilWhenNoContributors 2ms
โœ… TPPBookTests test_narrators_nilWhenNoNrtKey 3ms
โœ… TPPBookTests test_ordinalString_eleventh 3ms
โœ… TPPBookTests test_ordinalString_first 2ms
โœ… TPPBookTests test_ordinalString_hundredAndFirst 4ms
โœ… TPPBookTests test_ordinalString_second 3ms
โœ… TPPBookTests test_ordinalString_third 2ms
โœ… TPPBookTests test_ordinalString_thirteenth 3ms
โœ… TPPBookTests test_ordinalString_twelfth 3ms
โœ… TPPBookTests test_ordinalString_twentyFirst 2ms
โœ… TPPBookTests test_reservationDetails_defaultValues 2ms
โœ… TPPBookTests test_sampleAcquisition_nilWhenNoSampleOrPreview 3ms
โœ… TPPBookTests test_sampleAcquisition_returnsPreviewLinkAsFallback 2ms
โœ… TPPBookmarkDeletionLogTests testClearAllDeletions_OnlyAffectsSpecifiedBook 10ms
โœ… TPPBookmarkDeletionLogTests testClearAllDeletions_RemovesAllForBook 13ms
โœ… TPPBookmarkDeletionLogTests testClearDeletion_RemovesSpecificAnnotation 8ms
โœ… TPPBookmarkDeletionLogTests testLogDeletion_AddsToPendingDeletions 9ms
โœ… TPPBookmarkDeletionLogTests testLogDeletion_HandlesDuplicates 5ms
โœ… TPPBookmarkDeletionLogTests testLogDeletion_IgnoresEmptyAnnotationId 3ms
โœ… TPPBookmarkDeletionLogTests testLogDeletion_MultipleDeletionsForSameBook 5ms
โœ… TPPBookmarkDeletionLogTests testPP3555_ClearAllDeletionsOnBookReturn 5ms
โœ… TPPBookmarkDeletionLogTests testPP3555_DeletionLogTracksBookmarksForServerDeletion 4ms
โœ… TPPBookmarkDeletionLogTests testPendingDeletions_ReturnsEmptyForUnknownBook 3ms
โœ… TPPBookmarkDeletionLogTests testThreadSafety_ConcurrentWrites 31ms
โœ… TPPBookmarkFactoryInitTests testInit_StoresProperties 3ms
โœ… TPPBookmarkFactoryInitTests testInit_WithNilDeviceId_CreatesFactory 8ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests testMakeFromServerAnnotation_DoubleProgressValue_ConvertsToFloat 3ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests testMakeFromServerAnnotation_EmptyHref_CreatesBookmarkWithEmptyHref 14ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests testMakeFromServerAnnotation_MissingProgressValues_UsesDefaults 12ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests testMakeFromServerAnnotation_ProgressFromBodyFallback 4ms
โœ… TPPBookmarkFactoryServerAnnotationEdgeCaseTests testMakeFromServerAnnotation_WithReadingOrderItem_IncludesIt 3ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_ExtractsChapterTitle 4ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_InvalidSelectorJSON_ReturnsNil 5ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MismatchedBookId_ReturnsNil 4ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MismatchedMotivation_ReturnsNil 4ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MissingAnnotationId_ReturnsNil 12ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MissingBody_ReturnsNil 4ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MissingSelector_ReturnsNil 4ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_MissingTarget_ReturnsNil 4ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_ReadingProgress_CreatesBookmark 19ms
โœ… TPPBookmarkFactoryTests testMakeFromServerAnnotation_ValidBookmark_CreatesBookmark 5ms
โœ… TPPBookmarkFactoryTests testMake_FromR3Location_CreatesBookmark 63ms
โœ… TPPBookmarkFactoryTests testMake_FromR3Location_GeneratesLocationFromLocator 25ms
โœ… TPPBookmarkFactoryTests testMake_FromR3Location_UsesCreationDate 6ms
โœ… TPPBookmarkFactoryTests testMake_FromR3Location_WithNilProgression_ReturnsNil 20ms
โœ… TPPBookmarkFactoryTests testMake_FromR3Location_WithPagePosition_IncludesPage 10ms
โœ… TPPBookmarkR3ConversionTests testConvertToR3_bookmarkNotInPublication_returnsNil 9ms
โœ… TPPBookmarkR3ConversionTests testConvertToR3_parsesTimeCorrectly 5ms
โœ… TPPBookmarkR3ConversionTests testConvertToR3_preservesChapterTitle 3ms
โœ… TPPBookmarkR3ConversionTests testConvertToR3_preservesProgressionValues 3ms
โœ… TPPBookmarkR3ConversionTests testConvertToR3_validBookmark_createsR3Location 3ms
โœ… TPPBookmarkR3LocationTests testFrom_emptyReadingOrder_returnsNil 7ms
โœ… TPPBookmarkR3LocationTests testFrom_firstChapter_returnsIndexZero 6ms
โœ… TPPBookmarkR3LocationTests testFrom_lastChapter_returnsCorrectIndex 36ms
โœ… TPPBookmarkR3LocationTests testFrom_locatorNotInPublication_returnsNil 4ms
โœ… TPPBookmarkR3LocationTests testFrom_locatorWithDifferentMediaType_findsMatchByHref 4ms
โœ… TPPBookmarkR3LocationTests testFrom_validLocatorInPublication_createsLocation 3ms
โœ… TPPBookmarkR3LocationTests testFrom_withCustomCreationDate_usesProvidedDate 384ms
โœ… TPPBookmarkR3LocationTests testInit_preservesResourceIndex 17ms
โœ… TPPBookmarkR3LocationTests testInit_withDefaultCreationDate_usesCurrentDate 3ms
โœ… TPPBookmarkR3LocationTests testInit_withValidParameters_createsLocation 5ms
โœ… TPPBookmarkR3LocationTests testLocator_preservesMediaType 3ms
โœ… TPPBookmarkR3LocationTests testLocator_preservesProgression 27ms
โœ… TPPBookmarkR3LocationTests testLocator_preservesTitle 5ms
โœ… TPPBookmarkSpecTests testBookmarkMotivationKeyword 10ms
โœ… TPPCachingTests testMaxAgeExtraction 5ms
โœ… TPPCachingTests testResponseModification 7ms
โœ… TPPCachingTests testSufficientCacheHeaders 3ms
โœ… TPPCapturedCredentialsTests testFinalizeSignIn_fallsBackToUIDelegate_whenCapturedNil 90ms
โœ… TPPCapturedCredentialsTests testFinalizeSignIn_usesCapturedCredentials_whenUIDelegateCleared 89ms
โœ… TPPCapturedCredentialsTests testLogIn_refreshesCapturedCredentials_onSubsequentAttempts 87ms
โœ… TPPCapturedCredentialsTests testUpdateUserAccount_usesAtomicUpdateWithCorrectLibraryUUID 96ms
โœ… TPPCapturedCredentialsTests testUpdateUserAccount_withAuthToken_savesAllCredentials 76ms
โœ… TPPConfigurationTests test_accentColor_returnsValidUIColor 3ms
โœ… TPPConfigurationTests test_appearanceWithBackgroundColor_usesProvidedColor 2ms
โœ… TPPConfigurationTests test_backgroundColor_returnsValidUIColor 2ms
โœ… TPPConfigurationTests test_backgroundMediaOverlayHighlightColor_returnsValidUIColor 3ms
โœ… TPPConfigurationTests test_betaUrlHash_isNonEmpty 2ms
โœ… TPPConfigurationTests test_betaUrl_isValid 3ms
โœ… TPPConfigurationTests test_boldSystemFontName_returnsNonEmptyString 5ms
โœ… TPPConfigurationTests test_defaultAppearance_returnsConfiguredAppearance 26ms
โœ… TPPConfigurationTests test_defaultBookmarkRowHeight_returnsPositiveValue 83ms
โœ… TPPConfigurationTests test_defaultTOCRowHeight_returnsPositiveValue 180ms
โœ… TPPConfigurationTests test_mainColor_returnsValidUIColor 5ms
โœ… TPPConfigurationTests test_minimumVersionURL_returnsValidURL 4ms
โœ… TPPConfigurationTests test_palaceRed_returnsValidUIColor 5ms
โœ… TPPConfigurationTests test_prodUrlHash_isDeterministic 66ms
โœ… TPPConfigurationTests test_prodUrlHash_isNonEmpty 2ms
โœ… TPPConfigurationTests test_prodUrl_isValid 2ms
โœ… TPPConfigurationTests test_readerBackgroundColor_returnsValidUIColor 3ms
โœ… TPPConfigurationTests test_readerBackgroundDarkColor_returnsValidUIColor 20ms
โœ… TPPConfigurationTests test_readerBackgroundSepiaColor_returnsValidUIColor 8ms
โœ… TPPConfigurationTests test_semiBoldSystemFontName_returnsNonEmptyString 2ms
โœ… TPPConfigurationTests test_systemFontFamilyName_returnsNonEmptyString 4ms
โœ… TPPConfigurationTests test_systemFontFamilyName_returnsOpenSans 3ms
โœ… TPPConfigurationTests test_systemFontName_returnsNonEmptyString 5ms
โœ… TPPContentTypeTests testFrom_EmptyString_ReturnsUnsupported 2ms
โœ… TPPContentTypeTests testFrom_EpubZip_ReturnsEpub 2ms
โœ… TPPContentTypeTests testFrom_NilMimeType_ReturnsUnsupported 36ms
โœ… TPPContentTypeTests testFrom_OctetStream_ReturnsEpub 2ms
โœ… TPPContentTypeTests testFrom_OpenAccessAudiobook_ReturnsAudiobook 2ms
โœ… TPPContentTypeTests testFrom_OpenAccessPDF_ReturnsPDF 2ms
โœ… TPPContentTypeTests testFrom_UnknownMimeType_ReturnsUnsupported 2ms
โœ… TPPCredentialConcurrencyTests testAtomicUpdate_writesAreVisibleInSnapshot 2ms
โœ… TPPCredentialConcurrencyTests testConcurrentRefreshCredentials_doesNotCrash 7ms
โœ… TPPCredentialConcurrencyTests testConcurrentSnapshots_returnConsistentData 3ms
โœ… TPPCredentialPersistenceTests testFullSignInFlow_authStateIsLoggedIn 130ms
โœ… TPPCredentialPersistenceTests testFullSignInFlow_completionCalledOnce 131ms
โœ… TPPCredentialPersistenceTests testFullSignInFlow_credentialsRemainAccessible 143ms
โœ… TPPCredentialPersistenceTests testUpdateUserAccount_basicAuth_setsCredentialsAndAuthState 95ms
โœ… TPPCredentialPersistenceTests testUpdateUserAccount_credentialsPersistedAndRefreshable 106ms
โœ… TPPCredentialPersistenceTests testUpdateUserAccount_noSelectedAuth_stillMarksLoggedIn 171ms
โœ… TPPCredentialSnapshotTests testSnapshot_identifiesTokenCredentials 2ms
โœ… TPPCredentialSnapshotTests testSnapshot_isSignedInLogic_OAuth_stale 2ms
โœ… TPPCredentialSnapshotTests testSnapshot_isSignedInLogic_basicAuth 2ms
โœ… TPPCredentialSnapshotTests testSnapshot_isSignedInLogic_basicAuth_stale 2ms
โœ… TPPCredentialSnapshotTests testSnapshot_isSignedInLogic_loggedOut 2ms
โœ… TPPCredentialSnapshotTests testSnapshot_reportsNoCredentials 2ms
โœ… TPPCredentialSnapshotTests testSnapshot_returnsAuthState 2ms
โœ… TPPCredentialSnapshotTests testSnapshot_returnsCredentialsAfterSet 2ms
โœ… TPPCredentialsCoverageTests testBarcodeAndPin_codableRoundTrip 5ms
โœ… TPPCredentialsCoverageTests testBarcodeAndPin_storesFields 5ms
โœ… TPPCredentialsCoverageTests testCookies_codableRoundTrip 20ms
โœ… TPPCredentialsCoverageTests testCookies_storesCookies 2ms
โœ… TPPCredentialsCoverageTests testToken_codableRoundTrip 2ms
โœ… TPPCredentialsCoverageTests testToken_nilOptionals_codableRoundTrip 5ms
โœ… TPPCredentialsCoverageTests testToken_optionalDefaults 2ms
โœ… TPPCredentialsCoverageTests testToken_storesFields 2ms
โœ… TPPCredentialsCoverageTests testTypeID_rawValues 2ms
โœ… TPPCredentialsTests testBarcodeAndPin_WithEmptyValues_StoresEmptyStrings 1ms
โœ… TPPCredentialsTests testBarcodeAndPin_WithSpecialCharacters_PreservesCharacters 2ms
โœ… TPPCredentialsTests testBarcodeAndPin_WithValidData_StoresValues 2ms
โœ… TPPCredentialsTests testCookies_WithEmptyArray_StoresEmptyArray 4ms
โœ… TPPCredentialsTests testCookies_WithMultipleCookies_StoresAllCookies 25ms
โœ… TPPCredentialsTests testCookies_WithValidCookies_StoresCookies 2ms
โœ… TPPCredentialsTests testDecode_WithInvalidTypeID_ThrowsError 2ms
โœ… TPPCredentialsTests testDecode_WithMissingType_ThrowsError 2ms
โœ… TPPCredentialsTests testEncodeDecode_BarcodeAndPin_PreservesValues 5ms
โœ… TPPCredentialsTests testEncodeDecode_BarcodeAndPin_WithEmptyStrings 1ms
โœ… TPPCredentialsTests testEncodeDecode_BarcodeAndPin_WithLongStrings 2ms
โœ… TPPCredentialsTests testEncodeDecode_Cookies_WithEmptyArray 47ms
โœ… TPPCredentialsTests testEncodeDecode_Cookies_WithMultipleCookies 2ms
โœ… TPPCredentialsTests testEncodeDecode_Cookies_WithValidCookies 4ms
โœ… TPPCredentialsTests testEncodeDecode_Token_ExpirationDatePrecision 2ms
โœ… TPPCredentialsTests testEncodeDecode_Token_WithAllProperties 6ms
โœ… TPPCredentialsTests testEncodeDecode_Token_WithEmptyAuthToken 5ms
โœ… TPPCredentialsTests testEncodeDecode_Token_WithNilOptionals 5ms
โœ… TPPCredentialsTests testEncodeDecode_Token_WithSpecialCharacters 32ms
โœ… TPPCredentialsTests testEncodeDecode_Token_WithUnicodeCharacters 7ms
โœ… TPPCredentialsTests testToken_WithAllProperties_StoresValues 1ms
โœ… TPPCredentialsTests testToken_WithEmptyAuthToken_StoresEmptyString 48ms
โœ… TPPCredentialsTests testToken_WithOnlyAuthToken_StoresNilOptionals 1ms
โœ… TPPCredentialsTests testTypeID_BarcodeAndPinHasCorrectRawValue 2ms
โœ… TPPCredentialsTests testTypeID_CookiesHasCorrectRawValue 2ms
โœ… TPPCredentialsTests testTypeID_TokenHasCorrectRawValue 2ms
โœ… TPPCrossLibrarySignOutTests testMultiLibraryMock_returnsSeparateAccountsPerUUID 141ms
โœ… TPPCrossLibrarySignOutTests testSequentialSignOuts_ofMultipleLibraries_clearCorrectCredentials 126ms
โœ… TPPCrossLibrarySignOutTests testSignOut_ofNonActiveLibrary_doesNotClearActiveLibraryCredentials 89ms
โœ… TPPCrossLibrarySignOutTests testSignOut_ofNonActiveOAuthLibrary_doesNotClearActiveLibraryToken 96ms
โœ… TPPCrossLibrarySignOutTests testSignOut_ofNonActiveSAMLLibrary_doesNotClearActiveLibraryCookies 90ms
โœ… TPPCrossLibrarySignOutTests testUserAccount_isScopedToLibraryAccountID 98ms
โœ… TPPDRMFailureCredentialPreservationTests testUpdateUserAccount_drmFailure_doesNotChangeAuthState 126ms
โœ… TPPDRMFailureCredentialPreservationTests testUpdateUserAccount_drmFailure_doesNotWipeExistingCredentials 135ms
โœ… TPPDRMFailureCredentialPreservationTests testUpdateUserAccount_drmFailure_noExistingCredentials_noWipe 92ms
โœ… TPPDRMFailureCredentialPreservationTests testUpdateUserAccount_drmSuccess_doesSaveCredentials 106ms
โœ… TPPEncryptedPDFDataProviderTests test_dataProvider_returnsValidCGDataProvider 2ms
โœ… TPPEncryptedPDFDataProviderTests test_initWithEmptyData_succeeds 2ms
โœ… TPPEncryptedPDFDataProviderTests test_initWithValidData_succeeds 16ms
โœ… TPPErrorLoggerTests testClientDomain_isCorrect 2ms
โœ… TPPErrorLoggerTests testErrorCode_appLaunchAndRegistryCodesAreDistinct 2ms
โœ… TPPErrorLoggerTests testErrorCode_drmCodesAreSeparateFromNetworking 4ms
โœ… TPPErrorLoggerTests testErrorCode_ignoreProducesNoError 2ms
โœ… TPPErrorLoggerTests testErrorCode_imageLoadingCodesAreUnique 2ms
โœ… TPPErrorLoggerTests testErrorCode_networkingCodesAreUnique 2ms
โœ… TPPErrorLoggerTests testErrorCode_parseAndImageGroupsDoNotOverlap 2ms
โœ… TPPErrorLoggerTests testErrorCode_parseFailureCodesAreUnique 2ms
โœ… TPPErrorLoggerTests testErrorCode_signInCodesAreDistinct 2ms
โœ… TPPErrorLoggerTests testErrorCodes_areUnique 3ms
โœ… TPPErrorLoggerTests testImageDecodeFail_doesNotCrash 3ms
โœ… TPPErrorLoggerTests testImageHostFailure_isThrottled 5ms
โœ… TPPErrorLoggerTests testLogBarcodeException_doesNotCrash 9ms
โœ… TPPErrorLoggerTests testLogError_withCodeAndSummary_doesNotCrash 5ms
โœ… TPPErrorLoggerTests testLogError_withErrorAndSummary_doesNotCrash 5ms
โœ… TPPErrorLoggerTests testLogInvalidLicensor_doesNotCrash 8ms
โœ… TPPErrorLoggerTests testLogInvalidLicensor_withNilAccountID_doesNotCrash 29ms
โœ… TPPErrorLoggerTests testLogLocalAuthFailed_doesNotCrash 23ms
โœ… TPPErrorLoggerTests testLogLoginError_withProblemDocument_doesNotCrash 4ms
โœ… TPPErrorLoggerTests testLogNetworkError_doesNotCrash 6ms
โœ… TPPErrorLoggerTests testLogNetworkError_withIgnoreCode_usesApiCallCode 26ms
โœ… TPPErrorLoggerTests testLogNetworkError_withNilSummary_usesDefault 7ms
โœ… TPPErrorLoggerTests testLogProblemDocumentParseError_doesNotCrash 4ms
โœ… TPPErrorLoggerTests testLogProblemDocumentParseError_withNilData_doesNotCrash 4ms
โœ… TPPErrorLoggerTests testSeverity_errorStringValue 1ms
โœ… TPPErrorLoggerTests testSeverity_infoStringValue 2ms
โœ… TPPErrorLoggerTests testSeverity_warningStringValue 2ms
โœ… TPPIdleSignOutRegressionTests testCancelPendingSignOut_preventsCredentialCleanup 95ms
โœ… TPPIdleSignOutRegressionTests testNormalSignOut_stillClearsCredentials 121ms
โœ… TPPIdleSignOutRegressionTests testOAuthSignOut401_clearsTokenCredentials 127ms
โœ… TPPIdleSignOutRegressionTests testRaceCondition_signInDuringPendingDeauth_preservesNewCredentials 102ms
โœ… TPPIdleSignOutRegressionTests testRapidSignOutSignInCycles_doNotCorruptState 92ms
โœ… TPPIdleSignOutRegressionTests testSignOut401_clearsCredentials 104ms
โœ… TPPIdleSignOutRegressionTests testSignOut401_deauthorizesDeviceWithLicensor 117ms
โœ… TPPIdleSignOutRegressionTests testSignOut401_doesNotShowUnexpectedCredentialsError 146ms
โœ… TPPIdleSignOutRegressionTests testSignOut500_showsErrorToUser 127ms
โœ… TPPIdleSignOutRegressionTests testSignOutSignInCycle_licensorPreservedForBorrow 113ms
โœ… TPPIdleSignOutRegressionTests testSignOut_alwaysCallsDidFinishDeauthorizing 112ms
โœ… TPPIdleSignOutRegressionTests testSignOut_withNoDRMAuthorizer_completes 103ms
โœ… TPPIdleSignOutRegressionTests testStaleSignOut_stillCallsDidFinishDeauthorizing 145ms
โœ… TPPJWKConversionTest testJWKConversion 92ms
โœ… TPPKeychainManagerTests testLogKeychainError_doesNotCrash_withEmptyMessage 3ms
โœ… TPPKeychainManagerTests testLogKeychainError_doesNotCrash_withEmptyVendor 19ms
โœ… TPPKeychainManagerTests testLogKeychainError_doesNotCrash_withKnownStatuses 13ms
โœ… TPPKeychainManagerTests testLogKeychainError_doesNotCrash_withUnknownStatus 7ms
โœ… TPPKeychainManagerTests testSecClassItems_coversAllExpectedTypes 2ms
โœ… TPPKeychainStoredVariableTests testCodableVariable_nilValue_returnsNil 4ms
โœ… TPPKeychainStoredVariableTests testCodableVariable_writeAndRead 6ms
โœ… TPPKeychainStoredVariableTests testInit_setsKey 3ms
โœ… TPPKeychainStoredVariableTests testKeyChange_invalidatesCache 4ms
โœ… TPPKeychainStoredVariableTests testRead_noValue_returnsNil 4ms
โœ… TPPKeychainStoredVariableTests testTransaction_performExecutesSynchronously 3ms
โœ… TPPKeychainStoredVariableTests testWrite_andRead_string 4ms
โœ… TPPKeychainStoredVariableTests testWrite_nil_clearsValue 4ms
โœ… TPPKeychainStoredVariableTests testWrite_overwrite_updatesValue 4ms
โŠ˜ TPPKeychainSwiftLegacyTests test0 6ms
โŠ˜ TPPKeychainSwiftTests test_concurrentReadsAndWrites_doNotCrash 10ms
โŠ˜ TPPKeychainSwiftTests test_objectForKey_missingKey_returnsNil 6ms
โŠ˜ TPPKeychainSwiftTests test_removeObjectForKey_doesNotAffectOtherKeys 11ms
โŠ˜ TPPKeychainSwiftTests test_removeObjectForKey_nonexistentKey_doesNotCrash 11ms
โŠ˜ TPPKeychainSwiftTests test_removeObjectForKey_removesEntry 47ms
โŠ˜ TPPKeychainSwiftTests test_setAndGet_roundtripsNumberValue 77ms
โŠ˜ TPPKeychainSwiftTests test_setAndGet_roundtripsStringValue 5ms
โŠ˜ TPPKeychainSwiftTests test_setObject_overwritesPreviousValue 7ms
โœ… TPPLastReadPositionPosterTests testStoreReadPosition_multipleCalls_updatesLocation 4ms
โœ… TPPLastReadPositionPosterTests testStoreReadPosition_positiveProgression_stores 3ms
โœ… TPPLastReadPositionPosterTests testStoreReadPosition_validLocator_savesToRegistry 6ms
โœ… TPPLastReadPositionPosterTests testStoreReadPosition_zeroProgressionNoCssSelector_doesNotStore 3ms
โœ… TPPLastReadPositionPosterTests testStoreReadPosition_zeroProgression_withCssSelector_savesToRegistry 3ms
โœ… TPPLastReadPositionPosterTests testThrottlingInterval_hasReasonableValue 28ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests testRealSynchronizer_Init_Succeeds 2ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests testRealSynchronizer_MultipleBooks_IndependentLocations 3ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests testRealSynchronizer_WithEmptyRegistry_DoesNotCrash 2ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests testRealSynchronizer_WithManyBooks_PerformsEfficiently 14ms
โœ… TPPLastReadPositionSynchronizerIntegrationTests testRealSynchronizer_WithRegistryContainingBook_AccessesLocation 2ms
โœ… TPPLastReadPositionSynchronizerTests testBookRegistry_GetLocation_ForNonexistentBook_ReturnsNil 2ms
โœ… TPPLastReadPositionSynchronizerTests testBookRegistry_SetLocationToNil_ClearsPosition 2ms
โœ… TPPLastReadPositionSynchronizerTests testBookRegistry_SetLocation_UpdatesPosition 2ms
โœ… TPPLastReadPositionSynchronizerTests testBookRegistry_StoresLocation 2ms
โœ… TPPLastReadPositionSynchronizerTests testBookRegistry_UpdateLocation_OverwritesPrevious 2ms
โœ… TPPLastReadPositionSynchronizerTests testReadiumBookmark_StoresAllProperties 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenBothDeviceIDsNilButLocalExists_ReturnsTrue 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenDifferentDeviceWithDifferentPosition_ReturnsTrue 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenDifferentDeviceWithNoLocalPosition_ReturnsTrue 3ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenNilLocalDeviceIDAndServerHasDevice_ReturnsTrue 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenPositionsMatchExactly_RegardlessOfDevice_ReturnsFalse 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenSameDeviceWithLocalPosition_ReturnsFalse 3ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenSameDeviceWithNoLocalPosition_ReturnsTrue 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerBookmarkHasEmptyDevice_AndLocalDeviceEmpty_ReturnsFalse 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerDeviceIsNilAndLocalDeviceIDEmpty_ReturnsFalse 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerHasNoPositionAndNilDeviceID_ReturnsFalse 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerHasNoPositionAndNoLocalPosition_ReturnsFalse 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerHasNoPosition_ReturnsFalse 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerPositionMatchesLocal_ReturnsFalse 3ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WhenServerReturnsNilOnError_ReturnsFalse 2ms
โœ… TPPLastReadPositionSynchronizerTests testSyncDecision_WithMatchingLocation_StillComparesAsStrings 3ms
โœ… TPPLastReadPositionSynchronizerTests testSynchronizer_Init_AcceptsDifferentRegistryImplementations 3ms
โœ… TPPLastReadPositionSynchronizerTests testSynchronizer_Init_StoresBookRegistry 2ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests testBehavior_DifferentDevice_UserShouldBePrompted 3ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests testBehavior_FreshDevice_ShouldSyncFromServer 3ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests testBehavior_IdenticalPositions_NoPromptNeeded 3ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests testBehavior_NoServerPosition_NoSync 2ms
โœ… TPPLastReadPositionSynchronizer_BehaviorDocumentationTests testBehavior_SameDevice_LocalPositionIsAuthoritative 3ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_Creation_WithValidParameters 2ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_DictionaryRepresentation_ContainsRequiredKeys 3ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_DifferentLocationStrings_AreNotEqual 2ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_EmptyLocationString_IsValid 2ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_FromDictionary_CreatesValidLocation 5ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_FromDictionary_WithMissingKeys_ReturnsNil 2ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_LocationStringEquality_MatchesExactly 2ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_R3Renderer_HasCorrectValue 2ms
โœ… TPPLastReadPositionSynchronizer_BookLocationTests testTPPBookLocation_VeryLongLocationString_IsHandled 2ms
โœ… TPPLastReadPositionSynchronizer_ConcurrencyTests testConcurrentLocationUpdates_DoNotCrash 5ms
โœ… TPPLastReadPositionSynchronizer_ConcurrencyTests testConcurrentSyncDecisions_AreConsistent 8ms
โœ… TPPLastReadPositionSynchronizer_ConcurrencyTests testMultipleSynchronizersWithSameRegistry_DoNotConflict 12ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_DeviceProperty_WithNilDevice_ReturnsNil 4ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_DictionaryRepresentation_ContainsAllKeys 4ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_Equality_SameAnnotationId 3ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_FullProgress_FormatsAs100 2ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_Init_WithNilHref_ReturnsNil 2ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_Init_WithValidParameters 3ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_PercentInBook_FormatsCorrectly 2ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_PercentInChapter_FormatsCorrectly 2ms
โœ… TPPLastReadPositionSynchronizer_ReadiumBookmarkTests testReadiumBookmark_ZeroProgress_FormatsAsZero 2ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_DeviceCheckTakesPrecedenceOverLocationMatch 4ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_DeviceIDCaseSensitivity 2ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_DeviceIDWithSpecialCharacters 3ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_LocationMatchPreventsSync_EvenFromDifferentDevice 2ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_LocationWithWhitespace_ExactMatchRequired 4ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_ProgressAtExactBoundaries 3ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_SameBookmarkLocation_ExactStringMatch 2ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_SameLocationString_HandledGracefully 3ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_VeryLongDeviceID 3ms
โœ… TPPLastReadPositionSynchronizer_SyncLogicTests testSyncLogic_VerySmallProgressDifference 2ms
โœ… TPPLoginNoActivationTests testValidateCredentials_doesNotTriggerAdobeActivation 88ms
โœ… TPPLoginNoActivationTests testValidateCredentials_savesLicensorForLaterUse 105ms
โœ… TPPLoginNoActivationTests testValidateCredentials_withStaleCredentials_doesNotActivate 83ms
โœ… TPPMainThreadCheckerTests testAsyncIfNeeded_FromBackgroundThread_DispatchesAsyncToMain 17ms
โœ… TPPMainThreadCheckerTests testAsyncIfNeeded_FromMainThread_ExecutesSynchronously 5ms
โœ… TPPMainThreadCheckerTests testSync_FromBackgroundThread_DispatchesToMainThread 8ms
โœ… TPPMainThreadCheckerTests testSync_FromMainThread_ExecutesSynchronously 2ms
โœ… TPPMigrationManagerTests testVersion_emptyA_nonEmptyB_returnsTrue 3ms
โœ… TPPMigrationManagerTests testVersion_emptyA_zeroB_returnsFalse 2ms
โœ… TPPMigrationManagerTests testVersion_emptyA_zeroZeroB_returnsFalse 2ms
โœ… TPPMigrationManagerTests testVersion_emptyArrays_returnsFalse 2ms
โœ… TPPMigrationManagerTests testVersion_equalVersions_returnsFalse 2ms
โœ… TPPMigrationManagerTests testVersion_longerA_returnsFalse 2ms
โœ… TPPMigrationManagerTests testVersion_majorGreaterThan_returnsFalse 1ms
โœ… TPPMigrationManagerTests testVersion_majorLessThan_returnsTrue 39ms
โœ… TPPMigrationManagerTests testVersion_minorGreaterThan_returnsFalse 11ms
โœ… TPPMigrationManagerTests testVersion_minorLessThan_returnsTrue 4ms
โœ… TPPMigrationManagerTests testVersion_patchLessThan_returnsTrue 2ms
โœ… TPPMigrationManagerTests testVersion_shorterA_withNonZeroRemainder_returnsTrue 2ms
โœ… TPPMigrationManagerTests testVersion_shorterA_withZeroRemainder_returnsFalse 2ms
โœ… TPPMigrationManagerTests testVersion_singleComponent_equal 2ms
โœ… TPPMigrationManagerTests testVersion_singleComponent_lessThan 2ms
โœ… TPPNetworkExecutorAPITests testBearerAuthorized_preservesExistingHeaders 2ms
โœ… TPPNetworkExecutorAPITests testBearerAuthorized_setsAuthorizationHeader 7ms
โœ… TPPNetworkExecutorAPITests testCancelNonEssentialTasks_doesNotCrash 10ms
โœ… TPPNetworkExecutorAPITests testClearCache_doesNotCrash 28ms
โœ… TPPNetworkExecutorAPITests testInit_withCachingStrategy_doesNotCrash 2ms
โœ… TPPNetworkExecutorAPITests testInit_withCustomSessionConfiguration 2ms
โœ… TPPNetworkExecutorAPITests testInit_withDefaultCachingStrategy 2ms
โœ… TPPNetworkExecutorAPITests testInit_withFallbackCachingStrategy 2ms
โœ… TPPNetworkExecutorAPITests testPauseAllTasks_doesNotCrash 11ms
โœ… TPPNetworkExecutorAPITests testRequest_forURL_createsValidRequest 5ms
โœ… TPPNetworkExecutorAPITests testRequest_forURL_setsAcceptLanguageEmpty 4ms
โœ… TPPNetworkExecutorAPITests testRequest_forURL_setsUserAgent 4ms
โœ… TPPNetworkExecutorAPITests testResumeAllTasks_doesNotCrash 9ms
โœ… TPPNetworkExecutorAPITests testShared_isNotNil 6ms
โœ… TPPNetworkExecutorStubbedTests testAddBearerAndExecute_setsAuthHeader 10ms
โœ… TPPNetworkExecutorStubbedTests testDELETE_async_success 7ms
โœ… TPPNetworkExecutorStubbedTests testDELETE_nilCompletion_doesNotCrash 515ms
โœ… TPPNetworkExecutorStubbedTests testDELETE_setsMethodToDELETE 4ms
โœ… TPPNetworkExecutorStubbedTests testDownload_createsDownloadTask 11ms
โœ… TPPNetworkExecutorStubbedTests testGET_async_success 7ms
โœ… TPPNetworkExecutorStubbedTests testGET_async_withRequest 4ms
โœ… TPPNetworkExecutorStubbedTests testGET_correctsHTTPMethodIfNotGET 4ms
โœ… TPPNetworkExecutorStubbedTests testGET_objcAPI_success 11ms
โœ… TPPNetworkExecutorStubbedTests testGET_serverError_returnsFailure 8ms
โœ… TPPNetworkExecutorStubbedTests testGET_success_returnsData 28ms
โœ… TPPNetworkExecutorStubbedTests testPOST_async_success 4ms
โœ… TPPNetworkExecutorStubbedTests testPOST_nilCompletion_doesNotCrash 507ms
โœ… TPPNetworkExecutorStubbedTests testPOST_setsMethodToPOST 3ms
โœ… TPPNetworkExecutorStubbedTests testPUT_async_success 5ms
โœ… TPPNetworkExecutorStubbedTests testPUT_correctsHTTPMethodIfNotPUT 5ms
โœ… TPPNetworkExecutorStubbedTests testPUT_setsMethodToPUT 10ms
โœ… TPPNetworkExecutorTests testExecutor_conformsToProtocol 2ms
โœ… TPPNetworkExecutorTests testExecutor_hasCorrectTimeout 3ms
โœ… TPPNetworkExecutorTests testExecutor_usesEphemeralCaching 5ms
โœ… TPPNetworkResponderTests testAddCompletionStoresTaskInfo 2ms
โœ… TPPNetworkResponderTests testCanRetryReturnsFalseAfterMarkRetried 2ms
โœ… TPPNetworkResponderTests testCanRetryReturnsFalseForNilURL 2ms
โœ… TPPNetworkResponderTests testCanRetryReturnsTrueForFreshURL 9ms
โœ… TPPNetworkResponderTests testClearAllRetriesResetsEverything 2ms
โœ… TPPNetworkResponderTests testClearRetryResetsURL 3ms
โœ… TPPNetworkResponderTests testInitWithCredentialsProvider 3ms
โœ… TPPNetworkResponderTests testInitWithFallbackCachingDisabledByDefault 3ms
โœ… TPPNetworkResponderTests testMarkRetriedWithNilURLDoesNotCrash 2ms
โœ… TPPNetworkResponderTests testMultipleURLsTrackedIndependently 2ms
โœ… TPPNetworkResponderTests testSessionInvalidationCallsPendingCompletionsWithCancelError 3ms
โœ… TPPNetworkResponderTests testUpdateCompletionIdTransfersInfo 2ms
โœ… TPPOPDSAcquisitionPathTests testSampleLinkInAcquisitions 10ms
โœ… TPPOPDSAcquisitionPathTests testSimplifiedAdeptEpubAcquisition 5ms
โœ… TPPOPDSEntryTests testAuthorStrings 4ms
โœ… TPPOPDSEntryTests testGroupAttributes 6ms
โœ… TPPOPDSEntryTests testHandlesInvalidXML 6ms
โœ… TPPOPDSEntryTests testIdentifier 4ms
โœ… TPPOPDSEntryTests testLinksPresent 4ms
โœ… TPPOPDSEntryTests testTitle 5ms
โœ… TPPOPDSEntryTests testUpdated 18ms
โœ… TPPOPDSFeedTests testEntriesPresent 99ms
โœ… TPPOPDSFeedTests testHandlesNilInit 99ms
โœ… TPPOPDSFeedTests testIdentifier 90ms
โœ… TPPOPDSFeedTests testLinkCount 79ms
โœ… TPPOPDSFeedTests testTitle 74ms
โœ… TPPOPDSFeedTests testTypeAcquisitionGrouped 90ms
โœ… TPPOPDSFeedTests testUpdated 80ms
โœ… TPPOPDSGroupSwiftTests testInitStoresEntries 2ms
โœ… TPPOPDSGroupSwiftTests testInitStoresProperties 5ms
โœ… TPPOPDSGroupSwiftTests testInitWithDifferentHref_storesDifferentHref 2ms
โœ… TPPOPDSLinkTests testCount 4ms
โœ… TPPOPDSLinkTests testHandlesNilInit 4ms
โœ… TPPOPDSLinkTests testLink0 5ms
โœ… TPPOPDSLinkTests testLink1 15ms
โœ… TPPOPDSLinkTests testLink2 3ms
โœ… TPPOPDSLinkTests testLink3 4ms
โœ… TPPOPDSLinkTests testLink4 6ms
โœ… TPPOpenSearchDescriptionExpandedTests test_initWithTitle_emptyBooks_setsEmptyBooks 4ms
โœ… TPPOpenSearchDescriptionExpandedTests test_initWithTitle_setsDescriptionAndBooks 11ms
โœ… TPPOpenSearchDescriptionExpandedTests test_initWithXML_missingDescription_returnsNil 5ms
โœ… TPPOpenSearchDescriptionExpandedTests test_initWithXML_missingOPDSUrl_returnsNil 17ms
โœ… TPPOpenSearchDescriptionExpandedTests test_initWithXML_validOpenSearchXML_returnsNonNil 4ms
โœ… TPPOpenSearchDescriptionExpandedTests test_opdsURLForSearching_emptyString_returnsURL 39ms
โœ… TPPOpenSearchDescriptionExpandedTests test_opdsURLForSearching_encodesAmpersand 2ms
โœ… TPPOpenSearchDescriptionExpandedTests test_opdsURLForSearching_encodesSpecialCharacters 5ms
โœ… TPPOpenSearchDescriptionExpandedTests test_opdsURLForSearching_encodesUnicode 2ms
โœ… TPPOpenSearchDescriptionExpandedTests test_opdsURLForSearching_preservesEntrypoint 3ms
โœ… TPPOpenSearchDescriptionTests testOPDSURLSearch 4ms
โœ… TPPPDFDocumentMetadataTests testAddBookmark_AtCurrentPage_WhenNilPassed_UsesCurrentPage 8ms
โœ… TPPPDFDocumentMetadataTests testAddBookmark_AtPageZero_HandlesCorrectly 8ms
โœ… TPPPDFDocumentMetadataTests testAddBookmark_AtSpecificPage_AddsToBookmarks 10ms
โœ… TPPPDFDocumentMetadataTests testAddBookmark_DuplicatePage_DoesNotDuplicate 7ms
โœ… TPPPDFDocumentMetadataTests testAddBookmark_MultipleTimes_AddsAllBookmarks 9ms
โœ… TPPPDFDocumentMetadataTests testBookmarks_IsPublished_EmitsChanges 12ms
โœ… TPPPDFDocumentMetadataTests testCurrentPage_IsPublished_EmitsChanges 13ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WhenPageInBookmarks_ReturnsTrue 8ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WhenPageNotInBookmarks_ReturnsFalse 12ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WithEmptyBookmarks_ReturnsFalse 7ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WithLargePageNumber_HandlesCorrectly 6ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WithNilPage_ChecksCurrentPage 13ms
โœ… TPPPDFDocumentMetadataTests testIsBookmarked_WithZeroPage_HandlesCorrectly 19ms
โœ… TPPPDFDocumentMetadataTests testRemoveBookmark_NonexistentPage_DoesNotCrash 15ms
โœ… TPPPDFDocumentMetadataTests testRemoveBookmark_RemovesFromBookmarks 11ms
โœ… TPPPDFDocumentTests testPDFDocument_decryptWithDecryptor 123ms
โœ… TPPPDFDocumentTests testPDFDocument_decryptWithoutDecryptor 5ms
โœ… TPPPDFDocumentTests testPDFDocument_delegateCanBeSet 7ms
โœ… TPPPDFDocumentTests testPDFDocument_encryptedHasNilRegularDocument 3ms
โœ… TPPPDFDocumentTests testPDFDocument_encryptedInit 7ms
โœ… TPPPDFDocumentTests testPDFDocument_labelReturnsNilForInvalidPage 3ms
โœ… TPPPDFDocumentTests testPDFDocument_nonEncryptedHasNilEncryptedDocument 5ms
โœ… TPPPDFDocumentTests testPDFDocument_nonEncryptedInit 10ms
โœ… TPPPDFDocumentTests testPDFDocument_pageCountForInvalidData 2ms
โœ… TPPPDFDocumentTests testPDFDocument_previewReturnsNilForInvalidPage 3ms
โœ… TPPPDFDocumentTests testPDFDocument_sizeReturnsNilForInvalidPage 23ms
โœ… TPPPDFDocumentTests testPDFDocument_tableOfContentsEmptyForInvalidData 10ms
โœ… TPPPDFDocumentTests testPDFDocument_thumbnailReturnsNilForInvalidPage 10ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_defaultLevelIsZero 4ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_differentLocations_differentIds 2ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_id_encodesAllFields 3ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_id_handlesNils 2ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_identifiableId_isDeterministic 2ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_initWithAllParameters 2ms
โœ… TPPPDFLocationCoverageTests testPDFLocation_nilProperties 2ms
โœ… TPPPDFLocationTests testId_ContainsPageNumber 2ms
โœ… TPPPDFLocationTests testId_HandlesNilValues_WithEmptyStrings 3ms
โœ… TPPPDFLocationTests testId_SameForIdenticalLocations 2ms
โœ… TPPPDFLocationTests testId_UniqueForDifferentLevels 2ms
โœ… TPPPDFLocationTests testId_UniqueForDifferentPageLabels 2ms
โœ… TPPPDFLocationTests testId_UniqueForDifferentPages 19ms
โœ… TPPPDFLocationTests testId_UniqueForDifferentSubtitles 2ms
โœ… TPPPDFLocationTests testId_UniqueForDifferentTitles 3ms
โœ… TPPPDFLocationTests testInit_AllParameters_SetsProperties 2ms
โœ… TPPPDFLocationTests testInit_NilOptionals_DefaultsLevelToZero 3ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_annotationIdCanBeSet 2ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_annotationIdDefaultsToNil 5ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_codableRoundTrip 4ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_conformsToBookmark 2ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_decodesFromJSON 3ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_encodesAtTypeKey 3ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_initSetsPage 2ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_isNSObject 2ms
โœ… TPPPDFPageBookmarkTests testPageBookmark_typeIsLocatorPage 2ms
โœ… TPPPDFPageTests testPDFPage_codableRoundTrip 2ms
โœ… TPPPDFPageTests testPDFPage_decodesFromJSON 2ms
โœ… TPPPDFPageTests testPDFPage_encodesToExpectedJSON 4ms
โœ… TPPPDFPageTests testPDFPage_initStoresPageNumber 2ms
โœ… TPPPDFPageTests testPDFPage_zeroPageNumber 3ms
โœ… TPPPDFReaderModeTests testReaderMode_allCasesHaveUniqueValues 4ms
โœ… TPPPDFReaderModeTests testReaderMode_bookmarksValue 2ms
โœ… TPPPDFReaderModeTests testReaderMode_previewsValue 2ms
โœ… TPPPDFReaderModeTests testReaderMode_readerValue 2ms
โœ… TPPPDFReaderModeTests testReaderMode_searchValue 2ms
โœ… TPPPDFReaderModeTests testReaderMode_tocValue 14ms
โœ… TPPPerAccountIsolationTests testBoundLibraryUUID_isImmutable 34ms
โœ… TPPPerAccountIsolationTests testConcurrentAccess_noContamination 654ms
โœ… TPPPerAccountIsolationTests testConcurrentSnapshots_returnCorrectData 378ms
โœ… TPPPerAccountIsolationTests testCredentialIsolation_bothAccountsHoldIndependentCredentials 34ms
โœ… TPPPerAccountIsolationTests testCredentialIsolation_tokenCredentials 35ms
โœ… TPPPerAccountIsolationTests testCredentialIsolation_writeToA_doesNotAffectB 30ms
โœ… TPPPerAccountIsolationTests testCredentialSnapshot_perAccountIsolation 42ms
โœ… TPPPerAccountIsolationTests testInstanceCache_returnsDifferentInstancesForDifferentUUIDs 22ms
โœ… TPPPerAccountIsolationTests testInstanceCache_returnsSameInstance 29ms
โœ… TPPPerAccountIsolationTests testRemoveAll_doesNotAffectOtherAccount 48ms
โœ… TPPProblemDocumentCacheManagerTests testCacheMultipleDocuments_lastEntryRetrievable 3ms
โœ… TPPProblemDocumentCacheManagerTests testCacheProblemDocument_andRetrieve 2ms
โœ… TPPProblemDocumentCacheManagerTests testCacheProblemDocument_postsNotification 4ms
โœ… TPPProblemDocumentCacheManagerTests testCacheSize_isFive 5ms
โœ… TPPProblemDocumentCacheManagerTests testCache_exceedingSize_evictsOldestEntry 2ms
โœ… TPPProblemDocumentCacheManagerTests testClearCachedDoc_nonexistentKey_doesNotCrash 64ms
โœ… TPPProblemDocumentCacheManagerTests testClearCachedDoc_preventsRetrieval 3ms
โœ… TPPProblemDocumentCacheManagerTests testClearThenReCache_works 4ms
โœ… TPPProblemDocumentCacheManagerTests testConcurrentCacheAndClear_sameKey_doesNotCrash 3ms
โœ… TPPProblemDocumentCacheManagerTests testConcurrentReadWrite_doesNotCrash 106ms
โœ… TPPProblemDocumentCacheManagerTests testGetLastCachedDoc_unknownKey_returnsNil 2ms
โœ… TPPProblemDocumentCacheManagerTests testSharedInstance_returnsSameObject 2ms
โœ… TPPProblemDocumentTests testAccountStatusTypeConstants 2ms
โœ… TPPProblemDocumentTests testCodableRoundTrip 4ms
โœ… TPPProblemDocumentTests testDictionaryValue_roundTrip 2ms
โœ… TPPProblemDocumentTests testForExpiredOrMissing_hasCredentials 2ms
โœ… TPPProblemDocumentTests testForExpiredOrMissing_noCredentials 2ms
โœ… TPPProblemDocumentTests testFromData_invalidJSON 2ms
โœ… TPPProblemDocumentTests testFromData_validJSON 3ms
โœ… TPPProblemDocumentTests testFromDictionary_createsDocument 3ms
โœ… TPPProblemDocumentTests testFromProblemResponseData_invalidData 4ms
โœ… TPPProblemDocumentTests testFromProblemResponseData_nonProblemJSON 2ms
โœ… TPPProblemDocumentTests testFromProblemResponseData_validData 3ms
โœ… TPPProblemDocumentTests testFromResponseError_nilErrorNilData 2ms
โœ… TPPProblemDocumentTests testFromResponseError_withResponseData 2ms
โœ… TPPProblemDocumentTests testIsRecoverableAuthError 2ms
โœ… TPPProblemDocumentTests testIsUnrecoverableAuthError 3ms
โœ… TPPProblemDocumentTests testNilType_authChecks 2ms
โœ… TPPProblemDocumentTests testNonAuthError 2ms
โœ… TPPProblemDocumentTests testStaticTypeConstants 2ms
โœ… TPPProblemDocumentTests testStringValue_format 2ms
โœ… TPPProblemDocumentTests testStringValue_noDetail 2ms
โœ… TPPProblemDocumentTests testStringValue_noTitle 12ms
โœ… TPPReaderAppearanceTests testAssociatedColors_blackOnWhite_hasLightBackground 42ms
โœ… TPPReaderAppearanceTests testBlackOnSepia_hasCorrectPropertyIndex 2ms
โœ… TPPReaderAppearanceTests testBlackOnWhite_hasCorrectPropertyIndex 2ms
โœ… TPPReaderAppearanceTests testWhiteOnBlack_hasCorrectPropertyIndex 4ms
โœ… TPPReaderBookmarksBusinessLogicTests testBookmarkAtIndex_WithEmptyBookmarks_ReturnsNil 127ms
โœ… TPPReaderBookmarksBusinessLogicTests testBookmarkAtIndex_WithNegativeIndex_ReturnsNil 113ms
โœ… TPPReaderBookmarksBusinessLogicTests testBookmarkAtIndex_WithOutOfBoundsIndex_ReturnsNil 145ms
โœ… TPPReaderBookmarksBusinessLogicTests testBookmarkAtIndex_WithValidIndex_ReturnsBookmark 137ms
โœ… TPPReaderBookmarksBusinessLogicTests testDeleteBookmarkAtIndex_WithInvalidIndex_ReturnsNil 132ms
โœ… TPPReaderBookmarksBusinessLogicTests testDeleteBookmarkAtIndex_WithValidIndex_RemovesAndReturns 128ms
โœ… TPPReaderBookmarksBusinessLogicTests testDeleteBookmark_RemovesFromList 108ms
โœ… TPPReaderBookmarksBusinessLogicTests testIsBookmarkExisting_WithNilLocation_ReturnsNil 100ms
โœ… TPPReaderBookmarksBusinessLogicTests testNoBookmarksText_ReturnsNonEmptyString 107ms
โœ… TPPReaderBookmarksBusinessLogicTests testPP3555_OldBookmarksDoNotReappearAfterReborrow 141ms
โœ… TPPReaderBookmarksBusinessLogicTests testShouldSelectBookmark_ReturnsTrue 160ms
โœ… TPPReaderBookmarksBusinessLogicTests testUpdateLocalBookmarksWithDuplicatedLocalBookmarks 103ms
โœ… TPPReaderBookmarksBusinessLogicTests testUpdateLocalBookmarksWithExtraLocalBookmarks 129ms
โœ… TPPReaderBookmarksBusinessLogicTests testUpdateLocalBookmarksWithFailedUploadBookmarks 122ms
โœ… TPPReaderBookmarksBusinessLogicTests testUpdateLocalBookmarksWithNoLocalBookmarks 105ms
โœ… TPPReaderFontTests testDyslexic_hasPropertyIndex 3ms
โœ… TPPReaderFontTests testOriginal_hasCorrectPropertyIndex 4ms
โœ… TPPReaderFontTests testSansSerif_hasPropertyIndex 3ms
โœ… TPPReaderFontTests testSerif_hasPropertyIndex 4ms
โœ… TPPReaderPreferencesLoadTests testTPPReaderPreferencesLoad_disablesPublisherStyles 2ms
โœ… TPPReaderPreferencesLoadTests testTPPReaderPreferencesLoad_returnsValidPreferences 12ms
โœ… TPPReaderPreferencesLoadTests testTPPReaderPreferencesLoad_setsDefaultTheme 2ms
โœ… TPPReaderSettingsTests testCanDecreaseFontSize_falseAtMinimum 2ms
โœ… TPPReaderSettingsTests testCanIncreaseFontSize_trueWhenBelowMax 2ms
โœ… TPPReaderSettingsTests testChangeAppearance_updatesColors 2ms
โœ… TPPReaderSettingsTests testChangeAppearance_updatesIndex 29ms
โœ… TPPReaderSettingsTests testChangeFontFamily_updatesIndex 4ms
โœ… TPPReaderSettingsTests testDecreaseFontSize_decreasesByStep 2ms
โœ… TPPReaderSettingsTests testDecreaseFontSize_respectsMinimum 2ms
โœ… TPPReaderSettingsTests testIncreaseFontSize_increasesByStep 2ms
โœ… TPPReaderSettingsTests testIncreaseFontSize_respectsMaximum 4ms
โœ… TPPReaderSettingsTests testInit_getsScreenBrightness 2ms
โœ… TPPReaderSettingsTests testInit_setsDefaultAppearanceIndex 2ms
โœ… TPPReaderSettingsTests testInit_setsDefaultFontFamilyIndex 2ms
โœ… TPPReaderSettingsTests testInit_setsDefaultFontSize 2ms
โœ… TPPReaderSettingsTests testLoadPreferences_returnsPreferences 7ms
โœ… TPPReaderSettingsTests testMapAppearanceToIndex_dark 4ms
โœ… TPPReaderSettingsTests testMapAppearanceToIndex_light 2ms
โœ… TPPReaderSettingsTests testMapAppearanceToIndex_sepia 2ms
โœ… TPPReaderSettingsTests testMapFontFamilyToIndex_nil 2ms
โœ… TPPReaderSettingsTests testMapFontFamilyToIndex_openDyslexic 1ms
โœ… TPPReaderSettingsTests testMapFontFamilyToIndex_sansSerif 2ms
โœ… TPPReaderSettingsTests testMapFontFamilyToIndex_serif 1ms
โœ… TPPReaderSettingsTests testMapIndexToAppearance_dark 2ms
โœ… TPPReaderSettingsTests testMapIndexToAppearance_default 2ms
โœ… TPPReaderSettingsTests testMapIndexToAppearance_sepia 2ms
โœ… TPPReaderSettingsTests testMapIndexToFontFamily_default 2ms
โœ… TPPReaderSettingsTests testMapIndexToFontFamily_dyslexic 2ms
โœ… TPPReaderSettingsTests testMapIndexToFontFamily_sansSerif 2ms
โœ… TPPReaderSettingsTests testMapIndexToFontFamily_serif 7ms
โœ… TPPReaderTOCBusinessLogicTests testInit_withCurrentLocation_storesLocation 14ms
โœ… TPPReaderTOCBusinessLogicTests testInit_withPublication_initializesCorrectly 8ms
โœ… TPPReaderTOCBusinessLogicTests testIsCurrentChapterTitled_caseInsensitiveMatch_returnsTrue 2ms
โœ… TPPReaderTOCBusinessLogicTests testIsCurrentChapterTitled_withDifferentTitle_returnsFalse 2ms
โœ… TPPReaderTOCBusinessLogicTests testIsCurrentChapterTitled_withMatchingTitle_returnsTrue 3ms
โœ… TPPReaderTOCBusinessLogicTests testIsCurrentChapterTitled_withNilCurrentLocation_returnsFalse 6ms
โœ… TPPReaderTOCBusinessLogicTests testIsCurrentChapterTitled_withNilLocationTitle_returnsFalse 3ms
โœ… TPPReaderTOCBusinessLogicTests testShouldSelectTOCItem_invalidIndex_returnsFalse 5ms
โœ… TPPReaderTOCBusinessLogicTests testTitleAndLevel_forValidIndex_returnsTitleAndLevel 1.04s
โœ… TPPReaderTOCBusinessLogicTests testTitleForHref_existingHref_returnsTitle 1.06s
โœ… TPPReaderTOCBusinessLogicTests testTitleForHref_nonExistentHref_returnsNil 1.02s
โœ… TPPReaderTOCBusinessLogicTests testTocDisplayTitle_returnsLocalizedString 5ms
โœ… TPPReaderTOCBusinessLogicTests testTocElements_initiallyEmpty_beforeAsyncLoad 6ms
โœ… TPPReaderTOCBusinessLogicTests testTocLocator_negativeIndex_returnsNil 3ms
โœ… TPPReaderTOCBusinessLogicTests testTocLocator_outOfBoundsIndex_returnsNil 3ms
โœ… TPPReaderTOCFlattenTests testFlatten_emptyTOC_producesEmptyElements 5ms
โœ… TPPReaderTOCFlattenTests testFlatten_nestedTOC_assignsCorrectLevels 1.01s
โœ… TPPReadiumBookmarkLocationMatchingTests testLocationMatches_differentChapterProgress_returnsFalse 2ms
โœ… TPPReadiumBookmarkLocationMatchingTests testLocationMatches_differentTotalProgress_returnsFalse 12ms
โœ… TPPReadiumBookmarkLocationMatchingTests testLocationMatches_exactProgress_returnsTrue 11ms
โœ… TPPReadiumBookmarkLocationMatchingTests testLocationMatches_matchingProgress_returnsTrue 3ms
โœ… TPPReadiumBookmarkLocationMatchingTests testLocationMatches_nilLocatorProgress_matchesZeroBookmarkProgress 6ms
โœ… TPPReadiumBookmarkTests testDescription_returnsNonEmptyString 2ms
โœ… TPPReadiumBookmarkTests testDictionaryRepresentation_containsAllFields 7ms
โœ… TPPReadiumBookmarkTests testInit_fromDictionary_createsBookmark 6ms
โœ… TPPReadiumBookmarkTests testInit_fromDictionary_withEmptyAnnotationId_setsNil 2ms
โœ… TPPReadiumBookmarkTests testInit_fromDictionary_withMissingRequiredFields_returnsNil 2ms
โœ… TPPReadiumBookmarkTests testInit_withDefaultTime_usesCurrentTime 4ms
โœ… TPPReadiumBookmarkTests testInit_withNilHref_returnsNil 2ms
โœ… TPPReadiumBookmarkTests testInit_withValidParameters_createsBookmark 3ms
โœ… TPPReadiumBookmarkTests testIsEqual_differentHref_returnsFalse 6ms
โœ… TPPReadiumBookmarkTests testIsEqual_differentProgress_returnsFalse 2ms
โœ… TPPReadiumBookmarkTests testIsEqual_sameAnnotationId_returnsTrue 3ms
โœ… TPPReadiumBookmarkTests testIsEqual_sameProgress_noAnnotationId_returnsTrue 3ms
โœ… TPPReadiumBookmarkTests testIsEqual_withNonBookmarkObject_returnsFalse 2ms
โœ… TPPReadiumBookmarkTests testPercentInBook_formatsCorrectly 2ms
โœ… TPPReadiumBookmarkTests testPercentInBook_fullProgress_showsHundred 5ms
โœ… TPPReadiumBookmarkTests testPercentInChapter_formatsCorrectly 2ms
โœ… TPPReadiumBookmarkTests testPercentInChapter_zeroProgress_showsZero 3ms
โœ… TPPReadiumBookmarkTests testToJSONDictionary_includesLocationFields 3ms
โœ… TPPReauthenticatorMockTests testMockReauthenticator_callsCompletion 4ms
โœ… TPPReauthenticatorMockTests testMockReauthenticator_tracksReauthPerformed 7ms
โœ… TPPReauthenticatorTests testAuthenticateIfNeeded_withNilCompletion_doesNotCrash 6ms
โœ… TPPReauthenticatorTests testInit_conformsToReauthenticatorProtocol 5ms
โœ… TPPReauthenticatorTests testInit_createsInstance 5ms
โœ… TPPReauthenticatorTests testInit_isNSObjectSubclass 4ms
โœ… TPPReturnPromptHelperTests testAudiobookPrompt_createsAlertController 4ms
โœ… TPPReturnPromptHelperTests testAudiobookPrompt_hasKeepAction_withCancelStyle 6ms
โœ… TPPReturnPromptHelperTests testAudiobookPrompt_hasReturnAction_withDefaultStyle 4ms
โœ… TPPReturnPromptHelperTests testAudiobookPrompt_hasTitleAndMessage 24ms
โœ… TPPReturnPromptHelperTests testAudiobookPrompt_hasTwoActions 4ms
โœ… TPPSAMLReauthFlowTests testFreshLogin_callsAdobeActivation 102ms
โœ… TPPSAMLReauthFlowTests testSAMLReauthFlow_skipsAdobeActivation 144ms
โœ… TPPSAMLSignInTests testAuthState_transitionsFromLoggedOutToLoggedIn 170ms
โœ… TPPSAMLSignInTests testCredentialsStale_PP418_userStillHasCredentials 177ms
โœ… TPPSAMLSignInTests testCredentialsStale_hasCredentialsReturnsTrue 189ms
โœ… TPPSAMLSignInTests testCredentialsStale_preservesCookies 152ms
โœ… TPPSAMLSignInTests testCredentialsStale_reAuthClearsStaleState 195ms
โŠ˜ TPPSAMLSignInTests testMarkLoggedIn_transitionsToLoggedIn 214ms
โœ… TPPSAMLSignInTests testRefreshCredentialsFromKeychain_returnsFalseWhenNoCredentials 181ms
โœ… TPPSAMLSignInTests testRefreshCredentialsFromKeychain_returnsTrueWhenCredentialsExist 212ms
โœ… TPPSAMLSignInTests testSAMLReauth_usesSavedCookiesForIDPSession 135ms
โœ… TPPSAMLSignInTests testSAMLSignIn_PP418_credentialsArePersisted 187ms
โœ… TPPSAMLSignInTests testSAMLSignIn_cookiesAreStored 154ms
โœ… TPPSAMLSignInTests testSAMLSignIn_drmFailurePreventsCredentialStorage 165ms
โœ… TPPSAMLSignInTests testSAMLSignIn_hasCredentialsReturnsTrue 143ms
โœ… TPPSAMLSignInTests testSAMLSignIn_patronInfoIsStored 175ms
โœ… TPPSAMLSignInTests testSAMLSignIn_setsAuthStateToLoggedIn 152ms
โœ… TPPSAMLSignInTests testSAMLSignIn_stateTransitions 193ms
โœ… TPPSAMLSignInTests testSAMLSignIn_usesCorrectLibraryUUID 166ms
โœ… TPPSAMLSignInTests testSAMLSignIn_worksWithoutCookies 181ms
โœ… TPPSAMLSignInTests testSAMLSignIn_worksWithoutPatronInfo 182ms
โœ… TPPSAMLSignInTests testSAMLSignOut_clearsAllCredentials 161ms
โœ… TPPSAMLSignInTests testSetAuthToken_doesNotChangeStaleState 226ms
โœ… TPPSAMLSignInTests testSignIn_callsBusinessLogicDidCompleteSignIn 282ms
โœ… TPPSAMLSignInTests testSignIn_callsBusinessLogicWillSignIn 163ms
โœ… TPPSAMLSignInTests testSignIn_cancelledSetsLoadingFalse 119ms
โœ… TPPSAMLSignInTests testSignIn_loadingStateTransitions 156ms
โœ… TPPSAMLSignInTests testTokenRefresh_settingsScreenShowsSignedIn 167ms
โœ… TPPSAMLSignInTests testTokenRefresh_transitionsFromStaleToLoggedIn 176ms
โœ… TPPSessionTests testSharedSession_isNotNil 3ms
โœ… TPPSessionTests testSharedSession_isSingleton 2ms
โœ… TPPSessionTests testUpload_doesNotCrashWithEmptyBody 4ms
โœ… TPPSessionTests testUpload_nullHandler_doesNotCrash 516ms
โœ… TPPSessionTests testWithURL_borrowURL_usesPUT 39ms
โœ… TPPSessionTests testWithURL_completionHandler_calledOnError 105ms
โœ… TPPSessionTests testWithURL_regularURL_usesGET 154ms
โœ… TPPSessionTests testWithURL_shouldResetCache_callsClearCache 56ms
โœ… TPPSettingsTests testAboutPalaceURL_isValid 2ms
โœ… TPPSettingsTests testAppVersion_canBeSetAndRead 3ms
โœ… TPPSettingsTests testCustomLibraryRegistryServer_canBeSet 4ms
โœ… TPPSettingsTests testCustomMainFeedURL_defaultIsNil 2ms
โœ… TPPSettingsTests testEnterLCPPassphraseManually_canBeToggled 3ms
โœ… TPPSettingsTests testPrivacyPolicyURL_isValid 2ms
โœ… TPPSettingsTests testSharedSettings_returnsSameInstance 2ms
โœ… TPPSettingsTests testShared_isNotNil 2ms
โœ… TPPSettingsTests testSoftwareLicensesURL_isValid 2ms
โœ… TPPSettingsTests testUseBetaLibraries_canBeToggled 3ms
โœ… TPPSettingsTests testUseBetaLibraries_defaultIsFalse 2ms
โœ… TPPSettingsTests testUseBetaLibraries_postsNotification 10ms
โœ… TPPSettingsTests testUserAgreementURL_isValid 4ms
โœ… TPPSettingsTests testUserHasAcceptedEULA_canBeSet 4ms
โœ… TPPSignInAdobeSkipTests testEnsureAuthDocLoaded_callsCompletionImmediatelyWhenDetailsExist 120ms
โœ… TPPSignInAdobeSkipTests testEnsureAuthDocLoaded_setsLoadingFlag 133ms
โœ… TPPSignInAdobeSkipTests testIgnoreSignedInState_affectsIsSignedIn 92ms
โœ… TPPSignInAdobeSkipTests testLogIn_capturedBarcode_nilWhenUIDelegateHasNilUsername 92ms
โœ… TPPSignInAdobeSkipTests testLogIn_capturesBarcodeAndPIN 89ms
โœ… TPPSignInAdobeSkipTests testLogIn_notifiesUIDelegateWillSignIn 142ms
โœ… TPPSignInAdobeSkipTests testLogIn_postsSigningInNotification 111ms
โœ… TPPSignInAdobeSkipTests testLogIn_withNoSelectedAuth_doesNotCrash 131ms
โœ… TPPSignInAdobeSkipTests testMakeRequest_prefersBusinessLogicToken_overUserAccountToken 134ms
โœ… TPPSignInAdobeSkipTests testMakeRequest_withOAuthButNoToken_logsError 122ms
โœ… TPPSignInAdobeSkipTests testRefreshAuthIfNeeded_returnsFalseWithNoAuthDefinition 101ms
โœ… TPPSignInAdobeSkipTests testRefreshAuthIfNeeded_setsRefreshAuthCompletion 113ms
โœ… TPPSignInAdobeSkipTests testShouldSkipAdobeActivation_falseWhenNotStale 111ms
โœ… TPPSignInAdobeSkipTests testShouldSkipAdobeActivation_falseWithoutAdobeCredentials 109ms
โœ… TPPSignInAuthStateTransitionTests testReauth_transitionsFromStaleToLoggedIn 142ms
โœ… TPPSignInAuthStateTransitionTests testSignIn_isSignedInConditionMet 1.68s
โœ… TPPSignInAuthStateTransitionTests testSignIn_transitionsFromLoggedOutToLoggedIn 351ms
โœ… TPPSignInBusinessLogicExtendedTests testCanResetPassword_dependsOnLibraryConfig 113ms
โœ… TPPSignInBusinessLogicExtendedTests testCurrentAccount_matchesLibraryAccount 82ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_authTokenNilByDefault 94ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_cookiesNilByDefault 82ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_defaultsIgnoreSignedInStateToFalse 91ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_defaultsNotLoggingInAfterSignUp 97ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_defaultsNotValidatingCredentials 90ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_patronNilByDefault 90ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_setsCorrectLibraryAccountID 87ms
โœ… TPPSignInBusinessLogicExtendedTests testInitialization_setsUIDelegate 87ms
โœ… TPPSignInBusinessLogicExtendedTests testIsAuthenticationDocumentLoading_defaultsFalse 85ms
โœ… TPPSignInBusinessLogicExtendedTests testIsSamlPossible_trueWhenLibrarySupports 101ms
โœ… TPPSignInBusinessLogicExtendedTests testIsSignedIn_falseWhenIgnoreSignedInStateTrue 103ms
โœ… TPPSignInBusinessLogicExtendedTests testIsSignedIn_falseWhenNoCredentials 104ms
โœ… TPPSignInBusinessLogicExtendedTests testIsSignedIn_trueWhenHasCredentials 85ms
โœ… TPPSignInBusinessLogicExtendedTests testLibraryAccount_returnsCorrectAccount 91ms
โœ… TPPSignInBusinessLogicExtendedTests testLibrarySupportsBarcodeDisplay_falseWithoutCredentials 107ms
โœ… TPPSignInBusinessLogicExtendedTests testLibrarySupportsBarcodeDisplay_requiresAuthorizationIdentifier 102ms
โœ… TPPSignInBusinessLogicExtendedTests testLogIn_initiatesSignIn 101ms
โœ… TPPSignInBusinessLogicExtendedTests testLogIn_preventsMultipleSimultaneousCalls 80ms
โœ… TPPSignInBusinessLogicExtendedTests testLogIn_withBasicAuth_validatesCredentials 113ms
โœ… TPPSignInBusinessLogicExtendedTests testMakeRequest_forBasicAuth_noAuthorizationHeader 103ms
โœ… TPPSignInBusinessLogicExtendedTests testMakeRequest_forOAuth_hasBearerToken 95ms
โœ… TPPSignInBusinessLogicExtendedTests testMakeRequest_forSAML_hasBearerToken 97ms
โœ… TPPSignInBusinessLogicExtendedTests testMakeRequest_signOut_usesCorrectURL 81ms
โœ… TPPSignInBusinessLogicExtendedTests testRefreshAuthIfNeeded_returnsFalseWhenNoAuthDefinition 123ms
โœ… TPPSignInBusinessLogicExtendedTests testRegistrationIsPossible_falseWhenSignedIn 78ms
โœ… TPPSignInBusinessLogicExtendedTests testSelectedAuthentication_canBeSetToBasic 94ms
โœ… TPPSignInBusinessLogicExtendedTests testSelectedAuthentication_canBeSetToOAuth 90ms
โœ… TPPSignInBusinessLogicExtendedTests testSelectedAuthentication_canBeSetToSAML 92ms
โœ… TPPSignInBusinessLogicExtendedTests testSelectedAuthentication_nilByDefault 79ms
โœ… TPPSignInBusinessLogicExtendedTests testShouldShowEULALink_basedOnLibraryDetails 113ms
โœ… TPPSignInBusinessLogicExtendedTests testShouldShowSyncButton_PP3252_usesCurrentAccountIdNotCurrentAccountUuid 85ms
โœ… TPPSignInBusinessLogicExtendedTests testShouldShowSyncButton_falseWhenDifferentLibrary 124ms
โœ… TPPSignInBusinessLogicExtendedTests testShouldShowSyncButton_falseWhenNoCredentials 120ms
โœ… TPPSignInBusinessLogicExtendedTests testSignOut_PP418_clearsWebViewDataBeforeCompletion 94ms
โœ… TPPSignInBusinessLogicExtendedTests testSignOut_sequencesCookieClearingBeforeCompletionCallback 133ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_setsAuthDefinition 116ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_withBasicAuth_setsBarcodePIN 107ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_withOAuth_setsAuthToken 87ms
โœ… TPPSignInBusinessLogicExtendedTests testUpdateUserAccount_withSAML_setsCookies 91ms
โœ… TPPSignInBusinessLogicExtendedTests testValidateCredentials_setsIsValidatingCredentialsTrue 104ms
โœ… TPPSignInBusinessLogicTests testLogInFlow 111ms
โœ… TPPSignInBusinessLogicTests testMakeSignInRequest 106ms
โœ… TPPSignInBusinessLogicTests testUpdateUserAccountWithBarcodeAuthentication 128ms
โœ… TPPSignInBusinessLogicTests testUpdateUserAccountWithCleverAuthentication 120ms
โœ… TPPSignInBusinessLogicTests testUpdateUserAccountWithNoSelectedAuthentication 78ms
โœ… TPPSignInBusinessLogicTests testUpdateUserAccountWithSAMLAuthentication 90ms
โœ… TPPSignInErrorHandlingTests testValidateCredentials_withSelectedAuth_doesNotCrash 108ms
โœ… TPPSignInErrorHandlingTests testValidateCredentials_withoutSelectedAuth_doesNotCrash 131ms
โœ… TPPSignInProfileDocEdgeCaseTests testSignIn_invalidProfileDoc_credentialsPreserved 105ms
โœ… TPPSignInProfileDocEdgeCaseTests testSignIn_noDRMInProfileDoc_credentialsPreserved 123ms
โœ… TPPSignInProfileDocEdgeCaseTests testSignIn_validDRMProfileDoc_savesCredentialsAndDRM 96ms
โœ… TPPSignedInStateProviderTests testIsSignedIn_AfterRemoveAll_ReturnsFalse 4ms
โœ… TPPSignedInStateProviderTests testIsSignedIn_WhenCredentialsPresent_ReturnsTrue 3ms
โœ… TPPSignedInStateProviderTests testIsSignedIn_WhenNoCredentials_ReturnsFalse 6ms
โœ… TPPUserAccountAuthStateTests testAuthState_defaultsToLoggedOut 4ms
โœ… TPPUserAccountAuthStateTests testAuthState_derivedFromCredentialsIfNotExplicitlySet 2ms
โœ… TPPUserAccountAuthStateTests testMarkCredentialsStale_doesNotTransitionFromLoggedOut 2ms
โœ… TPPUserAccountAuthStateTests testMarkCredentialsStale_transitionsFromLoggedInToStale 3ms
โœ… TPPUserAccountAuthStateTests testMarkLoggedIn_transitionsFromLoggedOutToLoggedIn 3ms
โœ… TPPUserAccountAuthStateTests testMarkLoggedIn_transitionsFromStaleToLoggedIn 5ms
โœ… TPPUserAccountAuthStateTests testRemoveAll_resetsStateToLoggedOut 18ms
โœ… TPPUserAccountGapTests testTPPUserAccount_basicPropertyAccessors_dontCrash 2ms
โœ… TPPUserAccountGapTests testTPPUserAccount_hasAuthToken_returnsFalseWhenNoToken 2ms
โœ… TPPUserAccountGapTests testTPPUserAccount_hasBarcodeAndPIN_returnsFalseWhenNoCredentials 3ms
โœ… TPPUserAccountGapTests testTPPUserAccount_sharedAccount_isAccessible 4ms
โœ… TPPUserFriendlyErrorTests testDefaultImplementation_messageIsNil 25ms
โœ… TPPUserFriendlyErrorTests testDefaultImplementation_titleIsNil 2ms
โœ… TPPUserFriendlyErrorTests testMakeFromProblemDocument_preservesExistingUserInfo 2ms
โœ… TPPUserFriendlyErrorTests testMakeFromProblemDocument_setsDomainAndCode 3ms
โœ… TPPUserFriendlyErrorTests testMakeFromProblemDocument_storesProblemDocument 2ms
โœ… TPPUserFriendlyErrorTests testNSError_withProblemDocument_hasFriendlyMessage 2ms
โœ… TPPUserFriendlyErrorTests testNSError_withProblemDocument_hasFriendlyTitle 2ms
โœ… TPPUserFriendlyErrorTests testNSError_withoutProblemDocument_messageIsLocalizedDescription 4ms
โœ… TPPUserFriendlyErrorTests testNSError_withoutProblemDocument_noUserInfo_messageIsNil 2ms
โœ… TPPUserFriendlyErrorTests testNSError_withoutProblemDocument_titleIsNil 6ms
โœ… TPPUserFriendlyErrorTests testProblemDocument_accessor_returnsStoredDocument 2ms
โœ… TPPUserNotificationsTests testBackgroundFetchIsNeeded_returnsBasedOnHeldBooksCount 6ms
โœ… TPPUserNotificationsTests testCompareAvailability_detectsTransitionFromReservedToReady 20ms
โœ… TPPUserNotificationsTests testCompareAvailability_doesNotCrashWithValidInputs 4ms
โœ… TPPUserNotificationsTests testCompareAvailability_doesNotNotifyWhenStillReserved 13ms
โœ… TPPUserNotificationsTests testCompareAvailability_handlesNilAvailability 8ms
โœ… TPPUserNotificationsTests testRequestAuthorization_canBeCalled 7ms
โœ… TPPUserNotificationsTests testSharedInstance_returnsSameInstance 2ms
โœ… TPPUserNotificationsTests testUpdateAppIconBadge_countsOnlyReadyBooks 37ms
โœ… TPPUserNotificationsTests testUpdateAppIconBadge_withBooks_processesWithoutCrash 15ms
โœ… TPPUserNotificationsTests testUpdateAppIconBadge_withEmptyArray_doesNotCrash 40ms
โœ… TPPXMLSwiftTests test_attributes_emptyAttributes_returnsEmptyDictionary 3ms
โœ… TPPXMLSwiftTests test_attributes_withAttributes_returnsDictionary 2ms
โœ… TPPXMLSwiftTests test_childrenWithName_nonexistentName_returnsEmptyArray 2ms
โœ… TPPXMLSwiftTests test_childrenWithName_returnsMatchingChildren 48ms
โœ… TPPXMLSwiftTests test_firstChildWithName_nonexistent_returnsNil 2ms
โœ… TPPXMLSwiftTests test_firstChildWithName_returnsFirstMatch 2ms
โœ… TPPXMLSwiftTests test_parseEmptyData_returnsNil 2ms
โœ… TPPXMLSwiftTests test_parseInlineXML_simpleElement 3ms
โœ… TPPXMLSwiftTests test_parseInvalidXML_returnsNil 5ms
โœ… TPPXMLSwiftTests test_parseNilData_returnsNil 3ms
โœ… TPPXMLSwiftTests test_parseValidXML_returnsNonNilRoot 2ms
โœ… 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 3ms
โœ… TPPXMLSwiftTests test_value_returnsTextContent 2ms
โœ… TPPXMLTests testInvalid 9ms
โœ… TPPXMLTests testNoData 7ms
โœ… TPPXMLTests testValid 16ms
โœ… TimeEntryTests testTimeEntry_creation 2ms
โœ… TimeEntryTests testTimeEntry_durationLimit 2ms
โœ… TimeEntryTests testTimeEntry_utcFormat 2ms
โŒ TokenRefreshIntegrationTests testExecuteTokenRefresh_EmptyPassword_NeverHitsNetwork 1.95s
โœ… TokenRefreshIntegrationTests testExecuteTokenRefresh_EmptyUsername_NeverHitsNetwork 271ms
โœ… TokenRefreshIntegrationTests testExecuteTokenRefresh_ValidatesBasicAuthHeaderOnWire 91ms
โœ… TokenRefreshInterceptorTests testHandleBorrowInvalidCredentials_firstAttempt_triggersReauth 6ms
โœ… TokenRefreshInterceptorTests testHandleBorrowInvalidCredentials_nilDelegate_doesNotCrash 5ms
โœ… TokenRefreshInterceptorTests testHandleBorrowInvalidCredentials_secondAttempt_showsAlert 111ms
โœ… TokenRefreshInterceptorTests testHandleBorrowInvalidCredentials_successfulReauth_startsDownload 531ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_hasCredentials_noLoginRequired_returnsFalse 5ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_noActiveLoan_SAML_treatAsSessionExpiry 5ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_noActiveLoan_nonSAML_autoBorrows 8ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_noCredentialsLoginRequired_triggersSignIn 5ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_noDelegateReturnsFalse 6ms
โœ… TokenRefreshInterceptorTests testHandleDownloadFailure_nonAuthRelatedError_returnsFalse 7ms
โœ… TokenRefreshInterceptorTests testHandleProblem_SAMLStartedState_circuitBreaker 5ms
โœ… TokenRefreshInterceptorTests testHandleProblem_SAMLWithCredentials_retriesWithSAML 508ms
โœ… TokenRefreshInterceptorTests testHandleProblem_authenticatedUser_noReauth 312ms
โœ… TokenRefreshInterceptorTests testHandleProblem_nilDelegate_doesNotCrash 5ms
โœ… TokenRefreshInterceptorTests testHandleProblem_noCredentials_triggersReauth 6ms
โœ… TokenRefreshInterceptorTests testInit_defaultState 2ms
โœ… TokenRefreshInterceptorTests testInit_withCustomReauthenticator 4ms
โœ… TokenRefreshTests testBearerAuthorized_AddsAuthorizationHeader 4ms
โœ… TokenRefreshTests testBearerAuthorized_EmptyTokenSetsEmptyHeader 4ms
โœ… TokenRefreshTests testMockExecutor_HandlesEmptyURL 80ms
โœ… TokenRefreshTests testMockExecutor_Returns404ForUnknownURL 40ms
โœ… TokenRefreshTests testMockExecutor_ReturnsConfiguredResponse 10ms
โœ… TokenRefreshTests testNYPLResult_FailureCase 4ms
โœ… TokenRefreshTests testNYPLResult_FailureWithNilResponse 11ms
โœ… TokenRefreshTests testNYPLResult_SuccessCase 11ms
โœ… TokenRefreshTests testNYPLResult_SuccessWithNilResponse 5ms
โœ… TokenRefreshTests testRequestTimeout_DefaultValue 8ms
โœ… TokenRefreshTests testRequestTimeout_StaticDefault 6ms
โœ… TokenRefreshTests testTPPErrorCode_InvalidCredentialsValue 3ms
โœ… TokenRefreshTests testTokenRequest_EmptyPassword 7ms
โœ… TokenRefreshTests testTokenRequest_EmptyUsername 10ms
โœ… TokenRefreshTests testTokenRequest_InitializesCorrectly 31ms
โœ… TokenRefreshTests testTokenRequest_SpecialCharactersInCredentials 5ms
โœ… TokenRefreshTests testTokenResponse_DecodesFromJSON 7ms
โœ… TokenRefreshTests testTokenResponse_DifferentTokenTypes 13ms
โœ… TokenRefreshTests testTokenResponse_EncodesToJSON 7ms
โœ… TokenRefreshTests testTokenResponse_ExpirationDateCalculation 14ms
โœ… TokenRefreshTests testTokenResponse_LargeExpiresIn 8ms
โœ… TokenRefreshTests testTokenResponse_NegativeExpiresIn 4ms
โœ… TokenRefreshTests testTokenResponse_RoundTrip 4ms
โœ… TokenRefreshTests testTokenResponse_SmallExpiresIn 5ms
โœ… TokenRefreshTests testTokenResponse_ZeroExpiresIn 4ms
โœ… TokenRequestCredentialGuardTests testExecute_BothEmpty_ReturnsFailureWithoutNetworkCall 5ms
โœ… TokenRequestCredentialGuardTests testExecute_ColonInPassword_EncodesCorrectly 8ms
โœ… TokenRequestCredentialGuardTests testExecute_EmptyCredentials_ErrorDomain 23ms
โœ… TokenRequestCredentialGuardTests testExecute_EmptyPassword_PinlessLogin_MakesNetworkCall 5ms
โœ… TokenRequestCredentialGuardTests testExecute_EmptyUsername_ReturnsFailureWithoutNetworkCall 12ms
โœ… TokenRequestCredentialGuardTests testExecute_SendsPOSTMethod 13ms
โœ… TokenRequestCredentialGuardTests testExecute_ServerReturns400_ReturnsFailureWithStatusCode 11ms
โœ… TokenRequestCredentialGuardTests testExecute_ServerReturns401_ReturnsFailureWithStatusCode 5ms
โœ… TokenRequestCredentialGuardTests testExecute_ServerReturnsIncompleteJSON_ReturnsDecodingError 20ms
โœ… TokenRequestCredentialGuardTests testExecute_ServerReturnsNonJSON_ReturnsDecodingError 18ms
โœ… TokenRequestCredentialGuardTests testExecute_SpecialCharactersInCredentials_EncodesCorrectly 4ms
โœ… TokenRequestCredentialGuardTests testExecute_ValidCredentials_MakesNetworkCall 5ms
โœ… TokenRequestCredentialGuardTests testExecute_ValidCredentials_SendsCorrectBasicAuthHeader 11ms
โœ… TokenRequestTests testExecuteInvalidJSONReturnsDecodingError 25ms
โœ… TokenRequestTests testExecuteNon200StatusReturnsFailure 4ms
โœ… TokenRequestTests testExecuteSendsBasicAuthHeader 4ms
โœ… TokenRequestTests testExecuteSuccessReturnsToken 369ms
โœ… TokenRequestTests testExecuteUsesPOSTMethod 333ms
โœ… TokenRequestTests testTokenRequestInitProperties 2ms
โœ… TokenRequestTests testTokenResponseDecodableFromJSON 3ms
โœ… TokenRequestTests testTokenResponseExpirationDate 2ms
โœ… TokenRequestTests testTokenResponseInitProperties 7ms
โœ… TokenResponseTests testAccessToken_WithSpecialCharacters 1ms
โœ… TokenResponseTests testAccessToken_WithUnicodeCharacters 2ms
โœ… TokenResponseTests testDecode_WithDifferentTokenType_ParsesCorrectly 2ms
โœ… TokenResponseTests testDecode_WithExtraFields_IgnoresExtraFields 2ms
โœ… TokenResponseTests testDecode_WithLargeExpiresIn_ParsesCorrectly 2ms
โœ… TokenResponseTests testDecode_WithMissingAccessToken_ThrowsError 1ms
โœ… TokenResponseTests testDecode_WithMissingExpiresIn_ThrowsError 2ms
โœ… TokenResponseTests testDecode_WithMissingTokenType_ThrowsError 2ms
โœ… TokenResponseTests testDecode_WithValidJSON_ParsesCorrectly 2ms
โœ… TokenResponseTests testDecode_WithWrongTypeForExpiresIn_ThrowsError 2ms
โœ… TokenResponseTests testEncodeDecode_RoundTrip_PreservesValues 4ms
โœ… TokenResponseTests testEncode_ProducesValidJSON 2ms
โœ… TokenResponseTests testExpirationDate_CalculatesCorrectInterval 2ms
โœ… TokenResponseTests testExpirationDate_WithNegativeExpiresIn_ReturnsDateInPast 2ms
โœ… TokenResponseTests testExpirationDate_WithPositiveExpiresIn_ReturnsDateInFuture 2ms
โœ… TokenResponseTests testExpirationDate_WithZeroExpiresIn_ReturnsCurrentTime 2ms
โœ… TokenResponseTests testExpiresIn_WithMaxInt32Value 3ms
โœ… TokenResponseTests testInit_WithEmptyToken_StoresEmptyString 2ms
โœ… TokenResponseTests testInit_WithNegativeExpiresIn_StoresNegativeValue 2ms
โœ… TokenResponseTests testInit_WithValidParameters_StoresValues 3ms
โœ… TokenResponseTests testInit_WithZeroExpiresIn_StoresZero 7ms
โœ… TypographyPresetTests testAllPresetFontSizesInRange 2ms
โœ… TypographyPresetTests testAllPresetLetterSpacingsInRange 5ms
โœ… TypographyPresetTests testAllPresetLineSpacingsInRange 3ms
โœ… TypographyPresetTests testAllPresetWordSpacingsInRange 7ms
โœ… TypographyPresetTests testAllPresetsProduceCSS 4ms
โœ… TypographyPresetTests testClassicCSSContainsGeorgia 6ms
โœ… TypographyPresetTests testClassicPreset 2ms
โœ… TypographyPresetTests testCozyPreset 2ms
โœ… TypographyPresetTests testDensePreset 4ms
โœ… TypographyPresetTests testDyslexiaCSSContainsOpenDyslexic 2ms
โœ… TypographyPresetTests testDyslexiaFriendlyPreset 2ms
โœ… TypographyPresetTests testModernCSSContainsSFPro 3ms
โœ… TypographyPresetTests testModernPreset 4ms
โœ… TypographyPresetTests testNightReaderCSSHasBlackBackground 2ms
โœ… TypographyPresetTests testNightReaderPreset 2ms
โœ… TypographyPresetTests testPresetCount 2ms
โœ… TypographyPresetTests testPresetLookupById 40ms
โœ… TypographyPresetTests testPresetLookupByInvalidId 5ms
โœ… TypographyPresetTests testPresetSettingsAreCodable 25ms
โœ… TypographyPresetTests testPresetsHaveUniqueIds 3ms
โœ… TypographyPresetTests testPresetsHaveUniqueNames 2ms
โœ… TypographyServiceTests testApplyPreset 5ms
โœ… TypographyServiceTests testApplyPresetClearsPreviousCustomization 3ms
โœ… TypographyServiceTests testCSSContainsBackgroundColor 4ms
โœ… TypographyServiceTests testCSSContainsFontFamily 2ms
โœ… TypographyServiceTests testCSSContainsFontSize 3ms
โœ… TypographyServiceTests testCSSContainsLetterSpacing 2ms
โœ… TypographyServiceTests testCSSContainsLineSpacing 3ms
โœ… TypographyServiceTests testCSSContainsMargins 7ms
โœ… TypographyServiceTests testCSSContainsParagraphSpacing 7ms
โœ… TypographyServiceTests testCSSContainsTextAlignment 6ms
โœ… TypographyServiceTests testCSSContainsWordSpacing 6ms
โœ… TypographyServiceTests testCSSDisablesHyphensForLeftAligned 2ms
โœ… TypographyServiceTests testCSSEnablesHyphensForJustifiedText 3ms
โœ… TypographyServiceTests testCSSForArbitrarySettings 6ms
โœ… TypographyServiceTests testCSSForDarkTheme 6ms
โœ… TypographyServiceTests testCSSForSepiaTheme 4ms
โœ… TypographyServiceTests testDefaultSettingsLoadClassicPreset 5ms
โœ… TypographyServiceTests testResetToPresetRestoresOriginal 2ms
โœ… TypographyServiceTests testResetToPresetWithNoPresetResetsToClassic 4ms
โœ… TypographyServiceTests testSettingsPersistedAfterDebounce 709ms
โœ… TypographyServiceTests testSettingsPublisherEmitsOnChange 10ms
โœ… TypographyServiceTests testUpdateFontFamily 2ms
โœ… TypographyServiceTests testUpdateFontSizeClampsToRange 2ms
โœ… TypographyServiceTests testUpdateLetterSpacingClampsToRange 5ms
โœ… TypographyServiceTests testUpdateLineSpacingClampsToRange 3ms
โœ… TypographyServiceTests testUpdateMarginLevel 2ms
โœ… TypographyServiceTests testUpdateParagraphSpacing 6ms
โœ… TypographyServiceTests testUpdateSettingsReplacesAll 2ms
โœ… TypographyServiceTests testUpdateTextAlignment 2ms
โœ… TypographyServiceTests testUpdateTheme 6ms
โœ… TypographyServiceTests testUpdateWordSpacingClampsToRange 57ms
โœ… TypographySettingsViewModelTests testAlignmentGetterMatchesSettings 27ms
โœ… TypographySettingsViewModelTests testAvailableFontsNotEmpty 2ms
โœ… TypographySettingsViewModelTests testFontSizeGetterMatchesSettings 13ms
โœ… TypographySettingsViewModelTests testHasCustomOverridesIsFalseForPreset 27ms
โœ… TypographySettingsViewModelTests testHasCustomOverridesIsTrueAfterChange 25ms
โœ… TypographySettingsViewModelTests testHasCustomOverridesIsTrueWithNoPreset 15ms
โœ… TypographySettingsViewModelTests testInitialPresetIsClassic 23ms
โœ… TypographySettingsViewModelTests testInitialStateMatchesService 2ms
โœ… TypographySettingsViewModelTests testPreviewCSSChangesWithSettings 14ms
โœ… TypographySettingsViewModelTests testPreviewCSSNotEmpty 3ms
โœ… TypographySettingsViewModelTests testPreviewTextNotEmpty 2ms
โœ… TypographySettingsViewModelTests testRapidChangesSettleCorrectly 15ms
โœ… TypographySettingsViewModelTests testResetToPresetAfterCustomization 39ms
โœ… TypographySettingsViewModelTests testResetWithNoPresetResetsToClassic 27ms
โœ… TypographySettingsViewModelTests testSelectAllPresetsInSequence 77ms
โœ… TypographySettingsViewModelTests testSelectPresetUpdatesService 14ms
โœ… TypographySettingsViewModelTests testSelectPresetUpdatesSettings 15ms
โœ… TypographySettingsViewModelTests testServiceChangesReflectedInViewModel 3ms
โœ… TypographySettingsViewModelTests testUpdateFontFamily 14ms
โœ… TypographySettingsViewModelTests testUpdateFontSize 45ms
โœ… TypographySettingsViewModelTests testUpdateLetterSpacing 15ms
โœ… TypographySettingsViewModelTests testUpdateLineSpacing 14ms
โœ… TypographySettingsViewModelTests testUpdateMarginLevel 15ms
โœ… TypographySettingsViewModelTests testUpdateParagraphSpacing 14ms
โœ… TypographySettingsViewModelTests testUpdateTextAlignment 15ms
โœ… TypographySettingsViewModelTests testUpdateTheme 16ms
โœ… TypographySettingsViewModelTests testUpdateWordSpacing 13ms
โœ… UIColor_NYPLAdditionsTests testExample 2ms
โœ… URLExtensionTests testAppendingPathComponent 2ms
โœ… URLExtensionTests testAppendingPathExtension 2ms
โœ… URLExtensionTests testFileURL_deletingLastPathComponent 3ms
โœ… URLExtensionTests testFileURL_isFileURL 3ms
โœ… URLExtensionTests testFileURL_lastPathComponent 3ms
โœ… URLExtensionTests testFileURL_pathExtension 2ms
โœ… URLExtensionTests testHTTPURL_isNotFileURL 2ms
โœ… URLExtensionTests testURLComponents_fragment 2ms
โœ… URLExtensionTests testURLComponents_host 2ms
โœ… URLExtensionTests testURLComponents_path 2ms
โœ… URLExtensionTests testURLComponents_query 2ms
โœ… URLExtensionTests testURLComponents_scheme 2ms
โœ… URLExtensionTests testURLEncoding_spaceInQuery 2ms
โœ… URLExtensionTests testURLEncoding_specialCharacters 2ms
โœ… URLExtensionTests testURLQueryItems_building 2ms
โœ… URLExtensionTests testURLQueryItems_parsing 2ms
โœ… URLExtensionsTests testReplacingScheme_HttpToHttps_ReplacesScheme 2ms
โœ… URLExtensionsTests testReplacingScheme_HttpsToHttp_ReplacesScheme 2ms
โœ… URLExtensionsTests testReplacingScheme_PreservesFragment 2ms
โœ… URLExtensionsTests testReplacingScheme_PreservesPort 2ms
โœ… URLExtensionsTests testReplacingScheme_PreservesUserInfo 2ms
โœ… URLExtensionsTests testReplacingScheme_ToCustomScheme_Works 2ms
โœ… URLRequestExtensionsCoverageTests testURLRequest_applyCustomUserAgent 3ms
โœ… URLRequestExtensionsCoverageTests testURLRequest_customUserAgent 2ms
โœ… URLRequestExtensionsCoverageTests testURLRequest_noCustomUserAgent_doesNotSetUserAgentHeader 3ms
โœ… URLRequestExtensionsTests testApplyCustomUserAgent_ReturnsSelf 2ms
โœ… URLRequestExtensionsTests testApplyCustomUserAgent_SetsHeader 2ms
โœ… URLRequestExtensionsTests testInit_WithCustomUserAgent_PreservesURL 5ms
โœ… URLRequestExtensionsTests testInit_WithCustomUserAgent_SetsUserAgentHeader 4ms
โœ… URLRequestExtensionsTests testInit_WithoutCustomUserAgent_NoUserAgentHeader 2ms
โœ… URLRequestExtensionsTests testIsTokenAuthorized_NoAuthHeader_ReturnsFalse 2ms
โœ… URLRequestExtensionsTests testIsTokenAuthorized_WithBasicAuth_ReturnsFalse 4ms
โœ… URLRequestExtensionsTests testIsTokenAuthorized_WithBearerToken_ReturnsTrue 3ms
โœ… URLRequestExtensionsTests testLoggableString_ContainsMethodAndURL 2ms
โœ… URLRequestExtensionsTests testLoggableString_ExcludesAuthorizationHeader 17ms
โœ… URLRequestExtensionsTests testLoggableString_IncludesNonSensitiveHeaders 2ms
โœ… URLRequestNYPLAdditionsTests testPostParams_bodyContainsParams 8ms
โœ… URLRequestNYPLAdditionsTests testPostParams_boundaryConsistencyBetweenHeaderAndBody 4ms
โœ… URLRequestNYPLAdditionsTests testPostParams_cachePolicyIsReloadIgnoring 2ms
โœ… URLRequestNYPLAdditionsTests testPostParams_emptyParams_doesNotCrash 2ms
โœ… URLRequestNYPLAdditionsTests testPostParams_setsContentLength 6ms
โœ… URLRequestNYPLAdditionsTests testPostParams_setsHTTPMethod 2ms
โœ… URLRequestNYPLAdditionsTests testPostParams_setsMultipartContentType 2ms
โœ… URLRequestNYPLAdditionsTests testPostParams_setsURL 3ms
โœ… URLRequestNYPLAdditionsTests testPostParams_withImage_bodyContainsImageData 10ms
โœ… URLRequestNYPLAdditionsTests testPostParams_withNilImage_bodyLacksImageSection 2ms
โœ… URLRequestNYPLAdditionsTests testPostProblemDocument_cachePolicyIsReloadIgnoring 2ms
โœ… URLRequestNYPLAdditionsTests testPostProblemDocument_doesNotHandleCookies 2ms
โœ… URLRequestNYPLAdditionsTests testPostProblemDocument_setsBody 2ms
โœ… URLRequestNYPLAdditionsTests testPostProblemDocument_setsContentLength 2ms
โœ… URLRequestNYPLAdditionsTests testPostProblemDocument_setsContentType 2ms
โœ… URLRequestNYPLAdditionsTests testPostProblemDocument_setsHTTPMethod 5ms
โœ… URLRequestNYPLAdditionsTests testPostProblemDocument_setsURL 2ms
โœ… URLRequestNYPLAdditionsTests testPostProblemDocument_timeoutIs30 4ms
โœ… URLRequest_NYPLTests testAuthorizationHeaderStrip 3ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_with200StatusCode_returnsFalse 2ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_with401StatusCode_returnsTrue 1ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_with403StatusCode_returnsFalse 1ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_withApiProblemMimeType_andInvalidCredentials_returnsTrue 6ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_withInvalidCredentialsProblemDoc_returnsTrue 1ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_withOPDSAuthMimeType_and200Status_returnsFalse 2ms
โœ… URLResponseAuthenticationTests testHTTPURLResponse_withOPDSAuthMimeType_andNon2xxStatus_returnsTrue 2ms
โœ… URLResponseAuthenticationTests testURLResponse_withInvalidCredentialsProblemDoc_returnsTrue 3ms
โœ… URLResponseAuthenticationTests testURLResponse_withNilProblemDoc_returnsFalse 1ms
โœ… URLResponseAuthenticationTests testURLResponse_withNonProblemMimeType_returnsFalse 2ms
โœ… URLResponseNYPLTests testIsProblemDocument_WithApiProblemJsonMime_ReturnsTrue 4ms
โœ… URLResponseNYPLTests testIsProblemDocument_WithHtmlMime_ReturnsFalse 3ms
โœ… URLResponseNYPLTests testIsProblemDocument_WithNilMime_ReturnsFalse 2ms
โœ… URLResponseNYPLTests testIsProblemDocument_WithProblemJsonMime_ReturnsTrue 2ms
โœ… URLResponseNYPLTests testIsProblemDocument_WithRegularJsonMime_ReturnsFalse 2ms
โœ… URLResponseNYPLTests testIsSuccess_199_ReturnsFalse 2ms
โœ… URLResponseNYPLTests testIsSuccess_200_ReturnsTrue 2ms
โœ… URLResponseNYPLTests testIsSuccess_201Created_ReturnsTrue 2ms
โœ… URLResponseNYPLTests testIsSuccess_204NoContent_ReturnsTrue 5ms
โœ… URLResponseNYPLTests testIsSuccess_299_ReturnsTrue 31ms
โœ… URLResponseNYPLTests testIsSuccess_300Redirect_ReturnsFalse 6ms
โœ… URLResponseNYPLTests testIsSuccess_400BadRequest_ReturnsFalse 3ms
โœ… URLResponseNYPLTests testIsSuccess_401Unauthorized_ReturnsFalse 2ms
โœ… URLResponseNYPLTests testIsSuccess_500ServerError_ReturnsFalse 2ms
โœ… URLSessionCredentialStorageTests testMakeURLSessionConfiguration_Default_DisablesCredentialStorage 2ms
โœ… URLSessionCredentialStorageTests testMakeURLSessionConfiguration_Ephemeral_ReturnsEphemeralConfig 3ms
โœ… URLSessionCredentialStorageTests testMakeURLSessionConfiguration_Fallback_DisablesCredentialStorage 2ms
โœ… URLSessionCredentialStorageTests testNetworkExecutor_CustomConfig_AcceptsNilCredentialStorage 32ms
โœ… URLTypeTests testURLType_HasAllExpectedCases 22ms
โœ… URLTypeTests testURLType_RawValues_AreDistinct 2ms
โœ… URLValidationTests testEmptyString_returnsNil 11ms
โœ… URLValidationTests testFileURL_alwaysValid 2ms
โœ… URLValidationTests testInvalidURL_handledByURLInit 2ms
โœ… URLValidationTests testURLWithSpaces_handledCorrectly 2ms
โœ… URLValidationTests testValidHTTPURL 2ms
โœ… UserAccountPublisherAuthStateTests testAuthStateDidChangePublisher_firesOnStateChanges 13ms
โœ… UserAccountPublisherAuthStateTests testAuthState_defaultsToLoggedOut 6ms
โœ… UserAccountPublisherAuthStateTests testCredentialsStalePublisher_firesWhenStateBecomesStale 63ms
โœ… UserAccountPublisherAuthStateTests testMarkCredentialsStale_doesNotChangeIfNotLoggedIn 2ms
โœ… UserAccountPublisherAuthStateTests testMarkCredentialsStale_updatesState 6ms
โœ… UserAccountPublisherAuthStateTests testSignOut_resetsToLoggedOut 2ms
โœ… UserAccountPublisherTests testAuthStateDidChangePublisher_emitsStateChanges 17ms
โœ… UserAccountPublisherTests testCredentialsDidChangePublisher_emitsOnChange 5ms
โœ… UserAccountPublisherTests testCredentialsStalePublisher_emitsWhenStale 9ms
โœ… UserAccountPublisherTests testDidSignOutPublisher_emitsOnSignOut 3ms
โœ… UserAccountPublisherTests testInit_hasCorrectDefaults 4ms
โœ… UserAccountPublisherTests testMarkCredentialsStale_fromLoggedIn_setsStaleState 4ms
โœ… UserAccountPublisherTests testMarkCredentialsStale_fromLoggedOut_doesNotChange 5ms
โœ… UserAccountPublisherTests testMarkLoggedIn_setsLoggedInState 2ms
โœ… UserAccountPublisherTests testShared_returnsSameInstance 6ms
โœ… UserAccountPublisherTests testSignOut_resetsAllState 5ms
โœ… UserAccountPublisherTests testSignOut_resetsIsSigningOutAfterDelay 353ms
โœ… UserAccountValidationTests testAcceptsASCIICharacters 14ms
โœ… UserAccountValidationTests testAcceptsEmptyReplacementString 5ms
โœ… UserAccountValidationTests testRejectsNonASCIICharacters 5ms
โœ… UserAccountValidationTests testShouldBeginEditingWhenForceEditabilityIsTrue 6ms
โœ… UserAccountValidationTests testShouldBeginEditingWhenNoBusinessLogic 6ms
โœ… UserProfileDocumentTests testParse 2ms
โœ… UserProfileDocumentTests testParseJSONExtraProperty 10ms
โœ… UserProfileDocumentTests testParseJSONInvalid 2ms
โœ… UserProfileDocumentTests testParseJSONMissingProperty 2ms
โœ… UserProfileDocumentTests testParseJSONNilValue 2ms
โœ… UserProfileDocumentTests testParseJSONTypeMismatch 2ms
โœ… UserProfileDocumentTests testParseProfileDocCausingSIMPLY2491 3ms
โœ… UserRetryTrackerTests testCanRetry_afterFiveRetries_returnsFalse 3ms
โœ… UserRetryTrackerTests testCanRetry_afterFourRetries_returnsTrue 2ms
โœ… UserRetryTrackerTests testCanRetry_afterOneRetry_returnsTrue 1ms
โœ… UserRetryTrackerTests testCanRetry_newOperation_returnsTrue 2ms
โœ… UserRetryTrackerTests testClearRetries_onlyAffectsSpecifiedOperation 13ms
โœ… UserRetryTrackerTests testClearRetries_resetsCount 2ms
โœ… UserRetryTrackerTests testConcurrentAccess_doesNotCrash 4ms
โœ… UserRetryTrackerTests testRecordRetry_afterMax_returnsZero 2ms
โœ… UserRetryTrackerTests testRecordRetry_returnsRemainingCount 2ms
โœ… UserRetryTrackerTests testSeparateOperations_trackIndependently 2ms