Skip to content

Commit cdf086a

Browse files
Add toArray methods to Frame and Trace models for structured data representation, improve null handling in Explanation, and enhance CLI renderer for safer token overrides.
1 parent 95f022c commit cdf086a

5 files changed

Lines changed: 34 additions & 4 deletions

File tree

.phpunit.result.cache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"version":2,"defects":{"ErrorExplainer\\Tests\\ErrorExplainerUnregisterTest::testRegisterDisabledDoesNotInstallHandlersAndUnregisterIsIdempotent":8,"PhpErrorInsight\\Tests\\ConfigTest::testFromEnvAndArrayLoadsProjectRootHostRootAndEditorUrlFromEnv":8,"PhpErrorInsight\\Tests\\ConfigTest::testArrayOptionsOverrideEnv":8,"PhpErrorInsight\\Tests\\E2ERegisterTest::testRegisterAndTriggerUserWarningOutputsJsonWithOriginalMessage":8,"PhpErrorInsight\\Tests\\ErrorExplainerUnregisterTest::testRegisterDisabledDoesNotInstallHandlersAndUnregisterIsIdempotent":8,"PhpErrorInsight\\Tests\\ErrorHandlerChainingTest::testPreviousErrorHandlerIsCalledWhenPresent":8,"PhpErrorInsight\\Tests\\ErrorHandlerChainingTest::testHandleExceptionCallsPreviousWhenDisabled":8,"PhpErrorInsight\\Tests\\ErrorHandlerChainingTest::testHandleExceptionRethrowsWhenDisabledAndNoPrevious":7,"PhpErrorInsight\\Tests\\ErrorHandlerDumperInjectionTest::testInjectedDumperIsUsed":7,"PhpErrorInsight\\Tests\\ErrorHandlerFunctionalTest::testHandleErrorInvokesExplainerAndRenderer":8,"PhpErrorInsight\\Tests\\ExplainerSanitizationTest::testPromptIsSanitizedBeforeDelegation":8,"PhpErrorInsight\\Tests\\ExplainerSanitizationTest::testEnvCanDisableSanitization":8,"PhpErrorInsight\\Tests\\ExplainerTest::testExplainUsesInjectedAIClientAndExtractsBullets":8,"PhpErrorInsight\\Tests\\ExplainerTest::testExplainWithoutAIClientFallsBackToTranslations":7,"PhpErrorInsight\\Tests\\RendererLinkingTest::testHtmlContainsEditorLinksAndCopyButtonsWithRelativePaths":5,"PhpErrorInsight\\Tests\\RendererMappingTest::testEditorHrefMapsContainerPathToHostPath":5,"PhpErrorInsight\\Tests\\RendererTest::testRenderTextOutputsSummaryAndSuggestions":7,"PhpErrorInsight\\Tests\\RendererTest::testRenderJsonOutputsJson":8,"PhpErrorInsight\\Tests\\RendererTest::testRenderHtmlOutputsHtmlDocument":5,"PhpErrorInsight\\Tests\\SanitizerTest::testAuthorizationHeaderIsRedacted":8,"PhpErrorInsight\\Tests\\SanitizerTest::testJwtLikeTokenIsRedacted":8,"PhpErrorInsight\\Tests\\SanitizerTest::testEmailAndPhoneAreMasked":8,"PhpErrorInsight\\Tests\\SanitizerTest::testItalianCFAndIBANAreRedacted":8,"PhpErrorInsight\\Tests\\SanitizerTest::testPaymentLikeNumberIsRedacted":8,"PhpErrorInsight\\Tests\\SanitizerTest::testPrivateIPsAndCookieAreRedacted":8,"PhpErrorInsight\\Tests\\SanitizerTest::testFullPrivateIPRangesAreFullyRedacted":8,"PhpErrorInsight\\Tests\\SanitizerTest::testCustomMaskAndRulesFromConfig":8,"PhpErrorInsight\\Tests\\SanitizerTest::testCustomRegexHasPriority":8,"PhpErrorInsight\\Tests\\StateDumperTest::testCollectStateReturnsExpectedKeys":8,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateStringUsesLocaleAndFallsBackToEn":8,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateStringDefaultsToEnWhenLanguageEmptyOrZero":8,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateStringWithPlaceholders":8,"PhpErrorInsight\\Tests\\TranslatorTest::testDotNotationRetrieval":8,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateReturnsKeyWhenMissing":8,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateListDefaultsToItAndFallsBackToIt":8,"PhpErrorInsight\\Tests\\ExplainerTest::testExplainUsesInjectedAIClientAndExtractsSuggestions":7,"PhpErrorInsight\\Tests\\E2EJsonContentTypeTest::testForcesJsonWhenHttpContentTypeIsJson":7,"PhpErrorInsight\\Tests\\RendererTest::testRenderTextOutputsSuggestions":7},"times":{"ErrorExplainer\\Tests\\ConfigTest::testFromEnvAndArrayMergesProperly":0.002,"ErrorExplainer\\Tests\\E2ERegisterTest::testRegisterAndTriggerUserWarningOutputsJsonWithOriginalMessage":0.026,"ErrorExplainer\\Tests\\ErrorHandlerDumperInjectionTest::testInjectedDumperIsUsed":0,"ErrorExplainer\\Tests\\ErrorHandlerFunctionalTest::testHandleErrorInvokesExplainerAndRenderer":0.001,"ErrorExplainer\\Tests\\ExplainerSanitizationTest::testPromptIsSanitizedBeforeDelegation":0.001,"ErrorExplainer\\Tests\\ExplainerSanitizationTest::testEnvCanDisableSanitization":0,"ErrorExplainer\\Tests\\ExplainerTest::testExplainUsesInjectedAIClientAndExtractsBullets":0.002,"ErrorExplainer\\Tests\\ExplainerTest::testExplainWithoutAIClientFallsBackToTranslations":0.001,"ErrorExplainer\\Tests\\RendererTest::testRenderTextOutputsSummaryAndSuggestions":0.002,"ErrorExplainer\\Tests\\RendererTest::testRenderJsonOutputsJson":0.001,"ErrorExplainer\\Tests\\RendererTest::testRenderHtmlOutputsHtmlDocument":0.006,"ErrorExplainer\\Tests\\SanitizerTest::testAuthorizationHeaderIsRedacted":0,"ErrorExplainer\\Tests\\SanitizerTest::testJwtLikeTokenIsRedacted":0.001,"ErrorExplainer\\Tests\\SanitizerTest::testEmailAndPhoneAreMasked":0.001,"ErrorExplainer\\Tests\\SanitizerTest::testItalianCFAndIBANAreRedacted":0.001,"ErrorExplainer\\Tests\\SanitizerTest::testPaymentLikeNumberIsRedacted":0.001,"ErrorExplainer\\Tests\\SanitizerTest::testPrivateIPsAndCookieAreRedacted":0,"ErrorExplainer\\Tests\\SanitizerTest::testFullPrivateIPRangesAreFullyRedacted":0.001,"ErrorExplainer\\Tests\\SanitizerTest::testCustomMaskAndRulesFromConfig":0,"ErrorExplainer\\Tests\\SanitizerTest::testCustomRegexHasPriority":0.001,"ErrorExplainer\\Tests\\StateDumperTest::testCollectStateReturnsExpectedKeys":0.001,"ErrorExplainer\\Tests\\ConfigTest::testFromEnvAndArrayLoadsProjectRootAndEditorUrlFromEnv":0.003,"ErrorExplainer\\Tests\\ConfigTest::testArrayOptionsOverrideEnv":0,"ErrorExplainer\\Tests\\RendererLinkingTest::testHtmlContainsEditorLinksAndCopyButtonsWithRelativePaths":0.013,"ErrorExplainer\\Tests\\ConfigTest::testFromEnvAndArrayLoadsProjectRootHostRootAndEditorUrlFromEnv":0.01,"ErrorExplainer\\Tests\\RendererMappingTest::testEditorHrefMapsContainerPathToHostPath":0.004,"ErrorExplainer\\Tests\\ErrorExplainerUnregisterTest::testRegisterDisabledDoesNotInstallHandlersAndUnregisterIsIdempotent":0.001,"ErrorExplainer\\Tests\\ErrorHandlerChainingTest::testPreviousErrorHandlerIsCalledWhenPresent":0,"ErrorExplainer\\Tests\\ErrorHandlerChainingTest::testHandleExceptionCallsPreviousWhenDisabled":0,"ErrorExplainer\\Tests\\ErrorHandlerChainingTest::testHandleExceptionRethrowsWhenDisabledAndNoPrevious":0.001,"ErrorExplainer\\Tests\\TranslatorTest::testTranslateStringUsesLocaleAndFallsBackToEn":0,"ErrorExplainer\\Tests\\TranslatorTest::testTranslateStringDefaultsToEnWhenLanguageEmptyOrZero":0,"ErrorExplainer\\Tests\\TranslatorTest::testTranslateStringWithPlaceholders":0,"ErrorExplainer\\Tests\\TranslatorTest::testDotNotationRetrieval":0,"ErrorExplainer\\Tests\\TranslatorTest::testTranslateReturnsKeyWhenMissing":0,"ErrorExplainer\\Tests\\TranslatorTest::testTranslateListDefaultsToItAndFallsBackToIt":0,"PhpErrorInsight\\Tests\\ConfigTest::testFromEnvAndArrayLoadsProjectRootHostRootAndEditorUrlFromEnv":0.002,"PhpErrorInsight\\Tests\\ConfigTest::testArrayOptionsOverrideEnv":0,"PhpErrorInsight\\Tests\\E2ERegisterTest::testRegisterAndTriggerUserWarningOutputsJsonWithOriginalMessage":0.003,"PhpErrorInsight\\Tests\\ErrorExplainerUnregisterTest::testRegisterDisabledDoesNotInstallHandlersAndUnregisterIsIdempotent":0,"PhpErrorInsight\\Tests\\ErrorHandlerChainingTest::testPreviousErrorHandlerIsCalledWhenPresent":0,"PhpErrorInsight\\Tests\\ErrorHandlerChainingTest::testHandleExceptionCallsPreviousWhenDisabled":0,"PhpErrorInsight\\Tests\\ErrorHandlerChainingTest::testHandleExceptionRethrowsWhenDisabledAndNoPrevious":0,"PhpErrorInsight\\Tests\\ErrorHandlerDumperInjectionTest::testInjectedDumperIsUsed":0,"PhpErrorInsight\\Tests\\ErrorHandlerFunctionalTest::testHandleErrorInvokesExplainerAndRenderer":0,"PhpErrorInsight\\Tests\\ExplainerSanitizationTest::testPromptIsSanitizedBeforeDelegation":0.002,"PhpErrorInsight\\Tests\\ExplainerSanitizationTest::testEnvCanDisableSanitization":0,"PhpErrorInsight\\Tests\\ExplainerTest::testExplainUsesInjectedAIClientAndExtractsBullets":0.001,"PhpErrorInsight\\Tests\\ExplainerTest::testExplainWithoutAIClientFallsBackToTranslations":0,"PhpErrorInsight\\Tests\\RendererLinkingTest::testHtmlContainsEditorLinksAndCopyButtonsWithRelativePaths":0.008,"PhpErrorInsight\\Tests\\RendererMappingTest::testEditorHrefMapsContainerPathToHostPath":0.002,"PhpErrorInsight\\Tests\\RendererTest::testRenderTextOutputsSummaryAndSuggestions":0.001,"PhpErrorInsight\\Tests\\RendererTest::testRenderJsonOutputsJson":0,"PhpErrorInsight\\Tests\\RendererTest::testRenderHtmlOutputsHtmlDocument":0.003,"PhpErrorInsight\\Tests\\SanitizerTest::testAuthorizationHeaderIsRedacted":0,"PhpErrorInsight\\Tests\\SanitizerTest::testJwtLikeTokenIsRedacted":0,"PhpErrorInsight\\Tests\\SanitizerTest::testEmailAndPhoneAreMasked":0,"PhpErrorInsight\\Tests\\SanitizerTest::testItalianCFAndIBANAreRedacted":0,"PhpErrorInsight\\Tests\\SanitizerTest::testPaymentLikeNumberIsRedacted":0,"PhpErrorInsight\\Tests\\SanitizerTest::testPrivateIPsAndCookieAreRedacted":0,"PhpErrorInsight\\Tests\\SanitizerTest::testFullPrivateIPRangesAreFullyRedacted":0,"PhpErrorInsight\\Tests\\SanitizerTest::testCustomMaskAndRulesFromConfig":0,"PhpErrorInsight\\Tests\\SanitizerTest::testCustomRegexHasPriority":0,"PhpErrorInsight\\Tests\\StateDumperTest::testCollectStateReturnsExpectedKeys":0,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateStringUsesLocaleAndFallsBackToEn":0,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateStringDefaultsToEnWhenLanguageEmptyOrZero":0,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateStringWithPlaceholders":0,"PhpErrorInsight\\Tests\\TranslatorTest::testDotNotationRetrieval":0,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateReturnsKeyWhenMissing":0,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateListDefaultsToItAndFallsBackToIt":0,"PhpErrorInsight\\Tests\\RendererTest::testRenderTextOutputsSuggestions":0.021,"PhpErrorInsight\\Tests\\ExplainerTest::testExplainUsesInjectedAIClientAndExtractsSuggestions":0.005,"PhpErrorInsight\\Tests\\E2EJsonContentTypeTest::testForcesJsonWhenHttpContentTypeIsJson":0.27}}
1+
{"version":2,"defects":{"ErrorExplainer\\Tests\\ErrorExplainerUnregisterTest::testRegisterDisabledDoesNotInstallHandlersAndUnregisterIsIdempotent":8,"PhpErrorInsight\\Tests\\ConfigTest::testFromEnvAndArrayLoadsProjectRootHostRootAndEditorUrlFromEnv":8,"PhpErrorInsight\\Tests\\ConfigTest::testArrayOptionsOverrideEnv":8,"PhpErrorInsight\\Tests\\E2ERegisterTest::testRegisterAndTriggerUserWarningOutputsJsonWithOriginalMessage":8,"PhpErrorInsight\\Tests\\ErrorExplainerUnregisterTest::testRegisterDisabledDoesNotInstallHandlersAndUnregisterIsIdempotent":8,"PhpErrorInsight\\Tests\\ErrorHandlerChainingTest::testPreviousErrorHandlerIsCalledWhenPresent":8,"PhpErrorInsight\\Tests\\ErrorHandlerChainingTest::testHandleExceptionCallsPreviousWhenDisabled":8,"PhpErrorInsight\\Tests\\ErrorHandlerChainingTest::testHandleExceptionRethrowsWhenDisabledAndNoPrevious":7,"PhpErrorInsight\\Tests\\ErrorHandlerDumperInjectionTest::testInjectedDumperIsUsed":7,"PhpErrorInsight\\Tests\\ErrorHandlerFunctionalTest::testHandleErrorInvokesExplainerAndRenderer":8,"PhpErrorInsight\\Tests\\ExplainerSanitizationTest::testPromptIsSanitizedBeforeDelegation":8,"PhpErrorInsight\\Tests\\ExplainerSanitizationTest::testEnvCanDisableSanitization":8,"PhpErrorInsight\\Tests\\ExplainerTest::testExplainUsesInjectedAIClientAndExtractsBullets":8,"PhpErrorInsight\\Tests\\ExplainerTest::testExplainWithoutAIClientFallsBackToTranslations":7,"PhpErrorInsight\\Tests\\RendererLinkingTest::testHtmlContainsEditorLinksAndCopyButtonsWithRelativePaths":5,"PhpErrorInsight\\Tests\\RendererMappingTest::testEditorHrefMapsContainerPathToHostPath":5,"PhpErrorInsight\\Tests\\RendererTest::testRenderTextOutputsSummaryAndSuggestions":7,"PhpErrorInsight\\Tests\\RendererTest::testRenderJsonOutputsJson":8,"PhpErrorInsight\\Tests\\RendererTest::testRenderHtmlOutputsHtmlDocument":5,"PhpErrorInsight\\Tests\\SanitizerTest::testAuthorizationHeaderIsRedacted":8,"PhpErrorInsight\\Tests\\SanitizerTest::testJwtLikeTokenIsRedacted":8,"PhpErrorInsight\\Tests\\SanitizerTest::testEmailAndPhoneAreMasked":8,"PhpErrorInsight\\Tests\\SanitizerTest::testItalianCFAndIBANAreRedacted":8,"PhpErrorInsight\\Tests\\SanitizerTest::testPaymentLikeNumberIsRedacted":8,"PhpErrorInsight\\Tests\\SanitizerTest::testPrivateIPsAndCookieAreRedacted":8,"PhpErrorInsight\\Tests\\SanitizerTest::testFullPrivateIPRangesAreFullyRedacted":8,"PhpErrorInsight\\Tests\\SanitizerTest::testCustomMaskAndRulesFromConfig":8,"PhpErrorInsight\\Tests\\SanitizerTest::testCustomRegexHasPriority":8,"PhpErrorInsight\\Tests\\StateDumperTest::testCollectStateReturnsExpectedKeys":8,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateStringUsesLocaleAndFallsBackToEn":8,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateStringDefaultsToEnWhenLanguageEmptyOrZero":8,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateStringWithPlaceholders":8,"PhpErrorInsight\\Tests\\TranslatorTest::testDotNotationRetrieval":8,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateReturnsKeyWhenMissing":8,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateListDefaultsToItAndFallsBackToIt":8,"PhpErrorInsight\\Tests\\ExplainerTest::testExplainUsesInjectedAIClientAndExtractsSuggestions":7,"PhpErrorInsight\\Tests\\E2EJsonContentTypeTest::testForcesJsonWhenHttpContentTypeIsJson":7,"PhpErrorInsight\\Tests\\RendererTest::testRenderTextOutputsSuggestions":7,"PhpErrorInsight\\Tests\\TraceInvalidFrameTest::testTraceFromArrayWithFrameObjectTriggersTypeError":8,"PhpErrorInsight\\Tests\\ExplainerNullSeverityTest::testExplainWithNullSeverityTriggersTypeError":5},"times":{"ErrorExplainer\\Tests\\ConfigTest::testFromEnvAndArrayMergesProperly":0.002,"ErrorExplainer\\Tests\\E2ERegisterTest::testRegisterAndTriggerUserWarningOutputsJsonWithOriginalMessage":0.026,"ErrorExplainer\\Tests\\ErrorHandlerDumperInjectionTest::testInjectedDumperIsUsed":0,"ErrorExplainer\\Tests\\ErrorHandlerFunctionalTest::testHandleErrorInvokesExplainerAndRenderer":0.001,"ErrorExplainer\\Tests\\ExplainerSanitizationTest::testPromptIsSanitizedBeforeDelegation":0.001,"ErrorExplainer\\Tests\\ExplainerSanitizationTest::testEnvCanDisableSanitization":0,"ErrorExplainer\\Tests\\ExplainerTest::testExplainUsesInjectedAIClientAndExtractsBullets":0.002,"ErrorExplainer\\Tests\\ExplainerTest::testExplainWithoutAIClientFallsBackToTranslations":0.001,"ErrorExplainer\\Tests\\RendererTest::testRenderTextOutputsSummaryAndSuggestions":0.002,"ErrorExplainer\\Tests\\RendererTest::testRenderJsonOutputsJson":0.001,"ErrorExplainer\\Tests\\RendererTest::testRenderHtmlOutputsHtmlDocument":0.006,"ErrorExplainer\\Tests\\SanitizerTest::testAuthorizationHeaderIsRedacted":0,"ErrorExplainer\\Tests\\SanitizerTest::testJwtLikeTokenIsRedacted":0.001,"ErrorExplainer\\Tests\\SanitizerTest::testEmailAndPhoneAreMasked":0.001,"ErrorExplainer\\Tests\\SanitizerTest::testItalianCFAndIBANAreRedacted":0.001,"ErrorExplainer\\Tests\\SanitizerTest::testPaymentLikeNumberIsRedacted":0.001,"ErrorExplainer\\Tests\\SanitizerTest::testPrivateIPsAndCookieAreRedacted":0,"ErrorExplainer\\Tests\\SanitizerTest::testFullPrivateIPRangesAreFullyRedacted":0.001,"ErrorExplainer\\Tests\\SanitizerTest::testCustomMaskAndRulesFromConfig":0,"ErrorExplainer\\Tests\\SanitizerTest::testCustomRegexHasPriority":0.001,"ErrorExplainer\\Tests\\StateDumperTest::testCollectStateReturnsExpectedKeys":0.001,"ErrorExplainer\\Tests\\ConfigTest::testFromEnvAndArrayLoadsProjectRootAndEditorUrlFromEnv":0.003,"ErrorExplainer\\Tests\\ConfigTest::testArrayOptionsOverrideEnv":0,"ErrorExplainer\\Tests\\RendererLinkingTest::testHtmlContainsEditorLinksAndCopyButtonsWithRelativePaths":0.013,"ErrorExplainer\\Tests\\ConfigTest::testFromEnvAndArrayLoadsProjectRootHostRootAndEditorUrlFromEnv":0.01,"ErrorExplainer\\Tests\\RendererMappingTest::testEditorHrefMapsContainerPathToHostPath":0.004,"ErrorExplainer\\Tests\\ErrorExplainerUnregisterTest::testRegisterDisabledDoesNotInstallHandlersAndUnregisterIsIdempotent":0.001,"ErrorExplainer\\Tests\\ErrorHandlerChainingTest::testPreviousErrorHandlerIsCalledWhenPresent":0,"ErrorExplainer\\Tests\\ErrorHandlerChainingTest::testHandleExceptionCallsPreviousWhenDisabled":0,"ErrorExplainer\\Tests\\ErrorHandlerChainingTest::testHandleExceptionRethrowsWhenDisabledAndNoPrevious":0.001,"ErrorExplainer\\Tests\\TranslatorTest::testTranslateStringUsesLocaleAndFallsBackToEn":0,"ErrorExplainer\\Tests\\TranslatorTest::testTranslateStringDefaultsToEnWhenLanguageEmptyOrZero":0,"ErrorExplainer\\Tests\\TranslatorTest::testTranslateStringWithPlaceholders":0,"ErrorExplainer\\Tests\\TranslatorTest::testDotNotationRetrieval":0,"ErrorExplainer\\Tests\\TranslatorTest::testTranslateReturnsKeyWhenMissing":0,"ErrorExplainer\\Tests\\TranslatorTest::testTranslateListDefaultsToItAndFallsBackToIt":0,"PhpErrorInsight\\Tests\\ConfigTest::testFromEnvAndArrayLoadsProjectRootHostRootAndEditorUrlFromEnv":0.003,"PhpErrorInsight\\Tests\\ConfigTest::testArrayOptionsOverrideEnv":0,"PhpErrorInsight\\Tests\\E2ERegisterTest::testRegisterAndTriggerUserWarningOutputsJsonWithOriginalMessage":0.003,"PhpErrorInsight\\Tests\\ErrorExplainerUnregisterTest::testRegisterDisabledDoesNotInstallHandlersAndUnregisterIsIdempotent":0,"PhpErrorInsight\\Tests\\ErrorHandlerChainingTest::testPreviousErrorHandlerIsCalledWhenPresent":0,"PhpErrorInsight\\Tests\\ErrorHandlerChainingTest::testHandleExceptionCallsPreviousWhenDisabled":0,"PhpErrorInsight\\Tests\\ErrorHandlerChainingTest::testHandleExceptionRethrowsWhenDisabledAndNoPrevious":0,"PhpErrorInsight\\Tests\\ErrorHandlerDumperInjectionTest::testInjectedDumperIsUsed":0,"PhpErrorInsight\\Tests\\ErrorHandlerFunctionalTest::testHandleErrorInvokesExplainerAndRenderer":0,"PhpErrorInsight\\Tests\\ExplainerSanitizationTest::testPromptIsSanitizedBeforeDelegation":0.002,"PhpErrorInsight\\Tests\\ExplainerSanitizationTest::testEnvCanDisableSanitization":0,"PhpErrorInsight\\Tests\\ExplainerTest::testExplainUsesInjectedAIClientAndExtractsBullets":0.001,"PhpErrorInsight\\Tests\\ExplainerTest::testExplainWithoutAIClientFallsBackToTranslations":0,"PhpErrorInsight\\Tests\\RendererLinkingTest::testHtmlContainsEditorLinksAndCopyButtonsWithRelativePaths":0.009,"PhpErrorInsight\\Tests\\RendererMappingTest::testEditorHrefMapsContainerPathToHostPath":0.002,"PhpErrorInsight\\Tests\\RendererTest::testRenderTextOutputsSummaryAndSuggestions":0.001,"PhpErrorInsight\\Tests\\RendererTest::testRenderJsonOutputsJson":0,"PhpErrorInsight\\Tests\\RendererTest::testRenderHtmlOutputsHtmlDocument":0.003,"PhpErrorInsight\\Tests\\SanitizerTest::testAuthorizationHeaderIsRedacted":0,"PhpErrorInsight\\Tests\\SanitizerTest::testJwtLikeTokenIsRedacted":0,"PhpErrorInsight\\Tests\\SanitizerTest::testEmailAndPhoneAreMasked":0,"PhpErrorInsight\\Tests\\SanitizerTest::testItalianCFAndIBANAreRedacted":0,"PhpErrorInsight\\Tests\\SanitizerTest::testPaymentLikeNumberIsRedacted":0,"PhpErrorInsight\\Tests\\SanitizerTest::testPrivateIPsAndCookieAreRedacted":0,"PhpErrorInsight\\Tests\\SanitizerTest::testFullPrivateIPRangesAreFullyRedacted":0,"PhpErrorInsight\\Tests\\SanitizerTest::testCustomMaskAndRulesFromConfig":0,"PhpErrorInsight\\Tests\\SanitizerTest::testCustomRegexHasPriority":0,"PhpErrorInsight\\Tests\\StateDumperTest::testCollectStateReturnsExpectedKeys":0,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateStringUsesLocaleAndFallsBackToEn":0,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateStringDefaultsToEnWhenLanguageEmptyOrZero":0,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateStringWithPlaceholders":0,"PhpErrorInsight\\Tests\\TranslatorTest::testDotNotationRetrieval":0,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateReturnsKeyWhenMissing":0,"PhpErrorInsight\\Tests\\TranslatorTest::testTranslateListDefaultsToItAndFallsBackToIt":0.001,"PhpErrorInsight\\Tests\\RendererTest::testRenderTextOutputsSuggestions":0.02,"PhpErrorInsight\\Tests\\ExplainerTest::testExplainUsesInjectedAIClientAndExtractsSuggestions":0.004,"PhpErrorInsight\\Tests\\E2EJsonContentTypeTest::testForcesJsonWhenHttpContentTypeIsJson":0.271,"PhpErrorInsight\\Tests\\ExplainerNullSeverityTest::testExplainWithNullSeverityTriggersTypeError":0,"PhpErrorInsight\\Tests\\TraceInvalidFrameTest::testTraceFromArrayWithFrameObjectTriggersTypeError":0}}

0 commit comments

Comments
 (0)