Florian Bruhin
3a27c45ac9
More cleanup in test_webkitqutescheme
2016-09-14 12:08:35 +02:00
Florian Bruhin
5b527d0f1e
Rename test_qutescheme to test_webkitqutescheme
2016-09-14 12:07:26 +02:00
Florian Bruhin
cc1e134f25
Fix test_qutescheme.py
2016-09-14 12:05:15 +02:00
Florian Bruhin
0657eeb8f4
Activate QtWebEngine tests for qute:*
2016-09-14 11:14:04 +02:00
Florian Bruhin
4a14083507
Fix :jseval --world contitional in set_text_field
...
See #1942
2016-09-13 07:59:21 +02:00
Ryan Roden-Corrent
e23d611b37
Strip quotes from completion pattern.
...
Given a commandline like:
`:set general editor "gvim -f"|`, the pattern should be 'gvim -f'
rather than '"gvim -f"'.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
e65aba74fd
Test pattern for Completion.update_completion.
...
In the update_completion unit test, verify the `pattern` parameter as
well as the `model`.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
b867b87955
Don't crash Completer on unknown command.
...
The CommandRunner's fallback parsing behavior treated whitespace
differently than the normal flow. When a user entered an unknown
command, trailing whitespace would be stripped and the cmdline length
would be less than the cursor position.
This is fixed by making the fallback use the ShellLexer just as the
'normal' parsing does.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
52fdad8186
Test on_selection_changed with maxsplit
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
d651cc75b0
Fix flake8/pylint errors.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
808a645b40
Fix quick-complete highlighting quirk.
...
When the commandline reads ':open |', quick-completing the only offered
completion will set the commandline to ':open some_url |'. Since `open`
has `maxsplit=0`, everything after ':open' is (correctly) treated as
one argument. This means completion is opened again with 'some url '
as the pattern (note trailing whitespace), which makes the comletion
menu 'flicker' and stay open even though it was 'supposed' to quick
compelte.
This is fixed by ignoring the next completion request if we just
completed something after maxsplit (because we don't expect any more
completions after the last split).
Resolves #1519 .
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
127412d91c
Simplify update_completion.
...
Remove the class variables _cursor_part and _empty_item_index. Instead,
split up the commandline around the cursor whenever that information is
needed. Using locals instead of class variables makes the logic easier
to follow and ends up requiring much less code.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
581d7659ba
Clean up Completer.on_selection_changed.
...
Remove the dependency on the class variables _empty_item_index
and _cursor_part to make the code easier to follow. If
_update_completion is refactored in a similar way these variables can
be removed.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
eb384fdda0
Better Completer.on_selection_changed testing.
...
Preparation for refactoring.
2016-09-12 22:19:44 -04:00
Florian Bruhin
e4192b5158
Yet another flaky test...
2016-09-12 22:49:55 +02:00
Florian Bruhin
1f10c7ff94
Fix broken hint test
...
The wait we added a few commits earlier was just plain wrong, filtering
the strings isn't going to print that, and shouldn't happen async
anyways...
2016-09-12 22:00:54 +02:00
Florian Bruhin
11abb642ab
Remove downloading test with deleting handler
...
This actually is kind of tricky, and it makes later tests fail because
the tmpdir is suddenly gone...
2016-09-12 20:53:01 +02:00
Florian Bruhin
54c32cc74e
Fix long line
2016-09-12 20:41:51 +02:00
Florian Bruhin
07e67740cc
Add missing jseval.html
2016-09-12 20:02:03 +02:00
Florian Bruhin
e6680c3c60
Also redirect $HOME for QtWebEngine tests
...
See https://github.com/The-Compiler/qutebrowser/pull/1637#issuecomment-243043811
2016-09-12 19:55:31 +02:00
Florian Bruhin
08e95f76a6
QtWebEngine: Stabilize/reactivate two hint tests
2016-09-12 18:59:37 +02:00
Florian Bruhin
516bfb5ba3
Un-flaky another test waiting for scrolling
2016-09-12 18:58:31 +02:00
Florian Bruhin
c40325b510
Stabilize "Jumping back after searching" test
...
The test was flaky because waiting for scrolling didn't actually wait,
as the page logged a scroll position change to 0/0 directly after
loading.
We work around this by making the generic "And I wait until the scroll
position changed" not wait when it changed to 0/0.
2016-09-12 18:53:56 +02:00
Florian Bruhin
9e20e3a802
Skip :jseval with world tests for PyQt < 5.7.0
2016-09-12 18:30:49 +02:00
Florian Bruhin
c9e3cc04cf
Accept a name for --world with :jseval
2016-09-12 18:23:23 +02:00
Florian Bruhin
2281f0c790
Fix :insert-text test for QtWebEngine
2016-09-12 15:59:23 +02:00
Florian Bruhin
b2608d7697
Add --world to :jseval
2016-09-12 15:59:17 +02:00
Florian Bruhin
fa78cc9f69
tests: Allow to mark JS errors as expected
2016-09-12 15:57:02 +02:00
Florian Bruhin
b645a88ade
Stabilize :insert-text tests
...
With QtWebEngine, inserting text into the field is async, so if our
test runs too fast, it would fail. Now we instead log stuff via JS on
changes insteaad, and wait for those log messages in the tests.
2016-09-12 15:25:03 +02:00
Florian Bruhin
d988f919d7
Fix test_quteprocess.py
2016-09-12 12:01:31 +02:00
Florian Bruhin
2388489038
downloads: Be okay with the tmpdir being gone
2016-09-12 11:30:44 +02:00
Florian Bruhin
38a3d118ab
Nicer linebreaking in _render_log
2016-09-12 11:24:57 +02:00
Florian Bruhin
469c75662e
Fix docstring
2016-09-12 11:24:20 +02:00
Florian Bruhin
8afb02eef7
bdd: Don't log VDEBUG lines without --verbose
2016-09-12 11:23:56 +02:00
Florian Bruhin
fff777404b
Use QApplication.postEvent again
...
We had some funny segfaults reported during scrolling (i.e. with
QApplication.sendEvent), and some code already had to use postpone=True
so there was no segfault...
So now we're back to postEvent again, and eliminated the main reason for
segfaults with it, which was re-using (and -posting) events which had
already been posted.
At least during tests this seems to run stable, let's hope it helps for
the people having crashes as well.
2016-09-11 19:37:09 +02:00
Florian Bruhin
ac7ee5ed8b
Stabilize :tab-clone tests
...
Those were flaky with QtWebEngine on OS X:
https://travis-ci.org/The-Compiler/qutebrowser/jobs/159094434
2016-09-11 16:22:20 +02:00
Florian Bruhin
101d30fe1e
Make _get_echo_exe_path() private in bdd conftest
2016-09-11 16:15:27 +02:00
Florian Bruhin
1fe2579bb1
Merge branch 'windows-userscripts' of https://github.com/Kingdread/qutebrowser into Kingdread-windows-userscripts
2016-09-11 16:14:25 +02:00
Florian Bruhin
11ee5befcc
Fix download tests on Windows
2016-09-11 15:53:46 +02:00
Florian Bruhin
b949e4d73a
Start splitting DownloadModel from DownloadManager
...
This mostly works, apart from remove_item/remove_items not being
available on the model.
2016-09-11 14:58:07 +02:00
Florian Bruhin
4c55963dc3
Fix lint
2016-09-10 17:32:04 +02:00
Florian Bruhin
b2d8905d68
Remove {downloaddir} in downloads.feature
...
We can just use (tmpdir) instead which we already use everywhere else as
well.
2016-09-10 16:42:27 +02:00
Florian Bruhin
0ba74ad023
Add Qt model test for download model
2016-09-10 16:42:26 +02:00
Florian Bruhin
d13f88f0ac
Add lots of new BDD tests for downloads
2016-09-10 16:42:26 +02:00
Florian Bruhin
dc8396986e
FIx expected message in test_invocations
2016-09-10 16:42:26 +02:00
Florian Bruhin
a21cd9f56e
Set remove-finished-downloads in download tests
2016-09-10 16:42:26 +02:00
Florian Bruhin
17caf80f2a
bdd: Add "I wait for the javascript message" step
2016-09-10 16:42:26 +02:00
Florian Bruhin
9f1aacc4f0
Move pdfjs check to the end2end conftest
2016-09-10 16:24:31 +02:00
Florian Bruhin
230cd40b12
Add a test for a misconfigured XDG_DOWNLOAD_DIR
...
See #866 and #1269 .
2016-09-09 18:46:51 +02:00
Florian Bruhin
a4d0449e19
Use a shorter XDG_RUNTIME_DIR for temp_basedir_env
...
Otherwise with longer test names, we can't listen to the IPC server as
the filename is too long for a local socket.
2016-09-09 18:46:51 +02:00
Florian Bruhin
143a4af91b
Improve :download-open tests
2016-09-09 18:46:51 +02:00
Florian Bruhin
2df971a79c
Move short_tmpdir fixture to conftest.py
2016-09-09 18:46:51 +02:00
Florian Bruhin
b5b46332c7
Add test for downloading to an inexistent dir
2016-09-09 18:46:51 +02:00
Florian Bruhin
d64241bed9
Add a test for a download without content-size
2016-09-09 18:46:51 +02:00
Florian Bruhin
2177aa574c
Improve download BDD tests
...
This reorganizes the existing tests a bit and adds some new ones.
2016-09-09 18:46:51 +02:00
Florian Bruhin
7611281563
Add basename to "download finished" message
2016-09-09 18:46:51 +02:00
Florian Bruhin
864ec94cde
Fix lint
2016-09-09 17:56:58 +02:00
knaggita
9ff3f6810a
Remove --qt-* arguments
2016-09-09 17:55:16 +02:00
Florian Bruhin
d0cf452ec8
Remove :prompt-yes and :prompt-no
...
Those are replaced by :prompt-accept yes and :prompt-accept no
2016-09-09 15:59:00 +02:00
Florian Bruhin
d579697245
Add a value argument to :prompt-accept
2016-09-09 15:48:42 +02:00
Florian Bruhin
71a89bd418
*Really* fix completion with multiple words.
...
Turns out re.escape also escapes spaces, so we'd need to replace '(\\ )'
groups after escaping. At this point it's easier to just combine spaces
before escaping the pattern.
Fixes #1934 .
Supersedes #1935 .
2016-09-09 09:03:18 +02:00
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
Daniel Schadt
f6c6f766cd
add newline at the end of the file
2016-09-08 23:13:00 +02:00
Florian Bruhin
0a3853fcb7
Fix handling of spaces in completion
...
This is a regression introduced in
faa052ad6f
.
Fixes #1934 .
2016-09-08 21:59:18 +02:00
Florian Bruhin
93428c4e2b
Skip instead of xfail JS prompt test on WebEngine
...
We probably get stuck with a visual JS prompt, so for some reason the
following header tests fail.
2016-09-07 20:25:56 +02:00
Florian Bruhin
26025214ed
Mark session loading tests with @qtwebengine_flaky
2016-09-07 19:03:41 +02:00
Florian Bruhin
a119e9d5b0
Mark :insert-text with undo test as xfail on OS X
2016-09-07 19:01:24 +02:00
Florian Bruhin
d299fd260c
Fix adblock tests
2016-09-07 18:53:11 +02:00
Florian Bruhin
f3d540b375
Fix adblock tests
2016-09-07 18:47:39 +02:00
Florian Bruhin
44d1056e54
QtWebEngine: Implement custom HTTP headers
2016-09-07 18:29:38 +02:00
Florian Bruhin
3ce9e795a1
Add a simple end2end test for :adblock-update
2016-09-07 16:27:27 +02:00
Florian Bruhin
8cef35517f
Add a manual test file for uploading files
2016-09-07 13:40:05 +02:00
Florian Bruhin
fca37abf55
QtWebEngine: Implement webelem.classes
2016-09-07 12:31:48 +02:00
Florian Bruhin
522049132b
Add a test for hinting with ACE editor
2016-09-07 12:28:12 +02:00
Florian Bruhin
3e1583bb1c
Make WebKitElement._is_visible private
...
It makes a lot of sense for this to be in webkitelem.py, but it should
not be public API as it's only used internally and can't be implemented
here with QtWebEngine.
2016-09-07 11:58:39 +02:00
Florian Bruhin
60c86a08c4
Get rid of WebElement.debug_text
2016-09-07 11:47:39 +02:00
Florian Bruhin
2da827462e
Add a test to make sure check_coverage files exist
2016-09-07 11:37:21 +02:00
Florian Bruhin
e700d11447
Add check_vanished() in webkitelem.insert_text
2016-09-07 11:29:26 +02:00
Florian Bruhin
8f9cfcf232
Get rid of webelem.run_js_async
2016-09-07 11:27:37 +02:00
Florian Bruhin
78d64f4791
Get rid of webkitelem.focus_elem
2016-09-07 11:24:28 +02:00
Florian Bruhin
c267776491
Add missing :leave-mode for insert-mode test
...
Otherwise we hint while still in insert mode - while this seems to work
fine, let's do things the cleaner way.
2016-09-07 11:21:27 +02:00
Florian Bruhin
948fa033c7
Implement :insert-text for QtWebEngine
2016-09-07 11:20:32 +02:00
Florian Bruhin
ee5a972069
Move auto-insert-mode handling to browsertab
...
This means auto-insert-mode now works correctly with QtWebEngine.
2016-09-07 10:24:27 +02:00
Florian Bruhin
919196714b
QtWebEngine: Implement WebEngineScroller.at_bottom
2016-09-07 09:32:51 +02:00
Florian Bruhin
cf6cffeb08
tests: Ignore "Xlib: sequence lost" error
2016-09-06 22:10:34 +02:00
Florian Bruhin
08302c5a5f
Apply @qtwebengine_flaky (too) liberally
2016-09-06 22:10:28 +02:00
Florian Bruhin
1106104700
Add a @qtwebengine_flaky marker
2016-09-06 21:43:02 +02:00
Florian Bruhin
37b1c26e1c
Don't check active win for WebEngine session test
2016-09-06 21:22:50 +02:00
Florian Bruhin
e3e7366863
Make pylint shut up
2016-09-06 21:21:37 +02:00
Daniel Schadt
22ac19b151
style fixes
2016-09-06 20:33:48 +02:00
Florian Bruhin
c58a0e926f
Skip scrolling tests on Qt < 5.7
...
This fixes tests on OS X on Travis, since Homebrew is still on Qt 5.6.
2016-09-06 20:29:58 +02:00
Florian Bruhin
22d9c49169
Stabilize scrolling in :repeat-command test
2016-09-06 19:34:38 +02:00
Florian Bruhin
010a52efb8
Stabilize :tab-detach test in invoke.feature
...
When we detach a tab, we need to wait until the page is actually loaded
in the newly detached tab before saving the session.
2016-09-06 19:33:09 +02:00
Florian Bruhin
c59a1535c5
Don't check active window in session test
...
This is flaky as we don't know which window is actually focused.
2016-09-06 19:29:12 +02:00
Daniel Schadt
0ab1902c98
add an userscript test for Windows
2016-09-06 18:41:24 +02:00
nanjekyejoannah
d3e19ec8fc
Add general -> yank-ignored-url-parameters
2016-09-06 18:19:40 +02:00
Florian Bruhin
e77bf62ace
Remove unnecessary @qtwebengine_createWindow tags
...
Since we did now remove the error message, some more tests actually run
fine without the createWindow patch.
2016-09-06 18:04:54 +02:00
Florian Bruhin
7356e32b94
QtWebEngine: Don't search the Holy Grail
2016-09-06 17:38:13 +02:00
Florian Bruhin
fcaadb9352
Stabilize :save-session --force test
2016-09-06 17:04:13 +02:00
Florian Bruhin
c6d6483929
bdd: Show what exactly failed with InvalidLine
2016-09-06 17:00:25 +02:00