PageRenderTime 66ms CodeModel.GetById 32ms RepoModel.GetById 1ms app.codeStats 0ms

/hphp/test/slow/ext_string/strpbrk_short_and_long.php

http://github.com/facebook/hiphop-php
PHP | 79 lines | 69 code | 10 blank | 0 comment | 0 complexity | cce53c9e31bdfaf2286bca9ba9cb21e1 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. function both_short() {
  3. print __FUNCTION__."\n";
  4. $haystack = 'foo:bar';
  5. $needle1 = '12345:';
  6. $needle2 = '12345';
  7. var_dump(strpbrk($haystack, $needle1));
  8. var_dump(strpbrk($haystack, $needle2));
  9. }
  10. function short_needle() {
  11. print __FUNCTION__."\n";
  12. $haystack = '12345678901234567890:1337';
  13. $needle1 = 'abcdef:';
  14. $needle2 = 'abcdef';
  15. var_dump(strpbrk($haystack, $needle1));
  16. var_dump(strpbrk($haystack, $needle2));
  17. }
  18. function short_haystack() {
  19. print __FUNCTION__."\n";
  20. $haystack = '12345';
  21. $needle1 = 'abcdefghijklmnopqrstuvwxyz3';
  22. $needle2 = 'abcdefghijklmnopqrstuvwxyz';
  23. var_dump(strpbrk($haystack, $needle1));
  24. var_dump(strpbrk($haystack, $needle2));
  25. }
  26. function both_long() {
  27. print __FUNCTION__."\n";
  28. $haystack = '12345678901234567890';
  29. $needle1 = 'abcdefghijklmnopqrstuvwxyz9';
  30. $needle2 = 'abcdefghijklmnopqrstuvwxyz';
  31. var_dump(strpbrk($haystack, $needle1));
  32. var_dump(strpbrk($haystack, $needle2));
  33. }
  34. function empties() {
  35. print __FUNCTION__."\n";
  36. var_dump(strpbrk('', '12345'));
  37. var_dump(strpbrk('', '12345678901234567890'));
  38. }
  39. function multiple_matches() {
  40. var_dump(strpbrk('foo:bar', ':b'));
  41. var_dump(strpbrk('foo:bar', 'b:'));
  42. }
  43. function restarting_things() {
  44. var_dump(
  45. strtr(
  46. strpbrk("foo\x00bar\x00waaaaa", 'w'),
  47. darray["\x00" => '<0>']));
  48. var_dump(
  49. strtr(
  50. strpbrk("foo\x00bar\x00waaaaa", 'r'),
  51. darray["\x00" => '<0>']));
  52. var_dump(
  53. strtr(
  54. strpbrk("foo\x00bar\x00waaaaaz", 'z'),
  55. darray["\x00" => '<0>']));
  56. }
  57. function main() {
  58. both_short();
  59. short_needle();
  60. short_haystack();
  61. both_long();
  62. empties();
  63. multiple_matches();
  64. restarting_things();
  65. }
  66. <<__EntryPoint>>
  67. function main_strpbrk_short_and_long() {
  68. main();
  69. }