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
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
822f6bae2c
Fix webkitelem test.
...
Now that it checks tab.is_deleted we need to mock that.
2017-12-01 07:28:02 -05:00
Florian Bruhin
af638ec430
Move hint unittests to their own file
2017-11-29 10:44:32 +01: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
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
Jimmy
92b48e77c7
Greasemonkey: add unit tests for GreasemonkeyManager
2017-11-27 20:10:38 +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
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
Panagiotis Ktistakis
2bb8d404d2
Adjust :bind completion tests
2017-11-26 14:07:41 +02: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
Florian Bruhin
0afd6b23c9
Add the option name to the backend error message
2017-11-24 09:25:45 +01:00
Florian Bruhin
5d8c9577a7
Improve hypothesis example generation for configtypes.Dict
2017-11-22 11:53:49 +01:00
Florian Bruhin
9744a3d0bc
Skip test_webenginesettings without QtWebEngine
2017-11-21 17:58:32 +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
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
112800bab9
Fix backslashes in string
2017-11-19 21:04:57 +01:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Jay Kamat
97d719b179
Add a simple benchmark for _update_tab_titles
2017-10-26 21:33:10 -04: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
d70bdb5552
Honour --no-err-windows in more places
...
Fixes #3053
2017-10-03 21:28:55 +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
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
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
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
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
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
45db0eaccb
Really force QtWebEngine for test_force_software_rendering init
2017-09-28 11:44:21 +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
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
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
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
Michal Siedlaczek
95592770a7
Fixing test dependencies and other test issues
2017-09-21 09:53:51 -04:00
Michal Siedlaczek
fac0e44a7e
Test all available languages and getting installed langs when the dir doesn't exist
2017-09-21 09:52:31 -04:00
Michal Siedlaczek
82433e04ad
Set default value for spelling settings and limit number of installed languages for testing
2017-09-21 09:52:09 -04:00
Michal Siedlaczek
c2197102a3
Enable spell checking and installing dictionaries for QtWebEngine
2017-09-21 09:51:52 -04:00
Florian Bruhin
cb57525f69
Fix whitespace
2017-09-21 13:43:30 +02:00
Florian Bruhin
a559477028
Merge remote-tracking branch 'origin/pr/2953'
2017-09-21 13:43:01 +02:00
Florian Bruhin
53b1ffe953
Merge remote-tracking branch 'origin/pr/2965'
2017-09-21 09:12:56 +02:00
Florian Bruhin
9a6de48efa
Break long line
2017-09-21 09:12:25 +02:00
Florian Bruhin
fb33985f07
Merge remote-tracking branch 'origin/pr/2992'
2017-09-21 09:12:03 +02:00
Felix Van der Jeugt
6892705e18
cover setting-saving-loading-getting yaml config
2017-09-20 15:52:42 +02:00
Ryan Roden-Corrent
5cd00f699e
Resolve KeyError when deleting URL with space.
...
Resolves #2963 .
2017-09-20 07:15:59 -04:00
Ryan Roden-Corrent
f9440b8026
Use CommandParser for configmodel.bind.
...
The parsing bind() did manually is now available through CommandParser.
Resolves #2952 .
This also adds a unit test for the case when there is no current
binding, as I broke that while working on this and there was no test to
catch it :)
2017-09-20 07:05:38 -04:00
Florian Bruhin
1d964ccdaf
Only run system datadir test on Linux
2017-09-20 12:20:46 +02:00
Florian Bruhin
46cfd5353d
Use a pytest marker to fake an OS
2017-09-20 11:30:18 +02:00
Florian Bruhin
ef1c83862b
Use utils.is_* for platform checks everywhere
2017-09-20 11:10:24 +02:00
Felix Van der Jeugt
285b534384
make changed dirty and save on duplicate write
2017-09-20 10:04:34 +02:00
Florian Bruhin
55cbb39127
Merge remote-tracking branch 'origin/pr/2999'
2017-09-20 08:48:22 +02:00
Florian Bruhin
54ceb52eaf
Switch to using Item.get_report() for vulture
2017-09-20 08:17:04 +02:00
Florian Bruhin
22be2bf7ab
Fix circular import in ImportFake in test_version
...
We can't use importlib.import_module() when we patched that away...
2017-09-20 08:17:04 +02:00
Ryan Farley
dd4294de03
fix #2979 : use dictionary for mutable tracking
...
Using a dictionary instead of a list keeps only one working copy,
allowing consistency in between calls of update_mutables()
2017-09-19 16:26:02 -05:00
Florian Bruhin
3a5241b642
Start using attrs
...
Closes #1073
2017-09-19 22:21:45 +02:00
Ryan Farley
cc540bb166
Merge branch 'master' into mutable-dict
2017-09-19 14:07:46 -05:00
Ryan Farley
83473b9c69
fix test for new tuples
2017-09-19 14:00:44 -05:00
Felix Van der Jeugt
8db630d358
don't copy values but set dirty
2017-09-19 17:26:03 +02:00
Felix Van der Jeugt
7b192d426e
add unit test and fix issues with it
2017-09-19 15:30:28 +02:00
Florian Bruhin
7226750363
Bump up Hypothesis deadline globally
2017-09-19 15:08:56 +02:00
Florian Bruhin
bb073e1709
Bump up another hypothesis deadline
2017-09-19 13:38:44 +02:00
Florian Bruhin
248afde21e
configapi: Also allow mode as posarg
2017-09-19 13:18:44 +02:00
Florian Bruhin
e8ae672c93
Check for read errors in test_configfiles
2017-09-19 13:18:16 +02:00
Florian Bruhin
7d1549aaeb
Make mode optionally in ConfigAPI.bind and .unbind
2017-09-19 13:14:41 +02:00
Florian Bruhin
a23492fe27
Bump up hypothesis deadline for Content-Disposition test
2017-09-19 11:16:03 +02:00
Florian Bruhin
51afe14965
Set backend to QtWebKit in cookie tests
2017-09-19 11:07:11 +02:00
Florian Bruhin
e9b8288e4b
Add a test for Config._set_value without backend
2017-09-19 07:08:56 +02:00
Florian Bruhin
13a8867e13
Add tests for config.get_backend()
2017-09-19 07:05:36 +02:00
Florian Bruhin
8ae87bbde2
Remove typing module from version.py
...
It comes with python now
2017-09-18 23:06:49 +02:00
Florian Bruhin
3772dc5930
Drop legacy QtWebKit support
...
See #2742
2017-09-18 23:01:17 +02:00
Florian Bruhin
3e70bf5af9
Make sure we never compare against an uninit'ed backend
2017-09-18 23:01:17 +02:00
Florian Bruhin
5298d14084
Move backend initialization to config.py
2017-09-18 23:01:17 +02:00
Florian Bruhin
505321c336
Drop support for Python 3.4
...
See #2742
2017-09-18 23:01:17 +02:00
Florian Bruhin
852baaa8c3
Drop support for Qt < 5.7.1
...
See #2742
2017-09-18 23:01:17 +02:00
Florian Bruhin
66e4c3286a
Fix lint
2017-09-17 22:53:32 +02:00
Florian Bruhin
fe05947b54
Add a new qt_args setting
...
See #2589
2017-09-17 22:53:27 +02:00
Florian Bruhin
3e0ca5d94d
Stop using objreg for state-config
2017-09-17 21:04:34 +02:00
Florian Bruhin
70b8585e95
Move qtutils.unset_organization to standarddir
2017-09-17 20:44:08 +02:00
Florian Bruhin
f40103cbba
Don't require qapp for configtypes tests anymore
...
We need to make sure they work without a QApplication, and the only reason they
needed one before was standarddir.
2017-09-17 20:38:34 +02:00
Ryan Farley
b35a808712
test multiple mutations for config
...
This detects the problem in #2979
2017-09-17 13:24:05 -05:00
Florian Bruhin
6f1b8bd1d9
Make sure the config is available before the QApplication
...
See #2589
2017-09-17 20:06:35 +02:00
Florian Bruhin
e4d05e3fec
Log error information when config init fails
2017-09-17 14:13:36 +02:00
Florian Bruhin
62b30af12a
Fix unit tests for end2end SQL change
2017-09-17 11:49:42 +02:00
Florian Bruhin
f29bafcdb2
Fix expected dir on macOS
2017-09-17 10:35:05 +02:00
Florian Bruhin
7ed64efa08
Fix standarddir.cache() on Windows
2017-09-17 10:35:05 +02:00
Florian Bruhin
b31db0d0d5
Add another str() for paths
...
Using py.path for os.path is only supported since 3.6
2017-09-17 09:49:06 +02:00
Florian Bruhin
5aa653a54f
Fix IPC socket location test
...
We use fake_runtime_dir which simply patches XDG_RUNTIME_DIR for this test.
Since we patch QApplication.applicationName() during the tests, but standarddir
doesn't use that anymore, we get a different name.
2017-09-17 09:49:06 +02:00
Florian Bruhin
df9726a152
Fix standarddir without AppDataLocation
2017-09-17 09:49:06 +02:00
Florian Bruhin
9354297276
Add test for standarddir without QApplication
...
See #2791 .
2017-09-16 23:48:06 +02:00
Florian Bruhin
9706dcbda5
Fix lint
2017-09-16 23:48:02 +02:00
Florian Bruhin
a1fa40f067
Remove the ability to migrate old QtWebEngine data
...
Versions before v0.9.0 (which didn't even support hinting with QtWebEngine!)
used to write QtWebEngine data to:
~/.local/share/qutebrowser/qutebrowser/QtWebEngine/Default
~/.cache/qutebrowser/qutebrowser/QtWebEngine/Default
In v0.9.0 this was changed to:
~/.local/share/qutebrowser/webengine
~/.cache/qutebrowser/webengine
Now we don't try to migrate data from the old location anymore.
2017-09-16 23:48:02 +02:00
Florian Bruhin
a85e19a5e1
Add initial support for early standarddir init
...
See #2589 , #2791
2017-09-16 23:47:22 +02:00
Florian Bruhin
3179e8c7b9
Always autoescape jinja environments unless overridden
...
We were only rendering .html files before, so the old _guess_autoescape function
had the effect of always autoescaping .render() (from a file) but never
autoescaping .from_string(). However, most places using .from_string() actually
render (Qt-)HTML via jinja, so they should escape stuff!
Now, we always autoescape, except when the caller uses the
jinja.environment.no_autoescape() context manager, which places rendering
stylesheets now do.
This impacted:
- Confirm quit texts (no HTML here)
- config.py loading errors
(where this was found because of an error containing - a <keybinding>)
- Certificate error prompts
(should be fine from what I can tell, as the only user-controllable output is
the hostname, which cannot contain HTML)
2017-09-16 10:43:59 +02:00
Florian Bruhin
c8f3743008
Remove auto_save.config setting
...
This is not needed anymore now that we have config.load_autoconfig=False and
wasn't even read anywhere.
2017-09-15 22:22:09 +02:00
Florian Bruhin
4f6e085be8
Quote a completed value if it contains "
2017-09-15 22:17:38 +02:00
Florian Bruhin
a7d5a98cc4
Fix NUL byte error handling on Python 3.4
...
Looks like Python 3.4 raises TypeError and not ValueError...
2017-09-15 22:17:38 +02:00
Florian Bruhin
d901bee88e
Fix test_oserror on older Pythons
2017-09-15 22:17:38 +02:00
Florian Bruhin
42039eee99
Fully remove ConfigAPI.val
2017-09-15 19:01:03 +02:00
Florian Bruhin
3be7299cb4
Fix completions for FlagList
2017-09-15 18:41:08 +02:00
Florian Bruhin
2e8419db27
Fix lint
2017-09-15 17:24:39 +02:00
Florian Bruhin
c9625cb311
Add more tests for YAML error handling
2017-09-15 17:21:11 +02:00
Florian Bruhin
3f8817cc2d
Use blocking message boxes for config errors
2017-09-15 17:21:11 +02:00
Florian Bruhin
745ef63451
Start implementing autoconfig.yml error handling
2017-09-15 17:21:11 +02:00
Florian Bruhin
fa4ea912c9
Get rid of init_standarddir fixture
...
Instead, always patch in tmpdir's so we don't write to qute_test folders.
2017-09-15 14:30:46 +02:00
Florian Bruhin
e87a782411
Move command-history init to cmdhistory.py
2017-09-15 14:27:15 +02:00
Florian Bruhin
54dfc083f9
Remove default_config fixture
2017-09-15 14:13:27 +02:00
Florian Bruhin
9f955f251a
Reshape comments
2017-09-15 14:11:45 +02:00
Florian Bruhin
e0621c6eda
Fix initializing without a config.py
2017-09-15 14:08:37 +02:00
Florian Bruhin
f406e8d9ca
Remove config.val support for config.py
2017-09-15 14:08:37 +02:00
Florian Bruhin
25baf3b97e
Add more tests for config.py error handling
2017-09-15 13:30:09 +02:00
Florian Bruhin
5efce10c2c
Add initial tests for config.py error handling
2017-09-15 12:07:54 +02:00
Florian Bruhin
4da9b8c495
check_coverage: Truncate long floats
2017-09-15 12:07:54 +02:00
Florian Bruhin
b8fb88f4c2
Improve config error handling
...
- Errors are now combined if possible
- Rich text output in message boxes
- ConfigContainer errors are collected properly
2017-09-15 12:07:54 +02:00
Florian Bruhin
490de32b49
Initial attempt at error handling for config.py
2017-09-14 21:51:29 +02:00
Florian Bruhin
b3734b151b
Handle mutations in config.py correctly
2017-09-14 17:38:33 +02:00
Florian Bruhin
cb806aefa3
Initial config.py support
...
See #2795
2017-09-14 17:38:33 +02:00
Florian Bruhin
6618c3a6e8
Don't use shlex for configtypes.ShellCommand
...
We accidentally did show the command as a list in to_str(). However, after
correcting that to use shlex.escape, we got ugly qutebrowser command lines
when tabbing to the default value, because of how shlex handles double-escaping:
>>> print(shlex.quote("gvim -f '{}'"))
'gvim -f '"'"'{}'"'"''
While in this case, outputting "gvim -f '{}'" would be much more appropriate, it
doesn't look like we can teach shlex.quote to do that.
Instead, we now only accept a list as input for ShellCommand, at the price that
the user needs to do
:set editor.command '["gvim", "-f", "{}"]'
instead of
:set editor.command 'gvim -f {}'
Fixes #2962 .
2017-09-14 14:44:24 +02:00
Florian Bruhin
12260e068a
Don't move cache directory on Windows
2017-09-14 13:35:42 +02:00
Florian Bruhin
0de7b2eb83
Skip standarddir migrations when a basedir is given
2017-09-14 00:37:54 +02:00
Florian Bruhin
3dc67df180
Fix minor standarddir migration issues
2017-09-14 00:37:54 +02:00
Florian Bruhin
1fc9817cd4
Remove support for ambiguous keybindings
2017-09-14 00:37:01 +02:00
Florian Bruhin
9d95dec5ea
Handle standarddir.config() correctly on macOS
...
With auto=False we should get ~/.qutebrowser
2017-09-13 21:32:36 +02:00
Florian Bruhin
70a9a7e5c8
Fix macOS testsuite issues
2017-09-13 21:32:36 +02:00
Florian Bruhin
231193f7a6
Fix standarddir test coverage
2017-09-13 21:32:36 +02:00
Florian Bruhin
2f394d3c9f
Mock out all moving functions for standarddir.init()
2017-09-13 21:32:36 +02:00
Florian Bruhin
50aab7a802
Skip tests needing AppDataLocation on older Qt versions
2017-09-13 21:32:22 +02:00
Florian Bruhin
f7d17c4c55
Allow existing empty dir when migrating files
...
Remove old empty directory if it exists - otherwise, we move old/data to
new/data/data.
2017-09-13 21:32:22 +02:00
Florian Bruhin
e84c1fa82f
Call _init_config in test_fake_mac_auto_config
2017-09-13 21:32:22 +02:00
Florian Bruhin
2a9441dfbf
Make moving data in standarddir more generic
2017-09-13 21:32:22 +02:00
Florian Bruhin
ad2598b475
Add initial support for standarddir.config(auto=True)
...
This doesn't actually migrate things yet.
See #2791 , #383 .
2017-09-13 17:26:56 +02:00
Florian Bruhin
a2f16dbecd
Merge standarddir.system_data() into standarddir.data(system=True)
...
See #2791
2017-09-13 17:26:56 +02:00
Florian Bruhin
2d500d4efa
Also don't create ~/Downloads in standarddir.downloads()
...
This means we need to create it in downloads.py instead.
Fixes #2418
2017-09-13 17:26:56 +02:00
Florian Bruhin
91f5e72f02
Remove download dir from path info
...
This always returns the default Qt path (e.g. ~/Downloads) and also creates it
each time.
See #2418
2017-09-13 17:26:56 +02:00
Florian Bruhin
b185e57406
Remove change_qapp_name in test_standarddir
...
This is already done in conftest.py anyways
2017-09-13 17:26:56 +02:00
Florian Bruhin
56bbd73622
Introduce standarddir caching
...
This makes things a bit more complicated, but is needed to make standarddir (and
thus the config) work without a QApplication.
2017-09-13 17:26:56 +02:00
Florian Bruhin
5d50ec612d
Disable qsettings subdir test on macOS
...
QSettings uses a plist file there.
2017-09-13 10:21:23 +02:00
Florian Bruhin
73ea316501
Use upper-case Monospace in test_progress_affecting_statusbar_height
...
While the test worked again with eb4691adfc
, it
broke again immediately because of 40ee89bddc
.
With that fix in, the lower-case monospace in the set value was immediately
replaced by the full list of fonts again. With an upper-case Monospace, this
won't happen.
Fixes #2825 , for real this time.
2017-09-12 22:51:52 +02:00
Florian Bruhin
b04a233e8d
Adjust :unbind signature to match :bind
2017-09-12 22:51:52 +02:00
Florian Bruhin
eb4691adfc
Fix test_progress_affecting_statusbar_height on Windows
...
Fixes #2825
2017-09-12 22:12:37 +02:00
Florian Bruhin
f6a0500bd3
Merge branch 'master' into new-config
...
This pulls the travis changes to drop the old Qt 5.2 environment.
2017-09-11 18:39:41 +02:00
Florian Bruhin
b4f30f6df2
Move coverage to QtWebEngine environment with PyPI-PyQt
2017-09-11 18:30:23 +02:00
Florian Bruhin
a283a1bb65
Merge branch 'master' into new-config
2017-09-09 10:52:02 +02:00
Ryan Roden-Corrent
63e0574411
Remove stray FIXME:conf
2017-09-07 07:32:46 -04:00
Ryan Roden-Corrent
a5ecb75fcd
Really avoid flakiness in test_models.
...
Ensure the OrderedDict is actually ordered consistently.
2017-09-05 07:52:42 -04:00
Ryan Roden-Corrent
fc02216754
Avoid flakiness in test_models.
...
Ensure config values are ordered consistently by using an OrderedDict.
2017-09-04 16:30:54 -04:00
Ryan Roden-Corrent
0d78c72018
Remove config dependency from get_cmd_completions.
...
In order to really resolve the python3.4 circular import, this should
take the completion info as an argument and not depend on the config
module.
2017-09-04 15:00:35 -04:00
Ryan Roden-Corrent
3bfa01f0d0
Pass CompletionInfo to completion functions.
...
In python3.4, there is a circular dependency between the config module
and configmodel.bind. This is resolved by dependency injection. The
config/keyconfig instances are embedded in a struct passed to every
completion function, so the functions no longer depend on the modules.
This will also enable completion functions to access other previously
inaccessible info, such as the window id.
See #2814 .
2017-09-04 14:01:48 -04:00
Ryan Roden-Corrent
b89caf0458
Use REPLACE when rebuilding completion table.
...
When upgrading from an old table that used different url formatting, two
entries might map to the same key, so we'll need to replace the previous
entry to avoid a primary key conflict.
2017-08-23 21:26:27 -04:00
Ryan Roden-Corrent
d35b47c9d8
Regenerate history completion on version change.
...
Incrementing _USER_VERSION in the source will cause the
HistoryCompletion table to regenerate when users update.
This is currently necessary to support some recent formatting fixes, but
could be incremented again in the future for other changes.
2017-08-21 08:45:40 -04:00
Ryan Roden-Corrent
111846a909
Merge remote-tracking branch 'upstream/master' into configmerge
2017-08-20 21:18:47 -04:00
Ryan Roden-Corrent
b5a6583559
Fix pylint/flake8/vulture errors.
2017-08-20 21:12:38 -04:00
Ryan Roden-Corrent
90c49b3fe7
Move bind completion to configmodels.
...
When in miscmodels, the config module was unable to find the function.
It appears to be some sort of circular import issue:
```
File "/home/rcorre/projects/contrib/qutebrowser/qutebrowser/app.py", line 44, in <module>
from qutebrowser.completion.models import miscmodels
File "/home/rcorre/projects/contrib/qutebrowser/qutebrowser/completion/models/miscmodels.py", line 24, in <module>
from qutebrowser.completion.models import completionmodel, listcategory, util
File "/home/rcorre/projects/contrib/qutebrowser/qutebrowser/completion/models/util.py", line 24, in <module>
from qutebrowser.config import config
File "/home/rcorre/projects/contrib/qutebrowser/qutebrowser/config/config.py", line 223, in <module>
class ConfigCommands:
File "/home/rcorre/projects/contrib/qutebrowser/qutebrowser/config/config.py", line 314, in ConfigCommands
@cmdutils.argument('command', completion=miscmodels.bind)
AttributeError: module 'qutebrowser.completion.models.miscmodels' has no attribute 'bind'
```
As configmodel imports util (and thereby config as well) it is unclear
to me why moving bind() to configmodel actually fixes this, but it does.
2017-08-20 21:12:38 -04:00
Ryan Roden-Corrent
0286e9ddf2
Fix completion tests after config merge.
2017-08-20 21:12:38 -04:00
Ryan Roden-Corrent
5f45b9b40e
Fix pylint and coverage for history.
2017-08-20 20:59:48 -04:00
Ryan Roden-Corrent
8c6133e29d
Regenerate history completion table if needed.
...
If the HistoryCompletion table is removed, regenerate it from the
History table. This allows users to manually edit History, then remove
HistoryCompletion to prompt regeneration.
See #2903 .
2017-08-18 07:39:36 -04:00
Ryan Roden-Corrent
c607537319
Consistently format urls in history.
...
Encode urls that are inserted into the history, but do not encode urls
for completion (other than removing passwords).
Also ensure that urls read from the history text file are formatted
consistenly with those added while browsing.
Fixes #2903 .
2017-08-14 21:37:43 -04:00
Ryan Roden-Corrent
5ea420b49b
Fix startup crashes after config merge.
...
Get qutebrowser to the point where it can at least start
- Declare _messages earlier in MessageView.__init__ so it is set before
the config trigger tries to access it.
- Remove unused configmodel completion functions
- Move bind completion to configmodel to avoid a circular import with
the config module
- Fix some config accesses (forgot to use .val)
- Fix old Completion.CompletionKind references
2017-08-09 07:28:22 -04:00
Florian Bruhin
3a2d64ba46
version.distribution(): Handle Funtoo
2017-08-08 20:19:33 +02:00
Florian Bruhin
a20f017c7a
Sort sessions in SessionMnager.list_sessions()
2017-08-08 07:56:10 +02:00
Ryan Roden-Corrent
71b71dbc58
Merge remote-tracking branch 'upstream/master' into HEAD
2017-08-06 18:13:49 -04:00
Ryan Roden-Corrent
6e025c1bb0
Don't perform alphabetical sort in listcategory.
...
Instead, expect the data to be given in the desired order. Completion
functions should sort their data _if_ they want it sorted in the
completion. This has a few implications:
- {book,quick}marks appear in the same order they do in the text file.
This means users can rearrange their mark files for custom sorting.
Fixes #2354
- Sessions are sorted as they appear in the session manager
- Tabs are sorted numerically, not alphabetically (Fixes #2883 )
Note that prefix-based filter sorting is still performed, so items
starting with the filter pattern come first.
2017-08-06 10:00:18 -04:00
Florian Bruhin
49b858e359
Add more variants of fake apple URL to ignored ones
2017-08-01 16:00:53 +02:00
Florian Bruhin
695769d1b4
Merge pull request #2875 from rcorre/obsolete-signals
...
Remove obsolete signals.
2017-07-29 20:30:25 +02:00
Florian Bruhin
ba92ea9fb4
Merge pull request #2873 from rcorre/completion-del-marks
...
Support delete from :{quick,book}mark-load.
2017-07-29 19:27:25 +02:00
Ryan Roden-Corrent
8e34b54cd7
Remove obsolete signals.
...
The added/removed signals for the urlmark managers are no longer used as
the completion models are generated on-the-fly. The changed signal is
still needed so the save-manager knows when to trigger a write to disk.
Also removes session_manager.update_completion, which is no longer
needed for the same reason as above.
keyconf.changed cannot be removed, as it is still wired up to
basekeyparser.
Resolves #2874 .
2017-07-29 13:09:10 -04:00
Ryan Roden-Corrent
1ab7bb83cc
Support delete from :{quick,book}mark-load.
...
Pressing ctrl-d in the completion menu for
:quickmark-load/:bookmark-load will now delete the selected
quickmark/bookmark.
Resolves #2840 .
2017-07-29 12:49:20 -04:00
Ryan Roden-Corrent
c6cb6ccd07
Fix fetch/delete sql category bug.
...
Fixes #2868 , where pressing <shift-tab> then <ctrl-d> in history
completion (with > 256 items) would cause later items to disappear (and
cause a crash if you try to delete again).
Cause:
Scrolling to the bottom would fetch an additional 256 items (in addition
to the 256 that are fetched at first). Deleting causes the query to
re-run, but it only fetches the initial 256 items, so the current index
is now invalid.
Fix:
After deleting from the history category, call fetchMore until it has
enough rows populated that the current index is valid.
2017-07-28 09:07:30 -04:00
Florian Bruhin
8f63bb1edc
Merge pull request #2853 from rcorre/fix-completionview
...
Expand history completion results if on last index.
2017-07-27 12:31:01 +02:00
Florian Bruhin
a942613d7f
Use ctypes instead of PyOpenGL for QtWebEngine Nvidia workaround
...
Fixes #2821
2017-07-27 09:22:12 +02:00
Ryan Roden-Corrent
32fa1ff1e9
Expand history completion results if on last index.
...
When tabbing to the last index of history completion, call expandAll
which will call fetchMore to retrieve more query results, if available.
Calling fetchMore directly will not update the view, and for some
reason self.expand(idx.parent()) and
self.expand(self.model().index(idx.row(), 0)) did not work, so I'm using
expandAll.
Fixes #2841 .
2017-07-26 07:46:12 -04:00
Ryan Roden-Corrent
1929883485
Fix bind completion for bindings with arguments.
...
When a key is bound to a command line that includes one or more
arguments to a command, bind completion should show the whole command
for the "Current" category, and use only the command name to look up the
description.
Fixes #2859 , where a crash was caused by looking up the description by
the full command text rather than just the name.
2017-07-25 12:55:44 -04:00
Ryan Roden-Corrent
f09423efe5
Abort resizeEvent if model is None.
...
Some reports came in that a resizeEvent was causing a crash due to the
model being none in the CompletionView.
Fixes #2854 .
2017-07-24 08:16:14 -04:00
Florian Bruhin
df3ba278e9
Merge pull request #2852 from rcorre/fix-max-items
...
Fix web-history-max-items-crash.
2017-07-24 07:29:15 +02:00
Florian Bruhin
837ee5c626
Merge pull request #2846 from rcorre/completion-fixes
...
Completion fixes
2017-07-24 07:27:11 +02:00
Ryan Roden-Corrent
2ad4cdd729
Fix web-history-max-items-crash.
...
Fixes #2849 , where pressing 'o' with web-history-max-items set and no
history items would cause a crash as the query result is empty.
2017-07-23 21:17:22 -04:00
Ryan Roden-Corrent
ff9efe22ae
Fix unused imports and removeRow override.
...
Override removeRows instead of removeRow.
> removeRow is not virtual in C++, so if this gets called by Qt
> internally for some reason, it wouldn't use the overloaded version -
> so I think it'd be better to implement removeRows and then use
> removeRow without overloading that
- The-Compiler
2017-07-23 17:30:09 -04:00
Florian Bruhin
56b4989f44
Fix tests for QProcess changes
2017-07-23 22:10:50 +02:00
Ryan Roden-Corrent
b61691684e
Clear selection when setting completion pattern.
...
It doesn't make sense to have an active selection while you are
filtering by entering text. You should be in one of two states:
1. Tabbing through completions (valid selection)
2. Entering a filter pattern (invalid selection)
Fixes #2843 , where a crash would occur after the following:
1. tab to an item other than the first
2. <backspace>
3. re-type last character
4. <ctrl-d>
This would try to delete an out of range index.
2017-07-22 18:06:16 -04:00
Ryan Roden-Corrent
bc21904fef
Fix completion-item-del on undeletable item.
...
Even though no item was deleted, it was manipulating the completion
model because beginRemoveRows was called before the exception was
raised.
This fixes that problem by moving the removal logic (and delete_func
check) into the parent model, so it can check whether deletion is
possible before calling beginRemoveRows.
Fixes #2839 .
2017-07-22 17:16:35 -04:00
Florian Bruhin
118a7942a5
Add maximum bound for web-history-max-items
...
sqlite can't handle values bigger than uint64_t for LIMIT.
2017-07-21 18:30:12 +02:00
Florian Bruhin
544094ba72
Use simpler way of preventing History completion
2017-07-21 17:55:47 +02:00
Florian Bruhin
6660297871
Fix new completion with web-history-max-items set to 0
...
We get no last_atime limit at all otherwise:
qutebrowser.misc.sql.SqlException: Failed to prepare query "SELECT url, title,
strftime('%Y-%m-%d', last_atime, 'unixepoch', 'localtime') FROM
CompletionHistory WHERE (url LIKE :pat escape '\' or title LIKE :pat escape '\')
AND last_atime >= ORDER BY last_atime DESC": "near "ORDER": syntax error Unable
to execute statement"
2017-07-21 17:11:38 +02:00
Florian Bruhin
fba25338be
Merge pull request #2295 from rcorre/really_complete
...
Completion refactor V3
2017-07-21 15:05:43 +02:00
Ryan Roden-Corrent
0eb347186c
Add 'localtime' to sql history query.
...
We need to tell sqlite to convert the timestamps to localtime during
formatting, otherwise it formats them as though you are in UTC.
Also fix up a few uses of mktime.
2017-07-20 09:06:29 -04:00
Florian Bruhin
0f85898137
Add a config version to the YAML file
2017-07-19 08:22:00 +02:00
Ryan Roden-Corrent
c32d452786
Add LIMIT to history query.
...
For performance, re-introduce web-history-max-items.
As the history query has now become a very specific multi-part query and
history completion was the only consumer of SqlCategory, SqlCategory is
now replaced by a HistoryCategory class.
2017-07-16 18:13:51 -04:00
Ryan Roden-Corrent
8745f80d90
Fix qute://history SQL bug.
...
The javascript history page was requesting the new start_time in ms, but
the python code was expecting seconds. This is fixed by removing all the
millisecond translations in the python code and only translating to
milliseconds in the javascript code that formats dates.
2017-07-13 08:54:21 -04:00
Ryan Roden-Corrent
1aed2470e5
SQL code review.
...
- Fix flake8
- history.clear should also clear completion table
- call _resize_columns in set_model, not set_pattern
- add more unit-testing for the history completion table
2017-07-12 22:14:27 -04:00
Ryan Roden-Corrent
ea459a1eca
SQL code review fixes.
...
- Ignore invalid variable name in flake8 (pylint already checks this and
we don't want to have to double-ignore)
- Fix and test completion bug with `:set asdf `
- Remove unused import
- Use `assert not func.called` instead of `func.assert_not_called` for
backwards compatibility
2017-07-12 08:19:31 -04:00
Ryan Roden-Corrent
182d067ff8
SQL code review fixes.
...
- Fix comment and empty line check in _parse_entry
- connect layoutAboutToBeChanged signal
- assert sort_order is None if sort_by is None
- modify sql init failure message to ask about Qt sqlite support.
2017-07-11 08:07:48 -04:00
Florian Bruhin
1e58c87380
Improve test for messageview timeout
2017-07-11 09:25:53 +02:00
Florian Bruhin
a91e6c3405
Fix test_adblock on Windows
...
We can't simply have an absolute filename as URL path there, so we only deal
with paths relative to tmpdir in the URLs now.
2017-07-10 22:22:44 +02:00
Florian Bruhin
237362663a
Fix test_configfiles.test_init on Windows
2017-07-10 20:37:36 +02:00
Yashar Shahi
a631c971d9
Add tests for show messages longer
...
Add tests for "Show messages longer if there are multiple of them."
2017-07-10 20:52:42 +04:30
Florian Bruhin
e81dcccace
Add a test for a None currentWidget with backforward widget
2017-07-10 09:29:45 +02:00
Florian Bruhin
5fb6cb713b
Hide back/forward widget when there's no text
2017-07-10 07:59:56 +02:00
Florian Bruhin
0e8175b8eb
Update docstrings/docs
2017-07-09 23:27:34 +02:00
Daniel Hahler
b3a9e09d6c
Add statusline widget for back/forward indicator
...
Fixes https://github.com/qutebrowser/qutebrowser/issues/2737 .
2017-07-09 22:38:44 +02:00
Florian Bruhin
bb567a61b6
Fix ipc test coverage
2017-07-09 22:09:31 +02:00
Florian Bruhin
84c2289aa5
Merge branch 'master' of https://github.com/iordanisg/qutebrowser
2017-07-09 12:56:52 +02:00
Florian Bruhin
cd063c74d9
Why is my commit -a broken
2017-07-09 12:54:19 +02:00
Florian Bruhin
6a2163d36f
ipc: Remove support for connecting to legacy servers
2017-07-09 12:49:47 +02:00
Ryan Roden-Corrent
cf4ac1a5b7
SQL code review changes.
...
- use mocker.Mock instead of mock.Mock to avoid an extra import
- attach model to validator sooner so it can validate changes in the
model during the test
2017-07-08 16:34:38 -04:00
Iordanis Grigoriou
c9fd182dba
Adjust suggested_fn_from_title, add tests
2017-07-08 16:28:58 +02:00
Ryan Roden-Corrent
f9f8900fe9
More sql code review fixes.
...
- remove outdated comment
- fix sql init error message
- clean up history text import code
- fix test_history file path in coverage check
- use real web history, not stub, for completion model tests
- use qtmodeltester in sql/list_category tests
- test url encoding in history tests
- fix test_clear by using a callable mock
- remove test_debug_dump_history_oserror as the check is now the same as
for the file not existing
- rename nonempty to data in test_completionmodel
- add more delete_cur_item tests
- test empty option/value completion
2017-07-08 09:57:32 -04:00
Florian Bruhin
ad615941a2
Replace OS X with macOS
2017-07-08 11:12:43 +02:00
Ryan Roden-Corrent
515e82262d
Merge remote-tracking branch 'upstream/master' into really_complete
2017-07-07 20:42:21 -04:00
Florian Bruhin
215503ba59
Remove now useless suppression
2017-07-07 15:21:18 +02:00
Iordanis Grigoriou
82d194cf2e
Improve function docstring, add more tests
2017-07-06 21:37:11 +02:00
Iordanis Grigoriou
3bfafb5e50
Refactor suggested_fn_from_title, add unit tests
2017-07-06 17:41:54 +02:00
Florian Bruhin
338d62204e
Make TestModuleVersions in test_version more maintainable
2017-07-06 12:36:11 +02:00
Florian Bruhin
66168a5b49
Add test ids to test_version_output
2017-07-06 12:25:11 +02:00
Florian Bruhin
911e59b0f4
Improve version output without SSL support
2017-07-06 12:23:08 +02:00
Florian Bruhin
94951d92a1
Simplify arg handling in test_version_output
2017-07-06 12:15:42 +02:00
Ryan Roden-Corrent
dc4472470e
Merge remote-tracking branch 'upstream/master' into really_complete
2017-07-05 08:45:57 -04:00
Ryan Roden-Corrent
81f5b7115f
Add spec=[] to two mock functions in tests.
2017-07-05 08:44:56 -04:00
Florian Bruhin
28410b8533
Release v0.11.0
2017-07-04 18:02:34 +02:00
Florian Bruhin
0cdd3ff82f
Update some more references to old config options
2017-07-04 16:46:02 +02:00
Florian Bruhin
cff61fa0bc
Fix pylint
...
This also reverts commit 8df0b063be
.
2017-07-04 15:34:10 +02:00
Florian Bruhin
88b878098d
Implement pretty-printing of configtypes for the doc
...
This is also needed to make the docs environment work on Travis - as otherwise,
doc generation wasn't deterministic because of changing dict key order.
2017-07-04 15:09:23 +02:00
Florian Bruhin
f98b8a240e
Fix flake8
2017-07-04 15:09:23 +02:00
Florian Bruhin
79c11d6008
Skip test_configdata.test_init_benchmark on Travis in Docker
...
See #2777
2017-07-04 15:09:23 +02:00
Florian Bruhin
65585b313d
test_configtypes: Rename test_to_py to _valid for consistency
2017-07-04 15:09:23 +02:00
Florian Bruhin
9ac2dbcc80
Disallow surrogate escapes in dicts and lists in the config
...
In Dict.to_str() and List.to_str() we use json.dump to get a value. However,
JSON includes surrogate escapes in the dumped values, which breaks round trips.
>>> yaml.load(json.dumps({'\U00010000': True}))
{'\ud800\udc00': True}
>>> yaml.load(json.dumps({'\U00010000': True}, ensure_ascii=False))
yaml.reader.ReaderError: unacceptable character #x10000: special characters are not allowed
See:
https://stackoverflow.com/a/38552626/2085149
https://news.ycombinator.com/item?id=12798032
2017-07-04 15:09:23 +02:00
Florian Bruhin
fa0f4e1101
Improve test_configtypes.TestDict
...
We didn't have to_py tests there before.
2017-07-04 15:09:23 +02:00
Florian Bruhin
f00e91e85e
Don't set valid_values in test_configtypes.TestList
...
Most of the time we want to check values without them being outright rejected by
ValidValues.
2017-07-04 15:09:23 +02:00
Florian Bruhin
05f4f2e742
Fix TestDict.test_hypothesis_text for unordered dicts
2017-07-04 15:09:23 +02:00
Florian Bruhin
ea2b9f5596
Remove old comment
...
The recursion is caught in test_config
2017-07-04 15:09:15 +02:00
Florian Bruhin
0528a800f2
Fix config things relying on dict order
2017-07-04 15:08:04 +02:00
Florian Bruhin
8933b4c5da
Avoid calling configdata.init() in tests
...
It takes unnecessary time (20ms without C extensions) to initialize it over and
over again - and for some reason, it takes 20s (!) on Travis.
2017-07-04 15:08:04 +02:00
Florian Bruhin
9db4a8cb43
Clean up test_cache
2017-07-04 15:08:04 +02:00
Florian Bruhin
9dfe4429d7
Import qutebrowser.app in conftest
2017-07-04 15:08:04 +02:00
Florian Bruhin
b42265212b
Update test_keyhints for new config
...
This also makes the keyhint display things sorted
2017-07-04 15:08:04 +02:00
Florian Bruhin
4bebfd8d5f
Update test_modeparsers for new config
2017-07-04 15:08:04 +02:00
Florian Bruhin
d5cd0b19b0
Update test_basekeyparser for new config
2017-07-04 15:08:04 +02:00
Florian Bruhin
22b0f2fd24
Various simple test updates for new config
...
test_cache
test_cookies
test_webkitelem
test_cmdutils
test_runners
test_completionwidget
test_messageview
test_editor
test_miscwidgets
test_sessions
test_urlutils
test_utils
test_prompt
statusbar/test_*
test_cmdhistory
test_tabwidget
test_tab
test_downloads
test_networkmanager
2017-07-04 15:08:04 +02:00
Florian Bruhin
1663280f53
Update test_shared for new config
...
Also, make accept_language none_ok=True like it was in the old configdata.py
2017-07-04 15:08:04 +02:00
Florian Bruhin
7dd5e4b2e6
Skip broken completion tests
...
This skips test_completer and test_models - we'll reintroduce them when merging
the new completion.
2017-07-04 15:08:04 +02:00
Florian Bruhin
ff05560047
Update test_adblock for new config
...
This required some changes on how URLs are handled during those tests. Before,
we simply could return a path and (since we had a patched QNAM), nobody
complained.
Now this actually needs to be a valid URL, so we use
https://www.example.com/path everywhere instead.
2017-07-04 15:08:04 +02:00
Florian Bruhin
78d7ac311f
Use fonts.monospace properly
2017-07-04 15:08:04 +02:00
Florian Bruhin
d641652a92
More test_config improvements
2017-07-04 15:08:04 +02:00
Florian Bruhin
c214acd899
Remove config from objreg
2017-07-04 15:08:04 +02:00
Florian Bruhin
f8a88ae042
Clean up objreg properly in config tests
2017-07-04 15:08:04 +02:00
Florian Bruhin
54adf3898a
Add test_configfiles.py
2017-07-04 15:08:04 +02:00
Florian Bruhin
1a492e9f4a
Re-add backend checks to new config
2017-07-04 15:08:04 +02:00
Florian Bruhin
556f49d367
Add PACFetcher.fetch
...
Let's not try to download proxies during tests...
2017-07-04 15:08:04 +02:00
Florian Bruhin
215fd2f055
More test_config fixes/tests
2017-07-04 15:08:04 +02:00
Florian Bruhin
009ed3584d
Reorder tests
2017-07-04 15:08:04 +02:00
Florian Bruhin
2b9b54cf6b
Tests and improvements for ConfigContainer
2017-07-04 15:08:03 +02:00
Florian Bruhin
4495e721d8
Tests and fixes for config.Config
2017-07-04 15:08:03 +02:00
Florian Bruhin
07d0ea6a54
Unit tests and improvements for :bind/:unbind
2017-07-04 15:08:03 +02:00
Florian Bruhin
3edebce833
Add tests for :set
2017-07-04 15:08:03 +02:00
Florian Bruhin
31b999ea59
Tests and improvements for KeyConfig
2017-07-04 15:08:03 +02:00
Florian Bruhin
725ffef5f3
Use a real config object in unit tests
2017-07-04 15:08:03 +02:00
Florian Bruhin
978013e750
Fix CommandParser and don't use a generator
2017-07-04 15:08:03 +02:00
Florian Bruhin
a8c7e8ba05
Add first config tests
2017-07-04 15:08:03 +02:00
Florian Bruhin
28670f8e48
Move config.style into config.config and refactor it
2017-07-04 15:08:03 +02:00
Florian Bruhin
81d6406e14
Update test_stylesheet
2017-07-04 15:08:03 +02:00
Florian Bruhin
a5c8a52dd5
Update config_stub for tests
2017-07-04 15:08:03 +02:00
Florian Bruhin
0dc95aceed
Clean up old test_config.py
2017-07-04 15:08:03 +02:00
Florian Bruhin
065f82f485
Fix endless recursion while validating aliases
2017-07-04 15:08:03 +02:00
Florian Bruhin
ac78039171
Use aliases for :w and :q
2017-07-04 15:08:03 +02:00
Florian Bruhin
ac64ea287a
Rename tabs.new_position/_explicit to .related/.unrelated
2017-07-04 15:08:03 +02:00
Florian Bruhin
441b3a4df4
Allow missing fixed_keys for configtypes.Dict
...
We just fill them up with a None value for the value type, so we can e.g. only
specify a subset of modes for bindings and the rest is {}.
2017-07-04 15:08:03 +02:00
Florian Bruhin
9d8b76e497
Simplify _none_value for List/Dict configtypes
...
We don't need to check for fixed_keys/required_keys in get_obj (only get_py),
and we don't need to care about mutability in get_py.
2017-07-04 15:08:03 +02:00
Florian Bruhin
da0a2b8578
Handle {} and [] with none_ok for configtypes.Dict/List
2017-07-04 15:08:03 +02:00
Florian Bruhin
2ba637891a
Add required_keys for configtypes.Dict
2017-07-04 15:08:03 +02:00
Florian Bruhin
7ee222af88
Return [] for none-values for configtypes.List
2017-07-04 15:08:03 +02:00
Florian Bruhin
9cbacf3264
Use {} for none-dicts and fix keybindings
2017-07-04 15:08:03 +02:00
Florian Bruhin
127db2fe42
Be a bit more relaxed about values for Perc
...
We now allow float/int for objects, and strings without a trailing % sign.
2017-07-04 15:08:03 +02:00
Florian Bruhin
9bd438618a
Add a test for DuplicateKeyError
2017-07-04 15:08:03 +02:00
Florian Bruhin
2a40401398
Fix config tests for new Command type
2017-07-04 15:08:03 +02:00
Florian Bruhin
383968d948
Add a Key config type
...
Make sure any key we get from the config is normalized).
2017-07-04 15:08:02 +02:00
Florian Bruhin
d0904a9f67
Adjust test settings
2017-07-04 15:08:02 +02:00
Florian Bruhin
bc8176ff21
Remove most legacy config code
2017-07-04 15:08:02 +02:00
Florian Bruhin
f5d2c48bbb
Fix new keyconfig issues
2017-07-04 15:08:02 +02:00
Florian Bruhin
dc74a55b84
Fix remaining configtypes issues
2017-07-04 15:08:02 +02:00
Florian Bruhin
3392ccc58b
test_configtypes fixes
2017-07-04 15:08:02 +02:00
Florian Bruhin
ecba175b16
Test and fix configtypes to_str.
2017-07-04 15:08:02 +02:00
Florian Bruhin
d69c6d0c66
Reorganize how configtypes store their data
...
Now the "object" kind of value (like in YAML) is stored internally, and that's
the canonical value. The methods changed their meaning slightly, see the
docstring in configtypes.py for details.
2017-07-04 15:08:02 +02:00
Florian Bruhin
1cbb4ece4b
Force configtype.Dict keys to be strings
2017-07-04 15:08:02 +02:00
Florian Bruhin
41655e7852
Fix handling of none_ok in List/Dict
...
We now always return None (and '' as string) when the user configured an empty
list or dict.
2017-07-04 15:08:01 +02:00
Florian Bruhin
8ea3d92697
Initial implementation of to_str for configtypes
2017-07-04 15:08:01 +02:00
Florian Bruhin
fede64ba7a
Add test for configdata.is_valid_prefix
2017-07-04 15:08:01 +02:00
Florian Bruhin
18eb133811
configdata: Make sure default values are valid
2017-07-04 15:08:01 +02:00
Florian Bruhin
0857a45b0a
configtypes: parse regex flags properly
2017-07-04 15:08:01 +02:00
Florian Bruhin
6733e92b50
Handle files correctly in utils.yaml_dump
2017-07-04 15:08:01 +02:00
Florian Bruhin
001312ca82
Disallow Booleans for configtypes.Int.from_py
2017-07-04 14:42:56 +02:00
Florian Bruhin
4e729bb9ec
Back to using json in test_configtypes
...
It returns one-line data and is YAML compatible
2017-07-04 14:42:56 +02:00
Florian Bruhin
dfee857466
Make utils.yaml_dump return str
2017-07-04 14:42:56 +02:00
Florian Bruhin
05dc94ccc4
Improve configtypes tests
2017-07-04 14:42:56 +02:00
Florian Bruhin
7416164aca
Rename old validate tests
2017-07-04 14:42:56 +02:00
Florian Bruhin
71f2e8c577
None validation fixups for test_configtypes
2017-07-04 14:42:56 +02:00
Florian Bruhin
61ba92ae18
configtypes: Separate str/py basic validation
...
This also ensures the behavior for none_ok is consistent.
2017-07-04 14:42:56 +02:00
Florian Bruhin
cdbd64a30d
Move test_configtypes_hypothesis to test_configtypes
2017-07-04 14:42:56 +02:00
Florian Bruhin
7e7fbf106b
Fix lint and old config options
2017-07-04 14:42:56 +02:00
Florian Bruhin
63bdee8b55
Initial configtype tests update
2017-07-04 14:42:56 +02:00
Ryan Roden-Corrent
1e1335aa5e
Make various SQL code review changes.
...
- Fix outdated comments
- Use mock specs when possible
- More precise error message check in test_import_txt_invalid.
- Fix copyright message
- Tweak missing pyqt error message
- Dead code: remove group_by and where from sqlcategory.
With the new separate completion table, these are no longer used.
- Move test_history out of webkit/. History is no longer purely webkit
related, it could be webengine.
2017-07-03 09:45:08 -04:00
Ryan Roden-Corrent
a34df34208
Fix various test/flake8/pylint errors.
2017-07-03 08:12:47 -04:00