PageRenderTime 38ms CodeModel.GetById 11ms RepoModel.GetById 0ms app.codeStats 0ms

/hphp/test/slow/ext_mb/mb_str.php

http://github.com/facebook/hiphop-php
PHP | 130 lines | 90 code | 31 blank | 9 comment | 0 complexity | b8c723b3cdcfcafb3305d04bcbd16fc7 MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause, BSD-3-Clause, MPL-2.0-no-copyleft-exception, MIT, LGPL-2.0, Apache-2.0
  1. <?hh
  2. <<__EntryPoint>>
  3. function main_mb_str() {
  4. $output = null;
  5. var_dump(mb_parse_str("first=value&arr[]=foo+bar&arr[]=baz", inout $output));
  6. mb_parse_str("first=value&arr[]=foo+bar&arr[]=baz", inout $output);
  7. var_dump($output['first']);
  8. var_dump($output['arr[]']); // bug in mb_parse_str not following PHP's
  9. mb_parse_str('', inout $output);
  10. var_dump($output); // should be empty array, not null
  11. mb_parse_str('[]', inout $output);
  12. var_dump($output);
  13. $date = "04/30/1973";
  14. $ret = mb_split("[/.-]", $date);
  15. var_dump($ret[0]);
  16. var_dump($ret[1]);
  17. var_dump($ret[2]);
  18. $date = "04/30/1973";
  19. $ret = mb_split("[/.-]", $date, 2);
  20. var_dump($ret);
  21. var_dump(mb_strcut("abcdef", 1));
  22. var_dump(mb_strcut("abcdef", 1, 3));
  23. var_dump(mb_strcut("abcdef", 0, 4));
  24. var_dump(mb_strcut("abcdef", 0, 8));
  25. var_dump(mb_strcut("abcdef", -1, 1));
  26. var_dump(mb_strcut("\xC3\x9C"."bcdef", 2));
  27. var_dump(mb_strcut("\xC3\x9C"."bcdef", 2, 3));
  28. var_dump(mb_strcut("\xC3\x9C"."bcdef", 0, 4) === "\xC3\x9C"."bc");
  29. var_dump(mb_strcut("\xC3\x9C"."bcdef", 0, 8) === "\xC3\x9C"."bcdef");
  30. var_dump(mb_strcut("\xC3\x9C"."bcdef", -1, 1));
  31. var_dump(mb_strcut("\xC3\x9C"."bcdef", -1, 1, "UTF-8"));
  32. var_dump(mb_strimwidth("long string", 0, 6));
  33. var_dump(mb_strimwidth("long string", 0, 6, "..>"));
  34. var_dump(mb_strimwidth("\xC3\x9C"."long string", 0, 6, "..>"));
  35. var_dump(mb_strimwidth("long string", 0, 6, "..>", 'UTF-8'));
  36. var_dump(mb_stripos("abcdef abcdef", "A", 1));
  37. var_dump(mb_stripos("abcdef\xC3\x9C"."abcdef", "A", 1));
  38. var_dump(mb_stripos("abcdef\xC3\x9C"."abcdef", "A", 1, "UTF-8"));
  39. var_dump(mb_stristr("Hello World!", "earth"));
  40. var_dump(mb_strlen("test"));
  41. var_dump(mb_strlen("Pr\xC3\x9C\xC3\x9D"."fung"));
  42. var_dump(mb_strpos("abcdef abcdef", "a", 1));
  43. var_dump(mb_strpos("abcdef\xC3\x9C"."abcdef", "a", 1));
  44. var_dump(mb_strpos("abcdef\xC3\x9C"."abcdef", "A", 1));
  45. $text = "Line 1\nLine 2\nLine 3";
  46. var_dump(mb_strrchr($text, "\n"));
  47. $text = "Line 1\nLine 2\xC3\x9C"."Line 3";
  48. var_dump(strrchr($text, "\x9C") === "\x9C"."Line 3");
  49. // mb_strrchr behaves differently in different versions of
  50. // libmbfl (https://github.com/facebook/hiphop-php/issues/68)
  51. var_dump(mb_strrchr($text, "\x9C") === false ||
  52. mb_strrchr($text, "\x9C") === "Line 3");
  53. $text = "Line 1\nLine 2\nLine 3";
  54. var_dump(mb_strrichr($text, "l"));
  55. var_dump(mb_strripos("abcdef abcdef", "A"));
  56. var_dump(mb_strripos("abcdef\xC3\x9C"."abcdef", "A"));
  57. var_dump(mb_strrpos("abcdef abcdef", "a"));
  58. var_dump(mb_strrpos("abcdef\xC3\x9C"."abcdef", "a"));
  59. $email = "name@example.com";
  60. var_dump(mb_strstr($email, "@"));
  61. $str = "Mary Had A Little Lamb and She LOVED It So";
  62. $str = mb_strtolower($str);
  63. var_dump($str);
  64. var_dump(mb_strtolower("ABC"));
  65. $str = "Mary Had A Little Lamb and She LOVED It So";
  66. $str = mb_strtoupper($str);
  67. var_dump($str);
  68. var_dump(mb_strtoupper("abc"));
  69. var_dump(mb_strwidth("Pr\xC3\x9C"."fung"));
  70. /* Set with Unicode U+3013 (GETA MARK) */
  71. mb_substitute_character(0x3013);
  72. var_dump(mb_substitute_character() === 0x3013);
  73. /* Set hex format */
  74. mb_substitute_character("long");
  75. /* Display current setting */
  76. var_dump(mb_substitute_character());
  77. var_dump(mb_substr_count("This is a test", "is"));
  78. $text = "This is a test";
  79. var_dump(mb_substr_count($text, "is"));
  80. // different from substr_count
  81. // mb_strrchr behaves differently in different versions of
  82. // libmbfl (https://github.com/facebook/hiphop-php/issues/68)
  83. var_dump(mb_substr_count("gcdgcdgcd", "gcdgcd") === 2 ||
  84. mb_substr_count("gcdgcdgcd", "gcdgcd") === 1);
  85. var_dump(mb_substr("abcdef", 1));
  86. var_dump(mb_substr("abcdef", 1, 3));
  87. var_dump(mb_substr("abcdef", 0, 4));
  88. var_dump(mb_substr("abcdef", 0, 8));
  89. var_dump(mb_substr("abcdef", -1, 1));
  90. var_dump(mb_substr("\xC3\x9C"."bcdef", 1));
  91. var_dump(mb_substr("\xC3\x9C"."bcdef", 1, 3));
  92. var_dump(mb_substr("\xC3\x9C"."bcdef", 0, 4) === "\xC3\x9C"."bcd");
  93. var_dump(mb_substr("\xC3\x9C"."bcdef", 0, 8) === "\xC3\x9C"."bcdef");
  94. var_dump(mb_substr("\xC3\x9C"."bcdef", -1, 1));
  95. // github issue #7318
  96. $a = html_entity_decode('&#xD55C;&#xAD6D;&#xC5B4;', ENT_COMPAT, 'UTF-8');
  97. $b = html_entity_decode('&#xAD6D;', ENT_COMPAT, 'UTF-8');
  98. var_dump(mb_strrpos($a, $b, 0, '8bit'));
  99. }