is_a.phpt 716 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. --TEST--
  2. is_a() and is_subclass_of() shouldn't call autoloader
  3. --INI--
  4. error_reporting=14335
  5. --FILE--
  6. <?php
  7. spl_autoload_register(function ($name) {
  8. echo("AUTOLOAD '$name'\n");
  9. eval("class $name {}");
  10. });
  11. class BASE {
  12. }
  13. interface I {
  14. }
  15. class A extends BASE implements I {
  16. }
  17. $a = new A;
  18. var_dump(is_a($a, "B1"));
  19. var_dump(is_a($a, "A"));
  20. var_dump(is_a($a, "BASE"));
  21. var_dump(is_a($a, "I"));
  22. var_dump(is_subclass_of($a, "B2"));
  23. var_dump(is_subclass_of($a, "A"));
  24. var_dump(is_subclass_of($a, "BASE"));
  25. var_dump(is_subclass_of($a, "I"));
  26. var_dump(is_subclass_of("X1", "X2"));
  27. ?>
  28. --EXPECT--
  29. bool(false)
  30. bool(true)
  31. bool(true)
  32. bool(true)
  33. bool(false)
  34. bool(false)
  35. bool(true)
  36. bool(true)
  37. AUTOLOAD 'X1'
  38. bool(false)