bug24951.phpt 786 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. --TEST--
  2. Bug #24951 (ob_flush() destroys output handler)
  3. --FILE--
  4. <?php
  5. function test($s, $mode)
  6. {
  7. return (($mode & PHP_OUTPUT_HANDLER_START)?"[":"") . $s . (($mode & PHP_OUTPUT_HANDLER_END)?"]\n":"");
  8. }
  9. function t1()
  10. {
  11. ob_start("test");
  12. echo "Hello from t1 1 ";
  13. echo "Hello from t1 2 ";
  14. ob_end_flush();
  15. }
  16. function t2()
  17. {
  18. ob_start("test");
  19. echo "Hello from t2 1 ";
  20. ob_flush();
  21. echo "Hello from t2 2 ";
  22. ob_end_flush();
  23. }
  24. function t3()
  25. {
  26. ob_start("test");
  27. echo "Hello from t3 1 ";
  28. ob_clean();
  29. echo "Hello from t3 2 ";
  30. ob_end_flush();
  31. }
  32. t1(); echo "\n";
  33. t2(); echo "\n";
  34. t3(); echo "\n";
  35. ?>
  36. --EXPECT--
  37. [Hello from t1 1 Hello from t1 2 ]
  38. [Hello from t2 1 Hello from t2 2 ]
  39. Hello from t3 2 ]