Commit Graph

4371 Commits

Author SHA1 Message Date
Jonathan Berglind
681bb058fa Use HTTPStatus enum instead of http.client in webserver fixture 2018-02-13 20:57:05 +01:00
Jonathan Berglind
3d5bba9cff Use HTTPStatus in flask test server 2018-02-13 20:57:05 +01:00
Jonathan Berglind
81acba4700 Use HTTPStatus for existing tests, add more ones
Add tests for endpoints being refactored
2018-02-13 20:56:59 +01:00
George Edward Bulmer
ca8d935cf4 Update tests as per code review 2018-02-13 18:38:27 +00:00
Marc Jauvin
e38df261cb skip this test for qt>=5.10 until the log problem gets resolved 2018-02-13 13:00:44 -05:00
George Edward Bulmer
cfa779ecb7 Add trivial test for _uptime 2018-02-13 16:02:20 +00:00
George Edward Bulmer
b959e885fc Pylint fix 2018-02-13 15:25:40 +00:00
George Edward Bulmer
e349af7524 Fix testing with error pastebin_version() 2018-02-13 14:49:15 +00:00
George Edward Bulmer
942dca3444 Add test for pastebin_version() 2018-02-13 13:31:27 +00:00
Florian Bruhin
9bf5ff1583 Merge remote-tracking branch 'origin/pr/3584' 2018-02-13 09:43:44 +01:00
Ryan Roden-Corrent
22d7490126 Remove unused import and TODO from urlmarks test. 2018-02-12 19:25:24 -05:00
Marc Jauvin
6214c38d7e add input_mode tests for tabs.mode_on_change 2018-02-12 18:11:32 -05:00
Florian Bruhin
47451aa495 Open qute://tabs with :buffer 2018-02-12 23:00:26 +01:00
George Edward Bulmer
561e5d17b9 Remove extraneous space 2018-02-12 14:22:25 +00:00
George Edward Bulmer
5b718446b6 Add test for sourcing config with invalid source 2018-02-12 14:19:18 +00:00
George Edward Bulmer
b59a7cdcc0 Report syntax errors as unhandled exceptions
Update tests accordingly
2018-02-12 14:07:05 +00:00
George Edward Bulmer
ce8b457bac Only display exception type if no traceback
Update test to match
2018-02-12 13:43:22 +00:00
Ryan Roden-Corrent
d0ca54a0cf Add unit tests for urlmarks. 2018-02-11 16:40:20 -05:00
Florian Bruhin
3170e35b31 Simplify QtWebKit scheme handlers 2018-02-11 17:14:41 +01:00
Florian Bruhin
c112290664 Make QtNetwork download manager great^H^H^H^Hlobal again
We originally made it per-window in b502280c06 for
issue #228, but that was back when we still needed window IDs for stuff like
message.info.

Nowadays, there's no reason for it to be per-window anymore. The rest of the
download code can deal with one global download manager (because QtWebEngine has
one), and apart from QNAM code which wasn't used here anyways (as tab_id=None)
there was nothing using the window ID anymore.

Also see #3456 which was the original motivation for this change.
2018-02-11 16:15:29 +01:00
George Edward Bulmer
2f4910f1f2 Add test for escaping {{url}} 2018-02-11 14:17:28 +00:00
Florian Bruhin
f28ab5285c Merge remote-tracking branch 'origin/pr/3582' 2018-02-11 09:37:49 +01:00
Florian Bruhin
219b75524b Fix TestCreatingDir on non-Linux 2018-02-10 23:08:47 +01:00
Jay Kamat
11e04c79f4
Add add/remove tests to benchmarks 2018-02-10 15:10:33 -05:00
Florian Bruhin
52d7ff79fc Skip another scroll test with Qt 5.10 and Travis 2018-02-10 20:15:17 +01:00
Florian Bruhin
5f62c016cc Fix test_standarddir.TestCreatingDir
What we actually want to test here is that the given type directory is created
and has the correct permission, we don't care much about the basedir itself.

Also, the download dir is not created automatically.

This test failed on Python 3.7 because intermediate directories now aren't
created with the given mode anymore:

https://bugs.python.org/issue19930
https://docs.python.org/3.7/whatsnew/3.7.html#changes-in-the-python-api
2018-02-10 20:07:27 +01:00
Florian Bruhin
cd1bd7d52a Skip ASCII locale tests with Python 3.7 2018-02-10 19:58:30 +01:00
Florian Bruhin
5b22209eef Run test_init_benchmark on CI again
See #2777
2018-02-10 19:50:20 +01:00
Florian Bruhin
aa5da1b312 Don't set up YAML constructors/resolvers for default loaders
After reading https://pyyaml.org/wiki/PyYAMLDocumentation again, turns out
Loader.add_constructor and .add_implicit_resolver are actually *class* methods.

In other words, we've been adding dozens of constructors/resolvers to the
default YAML loader object, causing it to slow down massively in other tests
which call configdata.init().

Instead, create our own loader class and only add them once there.

I'm still not sure why this caused the duration to increase with every YAML load
though - that might still be some kind of bug in PyYAML.

Fixes #2777
2018-02-10 19:35:03 +01:00
Florian Bruhin
6d750aff8b Merge remote-tracking branch 'origin/pr/3430' 2018-02-10 16:27:41 +01:00
6f9be72c5b
Update tests for statusbar changes 2018-02-10 13:15:12 +01:00
Florian Bruhin
c7133a662c Merge remote-tracking branch 'origin/pr/3577' 2018-02-10 11:40:49 +01:00
Marc Jauvin
504e29c004 fix configfiles tests
- fix test_renamed_key()
- fix test_deleted_key()
- combine both test_merge_persist tests using @pytest.mark.parametrize
- fix _handle_migrations(): mark data dirty for renamed and deleted
2018-02-09 21:25:11 -05:00
Florian Bruhin
0b5ba828db Add missing test 2018-02-09 22:23:07 +01:00
Marc Jauvin
57fe674dc4 shorten lines 2018-02-09 15:22:56 -05:00
Marc Jauvin
9b7db8ee8a Need to mark config as dirty in _handle_migrations()
Add tests for tabs.persist_mode_on_change migration
2018-02-09 14:41:33 -05:00
Florian Bruhin
589605fe92 Fix lint 2018-02-09 10:39:16 +01:00
Florian Bruhin
1a81f7231b Make sure multiple wrong keys are reported 2018-02-08 22:02:22 +01:00
Florian Bruhin
1a88b64c67 Add a test for keyconfig.get_command(..., default=True) 2018-02-08 21:53:41 +01:00
Florian Bruhin
298dcb4c90 Validate config separately from migrations
It makes for cleaner code, and it makes sure the target of renamed options
actually exists.
2018-02-08 21:49:41 +01:00
Florian Bruhin
e0dd7970d8 Skip fragment test
Looks like this now XPASSes with Qt 5.10 on Windows
2018-02-08 20:23:34 +01:00
Florian Bruhin
ea80ded8d5 Try to stabilize editor end2end test
Let's also wait until we're sure the mtime changed here.
2018-02-08 20:21:25 +01:00
Florian Bruhin
15fecc962d Fix lint 2018-02-08 11:41:58 +01:00
Florian Bruhin
53e7d13c2d Skip failing scrolling tests on Qt 5.10 on Travis
See #3572
2018-02-08 10:42:55 +01:00
Florian Bruhin
c520130389 Add tests for a failing watch/unwatch 2018-02-08 10:29:23 +01:00
Florian Bruhin
3306247ae5 Merge branch 'editor-watch' 2018-02-07 22:31:49 +01:00
Florian Bruhin
01ccbc679d Fix lint 2018-02-07 22:26:32 +01:00
Florian Bruhin
abd56a5abd Wait until the mtime changed 2018-02-07 21:40:03 +01:00
Florian Bruhin
aa3970c83e Merge branch 'pr/3371' 2018-02-07 18:26:19 +01:00
Florian Bruhin
1c662ae94c Revive iframe test as flaky
See #1525
2018-02-07 18:25:25 +01:00
Florian Bruhin
0bdee1e292 Stabilize the flaky iframe test
The test above this one loads hello.txt, but we don't wait for the "load
finished" message, so it can arrive after the previous test already finished and
make this test not wait properly.

However, we also can't easily wait for the load finished message in the
previous test as it only appears with QtWebEngine, not QtWebKit.

As a workaround, we simply load another file in that test, to circumvent this
kind of cross-interaction.
2018-02-07 18:16:03 +01:00
Florian Bruhin
e5771c785e Merge branch 'pyup-scheduled-update-2018-02-05' 2018-02-07 11:49:03 +01:00
Florian Bruhin
054b92bbe8 Support retrying downloads with Qt 5.10
Fixes #2787
2018-02-07 11:19:41 +01:00
Florian Bruhin
20d5b4e384 Update pytest log handling
In pytest 3.4, we now need to explicitly set the log level and caplog.at_level
now sets the level of the root handler.
2018-02-06 23:17:40 +01:00
Florian Bruhin
6f028e9ad0 Update copyright years 2018-02-05 12:19:50 +01:00
Florian Bruhin
c8de4675db Various spelling fixes 2018-02-04 21:30:59 +01:00
Ryan Roden-Corrent
a8733d7228 Increase timeout in test_editor.
The test with watch=True was failing on the Travis OSX environment
becausee it was timing out before the file_updated signal was fired.
2018-02-04 07:02:25 -05:00
Ryan Roden-Corrent
833df95485 Only detect save for open-editor and config-edit.
Scope down the new trigger-on-save behavior to only open-editor and
config-edit. Other uses of the editor such as edit-url and edit-command
will behave as before.
2018-02-03 19:57:47 -05:00
Ryan Roden-Corrent
ceab4a4c1f Fix pylint warnings 2018-02-03 08:12:45 -05:00
Ryan Roden-Corrent
0aefffce4d Attempt to solve flaky editor tests.
These are passing locally but failing in travis. This fixes two possible
timing issues:

- Ensure the signals are set up befor the pidfile is written. The
  function that sends the signal waits for the pidfile to exist, so this
  ensures we don't miss a signal.
- Wait for the log message indicating that the editor file was read
  back, so the test doesn't run through before we get a chance to read
  from the editor.
2018-02-01 20:55:18 -05:00
Ryan Roden-Corrent
530a1859a3 Trigger editor signal on exit if content changed.
With the previous code, the editor could miss the final signal on a
save-and-exit. This is avoided by always running the file changed
handler on a successful exit, but only firing the signal if the content
actually changed (to avoid double-signalling).
2018-01-27 15:03:18 -05:00
Ryan Roden-Corrent
7c33ff4046 Fix flaky editor test.
Give the process time to write its PID before trying to interrupt it.
2018-01-27 15:03:18 -05:00
Ryan Roden-Corrent
2e5595b5c6 Update test_configcommands for new editor behavior.
Now that the editor signals on save, the configcommands editing
unittests need to emit the signal in the patch rather than relying on
on_proc_closed to emit the signal.
2018-01-27 15:03:18 -05:00
Ryan Roden-Corrent
a940de3717 Rename editing_finished to file_updated.
ExternalEditor now fires an event on save rather than on exit, so the
signal name should be updated to match the behavior.
2018-01-27 15:03:18 -05:00
Ryan Roden-Corrent
23eb6a6c53 Fix test_editor for edit-on-write behavior.
Now that the editor fires editing_finished on every write, the unit
tests had to be updated.

- Add qtbot to the editor fixture to resolve `QtWarningMsg:
  QSocketNotifier: Can only be used with threads started with QThread`
- Use removePaths instead of disconnect to stop the watcher from
  signalling. This avoids an error when the editor is forcibly cleaned
  up by the tests without the signal ever being connected, but otherwise
  has the same behavior as disconnecting the singal.
- wait for a signal on write instead of proc closed
- wait for _watcher.fileChanged in test_unreadable to ensure the write
  event is fired before the test exits.
2018-01-27 15:03:18 -05:00
Ryan Roden-Corrent
8a9b98c2dc Editor triggers update on every save.
For any command that spawns an editor, tirgger an update on save, not
just on exit.

- :open-editor writes the text field on save
- :edit-url navigates on save
- :edit-url -t opens a new tab on each save
- :edit-command updates the statusbar text on save
- :edit-command --run runs a command on each save
- :config-edit reloads the config on save

Resolves #2307.
Helps mitigate #1596 by allowing users to 'save' partial work, and
notice if there was an error without closing the editor.
2018-01-27 15:03:18 -05:00
Florian Bruhin
1dac05a7ac Fix test_tab.py 2018-01-26 11:58:02 +01:00
Florian Bruhin
24cc54a574 Simplify initializing of AbstractTab subclasses
If we already pass the tab object, no need to pass the window ID separately.
2018-01-26 09:47:26 +01:00
Florian Bruhin
125b3c1de9 Merge remote-tracking branch 'origin/pr/3521' 2018-01-26 09:25:50 +01:00
Marc Jauvin
bb8bc7ea3c fix test related to view-source
remove pygment title
remove view-source from history
2018-01-25 15:17:03 -05:00
Marc Jauvin
eb888cc8d7 fix latest change requests 2018-01-25 13:35:23 -05:00
Florian Bruhin
40df5baa83 Merge remote-tracking branch 'origin/pr/3515' 2018-01-25 09:04:44 +01:00
Florian Bruhin
54e9edfd60 Merge remote-tracking branch 'origin/pr/3515' 2018-01-25 09:02:20 +01:00
Daniel Hahler
4f04c776c1 fixup! fixup! incdec_number: add support for port 2018-01-24 22:22:00 +01:00
Florian Bruhin
e5b6ccd716 Merge remote-tracking branch 'origin/pr/3506' 2018-01-24 21:14:25 +01:00
Florian Bruhin
caca3614f8 Merge remote-tracking branch 'origin/pr/3443' 2018-01-24 20:36:15 +01:00
Marc Jauvin
2e912eeadf move backend dependent code to AbstractAction respective classes 2018-01-23 23:30:22 -05:00
Florian Bruhin
3652553a8f Mark second qute://settings test as flaky 2018-01-23 19:42:22 +01:00
Daniel Hahler
9f14ae184f fixup! incdec_number: add support for port 2018-01-22 21:48:21 +01:00
Daniel Hahler
6a40cbf160 incdec_number: add support for port 2018-01-22 21:26:46 +01:00
Florian Bruhin
1f5cbf21a3 Merge remote-tracking branch 'origin/pr/3348' 2018-01-20 18:28:14 +01:00
Jimmy
b2f95339ce Greasemonkey: support regexes in @include and @exclude.
Like the spec says, if a value for the @include or @exclude rules starts
and ends with a '/' it should be parsed as a regular expression.
Technically a ECMAScript syntax regular expression, but I am not sure of
the differences and I assume they are far fewer than the similarities.
One that I did see mentioned was that javascript RegExp doesn't support
unicode. Although it apparently does support a 'u' flag now.

Note that code will only be ran for QtWebkit and QWebEngine < 5.8
we rely on the builtin support for metadata it QWebEngine for most
things greasemonkey related. Sadly it seems that they missed the regex
requirement too. I've opened a ticket to track that https://bugreports.qt.io/browse/QTBUG-65484
2018-01-20 13:39:19 +13:00
Argn0
bd7054fa2e use self.delete and add test 2018-01-19 09:29:37 +01:00
Florian Bruhin
380021e818 Merge remote-tracking branch 'origin/pr/3484' 2018-01-18 07:54:42 +01:00
Jay Kamat
12d729c3bc
Merge remote-tracking branch 'upstream/master' into jay/frame-hinting 2018-01-17 17:24:43 -05:00
Jay Kamat
ffda82170d
Fix several style issues 2018-01-17 17:02:53 -05:00
Florian Bruhin
923785c781 Merge remote-tracking branch 'origin/pr/3467' 2018-01-17 14:41:45 +01:00
Florian Bruhin
a1798b3843 Merge remote-tracking branch 'origin/pr/3474' 2018-01-17 13:38:22 +01:00
Marc Jauvin
2a274f0d8b add test for bind without args and fix other tests to include win_id 2018-01-15 15:52:15 -05:00
Florian Bruhin
8c8cb3bc29 Fix crash when clicking <form> element with name="value" child
https://stackoverflow.com/q/22942689/2085149

Fixes #2877
See #2569
2018-01-14 20:20:51 +01:00
Nemanja Nedeljkovic
8d8566a5ab Merge branch 'master' of github.com:qutebrowser/qutebrowser into angular-hints 2018-01-13 23:18:39 +01:00
Nemanja Nedeljkovic
957d5b3f02 Add more angular1 selectors 2018-01-07 11:58:02 +01:00
Nemanja Nedeljkovic
ec08a19e7d Rename angular.html to angular1.html 2018-01-07 11:23:28 +01:00
Nemanja Nedeljkovic
64dac66259 local angular 2018-01-07 11:22:46 +01:00
Artur Shaikhullin
81a9ea58d6 Restore pylint rule 2018-01-07 09:25:29 +06:00
Fritz Reichwald
9b4da25578 Fix another test by using the new KeySequence 2018-01-07 00:11:47 +01:00
Nemanja Nedeljkovic
9bb6ba0823 Fix 2018-01-06 22:09:17 +01:00
Nemanja Nedeljkovic
22725beede Maybe fix? 2018-01-06 21:22:12 +01:00
Nemanja Nedeljkovic
f64af6b64a Angular 1 test 2018-01-06 20:45:13 +01:00
Fritz Reichwald
dc66ec5d8c Fix expectation in Fullscreen info message to fit new description of 2018-01-06 20:01:57 +01:00
Jay Kamat
3d508be9ff
Clear unpinned tabs before prompting user with :tab-only 2018-01-04 18:34:40 -08:00
Ryan Roden-Corrent
c290b3f80f Don't attempt completion if input starts with flag.
Always interpret the first word in the command string as the command to
offer completions for, even if that word looks like a flag.

Fixes #3460, where the command string `:-w open` would attempt to offer
completions for `open` but crash because the parsing was thrown off.
By moving the flag-stripping logic to _after_ we determine the command,
`:-w open` interprets `:-w` as the command. Since that is not a valid
command, we won't offer any completions.
2018-01-04 12:34:06 -05:00
Artur Shaikhullin
981f5fd09b Remove unused import 2017-12-30 23:20:29 +06:00
Florian Bruhin
dcf89f7a28 Fix KeyConfig._prepare 2017-12-29 16:10:12 +01:00
Florian Bruhin
917f2a30de Get tests to collect 2017-12-29 13:23:38 +01:00
Florian Bruhin
5cee39d315 Initial move of keyutils tests 2017-12-29 01:41:55 +01:00
Artur Shaikhullin
83f8d84012 Finally enable webengine test 2017-12-28 22:27:47 +06:00
Artur Shaik
5605d3cd8e
Merge branch 'master' into webengine_caret 2017-12-28 20:43:31 +06:00
Artur Shaikhullin
9728e90401 Enable test in webengine 2017-12-28 20:05:10 +06:00
Ryan Farley
611f3621ec skip test
tests/end2end/features/test_marks_bdd.py::test_jumping_back_after_following_a_link
2017-12-22 12:36:45 -06:00
Florian Bruhin
f2c93a0061 Use request instead of pytestconfig
This unifies QuteProc and the other Process subclasses a bit.
2017-12-19 08:55:35 +01:00
Florian Bruhin
12ba642547 Avoid using pytest.config
It's going to be removed in some future pytest release.
2017-12-19 08:32:32 +01:00
Jay Kamat
012e63520f
Blacklist non-implemented qtwebkit frame features 2017-12-18 18:44:28 -08:00
Jay Kamat
b87f0b6f65
Add support for non-link buttons to test_hints 2017-12-18 17:04:50 -08:00
Jay Kamat
344ebed6ad
Add iframe tests for insert on click and follow-selected 2017-12-18 11:00:03 -08:00
Florian Bruhin
f203535e00 Merge remote-tracking branch 'origin/pr/3407' 2017-12-18 16:11:16 +01:00
Ryan Roden-Corrent
ef2de8201a Fix colors.completion.fg default and description.
Update the description to mention the number of columns and change the
default to ["white", "white", "white"] to make it more obvious that
multiple colors can be specified. This also satisfies the config test
that expects the default value for ListOrValue types to be a list.

One other test had to be tweaked to use a config option that is still
just a QtColor rather than a ListOrValue.

While it is possible to provide just two colors, it is "undefined
behavior". It will use the first color as the third color, but that is
an artifact of the implementation and therefore not documented (though
also not an error, as it is harmless).
2017-12-18 08:42:22 -05:00
Ryan Roden-Corrent
31c2988693 Fix test_config.test_get for updated config.
colors.completion.fg is now a list instead of a QColor. As this test
specifically wanted to test a QColor, I just changed it to a different
config option.
2017-12-17 13:28:00 -05:00
Florian Bruhin
430126dcc8 pylint: Re-enable ungrouped-imports 2017-12-15 23:08:53 +01:00
Florian Bruhin
e65c0dd8a7 pylint: Re-enable bad-continuation
And lots and lots of whitespace changes.
2017-12-15 19:16:55 +01:00
Florian Bruhin
f4ed31b295 Add an utils.Unreachable exception 2017-12-15 16:33:47 +01:00
Florian Bruhin
7cebd95936 Simplify test_getitem 2017-12-15 14:41:38 +01:00
Florian Bruhin
bb44f1d4cc Remove old pylint disables 2017-12-15 14:39:42 +01:00
Florian Bruhin
e76732693c Fix wrong import order 2017-12-15 14:35:07 +01:00
Florian Bruhin
f0ad24b08a Remove long deprecated :download invocation 2017-12-14 09:06:46 +01:00
Florian Bruhin
43588b2818 Merge remote-tracking branch 'origin/pr/3393' 2017-12-14 09:02:31 +01:00
Florian Bruhin
7a3554e77a Stabilize :session-save --quiet test
By adding a way to check for the loglevel, we can easily check there's no
message but still wait for the session to be saved.
2017-12-13 23:02:44 +01:00
Florian Bruhin
f34bdfbb50 Revert "Remove :session-save --quiet test"
This reverts commit bea71ed3a2.
I think I can think of a way to stabilize it now.
2017-12-13 22:46:38 +01:00
Ryan Roden-Corrent
12112e0fc7 Implement command-accept --rapid.
command-accept --rapid will run the command without clearing the prompt,
allowing "rapid fire" commands. For example, one could open completion
for `open -t` and open several tabs in a row.

The default binding is ctrl+enter.

Resolves #588.
2017-12-13 16:30:42 -05:00
Florian Bruhin
0a612db733 Rename/move encoding test 2017-12-13 21:13:47 +01:00
Florian Bruhin
ddcdfa54aa Fix test for invalid guiprocess encoding 2017-12-13 21:12:56 +01:00
Florian Bruhin
2b3250144b Merge remote-tracking branch 'origin/pr/3388' 2017-12-13 20:06:00 +01:00
Florian Bruhin
f32b4d88ba Merge remote-tracking branch 'origin/pr/3385' 2017-12-13 19:56:53 +01:00
George Edward Bulmer
84e0ce757a Fix erroneous docstring in a recently added test. 2017-12-13 14:50:25 +00:00
Ryan Roden-Corrent
6420037dd9 Fix histcategory query reuse logic.
I mistakenly checked the length of wheres instead of words. This fixes
that check, renames 'wheres' to 'where_clause' to be clear
that it is a string and not an array, and adds a test.
2017-12-13 08:39:34 -05:00
George Edward Bulmer
28961ab177 Add a test with invalid unicode in spawned stdout.
stderr features identical behaviour, so is currently untested.
2017-12-13 12:46:46 +00:00
Florian Bruhin
c8aef015b0 Merge remote-tracking branch 'origin/pr/3201' 2017-12-13 09:22:36 +01:00
Florian Bruhin
31e3356d01 Merge remote-tracking branch 'origin/pr/3382' 2017-12-13 08:43:21 +01:00
Florian Bruhin
bea71ed3a2 Remove :session-save --quiet test
When nothing gets logged, we can't check whether the session was already saved.
2017-12-13 08:41:29 +01:00
George Edward Bulmer
4844a68bfc Change a rogue re.fullmatch into a re.search.
Sometimes tests were timing out. Perhaps with fullmatch these tests were
rarely failing to parse the logs for the information.
2017-12-12 21:42:10 +00:00
Justin Partain
bcd9d13684 Update tests to use search.ignore_case 2017-12-12 11:31:28 -05:00
George Edward Bulmer
9ca6baca4f Modify instances of re.match to fullmatch or search.
This applies the changes to the tests directory only.
2017-12-12 15:07:37 +00:00
Florian Bruhin
5fe91c30cc Fix :click-element with an ID containing non-alphanumeric characters
See #3201
2017-12-12 11:33:59 +01:00
Florian Bruhin
2e8acf4825 Improve terminating of test processes
There are various small changes here:

- If the process is already finished, we don't try to terminate it.
- On Windows, we use QProcess::kill instead of QProcess::terminate, as terminate
  will only work with processes which have a GUI loop.
- We assert that quitting the suprocess actually worked.

Fixes #3384
2017-12-12 09:36:28 +01:00
Florian Bruhin
6655793e6a Use 'terminate' to clean up webserver subprocess
We already have TestProcess.terminate which does exactly the same
WebserverProcess.cleanup does.

See #3384
2017-12-12 09:33:34 +01:00
Florian Bruhin
8e319a762f Merge remote-tracking branch 'origin/pr/3374' 2017-12-12 07:03:10 +01:00
Florian Bruhin
4f2f1a6494 Make sure editor test doesn't run on Windows 2017-12-12 06:57:39 +01:00
George Edward Bulmer
a2bcd68d56 Code review changes.
This fixes whitespace and alignment issues, and removes a stray test.
2017-12-11 13:35:39 +00:00
Ryan Roden-Corrent
8909e03f1c Match url completion terms in any order.
Perviously, 'foo bar' would match 'foo/bar' but not 'bar/foo'. Now it
will match both, using a query with a WHERE clause like:

WHERE ((url || title) like '%foo%' AND (url || title) like '%bar%')

This does not seem to change the performance benchmark. However, it does
create a new query for every character added rather than re-running the
same query with different parameters. We could re-use queries if we
maintained a list like self._queries=[1_arg_query, 2_arg_query, ...].
However, it isn't clear that such a complexity would be necessary.

Resolves #1651.
2017-12-11 07:46:50 -05:00
Florian Bruhin
2a8b74cbec Get rid of FakeUrl stub
We can just use a real QUrl...
2017-12-11 07:10:17 +01:00
George Edward Bulmer
3b10584749 Update tests to work with the earlier consumption of stdin etc.
Note: this adds an element to vulture's whitelist that vulture
mistakenly identified as unused.
2017-12-10 23:46:35 +00:00
evanlee123
9685eb36b6
Changed FakeUrl's url command to toDisplayString 2017-12-07 16:30:34 -07:00
unknown
25526f00bf fixed catch error in tabwidget 2017-12-07 15:47:03 -07:00
unknown
2483b8315c Merge remote-tracking branch 'refs/remotes/origin/master' 2017-12-07 13:36:49 -07:00
evanlee123
18609f1a24
fixed spacing on FakeURL 2017-12-07 02:36:31 -07:00
evanlee123
4d13941290
added the scheme field to FakeURL 2017-12-06 23:57:19 -07:00
Jay Kamat
d4001a4a98
Add support for hinting elements from within same-origin frames 2017-12-06 23:02:00 -05:00
Florian Bruhin
0f20f16b15 Merge branch 'greasemonkey' 2017-12-06 21:24:15 +01:00
Florian Bruhin
f033b228b1 Use py.path.local in save_script 2017-12-06 21:21:55 +01:00
Florian Bruhin
eb90f9835f Mark qute://settings test as flaky 2017-12-06 20:54:14 +01:00
Florian Bruhin
d6039a0e34 Fix markers for editor test 2017-12-06 20:30:46 +01:00
Florian Bruhin
2633dcc0d5 Fix lint 2017-12-06 20:18:41 +01:00
Florian Bruhin
3cd2910fa2 Merge branch 'greasemonkey' of https://github.com/toofar/qutebrowser into greasemonkey 2017-12-06 10:47:29 +01:00
Artur Shaikhullin
890e26b2b5 Additional fixes 2017-12-06 13:58:23 +06:00
Jimmy
6b3e16b163 Greasemonkey: mark failing no(sub)frames test as flaky.
This test is supposed to ensure that user scripts don't run on iframes
when the @noframes directive is set in the greasemonkey metadata. It is
failing sometimes on travis but passing on local test runs. Personally I
haven't actually ran the whole test suite through, just the javascript
tests. It maybe be some stale state that only shows up when you run the
whole suite. It may be some timing issue that only shows up on travis
because ???. Hopefully this stops the red x from showing up on the PR.
2017-12-06 20:34:29 +13:00
Florian Bruhin
b326f12427 Mark editor test as flaky
See #3367
2017-12-06 06:59:08 +01:00
Florian Bruhin
0df1d07558 Merge remote-tracking branch 'origin/pr/3367' 2017-12-06 06:57:59 +01:00
Florian Bruhin
dcb4448594 Merge remote-tracking branch 'origin/pr/3345' 2017-12-06 06:51:03 +01:00
Ryan Roden-Corrent
636f9edff6 History completion by both URL and title.
Resolves #1649.
2017-12-05 07:32:58 -05:00
Florian Bruhin
29c2e7b45f Skip :follow-selected tests on Qt 5.10
See #3003, #2635
2017-12-05 08:35:12 +01:00
Florian Bruhin
0ce9a355ae Fix download test with Qt 5.10
Not sure why this is needed (no prompt is shown otherwise), but it works like
this.

This probably is related to https://bugreports.qt.io/browse/QTBUG-63388

See #3003
2017-12-05 08:34:37 +01:00
Florian Bruhin
62228752aa Fix most end2end tests with Qt 5.10
For some reason, if we don't wait for about:blank to be fully loaded with
Qt 5.10, we get the next LoadStatus.finished notification with about:blank as
URL.

This is most likely caused by the changes in
https://codereview.qt-project.org/#/c/202924/

See #3003
2017-12-05 08:34:33 +01:00
Florian Bruhin
a8f4444c24 tests: Show more of the message 2017-12-04 22:07:49 +01:00
Florian Bruhin
b554e1f763 tests: Add after= argument to wait_for 2017-12-04 22:07:23 +01:00
Florian Bruhin
2cdc32ca58 Remove pytest-catchlog 2017-12-04 16:55:57 +01:00
Florian Bruhin
fe60556a34 Merge remote-tracking branch 'origin/pr/3349' 2017-12-04 06:32:46 +01:00
Florian Bruhin
a137a29cce Style improvements
This adds a blank line and makes Completer arguments keyword-only to make their
meaning more clear.
2017-12-03 22:32:17 +01:00
Florian Bruhin
9dfff43d99 Merge remote-tracking branch 'origin/pr/3357' 2017-12-03 22:30:47 +01:00
Florian Bruhin
bbc2f14e45 Merge remote-tracking branch 'origin/pr/3356' 2017-12-03 22:30:30 +01:00
Ryan Farley
38b2d42b40 cleanup PYTEST_ADDOPTS for pytest subprocess
See https://github.com/qutebrowser/qutebrowser/pull/3349
2017-12-03 15:09:47 -06:00
Ryan Roden-Corrent
b610563e7f Don't show current window for :tab-give/:tab-take.
Resolves #3144.
2017-12-03 08:03:54 -05:00
Florian Bruhin
ce46b30a1e Show error instead of warning 2017-12-02 14:49:06 +01:00
Florian Bruhin
003ec31848 Merge remote-tracking branch 'origin/pr/3333' 2017-12-02 14:47:24 +01:00
Florian Bruhin
e9be357104 Merge remote-tracking branch 'origin/pr/3352' 2017-12-02 14:37:01 +01:00
Ryan Roden-Corrent
780ac3f4c2 Remove needles quteproc/server fixture deps.
A few step definitions listed these in the parameters although they were
unused.
2017-12-01 11:34:47 -05:00
Ryan Roden-Corrent
3cfa0f7586 Make pylint happy for test_editor_bdd.
windows has no SIGUSR1, but we don't run this on windows anyways
for posix, there IS a member so we need to ignore useless-suppression
2017-12-01 08:41:08 -05:00
Ryan Roden-Corrent
1102ae4d7e Skip editor orphaned test on windows.
Tried SIGINT/SIGTERM, neither worked. Just skip this test on windows and
go back to SIGUSR1 otherwise.
2017-12-01 07:35:13 -05:00
Ryan Roden-Corrent
822f6bae2c Fix webkitelem test.
Now that it checks tab.is_deleted we need to mock that.
2017-12-01 07:28:02 -05:00
Artur Shaikhullin
4eda328a61 Fix some lint warnings. Enable caret tests 2017-11-30 20:38:38 +06:00
Ryan Roden-Corrent
4497f710f9 Try SIGINT instead of SIGTERM for windows. 2017-11-30 07:56:37 -05:00
Florian Bruhin
2752055281 Fix lint in webserver_sub.py 2017-11-29 22:17:48 +01:00
Ryan Roden-Corrent
b465c109ee Fix test_editor_bdd.py for windows.
- Use a raw string to handle windows path separators
- Use SIGTERM instead of SIGUSR1
2017-11-29 07:42:12 -05:00
Florian Bruhin
af638ec430 Move hint unittests to their own file 2017-11-29 10:44:32 +01:00
Florian Bruhin
911616707e Merge remote-tracking branch 'origin/pr/3329' 2017-11-29 10:40:40 +01:00
Jay Kamat
19cecbdeae
Fix style issues in scattered hint tests 2017-11-28 22:08:22 -05:00
Florian Bruhin
43ff35eaea Revert "Make sure docs are up-to-date for navigate.feature"
This action doesn't exist in navigate.feature

This reverts commit 3857491cf9.
2017-11-28 22:15:56 +01:00
Florian Bruhin
3857491cf9 Make sure docs are up-to-date for navigate.feature 2017-11-28 17:06:41 +01:00
Ryan Roden-Corrent
01a9405391 Make ophaned editor test less flaky.
Instead of having the editor sleep a short time, explicitly send it a
signal to exit.
2017-11-28 08:38:04 -05:00
Ryan Roden-Corrent
b6dcd4d387 Reapply "Hide quickmark/bookmark completion if empty."
This reverts commit e72e8b8556.

Now that the SQL category works in isolation, it is possible to hide
quickmarks/bookmarks when those categories are empty.

Fixes #960
2017-11-28 07:21:26 -05:00
Florian Bruhin
9a8d68aa25 Mark :undo test as flaky
I don't get why it fails sometimes - so another @flaky stop-gap for now.
2017-11-28 09:19:37 +01:00
Florian Bruhin
56759cca6b Make more unit tests run with Qt 5.7.1 on a newer Linux 2017-11-28 08:16:07 +01:00
Ryan Roden-Corrent
40e4e73e36 Ensure HistoryCategory works in isolation.
While QSortFilterProxyModel emits layoutChanged when changing the
pattern, QSqlQueryModel emits modelReset. As only layoutChanged was
connected, a HistoryCategory would only work in a model that also had at
least one ListCategory.

The simplest solution is to have the parent model emit the signal
directly. This also emits a single signal on a pattern change rather
that one for each child model.

Resolves #3016.
2017-11-27 11:49:32 -05:00
Florian Bruhin
0e80be2d30 Clear end2end test data again after initializing
If we don't do this, earlier tests can affect later ones when e.g. using "...
should not be logged", as we don't really wait until a test has been fully
finished.
2017-11-27 20:10:38 +13:00
Jimmy
92b48e77c7 Greasemonkey: add unit tests for GreasemonkeyManager 2017-11-27 20:10:38 +13:00
Jimmy
dd59f8d724 Greasemonkey: add more end2end tests
Test document-end and noframes. Because coverage.py told me to.
Hopefully this doesn't slow the test run down too much, particularly the
"should not be logged" bit.

I'm just reusing and existing test html page that used an iframe because
I'm lazy.
2017-11-27 20:10:38 +13:00
Jimmy
4c3461038d Greasemonkey: add minimal end-to-end test.
Just runs a greasemonkey script on a test page and uses console.log to
ensure it is running.

Tests @include, and basic happy path greasemonkey.py operation (loading
and parsing script, scrip_for on webkit), only testing document-start
injecting point but that is the troublsome one at this point.

Tested on py35 debian unstable (oldwebkit and qtwebengine5.9) debian
stable qtwebengine5.7.

Note the extra :reload call for qt5.7 because document-start scripts
don't seem to run on the first page load with the current insertion
point. I need to look into this more to look at ways of fixing this.
2017-11-27 19:27:31 +13:00
Florian Bruhin
75a8938e83 Add flake8-bugbear 2017-11-26 21:50:12 +01:00
Florian Bruhin
b5dd647678 Upgrade pydocstyle/flake8-docstrings
See #3320
2017-11-26 20:30:32 +01:00
Florian Bruhin
7520a365eb Update comments 2017-11-26 19:43:49 +01:00
Florian Bruhin
0f3cff60fa Merge remote-tracking branch 'origin/pr/3335' 2017-11-26 19:42:54 +01:00
Florian Bruhin
38f8cacd2b Merge remote-tracking branch 'origin/pr/3336' 2017-11-26 19:35:26 +01:00
Florian Bruhin
67253726fa Handle empty messages in qt_message_handler
I can't reproduce this, but someone on KDE reported always getting a crash (as
msg.splitlines()[0] gives an IndexError) when trying to select a file with
Qt 5.9.3.
2017-11-26 17:31:07 +01:00
Ryan Roden-Corrent
54fffc8264 Resolve crash when editor tab is closed.
If an editor is open on a form in a tab and that tab is closed, rewire
the callback to print a warning. Previously, the callback would access a
deleted C++ object and cause a crash.
Resolves #2758.
2017-11-26 07:50:49 -05:00
Panagiotis Ktistakis
2bb8d404d2 Adjust :bind completion tests 2017-11-26 14:07:41 +02:00
Ryan Farley
650b0051e6 remove useless ignores 2017-11-26 01:59:21 -06:00
Ryan Farley
5ed8019115 update flake8 and flake8-deprecated
Updated requirements and adjusted the configuration in `.flake8`; other
files have been modified where the lack of per-file auto-ignore caused
problems, where putty's `# flake8: disable=` syntax could be replaced
with a simpler `noqa`, or where pylint directives already suppressed the
same error.
2017-11-26 00:16:14 -06:00
Jay Kamat
c9af36909f
Add tests for hint scattering 2017-11-24 13:21:21 -05:00
Florian Bruhin
03a9cbdfb4 Break long lines
(cherry picked from commit 18a45bbd5b0492785cfc6e9b541d816ed8ec5c54)
2017-11-24 16:03:34 +01:00
Florian Bruhin
06fc52321e Ignore new Qt 5.9.3 error message 2017-11-24 14:24:15 +01:00
Florian Bruhin
0afd6b23c9 Add the option name to the backend error message 2017-11-24 09:25:45 +01:00
Florian Bruhin
28d7c5e204 Fix lint 2017-11-24 07:25:10 +01:00
Ryan Roden-Corrent
8eab402820 Abort :edit-command on invalid input.
Show an error message if the user edits the command such that it is
missing a start character (:, /, or ?). Previously, this would cause the
browser to crash.

Resolves #3326.
2017-11-23 08:15:27 -05:00
Florian Bruhin
5d8c9577a7 Improve hypothesis example generation for configtypes.Dict 2017-11-22 11:53:49 +01:00
Florian Bruhin
72d466d236 Break long lines 2017-11-22 11:34:10 +01:00
Florian Bruhin
cbf5fc01fa Avoid more about:blank loads 2017-11-22 10:15:18 +01:00
Florian Bruhin
12f4940ef3 Make :jseval use a fixed path with relative paths 2017-11-22 09:37:17 +01:00
Florian Bruhin
401a37bf4b Stabilize :spawn with userscript tests 2017-11-22 08:43:47 +01:00
Florian Bruhin
e5cabb6d23 Match QtWebKit error message for qute://help/img test 2017-11-22 08:40:20 +01:00
Florian Bruhin
aa417019ae Try stabilizing loading about:blank in end2end tests 2017-11-22 07:59:22 +01:00
Florian Bruhin
8acfe501fe Revert "Stabilize cleaning up open tabs"
We're going to fix this in a more generic way.

This reverts commit 8440303d82.
2017-11-22 07:56:31 +01:00
Florian Bruhin
b684e50cdf Stabilize view-source test 2017-11-21 18:14:17 +01:00
Florian Bruhin
9744a3d0bc Skip test_webenginesettings without QtWebEngine 2017-11-21 17:58:32 +01:00
Florian Bruhin
8440303d82 Stabilize cleaning up open tabs
For some reason, about:blank isn't properly loaded sometimes. But this should
always work.
2017-11-21 14:53:31 +01:00
Florian Bruhin
6c9f496edf Add a test for setting content.cache.size to a big value 2017-11-21 14:09:38 +01:00
Florian Bruhin
a451e8ac9d Add a cache_tmpdir fixture 2017-11-21 14:09:30 +01:00
Florian Bruhin
c9d42c8bea Enable strict overflow checking in tests 2017-11-21 14:09:20 +01:00
Florian Bruhin
cff557d2fc Try to stabilize command test, take 2 2017-11-21 13:19:11 +01:00
Florian Bruhin
56d1c5c7dd Stabilize command history test 2017-11-21 11:31:22 +01:00
Florian Bruhin
54af872825 Add missing comma 2017-11-21 10:45:49 +01:00
mhm@mhm.com
aa40842848 lazy sessions, docstring formatted, settings renamed, javascript notice changed, insert method changed 2017-11-21 00:38:51 +01:00
Florian Bruhin
25be4d4383 Merge remote-tracking branch 'origin/pr/3318' 2017-11-20 21:16:57 +01:00
Florian Bruhin
203233c894 Track the view correctly in the webengineview fixture
This makes sure the view is closed after the test (fixing test_none on AppVeyor)
and also makes sure we have a QApplication.
2017-11-20 20:47:40 +01:00
Florian Bruhin
a5d9661d73 Simplify is_ignored_lowlevel_message 2017-11-20 19:29:31 +01:00
Ryan Roden-Corrent
5495380580 Exit command mode after :edit-command --run.
Resolves #3317, where the command prompt was left open and populated
with text after running the command.
2017-11-20 11:46:26 -05:00
Florian Bruhin
abb5c9f638 Ignore Qt 5.7 OpenSSL logging message 2017-11-20 13:58:37 +01:00
Florian Bruhin
3b680d0bff Pass --disable-seccomp-filter-sandbox for tests with Qt 5.7.1
This is a stop-gap so I'm able to run end2end tests at least.
See #3163.

For unit tests, we need https://github.com/pytest-dev/pytest-qt/pull/193 first.
2017-11-20 13:54:52 +01:00
Florian Bruhin
8555b86e3b Add copyright notice for pyeval_file.py 2017-11-19 21:09:48 +01:00
Florian Bruhin
a2c549b954 Merge remote-tracking branch 'origin/pr/3313' 2017-11-19 21:09:19 +01:00
Florian Bruhin
112800bab9 Fix backslashes in string 2017-11-19 21:04:57 +01:00
Florian Bruhin
62f37df573 Make cursor keys go through completion if a text was entered
This hopefully helps with people who try to use arrow keys for the completion,
while still making the command history somewhat discoverable.
2017-11-19 20:35:16 +01:00
Akhil kp
21e731ebeb fixed build errors(typing errors) 2017-11-19 23:49:11 +05:30
akhilkpdasan
4644642c38
fixed test for pyeval --file 2017-11-19 19:10:36 +05:30
Florian Bruhin
6a90cebe85 Get rid of backslash 2017-11-19 14:29:22 +01:00
Florian Bruhin
5e20aa668a Merge remote-tracking branch 'origin/pr/3262' 2017-11-19 14:24:48 +01:00
Florian Bruhin
91c909cb80 Merge remote-tracking branch 'origin/pr/3212' 2017-11-19 14:24:40 +01:00
Florian Bruhin
8c7bf12b88 Merge remote-tracking branch 'origin/pr/3306' 2017-11-19 14:08:58 +01:00
Florian Bruhin
2b063f577e Handle OSError in :config-write-py 2017-11-19 14:06:11 +01:00
Florian Bruhin
8fb03208e7 Improve parsing of fatal stacktraces
We now also recognize "Windows fatal exception: ..." message and refuse to
send empty Windows access violation messages.
2017-11-19 14:06:11 +01:00
Akhil kp
c5eab53a87 Added --file for :debug-pyeval 2017-11-19 18:20:58 +05:30
Jay Kamat
6338810396
Increase timeouts for javascript tests 2017-11-17 21:42:24 -05:00
Jay Kamat
6c241f96ed
Add test for appendChild #2723
Does some of #3295
2017-11-17 17:52:35 -05:00
Ryan Roden-Corrent
0f93d53210 Implement :edit-command.
:edit-command opens the current command line in an editor, and updates
the command line if the editor exits successfully. If --run is passed,
the command is executed when the editor exits sucessfully.

Resolves #2453.
2017-11-17 11:16:42 -05:00
Florian Bruhin
b26f2290bc Merge remote-tracking branch 'origin/pr/3097' 2017-11-16 11:14:59 +01:00
Florian Bruhin
b3085f5d60 Merge remote-tracking branch 'origin/pr/3291' 2017-11-16 10:17:02 +01:00
Florian Bruhin
625a2c3060 Merge remote-tracking branch 'origin/pr/3293' 2017-11-16 08:03:02 +01:00
Ryan Farley
e2169d2d92 importer: fix style issues 2017-11-15 20:00:14 -06:00
dwagle
233cea4b62 discarded unnecessary comment and adjusted some code to make pylint happy, also made adjustments to pytest scenarios 2017-11-15 15:48:21 +05:45
Panagiotis K
e4be834b39 Platform-agnostic test. 2017-11-15 09:51:05 +02:00
Jay Kamat
92a6e61b52
Use importorskip to skip stylesheet tests on webkit only systems 2017-11-15 02:05:34 -05:00
Florian Bruhin
404f9ea1d0 Merge remote-tracking branch 'origin/pr/3290' 2017-11-15 07:31:10 +01:00
Ryan Farley
2b6763ad13 importer: tests
Added tests for Netscape and Mozilla formats.
2017-11-14 19:23:34 -06:00
dwagle
b3b768f4a8 normalize url path and strip trailing slashes when doing gu/gU, normalize every qute://* urls and raise OSError when a url redirects to a directory in qute://help/ pages 2017-11-14 21:23:40 +05:45
Florian Bruhin
e72e8b8556 Revert "Hide quickmark/bookmark completion if empty."
This reverts commit 23716f1212.

See #3016
Fixes #3288
Reopens #960
2017-11-14 13:29:58 +01:00
Florian Bruhin
62f35ee064 Fix lint 2017-11-14 09:05:28 +01:00
Jay Kamat
28572ce3b1
Fix stylesheet tests crashing when no QtWebEngine available 2017-11-14 00:00:53 -05:00
Jay Kamat
4845180689
Update version tests for uptime 2017-11-13 23:20:50 -05:00
Jay Kamat
5913552dfe
Fix style issues in stylesheet tests 2017-11-13 19:57:11 -05:00
Florian Bruhin
408ceefad1 Merge branch 'none-position' 2017-11-13 20:42:22 +01:00
Florian Bruhin
870c15a02c Merge remote-tracking branch 'origin/pr/3264' 2017-11-13 20:40:23 +01:00
Ryan Roden-Corrent
b72343d126 Yank selected text with completion-item-yank.
If text is highlighted in the status command bar, completion-item-yank
should yank that rather than the selected completion item.

Resolves #3281.
2017-11-13 13:25:18 -05:00
Florian Bruhin
df4a011d48 Put files into the config dir with :config-write-py and rel. paths 2017-11-13 10:58:51 +01:00
Florian Bruhin
8057f5c281 Set __tracebackhide__ for _check_completions 2017-11-13 09:02:16 +01:00
Florian Bruhin
f6cc6677dd Remove hiding of commands
This was often confusing for people - let's instead just hide commands which are
not available in normal mode.
2017-11-13 09:02:16 +01:00
Ryan Roden-Corrent
23716f1212 Hide quickmark/bookmark completion if empty.
If there are no quickmarks/bookmarks, hide the entire category in url
completion. Note that this only hides the category if
quickmarks/bookmarks is empty to begin with. An empty category is still
shown if the completion pattern filters out all items in that category.

See #960.
2017-11-12 22:28:49 -05:00
Jay Kamat
e00a072d15
Fix garbage collection of StyleSheetObserver objects 2017-11-10 23:25:46 -05:00
Jay Kamat
324c537a3d
Refactor webkit and webengine js testers to have a common subclass 2017-11-10 13:00:44 -05:00
Jay Kamat
83e28a70c5
Fix error message printing for webengine js tests 2017-11-10 12:34:23 -05:00
Jay Kamat
d39dda38ce
Refactor CallbackChecker into test utils 2017-11-10 12:27:00 -05:00
Jay Kamat
155ee198cd
Update stylesheet tests for updates in stylesheet.js 2017-11-10 12:19:49 -05:00
Jay Kamat
5ac8e5ad3e
Clean up stylesheet tests 2017-11-10 12:19:35 -05:00
Florian Bruhin
8df759ecad Merge remote-tracking branch 'origin/pr/3259' 2017-11-10 09:42:05 +01:00
Florian Bruhin
78f4abf5a1
Merge pull request #3257 from ryan-farley/import-chrome
importer: Chrome support
2017-11-10 09:02:09 +01:00
Jay Kamat
2f9a857a27
Add test for styling error pages 2017-11-09 14:44:33 -05:00
Jay Kamat
04b66e1a0a
Add a test for svg files 2017-11-09 14:44:33 -05:00
Jay Kamat
03eae9140e
Implement proper loading of stylesheet.js 2017-11-09 14:44:33 -05:00
Jay Kamat
9a1d10ca11
Add tests which override existing css 2017-11-09 14:44:33 -05:00
Jay Kamat
e7fdff5632
Implement basic stylesheet tests 2017-11-09 14:44:32 -05:00
Jay Kamat
2b5e8daba0
Implement qtwebengine version of JSTester 2017-11-09 14:44:32 -05:00
Ryan Farley
b5bf114ad4 importer: add chrome profile tests 2017-11-09 02:39:43 -06:00
Ryan Farley
5688fc9910 importer: test unsupported opensearch separate 2017-11-08 15:13:16 -06:00
Florian Bruhin
180fb0d65a Fix handling of caret position with Qt 5.10
With Chromium 61 in Qt 5.10, we get null when getting .selectionStart on a
non-text element, like changed in the WhatWG HTML standard:
https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-textarea/input-selectionstart

See https://www.chromestatus.com/feature/5740194741354496

Older QtWebEngines and QtWebKit raise InvalidStateError instead.

This also changes the surrounding code and API so None is used to say "there's
no caret position available", which seems like a nicer API.
2017-11-08 16:27:26 +01:00
cryzed
6e719d1796 Fix issue #3251 2017-11-08 15:08:36 +01:00
Florian Bruhin
b9aa5df5ed Add unit tests for UnicodeEncodeError handling 2017-11-08 07:47:11 +01:00
Florian Bruhin
be08cee63c Make testsuite work with LC_ALL=C 2017-11-07 17:23:38 +01:00
Florian Bruhin
fdc43438ef Make tests for non-ASCII files work 2017-11-07 17:00:08 +01:00
Florian Bruhin
743dbbbcd6 Break long lines 2017-11-07 11:29:53 +01:00
Florian Bruhin
3eafdc13d7 Merge remote-tracking branch 'origin/pr/3177' 2017-11-07 11:17:00 +01:00
Ryan Farley
f5d719dfd4 importer: Chrome support
This adds Chrome/Chromium support to the importer (which ought to be the
last of these). Bookmarks are read from JSON, while keywords/search
engines (the same thing here) are read from the Web Data sqlite3
database, and converted from OpenSearch format.

importer: add tests for opensearch
2017-11-06 21:19:57 -06:00
Jan Verbeek
3e8c84c018 Make :undo re-open all tabs closed by :tab-only
This changes the undo stack from a list of UndoEntry objects to a list
of lists of UndoEntry objects, so groups of tabs can be added. Only
:tab-only does that, but it's exposed by TabbedBrowser.close_tab as a
keyword argument.
2017-11-06 19:32:10 +01:00
Florian Bruhin
0053b10e4d Merge remote-tracking branch 'origin/pr/3243' 2017-11-06 16:26:21 +01:00
Florian Bruhin
29cbf75615 Merge remote-tracking branch 'origin/pr/3249' 2017-11-06 13:46:24 +01:00
Florian Bruhin
378b280f9a Fix qute://gpl 2017-11-06 12:13:54 +01:00
Florian Bruhin
b55bb5dc6f Work around QUrl::query() not being available with PyQt 5.9.1
See https://www.riverbankcomputing.com/pipermail/pyqt/2017-November/039702.html
2017-11-06 08:50:03 +01:00
Florian Bruhin
22f3fade24 Bump up default font size to 10pt
See #1585
2017-11-06 07:36:52 +01:00
Florian Bruhin
f52930c857 Make the window.hide_wayland_decoration option less special 2017-11-06 07:33:13 +01:00
Florian Bruhin
d8392d4852 Merge environment variable init tests 2017-11-06 07:05:32 +01:00
Florian Bruhin
341e8ca864 Add a qt.highdpi setting
See #1585
2017-11-06 07:02:07 +01:00
Florian Bruhin
fef6b8e5fb Merge remote-tracking branch 'origin/pr/3247' 2017-11-06 06:48:50 +01:00
Florian Bruhin
691a152ec8 Remove old config file 2017-11-06 06:48:23 +01:00
Michal Siedlaczek
9153bf8c19 Additional version() test 2017-11-05 20:12:29 -05:00
Michal Siedlaczek
855d0312b5 Review fixes 2017-11-05 18:12:15 -05:00
Michael Hoang
966aa810df Set maxsplit to 0 on :buffer
Remove double quotes from tests
2017-11-06 06:41:43 +11:00
Ryan Roden-Corrent
bb63f9fd92 Implement completion-item-yank.
Yank the text from the first column of the completion menu.
Resolves #1588.
2017-11-05 11:07:38 -05:00
Michal Siedlaczek
51a61cf02d Fix test: sort when comparing file collection 2017-11-04 20:03:53 -04:00
Michal Siedlaczek
3ac2cfdf73 Support updating dictionaries and removing old versions. 2017-11-04 18:16:05 -04:00
Florian Bruhin
5689a3c0dc Fix unbinding default keys twice
When doing :unbind with a default keybinding the first time, it gets inserted
into bindings.commands with None as value.

When then doing :unbind a second time, instead of just leaving that None value
as-is, we removed it again (because it got treated as a custom binding).

Fixes #3162
2017-11-04 15:17:19 +01:00
Michal Siedlaczek
2dc0115c81 Load the newest version of the dictionary. 2017-11-03 19:20:31 -04:00
Florian Bruhin
0f28804032
Merge pull request #3237 from rcorre/completionsort
Fix completion sorting
2017-11-03 14:36:42 +01:00
Florian Bruhin
1536c098cf
Merge pull request #3215 from deewakar/issue3161
Add trailing slash to qute://help pages
2017-11-03 11:49:31 +01:00
Ulrik de Muelenaere
72c57d16f4 Merge branch 'master' into stylesheet 2017-11-03 12:13:52 +02:00
Florian Bruhin
d53a96d9f2
Merge pull request #3208 from 7lb/refactor/make_completer_less_stateful
[RDY] Make completer less stateful
2017-11-03 10:47:52 +01:00
Ryan Roden-Corrent
a9926e44f0 Don't check date string in test_histcategory.
We really just need to check that the row exists here, the date doesn't
matter. Checking the date here is actually flaky with regards to time.
When running locally at 11:50 EST, it failed with:

```
assert self._model.data(self._model.index(row, col)) == item
AssertionError: assert '1969-12-31' == '1970-01-01'
- 1969-12-31
+ 1970-01-01
```

It was wrong to assume that an atime of 0 would always format to
1970-01-01.
2017-11-02 22:10:00 -04:00
Ryan Roden-Corrent
47447c047a Ensure completions are sorted after filtering.
I previously removed the sorting logic from SortFilter thinking it was
unnecessary if we construct the model with a sorted list. However, this
only worked when no pattern was set, and the items are misordered as
soon as a pattern is input.

This patch reintroduces alpha-sorting, which can be disabled by passing
sort=False to the ListCategory constructor. The session completion test
had to be tweaked as it simulated the incorrect assumption that the
session list is not alpha-ordered; sessions come out of the
session-manager pre-sorted so we may as well use alpha-sorting in the
session completion model.

Resolves #3156.
2017-11-02 22:10:00 -04:00
Luca Benci
c28d681736 Change test to avoid calling private functions 2017-11-02 19:42:33 +01:00
Gyorgy Orban
98c6b49cde use enum module instead or usertypes.enum
Remove the usertypes.enum from the source and use
the standard enum module instead.
Enum start number is available since python 3.5
2017-11-02 18:56:11 +01:00
Florian Bruhin
9a69ccc9e3 Merge remote-tracking branch 'origin/pr/3100' 2017-11-02 11:32:45 +01:00
Gyorgy Orban
bb54a954fe use subprocess run
The usage of subprocess.run is recommended since python 3.5.
Popen, check_call, call and check_output calls were replaced with run.
2017-11-01 09:59:32 +01:00
Luca Benci
35597a7c01 Change tests for trailing-space behaviour change 2017-10-31 23:15:11 +01:00
Florian Bruhin
0b86b302a2 pylint: Turn off some more too-many-* stuff globally
Humans are just better at judging what's okay here than a machine.
2017-10-31 07:35:00 +01:00
dwagle
95539961a4 made some adjustments in tests/end2end/features/qutescheme.feature for the tests to pass. These are to account for changes made in f70740c, 4c9482b and aab7496 2017-10-31 12:08:43 +05:45
Florian Bruhin
e9483bc485 Merge remote-tracking branch 'origin/pr/3122' 2017-10-31 07:05:38 +01:00
Jay Kamat
64b6852ae3
Fix a couple style issues 2017-10-30 12:40:44 -04:00
dwagle
4c9482be84 added a Scenario: Opening link with qute://help to tests/end2end/features/qutescheme.feature 2017-10-30 17:49:22 +05:45
Florian Bruhin
9d415587bc Mark flaky test as flaky 2017-10-30 07:05:54 +01:00
Florian Bruhin
daee729fc2 Merge remote-tracking branch 'origin/pr/3200' 2017-10-30 06:58:46 +01:00
Ulrik de Muelenaere
51d48f6b00 Rewrite user stylesheet injection for WebEngine
This now works correctly in XML documents. The stylesheet is applied at
document creation to reduce flickering, and is updated if the
user_stylesheets setting is changed after page load.
2017-10-28 22:16:29 +02:00
Florian Bruhin
023c59f8c0 Reset the webserver process correctly between tests
If we don't call before_test(), if the server shows an error, all following
tests will fail.

See #3207
2017-10-28 17:29:55 +02:00
Luca Benci
249164eb9b Fix test_quickcomplete_flicker
The test needed to be fixed because of how the completer behaviour
changed.

Before:
completer always scheduled a completion update on selection changed,
but the updates themselves were ignored if not needed.

Now:
completer only schedules completion updates when actually needed, but
never ignores a completion update.

So, before it was correct to check whether `set_model` was called, now
we must check if the completion was actually scheduled. This can be
done by checking the parameters with which `_change_completed_part`
is called, since a completion is scheduled only when `immediate=True`
2017-10-27 22:25:41 +02:00
Ryan Roden-Corrent
24f466b2c3 Add --related flag to edit-url. 2017-10-26 22:13:35 -04:00
Jay Kamat
97d719b179
Add a simple benchmark for _update_tab_titles 2017-10-26 21:33:10 -04:00
Ryan Roden-Corrent
6519f500a9 Add --private flag to edit_url.
The command :edit-url --private (or :edit-url -p) will spawn a new
private window with the url input from the editor.

I had to add 'Given I have a fresh instance' to the feature file to
ensure tests were not interfering.

Resolves #3185.
2017-10-26 07:21:51 -04:00
Florian Bruhin
02c996a785 Fix wrong 'When' in bdd file 2017-10-26 09:47:02 +02:00
Florian Bruhin
eee5f8263f Merge remote-tracking branch 'origin/pr/3179' 2017-10-26 09:43:42 +02:00
Florian Bruhin
c883d6b429 Merge remote-tracking branch 'origin/pr/3196' 2017-10-26 08:46:21 +02:00
Florian Bruhin
1c9dc581a4 Skip "Clearing history" test on Windows 2017-10-26 08:45:15 +02:00
Luca Benci
df3f0124fc Add test 2017-10-25 21:37:22 +02:00
Luca Benci
f195b7e4d2 Fix flake8 failures 2017-10-25 21:18:53 +02:00
lxhillwind
048b792c6f add <EOL> in :config-write-py generated file 2017-10-26 00:52:22 +08:00
Florian Bruhin
2051a5d95e Stabilize :history-clear test
Something seems special with the previous view:source tab which prevents us
from loading the new page.

See #3003
2017-10-25 14:08:31 +02:00
Florian Bruhin
94f8bb9574 bdd tests: Make sure initial about:blank check is redone on restart
When we did "Given I have a fresh instance", we immediately did run the commands
without waiting for the initial about:blank load again.

With Qt 5.10, this causes issues as the loadFinished signal is emitted with
about:blank then, and not the real URL.

See #3003
2017-10-25 14:06:55 +02:00
Florian Bruhin
ed2f473a8e Make it more clear that :messages helps with failing processes 2017-10-24 22:56:04 +02:00
Florian Bruhin
984dd1ba8c Fix remaining pylint/flake8 issues 2017-10-24 09:37:10 +02:00
siddhugolu
570f1a849f modified as requested 2017-10-24 12:20:07 +05:30
Christopher Pezley
f67c445f3d Add test for opening non-ascii paths from command line. 2017-10-23 22:27:00 +02:00
siddhugolu
bc9d305354 modified as requested 2017-10-23 01:46:02 +05:30
siddhugolu
4862b2faf9 modified pylint pragmas 2017-10-22 23:52:35 +05:30
Luca Benci
8b91a74aef Fix broken test after default config change 2017-10-22 20:02:06 +02:00
Christopher Pezley
f53d8135b0 Add test for opening non-ascii paths. 2017-10-22 19:39:46 +02:00
Michael Hoang
e5f2d27ed9 Ensure that a window with the given win_id exists 2017-10-22 08:22:45 +11:00
Florian Bruhin
34fc5335d9 Merge remote-tracking branch 'origin/pr/3176' 2017-10-21 19:04:01 +02:00
Florian Bruhin
13116b2679 Stabilize IPC test
We can get earlier log messages from objreg
2017-10-21 19:02:35 +02:00
Florian Bruhin
33df4eb865 Skip test_fake_haiku on Windows 2017-10-21 19:01:22 +02:00
Jay Kamat
5ba4e13cab
Fix typo in :home on pinned tab test 2017-10-21 01:32:56 -04:00
Florian Bruhin
589e9b7153 Fix string escaping in config.source test 2017-10-20 10:05:42 +02:00
Florian Bruhin
280dddda6b Set backend in TestRectOnView.test_zoomed 2017-10-20 08:07:10 +02:00
Florian Bruhin
fd8e5e30c6 Re-add scroll filtering and disable it for mark/scroll tests
See #2233
2017-10-20 07:38:51 +02:00
Luca Benci
9b177ae8e7 Remove single-function test class (move test out) 2017-10-18 20:33:14 +02:00
Luca Benci
937d0d0688 Add some more tests 2017-10-18 20:30:16 +02:00
Luca Benci
0d7a557396 Fix configtypes tests so that placeholder is True 2017-10-18 20:30:03 +02:00
Florian Bruhin
378498bbd7 Add a test for multiple config.source() errors 2017-10-18 14:06:54 +02:00
Florian Bruhin
5a9042ab3e Add a config.source() method 2017-10-18 13:53:26 +02:00
Florian Bruhin
354c3c8c9b Handle unknown filetypes with qute://help 2017-10-18 09:02:39 +02:00
Luca Benci
6f1b9b7984 Add tests for line & column calculation 2017-10-17 23:19:10 +02:00
Luca Benci
06b990c0d1 Add ShellCommand tests for {file} 2017-10-17 23:03:42 +02:00
Florian Bruhin
9dc9bcaf39 Make standarddir work on HaikuOS
For some reason, it returns an empty DataLocation.
2017-10-17 22:37:14 +02:00
Jay Kamat
5d11a1fd75
Prevent :home from bypassing pinned tab warnings
Closes #3138
2017-10-17 11:37:37 -04:00
Florian Bruhin
96bec9f9d7 Fix error code for "database is locked"
See #2930
2017-10-17 15:35:23 +02:00
Florian Bruhin
4f263505ee Improve tests for partial matching 2017-10-17 11:49:46 +02:00
Florian Bruhin
52423fa426 Remove unneeded variable 2017-10-17 11:37:19 +02:00
Florian Bruhin
c233099bca Merge remote-tracking branch 'origin/pr/3063' 2017-10-17 11:34:35 +02:00
Florian Bruhin
44e5dc1c5a Add a comment to @xfail_norun 2017-10-17 10:45:58 +02:00
Florian Bruhin
458a45c172 Remove old deprecated commands 2017-10-17 10:44:22 +02:00
Florian Bruhin
cce4ff6d53 Merge remote-tracking branch 'origin/pr/3054' 2017-10-17 09:10:45 +02:00
Florian Bruhin
d8384ced0a Show better error message when trying to toggle with :set 2017-10-17 06:26:42 +02:00
Florian Bruhin
8acd014d39 Ignore new Qt 5.10 debug build messages 2017-10-17 06:22:26 +02:00
Florian Bruhin
7adab9ec78 Fix long line 2017-10-16 09:58:44 +02:00
Florian Bruhin
5307b97ca5 Improve checkpyver error message 2017-10-16 09:24:31 +02:00
Florian Bruhin
3797b0cfed Merge remote-tracking branch 'origin/pr/3034' 2017-10-16 08:12:15 +02:00
Florian Bruhin
3d02feac2b Merge pull request #3118 from jgkamat/jay/git-version
Change qute:version git commit to display hash
2017-10-16 07:59:52 +02:00
Florian Bruhin
2a65cadb67 Fix setting monospace fonts with None values
Fixes #3130
2017-10-16 06:18:09 +02:00
Florian Bruhin
16b2df56df Merge remote-tracking branch 'origin/pr/3115' 2017-10-15 00:27:14 +02:00
Florian Bruhin
2eba2cc8f5 Skip another history test on AppVeyor 2017-10-15 00:26:26 +02:00
Jay Kamat
4ff44eff7b
Clean up logic for finding git hash
Also add implementation for release scripts as well
2017-10-14 18:08:52 -04:00
Kimat Boven
8ca0c87b1f FakeUrl had no url 2017-10-14 22:14:01 +02:00
Florian Bruhin
27c46f20c0 Make sure the config default values are mutable
While the old values meant the same thing, they weren't mutable, so the config
couldn't modify them with a simple .append().

Fixes #3104
2017-10-14 16:40:44 +02:00
Jay Kamat
ee3d7463f6
Change qute:version git commit to display hash
Replaces output of git-describe

Closes #3095
2017-10-13 23:30:07 -04:00
Florian Bruhin
db8fa5fdb6 Skip "History with invalid URL" test on Windows
For some reason, this hangs a lot on AppVeyor
2017-10-13 10:45:40 +02:00
Panagiotis K
630384e07f Fix tests. 2017-10-13 10:39:34 +03:00
Florian Bruhin
35d5038ab1 Add missing test 2017-10-12 22:42:58 +02:00
Florian Bruhin
dfe2f9e38c Also check PyQt version for qtutils.version_check()
With an older PyQt built against a newer Qt, we still don't have its features
available.

This also drops support for exact=True with compiled=True as the semantics for
that are unclear, and it's not used.
2017-10-12 19:13:20 +02:00
Florian Bruhin
4f870f902c Fix loading of monospace fonts in configtypes.QtFont
See #3096
2017-10-12 18:26:54 +02:00
Panagiotis K
0a753915ff Prompt for non-existing download directories.
Closes #2120
2017-10-12 15:00:35 +03:00
Joakim Reinert
7c584e7b6c add optional interval argument to start function of Timer stubs
Fixes failing tests for completer
2017-10-12 13:02:37 +02:00
Florian Bruhin
c87d369725 Improve fonts.monospace tests 2017-10-11 22:14:58 +02:00
Florian Bruhin
a21a60c5ca Fix updating fonts when fonts.monospace is changed
Fixes #2973
2017-10-11 22:14:55 +02:00
Florian Bruhin
cbe9ff7435 Fix reading of fonts.monospace on init
See #2973
2017-10-11 22:06:47 +02:00
Florian Bruhin
ba92f32e9f Merge pull request #3073 from qutebrowser/sql-errors
Handle some sqlite errors gracefully
2017-10-11 14:48:01 +02:00
Florian Bruhin
4827e98b4e Fix lint 2017-10-11 13:15:15 +02:00
Florian Bruhin
1a8de3b504 Check for YAML C extensions on Travis
See #2777
2017-10-11 13:15:15 +02:00
Florian Bruhin
9c080538ba Add a setting to force the platform and improve Wayland handling
Closes #3078
See #2932
2017-10-11 09:23:21 +02:00
Florian Bruhin
e9a50f5f9f Another attempt at stabilizing qutescheme.feature 2017-10-11 08:46:53 +02:00
Florian Bruhin
bdc82bc633 Fix lint
See https://github.com/PyCQA/pylint/issues/1698
2017-10-11 08:41:23 +02:00
Michael Hoang
249e497d36 Add test for window completion 2017-10-11 17:18:13 +11:00
Michael Hoang
29f66dcd95 Merge :tab-detach with :tab-give 2017-10-11 17:18:12 +11:00
Florian Bruhin
2a3369e2fe Show nicer errors when trying to set deleted/renamed options 2017-10-11 08:00:38 +02:00
Florian Bruhin
0cd5d4300b Rename qt_args and force_software_rendering to add qt. prefix
Closes #3077
2017-10-11 07:45:38 +02:00
Michael Hoang
67437a0d5d Add :tab-give and :tab-take commands and tests 2017-10-11 16:27:35 +11:00
Florian Bruhin
abbd69f604 Implement deleting/renaming values in configdata.yml
This is needed for #3077, but also is used for the deletion in #2847 now.
See #2772.
2017-10-11 07:13:51 +02:00
Luca Benci
c8d41a4f87 Make tests pass 2017-10-10 22:54:49 +02:00
Luca Benci
052c527e4c Avoid explicit config monkeypatching 2017-10-10 22:52:57 +02:00
Luca Benci
787e3db3d5 Move tests to test_runners.py 2017-10-10 22:51:40 +02:00
Luca Benci
5078080bb0 Add (not fully working) tests for use_best_match 2017-10-10 22:02:25 +02:00
Florian Bruhin
211de6d664 Leave qute://settings after tests are done
Let's see whether this helps with the flakyness where the next test (for pyeval)
tries to set frame_flattening...
2017-10-10 21:45:57 +02:00
Florian Bruhin
d6d13770a3 Add missing history tests 2017-10-09 16:17:55 +02:00
Florian Bruhin
b5777299fd Fix getting a short text from the SqlError 2017-10-09 16:08:56 +02:00
Florian Bruhin
b608259751 Handle some sqlite errors gracefully
We mark some SQL errors as "environmental", and then show those as error
messages instead of raising an exception.

Fixes #3004
Workaround for #2930
2017-10-09 16:06:24 +02:00
Florian Bruhin
0e64511d63 Split up _init_envvars from configinit.early_init 2017-10-09 06:52:14 +02:00
Florian Bruhin
f63b95c298 Fix the window.hide_wayland_decoration setting
Fixes #2267
2017-10-09 06:50:29 +02:00
Florian Bruhin
36ef68c698 Add :bind --default
Closes #3059
2017-10-08 21:48:48 +02:00
Florian Bruhin
6c3f90146f Make qtutils.version_check strict by default
This also renames 'strict' to 'compiled' to be more descriptive.
It also fixes a crash when starting qutebrowser with an older compiled Qt
version which was introduced recently (calling setSpellCheckEnabled).
2017-10-08 19:08:37 +02:00
Florian Bruhin
1d1faf8d25 Merge remote-tracking branch 'origin/pr/2940' 2017-10-08 16:53:10 +02:00
Florian Bruhin
277daa334d Merge remote-tracking branch 'origin/pr/2891' 2017-10-08 15:23:01 +02:00
Florian Bruhin
51ea56375e Improve error handling for config commands
- Use self._handle_config_error() for key commands too
- Catch getting an invalid key properly
- Remove (wrong) "set: " prefix
2017-10-08 14:40:10 +02:00
Michal Siedlaczek
00666feaf6 FAQ update for spellcheck & test fix 2017-10-07 15:54:22 -04:00
Bryan Gilbert
be3727a599 Improved zoom level management and enforcement 2017-10-06 20:30:06 -04:00
Florian Bruhin
e1d358f4c1 Ignore another Qt error message 2017-10-06 08:50:57 +02:00
Florian Bruhin
acf3945efc Mark hints.auto_follow_timeout test as flaky
It fails on CI sometimes when the CI is too slow
2017-10-06 08:48:47 +02:00
Florian Bruhin
a7955505be Try stabilizing completion test 2017-10-05 20:03:35 +02:00
Michal Siedlaczek
fd9a5fa334 Style fixes 2017-10-05 09:56:13 -04:00
Florian Bruhin
618586f8b0 Merge branch 'config-write-py' 2017-10-05 11:30:50 +02:00
Florian Bruhin
c63d16e2ea tests: Get rid of duplicate key config stubs 2017-10-05 11:22:54 +02:00
Florian Bruhin
012f79b244 Make sure key_config_stub is available when needed 2017-10-05 11:05:16 +02:00
Florian Bruhin
712e4a975a Add a test to make sure :write-config-py files actually work 2017-10-05 10:48:14 +02:00
Florian Bruhin
3cb93b22ae Add tests for :config-write-py 2017-10-05 10:34:25 +02:00
Florian Bruhin
ade0e1bd0b Finish ConfigPyWriter and tests 2017-10-05 10:21:31 +02:00
Florian Bruhin
d3d644d6a5 Try to stabilize :window-only test 2017-10-04 21:09:46 +02:00
Michał Siedlaczek
e20ad95666 Merge branch 'master' into spell 2017-10-04 09:47:42 -04:00
Michal Siedlaczek
6a486058c5 Review fixes 2017-10-04 09:22:35 -04:00
Florian Bruhin
f0c0fea281 Merge branch 'pr/3025' 2017-10-04 09:28:40 +02:00
Florian Bruhin
96ff0c61ef Try to stabilize :completion-item-del for :buffer test 2017-10-04 09:11:02 +02:00
Florian Bruhin
3b689166f8 Skip flaky :buffer test entirely 2017-10-04 09:10:48 +02:00
Florian Bruhin
da4402e98c Don't rely on order in test_clear 2017-10-04 09:02:34 +02:00
Florian Bruhin
38270de120 Avoid configdata init in test_configinit
See #2777
2017-10-04 09:01:31 +02:00
Florian Bruhin
6037d44d0e Remove unused imports 2017-10-04 08:56:32 +02:00
Florian Bruhin
969b8f3200 Fix test_configcommands on Python 3.5
looks like assert_called_once() was introduced in 3.6
2017-10-04 08:55:33 +02:00
Florian Bruhin
37fa7a0d3e Fix casing in test name 2017-10-04 08:47:33 +02:00
Florian Bruhin
208b4d1cbc Make configfiles.YamlConfig iteration deterministic 2017-10-04 08:47:10 +02:00
Florian Bruhin
42550cd2e6 Merge remote-tracking branch 'origin/pr/3048' 2017-10-04 06:47:48 +02:00
Florian Bruhin
cdf0cf56fa Merge remote-tracking branch 'origin/pr/3056' 2017-10-04 06:45:08 +02:00
Florian Bruhin
7cbb2b079f Use existing tabbed_browser_stubs fixture in tests 2017-10-04 06:35:42 +02:00
Florian Bruhin
8c660d1bf4 Add a :version command 2017-10-04 06:23:15 +02:00
Ryan Roden-Corrent
4a9e22163b Filter keyhints based on count prefix.
If a count prefix is given, only hint commands that can take a count.
2017-10-03 22:15:21 -04:00
Ryan Roden-Corrent
5d787c84ea Show keyhint even with count prefix.
The keyhintwidget was not showing up when a keychain was prefixed with a
count. For example, 'g' would show a keyhint but '5g' would not. Now
keyhints are shown even when a count is given.

Resolves #3045.
2017-10-03 22:04:53 -04:00
Michal Siedlaczek
932e7a9ab9 Review fixes 2017-10-03 20:07:06 -04:00
Florian Bruhin
feaccb3083 Rename :scroll-perc to :scroll-to-perc
Closes #2819
2017-10-03 22:59:32 +02:00
Florian Bruhin
d70bdb5552 Honour --no-err-windows in more places
Fixes #3053
2017-10-03 21:28:55 +02:00
Florian Bruhin
16d369d98c bdd: Include captured log when subprocess didn't start
Fixes #3052
2017-10-03 21:13:56 +02:00
Florian Bruhin
22adcfba75 Stop using mocks in test_editor 2017-10-03 20:43:38 +02:00
Florian Bruhin
22088d9f7b Remove --force for :bind and config.bind(...)
Turns out --force is just in the way for most people, and at least for default
bindings it's easy to reset them.

Also, it makes :config-source fail when config.py contains keybindings.

Closes #3049
2017-10-03 20:43:38 +02:00
Florian Bruhin
727580d1f4 Add a :config-edit command
See #2794
2017-10-03 20:43:38 +02:00
Florian Bruhin
555930791f Refactor ExternalEditor to be able to edit an existing file 2017-10-03 19:24:04 +02:00
Michael Hoang
c8c6199369 Add tests for :set-cmd-text --run-on-count 2017-10-04 03:57:26 +11:00
Florian Bruhin
8edaad51c3 Add a :config-source command
See #2794
2017-10-03 16:28:11 +02:00
Florian Bruhin
0695cfccfc Improve some configfile tests 2017-10-03 14:33:33 +02:00
Florian Bruhin
999d70ae40 Add missing config.py tests 2017-10-03 14:13:10 +02:00
Florian Bruhin
586c6e810f Fix xfail check 2017-10-03 13:58:53 +02:00
Florian Bruhin
9f10fa105c Merge adblock.feature into misc.feature 2017-10-03 13:42:04 +02:00
Florian Bruhin
2f9d1875cd Clear BDD process settings between each test
Fixes #1310
2017-10-03 13:38:16 +02:00
Florian Bruhin
9383452ab9 Use a real YAML config for config tests 2017-10-03 13:06:50 +02:00
Florian Bruhin
ed8c3f4aa2 Add :config-clear and :config-unset
See #2794
2017-10-03 12:45:39 +02:00
Florian Bruhin
3772084cbf Adjust test_histcategory for NOT NULL constraints 2017-10-03 10:28:36 +02:00
Florian Bruhin
ad867a3b90 Merge branch 'pr/3024' 2017-10-03 10:17:01 +02:00
Florian Bruhin
4ed60efa80 Add missing qapp fixture 2017-10-03 07:38:10 +02:00
Florian Bruhin
f533e3b751 Move config toggling to :config-cycle
This removes :set option! and allows :config-cycle option instead.
2017-10-03 07:38:10 +02:00
Florian Bruhin
81993a70a2 Split off :config-cycle from :set
Before, we allowed :set to take multiple values, which often lead to confusing
error messages when a user forgot to quote the value.

Now, we instead have a dedicated :config-cycle command for that.

See #1840, #2794
2017-10-03 07:37:55 +02:00
Michael Hoang
8ae0bd2797 Update :buffer tests for count support 2017-10-02 23:44:04 +11:00
Florian Bruhin
5af8a95c82 Refactor SQL error handling
This renames SqlException to SqlError (to be more consistent with how Python
names exceptions), and adds an utility function which logs a few more useful
details about errors.

See #3004
2017-10-02 09:48:15 +02:00
Florian Bruhin
506b1cdbc1 Improve input.insert_mode.auto_load tests
This also adds a test for #2858 (also see #2879)
2017-10-02 09:04:37 +02:00
Florian Bruhin
fbf9817dcb Rename test classes 2017-10-02 07:15:00 +02:00
Florian Bruhin
a8fc561707 Split config commands off to their own file. 2017-10-02 07:08:30 +02:00
Florian Bruhin
a273baf8a0 Make sure :bind/unbind works properly when bindings.commands is None
To make this work, we should never return None when trying to get bindings to
modify.

Fixes #3026
2017-10-01 21:43:00 +02:00
Florian Bruhin
4b9bbaa04d Skip test_force_software_rendering with QtWebKit 2017-09-28 17:30:53 +02:00
Florian Bruhin
45db0eaccb Really force QtWebEngine for test_force_software_rendering init 2017-09-28 11:44:21 +02:00
Florian Bruhin
6496442503 Skip test_force_software_rendering on CI
We can't be sure we have hardware acceleration there
2017-09-28 11:42:02 +02:00
Florian Bruhin
6c25e96621 Remove unused imports 2017-09-28 11:38:52 +02:00
Florian Bruhin
3be0a78819 Fix configinit tests 2017-09-28 11:05:53 +02:00
Florian Bruhin
45c6ffe991 Add a test for force_software_rendering 2017-09-28 10:04:47 +02:00
Florian Bruhin
35beb84e85 Fix tests and lint 2017-09-28 09:38:57 +02:00
Florian Bruhin
b906c862bb Remove ipc-server from objreg 2017-09-28 08:52:32 +02:00
Florian Bruhin
6573888dc6 Fix :bind completion with invalid commands
Now that Command doesn't validate things anymore, we can't rely on parsing to
work.
2017-09-27 11:10:25 +02:00
Florian Bruhin
9607f3de59 Improve type documentation of settings
Use .get_name() for the docs
2017-09-27 08:25:52 +02:00
Florian Bruhin
c694bff902 Allow direct values for url.start_pages and content.user_stylesheets 2017-09-27 08:21:03 +02:00
Florian Bruhin
b96ba8e41f Merge pull request #3031 from qutebrowser/pyup-scheduled-update-09-25-2017
Scheduled weekly dependency update for week 39
2017-09-26 08:43:23 +02:00
Florian Bruhin
dba631102a Try to stabilize :window-only test 2017-09-26 08:41:07 +02:00
Florian Bruhin
38449e3e2b Make sure the autoconfig.yml is saved periodically
Fixes #2982
2017-09-26 06:41:55 +02:00
Florian Bruhin
38038df703 Compare objects with :set with multiple values 2017-09-25 21:24:12 +02:00
Florian Bruhin
1086e31f28 Split up configinit tests 2017-09-25 21:24:12 +02:00
Florian Bruhin
6aed6bca93 Make loading autoconfig.yml opt-in when a config.py exists
This lets the user control the precedence those files should have, and also
simplifies the code quite a bit.

Fixes #2975
2017-09-25 21:24:12 +02:00
Florian Bruhin
5a080207ff Bump up hypothesis deadline some more 2017-09-25 21:20:30 +02:00
Florian Bruhin
c7c198b949 Stabilize hint test 2017-09-25 08:22:40 +02:00
Florian Bruhin
40f0f75ad5 Improve error message for duplicate keys in config.py 2017-09-24 19:43:30 +02:00
Ryan Roden-Corrent
888a1b8c57 Append multiple history backups on import.
Previously, a successful import of the text history into sqlite would
move 'history' to 'history.bak'. If history.bak already existed, this
would overwrite it on unix and fail on windows.

With this patch, the most recently imported history is appended to
history.bak to avoid data loss.

Resolves #3005.

A few other options I considered:

1. os.replace:
    - fast, simple, no error on Windows
    - potential data loss
2. numbered backups (.bak.1, .bak.2, ...):
    - fast, no data loss, but more complex
3. append each line to the backup as it is read:
    - more efficient than current patch (no need to read history twice)
    - potentially duplicate data if backup fails
2017-09-23 13:06:11 -04:00
Florian Bruhin
b8389e4496 Revert "Fix NUL byte error handling on Python 3.4"
This reverts commit a7d5a98cc4.
Not needed anymore now that we dropped support.
2017-09-22 22:30:02 +02:00
Florian Bruhin
e8ceeceac8 Fix mock check with Python 3.5
Looks like .assert_not_called() doesn't work on function mocks with 3.5.
2017-09-22 22:28:40 +02:00
Florian Bruhin
4e46c34e5a Use .assert_not_called() for mocks 2017-09-22 19:58:38 +02:00
Florian Bruhin
e27c54a5c1 Fix modeparser tests 2017-09-22 19:49:52 +02:00
Florian Bruhin
5be44756e3 Remove unused imports 2017-09-22 17:29:01 +02:00
Michal Siedlaczek
b840b8066b Spell only when pyqt>=5.8 2017-09-22 11:16:59 -04:00
Florian Bruhin
1e2015be65 Make bindings win over mappings
Fixes #2995
2017-09-22 17:13:17 +02:00
Florian Bruhin
d5a1fff637 Move init stuff from config.py to configinit.py
Closes #2997
2017-09-22 14:11:54 +02:00
Florian Bruhin
501764d1cb Fix documented default values for falsey non-strings
Fixes #3015.
2017-09-22 13:18:27 +02:00
Florian Bruhin
7f8ae531aa Add config.configdir and config.datadir to config API.
Fixes #1419
2017-09-22 09:59:46 +02:00
Florian Bruhin
9b22480b07 Raise config.py errors happening in tests 2017-09-22 09:09:45 +02:00
Florian Bruhin
1dbd156c2f Simplify some config.py tests 2017-09-22 08:53:08 +02:00
Florian Bruhin
276b244466 Merge remote-tracking branch 'origin/pr/2970' 2017-09-22 08:37:23 +02:00
Florian Bruhin
10016ae240 Remove unused import 2017-09-22 08:23:06 +02:00
Jay Kamat
43ce10efc3
Simplify and reorganize configfile tests
Also make save/load of sys.path a little more robust
2017-09-22 02:05:55 -04:00
Jay Kamat
4e22b4666d
Convert save-restore of sys to a context-manager
Also improve and simplify tests for save/load of sys.module and sys.path
2017-09-22 02:05:55 -04:00
Jay Kamat
7ddde334da
Add tests for module/path isolation 2017-09-22 02:05:55 -04:00
Florian Bruhin
c652b0f96c Remove old monkeypatch 2017-09-21 23:59:16 +02:00
Michal Siedlaczek
2150154350 Skip end2end spell tests if a dictionary is/isn't installed 2017-09-21 16:36:47 -04:00
Florian Bruhin
64b783d9c0 Do not validate commands in the config and with :bind
There are just way too many gotchas related to valid modes, aliases, and
circular dependencies when validating aliases/bindings in the config.

Let's just remove this and let invalid commands fail late, when they're actually
used.
2017-09-21 22:30:48 +02:00
Florian Bruhin
32b2b3dfd9 Add test for invalid value type in YAML file 2017-09-21 21:15:37 +02:00
Florian Bruhin
b1ddb9a6df Remove confusing test
That's not the behavior we actually have in the config anymore when using
conf._yaml.load().
2017-09-21 20:27:45 +02:00
Florian Bruhin
691cd2d09b More test_configfiles cleanups 2017-09-21 20:19:02 +02:00
Florian Bruhin
3e0d49a4b3 Add TestYaml class to test_configfiles 2017-09-21 19:57:54 +02:00
Florian Bruhin
f821fb793a Initialize configdata in test_configfiles 2017-09-21 19:37:22 +02:00
Michal Siedlaczek
9e620ce6e9 Fix spell with new config 2017-09-21 12:09:55 -04:00
Florian Bruhin
7cad8f41f2 Remove unknown YAML data from config
I considered introducing another list of deleted options (or a "deleted: True"
in configdata.yml), similar to what we had with the old config.

However, let's take the easier route and just delete everything we don't know
from configdata.yml. If someone edits it by hand, it's their fault :P

See #2772, #2847
2017-09-21 16:29:40 +02:00
Michal Siedlaczek
132b1f705e Revert requirements changes 2017-09-21 09:56:38 -04:00