class=SignResultParser
test=isQianAppScheme_returnsTrue_forQianAppUrl
result=Success
test=isQianAppScheme_returnsFalse_forOtherSchemes
result=Success
test=parse_completeUrl_extractsAllRecognizedFields
result=Success
test=parse_missingOptionalFields_returnsEmptyDefaults
result=Success
test=parse_unknownAction_passesThrough
result=Success
test=parse_percentEncoded_decodesUtf8
result=Success
test=parse_plusSign_decodedAsSpace
result=Success
test=parse_extrasContainErrorCodeAndCustomFields
result=Success
test=parse_duplicateKey_keepsFirstValue
result=Success
test=parse_emptyValue_keepsEmptyString
result=Success
test=parse_nullOrEmpty_returnsEmpty
result=Success
test=parse_nonQianAppScheme_returnsEmpty
result=Success
test=parse_oversizedUrl_returnsEmpty
result=Success
test=parse_customPath_trimsSlashes
result=Success
test=parse_customPath_handlesNoPath
result=Success
test=parse_uppercaseScheme_isAccepted
result=Success
class=SignAction & SignResultStatus
test=SignAction_FILL_equalsFill
result=Success
test=SignAction_SIGN_equalsSign
result=Success
test=SignAction_REJECT_FILL_equalsRejectFill
result=Success
test=SignAction_REJECT_SIGN_equalsRejectSign
result=Success
test=SignAction_VIEW_equalsView
result=Success
test=SignResultStatus_SUCCESS_equalsSuccess
result=Success
test=SignResultStatus_FAIL_equalsFail
result=Success
class=TencentQianWebViewConfig
test=default_injectUserAgent_isTrue
result=Success
test=default_userAgentExtra_isEmpty
result=Success
test=default_allowMixedContent_isFalse
result=Success
test=default_showTopBar_isTrue
result=Success
test=default_topBarTitle_isEmpty
result=Success
test=default_topBarColors_areNull
result=Success
test=default_showCloseButton_isTrue
result=Success
test=default_statusBarStyle_isDarkContent
result=Success
test=default_confirmBeforeClose_isFalse
result=Success
test=default_externalSchemes_containsWeixinAndAlipays
result=Success
test=default_compatibilityTestUrl_isNull
result=Success
test=default_downloadWithCookies_isFalse
result=Success
test=custom_allowMixedContent_isRespected
result=Success
test=custom_externalSchemes_isReplaced
result=Success
class=SdkEvent
test=PageStartedEvent_carriesUrl
result=Success
test=PageFinishedEvent_carriesUrl
result=Success
test=PermissionGrantedEvent_carriesPermissionList
result=Success
test=PermissionDeniedEvent_carriesPermissionList
result=Success
test=SchemeInterceptedEvent_carriesSchemeAndUrl
result=Success
test=SchemeNotMatchedEvent_carriesUrl
result=Success
test=LoadErrorEvent_carriesErrorDetails
result=Success
test=HttpErrorEvent_carriesStatusCode
result=Success
test=SslErrorEvent_carriesUrlAndPrimaryError
result=Success
test=DownloadStartEvent_carriesUrlAndMime
result=Success
test=DownloadFailedEvent_carriesUrlAndReason
result=Success
test=RenderProcessGoneEvent_carriesCrashFlag
result=Success
test=UserAgentInjectFailedEvent_carriesReason
result=Success
class=Prewarm
test=dedup_minimal_runsOnce
result=Success
test=dedup_sameLevel_isDeduped
result=Success
test=dedup_upgrade_runsIncrement
result=Success
test=dedup_downgrade_isIgnored
result=Success
test=dedup_differentBizType_isIndependent
result=Success
test=dedup_reset_clearsAll
result=Success
test=manifestUrl_prod
result=Success
test=manifestUrl_beta
result=Success
test=manifestUrl_test
result=Success
test=knownQuickHost_prod
result=Success
test=environmentOfHost_knownProd
result=Success
test=environmentOfHost_knownBeta
result=Success
test=environmentOfHost_nonQuickDomain_isNull
result=Success
test=config_defaults
result=Success
test=convertDetectedLanguage_exactMatch
result=Success
test=convertDetectedLanguage_prefixMatch
result=Success
test=convertDetectedLanguage_fallbackZhCN
result=Success
test=resolveLang_preferredWins
result=Success
test=resolveLang_autoDetectUsesSystem
result=Success
test=resolveLang_autoDetectDisabledFallsBackZhCN
result=Success
test=resolveLang_autoDetectDisabled_ignoresPreferred
result=Success
test=pickLocaleAssets_hitAndFallback
result=Success
class=RenderRecovery
test=performRecover_loadUrlSucceeds_stopsAtLoadUrl
result=Success
test=performRecover_loadUrlFails_fallsBackToRefresh
result=Success
test=performRecover_emptyFallbackAndRefreshFails_firesUnrecoverable
result=Success
test=performRecover_bothFail_firesUnrecoverable
result=Success
test=performRecover_unrecoverableOptional_noCallbackNoCrash
result=Success
test=recover_isDeferred_notInvokedSynchronously
result=Success
test=recover_returnsTimerId_cancellable
result=Success
test=captureLastUrl_extractsUrlFromEvent
result=Success
test=captureLastUrl_emptyUrl_keepsCurrent
result=Success
test=captureLastUrl_missingUrl_keepsCurrent
result=Success
class=HarmonyWebViewPool
test=invalidate_onEmptyPool_isSafe
result=Success
test=invalidate_isIdempotent
result=Success
test=invalidate_clearsPool_obtainReturnsNull
result=Success
test=unpoolBorrowed_onEmptyPool_isSafe
result=Success
test=unpoolBorrowed_isIdempotent
result=Success
test=unpoolBorrowed_clearsPool_obtainReturnsNull
result=Success
test=setEnabledFalse_releasesPool
result=Success
class=TencentQianWebViewController
test=notAttached_canGoBackReturnsFalse
result=Success
test=notAttached_goBackAndReload_noCrash
result=Success
test=notAttached_handleBackReturnsFalse
result=Success
test=attached_canGoBack_delegatesToInjectedTrue
result=Success
test=attached_canGoBack_delegatesToInjectedFalse
result=Success
test=attached_goBack_invokesInjected
result=Success
test=attached_reload_invokesInjected
result=Success
test=handleBack_whenCanGoBack_invokesGoBackReturnsTrue
result=Success
test=handleBack_whenCannotGoBack_skipsGoBackReturnsFalse
result=Success
test=detached_canGoBackResetsToFalse
result=Success
test=detached_goBackAndReloadNoLongerForwarded
result=Success
test=detached_handleBackReturnsFalse
result=Success
test=reattach_forwardsToNewImplementation
result=Success
Tests run: 102, Failure: 0, Error: 0, Pass: 102, Ignore: 0
