Florian Bruhin
bbcb87e434
Get PDF.js to work
...
We need to use the /web/viewer.html path so relative references are correct.
2018-09-09 18:35:09 +02:00
Florian Bruhin
7206dde19c
Revert "Simplify getting pdfjs main page"
...
This reverts commit 9c731bde85627308fdde4730b0181a014096cb47.
We need to set some PDF.js options, so we can't just use the default viewer
with ?file=...
2018-09-09 18:35:09 +02:00
Florian Bruhin
8f19820a7a
Remove pdfjs.fix_urls
...
Now that we use qute://pdfjs to show the viewer, we don't need to rewrite any
URLs.
2018-09-09 18:35:09 +02:00
Florian Bruhin
24fb3b0d1b
Simplify getting pdfjs main page
2018-09-09 18:35:09 +02:00
Florian Bruhin
dc82ac3eb2
Move qute_pdfjs to qutescheme.py
2018-09-09 18:35:09 +02:00
Jimmy
33cc8c11ba
Pull common code into a fixture.
2018-09-09 20:51:19 +12:00
Jesko
02f485cbc8
making import of QtWebEngine in corresponding tests conditional
2018-09-09 20:51:19 +12:00
Jesko
f22fb30ef3
fixing non controversial changes
2018-09-09 20:51:19 +12:00
Jimmy
7a73c0f264
Add tests for greasemonkey worldid in webenginetab.
...
Adds a new file for tests relating to WebEngineTab, it looks a little
sparse right now but I'm sure there will be more soon.
Tests that scripts with invalid world IDs are rejected appropriately and
the ones with valid world IDs aren't rejected.
The `FakeWidget` thing is so `sip.isdeleted` didn't complain about being
passed the wrong type.
2018-09-09 20:51:19 +12:00
Jimmy
5252541fe3
greasemonkey: better handle scripts without metadata
...
Previously calling `script.code()` would fail if the script didn't have
a `name`. This wasn't being hit in practice because the only place that
constructs GreasemonkeyScripts was checking for that condition and add
the filename there as a fallback.
This change make the `name` attribute more explicitly mandatory by
failing with a `ValueError` if it is not provided and make it still
possible to use the filename fallback in that case by adding a
`filename` keyward argument to `__init__()`.
Additionally where `script_meta` is used in `script.code()` a fallback
to and emptry string was added so it doesn't fail for raw javascript
files without greasemonkey metadata.
2018-09-09 20:51:19 +12:00
Jesko
abea603119
moving MAX_WORLD_ID to qtutils, changing test names, fixing linter errors, changing error type to WebTabError
2018-09-09 20:45:21 +12:00
Jesko
8ef3d90b1a
removing unwanted space
2018-09-09 20:45:21 +12:00
Jesko
ee9b1f4950
adding tests and improving error messages
2018-09-09 20:45:21 +12:00
Florian Bruhin
1647c28632
Allow lists for javascript.convert_js_arg
2018-09-08 16:20:38 +02:00
Florian Bruhin
b8ab378083
Show web_engine_tab container
...
This is needed for caret tests on Qt < 5.11
2018-09-08 16:04:29 +02:00
Florian Bruhin
20da259de6
Rewrite some :follow-selected tests as unit tests
2018-09-08 16:01:38 +02:00
Florian Bruhin
45eece372f
Don't access caretElement if it's gone
2018-09-08 15:51:42 +02:00
Florian Bruhin
8c0366f0a7
Configure JS logging for test tab objects
2018-09-08 15:34:28 +02:00
Florian Bruhin
bb5fee4adc
Also add a container for webengine_tab
...
Seems to be needed with Qt < 5.11 for things to work.
2018-09-08 14:52:57 +02:00
Florian Bruhin
9c67239847
Fix lint
2018-09-08 14:52:47 +02:00
Florian Bruhin
7cb32dca07
Add a container around webkit_tab
...
This makes the selection appear properly in caret tests - otherwise, --no-xvfb
would be needed.
2018-09-08 13:36:02 +02:00
Florian Bruhin
5978605873
Make caret unittests run with QtWebKit
2018-09-08 13:22:17 +02:00
Florian Bruhin
db6935b42e
Fix TestSearch caret tests
...
For some reason, they need the window to be shown on a screen to work...
2018-09-08 12:26:00 +02:00
Florian Bruhin
64e321d47c
Rewrite most caret tests as unit tests
2018-09-08 12:15:32 +02:00
Florian Bruhin
a58abf8f4c
Set __tracebackhide__ for CallbackChecker.check
2018-09-08 12:15:14 +02:00
Florian Bruhin
8ac3162425
Call modeman.init() in mode_manager fixture
2018-09-08 12:14:55 +02:00
cauimsouza
71781b3f43
Update fake object instantiation
2018-09-07 21:44:17 +02:00
Florian Bruhin
4ca8fc0cb7
Use a shared web_history fixture
2018-09-06 20:08:32 +02:00
Florian Bruhin
ab6c8dde9a
Decrease minimum QProgressDialog duration
...
We already have a threshold before we use a QProgressDialog at all, so let's
show it quite quickly and not after 4 seconds.
2018-09-06 17:26:28 +02:00
Florian Bruhin
935d93d10e
Add tests for HistoryProgress
2018-09-06 17:26:28 +02:00
Florian Bruhin
d4f16f88b6
Remove support for importing pre-v1.0.0 history
2018-09-06 17:26:28 +02:00
Florian Bruhin
ec774379bd
Add tests for history progress
2018-09-06 17:13:46 +02:00
Florian Bruhin
e4b7786bcc
Factor out GUI stuff to a HistoryProgress object
2018-09-06 17:04:26 +02:00
Florian Bruhin
c8be2d4f7e
Fix pylint issues with config cache
2018-09-06 16:43:10 +02:00
Florian Bruhin
108cc65bc6
Merge remote-tracking branch 'origin/pr/4185'
2018-09-06 16:15:16 +02:00
Jay Kamat
8e82adc306
Refactor configcache to cache
...
Also fix and improve configcache tests
2018-09-05 22:26:12 -07:00
Florian Bruhin
6293bc5178
Fix lint and test
2018-09-04 23:46:34 +02:00
Florian Bruhin
58793d95d7
Further clean up error handling
2018-09-04 23:05:59 +02:00
Florian Bruhin
92fcc523c5
WIP: Properly signal scheme errors
2018-09-04 23:03:10 +02:00
Florian Bruhin
2fcdc5a0c9
Merge branch 'blacklist-history'
2018-09-04 22:19:52 +02:00
Philip Scheel
8d04f8cdc8
Fixed pylint complaints
2018-09-04 00:59:49 +02:00
Philip Scheel
cf13c31142
Resolved conflicts for merge, regenerated asciidoc, removed whitespace
...
Removed whitespace
2018-09-04 00:10:07 +02:00
Philip Scheel
35c2f95a58
Merged upstream, made requested modifications to the search engine code and added tests
2018-09-03 23:28:43 +02:00
Jay Kamat
d4cf5045ab
Fix tests for configcache
2018-09-02 18:03:36 -07:00
Jay Kamat
067d76616b
Implement config cache system
2018-09-02 14:23:00 -07:00
Florian Bruhin
5b0c10d430
Fix docstrings
2018-09-02 15:46:57 +02:00
Florian Bruhin
8a42256cff
Merge remote-tracking branch 'origin/pr/4178'
2018-09-02 15:45:48 +02:00
Florian Bruhin
b0185e3c8a
Use config_stub.val instead of config_stub.set_obj in tests
2018-09-02 14:42:47 +02:00
Florian Bruhin
dbdeb6a9c7
Rename history.exclude to completion.web_history.exclude
...
If the blacklist is only valid for the completion, the setting should also be
under completion.
This also un-renames history.gap_interval and renames
completion.web_history_max_items.
2018-09-02 14:42:47 +02:00
Florian Bruhin
4f56355fbe
Don't affect qute://history with history.exclude
2018-09-02 14:42:47 +02:00
Florian Bruhin
67b4b7d490
Handle :// as URL pattern
2018-09-02 11:58:34 +02:00
Florian Bruhin
37396d68f3
Define names for sqlite error codes
2018-09-01 22:25:22 +02:00
Florian Bruhin
f5c92ded41
Merge Sql{Environment,Bug}Error with Sqlite{Environment,Bug}Error
2018-09-01 22:25:22 +02:00
Florian Bruhin
50ae2bf2f9
Redesign SQL error handling
...
Instead of having an environmental attribute on exceptions, we now have two
different exception classes.
Fixes #3341
See #3073
2018-09-01 22:25:22 +02:00
Florian Bruhin
71a2dad570
Add a history.exclude setting
...
This allows to exclude URL patterns from being displayed in the completion or
in qute://history.
2018-09-01 22:25:22 +02:00
Florian Bruhin
7fb2224640
Add a UrlPattern config type
...
For some settings it makes sense to have a list of URL patterns in the config,
rather than having a per-domain boolean setting.
2018-09-01 18:25:58 +02:00
Florian Bruhin
3f2a468750
Also detect missing bound values for sql.Query.run_batch
2018-09-01 18:25:58 +02:00
Florian Bruhin
fa1fe63a93
Add some more sql.Query tests
2018-09-01 18:25:58 +02:00
Florian Bruhin
0e284944e7
Use composition instead of inheritance for sql.Query
...
This means we're more loosely coupled to Qt's QSqlQuery, and also can move some
logic for handling batch queries from the table to there.
2018-09-01 18:25:58 +02:00
Florian Bruhin
6b719fb218
Make sure queries don't have any missing bindings
2018-09-01 18:25:58 +02:00
Florian Bruhin
1d6282fd6c
Add some tests for sql.Query
2018-09-01 18:25:58 +02:00
Florian Bruhin
806d65be8e
Add test for no-sql-history flag
2018-09-01 18:25:58 +02:00
Florian Bruhin
c2f8b6531d
Reorganize test_history
2018-09-01 18:25:58 +02:00
Florian Bruhin
9fb794656b
Make it possible to force a history rebuild
...
This adds a new CompletionMetaInfo table which is a simple key/value store.
Thanks to Python/sqlite duck typing, we can use that to store values of any
type, even new ones in the future.
Currently, the only allowed key is force_rebuild, which forces a rebuild of the
CompletionHistory table. This will be needed for a future change.
2018-09-01 18:25:58 +02:00
Vasilij Schneidermann
3fa6d94893
Display value when calling :set without a value
...
This change brings Qutebrowser closer to Vim's behavior of `:set
foo?` *and* `:set foo` displaying the current value of `foo`.
2018-08-31 21:34:42 +02:00
Florian Bruhin
1815070dab
Make sure the host blocker doesn't block 0.0.0.0
2018-08-31 16:48:45 +02:00
Florian Bruhin
d337ed885a
Re-add :stop test in misc.feature
...
For some reason I don't comprehend right now, disabling it breaks
test_focusing_download_widget_via_tab. I'm having exams tomorrow and the day
after that, so meh, let's just re-enable that test for now as a stopgap
solution.
2018-08-28 22:56:50 +02:00
Florian Bruhin
8459afb76e
Recognize "Command"/"Cmd" in keybindings
2018-08-28 18:57:47 +02:00
Florian Bruhin
3fa01ae84d
Handle more flaky tests
2018-08-28 09:21:03 +02:00
Florian Bruhin
1a7efd92d7
Merge remote-tracking branch 'origin/pr/4140'
2018-08-27 10:06:04 +02:00
Florian Bruhin
a370a00194
Remove more useless-return suppressions
2018-08-19 10:53:01 +02:00
Jimmy
b192164f2e
Don't alphabetically sort tab completion.
...
`ListCategory` sorts its completion by default, we are already building
the categories in the right order so don't need that.
The test tests the case of where you have 11 tabs and if the model was
sorted the tabs with index 10 and 11 would be sorted before the one with
index 2.
The `random.sample` bit for the tab url and title is to also make sure
the model isn't being sorted on those columns, whithout haveng to write
and all ten lines.
2018-08-19 16:42:36 +12:00
Jay Kamat
b962c5c4d9
Merge pull request #4118 from DerJesko/master
...
Tests for ipv6 support in urlmatch
2018-08-13 14:33:53 -07:00
wishfort36
0e3e41a5e8
Handle nitpicks
2018-08-13 07:50:54 +02:00
wishfort36
b05738dd6c
Keep $QUTE_COUNT unset if a count is not given
2018-08-12 22:39:32 +02:00
wishfort36
a9725ddb4a
Add tests for $QUTE_COUNT
2018-08-12 22:31:12 +02:00
Florian Bruhin
58dffafb1e
Merge remote-tracking branch 'origin/pr/4126'
2018-08-12 20:24:56 +02:00
Florian Bruhin
bddc021295
Mark more :follow-selected tests as flaky
2018-08-12 20:24:31 +02:00
farlusiva
8e2307c546
Docstring things, change test
...
- Update the docstring for repeat
- Remove the blank line after the docstring
- Update the docstring with scripts/dev/src2asciidoc.py
- Simplify the test
2018-08-11 19:32:41 +02:00
wishfort36
adb371f305
Add test
2018-08-11 19:04:18 +02:00
Jesko
a676cca6c5
changing the texts of the errors
2018-08-10 20:49:20 +02:00
Jesko
0b51437346
fixing indentation
2018-08-10 19:05:15 +02:00
Florian Bruhin
57d3ed95f2
Mark another test as flaky
2018-08-10 08:40:24 +02:00
Jesko
972b3ae960
changing suggested flaws
2018-08-08 18:30:12 +02:00
Jesko
484a22f111
now declining more wrong ipv6 addresses and cleaning up code
2018-08-08 17:53:14 +02:00
Jesko
4ce5d99b24
match minimizes ipv6 urls
2018-08-08 16:55:43 +02:00
Jesko
599ac5ca23
Adding parser tests for IPv4
2018-08-07 22:35:00 +02:00
Jesko
790b34dc56
Adding match pattern test esp. IPv6
2018-08-07 21:59:15 +02:00
Florian Bruhin
9eeaa4f45d
Fix lineparser tests
2018-08-07 17:53:26 +02:00
Florian Bruhin
70addc93b3
Add missing yaml_value fixture
2018-08-06 19:57:38 +02:00
Florian Bruhin
c1d06c8abb
Skip another test
2018-08-06 09:55:49 +02:00
Florian Bruhin
4c23fb9e2f
Another flaky test
2018-07-28 09:57:42 +02:00
Florian Bruhin
5269c5ac2b
Another flaky test
2018-07-28 09:52:45 +02:00
Florian Bruhin
6fa07703db
More flaky tests
2018-07-24 19:56:34 +02:00
Florian Bruhin
12e5375931
Handle more test flakiness
2018-07-24 17:36:07 +02:00
Florian Bruhin
8b814e3072
Increase qute://history delay in tests
2018-07-24 16:51:36 +02:00
Florian Bruhin
98cf1e5b2c
Kill some more tests
2018-07-22 17:19:12 +02:00
Florian Bruhin
463dd911a3
More flaky tests
2018-07-22 15:46:24 +02:00
Florian Bruhin
40e58126aa
About everything is flaky
...
Did I already mention that I'm starting to hate those tests I wrote in the past
with a passion?
2018-07-22 14:05:40 +02:00
Florian Bruhin
c1c182d958
Mark more tests as flaky
2018-07-22 13:03:25 +02:00
Florian Bruhin
0304036d7d
Skip test which is too flaky
2018-07-22 12:05:55 +02:00
Florian Bruhin
13f688eeb8
"Fix" more flaky tests
2018-07-22 11:24:06 +02:00
Florian Bruhin
a7170fefe9
Turn off hypothesis deadline if on CI
2018-07-22 10:13:06 +02:00
Florian Bruhin
31a6374e0e
Mark some more flaky tests as flaky
...
I really want end2end tests to die...
2018-07-21 23:36:45 +02:00
Florian Bruhin
733625e140
Stabilize test_qute_settings_persistence
2018-07-21 23:36:45 +02:00
Florian Bruhin
8a748741ba
Fix checks for Nouveau workaround
2018-07-19 00:28:12 +02:00
Florian Bruhin
8e6aa9e3e1
Locally disable assignment-from-no-return for pylint 2.0
2018-07-16 14:53:30 +02:00
Florian Bruhin
e50b6912a7
Fix pylint 2.0 useless-return cases
...
See https://github.com/PyCQA/pylint/issues/2300
2018-07-16 14:33:11 +02:00
Florian Bruhin
43e58ac865
CVE-2018-10895: Fix CSRF issues with qute://settings/set URL
...
In ffc29ee043
(part of v1.0.0), a
qute://settings/set URL was added to change settings.
Contrary to what I apparently believed at the time, it *is* possible for
websites to access `qute://*` URLs (i.e., neither QtWebKit nor QtWebEngine
prohibit such requests, other than the usual cross-origin rules).
In other words, this means a website can e.g. have an `<img>` tag which loads a
`qute://settings/set` URL, which then sets `editor.command` to a bash script.
The result of that is arbitrary code execution.
Fixes #4060
See #2332
2018-07-11 17:05:23 +02:00
Florian Bruhin
274b66ec46
Strip trailing newlines from pastebin URL
2018-07-08 22:09:56 +02:00
Olmo Kramer
daa8bc0507
Fix accidentally renamed hint group
2018-07-05 00:57:08 +02:00
Olmo Kramer
9f5f52360c
Add test cases for url-patterns
2018-07-04 23:52:28 +02:00
Olmo Kramer
332cbf811b
Add test for custom hint group
2018-07-04 22:56:47 +02:00
Olmo Kramer
7aa5db29b5
Add tests for invalid hint group & js click handler
2018-07-04 22:56:47 +02:00
Olmo Kramer
0f8296d384
Add hints.selectors setting
2018-07-04 22:56:42 +02:00
Florian Bruhin
42a3622906
Ignore a new Qt 5.11 lowlevel message
2018-07-03 15:38:29 +02:00
Florian Bruhin
a0f36c5cbf
Skip JS test which is too flaky
2018-07-03 14:15:08 +02:00
Florian Bruhin
4d1e56a8c6
Ignore "Lost UI shared context" error happening on AppVeyor
2018-07-03 13:39:34 +02:00
Florian Bruhin
7e8c741937
Set compiled=False for BDD Qt comparisons
...
We often check for bugs and not APIs there.
2018-07-03 13:10:15 +02:00
Florian Bruhin
641f7eb3c5
Don't import test_file on Windows
...
See https://github.com/pytest-dev/pytest/issues/3650
2018-07-03 13:08:54 +02:00
Florian Bruhin
26d6cf8ef6
Stabilize URL escaping test
2018-07-03 10:29:28 +02:00
Florian Bruhin
f6f713bbfe
Skip key forwarding tests on Qt 5.11.1
...
See #4036
2018-07-02 23:19:57 +02:00
Florian Bruhin
6ca11ed95b
Adjust SSL test for Qt 5.11
2018-07-02 23:15:04 +02:00
Florian Bruhin
41303ecfcf
Make sure temporary dir exists
...
This seems to be enforced with Qt 5.12
See #4025
2018-07-02 22:32:59 +02:00
Florian Bruhin
9a14574c9f
Skip invalid links on any Qt 5.11 version
...
See #3661
2018-07-02 22:32:59 +02:00
Florian Bruhin
d861c097b1
Support new dead keys added in Qt 5.11 properly
...
See https://codereview.qt-project.org/#/c/207231/
2018-07-02 22:32:59 +02:00
Florian Bruhin
77fe2e1c85
Fix test_set_wrong_backend
2018-07-02 22:32:59 +02:00
Florian Bruhin
c3455d9082
Add a wrapper around sip
...
Starting with PyQt 5.11, the sip module now is bundled with PyQt as PyQt.sip.
Having a qutebrowser.qt also helps with #3625 , see #995
2018-07-02 22:32:59 +02:00
Florian Bruhin
e857400c2c
Add missing str()
2018-06-28 13:26:45 +02:00
Florian Bruhin
a804300dc0
Add missing tests for spell.init()
2018-06-26 16:56:22 +02:00
Florian Bruhin
3312c221c4
Stabilize ssl_strict test
2018-06-26 10:26:17 +02:00
Florian Bruhin
85a9f6a08a
Fix lint
2018-06-26 10:23:48 +02:00
Jimmy
680ae89ffd
Also mock platform to windows for utils tests.
...
This is the same fixture I added in
tests/unit/browser/webkit/test_downloads.py
2018-06-26 17:47:10 +12:00
Jimmy
747acfe7fa
Makes sanitize_filenames platform dependant.
...
Hopefully having the posix bad_chars list so minimal won't ruin anyones day.
2018-06-26 16:29:38 +12:00
Jimmy
d31fa5229d
Stringify py.path object for py3.5
...
https://www.python.org/dev/peps/pep-0519/
Huh, I didn't realise cpython and the stdlib look up "special" methods
on the class only.
2018-06-26 16:14:22 +12:00
Jimmy
2510fde80f
Add unit test for sanitized download filenames.
...
I think this covers the right path despite not using either of the
backend specific download code. They both either call `set_target()`
directly with a guessed filename or from the prompt question. When
called directly though that basename set by `_init_item()` is used.
It's a little high level but we already know that sanitize_filenames
does, I wanted to test that it gets called.
2018-06-26 16:14:22 +12:00
Jimmy
75c6e087c7
Refactor individual tmpdir fixtures.
...
I was adding a downloads one and saw the opportunity to refactor. Didn't
end up saving that much because I couldn't figure out how to get the
method that does the work to use the fixtures while also taking an
argument, so they have to be passed through from the calling ones. Oh
well.
2018-06-26 16:14:22 +12:00
Florian Bruhin
1bc3d444b6
Stabilize escaping URLs test
2018-06-25 23:02:50 +02:00
Florian Bruhin
87778277e0
Fix SSL error page tests
2018-06-25 22:51:48 +02:00
Florian Bruhin
fc19262eaa
Fix test_shared.py
2018-06-24 22:31:27 +02:00
Florian Bruhin
a02c25dfb1
Don't escape URLs for qute://history
...
We only use the URL to set a 'href' attribute, which does not need escaping.
See #4011
Fixes #4012
2018-06-23 14:27:07 +02:00
Florian Bruhin
9a5439e5d0
Re-add waiting for QQuickWidget
...
Apparently this is still needed on some PyQt versions.
2018-06-21 22:22:04 +02:00
Florian Bruhin
5a7869f2fe
Fix XSS issue on qute://history
...
Fixes #4011
2018-06-21 21:20:19 +02:00
Florian Bruhin
62d8b5b574
Don't depend on PyQt5.QtQuickWidgets to get RWHV
...
Some distributions (at least FreeBSD) don't package that module, so let's not
rely on it.
2018-06-21 17:14:29 +02:00
Florian Bruhin
4887385bdd
Fix test_dictionary_dir
2018-06-21 01:40:36 +02:00
Jay Kamat
0e7bbccd71
Fix stacking tabs setting with new_tab prev
2018-06-19 12:10:21 -04:00
Jay Kamat
1919029858
Add setting for controlling stacking of new tabs
2018-06-18 18:09:13 -04:00
Florian Bruhin
b1b06fcb43
Fix restore test
2018-06-14 17:42:33 +02:00
Florian Bruhin
746c2986f0
Fix test_stylesheet on Qt 5.11
2018-06-14 16:42:24 +02:00
Florian Bruhin
11fce30ed0
Stabilize mode_on_change tests
2018-06-14 15:56:48 +02:00
Florian Bruhin
1335fccba1
Merge remote-tracking branch 'origin/pr/3590' into tab-mode
2018-06-14 15:40:58 +02:00
Florian Bruhin
cec63ea449
Merge remote-tracking branch 'origin/pr/3906'
2018-06-14 14:49:30 +02:00
Florian Bruhin
4f665784f2
Make it possible to call config.get with fallback=False
2018-06-14 13:33:40 +02:00
Florian Bruhin
fd4ae2fabe
Fix test_set_wrong_backend
2018-06-12 14:17:50 +02:00
Florian Bruhin
6faff11243
Improve error messages with backend conditionals
2018-06-12 11:10:03 +02:00
Florian Bruhin
e066f83a7c
Make configinit tests run with all setups
2018-06-12 10:52:22 +02:00
Florian Bruhin
5b5657b0d5
Make sure debug_flags is available for unit tests
2018-06-12 10:38:19 +02:00
Florian Bruhin
093f07f552
Add content.canvas_reading setting
...
See #2377
Closes #2235
2018-06-11 23:28:04 +02:00
Florian Bruhin
69abc9a1a1
Add a content.webrtc_public_interfaces_only option
...
See #3010
Fixes #2163
2018-06-11 19:44:45 +02:00
Florian Bruhin
3bf89bcea4
Add content.autoplay option
...
See #3010
Closes #1643
2018-06-11 19:32:34 +02:00
Florian Bruhin
b7c1d7fe37
Fix broken tests
2018-06-11 18:38:22 +02:00
Florian Bruhin
263d298449
Remove the content.developer_extras setting
2018-06-11 18:09:24 +02:00
Florian Bruhin
98c82859b5
Skip "History with view-source URL" on QtWebKit
2018-06-11 15:36:48 +02:00
Florian Bruhin
b5d1614c48
Add audio attribute to FakeWebTab
2018-06-11 12:41:55 +02:00
Florian Bruhin
4dcba2343d
Add expected_names to test arguments
2018-06-11 12:37:48 +02:00
Florian Bruhin
e36b6b13e0
Edit docstring :D
2018-06-11 12:35:49 +02:00
Florian Bruhin
2934f4a1ca
Merge remote-tracking branch 'origin/pr/3973'
2018-06-11 12:34:18 +02:00
Jimmy
b7929ef747
Add tests for suppressing debug log records.
...
For the LogFilter tests I just copied some of the examples that were
already being used and reversed them. To do that without even more
duplication I had to add another parameter to the test.
2018-06-11 21:56:59 +12:00
Florian Bruhin
649c9f37cd
Fix import
2018-06-11 11:35:37 +02:00
Florian Bruhin
7f69920158
Merge remote-tracking branch 'origin/pr/3947'
2018-06-11 11:29:14 +02:00
Florian Bruhin
1ba2e3e24b
Implement Qt 5.11 devtools support
...
See #3010
2018-06-11 11:07:14 +02:00
Florian Bruhin
c4add62301
Merge remote-tracking branch 'origin/pr/3825'
2018-06-10 17:30:44 +02:00
Florian Bruhin
50fa7743ba
Only use OS-specific line separator for hints
2018-06-10 17:21:31 +02:00
Florian Bruhin
829a6855a3
Make sure test_env_vars restores variables correctly
...
Otherwise, we'd get a segfault inside Qt in test_stylesheet, since
88f2873a79
.
2018-06-10 15:49:24 +02:00
Florian Bruhin
ca8d3903e3
Improve configinit tests
2018-06-10 10:49:26 +02:00
Jay Kamat
de127497a2
Press enter to follow links instead of using js
...
This codepath may trigger a crash which was fixed by
0e75f3272d
.
However, this commit does not make it more likely to happen, and this
patch was backported into arch (at least).
In the future, we may be able to use <enter> on qtwebkit with js,
without triggering this crash
2018-06-09 15:42:44 -07:00
Florian Bruhin
c9fddfe458
Fix lint
2018-06-09 23:00:57 +02:00
Florian Bruhin
7fdeeb25b7
Merge remote-tracking branch 'origin/pr/3793'
2018-06-09 22:59:52 +02:00
Florian Bruhin
dcb1191f93
Remove the deprecated :tab-detach
2018-06-09 21:25:09 +02:00
Florian Bruhin
ec88c15390
Fix waiting for initial focus object with Qt 5.11 workarounds
...
This was broken in d32d541ac0
because now
apparently PyQt knows it's a QQuickWidget.
2018-06-09 20:05:26 +02:00
Florian Bruhin
40b1be6925
Fix test_disable_gpu with QtWebKit
2018-06-09 19:59:11 +02:00
Florian Bruhin
41b5fca9b7
Add additional test
2018-06-09 19:57:22 +02:00
Florian Bruhin
88f2873a79
Allow more values for the qt.force_software_rendering setting
2018-06-09 16:21:10 +02:00
Florian Bruhin
a13618fe2a
Merge branch 'pyup-scheduled-update-2018-06-04'
2018-06-07 22:57:48 +02:00
Florian Bruhin
8bf7cb539a
Mark modal window test as flaky
2018-06-07 22:57:16 +02:00
Florian Bruhin
11b957f24b
tests: Adjust getting markers for pytest 3.6
2018-06-07 19:29:01 +02:00
Florian Bruhin
596041c40e
Go back to using an invalid scheme for invalid_link.html
...
Otherwise, this breaks the tests on Qt 5.10
2018-06-07 15:30:28 +02:00
Florian Bruhin
999513d5d8
Skip invalid link tests on Qt 5.11
...
Qt 5.11 just loads about:blank and doesn't let us catch this in
acceptNavigationRequest, but the same happens in Chromium as well.
See #3661
2018-06-07 13:49:28 +02:00
Florian Bruhin
d059197bc9
Use a valid scheme in invalid_link.html
...
This is to avoid triggering QTBUG-63378 which fails differently with a custom
scheme.
See #3661
2018-06-07 13:49:22 +02:00
Florian Bruhin
0e9159e8e8
Revert "Fix Qt 5.11 issues with clicking invalid links"
...
This reverts commit 1956590df84a72c7f9a516e805d01529291fccf8.
Turns out the actual issue wasn't due to *invalid* links - it's with links
which have an unknown scheme.
There's still a change in behavior between Qt 5.10 and 5.11 though: Invalid
links are apparently not passed to acceptNavigationRequest (sometimes?) so we
don't show an error message. Instead, we just load about:blank. However,
Chromium does that too and we can't handle a real click easily, so let's just
ignore that one.
See #3661
2018-06-07 13:49:13 +02:00
Florian Bruhin
3d53d0d2c5
Fix Qt 5.11 issues with clicking invalid links
...
See #3661
2018-06-07 13:48:04 +02:00
Florian Bruhin
8cc3804119
Don't run test with failed download on Qt 5.11
...
Looks like we can't use an <a> tag with download-attribute to trigger a failed
download in the test on Qt 5.11...
See #2298 , #3661
2018-06-06 21:12:23 +02:00
Jay Kamat
c33a887b2d
Add support for following tab selected elements to :follow-selected
2018-05-25 12:39:36 -07:00
Jay Kamat
74ea696a5c
Merge branch 'master' of https://github.com/qutebrowser/qutebrowser into jay/tab-bg-focus
2018-05-22 23:17:52 -07:00
Florian Bruhin
29ad252278
Handle ² keypress correctly
...
Turns out str.isdigit() also handles ² as a digit, but int('²') causes a
ValueError.
Here we use `string.digits` instead, which is '0123456789'.
Fixes #3743
2018-05-22 12:25:45 +02:00
Jimmy
749b29e599
tests: Don't pretend to be using webkit if unavailable
...
Since `objects.backend` was being set to usertypes.Backend.QtWebKit by
default some feature detection code was calling
`version.qWebKitVersion()` which was failing because the import of
`PyQt5.QtWebKit` was failing in version.
This should not change behavior where both backends are available on if
any tests fail because they are expecting their environment to say they
are on webkit when they either aren't actually using any webkit features
or all mocked webkit features then they should probably be changed to
patch `objects.backend` or not depend on it.
2018-05-21 20:59:27 +12:00
Jimmy
6573a4d616
Tell pylint to shut its fat mouth.
...
I just want to return something I can refer to the attributes of via dot
syntax without having to pointlessly write the names both when I declare
the data class and when I assign the variables.
Such a stupid warning.
2018-05-20 18:42:40 +12:00
Jimmy
b0d1a137da
Greasemonkey: Don't attempt scope isolation on webkit
...
Since the JSCore used by WebKit 602.1 doesn't fully support Proxy and I
can't think of a way to provide isolation otherwise just revert to the
old behaviour in that case. I am checking for the specific WebKit
version because I'm pretty sure that version just happened to be
released when Proxy support was only partially done, any later release
will presumably have a newer JSCore where it works.
There I changed the indentation of a block in the jinja template which
will have inflated the diff.
I added mocking of `objects.backend` to the `webview` and
`webenginewebview` fixtures, I am pretty sure they are mutually
exclusive so don't expect any issues from that.
Because of the feature detection being at template compile time I had to
tweak the test setup to be done via a fixture instead of the setupClass
functionality that I was using before.
2018-05-20 18:42:40 +12:00
Jimmy
13249329f7
Greasemonkey: skip window scoping test on webkit
...
The implementation of Proxy in JSCore used by current QtWebkit (webkit
602.1) doesn't support the `set()` handler for whatever reason. So
instead of testing for a specific behaviour that we can't ensure on that
version let's just skip the tests and handle user complaints with
sympathy.
2018-05-20 18:42:40 +12:00
Jimmy
c7a9792b67
Greasemonkey: Add test for window scoping refinements.
...
Adds a test to codify what I think greasemonkey scripts expect from
their scope chains. Particularly that they can:
1. access the global `window` object
2. access all of the attributes of the global window object as global
objects themselves
3. see any changes the page made to the global scope
4. write to attributes of `window` and have those attributes, and changes
to existing attributes, accessable via global scope
5. do number 4 without breaking the pages expectations, that is what
`unsafeWindow` is for
There are some other points about greasemonkey scripts' environment that
I believe to be true but am not testing in this change:
* changes a page makes to `window` _after_ a greasemonkey script is
injected will still be visible to the script if it cares to check and
it hasn't already shadowed them
* said changes will not overwrite changes that the greasemonkey script
has made.
2018-05-20 18:42:40 +12:00
Florian Bruhin
6eadff4a10
Add Python executable to :version
2018-05-14 22:13:15 +02:00
Jay Kamat
71d55e9213
Refocus command prompt after a new tab is opened when in command mode
2018-05-11 08:49:13 -07:00
Jay Kamat
95093b82c9
Refocus webview after spawning a background tab
2018-05-10 10:15:01 -07:00
Jay Kamat
bc9f178a08
Add test for tab-bg focus
2018-05-09 15:34:01 -07:00
Florian Bruhin
8531f89ca3
Merge remote-tracking branch 'origin/pr/3789'
2018-05-08 11:45:20 +02:00
Florian Bruhin
89a1c43b4c
Merge remote-tracking branch 'origin/pr/3790'
2018-05-08 11:43:30 +02:00
Florian Bruhin
d005088b6b
Add missing fake_args fixture
2018-05-08 11:26:45 +02:00
Florian Bruhin
b9fc068af5
Add a log-requests debug-flag
2018-05-07 10:23:56 +02:00
Florian Bruhin
388c155ebb
Add test for #3753
2018-05-03 18:02:20 +02:00
Florian Bruhin
f0f1a4a1d1
Merge remote-tracking branch 'origin/pr/3702'
2018-05-03 17:56:03 +02:00
Florian Bruhin
49bdcd5a97
Merge remote-tracking branch 'origin/pr/3796'
2018-05-03 13:58:26 +02:00
Florian Bruhin
4932cc4d24
Merge remote-tracking branch 'origin/pr/3804'
2018-05-03 13:33:08 +02:00
Jimmy
19554ba4a1
Update PyPI api URL.
...
Flask 1.0 is out, pip made breaking changes, warehouse is a thing, new
requests soon. So
much fun in python world lately.
2018-05-02 23:08:51 +12:00
Florian Bruhin
e789296b7f
Handle new focus object for Qt 5.11
...
See https://codereview.qt-project.org/#/c/221408/10 and #3661 :
https://github.com/qutebrowser/qutebrowser/issues/3661#issuecomment-375969315
2018-04-23 16:54:47 +02:00
Michal Siedlaczek
c94ea5f8d4
Merge remote-tracking branch 'upstream/master' into filter-dict-names
...
Merging to investigate failed tests that seem unrelated to the PR.
2018-04-21 13:29:18 -04:00
Michal Siedlaczek
e2d249541d
Fix test function comment
2018-04-21 12:33:10 -04:00
rr-
537aa22d64
Change clipboard mocking
2018-04-18 11:00:05 +02:00
rr-
30d3612a17
Add test for rapid yanking
2018-04-18 10:59:54 +02:00
Jay Kamat
cbb246fd0b
Update tests for new implementation
2018-04-16 23:28:32 -04:00
Florian Bruhin
4a78519b63
Mark opening/closing window via JS test as flaky
2018-04-16 17:14:47 +02:00
Florian Bruhin
d2207f66f1
Skip test_set_error entirely
...
See #3771
2018-04-16 17:14:14 +02:00
Jimmy
c5334fb683
Greasemonkey: use UrlPatterns for match directives
...
The greasemonkey `@match` directive is used to match urls against
chromium url patterns (as opposed to `@include` which treats its
argument as a glob expression). I was using fnmatch for both here
because I am lazy and knew someone else was going to implement chromium
url patterns for me eventually. Now it is done and I should switch to
using them instead. The most common failing case that this will fix is
something matching on `*://*.domain.com/*` because it wouldn't match
the url with no subdomain.
This codepath is only used on webengine 5.7.1 and webkit backends.
2018-04-14 10:31:20 +12:00
Jay Kamat
3f9099613b
Merge pull request #3807 from slackhead/tabs.mute_messages
...
Add option to mute the Last Tab/First Tab messages when tabs.wrap is false
2018-04-13 12:11:45 -04:00
Jay Kamat
ed76d689b0
Add test for completing other buffer excluding id0
2018-04-10 02:45:12 -04:00
Slackhead
62aa9bdbb3
Added debug() logging for next/prev-tab and test scenarios
2018-04-09 02:03:02 +01:00
Slackhead
fac546e9b4
Remove test scenarios for last/first tab when wrap is off
2018-04-08 18:56:16 +01:00
Jay Kamat
76dbfa7305
Allow searching for double semicolons
...
Possibly breaks scripts using :search with ;; to split commands. A
workaround is to put the :search command at the end.
2018-04-05 17:20:50 -04:00
Jay Kamat
9ad6cef369
Add a test for leading arguments
2018-04-01 21:00:02 -04:00
Ryan Roden-Corrent
bca07eebba
Unit-test configmodel arg filtering.
...
Test that values the user has already input are omitted from the
suggestions. This brings configmodel coverage back to 100%.
2018-03-31 18:55:54 -04:00
Ryan Roden-Corrent
707fc1176d
Regen completion if args change.
...
Allow completion functions to react dynamically to args as the user
inputs them. This allows config-cycle to filter out values that were
already provided.
Args provided after the maxsplit do not cause the completion to regen.
For example, successive words typed after `:open` just set the filter
pattern and do not spuriously regenerate the completion model.
2018-03-31 11:45:50 -04:00
Jay Kamat
cb8a75577e
Add tests for hinting with --first
2018-03-30 15:03:08 -04:00
Florian Bruhin
d7455bcdba
Merge remote-tracking branch 'origin/pr/3765' into adblock
2018-03-28 20:32:47 +02:00
Michal Siedlaczek
d606cd5550
spell test formatting and docstrings
2018-03-28 14:13:46 -04:00
Michal Siedlaczek
7c1de99876
Fix test coverage
2018-03-28 12:16:50 -04:00
George Edward Bulmer
2789bec1e7
Modify assert_url to treat localhost differently
2018-03-28 14:27:17 +01:00
Florian Bruhin
32568a6da4
Simplify tests
2018-03-28 09:33:27 +02:00
Jussi Timperi
046a3dc159
Add option to only show favicons for pinned tabs
...
Closes #3440
2018-03-28 00:45:57 +03:00
Florian Bruhin
9cff0e7367
Merge remote-tracking branch 'origin/pr/3742'
2018-03-27 12:01:18 +02:00
Florian Bruhin
e5ffcbd49f
Merge remote-tracking branch 'origin/pr/3750'
2018-03-27 11:07:29 +02:00
Florian Bruhin
2249a88e3a
Make test_simple_js_webengine work correctly
2018-03-27 07:29:43 +02:00
Florian Bruhin
6dbd6d1ddf
Move test_qt_javascript.py
2018-03-27 07:14:05 +02:00
Florian Bruhin
6ecea8ef17
Revert accidental changes to test_qt_javascript.py
2018-03-27 07:13:17 +02:00
Florian Bruhin
021bb25622
Add regenerating website to contributing.asciidoc
...
[ci skip]
(cherry picked from commit 9f95736bbe4a00c9cc4a8b222ab3dc55d6bdf96c)
2018-03-26 22:53:46 +02:00
Florian Bruhin
d4899240de
Break long lines
2018-03-26 10:51:04 +02:00
Ryan Roden-Corrent
f237a87ad0
Completion for varargs.
...
When a command has positional varargs, keep offering the configured
completion for each successive argument.
Right now this only influences `config-cycle`.
Previously, `config-cycle <option> ` would offer a value completion for
only the first argument after the option. Now it will keep offering
value completion for each successive argument.
This will be useful for passing multiple tags to the new bookmark
commands that will be added for #882 .
2018-03-25 21:59:30 -04:00
Philip Lewis
cecb79cf05
Fix keyhints for special characters
...
`prefix` is a string and `seq` is a key sequence, so removing `len(prefix)`
items from `seq` will remove too many if `prefix` contains a special character
(ex "<Ctrl+x>"). Remove the number of characters from `str(seq)` instead.
2018-03-25 15:18:02 -04:00
Florian Bruhin
d4ea1df232
Improve window_open.html tests
2018-03-25 19:56:48 +02:00
Florian Bruhin
91ca7d0911
tests: Rename close function in window_open.html
...
Naming it close() conflicts with the global JS close()
2018-03-25 19:39:34 +02:00
George Edward Bulmer
a85ac1725f
Missing fullstop in a docstring
2018-03-24 22:56:47 +00:00
George Edward Bulmer
eb5684e5f7
Pylint fix
2018-03-24 21:52:26 +00:00
George Edward Bulmer
b9bcad9c14
Grammar change
2018-03-24 21:13:22 +00:00
George Edward Bulmer
64b01cc076
Remove extraneous part
2018-03-24 21:10:23 +00:00
George Edward Bulmer
1380fef600
Add test for parsing multiple lines
2018-03-24 21:08:55 +00:00
George Edward Bulmer
3f37fcf8fa
Modify tests, localhost should never be blocked
2018-03-24 20:15:34 +00:00
rien333
e211801e16
Handle wayland decoration option rename through configdata.yml
2018-03-23 15:24:18 +01:00
Florian Bruhin
f1789effdc
Stabilize navigate.feature on Qt 5.11
...
Looks like we get qute://help as URL from the previous test otherwise?
See #3661
2018-03-23 10:29:25 +01:00
Florian Bruhin
e095f64eb6
Merge remote-tracking branch 'origin/pr/3752'
2018-03-23 08:25:59 +01:00
Florian Bruhin
00bdb60627
Ignore "Dropping message on closed channel." message
...
This seems to happen with this test in tabs.feature with Qt 5.11:
Scenario: :buffer with wrong argument (-1)
It only happens ~1/50 times though, and seems like some Qt bug.
See #3661
2018-03-23 07:59:46 +01:00
rien333
bb0c79b5a2
Fix wayland test
2018-03-23 01:38:45 +01:00
Jay Kamat
07d043fe81
Add basic tests for tab width sizing
2018-03-22 14:27:33 -04:00
rien333
7b7faa9f66
Fix silly redefinition
2018-03-22 03:42:57 +01:00
rien333
a6b92dbbd3
General window decoration hiding option
2018-03-22 02:23:21 +01:00
George Edward Bulmer
51f9464eb2
Add test for hints with numberpad numbers
2018-03-21 17:06:13 +00:00
George Edward Bulmer
0645865d22
Add test case for is_special in keyutils
2018-03-21 16:38:58 +00:00
George Edward Bulmer
1cf3d66a22
Revert test and modify returned key
2018-03-21 15:34:32 +00:00
George Edward Bulmer
bc885cc9ee
Modify the keypad test
...
The new behaviour is for the keypad to yield its usual key,
such that instead of a special <Num+2> keypress, it yields <2>
2018-03-20 23:19:36 +00:00
Ryan Roden-Corrent
16bda94e2b
Remove unused import and TODO from urlmarks test.
2018-03-20 21:41:19 +00:00
Ryan Roden-Corrent
5a20052bce
Add unit tests for urlmarks.
2018-03-20 21:41:19 +00:00
Florian Bruhin
11696f0073
Fix test_configinit
2018-03-20 22:16:16 +01:00
Florian Bruhin
f9d976880e
Disable shared web workers on Qt < 5.11
2018-03-20 21:14:04 +01:00
Florian Bruhin
a5f1022330
Log document.body in JS tests
2018-03-20 11:56:46 +01:00
Florian Bruhin
85d3d4baba
Mark test_set_error as flaky
2018-03-20 10:25:03 +01:00
Florian Bruhin
561295238d
Another try at stabilizing test_set_error
2018-03-20 08:58:48 +01:00
Florian Bruhin
81827a3150
Try to stabilize stylesheet tests
2018-03-20 07:05:03 +01:00
Florian Bruhin
32145d579b
Merge branch 'pyup-scheduled-update-2018-03-19'
2018-03-20 07:00:37 +01:00
Florian Bruhin
a374698693
Fix lint
2018-03-20 06:38:11 +01:00
Florian Bruhin
32df91fbae
Merge remote-tracking branch 'origin/pr/3604'
2018-03-20 06:24:57 +01:00
Florian Bruhin
ea1e52ea7c
Load page before loading stylesheets
...
If we don't do this, when doing:
self.config_stub.val.content.user_stylesheets = css_path
then _update_stylesheet gets called before the stylesheet QWebEngineScript did
run (as there was no load yet), so we get:
[:2] Uncaught TypeError: Cannot read property 'stylesheet' of undefined!
Instead, load the page first and then update the stylesheet.
This tests that live updating works properly, and also makes sure we don't run
into the problem described above.
2018-03-19 21:44:47 +01:00
Florian Bruhin
b588f54a53
Fail javascript tests on logging messages
2018-03-19 20:43:55 +01:00
Florian Bruhin
1162e640c5
Remove unused imports
2018-03-19 19:42:56 +01:00
Florian Bruhin
0ea7a1457d
Make test_position_caret work again
...
The tests only work properly with QtWebKit (and aren't needed on QtWebEngine).
Also, for some reason the scrolled_down tests only work without Xvfb.
2018-03-19 19:38:21 +01:00
Florian Bruhin
f5d7605ae0
Add a :scroll-to-anchor command
...
Fixes #2784
2018-03-19 19:18:33 +01:00
Florian Bruhin
460bd86579
Initial attempt at using the tab API for tests/unit/javascript
2018-03-19 18:18:21 +01:00
Florian Bruhin
e43f0a61b9
Move all QWebEngineScript related code out of webenginesettings
...
It looks like there's some issue with QWebEngineScript in a profile, at least
with older Qt versions...
See #3497 , #3377
2018-03-19 17:33:02 +01:00
Florian Bruhin
33066af51d
Break long comment
2018-03-19 13:59:30 +01:00
Florian Bruhin
6a971e2846
Ignore OnDidStopLoading error message
...
See #3661 , https://bugreports.qt.io/browse/QTBUG-66661
2018-03-19 12:13:10 +01:00
Florian Bruhin
bee04a1eec
Wait until runner is finished in test_custom_env
...
This seems to at least lead to less warnings when running the test.
2018-03-19 11:43:08 +01:00
Florian Bruhin
232fd19422
Fix unit tests after refactoring
2018-03-19 09:53:35 +01:00
Florian Bruhin
1b84bbd61d
Refactor initialization of internal JavaScript
...
- Initialize JavaScript in webenginesettings.py instead of webenginetab.py
- Move JavaScript snippet into a .js file
- Make sure scripts can be re-run and do nothing if already run.
- Run scripts on DocumentCreation *and* DocumentReady. Closes #3717 .
- Give each script an unique name for debugging.
- Also make custom stylesheets work on chrome:// pages
2018-03-19 09:14:55 +01:00
Florian Bruhin
8a3d9c0c01
Adjust ignored log messages for Qt 5.11
2018-03-18 18:58:29 +01:00
Marc Jauvin
b7159d780a
Merge 'origin/master' into tab-input-mode
2018-03-16 14:28:36 -04:00
Michal Siedlaczek
f9e702bae5
Warn about malformed dictionaries
2018-03-16 11:28:45 -04:00
gammelon
f57e47c742
Separate tests for _get_search_url
2018-03-16 11:42:51 +01:00
Florian Bruhin
1d25b212d5
Add missing qapp fixtures to tests
...
See #3723
2018-03-15 09:06:40 +01:00
Florian Bruhin
84c7c37e8e
Swap Control/Meta back on macOS
...
Fixes #3697
(cherry picked from commit fd9e7bed7fd9842eac22ed304a094a92cc953577)
2018-03-14 19:40:56 +01:00
Florian Bruhin
d232b3ea57
Disable test_software_rendering on macOS
...
For some reason, macOS doesn't care about us disabling software rendering
2018-03-14 19:31:36 +01:00
Florian Bruhin
c0fdf19756
Merge remote-tracking branch 'origin/pr/3704'
2018-03-14 08:06:24 +01:00
Marc Jauvin
c9f6cd507b
address requested changes
...
- add INPUT_MODES & PROMPT_MODES constants in modeman
- use those in tabbedbrowser and modeman
- fix debug logs format to be more human readable
- fix associated tests for new debug logs
2018-03-13 23:31:48 -04:00
Jay Kamat
35beff98a9
Add test for #3711
2018-03-13 19:18:42 -04:00
Florian Bruhin
b88ac51d25
Fall back to non-keypad keys without any keypad bindings
...
Fixes #3701
2018-03-13 14:40:54 +01:00