NameBuilderTest.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Code\Test\Unit;
  7. class NameBuilderTest extends \PHPUnit\Framework\TestCase
  8. {
  9. /**
  10. * @var \Magento\Framework\Code\NameBuilder
  11. */
  12. protected $nameBuilder;
  13. protected function setUp()
  14. {
  15. $nelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
  16. $this->nameBuilder = $nelper->getObject(\Magento\Framework\Code\NameBuilder::class);
  17. }
  18. /**
  19. * @param array $parts
  20. * @param string $expected
  21. *
  22. * @dataProvider buildClassNameDataProvider
  23. */
  24. public function testBuildClassName($parts, $expected)
  25. {
  26. $this->assertEquals($expected, $this->nameBuilder->buildClassName($parts));
  27. }
  28. /**
  29. * @return array
  30. */
  31. public function buildClassNameDataProvider()
  32. {
  33. return [
  34. [['Checkout', 'Controller', 'Index'], 'Checkout\Controller\Index'],
  35. [['checkout', 'controller', 'index'], 'Checkout\Controller\Index'],
  36. [
  37. ['magento_backend', 'block', 'system', 'store', 'edit'], \Magento\Backend\Block\System\Store\Edit::class
  38. ],
  39. [['MyNamespace', 'MyModule'], 'MyNamespace\MyModule'],
  40. [['uc', 'words', 'test'], 'Uc\Words\Test'],
  41. [['ALL', 'CAPS', 'TEST'], 'ALL\CAPS\TEST'],
  42. ];
  43. }
  44. }