PageRenderTime 47ms CodeModel.GetById 14ms RepoModel.GetById 1ms app.codeStats 0ms

/tests/PHPUnit/Core/Translate/Filter/UnnecassaryWhitespacesTest.php

https://github.com/CodeYellowBV/piwik
PHP | 152 lines | 136 code | 3 blank | 13 comment | 0 complexity | b685625193096cfd391065d275620f28 MD5 | raw file
Possible License(s): LGPL-3.0, JSON, MIT, GPL-3.0, LGPL-2.1, GPL-2.0, AGPL-1.0, BSD-2-Clause, BSD-3-Clause
  1. <?php
  2. use Piwik\Translate\Filter\UnnecassaryWhitespaces;
  3. /**
  4. * Piwik - free/libre analytics platform
  5. *
  6. * @link http://piwik.org
  7. * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  8. */
  9. class UnnecassaryWhitepsacesTest extends PHPUnit_Framework_TestCase
  10. {
  11. public function getFilterTestData()
  12. {
  13. return array(
  14. // empty stays empty - nothing to filter
  15. array(
  16. array(),
  17. array(),
  18. array(),
  19. array()
  20. ),
  21. // no entites - nothing to filter
  22. array(
  23. array(
  24. 'test' => array(
  25. 'key' => "val\n\n\r\n\nue",
  26. 'test' => 'test'
  27. )
  28. ),
  29. array(
  30. 'test' => array(
  31. 'key' => "base val\n\nue",
  32. 'test' => 'test'
  33. )
  34. ),
  35. array(
  36. 'test' => array(
  37. 'key' => "val\n\nue",
  38. 'test' => 'test'
  39. )
  40. ),
  41. array(
  42. 'test' => array(
  43. 'key' => "val\n\n\r\n\nue",
  44. )
  45. ),
  46. ),
  47. // entities needs to be decodded
  48. array(
  49. array(
  50. 'test' => array(
  51. 'test' => 'test palim'
  52. )
  53. ),
  54. array(
  55. 'test' => array(
  56. 'test' => 'no line breaks'
  57. )
  58. ),
  59. array(
  60. 'test' => array(
  61. 'test' => 'test palim'
  62. )
  63. ),
  64. array(
  65. 'test' => array(
  66. 'test' => 'test palim'
  67. )
  68. ),
  69. ),
  70. array(
  71. array(
  72. 'empty' => array(
  73. 'test' => "test\n\n\ntest"
  74. ),
  75. ),
  76. array(
  77. 'empty' => array(
  78. 'test' => 'no line break'
  79. ),
  80. ),
  81. array(
  82. 'empty' => array(
  83. 'test' => 'test test'
  84. ),
  85. ),
  86. array(
  87. 'empty' => array(
  88. 'test' => "test\n\n\ntest"
  89. ),
  90. ),
  91. ),
  92. array(
  93. array(
  94. 'empty' => array(
  95. 'test' => "test\n \n\n test"
  96. ),
  97. ),
  98. array(
  99. 'empty' => array(
  100. 'test' => 'no line break'
  101. ),
  102. ),
  103. array(
  104. 'empty' => array(
  105. 'test' => 'test test'
  106. ),
  107. ),
  108. array(
  109. 'empty' => array(
  110. 'test' => "test\n \n\n test"
  111. ),
  112. ),
  113. ),
  114. array(
  115. array(
  116. 'empty' => array(
  117. 'test' => "test\n \n\n test"
  118. ),
  119. ),
  120. array(
  121. 'empty' => array(
  122. 'test' => "line\n break"
  123. ),
  124. ),
  125. array(
  126. 'empty' => array(
  127. 'test' => "test\n\ntest"
  128. ),
  129. ),
  130. array(
  131. 'empty' => array(
  132. 'test' => "test\n \n\n test"
  133. ),
  134. ),
  135. ),
  136. );
  137. }
  138. /**
  139. * @dataProvider getFilterTestData
  140. * @group Core
  141. */
  142. public function testFilter($translations, $baseTranslations, $expected, $filteredData)
  143. {
  144. $filter = new UnnecassaryWhitespaces($baseTranslations);
  145. $result = $filter->filter($translations);
  146. $this->assertEquals($expected, $result);
  147. $this->assertEquals($filteredData, $filter->getFilteredData());
  148. }
  149. }