PageRenderTime 45ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

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

https://github.com/CodeYellowBV/piwik
PHP | 107 lines | 91 code | 2 blank | 14 comment | 0 complexity | c7c5defab21424198a999de29f943dac 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\EncodedEntities;
  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 EncodedEntitiesTest 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. ),
  20. // empty plugin is removed
  21. array(
  22. array(
  23. 'test' => array()
  24. ),
  25. array(
  26. 'test' => array()
  27. ),
  28. array(),
  29. ),
  30. // no entites - nothing to filter
  31. array(
  32. array(
  33. 'test' => array(
  34. 'key' => 'val%sue',
  35. 'test' => 'test'
  36. )
  37. ),
  38. array(
  39. 'test' => array(
  40. 'key' => 'val%sue',
  41. 'test' => 'test'
  42. )
  43. ),
  44. array(),
  45. ),
  46. // entities needs to be decodded
  47. array(
  48. array(
  49. 'test' => array(
  50. 'test' => 'te&amp;st'
  51. )
  52. ),
  53. array(
  54. 'test' => array(
  55. 'test' => 'te&st'
  56. )
  57. ),
  58. array(
  59. 'test' => array(
  60. 'test' => 'te&amp;st'
  61. )
  62. ),
  63. ),
  64. array(
  65. array(
  66. 'empty' => array(
  67. 'test' => 't&uuml;sest'
  68. ),
  69. 'test' => array(
  70. 'test' => '%1$stest',
  71. 'empty' => '&tilde;',
  72. )
  73. ),
  74. array(
  75. 'empty' => array(
  76. 'test' => 'tĂźsest'
  77. ),
  78. 'test' => array(
  79. 'test' => '%1$stest',
  80. 'empty' => '˜',
  81. )
  82. ),
  83. array(
  84. 'empty' => array(
  85. 'test' => 't&uuml;sest'
  86. ),
  87. 'test' => array(
  88. 'empty' => '&tilde;',
  89. )
  90. ),
  91. ),
  92. );
  93. }
  94. /**
  95. * @dataProvider getFilterTestData
  96. * @group Core
  97. */
  98. public function testFilter($translations, $expected, $filteredData)
  99. {
  100. $filter = new EncodedEntities();
  101. $result = $filter->filter($translations);
  102. $this->assertEquals($expected, $result);
  103. $this->assertEquals($filteredData, $filter->getFilteredData());
  104. }
  105. }