1--TEST--
2Bug #77812 (Interactive mode does not support PHP 7.3-style heredoc)
3--EXTENSIONS--
4readline
5--SKIPIF--
6<?php
7if (READLINE_LIB !== "readline") die('skip readline only');
8if (!function_exists('proc_open')) die('skip proc_open() not available');
9?>
10--FILE--
11<?php
12$php = getenv('TEST_PHP_EXECUTABLE');
13$ini = getenv('TEST_PHP_EXTRA_ARGS');
14$descriptorspec = [['pipe', 'r'], STDOUT, STDERR];
15$proc = proc_open("$php $ini -a", $descriptorspec, $pipes);
16var_dump($proc);
17fwrite($pipes[0], "echo <<<FOO\n    bar\n    FOO;\n");
18fwrite($pipes[0], "print(<<<FOO\nxx\nFOO);\n");
19fwrite($pipes[0], "echo <<<FOO\n    xxx\n    FOO;\nFOO\n;\n");
20fwrite($pipes[0], "echo <<<FOO\nFOOL\nFOO\n,1;\n");
21fwrite($pipes[0], "echo <<<FOO\nFOO4\nFOO\n,2;\n");
22fclose($pipes[0]);
23proc_close($proc);
24?>
25--EXPECTF--
26resource(%d) of type (process)
27Interactive shell
28
29php > echo <<<FOO
30<<< >     bar
31<<< >     FOO;
32bar
33php > print(<<<FOO
34<<< > xx
35<<< > FOO);
36xx
37php > echo <<<FOO
38<<< >     xxx
39<<< >     FOO;
40xxx
41php > FOO
42php > ;
43
44Warning: Uncaught Error: Undefined constant "FOO" in php shell code:1
45Stack trace:
46#0 {main}
47  thrown in php shell code on line 1
48php > echo <<<FOO
49<<< > FOOL
50<<< > FOO
51php > ,1;
52FOOL1
53php > echo <<<FOO
54<<< > FOO4
55<<< > FOO
56php > ,2;
57FOO42
58php >
59