/tests/unit/suite/libraries/joomla/utilities/JString-helper-dataset.php

https://bitbucket.org/talueses/joomla-cms · PHP · 194 lines · 157 code · 22 blank · 15 comment · 0 complexity · b519166dc5733b6e9bfd7381dcc3381a MD5 · raw file

  1. <?php
  2. /**
  3. * Joomla! v1.5 Unit Test Facility
  4. *
  5. * @package Joomla
  6. * @subpackage UnitTest
  7. * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc.
  8. *
  9. */
  10. class JStringTest_DataSet {
  11. /**
  12. * Tests for JString::strpos.
  13. *
  14. * Each element contains $haystack, $needle, $offset, $expect,
  15. *
  16. * @var array
  17. */
  18. static public $strposTests = array(
  19. array('missing', 'sing', 0, 3),
  20. array('missing', 'sting', 0, false),
  21. array('missing', 'ing', 0, 4),
  22. array(' объектов на карте с', 'на карте', 0, 10),
  23. array('на карте с', 'на карте', 0, 0),
  24. array('на карте с', 'на каррте', 0, false),
  25. array('на карте с', 'на карте', 2, false),
  26. array('missing', 'sing', false, 3)
  27. );
  28. static public $strrposTests = array(
  29. array('missing', 'sing', 0, 3),
  30. array('missing', 'sting', 0, false),
  31. array('missing', 'ing', 0, 4),
  32. array(' объектов на карте с', 'на карте', 0, 10),
  33. array('на карте с', 'на карте', 0, 0),
  34. array('на карте с', 'на каррте', 0, false),
  35. array('на карте с', 'карт', 2, 3)
  36. );
  37. static public $substrTests = array(
  38. array('Mississauga', 4, false, 'issauga'),
  39. array(' объектов на карте с', 10, false, 'на карте с'),
  40. array(' объектов на карте с', 10, 5, 'на ка'),
  41. array(' объектов на карте с', -4, false, 'те с'),
  42. array(' объектов на карте с', 99, false, false)
  43. );
  44. static public $strtolowerTests = array(
  45. array('Joomla! Rocks', 'joomla! rocks')
  46. );
  47. static public $strtoupperTests = array(
  48. array('Joomla! Rocks', 'JOOMLA! ROCKS')
  49. );
  50. static public $strlenTests = array(
  51. array('Joomla! Rocks', 13)
  52. );
  53. static public $str_ireplaceTests = array(
  54. array('Pig', 'cow', 'the pig jumped', false, 'the cow jumped'),
  55. array('Pig', 'cow', 'the pig jumped', true, 'the cow jumped'),
  56. array('Pig', 'cow', 'the pig jumped over the cow', true, 'the cow jumped over the cow'),
  57. array(array('PIG', 'JUMPED'), array('cow', 'hopped'), true, 'the pig jumped over the pig', 'the cow hopped over the cow'),
  58. array('шил', 'биш', 'Би шил идэй чадна', true, 'Би биш идэй чадна')
  59. );
  60. static public $str_splitTests = array(
  61. array('string', 1, array('s','t','r','i','n','g')),
  62. array('string', 2, array('st','ri','ng')),
  63. array('волн', 3, array('вол','н')),
  64. array('волн', 1, array('в','о','л','н'))
  65. );
  66. static public $strcasecmpTests = array (
  67. array('THIS IS STRING1', 'this is string1', false, 0),
  68. array('this is string1', 'this is string2', false, -1),
  69. array('this is string2', 'this is string1', false, 1),
  70. array('бгдпт', 'бгдпт', false, 0),
  71. array('àbc', 'abc', array('fr_FR.utf8', 'fr_FR.UTF-8', 'fr_FR.UTF-8@euro', 'French_Standard', 'french', 'fr_FR', 'fre_FR'), 1),
  72. array('àbc', 'bcd', array('fr_FR.utf8', 'fr_FR.UTF-8', 'fr_FR.UTF-8@euro', 'French_Standard', 'french', 'fr_FR', 'fre_FR'), -1),
  73. array('é', 'è', array('fr_FR.utf8', 'fr_FR.UTF-8', 'fr_FR.UTF-8@euro', 'French_Standard', 'french', 'fr_FR', 'fre_FR'), -1),
  74. array('É', 'é', array('fr_FR.utf8', 'fr_FR.UTF-8', 'fr_FR.UTF-8@euro', 'French_Standard', 'french', 'fr_FR', 'fre_FR'), 0),
  75. array('œ', 'p', array('fr_FR.utf8', 'fr_FR.UTF-8', 'fr_FR.UTF-8@euro', 'French_Standard', 'french', 'fr_FR', 'fre_FR'), -1),
  76. array('œ', 'n', array('fr_FR.utf8', 'fr_FR.UTF-8', 'fr_FR.UTF-8@euro', 'French_Standard', 'french', 'fr_FR', 'fre_FR'), 1),
  77. );
  78. static public $strcmpTests = array (
  79. array('THIS IS STRING1', 'this is string1', false, -1),
  80. array('this is string1', 'this is string2', false, -1),
  81. array('this is string2', 'this is string1', false, 1),
  82. array('a', 'B', false, 1),
  83. array('A', 'b', false, -1),
  84. array('Àbc', 'abc', array('fr_FR.utf8', 'fr_FR.UTF-8', 'fr_FR.UTF-8@euro', 'French_Standard', 'french', 'fr_FR', 'fre_FR'), 1),
  85. array('Àbc', 'bcd', array('fr_FR.utf8', 'fr_FR.UTF-8', 'fr_FR.UTF-8@euro', 'French_Standard', 'french', 'fr_FR', 'fre_FR'), -1),
  86. array('É', 'è', array('fr_FR.utf8', 'fr_FR.UTF-8', 'fr_FR.UTF-8@euro', 'French_Standard', 'french', 'fr_FR', 'fre_FR'), -1),
  87. array('é', 'È', array('fr_FR.utf8', 'fr_FR.UTF-8', 'fr_FR.UTF-8@euro', 'French_Standard', 'french', 'fr_FR', 'fre_FR'), -1),
  88. array('Œ', 'p', array('fr_FR.utf8', 'fr_FR.UTF-8', 'fr_FR.UTF-8@euro', 'French_Standard', 'french', 'fr_FR', 'fre_FR'), -1),
  89. array('Œ', 'n', array('fr_FR.utf8', 'fr_FR.UTF-8', 'fr_FR.UTF-8@euro', 'French_Standard', 'french', 'fr_FR', 'fre_FR'), 1),
  90. array('œ', 'N', array('fr_FR.utf8', 'fr_FR.UTF-8', 'fr_FR.UTF-8@euro', 'French_Standard', 'french', 'fr_FR', 'fre_FR'), 1),
  91. array('œ', 'P', array('fr_FR.utf8', 'fr_FR.UTF-8', 'fr_FR.UTF-8@euro', 'French_Standard', 'french', 'fr_FR', 'fre_FR'), -1),
  92. );
  93. static public $strcspnTests = array (
  94. array('subject <a> string <a>', '<>', false, false, 8),
  95. array('Би шил {123} идэй {456} чадна', '}{', null, false, 7),
  96. array('Би шил {123} идэй {456} чадна', '}{', 13, 10, 5)
  97. );
  98. static public $stristrTests = array (
  99. array('haystack', 'needle', false),
  100. array('before match, after match', 'match', 'match, after match'),
  101. array('Би шил идэй чадна', 'шил', 'шил идэй чадна')
  102. );
  103. static public $strrevTests = array (
  104. array('abc def', 'fed cba'),
  105. array('Би шил', 'лиш иБ')
  106. );
  107. static public $strspnTests = array (
  108. array('A321 Main Street', '0123456789', 1, 2, 2),
  109. array('321 Main Street', '0123456789', null, 2, 2),
  110. array('A321 Main Street', '0123456789', null, 10, 0),
  111. array('321 Main Street', '0123456789', null, null, 3),
  112. array('Main Street 321', '0123456789', null, -3, 0),
  113. array('321 Main Street', '0123456789', null, -13, 2),
  114. array('321 Main Street', '0123456789', null, -12, 3),
  115. array('A321 Main Street', '0123456789', 0, null, 0),
  116. array('A321 Main Street', '0123456789', 1, 10, 3),
  117. array('A321 Main Street', '0123456789', 1, null, 3),
  118. array('Би шил идэй чадна', 'Би', null, null, 2),
  119. array('чадна Би шил идэй чадна', 'Би', null, null, 0)
  120. );
  121. static public $substr_replaceTests = array (
  122. array('321 Main Street', 'Broadway Avenue', 4, false, '321 Broadway Avenue'),
  123. array('321 Main Street', 'Broadway', 4, 4, '321 Broadway Street'),
  124. array('чадна Би шил идэй чадна', '我能吞', 6, false, 'чадна 我能吞'),
  125. array('чадна Би шил идэй чадна', '我能吞', 6, 2, 'чадна 我能吞 шил идэй чадна')
  126. );
  127. static public $ltrimTests = array (
  128. array(' abc def', null, 'abc def'),
  129. array(' Би шил', null, 'Би шил'),
  130. array("\t\n\r\x0BБи шил", null, 'Би шил'),
  131. array("\x0B\t\n\rБи шил", "\t\n\x0B", "\rБи шил"),
  132. array("\x09Би шил\x0A", "\x09\x0A", "Би шил\x0A"),
  133. array('1234abc', '0123456789', 'abc')
  134. );
  135. static public $rtrimTests = array (
  136. array('abc def ', null, 'abc def'),
  137. array('Би шил ', null, 'Би шил'),
  138. array("Би шил\t\n\r\x0B", null, 'Би шил'),
  139. array("Би шил\r\x0B\t\n", "\t\n\x0B", "Би шил\r"),
  140. array("\x09Би шил\x0A", "\x09\x0A", "\x09Би шил"),
  141. array('1234abc', 'abc', '01234')
  142. );
  143. static public $trimTests = array (
  144. array(' abc def ', null, 'abc def'),
  145. array(' Би шил ', null, 'Би шил'),
  146. array("\t\n\r\x0BБи шил\t\n\r\x0B", null, 'Би шил'),
  147. array("\x0B\t\n\rБи шил\r\x0B\t\n", "\t\n\x0B", "\rБи шил\r"),
  148. array("\x09Би шил\x0A", "\x09\x0A", "Би шил"),
  149. array('1234abc56789', '0123456789', 'abc')
  150. );
  151. static public $ucfirstTests = array (
  152. array('george', 'George'),
  153. array('мога', 'Мога'),
  154. array('ψυχοφθόρα', 'Ψυχοφθόρα')
  155. );
  156. static public $ucwordsTests = array (
  157. array('george washington', 'George Washington'),
  158. array("george\r\nwashington", "George\r\nWashington"),
  159. array('мога', 'Мога'),
  160. array('αβγ δεζ', 'Αβγ Δεζ'),
  161. array('åbc öde', 'Åbc Öde')
  162. );
  163. static public $transcodeTests = array (
  164. array('Åbc Öde €100', 'UTF-8', 'ISO-8859-1', "\xc5bc \xd6de EUR100")
  165. );
  166. static public $validTests = array (
  167. array('george Мога Ž Ψυχοφθόρα ฉันกินกระจกได้ 我能吞下玻璃而不伤身体 ', true),
  168. array("\xFF ABC", false),
  169. array("0xfffd ABC", true),
  170. array('', true)
  171. );
  172. }