Commit Graph

2368 Commits

Author SHA1 Message Date
Florian Bruhin
2453134011 Remove unnecessary pass statements 2018-11-28 12:51:53 +01:00
Florian Bruhin
2152081d82 s/an URL/a URL/g 2018-11-16 12:37:30 +01:00
Ryan Roden-Corrent
2e562a926b
Don't complete url and title from same search word.
Resolves #4411:

> When opening a webpage, the suggested results will include those whose
> URL ends with the beginning of the string you've typed and whose title
> begins with the rest of the string.

By joining the url and title with a space, we ensure that the last word
of the url and the first word of the title are treated as separate
words.
2018-11-06 08:05:17 -05:00
Florian Bruhin
b3493efc80 Remove unused import 2018-11-05 11:19:39 +01:00
Florian Bruhin
27d4796c2f Add adblock benchmark 2018-11-05 10:05:59 +01:00
Florian Bruhin
d5a5e08eff Simplify test 2018-10-30 15:32:35 +01:00
Florian Bruhin
e23b6ef64e Merge remote-tracking branch 'origin/pr/4382' 2018-10-30 08:56:03 +01:00
Jay Kamat
9c73bf9e97
Add tests for selection persisting
- Remove unneeded override of qt home method
2018-10-27 16:15:24 -07:00
Florian Bruhin
a458615030 Further simplify caplog.messages 2018-10-25 11:16:26 +02:00
Florian Bruhin
3b8964183e Use caplog.messages 2018-10-24 10:57:17 +02:00
Florian Bruhin
77c53707ac Add missing str() 2018-10-24 10:57:17 +02:00
Florian Bruhin
d299e48960 Work around pytest-bdd issues
See https://github.com/ionelmc/pytest-benchmark/issues/124
and https://github.com/ionelmc/pytest-benchmark/issues/125
2018-10-24 10:57:17 +02:00
Florian Bruhin
1c7667014a tests: Fix broken parametrization id functions 2018-10-24 10:57:17 +02:00
Florian Bruhin
9727975914 Expose tab if needed 2018-10-17 22:38:24 +02:00
Florian Bruhin
ca7c53d4df Add tests for utils.ceil_log 2018-10-16 12:29:43 +02:00
Florian Bruhin
5b7615886b Merge remote-tracking branch 'origin/pr/4330' 2018-10-16 12:02:22 +02:00
Florian Bruhin
767a1c102c Add hint benchmark tests 2018-10-16 11:09:27 +02:00
Jay Kamat
79f63b9e81
Fix line length warning in hint scatter test 2018-10-13 08:55:55 -07:00
Jay Kamat
c2f027bf2b
Add tests for rounding error 2018-10-12 20:17:54 -07:00
Florian Bruhin
9d09aa1b40 Swap noun/verb in :config-{add,remove}-{dict-list}
See https://github.com/qutebrowser/qutebrowser/pull/4324#issuecomment-428934193
2018-10-11 14:29:10 +02:00
Florian Bruhin
1c1223821c Update docs 2018-10-11 14:18:02 +02:00
Florian Bruhin
019811f2cb Merge remote-tracking branch 'origin/pr/4324' 2018-10-11 14:16:06 +02:00
Florian Bruhin
ee60159c16 Add missing tests for configmodel 2018-10-11 14:07:13 +02:00
Milo Gertjejansen
9fd57b9be0 New config: More powerful :config- commands: remove
- `:config-remove-list` command to remove items from a list.
- `:config-remove-dict` command to remove items from a dict.
- Test coverage.

Continues #2794
2018-10-10 20:23:44 -05:00
Florian Bruhin
b57db67670 Remove test for removed workaround 2018-10-10 09:14:19 +02:00
Florian Bruhin
3fe64085f8 Add tabindex to default 'all' selector
See #178
2018-10-08 19:43:25 +02:00
Florian Bruhin
6d4c8f5b13 Merge remote-tracking branch 'origin/pr/3806' into test 2018-10-08 18:09:58 +02:00
Florian Bruhin
0add3b1bb0 Skip POSIX escaping test on Windows
Because of the backslash, Windows tries to create a new directory and asks for
a confirmation, which fails.
2018-10-08 17:51:43 +02:00
Florian Bruhin
8d69d9d412 Fix download filename tests
If we want the same restrictive escaping in existing downloads, we'll need to
simulate Windows.
2018-10-08 17:48:26 +02:00
Florian Bruhin
1abfc03965 Use pytest.mark.fake_os 2018-10-08 17:41:52 +02:00
Florian Bruhin
91ae86db62 Merge remote-tracking branch 'origin/pr/3950' 2018-10-08 17:36:10 +02:00
Florian Bruhin
927c2ff94a Improve :config-add-(list|dict) tests 2018-10-07 17:11:56 +02:00
Florian Bruhin
7cea4e3262 Merge remote-tracking branch 'origin/pr/4283' 2018-10-07 17:00:12 +02:00
Milo Gertjejansen
a3528dcee8 New config: More powerful :config- commands: add #4283
Made minor changes to the second commit which broke tests out into
success and failure tests taking advantage of pytests.raises.

Additionally updated several grammar issues.

Continues #2794
2018-10-06 19:42:30 -05:00
Florian Bruhin
07d63e02c7 Expose fake statusbar for test_elided_text
Otherwise, we miss the paintEvent coverage.
2018-10-06 21:53:54 +02:00
Florian Bruhin
c689760872 Sort keys in configtypes.Dict.to_str
Otherwise, we get inconsistent output between runs on Python 3.5
2018-10-06 19:18:43 +02:00
Florian Bruhin
f63eb8ea15 Avoid showing widgets in tests if unneeded
This avoids odd X errors with test_webenginetab.py, and also makes it run much
faster (0.8s instead of 1.3s).
2018-10-06 19:06:34 +02:00
Florian Bruhin
eb2ec3df58 Decrease num_tabs for test_add_remove_tab_benchmark
With 100 tabs, this takes 28s on my machine, and sometimes >90s on Travis.
With 70 tabs, it's down to 14s.
2018-10-06 12:28:49 +02:00
Florian Bruhin
4b76dc56e1 Merge remote-tracking branch 'origin/pr/4296' 2018-10-06 12:24:02 +02:00
Florian Bruhin
d86033677c Remove unused imports 2018-10-06 12:21:41 +02:00
Florian Bruhin
587b11f60d Make completion highlighting case-insensitive again
Fixes #4297
2018-10-06 09:57:01 +02:00
Jay Kamat
2f155e5d2b
Fix tabs appearing when updating all tab titles
Closes #4295
2018-10-05 18:55:30 -07:00
Florian Bruhin
fd48e29a54 Add test for per-domain content.host_blocking_enabled 2018-10-06 00:13:58 +02:00
Florian Bruhin
5ff5ca72d8 Use a real webengine_tab for TestWebengineScripts
This means the tests take a bit longer (1.2s instead of 0.6s), but I consider
that worth the trade-off for testing a real-world scenario.
2018-10-05 23:22:31 +02:00
Florian Bruhin
c225e724ac Merge remote-tracking branch 'origin/pr/4133' 2018-10-05 22:56:53 +02:00
Florian Bruhin
0858c7146c Get rid of data_display_may_return_none
This got removed in pytest-qt
2018-10-05 18:57:23 +02:00
Florian Bruhin
4b13609553 Fix lint 2018-10-05 18:50:14 +02:00
Florian Bruhin
42ef645cf1 Merge remote-tracking branch 'origin/pr/4004' 2018-10-05 17:46:49 +02:00
Florian Bruhin
f75348e36b Fix lint
thanks emacs...
2018-10-05 17:13:24 +02:00
Florian Bruhin
616cd0a59c Fix and test remaining PDF.js OSError issues 2018-10-05 16:06:39 +02:00
Florian Bruhin
b5b4fda676 Fix issues with PDF.js path changes 2018-10-05 14:05:54 +02:00
Milo Gertjejansen
7f0ae252cd New config: More powerful :config- commands: add #4283
Made requested changes:

- Separated list add and dict add commands.
- Separated list and dict completion models.
- Created tests for each command.
- Simplified the configmodel options by breaking them into a separate
function to do work that is similar.
- General simplification of both add commands.

Continues #2794
2018-10-04 18:42:33 -05:00
Florian Bruhin
28ca292b9e Fix lint 2018-10-04 19:35:38 +02:00
Florian Bruhin
6c245ca7a0 Merge remote-tracking branch 'origin/pr/4220' 2018-10-04 19:34:03 +02:00
Florian Bruhin
923b726e38 Merge remote-tracking branch 'origin/pr/4220' 2018-10-04 19:28:01 +02:00
Florian Bruhin
29142f763c Use a proper data dir for PDF.js 2018-10-04 16:54:44 +02:00
Ryan Roden-Corrent
a5b3670477
Fix pylint/flake8 errors in configtypes. 2018-10-03 21:44:10 -04:00
Ryan Roden-Corrent
59f9d31d4b
Fix up configtypes based on code review.
- Remove stray statements
- add an early bail-out if we can't parse a color function
- add more test cases
2018-10-03 17:41:48 -04:00
Ryan Roden-Corrent
66cc5f5ea4
Add support for more values in QtColor config type.
Recent changes in the completion highlighter mandate that
config.val.colors.completion.match be changed from a QssColor to a
QtColor. However, the latter accepts fewer formats. To avoid breaking
configs, this allows QtColors to be specified using all the same formats
as QssColors, excluding gradients.

I separated the QssColor and QtColor tests as the previous approach of
generating the tests made adding tests for QtColor more complicated.

While working on this I discovered that Qt's css parser is potentially
broken around parsing hsv percentages and filed
https://bugreports.qt.io/browse/QTBUG-70897.

For consistency, I made our parser similarly broken.

You can show the bug in qutebrowser right now by noting that the
following have different effects:

```
set colors.completion.odd.bg 'hsv(100%, 100%, 100%)'
set colors.completion.odd.bg 'hsv(358, 255, 255)'
```
2018-10-02 17:30:43 -04:00
Florian Bruhin
4b495303f9 Merge remote-tracking branch 'origin/pr/4191' 2018-09-30 22:01:57 +02:00
Jay Kamat
322b053cbf
Merge branch 'master' of https://github.com/qutebrowser/qutebrowser into jay/visible-update-titles 2018-09-29 12:29:50 -07:00
Jay Kamat
a5f9115b2f
Only apply visibility toggle if we have >10 tabs 2018-09-29 12:26:42 -07:00
zaowen
5b089d0460 Minor requested changes 2018-09-29 02:00:42 -06:00
Florian Bruhin
f780974d07 Allow fallback=False with config.get/get_obj 2018-09-28 16:40:08 +02:00
Jay Kamat
3081d017ce
Move tabbedbrowser test to tabwidget 2018-09-27 23:30:54 -07:00
Jay Kamat
de148bb778
Fix tabwidget tests 2018-09-27 19:59:43 -07:00
Jay Kamat
14e55eae49
Merge remote-tracking branch 'upstream/master' into jay/max-tab 2018-09-27 19:03:15 -07:00
Jay Kamat
d64771b8e3
Clean up tab min/max width tests 2018-09-27 18:57:26 -07:00
Florian Bruhin
f3408710ba Fix webkitelem tests 2018-09-27 23:09:44 +02:00
Florian Bruhin
718376f154 Refactor JS escaping
This renames javascript.convert_js_arg() to javascript.to_js() and uses that
instead of string_escape() where possible.
2018-09-27 16:36:28 +02:00
Florian Bruhin
38a4734b9a Merge remote-tracking branch 'origin/pr/4204' 2018-09-27 16:28:30 +02:00
Florian Bruhin
905863f74e Fix lint 2018-09-27 10:08:50 +02:00
Florian Bruhin
56b8447fb9 Use callback.assert_called_with() 2018-09-27 10:06:50 +02:00
Jay Kamat
e01682f51d
Add tabs.max_width setting 2018-09-26 21:39:45 -07:00
Florian Bruhin
a27a8ada4d Use qtbot.wait_callback 2018-09-26 11:45:45 +02:00
Florian Bruhin
73cba046e5 Use wait argument with qtbot.assert_not_emitted 2018-09-26 11:27:58 +02:00
Florian Bruhin
a292664ca0 Merge remote-tracking branch 'origin/pr/4218' 2018-09-26 11:20:45 +02:00
Florian Bruhin
133ed5604e Fix lint 2018-09-26 08:43:13 +02:00
Florian Bruhin
62ea8f6ec2 Merge remote-tracking branch 'origin/pr/4245' 2018-09-26 08:42:54 +02:00
Jay Kamat
77703c5263
Add benchmark for _tab_pinned 2018-09-23 22:58:48 -07:00
Florian Bruhin
25e7ee1dd0 Fix wrong signal order in test_question
This never raised because of a pytest-qt bug.
2018-09-23 21:03:03 +02:00
Ryan Roden-Corrent
0fed563a02
Use QSyntaxHighlighter for completion.
This is a more "Qt" way of highlighting syntax, and works around the
problems of #4199 without resorting to complicated html escaping.

The tests are more straightforward with less mocking, but do involve
testing a private class.
2018-09-22 12:13:28 -04:00
Jay Kamat
f0568ece57
Make convert_js_arg public and use it for dispatch_element in webkit 2018-09-21 18:08:04 -07:00
Zarthur
b41d7ba203
Merge branch 'master' into master 2018-09-20 11:02:27 -06:00
zaowen
a75587f270 blah 2018-09-20 10:51:33 -06:00
zaowen
5ecfe43ebb ci dumb 2018-09-20 10:49:37 -06:00
zaowen
c4cca4755e Add adblock import directory unit test 2018-09-20 10:38:50 -06:00
Ryan Roden-Corrent
2eacf4bd94
Clean up completiondelegate tests.
Respond to code review comments to reduce mocking and clean up comments.
2018-09-18 20:40:06 -04:00
Ellis
398519762b Merge branch 'master' of https://github.com/qutebrowser/qutebrowser 2018-09-18 13:33:30 -04:00
Ellis
343de2db51 Added case for whitelisted url with * wildcard 2018-09-18 13:33:05 -04:00
Florian Bruhin
46435bcd2f Use always/never instead of force-on/force-off 2018-09-18 11:12:50 +02:00
Florian Bruhin
17c7663ad0 Make content.headers.referer work on QtWebEngine 2018-09-17 19:40:18 +02:00
Florian Bruhin
bd21686e0d Add webrtc_ip_handling_policy setting
This exposes all possible values, but before
https://codereview.qt-project.org/#/c/240121/ we won't be able to change those
at runtime (or enable URL patterns, which thankfully weren't enabled for the
old setting).

In theory, it'd be possible to handle the "public-interface-only" value via
QWebEngineSettings without requiring a restart, but it isn't worth the trouble.

Closes #4201
2018-09-17 18:39:41 +02:00
Florian Bruhin
6fe09c12da Add a setting for Chromium's low-end device mode
See #4039
See #2377
2018-09-17 18:39:41 +02:00
Florian Bruhin
574d7c6a11 Add settings for process models
See #4039, #2377
Fixes #4040
2018-09-17 17:22:51 +02:00
Florian Bruhin
e105edebf5 Wait for follow_selected_done 2018-09-15 20:46:11 +02:00
Ryan Roden-Corrent
4f733333c3
Remove unused imports in test_completiondelegate. 2018-09-15 14:45:18 -04:00
Florian Bruhin
f817e5d271 Fix typo 2018-09-15 20:41:56 +02:00
Florian Bruhin
abff44def6 Get rid of end-of-doc-workaround in caret browsing
In Qt < 5.10 (and also sometimes on Windows), we get extra spaces or newlines
when moving to the end of the document. However, this only happens *sometimes*,
and manual testing confirms that with the current workaround, we actually lose
the last char in the selection.

I'm not sure what's happening there, but instead of making things worse with
the workaround, let's just be a bit less strict with the checking there and
accept both variants... This seems like some Chromium bug we can't do much
about.
2018-09-15 20:39:35 +02:00
Ryan Roden-Corrent
102c6b99dd
Don't highlight html escapes in completion.
Resolves #4199.

To avoid accidentally highlighting characters that were introduced by
html escaping the text before feeding it to setHtml, we can't just
escape the whole string before adding the highlighting. Instead, we need
to break the string up on the pattern, format and escape the individual
parts, then join them back together.

re.escape includes empty strings if there is a match at the start/end,
which ensures that matches always land on odd indices:

https://docs.python.org/3/library/re.html#re.split

> If there are capturing groups in the separator and it matches at the
> start of the string, the result will start with an empty string. The
> same holds for the end of the string
2018-09-15 14:06:28 -04:00