From: Antony Dovgal Date: Fri, 24 Nov 2006 13:32:07 +0000 (+0000) Subject: add tests for CLI X-Git-Tag: RELEASE_1_0_0RC1~915 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bc7e2172937fa02d22402825513105512e39e26f;p=php add tests for CLI --- diff --git a/sapi/cli/tests/001.phpt b/sapi/cli/tests/001.phpt new file mode 100644 index 0000000000..cbf9eedf44 --- /dev/null +++ b/sapi/cli/tests/001.phpt @@ -0,0 +1,19 @@ +--TEST-- +version string +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +string(%d) "PHP %s (cli) (built: %s)%s +Copyright (c) 1997-20%d The PHP Group +Zend Engine v%s, Copyright (c) 1998-20%d Zend Technologies +" +Done diff --git a/sapi/cli/tests/002-win32.phpt b/sapi/cli/tests/002-win32.phpt new file mode 100644 index 0000000000..d8dddf5730 --- /dev/null +++ b/sapi/cli/tests/002-win32.phpt @@ -0,0 +1,22 @@ +--TEST-- +running code with -r +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +string(18) "string(5) "hello" +" +Done diff --git a/sapi/cli/tests/002.phpt b/sapi/cli/tests/002.phpt new file mode 100644 index 0000000000..ffb72395d3 --- /dev/null +++ b/sapi/cli/tests/002.phpt @@ -0,0 +1,22 @@ +--TEST-- +running code with -r +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +string(18) "string(5) "hello" +" +Done diff --git a/sapi/cli/tests/003.phpt b/sapi/cli/tests/003.phpt new file mode 100644 index 0000000000..8a23587840 --- /dev/null +++ b/sapi/cli/tests/003.phpt @@ -0,0 +1,32 @@ +--TEST-- +defining INI options with -d +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +string(16) "string(3) "111" +" +string(16) "string(3) "500" +" +string(16) "string(3) "555" +" +string(40) "string(3) "555" +string(10) "/test/path" +" +Done diff --git a/sapi/cli/tests/004.phpt b/sapi/cli/tests/004.phpt new file mode 100644 index 0000000000..3674af7fee --- /dev/null +++ b/sapi/cli/tests/004.phpt @@ -0,0 +1,29 @@ +--TEST-- +show information about function +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +string(45) "Exception: Function unknown() does not exist +" +string(42) "Exception: Function echo() does not exist +" +string(119) "Function [ function phpinfo ] { + + - Parameters [1] { + Parameter #0 [ $what ] + } +} + +" +Done diff --git a/sapi/cli/tests/005.phpt b/sapi/cli/tests/005.phpt new file mode 100644 index 0000000000..e2f05bfa7f --- /dev/null +++ b/sapi/cli/tests/005.phpt @@ -0,0 +1,94 @@ +--TEST-- +show information about class +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +string(40) "Exception: Class unknown does not exist +" +string(178) "Class [ class stdClass ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [0] { + } +} + +" +string(1141) "Class [ class Exception ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [6] { + Property [ protected $message ] + Property [ private $string ] + Property [ protected $code ] + Property [ protected $file ] + Property [ protected $line ] + Property [ private $trace ] + } + + - Methods [9] { + Method [ final private method __clone ] { + } + + Method [ public method __construct ] { + + - Parameters [2] { + Parameter #0 [ $message ] + Parameter #1 [ $code ] + } + } + + Method [ final public method getMessage ] { + } + + Method [ final public method getCode ] { + } + + Method [ final public method getFile ] { + } + + Method [ final public method getLine ] { + } + + Method [ final public method getTrace ] { + } + + Method [ final public method getTraceAsString ] { + } + + Method [ public method __toString ] { + } + } +} + +" +Done diff --git a/sapi/cli/tests/006.phpt b/sapi/cli/tests/006.phpt new file mode 100644 index 0000000000..d8021027be --- /dev/null +++ b/sapi/cli/tests/006.phpt @@ -0,0 +1,325 @@ +--TEST-- +show information about extension +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +string(44) "Exception: Extension unknown does not exist +" +string(37) "Exception: Extension does not exist +" +string(%d) "Extension [ extension #%d date version %s ] { + + - Dependencies { + Dependency [ session (Optional) ] + } + + - INI { + Entry [ date.timezone ] + Current = '' + } + Entry [ date.default_latitude ] + Current = '%s' + } + Entry [ date.default_longitude ] + Current = '%s' + } + Entry [ date.sunset_zenith ] + Current = '%s' + } + Entry [ date.sunrise_zenith ] + Current = '%s' + } + } + + - Constants [14] { + Constant [ string DATE_ATOM ] { Y-m-d\TH:i:sP } + Constant [ string DATE_COOKIE ] { l, d-M-y H:i:s T } + Constant [ string DATE_ISO8601 ] { Y-m-d\TH:i:sO } + Constant [ string DATE_RFC822 ] { D, d M y H:i:s O } + Constant [ string DATE_RFC850 ] { l, d-M-y H:i:s T } + Constant [ string DATE_RFC1036 ] { D, d M y H:i:s O } + Constant [ string DATE_RFC1123 ] { D, d M Y H:i:s O } + Constant [ string DATE_RFC2822 ] { D, d M Y H:i:s O } + Constant [ string DATE_RFC3339 ] { Y-m-d\TH:i:sP } + Constant [ string DATE_RSS ] { D, d M Y H:i:s O } + Constant [ string DATE_W3C ] { Y-m-d\TH:i:sP } + Constant [ integer SUNFUNCS_RET_TIMESTAMP ] { 0 } + Constant [ integer SUNFUNCS_RET_STRING ] { 1 } + Constant [ integer SUNFUNCS_RET_DOUBLE ] { 2 } + } + + - Functions { + Function [ function strtotime ] { + + - Parameters [2] { + Parameter #0 [ $time ] + Parameter #1 [ $now ] + } + } + Function [ function date ] { + + - Parameters [2] { + Parameter #0 [ $format ] + Parameter #1 [ $timestamp ] + } + } + Function [ function idate ] { + + - Parameters [2] { + Parameter #0 [ $format ] + Parameter #1 [ $timestamp ] + } + } + Function [ function gmdate ] { + + - Parameters [2] { + Parameter #0 [ $format ] + Parameter #1 [ $timestamp ] + } + } + Function [ function mktime ] { + + - Parameters [6] { + Parameter #0 [ $hour ] + Parameter #1 [ $min ] + Parameter #2 [ $sec ] + Parameter #3 [ $mon ] + Parameter #4 [ $day ] + Parameter #5 [ $year ] + } + } + Function [ function gmmktime ] { + + - Parameters [6] { + Parameter #0 [ $hour ] + Parameter #1 [ $min ] + Parameter #2 [ $sec ] + Parameter #3 [ $mon ] + Parameter #4 [ $day ] + Parameter #5 [ $year ] + } + } + Function [ function checkdate ] { + + - Parameters [3] { + Parameter #0 [ $month ] + Parameter #1 [ $day ] + Parameter #2 [ $year ] + } + } + Function [ function strftime ] { + + - Parameters [2] { + Parameter #0 [ $format ] + Parameter #1 [ $timestamp ] + } + } + Function [ function gmstrftime ] { + + - Parameters [2] { + Parameter #0 [ $format ] + Parameter #1 [ $timestamp ] + } + } + Function [ function time ] { + + - Parameters [0] { + } + } + Function [ function localtime ] { + + - Parameters [2] { + Parameter #0 [ $timestamp ] + Parameter #1 [ $associative_array ] + } + } + Function [ function getdate ] { + + - Parameters [1] { + Parameter #0 [ $timestamp ] + } + } + Function [ function date_create ] { + } + Function [ function date_parse ] { + } + Function [ function date_format ] { + } + Function [ function date_format_locale ] { + } + Function [ function date_modify ] { + } + Function [ function date_timezone_get ] { + } + Function [ function date_timezone_set ] { + } + Function [ function date_offset_get ] { + } + Function [ function date_time_set ] { + } + Function [ function date_date_set ] { + } + Function [ function date_isodate_set ] { + } + Function [ function timezone_open ] { + } + Function [ function timezone_name_get ] { + } + Function [ function timezone_name_from_abbr ] { + } + Function [ function timezone_offset_get ] { + } + Function [ function timezone_transitions_get ] { + } + Function [ function timezone_identifiers_list ] { + } + Function [ function timezone_abbreviations_list ] { + } + Function [ function date_default_timezone_set ] { + + - Parameters [1] { + Parameter #0 [ $timezone_identifier ] + } + } + Function [ function date_default_timezone_get ] { + + - Parameters [0] { + } + } + Function [ function date_sunrise ] { + + - Parameters [6] { + Parameter #0 [ $time ] + Parameter #1 [ $format ] + Parameter #2 [ $latitude ] + Parameter #3 [ $longitude ] + Parameter #4 [ $zenith ] + Parameter #5 [ $gmt_offset ] + } + } + Function [ function date_sunset ] { + + - Parameters [6] { + Parameter #0 [ $time ] + Parameter #1 [ $format ] + Parameter #2 [ $latitude ] + Parameter #3 [ $longitude ] + Parameter #4 [ $zenith ] + Parameter #5 [ $gmt_offset ] + } + } + Function [ function date_sun_info ] { + + - Parameters [3] { + Parameter #0 [ $time ] + Parameter #1 [ $latitude ] + Parameter #2 [ $longitude ] + } + } + } + + - Classes [2] { + Class [ class DateTime ] { + + - Constants [11] { + Constant [ string ATOM ] { Y-m-d\TH:i:sP } + Constant [ string COOKIE ] { l, d-M-y H:i:s T } + Constant [ string ISO8601 ] { Y-m-d\TH:i:sO } + Constant [ string RFC822 ] { D, d M y H:i:s O } + Constant [ string RFC850 ] { l, d-M-y H:i:s T } + Constant [ string RFC1036 ] { D, d M y H:i:s O } + Constant [ string RFC1123 ] { D, d M Y H:i:s O } + Constant [ string RFC2822 ] { D, d M Y H:i:s O } + Constant [ string RFC3339 ] { Y-m-d\TH:i:sP } + Constant [ string RSS ] { D, d M Y H:i:s O } + Constant [ string W3C ] { Y-m-d\TH:i:sP } + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [9] { + Method [ public method __construct ] { + } + + Method [ public method format ] { + } + + Method [ public method modify ] { + } + + Method [ public method getTimezone ] { + } + + Method [ public method setTimezone ] { + } + + Method [ public method getOffset ] { + } + + Method [ public method setTime ] { + } + + Method [ public method setDate ] { + } + + Method [ public method setISODate ] { + } + } + } + + Class [ class DateTimeZone ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [2] { + Method [ static public method listAbbreviations ] { + } + + Method [ static public method listIdentifiers ] { + } + } + + - Properties [0] { + } + + - Methods [4] { + Method [ public method __construct ] { + } + + Method [ public method getName ] { + } + + Method [ public method getOffset ] { + } + + Method [ public method getTransitions ] { + } + } + } + } +} + +" +Done diff --git a/sapi/cli/tests/007.phpt b/sapi/cli/tests/007.phpt new file mode 100644 index 0000000000..d0c82d35e5 --- /dev/null +++ b/sapi/cli/tests/007.phpt @@ -0,0 +1,52 @@ +--TEST-- +strip comments and whitespace with -w +--SKIPIF-- + +--FILE-- + +'; + +file_put_contents($filename, $code); + +var_dump(`"$php" -w "$filename"`); +var_dump(`"$php" -w "wrong"`); +var_dump(`echo "" | $php -w`); + +@unlink($filename); + +echo "Done\n"; +?> +--EXPECTF-- +string(81) " + +" +string(33) "Could not open input file: wrong +" +string(43) " +" +Done diff --git a/sapi/cli/tests/008.phpt b/sapi/cli/tests/008.phpt new file mode 100644 index 0000000000..cd828fa99a --- /dev/null +++ b/sapi/cli/tests/008.phpt @@ -0,0 +1,43 @@ +--TEST-- +execute a file with -f +--SKIPIF-- + +--FILE-- + +'; + +file_put_contents($filename, $code); + +var_dump(`"$php" -f "$filename"`); +var_dump(`"$php" -f "wrong"`); + +@unlink($filename); + +echo "Done\n"; +?> +--EXPECTF-- +string(%d) " + +Fatal error: Cannot access private property test::$pri in %s on line %d +" +string(33) "Could not open input file: wrong +" +Done diff --git a/sapi/cli/tests/009.phpt b/sapi/cli/tests/009.phpt new file mode 100644 index 0000000000..53e24859fc --- /dev/null +++ b/sapi/cli/tests/009.phpt @@ -0,0 +1,23 @@ +--TEST-- +using invalid combinations of cmdline options +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +string(55) "You cannot use both -n and -c switch. Use -h for help. +" +string(57) "Either execute direct code, process stdin or use a file. +" +string(57) "Either execute direct code, process stdin or use a file. +" +Done diff --git a/sapi/cli/tests/010-2.phpt b/sapi/cli/tests/010-2.phpt new file mode 100644 index 0000000000..60865df712 --- /dev/null +++ b/sapi/cli/tests/010-2.phpt @@ -0,0 +1,35 @@ +--TEST-- +executing a code with -R +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +string(21) "int(1) +int(1) +int(1) +" +Done diff --git a/sapi/cli/tests/010.phpt b/sapi/cli/tests/010.phpt new file mode 100644 index 0000000000..eb406934a7 --- /dev/null +++ b/sapi/cli/tests/010.phpt @@ -0,0 +1,47 @@ +--TEST-- +executing a file with -F +--SKIPIF-- + +--FILE-- + +'; + +file_put_contents($filename, $code); + +$txt = ' +test +hello +'; + +file_put_contents($filename_txt, $txt); + +var_dump(`cat "$filename_txt" | "$php" -F "$filename"`); + +@unlink($filename); +@unlink($filename_txt); + +echo "Done\n"; +?> +--EXPECTF-- +string(38) " +string(10) "test +hello" + +bool(false) +" +Done diff --git a/sapi/cli/tests/011.phpt b/sapi/cli/tests/011.phpt new file mode 100644 index 0000000000..ded6d90555 --- /dev/null +++ b/sapi/cli/tests/011.phpt @@ -0,0 +1,58 @@ +--TEST-- +syntax check +--SKIPIF-- + +--FILE-- + +'; + +file_put_contents($filename, $code); + +var_dump(`"$php" -l "$filename"`); +var_dump(`"$php" -l some.unknown`); + +$code = ' + +'; + +file_put_contents($filename, $code); + +var_dump(`"$php" -l "$filename"`); + +@unlink($filename); + +echo "Done\n"; +?> +--EXPECTF-- +string(%d) "No syntax errors detected in %s011.test.php +" +string(40) "Could not open input file: some.unknown +" +string(%d) " +Parse error: syntax error, unexpected T_PRIVATE, expecting '{' in %s on line %d +Errors parsing %s011.test.php +" +Done diff --git a/sapi/cli/tests/012.phpt b/sapi/cli/tests/012.phpt new file mode 100644 index 0000000000..baa4478294 --- /dev/null +++ b/sapi/cli/tests/012.phpt @@ -0,0 +1,38 @@ +--TEST-- +invalid arguments and error messages +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +string(32) "You can use -R or -F only once. +" +string(32) "You can use -R or -F only once. +" +string(32) "You can use -R or -F only once. +" +string(32) "You can use -R or -F only once. +" +string(26) "You can use -f only once. +" +string(26) "You can use -B only once. +" +string(26) "You can use -E only once. +" +string(26) "You can use -r only once. +" +Done diff --git a/sapi/cli/tests/013.phpt b/sapi/cli/tests/013.phpt new file mode 100644 index 0000000000..6b2b39056d --- /dev/null +++ b/sapi/cli/tests/013.phpt @@ -0,0 +1,34 @@ +--TEST-- +running PHP code before and after processing input lines with -B and -E +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +string(18) "string(5) "start" +" +string(16) "string(3) "end" +" +string(34) "string(5) "start" +string(3) "end" +" +Done diff --git a/sapi/cli/tests/014.phpt b/sapi/cli/tests/014.phpt new file mode 100644 index 0000000000..b79de83edc --- /dev/null +++ b/sapi/cli/tests/014.phpt @@ -0,0 +1,44 @@ +--TEST-- +syntax highlighting +--SKIPIF-- + +--FILE-- + +'; + +file_put_contents($filename, $code); + +var_dump(`"$php" -n -s "$filename"`); +var_dump(`"$php" -n -s "unknown"`); + +@unlink($filename); + +echo "Done\n"; +?> +--EXPECTF-- +string(1478) " +
<?php
$test 
"var"//var
/* test class */
class test {
    private 
$var = array();

    public static function 
foo(Test $arg) {
        echo 
"hello";
        
var_dump($this);
    }
}

$o = new test;
?>
+
+
" +string(35) "Could not open input file: unknown +" +Done diff --git a/sapi/cli/tests/skipif.inc b/sapi/cli/tests/skipif.inc new file mode 100644 index 0000000000..79e6c91004 --- /dev/null +++ b/sapi/cli/tests/skipif.inc @@ -0,0 +1,7 @@ +