016.phpt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. --TEST--
  2. CLI -a and readline
  3. --EXTENSIONS--
  4. readline
  5. --SKIPIF--
  6. <?php
  7. include "skipif.inc";
  8. if (readline_info('done') === NULL) {
  9. die ("skip need readline support");
  10. }
  11. ?>
  12. --FILE--
  13. <?php
  14. $php = getenv('TEST_PHP_EXECUTABLE');
  15. // disallow console escape sequences that may break the output
  16. putenv('TERM=VT100');
  17. $codes = array();
  18. $codes[1] = <<<EOT
  19. echo 'Hello world';
  20. exit
  21. EOT;
  22. $codes[] = <<<EOT
  23. echo 'multine
  24. single
  25. quote';
  26. exit
  27. EOT;
  28. $codes[] = <<<EOT
  29. echo <<<HEREDOC
  30. Here
  31. comes
  32. the
  33. doc
  34. HEREDOC;
  35. EOT;
  36. $codes[] = <<<EOT
  37. if (0) {
  38. echo "I'm not there";
  39. }
  40. echo "Done";
  41. EOT;
  42. $codes[] = <<<EOT
  43. function a_function_with_some_name() {
  44. echo "I was called!";
  45. }
  46. a_function_w );
  47. EOT;
  48. foreach ($codes as $key => $code) {
  49. echo "\n--------------\nSnippet no. $key:\n--------------\n";
  50. $code = escapeshellarg($code);
  51. echo `echo $code | "$php" -a`, "\n";
  52. }
  53. echo "\nDone\n";
  54. ?>
  55. --EXPECT--
  56. --------------
  57. Snippet no. 1:
  58. --------------
  59. Interactive shell
  60. php > echo 'Hello world';
  61. Hello world
  62. php > exit
  63. --------------
  64. Snippet no. 2:
  65. --------------
  66. Interactive shell
  67. php > echo 'multine
  68. php ' single
  69. php ' quote';
  70. multine
  71. single
  72. quote
  73. php > exit
  74. --------------
  75. Snippet no. 3:
  76. --------------
  77. Interactive shell
  78. php > echo <<<HEREDOC
  79. <<< > Here
  80. <<< > comes
  81. <<< > the
  82. <<< > doc
  83. <<< > HEREDOC;
  84. Here
  85. comes
  86. the
  87. doc
  88. php >
  89. --------------
  90. Snippet no. 4:
  91. --------------
  92. Interactive shell
  93. php > if (0) {
  94. php { echo "I'm not there";
  95. php { }
  96. php > echo "Done";
  97. Done
  98. php >
  99. --------------
  100. Snippet no. 5:
  101. --------------
  102. Interactive shell
  103. php > function a_function_with_some_name() {
  104. php { echo "I was called!";
  105. php { }
  106. php > a_function_with_some_name();
  107. I was called!
  108. php >
  109. Done