qutebrowser/tests/end2end/features/spawn.feature
Daniel Schadt b0114768c7 fix spawn tests on Windows
On Windows, no echo.exe exists normally, so calling echo from the tests
is no good idea, since it relies on Cygwin to be installed and in %PATH%
(so that echo.exe is available).

This fixes this by providing a small echo.bat which is callable from the
tests, and then using a platform-specific path to the executable instead
of the hardcoded "echo". This should ensure that the tests pass even on
systems where echo.exe is not installed.

Note that we can't simply use a do-nothing exe (like rundll or hh.exe),
as we're passing parameters, and those executables may behave
differently in the presence of those parameters.
2016-09-08 23:14:10 +02:00

52 lines
2.2 KiB
Gherkin

Feature: :spawn
Scenario: Running :spawn
When I run :spawn -v (echo-exe) "Hello"
Then the message "Command exited successfully." should be shown
Scenario: Running :spawn with command that does not exist
When I run :spawn command_does_not_exist127623
Then the error "Error while spawning command: The process failed to start." should be shown
Scenario: Starting a userscript which doesn't exist
When I run :spawn -u this_does_not_exist
Then the error "Error while spawning userscript: The process failed to start." should be shown
# https://github.com/The-Compiler/qutebrowser/issues/1614
@posix
Scenario: Running :spawn with invalid quoting
When I run :spawn ""'""
Then the error "Error while splitting command: No closing quotation" should be shown
Scenario: Running :spawn with url variable
When I run :spawn (echo-exe) {url}
Then "Executing * with args ['about:blank'], userscript=False" should be logged
Scenario: Running :spawn with url variable in fully encoded format
When I open data/title with spaces.html
And I run :spawn (echo-exe) {url}
Then "Executing * with args ['http://localhost:(port)/data/title%20with%20spaces.html'], userscript=False" should be logged
Scenario: Running :spawn with url variable in pretty decoded format
When I open data/title with spaces.html
And I run :spawn (echo-exe) {url:pretty}
Then "Executing * with args ['http://localhost:(port)/data/title with spaces.html'], userscript=False" should be logged
@posix
Scenario: Running :spawn with userscript
When I open about:blank
And I run :spawn -u (testdata)/userscripts/open_current_url
And I wait until about:blank is loaded
Then the following tabs should be open:
- about:blank
- about:blank (active)
@windows
Scenario: Running :spawn with userscript on Windows
When I open about:blank
And I run :spawn -u (testdata)/userscripts/open_current_url.bat
And I wait until about:blank is loaded
Then the following tabs should be open:
- about:blank
- about:blank (active)