php-src/ext/zend_test/tests/zend_test_compile_string.phpt
codinghuang 5bda4cd25a Support specifying start position in compile_string
Add additional zend_compile_position argument, which can be either
AT_SHEBANG, AT_OPEN_TAG or AFTER_OPEN_TAG. The previous behavior
corresponds to AFTER_OPEN_TAG.

Closes GH-7462.
2021-09-30 10:21:33 +02:00

55 lines
1.2 KiB
PHP

--TEST--
Zend: Test compile string
--EXTENSIONS--
zend_test
--FILE--
<?php
define('ZEND_COMPILE_POSITION_AT_SHEBANG', 0);
define('ZEND_COMPILE_POSITION_AT_OPEN_TAG', 1);
define('ZEND_COMPILE_POSITION_AFTER_OPEN_TAG', 2);
$source_string = <<<EOF
#!/path/to/php
<?php
var_dump('php');
EOF;
zend_test_compile_string($source_string, 'Source string', ZEND_COMPILE_POSITION_AT_SHEBANG);
$source_string = <<<EOF
#!/path/to/php
<?php
var_dump('php');
EOF;
zend_test_compile_string($source_string, 'Source string', ZEND_COMPILE_POSITION_AT_OPEN_TAG);
$source_string = <<<EOF
<?php
var_dump('php');
EOF;
zend_test_compile_string($source_string, 'Source string', ZEND_COMPILE_POSITION_AT_OPEN_TAG);
$source_string = <<<EOF
var_dump('php');
EOF;
zend_test_compile_string($source_string, 'Source string', ZEND_COMPILE_POSITION_AFTER_OPEN_TAG);
$source_string = <<<EOF
<?php
var_dump('php');
EOF;
zend_test_compile_string($source_string, 'Source string', ZEND_COMPILE_POSITION_AFTER_OPEN_TAG);
?>
--EXPECT--
string(3) "php"
#!/path/to/php
string(3) "php"
string(3) "php"
string(3) "php"
Parse error: syntax error, unexpected token "<", expecting end of file in Source string on line 1