|
| 1 | +<?php |
| 2 | +/** |
| 3 | + * @phpversion >= 7.0 |
| 4 | + */ |
| 5 | +use Tester\Assert; |
| 6 | +require __DIR__ . '/../bootstrap.php'; |
| 7 | + |
| 8 | +$phpdepend = new Cz\PhpDepend; |
| 9 | + |
| 10 | +// Group `use` declarations |
| 11 | +// http://php.net/manual/en/language.namespaces.importing.php |
| 12 | +$phpdepend->parse('<?php |
| 13 | +use some\ns\{ClassA, ClassB, ClassC as C}; |
| 14 | +use function some\ns\{fn_a, fn_b, fn_c}; |
| 15 | +use const some\ns\{ConstA, ConstB, ConstC}; |
| 16 | +
|
| 17 | +$a = new ClassA; // some\ns\ClassA |
| 18 | +$a = new ClassB; // some\ns\ClassB |
| 19 | +$a = new ClassC; // ClassC |
| 20 | +$a = new C; // some\ns\ClassC |
| 21 | +$a = new fn_a; // fn_a |
| 22 | +$a = new fn_b; // fn_b |
| 23 | +$a = new fn_c; // fn_c |
| 24 | +$a = new ConstA; // ConstA |
| 25 | +$a = new ConstB; // ConstB |
| 26 | +$a = new ConstC; // ConstC |
| 27 | +'); |
| 28 | + |
| 29 | +Assert::same(array(), $phpdepend->getClasses()); |
| 30 | +Assert::same(array( |
| 31 | + 'some\ns\ClassA', |
| 32 | + 'some\ns\ClassB', |
| 33 | + 'ClassC', |
| 34 | + 'some\ns\ClassC', |
| 35 | + 'fn_a', |
| 36 | + 'fn_b', |
| 37 | + 'fn_c', |
| 38 | + 'ConstA', |
| 39 | + 'ConstB', |
| 40 | + 'ConstC', |
| 41 | +), $phpdepend->getDependencies()); |
| 42 | + |
| 43 | +// spaces |
| 44 | +$phpdepend->parse('<?php |
| 45 | +use some\ns\{ ClassA, ClassB, ClassC as C }; |
| 46 | +
|
| 47 | +$a = new ClassA; // some\ns\ClassA |
| 48 | +$a = new ClassB; // some\ns\ClassB |
| 49 | +$a = new ClassC; // ClassC |
| 50 | +$a = new C; // some\ns\ClassC |
| 51 | +'); |
| 52 | + |
| 53 | +Assert::same(array(), $phpdepend->getClasses()); |
| 54 | +Assert::same(array( |
| 55 | + 'some\ns\ClassA', |
| 56 | + 'some\ns\ClassB', |
| 57 | + 'ClassC', |
| 58 | + 'some\ns\ClassC', |
| 59 | +), $phpdepend->getDependencies()); |
0 commit comments