SourceArgumentsReaderTest.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Code\Reader;
  7. require_once __DIR__ . '/_files/SourceArgumentsReaderTest.php.sample';
  8. class SourceArgumentsReaderTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @var \Magento\Framework\Code\Reader\SourceArgumentsReader
  12. */
  13. protected $sourceArgumentsReader;
  14. protected function setUp()
  15. {
  16. $this->sourceArgumentsReader = new \Magento\Framework\Code\Reader\SourceArgumentsReader();
  17. }
  18. /**
  19. * @param string $class
  20. * @param array $expectedResult
  21. * @dataProvider getConstructorArgumentTypesDataProvider
  22. */
  23. public function testGetConstructorArgumentTypes($class, $expectedResult)
  24. {
  25. $class = new \ReflectionClass($class);
  26. $actualResult = $this->sourceArgumentsReader->getConstructorArgumentTypes($class);
  27. $this->assertEquals($expectedResult, $actualResult);
  28. }
  29. public function getConstructorArgumentTypesDataProvider()
  30. {
  31. return [
  32. [
  33. 'Some\Testing\Name\Space\AnotherSimpleClass',
  34. [
  35. '\Some\Testing\Name\Space\Item',
  36. '\Imported\Name\Space\One',
  37. '\Imported\Name\Space\AnotherTest\Extended',
  38. '\Imported\Name\Space\Test',
  39. '\Imported\Name\Space\ClassName\Under\Test',
  40. '\Imported\Name\Space\ClassName',
  41. '\Some\Testing\Name\Space\Test',
  42. '\Exception',
  43. '',
  44. '\Imported\Name\Space\ClassName',
  45. 'array',
  46. ''
  47. ],
  48. ],
  49. [
  50. '\stdClass',
  51. [null]
  52. ]
  53. ];
  54. }
  55. }