ClassCollectionLoaderTest.php 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /*
  3. * This file is part of the Symfony package.
  4. *
  5. * (c) Fabien Potencier <fabien@symfony.com>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. namespace Symfony\Tests\Component\ClassLoader;
  11. use Symfony\Component\ClassLoader\ClassCollectionLoader;
  12. class ClassCollectionLoaderTest extends \PHPUnit_Framework_TestCase
  13. {
  14. /**
  15. * @dataProvider getFixNamespaceDeclarationsData
  16. */
  17. public function testFixNamespaceDeclarations($source, $expected)
  18. {
  19. $this->assertEquals('<?php '.$expected, ClassCollectionLoader::fixNamespaceDeclarations('<?php '.$source));
  20. }
  21. /**
  22. * @dataProvider getFixNamespaceDeclarationsData
  23. */
  24. public function testFixNamespaceDeclarationsWithoutTokenizer($source, $expected)
  25. {
  26. ClassCollectionLoader::enableTokenizer(false);
  27. $this->assertEquals('<?php '.$expected, ClassCollectionLoader::fixNamespaceDeclarations('<?php '.$source));
  28. ClassCollectionLoader::enableTokenizer(true);
  29. }
  30. public function getFixNamespaceDeclarationsData()
  31. {
  32. return array(
  33. array("namespace;\nclass Foo {}\n", "namespace\n{\nclass Foo {}\n}\n"),
  34. array("namespace Foo;\nclass Foo {}\n", "namespace Foo\n{\nclass Foo {}\n}\n"),
  35. array("namespace Bar ;\nclass Foo {}\n", "namespace Bar \n{\nclass Foo {}\n}\n"),
  36. array("namespace Foo\Bar;\nclass Foo {}\n", "namespace Foo\Bar\n{\nclass Foo {}\n}\n"),
  37. array("namespace Foo\Bar\Bar\n{\nclass Foo {}\n}\n", "namespace Foo\Bar\Bar\n{\nclass Foo {}\n}\n"),
  38. array("namespace\n{\nclass Foo {}\n}\n", "namespace\n{\nclass Foo {}\n}\n"),
  39. );
  40. }
  41. /**
  42. * @expectedException InvalidArgumentException
  43. */
  44. public function testUnableToLoadClassException()
  45. {
  46. ClassCollectionLoader::load(array('SomeNotExistingClass'), '', 'foo', false);
  47. }
  48. }