SlugifyExtensionTest.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. namespace Cocur\Slugify\Bridge\Nette;
  3. use Mockery as m;
  4. /**
  5. * SlugifyExtensionTest
  6. *
  7. * @category test
  8. * @package cocur/slugify
  9. * @subpackage bridge
  10. * @author Lukáš Unger <looky.msc@gmail.com>
  11. * @license http://www.opensource.org/licenses/MIT The MIT License
  12. * @group unit
  13. */
  14. class SlugifyExtensionTest extends \PHPUnit_Framework_TestCase
  15. {
  16. protected function setUp()
  17. {
  18. $this->extension = new SlugifyExtension();
  19. }
  20. /**
  21. * @test
  22. * @covers Cocur\Slugify\Bridge\Nette\SlugifyExtension::loadConfiguration()
  23. */
  24. public function loadConfiguration()
  25. {
  26. $slugify = m::mock('Nette\DI\ServiceDefinition');
  27. $slugify
  28. ->shouldReceive('setClass')
  29. ->with('Cocur\Slugify\SlugifyInterface')
  30. ->once()
  31. ->andReturn($slugify);
  32. $slugify
  33. ->shouldReceive('setFactory')
  34. ->with('Cocur\Slugify\Slugify')
  35. ->once()
  36. ->andReturn($slugify);
  37. $helper = m::mock('Nette\DI\ServiceDefinition');
  38. $helper
  39. ->shouldReceive('setClass')
  40. ->with('Cocur\Slugify\Bridge\Latte\SlugifyHelper')
  41. ->once()
  42. ->andReturn($helper);
  43. $helper
  44. ->shouldReceive('setAutowired')
  45. ->with(false)
  46. ->once()
  47. ->andReturn($helper);
  48. $builder = m::mock('Nette\DI\ContainerBuilder');
  49. $builder
  50. ->shouldReceive('addDefinition')
  51. ->with('slugify.slugify')
  52. ->once()
  53. ->andReturn($slugify);
  54. $builder
  55. ->shouldReceive('addDefinition')
  56. ->with('slugify.helper')
  57. ->once()
  58. ->andReturn($helper);
  59. $compiler = m::mock('Nette\DI\Compiler');
  60. $compiler
  61. ->shouldReceive('getContainerBuilder')
  62. ->once()
  63. ->andReturn($builder);
  64. $this->extension->setCompiler($compiler, 'slugify');
  65. $this->extension->loadConfiguration();
  66. }
  67. /**
  68. * @test
  69. * @covers Cocur\Slugify\Bridge\Nette\SlugifyExtension::beforeCompile()
  70. */
  71. public function beforeCompile()
  72. {
  73. $latteFactory = m::mock('Nette\DI\ServiceDefinition');
  74. $latteFactory
  75. ->shouldReceive('addSetup')
  76. ->with('addFilter', ['slugify', ['@slugify.helper', 'slugify']])
  77. ->once()
  78. ->andReturn($latteFactory);
  79. $latte = m::mock('Nette\DI\ServiceDefinition');
  80. $latte
  81. ->shouldReceive('addSetup')
  82. ->with('addFilter', ['slugify', ['@slugify.helper', 'slugify']])
  83. ->once()
  84. ->andReturn($latte);
  85. $builder = m::mock('Nette\DI\ContainerBuilder');
  86. $builder
  87. ->shouldReceive('getByType')
  88. ->with('Nette\Bridges\ApplicationLatte\ILatteFactory')
  89. ->once()
  90. ->andReturn('latte.latteFactory');
  91. $builder
  92. ->shouldReceive('hasDefinition')
  93. ->with('latte.latteFactory')
  94. ->once()
  95. ->andReturn(true);
  96. $builder
  97. ->shouldReceive('getDefinition')
  98. ->with('latte.latteFactory')
  99. ->once()
  100. ->andReturn($latteFactory);
  101. $builder
  102. ->shouldReceive('hasDefinition')
  103. ->with('nette.latte')
  104. ->once()
  105. ->andReturn(true);
  106. $builder
  107. ->shouldReceive('getDefinition')
  108. ->with('nette.latte')
  109. ->once()
  110. ->andReturn($latte);
  111. $compiler = m::mock('Nette\DI\Compiler');
  112. $compiler
  113. ->shouldReceive('getContainerBuilder')
  114. ->once()
  115. ->andReturn($builder);
  116. $this->extension->setCompiler($compiler, 'slugify');
  117. $this->extension->beforeCompile();
  118. }
  119. }