bug43651.phpt 869 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. --TEST--
  2. Bug #43651 (is_callable() with one or more nonconsecutive colons crashes)
  3. --FILE--
  4. <?php
  5. class Test {
  6. static function foo() {}
  7. }
  8. var_dump(is_callable("\\\\"));
  9. var_dump(is_callable("\\"));
  10. var_dump(is_callable("x\\"));
  11. var_dump(is_callable("\\x"));
  12. var_dump(is_callable("x\\x"));
  13. var_dump(is_callable("x\\\\"));
  14. var_dump(is_callable("\\x"));
  15. var_dump(is_callable("x\\\\x"));
  16. var_dump(is_callable("cd"));
  17. var_dump(is_callable("Test\\"));
  18. var_dump(is_callable("\\Test"));
  19. var_dump(is_callable("\\Test\\"));
  20. var_dump(is_callable("Test::foo"));
  21. var_dump(is_callable("\\Test::foo"));
  22. var_dump(is_callable("is_string"));
  23. var_dump(is_callable("\\is_string"));
  24. ?>
  25. --EXPECT--
  26. bool(false)
  27. bool(false)
  28. bool(false)
  29. bool(false)
  30. bool(false)
  31. bool(false)
  32. bool(false)
  33. bool(false)
  34. bool(false)
  35. bool(false)
  36. bool(false)
  37. bool(false)
  38. bool(true)
  39. bool(true)
  40. bool(true)
  41. bool(true)