summaryrefslogtreecommitdiff
path: root/sapi/cli/tests
diff options
context:
space:
mode:
Diffstat (limited to 'sapi/cli/tests')
-rw-r--r--sapi/cli/tests/010.phpt23
-rw-r--r--sapi/cli/tests/016.phpt105
-rw-r--r--sapi/cli/tests/017.phpt106
3 files changed, 222 insertions, 12 deletions
diff --git a/sapi/cli/tests/010.phpt b/sapi/cli/tests/010.phpt
index e465e37973..77c76c1940 100644
--- a/sapi/cli/tests/010.phpt
+++ b/sapi/cli/tests/010.phpt
@@ -12,8 +12,8 @@ if (substr(PHP_OS, 0, 3) == 'WIN') {
$php = getenv('TEST_PHP_EXECUTABLE');
-$filename = dirname(__FILE__)."/010.test.php";
-$filename_txt = dirname(__FILE__)."/010.test.txt";
+$filename = __DIR__."/010.test.php";
+$filename_txt = __DIR__."/010.test.txt";
$code = '
<?php
@@ -25,23 +25,22 @@ file_put_contents($filename, $code);
$txt = '
test
-hello
-';
+hello';
file_put_contents($filename_txt, $txt);
var_dump(`cat "$filename_txt" | "$php" -n -F "$filename"`);
-@unlink($filename);
-@unlink($filename_txt);
-
-echo "Done\n";
+?>
+===DONE===
+--CLEAN--
+<?php
+@unlink(__DIR__."/010.test.php");
+@unlink(__DIR__."/010.test.txt");
?>
--EXPECTF--
-string(39) "
+string(25) "
string(10) "test
hello"
-
-string(0) ""
"
-Done
+===DONE===
diff --git a/sapi/cli/tests/016.phpt b/sapi/cli/tests/016.phpt
index 0b90844f37..937ff62ccd 100644
--- a/sapi/cli/tests/016.phpt
+++ b/sapi/cli/tests/016.phpt
@@ -103,3 +103,108 @@ php > php { php { php > I was called!
php >
Done
+--TEST--
+CLI -a and readline
+--SKIPIF--
+<?php
+include "skipif.inc";
+if (!extension_loaded('readline') || readline_info('done') === NULL) {
+ die ("skip need readline support");
+}
+?>
+--FILE--
+<?php
+$php = getenv('TEST_PHP_EXECUTABLE');
+
+$codes = array();
+
+$codes[1] = <<<EOT
+echo 'Hello world';
+exit
+EOT;
+
+$codes[] = <<<EOT
+echo 'multine
+single
+quote';
+exit
+EOT;
+
+$codes[] = <<<EOT
+echo <<<HEREDOC
+Here
+comes
+the
+doc
+HEREDOC;
+EOT;
+
+$codes[] = <<<EOT
+if (0) {
+ echo "I'm not there";
+}
+echo "Done";
+EOT;
+
+$codes[] = <<<EOT
+function a_function_with_some_name() {
+ echo "I was called!";
+}
+a_function_w );
+EOT;
+
+foreach ($codes as $key => $code) {
+ echo "\n--------------\nSnippet no. $key:\n--------------\n";
+ $code = escapeshellarg($code);
+ echo `echo $code | "$php" -a`, "\n";
+}
+
+echo "\nDone\n";
+?>
+--EXPECTF--
+--------------
+Snippet no. 1:
+--------------
+Interactive shell
+
+php > Hello world
+php >
+
+--------------
+Snippet no. 2:
+--------------
+Interactive shell
+
+php > php ' php ' multine
+single
+quote
+php >
+
+--------------
+Snippet no. 3:
+--------------
+Interactive shell
+
+php > <<< > <<< > <<< > <<< > <<< > Here
+comes
+the
+doc
+php >
+
+--------------
+Snippet no. 4:
+--------------
+Interactive shell
+
+php > php { php { php > Done
+php >
+
+--------------
+Snippet no. 5:
+--------------
+Interactive shell
+
+php > php { php { php > I was called!
+php >
+
+Done
diff --git a/sapi/cli/tests/017.phpt b/sapi/cli/tests/017.phpt
index efaf977db4..c8c7d5e445 100644
--- a/sapi/cli/tests/017.phpt
+++ b/sapi/cli/tests/017.phpt
@@ -104,3 +104,109 @@ Parse error: syntax error, unexpected ')' in php shell code on line 1
Done
+--TEST--
+CLI -a and libedit
+--SKIPIF--
+<?php
+include "skipif.inc";
+if (!extension_loaded('readline') || readline_info('done') !== NULL) {
+ die ("skip need readline support using libedit");
+}
+?>
+--FILE--
+<?php
+$php = getenv('TEST_PHP_EXECUTABLE');
+
+$codes = array();
+
+$codes[1] = <<<EOT
+echo 'Hello world';
+exit
+EOT;
+
+$codes[] = <<<EOT
+echo 'multine
+single
+quote';
+exit
+EOT;
+
+$codes[] = <<<EOT
+echo <<<HEREDOC
+Here
+comes
+the
+doc
+HEREDOC;
+EOT;
+
+$codes[] = <<<EOT
+if (0) {
+ echo "I'm not there";
+}
+echo "Done";
+EOT;
+
+$codes[] = <<<EOT
+function a_function_with_some_name() {
+ echo "I was called!";
+}
+a_function_w );
+EOT;
+
+foreach ($codes as $key => $code) {
+ echo "\n--------------\nSnippet no. $key:\n--------------\n";
+ $code = escapeshellarg($code);
+ echo `echo $code | "$php" -a`, "\n";
+}
+
+echo "\nDone\n";
+?>
+--EXPECTF--
+--------------
+Snippet no. 1:
+--------------
+Interactive shell
+
+Hello world
+
+
+--------------
+Snippet no. 2:
+--------------
+Interactive shell
+
+multine
+single
+quote
+
+
+--------------
+Snippet no. 3:
+--------------
+Interactive shell
+
+Here
+comes
+the
+doc
+
+
+--------------
+Snippet no. 4:
+--------------
+Interactive shell
+
+Done
+
+
+--------------
+Snippet no. 5:
+--------------
+Interactive shell
+
+
+Parse error: syntax error, unexpected ')' in php shell code on line 1
+
+
+Done