diff --git a/tests/run.php b/tests/run.php index 4ec2233..ce28782 100644 --- a/tests/run.php +++ b/tests/run.php @@ -1011,6 +1011,71 @@ function run(): void {} ], $signatures); } +function testSignatureSearchFormatsRicherNamespaceConstantValues(): void { + $root = createRepository('namespace-constant-values', [ + 'src/Constants.php' => <<<'PHP' + ENABLED, 'here' => __DIR__], + CURRENT_CLASS = __CLASS__; +PHP, + ]); + + $signatures = getSignaturesForFiles($root, ['src/Constants.php']); + assertSameList('Namespace constants should preserve imported class constant fetches, imported constants, arrays, and magic constants.', [ + '\Demo\CURRENT_CLASS = __CLASS__', + "\Demo\SETTINGS = ['enabled' => \Vendor\Flags\ENABLED, 'here' => __DIR__]", + '\Demo\STATUS = \Vendor\Config::DEFAULT_MODE', + ], $signatures); +} + +function testNamespaceConstantAliasTargetChangesAffectDiffs(): void { + $root = createRepository('namespace-constant-alias-diff', [ + 'src/Constants.php' => <<<'PHP' +diff('HEAD', 'WC')->getIncrement()); +} + +function testNamespaceConstantImportedConstantTargetChangesAffectDiffs(): void { + $root = createRepository('namespace-constant-import-diff', [ + 'src/Constants.php' => <<<'PHP' +diff('HEAD', 'WC')->getIncrement()); +} + function testNamespaceConstantChangesAffectDiffs(): void { $root = createRepository('namespace-constant-diff', [ 'src/Constants.php' => <<<'PHP' @@ -2074,6 +2139,9 @@ function testCliParsingAndDefaults(): void { testTraitUseSignatureModelsRenderCurrentStrings(); testTraitUseSignatureModelsCoverUnqualifiedAliasAndMultiplePrecedenceTargets(); testNamespaceConstantSignatureModelsRenderCurrentStrings(); +testSignatureSearchFormatsRicherNamespaceConstantValues(); +testNamespaceConstantAliasTargetChangesAffectDiffs(); +testNamespaceConstantImportedConstantTargetChangesAffectDiffs(); testSignatureSearchResolvesImportedClassConstantFetchesInValues(); testClassConstantFetchAliasChangesAffectDiffs(); testSignatureSearchResolvesImportedConstantsInDefaultsAndValues();