Multiple tests had to be changed to escape the arguments in shell
commands. Some tests are skipped because they behave differently with
spaces in the path versus without. One notable example of this is the
hashbang test which does not work because spaces in hashbangs paths are
not supported in Linux.
Co-authored-by: Michael Voříšek <mvorisek@mvorisek.cz>
`escapeshellarg()` is pretty useless on Windows, and there is no way to
support multiple lines (i.e. line breaks). Thus, we use `proc_open()`
instead of `shell_exec()`.
We also remove some apparently superfluous empty lines from the test
expectation; that seems to match libedit behavior on Linux.
Closes GH-9474.
This test won't pass on Windows. The main reason is that the multiline
input is not really possible to create on cmd. But also, because of the
single quotes. And without multiline data piping, it doesn't make sense.