Commit Graph

532 Commits

Author SHA1 Message Date
Florian Bruhin
5ea8e766f5 Run all :follow-selected tests with/without JS 2018-09-14 22:49:18 +02:00
Florian Bruhin
b5af448196 Fix test_follow_selected_without_a_selection on QtWebKit 2018-09-14 22:46:31 +02:00
Florian Bruhin
4ae78d9bb2 Revert "Revert "Make sure we wait until follow_selected is done""
This reverts commit 200c11625f.
2018-09-14 22:40:47 +02:00
Florian Bruhin
200c11625f Revert "Make sure we wait until follow_selected is done"
This reverts commit bc45aa33e0.
2018-09-14 21:58:42 +02:00
Florian Bruhin
8d066690e6 Fix :follow-selected tests 2018-09-14 21:57:37 +02:00
Florian Bruhin
bc45aa33e0 Make sure we wait until follow_selected is done 2018-09-14 20:18:33 +02:00
Florian Bruhin
68af23b76e Try getting selection multiple times 2018-09-13 22:41:30 +02:00
Florian Bruhin
62458c7a84 Register a qute://testdata/ scheme for unit tests
This is more lightweight than running a webserver (probably about the same as
file://), but allows us to use relative links in files.
2018-09-13 22:32:00 +02:00
Florian Bruhin
20da259de6 Rewrite some :follow-selected tests as unit tests 2018-09-08 16:01:38 +02:00
Florian Bruhin
9c67239847 Fix lint 2018-09-08 14:52:47 +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
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
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
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
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
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
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
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
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
fc19262eaa Fix test_shared.py 2018-06-24 22:31:27 +02:00
Florian Bruhin
4887385bdd Fix test_dictionary_dir 2018-06-21 01:40:36 +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
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
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
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
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
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