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