Commit Graph

2256 Commits

Author SHA1 Message Date
Florian Bruhin
018e9ef4a3 Merge branch 'completion_split' of https://github.com/rcorre/qutebrowser into rcorre-completion_split 2016-09-15 16:44:54 +02:00
Florian Bruhin
6e9501073a Remove @qtwebengine_todo for qute:settings 2016-09-15 16:13:51 +02:00
Florian Bruhin
37fa7431b0 Serve broken qutebrowser logo via qute:resources
This is needed when we want to display an error page after the user
requested a qute:// URL, as qute:// URLs can't access file:// content
with QtWebEngine.
2016-09-15 16:06:25 +02:00
Florian Bruhin
8bdcd49626 Fix lint 2016-09-15 15:10:55 +02:00
Florian Bruhin
44e8296a66 Remove environment variables from version()
We already have those in the report anyways.
2016-09-15 14:59:32 +02:00
Florian Bruhin
e338d4b49c Add MessageView tests 2016-09-15 14:51:22 +02:00
Florian Bruhin
7e30792bfe Fix lint 2016-09-15 14:51:22 +02:00
Florian Bruhin
e32bbfa8f7 Init message.global_bridge at import time 2016-09-15 14:51:22 +02:00
Florian Bruhin
43a5c46d82 Don't use @pyqtSlot for MessageMock 2016-09-15 14:51:22 +02:00
Florian Bruhin
fce9783570 Fix unit tests
Apart from changed parameters, messages now log even when messagemock is
used, so we needed to add a few caplog.at_level calls.
2016-09-15 14:51:22 +02:00
Florian Bruhin
713a74cfd4 Fix end2end tests 2016-09-15 14:51:22 +02:00
Florian Bruhin
a2254b671c Adjust tests/messagemock 2016-09-15 14:51:21 +02:00
Florian Bruhin
f16b96aa28 Initial implementation of new messages 2016-09-15 14:51:21 +02:00
Ryan Roden-Corrent
a7eea6a0c1 Rewrite test_on_next_prev_item after refactoring.
Check the value of the signal emitted after each one of a series of
next/prev_item calls.
2016-09-15 07:41:56 -04:00
Ryan Roden-Corrent
a9771007b1 Pass string, not index from on_selection_changed.
Simplify the CompletionWidget/Completer interface by changing
on_selection_changed to pass the newly selected text rather than the
index of the newly selected item.
This moves the logic from Completer to CompletionWidget but simplifies
the interaction between the two and makes testing easier.
2016-09-14 22:55:07 -04:00
Florian Bruhin
5bef7dc74c Use file with known mimetype for qutescheme test 2016-09-14 16:48:49 +02:00
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