bug69038.phpt 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. --TEST--
  2. Bug #69038 (switch(SOMECONSTANT) misbehaves)
  3. --INI--
  4. opcache.enable=1
  5. opcache.enable_cli=1
  6. opcache.optimization_level=-1
  7. --EXTENSIONS--
  8. opcache
  9. --FILE--
  10. <?php
  11. function a($a = "bad") {
  12. switch (PHP_OS) {
  13. case "LALALALA" : return "LALALAL";
  14. case PHP_OS: return "okey";
  15. default: break;
  16. }
  17. return $a;
  18. }
  19. var_dump(a());
  20. function b($b = "bad") {
  21. switch (PHP_OS) {
  22. case "LALALAL": return "bad";
  23. case PHP_OS:
  24. switch (PHP_OS) {
  25. case "FOO": break;
  26. case PHP_OS: return "okey";
  27. default :
  28. break;
  29. }
  30. break;
  31. default:
  32. break;
  33. }
  34. return $b;
  35. }
  36. var_dump(b());
  37. function c($b = "bad") {
  38. switch (extension_loaded("standard")) {
  39. case 0 : return "LALALAL";
  40. case 1 : return "okey";
  41. default : return "bad";
  42. }
  43. }
  44. var_dump(c());
  45. function d() {
  46. switch (PHP_OS) {
  47. default: return "bad";
  48. case PHP_OS: return "okey";
  49. }
  50. }
  51. var_dump(d());
  52. ?>
  53. --EXPECT--
  54. string(4) "okey"
  55. string(4) "okey"
  56. string(4) "okey"
  57. string(4) "okey"