Florian Bruhin
c8a92a0851
Fix test_assemble
2016-08-09 13:23:46 +02:00
Jakub Klinkovský
70570f22b0
add manual test for hiding unmatched rapid hints
2016-08-09 11:02:21 +02:00
Marshall Lochbaum
80db69904d
Move auto-open handling to CompletionView from Completer
2016-08-08 16:56:11 -04:00
Florian Bruhin
58fb41ab9d
tests: Fix webkitelem test for tagName
2016-08-08 15:34:45 +02:00
Florian Bruhin
9d43becc25
Merge branch 'completion-item-focus' of https://github.com/rcorre/qutebrowser into rcorre-completion-item-focus
2016-08-08 15:21:35 +02:00
Florian Bruhin
0b16a36120
Clean up handling of focus element
...
Also fixes #1359 .
2016-08-08 14:05:30 +02:00
Ryan Roden-Corrent
7038db6b17
Combine completion-item-{prev,next}.
...
- Use a single command completion-item-focus with a next/prev argument.
- Add a rule to translate old configs.
- Regenerate the docs.
See #1095 .
2016-08-08 07:37:53 -04:00
Florian Bruhin
dfbadaf7c2
Split WebElementWrapper into abstract/webkit parts
2016-08-08 13:04:53 +02:00
Florian Bruhin
4505d74ae3
Add tests/manual/completion/changing_title.html
2016-08-08 09:42:08 +02:00
Florian Bruhin
627f743c26
Handle float in _convert_js_arg
...
This fixes 'gg' with QtWebEngine.
2016-08-08 08:04:55 +02:00
Jan Verbeek
ebfe23c376
Merge https://github.com/The-Compiler/qutebrowser into clip
...
Also make it possible to use multiple variables in one argument.
2016-08-07 13:14:46 +02:00
Florian Bruhin
26e0383d45
Merge branch 'refactor_command_completion' of https://github.com/rcorre/qutebrowser into rcorre-refactor_command_completion
2016-08-07 11:29:50 +02:00
Florian Bruhin
eb2f682e20
Merge branch 'fix-windows-editor' of https://github.com/Kingdread/qutebrowser into Kingdread-fix-windows-editor
2016-08-07 11:17:21 +02:00
Florian Bruhin
efada0a44c
Merge branch 'yank-refactor' of https://github.com/mlochbaum/qutebrowser into mlochbaum-yank-refactor
2016-08-07 11:02:24 +02:00
Florian Bruhin
0b93272786
Merge branch 'sortfilter_tests' of https://github.com/rcorre/qutebrowser into rcorre-sortfilter_tests
2016-08-07 10:46:28 +02:00
Marshall Lochbaum
7bfa46fb50
Add tests for yank migrations
2016-08-06 20:36:13 -04:00
Jan Verbeek
38508274e0
Improve clipboard exceptions, migrate bindings
2016-08-07 00:46:23 +02:00
Daniel Schadt
4d00b8fce9
tests: fix tests for misc.editor
...
Due to the change to NamedTemporaryFile, the _filename attribute was
removed. We now have to use _file.name.
2016-08-07 00:18:22 +02:00
Jan Verbeek
0177dafbd0
Add {clipboard} and {primary} to replace :paste
...
:paste is deprecated and replaced by equivalents using :open and the
new variables, and :open supports opening newline-separated lists of
URLs.
2016-08-06 22:03:50 +02:00
Ryan Roden-Corrent
66358e5b0f
Remove usertypes.Completion.empty.
...
Completion.empty existed to fill a slot in the old Command.completions
interface if the first positional arg had no completions but the second
did, as is the case for the `bind` command. Now that
`Command.completions` is replaced by `Command.get_pos_arg_info`, this
is no longer needed.
2016-08-06 12:01:09 -04:00
Ryan Roden-Corrent
c792ffda67
Remove Command.completion.
...
Command completion types are now identified by ArgInfo, so just use
that directly and cut out the middle-man. This shouldn't change any
completion behavior.
Adds a test for get_pos_arg_info to test_cmdutils.
Modifies test_completer to test the use of get_pos_arg_info. Instead of
using FakeCommand, real Command objects are used, to validate that the
Completer works with the real Command interface. This also cleans out
some test cases that were testing things already covered by other cases.
2016-08-06 11:59:04 -04:00
Marshall Lochbaum
54ba27cf77
Merge :yank-selected into :yank ( fixes #820 )
...
Changes :yank's flag arguments to a positional "what" argument
specifying the object to be yanked. Including "selection" as a
possibility allows for the replacement of :yank-selected with
:yank selection.
2016-08-05 22:01:17 -04:00
Florian Bruhin
68595e1736
Make sure base URL for resolve_url is absolute
2016-08-05 17:12:09 +02:00
Florian Bruhin
7a65559cce
Move hints._resolve_url to a WebElement method
2016-08-05 17:09:52 +02:00
Florian Bruhin
4541f19195
Fix crash when doing :<space><enter>
...
Introduced in #1577 .
Fixes #1773 .
2016-08-05 15:42:03 +02:00
Florian Bruhin
8cc9f30eba
Add a BDD test for :debug-log-capacity
2016-08-05 15:13:36 +02:00
Ryan Roden-Corrent
3e1409b1f5
Dedupe code in test_sortfilter.
...
Add helper functions to create and parse completion models, as this was
repeated in many tests.
2016-08-05 08:47:52 -04:00
Florian Bruhin
323b181227
Automatically skip BDD tests on pytest 3.0
...
See https://github.com/pytest-dev/pytest-bdd/pull/193
This at least allows us to play with pytest 3.0 a bit...
2016-08-05 14:36:32 +02:00
Ryan Roden-Corrent
ed69ef86ab
Unit test CompletionFilterModel.sort.
2016-08-05 08:29:29 -04:00
Ryan Roden-Corrent
83b621b0e6
Test CompletionFilterModel.set_pattern.
...
This is a more rigorous test than filterAcceptsRow as it tests behavior
with multiple columns and different sort settings. In addition, it
tests intelligentLessThan which is not tested in the filterAcceptsRow
test (as lessThan is never called if there is only 1 item to filter).
2016-08-05 07:20:31 -04:00
Ryan Roden-Corrent
8e7002db7a
Test CompletionFilterModel.count
2016-08-05 07:20:31 -04:00
Ryan Roden-Corrent
f19b818b58
Test CompletionFilterModel.set_source_model
2016-08-05 07:20:31 -04:00
Ryan Roden-Corrent
b13153aa77
Test CompletionFilterModel.first/last.
2016-08-05 07:20:31 -04:00
Florian Bruhin
0169f3a24f
Add _qutebrowser_ prefix for custom JS functions
...
With QtWebKit or QtWebEngine with Qt < 5.7, the functions end up in the
page's namespace. We can't easily avoid this, but at least we can name
them in a way which reduces conflicts.
2016-08-05 10:31:07 +02:00
Florian Bruhin
2b496a81ef
tests: Use parametrize for parse_fatal_stacktrace
2016-08-05 09:01:09 +02:00
Florian Bruhin
029ea2e5a7
Add miscwidgets.WrapperLayout.wrap
...
This makes it easier for an user of WrapperLayout to wrap a widget.
2016-08-04 19:22:44 +02:00
Florian Bruhin
466a87af6a
Merge branch 'end2endTest4@844' of https://github.com/nanjekyejoannah/qutebrowser into nanjekyejoannah-end2endTest4@844
2016-08-04 18:21:43 +02:00
Florian Bruhin
74b9b0ba90
Remove unneeded lambda
2016-08-04 18:15:29 +02:00
Florian Bruhin
a8ef956726
Add quotes for strings in javascript.assemble
2016-08-04 17:58:40 +02:00
Florian Bruhin
08b70f0f4c
Add qutebrowser.utils.javascript
...
webelem.javascript_escape got renamed to javascript.string_escape, and a
new javascript.assemble got added to make it easier to call a function
inside a .js file.
2016-08-04 17:53:13 +02:00
nanjekyejoannah
6431cd2395
added closing body tag
2016-08-04 15:43:58 +03:00
nanjekyejoannah
04b007986f
end2end testcase for #844
2016-08-04 13:47:14 +03:00
Daniel Schadt
8730dc6f8e
tests: use :hint instead of :hint all download
...
:hint all download does not use the response headers to determine the
filename (the prompt is shown before a request is even done), so our
long filename was pretty useless.
:hint works because it does a request first and uses the right filename,
but we need to wait until the prompt is shown before we can do
:prompt-open-download, since the request is a bit slower and would fail
otherwise.
2016-08-04 11:16:43 +02:00
Daniel Schadt
b9b3bdf9dd
Minor Text Fixes
2016-08-04 11:03:05 +02:00
Daniel Schadt
e21bdab2c0
rename function to remove duplicate
2016-08-04 02:14:46 +02:00
Daniel Schadt
47b455957f
tests: actually download file
...
Otherwise the :prompt-open-download will throw an error since the
request is not fast enough.
2016-08-04 01:47:02 +02:00
Daniel Schadt
8f4377937d
use shlex.quote instead of "{}"
2016-08-04 01:41:50 +02:00
Daniel Schadt
cbe60b0638
add tests for download with special characters
...
See issue 1726.
2016-08-04 01:24:08 +02:00
Daniel Schadt
d2107498a2
add a test for downloads with long filenames
...
See issue #1725 .
2016-08-04 01:06:42 +02:00
Daniel Schadt
1400a27508
more tests for OpenFileDownloadTarget
2016-08-03 18:14:45 +02:00
Daniel Schadt
afa7494c5f
add tests for download-open/prompt-open-download
...
This has tests for
* standard :download-open
* standard :prompt-open-download
* :prompt-open-download + cancel the download (issue #1728 )
2016-08-03 17:59:32 +02:00
Daniel Schadt
716ce701f5
utils: move elide_filename to own function
...
Also increase the elide limit in TempDownloadManager to 50, since that's
probably still enough for all systems.
2016-08-03 17:59:32 +02:00
nanjekyejoannah
4e93e04468
end2end testcase for issue #844
2016-08-03 18:55:33 +03:00
Florian Bruhin
23ce4561c8
Fix lint
2016-08-03 16:48:48 +02:00
Florian Bruhin
9851a13981
Add utils.random_port()
2016-08-03 13:08:55 +02:00
Florian Bruhin
dbccb12b49
Move WrapperLayout to miscwidgets
2016-08-03 13:08:25 +02:00
Florian Bruhin
fa7f9955a3
Add test for BackendError
2016-08-03 12:18:15 +02:00
Florian Bruhin
1fb4aa3532
Merge branch 'tab-open-implicit' of https://github.com/mlochbaum/qutebrowser into mlochbaum-tab-open-implicit
2016-08-03 09:16:49 +02:00
Florian Bruhin
a49c524b00
tests: Ensure LogLine gets the right json type
2016-08-03 09:06:58 +02:00
Marshall Lochbaum
97a249d8a6
Rewrite tests in open.feature
2016-08-02 15:27:26 -04:00
Marshall Lochbaum
66adbc9323
Add --implicit flag to :open
2016-08-02 13:49:25 -04:00
Marshall Lochbaum
c19e1947f8
Remove tests for cmdutils.arg_or_count ( fixes #1735 with previous commits)
2016-08-02 12:02:40 -04:00
Marshall Lochbaum
8a127f2839
Remove cmdutils.arg_or_count
2016-08-02 11:31:03 -04:00
Florian Bruhin
424758a6d1
Use HTML content for localstorage test
...
JS logging is disabled by QtWebKit in private browsing mode
2016-08-02 15:18:25 +02:00
Florian Bruhin
43ff1b0d97
Tunnel private-browsing to QtWebKit correctly
2016-08-02 14:19:31 +02:00
Florian Bruhin
4a5b5c496f
Fix using a relative path with --basedir
2016-08-02 14:08:28 +02:00
Florian Bruhin
483072d842
Don't use QSignalSpy in IPC test
...
Fixes #1727 .
For another testcase in the same file we still need to use it until
pytest-qt has a MultiSignalBlocker.args.
2016-08-02 12:45:30 +02:00
Ryan Roden-Corrent
a393adc6c7
Don't crash completion with auto-open/show False.
...
If both are false, the selectionModel may be None.
In this case, don't try to move the index.
Resolves #1722 .
2016-08-01 22:36:04 -04:00
Ryan Roden-Corrent
6e2d78b826
Don't crash on tab with no completions.
...
first_item and last_item return an invalid index when there are no
items in the completion, and the completionwidget will throw on an
invalid index. However, setting an invalid index on the selection view
is fine, so just remove the assertion.
Resolves #1731 .
2016-08-01 22:16:55 -04:00
Florian Bruhin
ef439bb916
Fix ;o/;O default bindings
2016-08-01 18:19:34 +02:00
Florian Bruhin
5ec39b7540
Fix crash when opening http://foo%40bar@baz
2016-08-01 17:18:14 +02:00
Florian Bruhin
693210920c
Fix completion widget unit tests
2016-08-01 16:29:47 +02:00
Florian Bruhin
15863065cb
Fix <input /> test in test_webelem
2016-08-01 16:28:54 +02:00
Florian Bruhin
68b273de87
Merge branch 'generalize-list-type' of https://github.com/mlochbaum/qutebrowser into mlochbaum-generalize-list-type
2016-08-01 16:22:13 +02:00
Florian Bruhin
4414f5fea9
Merge branch 'tab-move-index' of https://github.com/mlochbaum/qutebrowser into mlochbaum-tab-move-index
2016-08-01 16:17:09 +02:00
Florian Bruhin
62f9161d03
Merge branch 'completer_tests' of https://github.com/rcorre/qutebrowser into rcorre-completer_tests
2016-08-01 16:02:53 +02:00
Florian Bruhin
86669600ff
Consider input elements without type for hinting
2016-08-01 15:49:50 +02:00
Ryan Roden-Corrent
86a08d17c2
Dedupe code in test_readline.
...
Many of the tests repeated the same block of logic, so consolidate it
into one function.
2016-07-30 22:00:12 -04:00
Ryan Roden-Corrent
a086095954
Implement unix_filename_rubout.
...
unix_filename_rubout deletes to the previous slash or whitespace,
unlike the previously implemented backwards-kill-word which treats and
non-alphanumeric character as a boundary.
To illustrate, given the text 'foo/bar.baz', unix_filename_rubout will
delete 'bar.baz' while backwards-kill-word will delete only 'baz'.
See #1710 .
2016-07-30 19:34:38 -04:00
Ryan Roden-Corrent
6bcdacf1ce
Implement readline's backward-kill-word.
...
This restores the previous behavior of `unix-word-rubout` as
`backward-kill-word`, which is closer to the naming used in readline.
It is bound to <Alt-Backspace> by default, though <Ctrl-Backspace> will
also work due to a builtin binding.
Resolves #1698 .
2016-07-30 07:27:29 -04:00
Marshall Lochbaum
a7438f4f15
Extend tab-move's direction argument to take an index ( fixes #1701 )
2016-07-29 23:06:51 -04:00
Ryan Roden-Corrent
fbadc5e668
Remove second arg from on_selection_changed.
...
The deselected argument was unused, so remove it from the signal and
the slot.
2016-07-29 08:48:24 -04:00
Florian Bruhin
c40059715a
Fix long line
2016-07-29 10:43:53 +02:00
Florian Bruhin
cffe2281b1
Use qtmodeltester for completion model tests
...
See http://pytest-qt.readthedocs.io/en/latest/modeltester.html
See #1702
2016-07-29 10:26:55 +02:00
Florian Bruhin
4bf94f3c24
Use order='strict' with qtbot.waitSignals
...
See #1702
2016-07-29 09:12:06 +02:00
Florian Bruhin
a7e9b4e5d7
Get rid of extend=True for qt_log_ignore
...
This is now the default, see #1702
2016-07-29 09:12:06 +02:00
Claire Cavanaugh
e409eafe2a
Add test for opening a quickmark
2016-07-28 23:36:05 -07:00
Ryan Roden-Corrent
dd827332c0
Clean up unused imports from completion refactor.
2016-07-28 12:20:24 -04:00
Ryan Roden-Corrent
f31e890862
Move completion_item_{next,prev} to CompletionView.
...
These commands are more closely tied to the CompletionView than
Completer. This removes the need for an extra signal tying the
CompletionView to the Completer.
The call to _open_completion_if_needed was moved to
on_selection_changed, as this will already be called when a new item is
selected.
2016-07-28 12:20:24 -04:00
Ryan Roden-Corrent
ffc5a42d04
Don't use objreg to get CompletionView.
...
The CompletionView is the parent of the Completer, so there's no need
to use objreg to get it.
See #640 .
2016-07-28 12:20:24 -04:00
Ryan Roden-Corrent
b9cf9d180b
Decouple Completer and CompletionView.
...
Rather than having a CompletionView instantiate and register a
Completer, instantiate both in MainWindow. The CompletionView is the
parent of the Completer, and communicates by emitting
selection_changed, meaning it no longer needs to contain a reference to
the Completer.
2016-07-28 12:20:24 -04:00
Ryan Roden-Corrent
d836fcb118
Code review for completion tests.
...
- clean up docstring typos
- use _ to name an unused loop variable
- parent the filter model to avoid an issue with disposal
- use mocker.patch instead of monkeypatch to mock Completer creation
- use is instead of == to compare by identity
2016-07-28 12:20:24 -04:00
Ryan Roden-Corrent
415ad7a638
Unit test completion view.
2016-07-28 12:20:24 -04:00
Ryan Roden-Corrent
a740f99607
Register the fake statusbar command in objreg.
...
The CompletionView looks in objreg for 'status-cmd', so move it from a
private fixture in test_completer to a public fixture that handles
objreg registration/deletion.
2016-07-28 12:20:24 -04:00
Ryan Roden-Corrent
e5da179ebf
Limit the public interface of Completer.
...
Only schedule_completion_update and selection_changed are used
externally, so mark the rest of the API as private.
2016-07-28 12:20:24 -04:00
Ryan Roden-Corrent
aedf5b930a
Test Completer.schedule_completion_update.
...
update_completion is only used internally, so instead test the real
public entry point which is schedule_completion_update.
This required mocking out QTimer to fire immediately so the test didn't
have to do flaky artificial delays.
2016-07-28 12:20:24 -04:00
Florian Bruhin
80d4af0da2
Add test webelem.__eq__ with other type
2016-07-28 17:29:45 +02:00
Florian Bruhin
a0ae96d43e
Add more WebElementWrapper tests
2016-07-28 14:46:32 +02:00
Florian Bruhin
d357ccf403
Add some more WebElementWrapper tests
2016-07-28 14:25:53 +02:00
Florian Bruhin
c674bda43c
Add new tests for test_webelem.test_vanished
...
This also adds test IDs for easier debugging.
2016-07-28 13:12:47 +02:00
Florian Bruhin
8d7baea9ae
Fix test_passed_geometry
2016-07-28 12:36:09 +02:00
Florian Bruhin
ebc72c9b5f
Fix TestRemoveBlankTarget.test_no_link
2016-07-28 12:36:09 +02:00
Florian Bruhin
540c62c232
Add only_visible to find_all_elements
2016-07-28 12:36:09 +02:00
Florian Bruhin
190db8bf5e
Also pass -bb to python for end2end tests
2016-07-28 07:19:59 +02:00
Florian Bruhin
79b3f26de8
Decode HTML in test_filescheme
...
Otherwise we get a BytesWarning inside BeautifulSoup
2016-07-28 07:19:09 +02:00
Marshall Lochbaum
d51b1733e4
Add List to test_configtypes_hypothesis
2016-07-27 13:14:51 -04:00
Marshall Lochbaum
b205ad500b
Add tests for configtypes.Url
2016-07-27 12:44:10 -04:00
Marshall Lochbaum
b4fec256dc
Merge LengthList into List
2016-07-27 12:39:03 -04:00
Florian Bruhin
7605a4fb0c
tests: Use pytest-warnings to handle warnings
2016-07-27 18:28:08 +02:00
Florian Bruhin
04aa98d7fb
Release v0.8.1
2016-07-27 12:41:40 +02:00
Florian Bruhin
9ff006746f
Handle empty command in CommandRunner.parse_all
...
Sicne we now call self._get_alias there, we also need to make sure it's
not an empty string before that.
Introduced in #1577 . Fixes #1690 .
2016-07-27 11:19:01 +02:00
Florian Bruhin
be609d5779
Improve logging for BaseKeyParser
...
See #1653
2016-07-27 10:27:53 +02:00
Florian Bruhin
ccbd47a0cd
Merge branch 'savefile_open-flush' of https://github.com/flv0/qutebrowser into flv0-savefile_open-flush
2016-07-27 10:11:33 +02:00
Marshall Lochbaum
a3c7ed51d4
Create LengthList to remove WebKitBytesList and refactor Padding
2016-07-26 23:59:55 -04:00
Marshall Lochbaum
083baf1222
Remove unnecessary List subclasses
2016-07-26 23:05:42 -04:00
Marshall Lochbaum
9e86933913
Replace List with BaseList and rename GenList to List
2016-07-26 23:02:10 -04:00
Marshall Lochbaum
d77145a5b8
Add GenList type and refactor *List types to use GenList
2016-07-26 21:34:50 -04:00
Marshall Lochbaum
826d0befe0
Update number files
2016-07-26 13:57:35 -04:00
Marshall Lochbaum
b2c2d5a4f4
Add --delete option to bookmark-load
2016-07-26 13:49:17 -04:00
Marshall Lochbaum
ae7fe2ee33
Update number files
2016-07-26 09:14:51 -04:00
Marshall Lochbaum
28842c90b6
Add --toggle flag to bookmark-add ( fixes #1667 )
2016-07-26 09:07:21 -04:00
Florian Bruhin
b12c984846
Release v0.8.0
2016-07-26 13:30:41 +02:00
Florian Bruhin
3801960c61
tests: Add v0.8.0 to old_configs
2016-07-26 13:30:41 +02:00
Florian Bruhin
3ccb691e9f
tab API: Rename scroll to scroller
...
The scroll attribute did overwrite QWidget.scroll which is unfortunate.
2016-07-26 13:19:07 +02:00
Florian Bruhin
214641301c
Improve test_smoke
...
There's currently an error on exit which doesn't get caught with
--nowindow and not with ":later 500 quit".
We also need to check the output as there's an additional segfault when
that happens...
2016-07-26 12:51:12 +02:00
Florian Bruhin
3ea6d4c527
Add KeyConfigStub.get_reverse_bindings_for
2016-07-26 12:06:42 +02:00
Florian Bruhin
f4f6a3dac1
Merge branch 'open-download' of https://github.com/Kingdread/qutebrowser into Kingdread-open-download
2016-07-26 10:32:34 +02:00
Marshall Lochbaum
028e7239ed
Add more number files
2016-07-25 15:37:02 -04:00
Marshall Lochbaum
3ffb726b98
Merge branch 'master' into mark-del-no-args
2016-07-23 12:12:19 -04:00
Marshall Lochbaum
f52c7f13d3
Update numbers in urlmarks test
2016-07-23 12:05:26 -04:00
Marshall Lochbaum
9eeda62adf
Use quickmark-add rather than quickmark-save in test
2016-07-23 12:05:26 -04:00
Florian Bruhin
91b754d6ea
Merge branch 'issue_1033_bookmark_display' of https://github.com/winged/qutebrowser into winged-issue_1033_bookmark_display
2016-07-23 15:42:33 +02:00
David Vogt
1f320b8686
Various fixes after code review.
...
* Move documentation changes of bookmark / quickmarks to docstrings, as the
asciidoc is autogenerated from those
* Fix some whitespaces in the BDD test cases
* Improved docstring in qute_bookmarks handler
2016-07-23 14:50:28 +02:00
Florian Bruhin
64f208486e
Add log.ignore_py_warnings()
2016-07-23 13:04:45 +02:00
David Vogt
85be6565fc
Implement feature request #1033 : Bookmark display
...
There is a new page now, qute:bookmarks that will display all bookmarks and
quickmarks. It's still missing a search / filter feature, but you can use
the built-in search / navigation just as easily for now.
2016-07-23 12:09:49 +02:00
Florian Bruhin
76eab7617b
Remove @pyqtSlot for functions and non-QObjects
...
Fixes #1669
2016-07-23 11:42:50 +02:00
Marshall Lochbaum
e9660ad676
Fix incorrect number in test
2016-07-21 22:45:36 -04:00
Marshall Lochbaum
ff682606ab
Add tests for bookmark-del and quickmark-del with no arguments
2016-07-21 22:34:10 -04:00
Florian Bruhin
a1c4e6e2cf
Rename shadowed tmpdir variable
2016-07-20 16:13:46 +02:00
Florian Bruhin
c7eec246d3
Merge branch 'cut_test_clutter' of https://github.com/rcorre/qutebrowser into rcorre-cut_test_clutter
2016-07-20 15:28:58 +02:00
Florian Bruhin
bf06f4a4d7
tests: Use dedicated logger for message mock
...
The message mock might handle a message during pytest-qt's processEvents
during test setup. If that happens, depending on the fixture order,
pytest-caplog might not be set up first, which is why the
self._caplog.at_level call can fail:
File "c:\projects\qutebrowser\qutebrowser\misc\guiprocess.py", line 105, in on_finished
immediately=True)
File "C:\projects\qutebrowser\tests\helpers\messagemock.py", line 71, in _handle_error
self._handle(Level.error, *args, **kwargs)
File "C:\projects\qutebrowser\tests\helpers\messagemock.py", line 65, in _handle
with self._caplog.at_level(log_level): # needed so we don't fail
File "C:\projects\qutebrowser\.tox\py34\lib\site-packages\pytest_catchlog.py", line 232, in at_level
obj = logger and logging.getLogger(logger) or self.handler
File "C:\projects\qutebrowser\.tox\py34\lib\site-packages\pytest_catchlog.py", line 186, in handler
return self._item.catch_log_handler
AttributeError: 'Function' object has no attribute 'catch_log_handler'
Full stack:
c:\projects\qutebrowser-git\.tox\py34\lib\site-packages\pytestqt\plugin.py(100)pytest_runtest_setup()
-> _process_events()
c:\projects\qutebrowser-git\.tox\py34\lib\site-packages\pytestqt\plugin.py(140)_process_events()
-> app.processEvents()
c:\projects\qutebrowser-git\qutebrowser\misc\guiprocess.py(94)on_error()
-> self._what, msg), immediately=True)
c:\projects\qutebrowser-git\tests\helpers\messagemock.py(71)_handle_error()
-> self._handle(Level.error, *args, **kwargs)
c:\projects\qutebrowser-git\tests\helpers\messagemock.py(65)_handle()
-> with self._caplog.at_level(log_level): # needed so we don't fail
c:\projects\qutebrowser-git\.tox\py34\lib\site-packages\pytest_catchlog.py(235)at_level()
-> obj = logger and logging.getLogger(logger) or self.handler
> c:\projects\qutebrowser-git\.tox\py34\lib\site-packages\pytest_catchlog.py(189)handler()->None
This should fix broken AppVeyor builds.
Fixes #1662 .
2016-07-20 14:23:09 +02:00
Ryan Roden-Corrent
48dbf505ce
Limit config_tmpdir use in test_configtypes.
...
Only use the fixture in the test class that tries to access the config
dir (TestFileAndUserStyleSheet) rather than the whole test.
2016-07-18 21:49:37 -04:00
Ryan Roden-Corrent
7b3406a3e4
Use monkeypatch.setenv instead of os.putenv.
...
This ensures the environment is modified only for the test using the
fixture rather than for the whole test run.
2016-07-18 21:39:35 -04:00
Florian Bruhin
8a290bf9b2
Add a test for #1657/#1658
2016-07-18 14:31:01 +02:00
Ryan Roden-Corrent
7d36847f77
Prevent test_tab from creating user data dir.
...
This is another case (like test_qt_javascript) that needs redirection
of XDG_DATA_HOME to prevent Qt from creating ~/.share/local/qute_test.
2016-07-17 07:07:05 -04:00
Ryan Roden-Corrent
5ae9d985b1
Prevent lingering object from test_config.
...
Using the config_tmdpir fixture across all tests in this module caused
a lingering LineParser to make test_debug fail.
I still don't know why, but scoping the config_tmpdir fixture to only
the test class that was creating ~/.config/qute_test fixes the issue,
and still prevents creation of a user tempdir.
2016-07-16 06:47:12 -04:00
Ryan Roden-Corrent
f589e44700
Don't write to user datadir in test_qt_javascript.
...
This was more complicated than the other data/config/cachedir test
fixes, as QtWebEngine was accessing the datadir directly (and bypassing
standdarddir.data).
This means the tmpdir_data stub is not enough, we need to set
XDG_DATA_HOME to redirect access.
2016-07-15 13:46:50 -04:00
Ryan Roden-Corrent
d9b546701e
Prevent creation of user dirs on several tests.
...
Use the config_tempdir and data_tempdir fixtures for several tests that
were creation ~/.config/qute_test or ~/.local/share/qute_test.
2016-07-15 13:46:50 -04:00
Ryan Roden-Corrent
a6695ea1be
Prevent test_adblock from creating real config dir.
...
Don't create ~/.config/qute_test by mocking out standdarddir.config for
all tests in this module.
This adds config_tmpdir to fixtures.py and moves temp_datadir from
test_adblock to fixtures.py as it will be needed more broadly.
2016-07-15 13:46:50 -04:00
Ryan Roden-Corrent
9c9b367887
Completely prevent tests from creating cachedir.
...
Attempting to fix the test on windows caused it to create the cachedir
again. The call to init(None) was unnecessary.
2016-07-15 13:46:50 -04:00
Ryan Roden-Corrent
cee5d6b97f
Use fake_args in test_standarddir.
2016-07-15 13:46:50 -04:00
Ryan Roden-Corrent
34583d1565
Fix standarddir test on Windows.
...
Was broken by 48a2cad while trying to prevent creation of qute_test in
non-temp locations.
2016-07-15 13:46:50 -04:00
Ryan Roden-Corrent
1f71520bb2
Prevent tests from creating cachedir tag.
...
Running test_standarddir would pollute the user's home with
`~/.cache/qute_test`.
The `no_cachedir_tag` fixture was supposed to prevent this, but was not
working because [usefixtures does not work on fixtures]
(https://github.com/pytest-dev/pytest/issues/1014 ).
This fixes the fixture to actually prevent cachedir creation, but
applies it to tests individually (or by class) rather than with autouse
because the cachedir tests cannot pass if it is working.
2016-07-15 13:46:50 -04:00
Ryan Roden-Corrent
daaa5ff5c5
Don't create real config/data dirs from tests.
...
Running the tests would create ~/.config/qute_test and
~/.local/share/qute_test on the user's machine. The test_standardir
module needed a bit more mocking to prevent it from cluttering the
user's machine.
Two tests that created the data dir were fixed by passing basedir in
args, and one test that created the config dir was fixed by patching
os.makedirs to a noop.
2016-07-15 13:46:50 -04:00
Florian Bruhin
83906d223a
Remove unneeded pylint suppression
...
In the last CherryPy update, cherrypy.wsgiserver got converted to a
single module. While this issue still exists in pylint, we don't get it
here anymore.
2016-07-15 11:09:51 +02:00
Florian Bruhin
7b9d38e438
Fix config values being lost with DELETED_OPTIONS
...
When an option was deleted, we accidentally stopped reading instead of
ignoring that one option and then resuming.
2016-07-14 16:58:54 +02:00
Florian Bruhin
325846f20a
Remove doubled check
2016-07-14 16:33:59 +02:00
Florian Bruhin
ff89ae7839
Merge branch 'master' of https://github.com/blyxxyz/qutebrowser into blyxxyz-master
2016-07-13 21:21:37 +02:00
Florian Bruhin
b59a1766c8
Fix long line
2016-07-13 21:19:02 +02:00
Florian Bruhin
c9176b7c58
QtWebEngine: Fix 'unset' with run_js_blocking
2016-07-13 18:17:37 +02:00
Florian Bruhin
a7509d5978
Fix lint
2016-07-13 16:01:12 +02:00
Jan Verbeek
13cbdbb8bd
Record mode for :repeat-command before executing
2016-07-13 15:24:45 +02:00
Daniel Schadt
029ffe3fc7
tests: add tests for usertypes.DownloadTarget
2016-07-13 14:17:41 +02:00
Florian Bruhin
5b1cca92ab
Add run_js_blocking to tab API
2016-07-13 13:47:30 +02:00
Florian Bruhin
4f97b6342d
tests: Add a tab fixture in test_tab
2016-07-13 13:47:29 +02:00
Florian Bruhin
558ef290e4
tests: Add a view fixture in test_tab
2016-07-13 13:47:26 +02:00
Florian Bruhin
68f5ed4fa4
tests: Fix FakeWebTabScroller
...
Pass tab correctly
2016-07-13 13:47:26 +02:00
Florian Bruhin
f5359b67a2
tests: Fix default_config fixture
...
This wasn't used since the command tests were deactivated. It was broken
during some refactoring and nobody noticed.
2016-07-13 13:43:46 +02:00
Florian Bruhin
e0ab70c8cf
end2end tests: Don't fail with "STUB:" warnings
...
We have some things like pos_px stubbed which will fail any test because
of the stub warning - but some tests don't actually need that, it just
happens when e.g. loading something.
So let's not fail tests based on stub warnings, and see how much works
that way.
2016-07-13 10:55:04 +02:00
Florian Bruhin
9c49900f9e
QtWebEngine: Add JS logging
2016-07-13 10:55:04 +02:00
Jan Verbeek
bbc46d28ff
Use lists instead of tuples for comparing
...
Per one of the diff comments on #1597 :
> I used to use a tuple for constant things, but nowadays I'd actually
> prefer a list as a tuple is something more heterogeneous (i.e. it
> makes sense to have a `(x, y)` point as a tuple, but a list of points
> would be a list).
> At some point I should probably change it to a list everywhere 😉
2016-07-12 22:05:32 +02:00
Florian Bruhin
e5cab11979
Escape backslashes in end2end test commands
...
Let's hope this fixes stuff on Windows where \ is used as path
separator...
2016-07-12 17:52:05 +02:00
Florian Bruhin
1c86669628
Fix test_config.py
...
We used wrap-search to test interpolations there, but that's gone now.
2016-07-12 17:31:32 +02:00
Daniel Schadt
05c09a1476
tests: fix test_adblock for new download manager
2016-07-12 17:06:40 +02:00
Daniel Schadt
8795f89c88
tests: fix tests for downloads bdd test
...
The test was failing because of two reasons:
First, the old code had filename questions in DownloadManager.get and
DownloadManager.fetch which were almost identical, thus the part in
DownloadManager.get was removed in an earlier commit. All filename
asking is now done by DownloadManager.fetch. The good part is code
deduplication, the bad part is slightly modified behavior: The new code
doesn't wait for a filename to start the download, instead it tries to
fill the buffer immediately. This made the test fail because qute:// has
no registered handler, so in order for the test to pass now, the "no
crash" part is not enough, we also need to expect the "No handler"
error.
Secondly, and a rather rare (race) condition was the handling of errors
in the DownloadItem. If an error occured after the registration of
self.on_reply_error as error handler and before the check
reply.error() != QNetworkReply.NoError
at the end of the function, the error signal would be emitted twice:
Once by _die() (called by on_reply_error), and once by the init_reply
function directly (in the last if block). This lead to duplicated error
messages. This is also explained in a comment in the file (with small
"stack traces").
2016-07-12 16:52:01 +02:00
Daniel Schadt
7608805c9a
tests: adjust tests for new download mode
...
Now the prompt is shown with PromptMode.download instead of
PromptMode.text, which we need to change in the tests.
2016-07-12 16:52:01 +02:00
Florian Bruhin
64b32ec87d
Remove general -> wrap-search
2016-07-12 16:47:57 +02:00
Florian Bruhin
f0da508c21
Move searching out of WebView subclass
...
This also makes it work for QtWebEngine.
It also seems to fix #1050 though I'm not 100% sure why.
2016-07-12 16:29:50 +02:00
Florian Bruhin
9f6b3973d3
Adjust :print --pdf test title
2016-07-12 13:29:32 +02:00
Florian Bruhin
77035851a3
Sanity check the PDF file for :print --pdf test
2016-07-12 13:28:43 +02:00
Florian Bruhin
fce825f9df
Remove redundant "Given a new tmpdir" step
...
With the (tmpdir) replacement we'll get a temporary directory no matter
what, so this is unnecessary.
2016-07-12 13:22:47 +02:00
Florian Bruhin
cd4eff364a
Add printing to tab API
...
This fixes printing for QtWebKit, and hopefully will make printing to
PDF work with QtWebEngine with Qt >= 5.7
2016-07-12 12:54:11 +02:00
Florian Bruhin
7a39021d41
Merge branch 'issues/1630' of https://github.com/jdkaplan/qutebrowser into jdkaplan-issues/1630
2016-07-12 10:07:59 +02:00
Florian Bruhin
37c6d63ddf
tests: Ignore "load glyph failed" warnings
...
See #1637
2016-07-12 09:45:40 +02:00
Jeremy Kaplan
6b2b096f3c
Add test for :print --pdf
2016-07-11 20:08:24 -04:00
Florian Bruhin
4f9be56d7d
Merge branch 'add-bookmark-by-url' of https://github.com/ismail-s/qutebrowser into ismail-s-add-bookmark-by-url
2016-07-11 20:54:09 +02:00
Florian Bruhin
9f9e41687f
Add a (tmpdir) replacement for BDD tests
...
See #1639
2016-07-11 20:47:37 +02:00
Florian Bruhin
d91c922b4c
Add --qute-bdd-webengine switch for end2end tests
2016-07-11 17:24:03 +02:00
Florian Bruhin
e80475ed57
Remove support for showing JS statusbar messages
...
Closes #1579 .
2016-07-11 16:19:44 +02:00
Florian Bruhin
f46d6cbe27
Fix url_text, take 3
2016-07-11 15:06:36 +02:00
Florian Bruhin
9b75e661e2
Fix missed url_text substitutions
2016-07-11 14:59:35 +02:00
Florian Bruhin
a470bfc3f3
Get rid of url_text_changed signal
...
Instead we simply use url_changed which (similar to Qt's urlChanged)
simply has a QUrl argument.
2016-07-11 14:28:51 +02:00
Florian Bruhin
64dc099d51
pylint: Enable docstyle extension
2016-07-11 13:47:18 +02:00
Florian Bruhin
6a07d231f4
pykint: Add some disable=unused-variable
2016-07-11 13:18:31 +02:00
Florian Bruhin
43c1f62e39
Also skip test_tab on PyQt < 5.6
...
See #1638
2016-07-11 09:10:11 +02:00
Florian Bruhin
86f381a3b7
Skip tests using fake_web_tab on PyQt < 5.6
...
For some weird reason they cause a segfault in QObject::disconnect since
fake_web_tab was converted to a fixture...
See #1638
2016-07-10 21:42:13 +02:00
Florian Bruhin
b791095324
Rename browser.tab module and classes
2016-07-10 17:27:02 +02:00
Florian Bruhin
2649418c0b
Fix lint
2016-07-10 17:04:26 +02:00
Florian Bruhin
d2ece6b542
Move Backend enum to usertypes
...
Otherwise we have a cyclic import
2016-07-10 17:04:26 +02:00
Florian Bruhin
34e39bed4e
Add a test for cmd instance with wrong backend
2016-07-10 17:04:25 +02:00
Florian Bruhin
fd8e66136f
tests: Add a mode_manager fixture
2016-07-10 17:04:25 +02:00
Florian Bruhin
52e14950f1
tests: Fix messagemock with stack argument
2016-07-10 17:04:25 +02:00
Florian Bruhin
7859df74c4
Add tests for Command.run
2016-07-10 17:04:25 +02:00
Florian Bruhin
2136d00aa2
tests: Add a fake_args fixture
2016-07-10 17:04:25 +02:00
Florian Bruhin
949172809d
Add tab_registry to test_tab
2016-07-10 16:57:02 +02:00
Florian Bruhin
e36123735b
Use a fixture for FakeWebTab
...
We need to make sure qapp and tab_registry are available everywhere the
FakeWebTab class is used.
2016-07-10 16:57:02 +02:00
Ismail S
394d9d1404
Add more tests for :bookmark-add
2016-07-08 15:54:39 +01:00
Florian Bruhin
06a6daee34
Add stubs for QtWebEngine
2016-07-08 12:53:48 +02:00
Florian Bruhin
cc11af5e28
Fix lint
2016-07-08 11:21:00 +02:00
Florian Bruhin
334f6cda4f
tab: Rename modeman to mode_manager
...
To avoid it being mixed up with the modeman module
2016-07-08 10:38:51 +02:00
Florian Bruhin
7c6dd60f35
Fix test_on_tab_changed in statusbar.url tests
...
- The invalid URL will now get encoded when using QUrl.
- The check for a None url_text is somewhat pointless as I don't think
this can ever happen in the real circumstances.
2016-07-08 10:38:51 +02:00
Florian Bruhin
782561462b
Use stubs.FakeWebTab to fake tabs
...
This also fixes the cur_url access.
2016-07-08 10:09:03 +02:00
Florian Bruhin
2befebaf3a
Don't use properties for AbstractTab
...
Otherwise exceptions in there could be hidden by Python/PyQt.
Some places are not changed yet, as there are also other renames in the
next commits.
2016-07-08 10:05:46 +02:00
Florian Bruhin
e4b0b7fffd
Fix lint
2016-07-07 20:12:17 +02:00
Florian Bruhin
fea25d715c
Add Percentage test with None-value
2016-07-07 18:32:52 +02:00
Florian Bruhin
5420d6d2ae
Mark some session tests as xfail
...
There'll be a refactoring to add a session API to WebTab later anyways,
so no point in fixing this now.
As many tests as possible here should probably also be changed to
end2end ones as there's a lot of mocking going on.
2016-07-07 18:32:52 +02:00
Florian Bruhin
09f025628f
Use tab.AbstractTab for signals/slots
2016-07-07 18:32:52 +02:00
Florian Bruhin
17466b4f26
Fix some lint
2016-07-07 18:32:52 +02:00
Florian Bruhin
4e5a7a891e
tests: Use FakeWebTab for stubbing
2016-07-07 18:32:52 +02:00
Florian Bruhin
5107a87291
Fix test_tab tests
2016-07-07 18:32:52 +02:00
Florian Bruhin
21b282ce29
Get rid of _DummyUserscriptRunner
...
This simplifies the code a bit and only provides
userscript.run_async (and not the UserscriptRunner class) as entrypoint.
2016-07-07 18:32:52 +02:00
Florian Bruhin
a6307497c0
Rewrite userscripts to work with async dumping
2016-07-07 18:32:52 +02:00
Florian Bruhin
00b287117a
Fix tabs.feature tests
2016-07-07 18:32:52 +02:00
Florian Bruhin
78f425c98b
Add AbstractTab.data
2016-07-07 18:32:52 +02:00
Florian Bruhin
4fea285740
Add win_id attribute
2016-07-07 18:32:52 +02:00
Florian Bruhin
0c1e266073
Use QWebView/QWebEngineView for test_tab
2016-07-07 18:32:52 +02:00
Florian Bruhin
5b9ae8bc85
Initial history implementation
2016-07-07 18:32:52 +02:00
Florian Bruhin
37c3dbbc7d
Fix test_tab
2016-07-07 18:32:52 +02:00
Florian Bruhin
d2dd32b979
Fix test_url
2016-07-07 18:32:52 +02:00
Florian Bruhin
bf286f8c74
Fix some tests
2016-07-07 18:32:52 +02:00
Florian Bruhin
115021b8ea
Get QtWebEngine to start and work somewhat
2016-07-07 18:32:52 +02:00
Florian Bruhin
4305966f7b
Add WrapperLayout/AbstractTab
2016-07-07 18:32:52 +02:00
Florian Bruhin
29ee605c79
Fix version output test on Windows
...
On Windows we get something like C:\IMPORTPATH instead of /IMPORTPATH
2016-07-07 18:32:13 +02:00
Florian Bruhin
674b316db3
Simplify test_version_output
2016-07-07 09:14:36 +02:00
Florian Bruhin
ebf9bc4e0a
Improve version output
2016-07-06 23:47:59 +02:00
Florian Bruhin
b429b919b5
Merge branch 'completer_tests' of https://github.com/rcorre/qutebrowser into rcorre-completer_tests
2016-07-06 13:35:13 +02:00
Florian Bruhin
70117265d6
Fix some a/an misspellings
...
Thanks to https://github.com/jwilk/anorack
2016-07-05 08:34:03 +02:00
Ryan Roden-Corrent
6c2c9438a7
More completer unit test cases.
2016-07-04 19:06:00 -04:00
Ryan Roden-Corrent
4c9417ac6e
Use helper method for cmd prompt text testing.
...
In test_completer, introduce two helper methods to reduce duplicate
code for handling fake cmd prompt text that uses '|' as a placeholder.
2016-07-04 12:31:56 -04:00
Ryan Roden-Corrent
27d635a394
Test selection_changed, not change_completed_part.
...
For the Completer unit tests:
Although `change_completed_part` looks like a public method, it was
only used internally. Test the externally-used method
`selection_changed` instead.
2016-07-04 08:22:21 -04:00
Ryan Roden-Corrent
a6a8bf9304
Clean up test_completer further.
...
Based on code review:
- Use qtbot.waitSignal to test a signal firing
- Use pytest.mark.xfail for an expected test failure
- Ensure there are 2 newlines between module-level functions
2016-07-04 07:36:31 -04:00
Ryan Roden-Corrent
68e373df44
Use QLineEdit as a base for FakeStatusbarCommand.
...
Reduces the amount of mocking and keeps it more true to the original.
2016-07-03 23:06:36 -04:00
Ryan Roden-Corrent
7f690c3f3f
More unit test coverage for Completer.
...
Test completion_item{next,prev} and change_completed_part.
2016-07-03 22:58:09 -04:00
Ryan Roden-Corrent
9bfff1c685
Test more cases for completer.update_completion.
2016-07-03 17:18:16 -04:00
Ryan Roden-Corrent
13e8ed53d6
Clean up completer unit test.
...
Based on code review:
- import modules, not classes
- use methods, not lambdas for the mock command prompt class
- use None rather than Mock for DUMB_SORT
- autouse two fixtures and remove them from test signatures
2016-07-03 17:18:16 -04:00
Jan Verbeek
8039e7ab74
Move :repeat-command tests
2016-07-03 22:32:07 +02:00
Florian Bruhin
d1f6ae99b5
tests: Skip :spawn with invalid quoting on Windows
...
For some reason this often causes segfaults lately - let's skip it until
we can investigate what's wrong.
See #1614
2016-07-03 17:32:19 +02:00
Florian Bruhin
f6cd73c784
Merge branch 'expected-error' of https://github.com/Kingdread/qutebrowser into Kingdread-expected-error
2016-07-03 16:58:06 +02:00
Ryan Roden-Corrent
07edcce697
Unit test Completer.update_completion.
...
Validate update_completion sets the completions widget's model
correctly based on the command text.
2016-07-02 12:25:55 -04:00
Daniel Schadt
ee9d3b6a49
quteprocess: replace Expected with expected
2016-07-02 17:22:40 +02:00
Daniel Schadt
4863df5ac8
quteprocess: also mark expected WARNINGs
2016-07-02 17:19:19 +02:00
Daniel Schadt
e2b521a408
fix lint
2016-07-02 16:51:58 +02:00
Daniel Schadt
bce06d6f43
quteproc: mark expected errors as such
...
Fixes #1611
This marks errors that are expected by a test with an "(Expected)"
marker and white color (instead of red).
The formatting of the log messages has been deferred to _render_log,
since the .expected attribute is not correctly set right after we read
the message.
2016-07-02 13:59:46 +02:00
Jan Verbeek
4172e39045
Move :repeat-command tests to scroll.feature
2016-07-02 01:42:47 +02:00
Florian Bruhin
3a73351779
Merge branch 'patch-2' of https://github.com/edi9999/qutebrowser into edi9999-patch-2
2016-07-01 22:53:49 +02:00
Florian Bruhin
274644e83d
tests: __tracebackhide__ in quteproc.after_test
2016-07-01 14:44:42 +02:00
Florian Bruhin
a3b0e7c1cb
Fix indent
2016-07-01 14:38:18 +02:00
Florian Bruhin
b178099f44
Merge branch 'completion_tests' of https://github.com/rcorre/qutebrowser into rcorre-completion_tests
2016-07-01 14:36:32 +02:00
Florian Bruhin
af37272246
Merge branch 'edit-url' of https://github.com/blyxxyz/qutebrowser into blyxxyz-edit-url
2016-07-01 13:40:00 +02:00
Ryan Roden-Corrent
d45acb0388
Eliminate FakeSettingSection/Value.
...
Don't really need to mock these out for tests as the real classes are
simple enough.
2016-06-30 20:12:44 -04:00
Ryan Roden-Corrent
94ec712ea8
Really clean up Qt view in completion tests.
...
Missed a spot.
2016-06-30 20:12:04 -04:00
Jan Verbeek
4f32d94f5f
Remove obsolete :edit-url with count test
2016-06-30 22:58:05 +02:00
Florian Bruhin
dece5dda78
Add a docstring for pytest_bdd_apply_tag
2016-06-30 17:42:17 +02:00
Florian Bruhin
ead437be82
Don't define pytest_bdd_apply_tag when frozen
...
This should help with the undefined hook while not requiring to install
the pytest-bdd plugin when frozen.
2016-06-30 17:40:54 +02:00
Florian Bruhin
50c1d85137
Use raw string for regex
2016-06-30 15:46:38 +02:00
Florian Bruhin
eb463ab2d3
Fix pytest-bdd tags
2016-06-30 14:47:55 +02:00
Florian Bruhin
8d9a699b5b
test requirements: Update to pytest-bdd 2.17.0
...
This also allows us to have dynamic pyqt>=5.3.1 etc. tags.
2016-06-30 14:02:30 +02:00
Ryan Roden-Corrent
4178f73ed9
Move utility functions to top of test_completion.
...
Just a style change.
2016-06-30 07:26:02 -04:00
Ryan Roden-Corrent
849706e310
Clean up Qt view used in completion tests.
...
Add the view created during the tests to qtot so it gets cleaned up
after the test exits.
2016-06-30 07:26:02 -04:00
Ryan Roden-Corrent
ee59b133c0
Don't bother mocking a history entry.
...
Use webkit.history.Entry in tests instead of FakeHistoryEntry.
2016-06-30 07:26:02 -04:00
Ryan Roden-Corrent
f50b8bb8e8
Use iter instead of __iter__.
...
Corrent two places this was used.
2016-06-30 07:26:02 -04:00
Ryan Roden-Corrent
d6012ad95c
Test delete_cur_item more cleanly.
...
Reduce duplicate code by mocking out a QTreeView around the model and
setting its index.
2016-06-30 07:26:02 -04:00
Ryan Roden-Corrent
9d49f5a57d
Test tab completion with multiple tabbed browsers.
2016-06-30 07:26:02 -04:00
Ryan Roden-Corrent
b6652ad6bc
Test completion quickmark/bookmark deletion.
...
Validate that quickmarks and bookmarks can be deleted from the url
completion menu.
2016-06-30 07:26:02 -04:00
Ryan Roden-Corrent
409de10fb4
Unit test delete_cur_item for tab completion model.
2016-06-30 07:26:02 -04:00
Ryan Roden-Corrent
8321c1a90f
Unit test setting value completion
2016-06-30 07:26:02 -04:00
Ryan Roden-Corrent
f5b1019d4d
Unit test config option completion.
...
Had to add the `raw` parameter to ConfigStub.get as the setting option
completion model passes this argument explicitly (although the docs say
only raw=True is supported).
2016-06-30 07:26:02 -04:00
Ryan Roden-Corrent
5255a71bc5
Unit test setting section completion.
2016-06-30 07:26:02 -04:00
Ryan Roden-Corrent
d49fa7c4a3
Clean up objreg after test_history.
...
test_init in test_history was leaving a web-history in the objreg,
which was interfering with the completion tests.
2016-06-30 07:26:02 -04:00
Ryan Roden-Corrent
16f043034f
Unit test tab (buffer) completion.
...
This involved adding a few stubs as well as expanding the FakeWebView.
2016-06-30 07:26:02 -04:00
Ryan Roden-Corrent
610f9b7068
Unit test session completion
2016-06-30 07:26:02 -04:00
Ryan Roden-Corrent
baf8d00a20
Unit test url/quickmark/bookmark completion.
...
This also adds a few more stubs/fakes to mock out the
quickmark-manager, bookmark-manager, and web-history objects.
2016-06-30 07:26:02 -04:00
Ryan Roden-Corrent
b037ec489f
Add unit tests for help completion.
...
Also adds a FakeConfigSection stub for stubbing out configdata.DATA.
2016-06-30 07:26:02 -04:00
Ryan Roden-Corrent
555bdb75b5
Add unit test for CommandCompletionModel.
...
This establishes a pattern that can probably be used to test any of the
completion models.
See #999 .
2016-06-30 07:26:02 -04:00
Florian Bruhin
900ad1ba6d
Merge branch 'alias-multi-commands' of https://github.com/mgoral/qutebrowser into mgoral-alias-multi-commands
2016-06-30 12:34:18 +02:00
Florian Bruhin
99d921f169
Merge branch 'scroll' of https://github.com/blyxxyz/qutebrowser into blyxxyz-scroll
2016-06-30 12:18:15 +02:00
Jan Verbeek
320b9cac3f
Move repeat-command, make it work with multiple modes, improve tests
2016-06-30 02:22:02 +02:00
Florian Bruhin
03fbacd93c
requirements: Update vulture to 0.9
...
* Don't flag attributes as unused if they are used as global variables in
another module.
* Don't consider "True" and "False" variable names.
* Abort with error message when invoked on .pyc files.
This means we can remove the whitelisted globals in run_vulture.py and
the associated xfailing test.
We also needed to adjust run_vulture.py slightly as the file attribute
got renamed to filename.
2016-06-29 23:44:39 +02:00
Jan Verbeek
cc1899ebca
Add tests for repeat-command, make compatible with different count methods
2016-06-29 20:29:56 +02:00
Jan Verbeek
3c2c7ecaae
Test for scroll with count and argument
2016-06-29 11:47:51 +02:00
Patric Schmitz
217b912f3c
revert custom exception throwing in savefile_open
...
instead adapt test_failing_flush to catch correct exception (ValueError).
2016-06-28 15:03:23 +02:00
Patric Schmitz
a33978ee89
fix error handling in savefile_open and tests
2016-06-28 12:59:00 +02:00
Edgar Hipp
81c69421c5
Update test_readline.py
2016-06-24 12:00:53 +02:00
Florian Bruhin
8eee3f6bce
Add a test for zooming in cloned tab
2016-06-15 14:44:01 +02:00
Ryan Roden-Corrent
9578a3324e
Break two long lines that were failing pylint.
2016-06-13 22:31:21 -04:00
Michał Góral
9b394e4111
Use config_stub instead of monkeypatching config.get()
2016-06-13 19:39:00 +02:00
Florian Bruhin
4fccc89d7d
Split browser into browser/browser.webkit
2016-06-13 11:18:21 +02:00
Florian Bruhin
f70a75978b
Move browser.network.pastebin to misc
2016-06-13 09:48:53 +02:00
Michał Góral
4b883c089e
Fixed linters.
2016-06-12 23:04:14 +02:00
Michał Góral
370c8a8b07
Created tests for reading aliases.
2016-06-12 22:31:10 +02:00
Michał Góral
7ee99ba043
Moved searching for aliases to CommandRunner.parse_all()
...
This addresses issue with having alias for multiple commands splitted by ';;'.
See: The-Compiler/qutebrowser#956 .
2016-06-12 21:09:10 +02:00
Daryl Finlay
054e9ab439
Add host placeholder to window and tab title formats
2016-06-10 21:59:43 +01:00
Florian Bruhin
acf54c5cbe
Release v0.7.0
2016-06-10 15:18:56 +02:00
Florian Bruhin
a95b8eed9b
tests: Add config for v0.7.0
2016-06-10 15:14:22 +02:00
Florian Bruhin
0b4f4a7f23
Improve manual history test
2016-06-10 14:41:08 +02:00
Florian Bruhin
66938ed44b
Full redirect support for history
...
When a redirect occurs, the item is saved in history with a -r suffix
now. When opening qutebrowser that's picked up and the item is hidden
from completion.
2016-06-10 14:40:42 +02:00
Florian Bruhin
e0acda403f
Add an end-to-end test for :history-clear
2016-06-10 13:20:58 +02:00
Florian Bruhin
0a25bb508a
Fix lint
2016-06-10 12:21:48 +02:00
Florian Bruhin
9298fa697b
Allow to pass atime to WebHistory.add_url
...
This makes a lot of tests easier and/or more exact.
2016-06-10 12:12:29 +02:00
Florian Bruhin
7511bc1fe5
tests: 100% coverage for browser.history
2016-06-10 12:01:14 +02:00
Florian Bruhin
14a04f1535
Fix lint
2016-06-09 22:03:35 +02:00
Florian Bruhin
185b4bc18b
Add more tests for browser.history
2016-06-09 21:14:04 +02:00
Florian Bruhin
d3dd6d2f77
Add hypothesis test for history.Entry.from_str
2016-06-09 21:14:04 +02:00
Florian Bruhin
33f01d8375
Fix lint
2016-06-09 21:14:03 +02:00
Florian Bruhin
9510af9912
Use QUrl with QWebHistory
...
Now that we have our own history implementation, we get the URLs as QUrl
and not as string - so no point in converting them to string and back.
2016-06-09 21:14:03 +02:00
Florian Bruhin
5f25ce69ec
Add some tests for browser.history
2016-06-09 21:14:03 +02:00
Florian Bruhin
789b9c9308
tests: Yield fake_save_manager from fixture
2016-06-09 17:44:04 +02:00
Florian Bruhin
75669dd21b
tests: Move fake_save_manager to helper.fixtures
2016-06-09 17:44:04 +02:00
Florian Bruhin
ef2b3cd6d9
tests.helpers: Clean up imports
2016-06-09 17:44:04 +02:00
Florian Bruhin
346e59880e
Add a manual test for visited history
2016-06-09 17:44:04 +02:00
Florian Bruhin
089131c79d
Improve error message when clicking invalid link
2016-06-09 17:43:33 +02:00
Florian Bruhin
86632804a9
behaviour -> behavior for consistency
2016-06-09 17:30:14 +02:00
Florian Bruhin
726ae50251
Clean up find-implementation in test_hints_html
2016-06-09 17:16:00 +02:00
Florian Bruhin
dbbc4b72ed
Use quteproc.set_setting in test_hints_html
2016-06-09 17:15:34 +02:00
Florian Bruhin
ab8a2f7147
Fix lint
2016-06-09 17:12:23 +02:00
Florian Bruhin
035526848e
Add a hints -> find-implementation setting
...
This makes it possible to switch to an alternative implementation if
there are weird issues like #1568 . Some users might also prefer the
slightly better performance over more accurate hints.
2016-06-09 17:00:08 +02:00
Florian Bruhin
2d54c927e3
Fix urlutils tests on Qt 5.6.1
...
For some reason the behaviour of QHostAddress("31c3").isValid() changed
with Qt 5.6.1: https://bugreports.qt.io/browse/QTBUG-53983
This causes the test to fail because Qt thinks this is a valid IP, so we
think it's a valid URL.
2016-06-09 15:16:49 +02:00
Florian Bruhin
9e1d20017c
tests: Mark "History with an error" as flaky
...
For some reason, sometimes on Travis the history file we read is empty.
I have no idea why though, as we successfully wait until ":save saved
history" is logged, and that is working fine.
Let's just mark the test as flaky for now so we can move on.
2016-06-09 11:17:18 +02:00
Florian Bruhin
288744c8d0
Use BDD test for link with spaces issue
...
Clicking actually works fine without the strip() as _resolve_url is
never called in that case, so we need to do something which actually
needs the URL as well.
2016-06-09 10:50:08 +02:00
Florian Bruhin
281d2a427b
Merge branch 'stripurl' of https://github.com/Konubinix/qutebrowser into Konubinix-stripurl
2016-06-09 10:38:35 +02:00
Florian Bruhin
aae205030c
Add missing import
2016-06-09 10:29:16 +02:00
Florian Bruhin
d6926f0622
Fix expected data in AppendLineParser test
...
There were two different issues here:
- `\n` rather than `os.linesep` was used, which caused the "generated"
file to have less data in it than expected
- A final `os.linesep` (or `\n`) was missing, but that was cancelled out
by a off-by-one error when slicing, so wasn't an issue until we tried
with \r\n endings.
2016-06-09 10:26:09 +02:00
Samuel Loury
a69610077e
Add a test about a href with spaces around
2016-06-09 08:36:18 +02:00
Florian Bruhin
4fe6935003
Merge branch 'lowercase-toggle' of https://github.com/EliteTK/qutebrowser into EliteTK-lowercase-toggle
2016-06-08 22:39:19 +02:00
Florian Bruhin
01a622bf02
history tests: Sync with :save better
2016-06-08 22:32:39 +02:00
Florian Bruhin
d40e8e1c2f
tests: Set auto-save-interval to 0
...
Otherwise history tests could fail because waiting for
"Saved to *history" waited for a previous line, not the newest one.
It also doesn't make any sense to save stuff anyways.
2016-06-08 21:54:44 +02:00
Tomasz Kramkowski
a98cd9a528
Change relevant tests to work with new toggle behaviour
2016-06-08 19:37:13 +01:00
Florian Bruhin
e08c6cb059
Don't save the original URL for redirected pages
...
See #1345
2016-06-08 17:15:08 +02:00
Florian Bruhin
483a5f8103
Fix sharing of cookie jars with private browsing
...
Fixes #1219
2016-06-08 16:35:43 +02:00
Florian Bruhin
b6e534f9b8
Add BDD tests for new history code
2016-06-08 15:15:54 +02:00
Florian Bruhin
8c9bd95123
test webserver: Whitelist some more HTTP statuses
...
- HTTP 301 for redirect-to
- HTTP 404 for status/404
2016-06-08 15:15:54 +02:00
Florian Bruhin
a870a2888f
Improve LineParser clear tests
2016-06-08 11:33:37 +02:00
Florian Bruhin
44f626134b
Use real files for lineparser tests
2016-06-08 11:33:37 +02:00
Florian Bruhin
1d51d63f0c
LineParser tests: Clear self._data in _open
2016-06-08 10:36:46 +02:00
Florian Bruhin
b09fe8dca0
Document LineParserMixin attributes
2016-06-08 10:22:55 +02:00
Florian Bruhin
33bcced4a2
Add a test for AppendLineParser.clear
2016-06-08 10:11:59 +02:00
Florian Bruhin
cca26f0f13
Fix lint
2016-06-08 09:45:05 +02:00
Florian Bruhin
1104a731a5
Fix filtering of all hints in number mode
...
Fixes #1559
2016-06-07 18:34:46 +02:00
Florian Bruhin
db0a67766d
Ignore hints -> scatter for number hints
...
See https://github.com/The-Compiler/qutebrowser/issues/308#issuecomment-167091450
2016-06-07 15:13:30 +02:00
Florian Bruhin
ca88b7a1cf
Add test for multi-word matching
2016-06-07 14:24:53 +02:00
Florian Bruhin
d3eec49b6e
Add automated test for #1186
2016-06-07 14:15:32 +02:00
Florian Bruhin
8ff53fdb7f
Add an automated test for #576
...
This is now testable easily since hints are renumbered
2016-06-07 14:08:25 +02:00
Florian Bruhin
efddd64d56
Add test for #308
2016-06-07 13:52:17 +02:00
Florian Bruhin
335c6783ce
Add a manual test page for #576
2016-06-07 11:57:01 +02:00
Florian Bruhin
01c4c1717f
Add manual test file for #1186
2016-06-07 11:55:17 +02:00
Florian Bruhin
82d7c33b29
Add tests for hints -> auto-follow-timeout
2016-06-07 11:06:39 +02:00
Florian Bruhin
bdef8c4e3a
Fix lint
2016-06-07 08:23:35 +02:00
Florian Bruhin
e8123bb68a
Fix pdfjs version parsing for never versions
2016-06-07 07:42:34 +02:00
Florian Bruhin
fd8286d4eb
Fix BDD runtest_makereport hook on non-BDD tests
2016-06-06 23:37:26 +02:00
Florian Bruhin
b635d10836
Merge branch 'iframe_tests' of https://github.com/lahwaacz/qutebrowser into lahwaacz-iframe_tests
2016-06-06 23:32:20 +02:00
Florian Bruhin
a9f27e3247
bdd: Turn off colors with --color=no
2016-06-06 23:19:14 +02:00
Florian Bruhin
b0df87842e
Show BDD scenario on failed tests
...
See #1552
2016-06-06 23:09:19 +02:00
Florian Bruhin
d2b1682915
Add #1514 to tests/manual/hints/other.html
2016-06-06 21:24:02 +02:00
Jakub Klinkovský
b1997c1e00
tests: add missing wait in "Scenario: Opening a link with specific target frame in a new tab"
2016-06-06 18:26:04 +02:00
Jakub Klinkovský
199f0aeb76
tests: un-xfail some iframe tests ( #1525 )
...
The given reason (clicking an iframe to get a focus) applies to only one
test, the others are either stable or flaky for a different reason.
2016-06-06 17:34:22 +02:00
Florian Bruhin
d91f4e13d0
Fix long line
2016-06-06 17:13:56 +02:00
Florian Bruhin
520572321a
Add unittests for partial command parsing
2016-06-06 16:18:49 +02:00
Florian Bruhin
c9d85d3a12
bdd: Add tests for partial commandline matching
2016-06-06 16:10:10 +02:00
Florian Bruhin
2f60073cdf
bdd: Allow to run invalid commands via quteproc
2016-06-06 16:10:01 +02:00
Florian Bruhin
4e86a888c9
Add webelem tests for JS/non-JS rect_on_view
2016-06-06 15:42:30 +02:00
Florian Bruhin
abfd789f9e
Fix zooming with a too big count
...
Fixes #1118
Supersedes #1140
2016-06-06 13:25:01 +02:00
Florian Bruhin
8d5fdf2833
Remove wrap mode for NeighborList
2016-06-06 13:10:14 +02:00
Florian Bruhin
45da93ab55
Update manual hint tests
2016-06-06 12:12:23 +02:00
Florian Bruhin
10630e30ab
hints: Integrate _get_first_rectangle into webelem
2016-06-06 11:56:15 +02:00
Florian Bruhin
b262580b22
Fix hint position when zoom is used
2016-06-06 10:41:59 +02:00
Florian Bruhin
0e4dbd646c
Merge branch 'hints_positioning' of https://github.com/lahwaacz/qutebrowser into lahwaacz-hints_positioning
2016-06-06 10:22:06 +02:00
Florian Bruhin
7db9b85d31
Add entry for exherbo.org to manual/hints/other
2016-06-06 09:17:25 +02:00
Florian Bruhin
164be08627
Rename shadowed function
2016-06-06 09:06:49 +02:00
Florian Bruhin
23bcc35ebd
Add some manual test pages for hints
2016-06-06 09:04:35 +02:00
Florian Bruhin
dce969997a
Reorganize tests/html
2016-06-06 08:38:35 +02:00
Florian Bruhin
3cfb430cdf
bdd: Add test for spawning an external editor
2016-06-06 08:36:30 +02:00
Florian Bruhin
9f3c2dfada
Merge branch 'bind_case_fix' of https://github.com/rcorre/qutebrowser into rcorre-bind_case_fix
2016-06-04 23:30:50 +02:00
Florian Bruhin
7b852a7bbb
Merge branch 'rapid_normal_hints' of https://github.com/rcorre/qutebrowser into rcorre-rapid_normal_hints
2016-06-04 23:11:54 +02:00
Florian Bruhin
5c329c409c
Improve error messages in test_hints
...
See #1542
2016-06-04 23:09:08 +02:00
Florian Bruhin
831c3c0272
Add a README for tests/end2end/data/hints/html
...
See #1542
2016-06-04 23:08:59 +02:00
Florian Bruhin
dc6113dcfa
Make scroll test page a bit wider
...
See #1542
2016-06-04 22:53:37 +02:00
Ryan Roden-Corrent
68faf2b873
Allow hint --rapid in normal mode.
...
This was disallowed by an assertion, but has a legitimate use case for
clicking multiple buttons or ticking multiple checkboxes.
Resolves #1541 .
2016-06-04 15:32:58 -04:00
Ryan Roden-Corrent
1dc20f4d02
Handle special keystrings case-insensitively.
...
Load all special keystrings (e.g. <ctrl-a>) into memory as lowercase,
and automatically lowercase any special keystring given to bind/unbind.
This prevents <ctrl-a> and <Ctrl-A> from being treated differently.
Resolves #816 .
Also resolves #1544 (dupe).
2016-06-04 07:39:09 -04:00
Florian Bruhin
163082b3ea
Wait until download is started
2016-06-04 13:15:22 +02:00
Daniel Schadt
fd27caf311
tests: remove wait in mhtml cancel test
2016-06-03 16:09:31 +02:00
Daniel Schadt
c3e7ab52b5
tests: add test for cancelling a mhtml download
2016-06-02 23:07:03 +02:00
Florian Bruhin
fcba6beecf
Merge branch 'json-logging' of https://github.com/Kingdread/qutebrowser into Kingdread-json-logging
2016-06-01 13:07:52 +02:00
Florian Bruhin
3e5994cff6
bdd: Get rid of "I execute the userscript" step
...
Since we now have a (testdata) substitution this is much easier.
2016-05-30 16:21:32 +02:00
Florian Bruhin
c17a1be8fd
Add a test for flags passed to a command
2016-05-30 16:18:03 +02:00
Florian Bruhin
0aa7ed2eb3
Move userscript to correct place
2016-05-30 16:10:52 +02:00
Florian Bruhin
a39c662633
Merge branch 'hint_spawn_fix' of https://github.com/rcorre/qutebrowser into rcorre-hint_spawn_fix
2016-05-30 16:09:28 +02:00
Daniel Schadt
a6b47a7c09
fix lint
2016-05-30 16:00:10 +02:00
Daniel Schadt
fa2636c2f6
tests: fix timezone issues for test_quteprocess
...
Depending on the timezone, you may either get 00:00 as time or 01:00,
which is bad for testing on different machines.
2016-05-30 16:00:10 +02:00
Daniel Schadt
65e5a3fe09
quteproc: match message with re.DOTALL
...
Since they may now contain newlines, we need to get the whole message,
which are otherwise not included in .
2016-05-30 16:00:10 +02:00
Daniel Schadt
f676a599a2
tests: remove leftover lines from writing the code
...
Those lines are not needed.
2016-05-30 16:00:10 +02:00
Daniel Schadt
484320ac19
quteproc: see lines starting with ' ' as error
...
Now that json logging is used, multiple lines should be correctly
escaped (and parsed), even in tracebacks, so this check should now be
obsolete.
2016-05-30 16:00:10 +02:00
Daniel Schadt
db240e294e
quteproc: delegate LogLine to log.ColoredFormatter
2016-05-30 16:00:10 +02:00
Daniel Schadt
cc7c477e3e
tests: add update tests for LogLine with json logs
2016-05-30 16:00:10 +02:00
Daniel Schadt
6a6f396f85
quteproc: set lineno to None if function is None
2016-05-30 16:00:10 +02:00
Daniel Schadt
cea32ea333
log: embed traceback in json object
2016-05-30 16:00:10 +02:00
Daniel Schadt
96b299a1fc
quteproc: Nicer output for unexpected errors
...
Instead of
LogLine('{"levelname": "ERROR", ...}')
we get
21:22:34 ERROR downloads mhtml ...
2016-05-30 16:00:10 +02:00
Daniel Schadt
b4022b9795
quteproc: fix log_color in log message
...
This actually uses the escape code, not just the color name.
2016-05-30 16:00:10 +02:00
Daniel Schadt
ae16240d41
quteproc: fix docstring in formatted_str
...
Autocomplete was faster and inserted .strip() after line
2016-05-30 16:00:10 +02:00
Daniel Schadt
d4a295b22e
tests: update test_log with json_logging namespace
2016-05-30 16:00:10 +02:00
Daniel Schadt
cf3930f925
quteproc: except ValueError
...
There is no json.decoder.JSONDecodeError, it was a lie all along...
2016-05-30 16:00:10 +02:00
Daniel Schadt
49419bc429
tests: update test_invocations for --json-logging
2016-05-30 16:00:10 +02:00
Daniel Schadt
4a59a1f112
log: implement JSON as logging output
...
Fixes #1501
Enabled via the --json-logging parameter.
2016-05-30 16:00:10 +02:00
Florian Bruhin
9a0fa9068c
Stabilize tests using :follow-hint
2016-05-30 14:54:06 +02:00
Florian Bruhin
6741a16957
Stabilize :buffer tests
...
Fixes #1493
2016-05-30 01:16:44 +02:00
Florian Bruhin
402e110cab
bdd: Delete "Navigating up with root directory"
...
This test causes various trouble for reasons I don't understand, so
let's get rid of it.
2016-05-29 23:59:28 +02:00
Florian Bruhin
d385206ea0
tests: Set some settings for quteproc
...
We set ui -> message-timeout to 0 to get better error messages in the
log output and network -> ssl-strict to not hang on unexpected SSL
errors.
2016-05-29 23:40:09 +02:00
Florian Bruhin
08f5cfd366
Fix test_enter_folder on Windows
2016-05-29 22:46:32 +02:00
Florian Bruhin
86be7ad82c
Move file_url from utils.jinja to utils.urlutils
2016-05-29 22:44:40 +02:00
Florian Bruhin
8e2d315807
Fix pytest_status workaround if .cache is missing
2016-05-29 22:21:35 +02:00
Florian Bruhin
2d9cf5ed3a
Handle invalid URLs in wait_for_load_finished_url
2016-05-29 22:16:55 +02:00
Florian Bruhin
001670969b
tests: Ignore segfaults on pytest exit
...
In various situations (especially on OS X), pytest segfaults on exit probably
due to Qt/PyQt bugs.
We now have a wrapper script which ignores those segfaults if pytest did run
successfully.
2016-05-29 22:06:24 +02:00
Florian Bruhin
119d76c502
Fix lint
2016-05-29 18:45:09 +02:00
Florian Bruhin
5b84fc93df
Do a final userscript command read on cleanup
...
On OS X, sometimes the userscript exited before the QSocketNotifier was
triggered. By doing a final read when cleaning up we make sure we don't
miss anything.
Fixes #1533 .
2016-05-29 18:42:56 +02:00
Florian Bruhin
e10e9c7df2
bdd: Don't run :spawn -u test on OS X for now
...
See #1533
2016-05-29 18:25:23 +02:00
Florian Bruhin
a905d46757
bdd: Merge userscripts.feature into spawn.feature
2016-05-29 18:24:34 +02:00
Florian Bruhin
64d4c9f83e
Clean up end2end test file structure
...
This renames tests/integration to tests/end2end and moves some files to
tests/end2end/fixtures.
2016-05-29 18:20:00 +02:00
Florian Bruhin
a3a160cb22
tests: Fix race condition in test_enter_folder
2016-05-29 17:48:02 +02:00
Florian Bruhin
867b4a8640
Make quteproc.wait_for_load_finished_url public
2016-05-29 17:47:39 +02:00
Florian Bruhin
e7a6907bc2
tests: Don't run geolocation tests on OS X
...
We already only run them on CI because they can be kind of
unpredictable, and it seems OS X on Travis hangs when running them too.
2016-05-29 17:35:43 +02:00
Florian Bruhin
bceb7cf89e
tests: Avoid race conditions for :messages tests
...
We need to wait until the page is actually loaded before we check the
content.
2016-05-29 17:07:37 +02:00
Florian Bruhin
d3fe2babd3
tests: Wait until page is loaded by default
...
When doing quteproc.open_path, by default the test didn't wait until the page
was loaded. This caused unintentional race conditions which e.g. caused
dirbrowser tests to fail on OS X:
https://travis-ci.org/The-Compiler/qutebrowser/jobs/133730001
Now instead we wait by default, unless wait=False is passed to open_path() or
open_url().
2016-05-29 16:14:33 +02:00
Florian Bruhin
b97736b117
Revert "Work around flake8-string-format bug"
...
This reverts commit 6c4beef783
.
2016-05-29 14:17:32 +02:00
Florian Bruhin
1e55db0630
Follow the American way(tm) of spelling things
2016-05-29 10:57:41 +02:00
Florian Bruhin
6caa89a622
Merge branch 'empty_uri' of https://github.com/hcraT/qutebrowser into hcraT-empty_uri
2016-05-29 00:37:12 +02:00
Tarcisio Fedrizzi
ec2935fab0
Fixes flake8 error
2016-05-28 17:38:31 +02:00
Florian Bruhin
1d87eee4d7
Fix starting when sys.stderr is None
2016-05-27 14:48:46 +02:00
Florian Bruhin
afcb018ee2
Fix some spelling mistakes
...
Found via http://jwilk.net/software/mwic
2016-05-27 12:07:00 +02:00
Florian Bruhin
2fb5de8bd3
test_insert_mode: Always set fake clipboard
...
Otherwise if we only run a keypress test, the fake clipboard won't be
activated and thus the subsequent :yank-selected would write to the real
clipboard.
2016-05-27 00:12:53 +02:00
Florian Bruhin
6c4beef783
Work around flake8-string-format bug
...
When using flake8-string-format on Python 3.5 with str.format(*group) it
failed:
Traceback (most recent call last):
File "./.venv-flakes/bin/flake8", line 11, in <module>
sys.exit(main())
File ".../site-packages/flake8/main.py", line 33, in main
report = flake8_style.check_files()
File ".../site-packages/flake8/engine.py", line 181, in check_files
return self._retry_serial(self._styleguide.check_files, paths=paths)
File ".../site-packages/flake8/engine.py", line 172, in _retry_serial
return func(*args, **kwargs)
File ".../site-packages/pep8.py", line 1842, in check_files
runner(path)
File ".../site-packages/flake8/engine.py", line 126, in input_file
return fchecker.check_all(expected=expected, line_offset=line_offset)
File ".../site-packages/pep8.py", line 1574, in check_all
self.check_ast()
File ".../site-packages/pep8.py", line 1521, in check_ast
for lineno, offset, text, check in checker.run():
File ".../site-packages/flake8_string_format.py", line 288, in run
assert isinstance(call.args, ast.Starred) is bool(has_starargs)
AssertionError
This works around that issue.
See https://github.com/xZise/flake8-string-format/issues/11
2016-05-26 23:50:58 +02:00
Tarcisio Fedrizzi
a3e6761db6
Fixes pylint error
2016-05-26 18:01:01 +02:00
Tarcisio Fedrizzi
a9e96df5df
Adds unit test when force_search is True
2016-05-26 18:01:01 +02:00
Tarcisio Fedrizzi
462f9d7e4c
Refators discussed in the review
...
- refactors what discussed in the review
- adds unit tests for schemas without host and path
2016-05-26 18:01:01 +02:00
Ryan Roden-Corrent
db09cbb960
Implement a feature test for :hint all userscript.
...
This adds a (testdata) substitution for 'When I run {command}' to allow
providing an absolute path for the userscript.
2016-05-26 07:35:28 -04:00
Nick Ginther
1ea99c5958
add completing single option argument test
2016-05-25 17:52:36 -05:00
Florian Bruhin
c96722f169
Merge branch 'better_keyhints' of https://github.com/rcorre/qutebrowser into rcorre-better_keyhints
2016-05-25 22:04:51 +02:00
Tarcisio Fedrizzi
73c200fb14
Tweaks the multi-line heuristic to handle scheme-like text
...
Adds some options to implement a way to treat multiline text that starts
with a scheme-like line as text instead as an URL.
2016-05-25 08:05:57 +02:00
Ryan Roden-Corrent
f58e2d91dc
Add a keyhint blacklist.
...
Replace the setting ui.show-keyhints with ui.keyhint-blacklist, which
is a list of globs for keychains that shouldn't be hinted. This allows
users to prevent showing keyhints for keychains they already know.
keyhint-blacklist='*' is equivalent to show-keyhints=False.
Resolves #1515 .
2016-05-24 20:46:39 -04:00
Florian Bruhin
f100eb6e03
Mark iframe hint tests as xfail_norun as a stopgap
...
See #1525 .
2016-05-24 22:23:42 +02:00
Florian Bruhin
3bbc950616
Fix lint
2016-05-24 21:53:50 +02:00
Florian Bruhin
846fe8b943
Add a test for #1484
2016-05-24 21:36:09 +02:00
Ryan Roden-Corrent
b1aaf0f10f
Only show keyhints after a short delay.
...
If a user knows the keychain and can type it quickly, we shouldn't
annoy them with a popup. Only show the keyhint if the user doesn't
complete their keychain in 500ms.
The isVisible() check in the tests is somewhat invalid now because it
is never immediately visible and I don't want to add a delay to unit
tests. I added a check that text() is not set for one test that was
only checking isVisible().
Addresses part of #1515 .
2016-05-23 21:21:03 -04:00
Jakub Klinkovský
ee8247525e
simplify testcase for following a hint inside an iframe
2016-05-22 15:19:00 +02:00
Ryan Roden-Corrent
648f89ef31
Implement more tests for the hinting.
...
Validate the hint spawn fix as well as add feature tests for previously
untested hinting behaviors (fill, run, --rapid).
There is still no test for the 'userscript' target as running a
userscript from hint mode during a test does not get the same
redirection as the 'I execute the userscript ...' statement, That is,
it looks in /usr/local/share/qutebrowser/userscripts rather than
tests/integration/data/userscripts.
2016-05-21 07:48:52 -04:00
Ryan Roden-Corrent
87cb5bf6c2
Fix test html link for hints
2016-05-20 22:13:49 -04:00
Ryan Roden-Corrent
f025394e04
Set maxsplit=2 for :hint.
...
This supports things like :hint all spawn -v echo as '-v echo' will be
passed as a single unit to spawn rather than -v being interpreted as a
flag for :hint.
Resolves #797 .
Note that, while `:hint --rapid all spawn -v` echo works,
`:hint all --rapid spawn -v echo` does not (this did not work before
either).
2016-05-20 22:11:58 -04:00
Ryan Roden-Corrent
0300f03ebc
Allow passing args to spawn from :hint.
...
Instead of creating a new guiprocess manually, just pass the args along
to the spawn command so it can accept args like -v.
Addresses part of #797 by allowing `hint -- all spawn -v echo`.
`hint all spawn -v echo` is still not supported.
2016-05-20 22:11:58 -04:00
Florian Bruhin
a5c08e23b6
Fix path to link.html in new tests
2016-05-20 17:21:05 +02:00
Florian Bruhin
ea1f46d542
Merge branch 'hints_clicking' of https://github.com/lahwaacz/qutebrowser into lahwaacz-hints_clicking
2016-05-20 17:09:16 +02:00
Florian Bruhin
107934e4e1
bdd: Wait a bit in "No crash should happen" step
...
If we don't do this, the qutebrowser process will be terminated and exit
before it actually has a chance to crash.
See #1510
2016-05-20 16:03:52 +02:00
Florian Bruhin
b934f8bc4e
Fix lint
2016-05-20 13:07:36 +02:00
Ryan Roden-Corrent
b1440a1804
Implement utils.is_special_key.
...
The check `key.startswith('<') and key.endswith('>') is repeated many
times in code to check for a special key. Replace all these with a call
to the same function.
2016-05-19 20:48:48 -04:00
Ryan Roden-Corrent
5992b81850
Don't show keyhint if there are no hints.
...
Currently, the keyhint window is shown even if the keystring matches no
possible bindings. This causes an empty keyhint window to hang around
after entering hinting mode.
Instead, the window is now hidden if no bindings match the current
keystring.
Resolves #1507 .
2016-05-19 07:02:23 -04:00
Stefan Tatschner
2c7dc6ffcc
Add invalid url to 'test_set_hover_url_encoded'
...
This covers the recently introduced code path, in 1c23815
(Fix crash
when hovering over an invalid URL, 2016-05-18) when hovering an
invalid URL.
2016-05-18 22:23:26 +02:00
Florian Bruhin
d0af80fbd5
Merge branch 'keystring' of https://github.com/rcorre/qutebrowser into rcorre-keystring
2016-05-18 07:33:17 +02:00
Florian Bruhin
324fcfadb0
Merge branch 'hint_inputs' of https://github.com/Liambeguin/qutebrowser into Liambeguin-hint_inputs
2016-05-18 07:30:46 +02:00
Florian Bruhin
02cbc2f986
Merge branch 'pretty-hover-url' of https://github.com/forkbong/qutebrowser into forkbong-pretty-hover-url
2016-05-18 07:27:30 +02:00
Florian Bruhin
e4d84b0bfc
Simplify argparser.type_check
...
If the value isn't param.default, it will always be a string or a flag, as
type_conv never gets called when the function is called from Python.
2016-05-18 07:16:17 +02:00
Florian Bruhin
a83bf9c3ee
Simplify argparser.type_conv
...
Since we're not using those functions as argparse callbacks anymore, we
can write a normal function instead of factories, which simplifies
things a lot.
2016-05-18 06:55:27 +02:00
Florian Bruhin
c0d044447d
Add tests for qutebrowser.utils.typing
2016-05-18 06:55:17 +02:00
Florian Bruhin
6ed9b6b13f
Make sure typing.Union[str, int] gets handled
...
str always needs to be the last element checked as otherwise it'd always
win.
2016-05-18 06:55:17 +02:00
Florian Bruhin
a0d0b6464f
Use typing.py-like annotations for command args
...
This means:
- An annotation like (int, str) is now typing.Union[int, str].
- utils.typing got expanded so it acts like the real typing.py, with
issubclass() working properly with typing.Union and __union_params__
being set.
- A literal string doesn't exist anymore as annotation, instead
@cmdutils.argument now has a 'choices' argument which can be used like
@cmdutils.argument('arg', choices=['val1', 'val2']).
- Argument validating/converting is now entirely handled by
argparser.type_conv instead of relying on python's argparse, i.e.
type/choices is now not passed to argparse anymore.
2016-05-18 06:55:17 +02:00
Florian Bruhin
3a33bc42a6
Add initial support for the typing module
2016-05-18 06:55:17 +02:00
Florian Bruhin
9694374673
Add test for cmd arg types
2016-05-18 06:55:17 +02:00
Florian Bruhin
c33f0c3512
Use @cmdutils.argument for completions
2016-05-18 06:55:17 +02:00
Florian Bruhin
3ab40bbc23
Clear globals correctly for all cmdutils tests
...
TestArgument didn't clear the globals as the fixture was inside
TestRegister.
This means test_run_vulture failed in funny ways because run_vulture.py
generated a whitelist containing "<locals>" for commands:
tests/unit/scripts/test_run_vulture.py:55: in run
return run_vulture.run([str(e.basename) for e in files])
scripts/dev/run_vulture.py:146: in run
vult.scavenge(files + [whitelist_file.name])
.tox/py35/lib/python3.5/site-packages/vulture.py:107: in scavenge
self.scan(module_string)
.tox/py35/lib/python3.5/site-packages/vulture.py:75: in scan
node = ast.parse(node_string, filename=self.file)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
source = 'qutebrowser.browser.commands.CommandDispatcher.buffer\nqutebrowser.misc.savemanager.SaveManager.save_command\nqutebro...iidoc.UsageFormatter._get_default_metavar_for_positional\nscripts.dev.src2asciidoc.UsageFormatter._metavar_formatter\n'
filename = '/tmp/tmp_ein2umn', mode = 'exec'
def parse(source, filename='<unknown>', mode='exec'):
"""
Parse the source into an AST node.
Equivalent to compile(source, filename, mode, PyCF_ONLY_AST).
"""
> return compile(source, filename, mode, PyCF_ONLY_AST)
E File "/tmp/tmp_ein2umn", line 16
E test_cmdutils.TestArgument.test_wrong_order.<locals>.fun
E ^
E SyntaxError: invalid syntax
2016-05-18 06:55:17 +02:00
Florian Bruhin
c14db202d6
Use @cmdutils.argument to hide arguments
2016-05-18 06:55:17 +02:00
Florian Bruhin
2370793f38
Make win_id/count mutually exclusive for ArgInfo
2016-05-18 06:55:17 +02:00
Florian Bruhin
35135c4b0d
Use @cmdutils.argument for win_id/count
2016-05-18 06:55:17 +02:00
Florian Bruhin
04367851c3
Refactor how cmdutils.ArgInfo works
...
It's now a real class, and some other aspects about how it's handled
were cleaned up as well.
2016-05-18 06:55:17 +02:00
Florian Bruhin
9eeaeb95c3
Make sure @cmdutils.argument after @register fails
2016-05-18 06:55:17 +02:00
Florian Bruhin
3c586f34ff
Add a @cmdutils.argument decorator
...
For now the only available keyword argument is 'flag' which customizes
the flag an argument will get.
See #637 .
2016-05-18 06:55:17 +02:00
Florian Bruhin
ee579b4bc3
Add a script to strip trailing whitespace
...
Obsoletes #1498
2016-05-18 06:37:26 +02:00
Liam BEGUIN
f689cca101
Added missing All group
2016-05-17 23:57:36 -04:00
Liam BEGUIN
ce0d23bd10
Added tests for the inputs group
2016-05-17 19:58:48 -04:00
Ryan Roden-Corrent
822d148713
Update key hint tests for new format.
...
Change the unit tests to expect the new tabular format.
Also generally clean up the tests -- refactor from a class to
module-level functions as there was no need for a class here.
2016-05-17 07:04:53 -04:00
Ryan Roden-Corrent
3cd252ef82
Clean up html for keyhint text.
...
The \t was behaving the same as a space and the <b> was doing nothing.
2016-05-15 22:33:53 -04:00
Ryan Roden-Corrent
8eee5def5d
Add unit tests for the keyhint widget.
...
- validate keyhint text for a partial keychain
- ensure special keybindings are not suggested
- ensure it is not visible when disabled
- ensure changes to the suffix color are picked up
2016-05-15 22:20:52 -04:00
Ryan Roden-Corrent
581a521b4d
Allow setting mock keybindings for unit tests.
...
Implement mock_key_config.set_bindings_for to set bindings that will be
retrieved by mock_key_config.get_bindings_for.
This is useful for testing the new keyhint ui.
2016-05-15 22:18:16 -04:00
Panagiotis Ktistakis
224c877fec
Hide passwords in hovering URLs
2016-05-15 19:07:10 +03:00
Florian Bruhin
9b28d90543
Improve output if :messages is used without errors
2016-05-15 11:50:29 +02:00
Florian Bruhin
b704c911ae
Fix running qute:log and qute:plainlog
...
This failed because dict.get('level') returned None with no level
parameter, and the subsequent [0] raised:
Traceback (most recent call last):
File ".../qutebrowser/utils/utils.py", line 624, in wrapper
return func(*args, **kwargs)
File ".../qutebrowser/browser/network/networkmanager.py", line 445, in createRequest
op, req, outgoing_data)
File ".../qutebrowser/browser/network/qutescheme.py", line 107, in createRequest
data = handler(self._win_id, request)
File ".../qutebrowser/browser/network/qutescheme.py", line 189, in qute_log
level = urllib.parse.parse_qs(request.url().query()).get('level')[0]
TypeError: 'NoneType' object is not subscriptable
2016-05-15 11:33:30 +02:00
Florian Bruhin
e21039094d
Merge branch 'messages' of https://github.com/rcorre/qutebrowser into rcorre-messages
2016-05-15 11:20:06 +02:00
Florian Bruhin
b75d1629a8
Merge branch 'set-cmd-text-variables' of https://github.com/forkbong/qutebrowser into forkbong-set-cmd-text-variables
2016-05-15 11:01:58 +02:00
Panagiotis Ktistakis
c88883fcb3
Decode URL in statusbar when hovering over it
2016-05-14 19:52:24 +03:00
Ryan Roden-Corrent
fcd233a675
Clean up :messages implementation.
...
- Add log.LOG_LEVELS to map names to levels (instead of using
logging._levelToName)
- Test that log pages do not contain messages below the requested level
- Use pythons urllib.parse.parse_qs instead of Qt's UrlQuery
- Document tab, bg, window args for :messages
- Clean up style
2016-05-14 12:45:22 -04:00
Panagiotis Ktistakis
9527712daa
Add tests for {url:pretty} in :set-cmd-text
2016-05-14 18:44:05 +03:00
Ryan Roden-Corrent
c36f760114
Add bdd test for page not containing plaintext.
...
You can now use 'the page should not contain the plaintext ...' in a
feature test.
2016-05-14 07:10:58 -04:00
Ryan Roden-Corrent
800c1c3cf8
Add :messages command to show past messages.
...
This adds a 'level' query parameter to qute://log and qute://plainlog.
For example, qute://log?level=warning will show an html page containing
log entries with severity warning or greater.
If the query is omitted, the original behavior of qute://log is
preserved.
:messages [level] is a command that opens qute://log?level=<level>.
By default, level defaults to 'error' as an easy way to see missed
error messages.
2016-05-14 07:10:58 -04:00
Florian Bruhin
c64e5c9bd5
Get rid of the colorlog dependency
...
colorlog was problematic for various reasons:
- Not commonly packaged for Linux distributions
- Calling colorama.init() automatically on import
- Not supporting {foo} log formatting
- Not supporting an easy way to turn colors off
Instead we now do the log coloring by hand, which is simpler and means
everyone will have colored logs.
2016-05-13 21:19:33 +02:00
Panagiotis Ktistakis
38edb1b16d
Properly replace variables in set-cmd-text command
...
This fixes #123 and allows variables like {url:pretty} to be used with
set-cmd-text
2016-05-13 18:12:53 +03:00
Florian Bruhin
cb27dbbfb5
Fix error message check for :bind test
2016-05-10 23:47:16 +02:00
Florian Bruhin
ea243ae022
Renumber keybindings in keyinput.feature
...
An unique keybinding for each test means we have some level of
isolation and can understand error messages more easily.
As we're >10 now, let's use a leading zero to avoid shadowed
keybindings.
2016-05-10 23:46:02 +02:00
Florian Bruhin
24d16dd0a7
Merge branch 'show_binding2' of https://github.com/rcorre/qutebrowser into rcorre-show_binding2
2016-05-10 23:39:32 +02:00
Florian Bruhin
36da07c73b
Fix lint
2016-05-10 07:56:54 +02:00
Florian Bruhin
5eff35ba30
cmdutils.register: annotation -> arg for flags
...
Instead of using a 'flag' key in the annotation dict, we now use a flags
argument to @cmdutils.register which is a {argument: flag} dict.
See #637 .
2016-05-10 07:35:41 +02:00
Florian Bruhin
49fb981e7f
Add test for completion count in cmdutils.register
2016-05-10 07:12:50 +02:00
Florian Bruhin
9ca5acd546
Add tests for flags with @cmdutils.register
2016-05-10 07:00:10 +02:00
Florian Bruhin
b17ecd1376
Add tests for cmdutils.register/star_args_optional
2016-05-10 06:41:42 +02:00
Florian Bruhin
56f1d885f9
Use parens instead of \ to continue line
2016-05-09 07:18:12 +02:00
Florian Bruhin
a8845be9e6
Merge branch 'bdd_test_insert_mode' of https://github.com/phansch/qutebrowser into phansch-bdd_test_insert_mode
2016-05-09 07:15:10 +02:00
Florian Bruhin
f7dc9b54bd
Add a test for #846
2016-05-09 07:06:58 +02:00
Florian Bruhin
a23aa1cc47
Fix broken supports_selection() test
2016-05-08 22:39:39 +02:00
Florian Bruhin
165504c1f2
bdd: Fix clipboard_contains_multiline
2016-05-08 22:09:19 +02:00
Florian Bruhin
b9b6f357da
Add utils.supports_selection()
2016-05-08 22:06:59 +02:00
Florian Bruhin
3e6ac28c66
Fix ;Y on systems not supporting primary selection
...
Instead we paste clipboard like we already do with some other commands
when primary selection is not supported.
Fixes #1336
2016-05-08 21:59:25 +02:00
Florian Bruhin
4d9a98a11d
Paste clipboard with :paste-primary on Windows
2016-05-08 21:18:57 +02:00
Florian Bruhin
ddc1f803c0
Clean up assertion
2016-05-08 20:01:35 +02:00
Florian Bruhin
f49cc4e901
Only keep contain tests
2016-05-08 19:57:59 +02:00
Florian Bruhin
65ed878dcf
Update copyright
2016-05-08 19:57:18 +02:00
Florian Bruhin
fdb28e4c71
Add test_sortfilter from #950
2016-05-08 19:56:41 +02:00
Florian Bruhin
f306ca9b53
Fix lint
2016-05-08 11:14:42 +02:00
Florian Bruhin
b4272975f2
Revert "Use lists instead of tuples"
...
This reverts commit eb5bfc1659
.
2016-05-08 11:09:47 +02:00
Florian Bruhin
4403f02ac5
Fix HostBlocker.on_config_changed with no datadir
2016-05-07 23:35:30 +02:00
Florian Bruhin
6d1764e732
Clear blocked hosts on start correctly
2016-05-07 23:31:35 +02:00
Florian Bruhin
f6544786c1
dict
2016-05-07 22:41:22 +02:00
Florian Bruhin
2d8bde62a5
docstring
2016-05-07 22:39:53 +02:00
Florian Bruhin
9e64e5eab4
Check CommandError exception value
2016-05-07 22:39:09 +02:00
Florian Bruhin
f4f329714d
Reformat dicts
2016-05-07 22:38:37 +02:00
Florian Bruhin
1a03388fb5
Fix docstrings
2016-05-07 22:28:06 +02:00
Florian Bruhin
eb5bfc1659
Use lists instead of tuples
2016-05-07 22:12:28 +02:00
Florian Bruhin
bc8d19f003
Fix typo
2016-05-07 22:09:43 +02:00
Florian Bruhin
2ae8ecff71
Use qapp fixture in all adblock tests
2016-05-07 22:08:55 +02:00
Florian Bruhin
7db6f52fa1
Merge branch 'test_adblock' of https://github.com/jcorentin/qutebrowser into jcorentin-test_adblock
2016-05-07 22:06:43 +02:00
Daniel Schadt
dcac832f5e
netmanager: fix crash when asking with no tab_id
...
Issue 1413
This happens when the networkmanager is used by something that has no
tab_id, like the generic DownloadManager. In this case, we should just
skip the webview connection (as it makes no sense) instead of crashing
(which is the last thing we want to do).
2016-05-05 00:34:16 +02:00
Florian Bruhin
3f66ea1a10
Stabilize buffer test, attempt 2
...
"Current tab changed" actually waited for an unrelated earlier event.
2016-05-04 20:56:54 +02:00
Florian Bruhin
7a82c13b27
bdd: Also log already found log messages
2016-05-04 20:54:34 +02:00
Ryan Roden-Corrent
2536766cac
Run :bind <key> to print the current binding.
...
The <command> arg is now optional. If omitted, :bind prints the current
binding as a message. If --mode is given, the binding for that mode is
printed.
2016-05-03 23:29:34 -04:00
Ryan Roden-Corrent
98508bdd26
Allow flexible whitespace in color strings.
...
Allow a variable amount of whitespace for rgb, rgba, hsv, and hsva
strings in the config.
Previously only 'rgb(0, 0, 0)' was allowed. Now things like
'rgb(0,0,0)' are permitted.
The repeated 3-digit segments of the regexes were separated out to
reduce repetition and line length.
2016-05-03 23:15:39 -04:00
Florian Bruhin
8fb1d568ee
tests: Actually log the colored log
2016-05-01 23:01:22 +02:00
Florian Bruhin
43908dba20
Use colored logging for end-to-end tests
2016-05-01 22:45:21 +02:00
Florian Bruhin
4e333d61cd
Clean up failed userscripts correctly
2016-05-01 22:13:52 +02:00
Florian Bruhin
e3f1949f57
bdd: Fix parsing of logged python warnings
2016-05-01 22:13:31 +02:00
Florian Bruhin
7b575460d5
Fix URL for :quickmark-save test
...
We never noticed this because CherryPy handled this incorrectly in
versions < 5.3.0
2016-04-30 19:08:36 +02:00
Florian Bruhin
2b890901ae
Unskip :stop test on OS X
...
CherryPy now ignores EPROTOTYPE on OS X with 5.3.0, so we can safely
reenable the test.
2016-04-30 18:43:31 +02:00
Florian Bruhin
48c7eee6f6
Release v0.6.2
2016-04-30 18:16:43 +02:00
Florian Bruhin
43d898aa63
Fix log tests
2016-04-30 17:45:45 +02:00
Florian Bruhin
89caf3f497
Add a test for #1464
2016-04-30 14:29:55 +02:00
Florian Bruhin
580f3ed7dc
Remove added blank line
2016-04-30 14:09:14 +02:00
Florian Bruhin
b5aad7d1b9
Merge branch 'issue-1393' of https://github.com/NoctuaNivalis/qutebrowser into NoctuaNivalis-issue-1393
2016-04-30 14:06:54 +02:00
Felix Van der Jeugt
86d08f741c
shorten page and wait for load finished
2016-04-29 21:56:24 +02:00
Florian Bruhin
2d5ffbfd02
Revert "Handle counts for special keys."
...
This reverts commit c881730fad
.
This is just a temporary solution until we can properly fix this.
See #1464
2016-04-29 14:20:11 +02:00
Florian Bruhin
8b227f4ba4
Merge branch 'special_key_count' of https://github.com/rcorre/qutebrowser into rcorre-special_key_count
2016-04-28 22:22:23 +02:00
Florian Bruhin
076b486368
Merge branch 'issue-1412' of https://github.com/Kingdread/qutebrowser into Kingdread-issue-1412
2016-04-27 21:19:04 +02:00
Florian Bruhin
ebfcce172b
Stabilize :buffer tests
2016-04-27 21:08:16 +02:00
Florian Bruhin
2a343cb3a1
Various code style improvements
2016-04-27 20:25:27 +02:00
Daniel Schadt
e8aa242d10
tests: fix invocation test for --cachedir
...
--cachedir="" doesn't work because the quotes are not processed (as they
would be by the shell) and the cachedir is set to ./"" (that is a
directory with two double quotes as name). The correct start parameter
is thus --cachedir=, which correctly fails when the fix is reverted.
2016-04-27 13:02:18 +02:00
Daniel Schadt
951cab237f
tests: factor out common code in test_invocations
2016-04-27 00:04:03 +02:00
Daniel Schadt
758fb94414
tests: add test for DiskCache with cache_dir=None
2016-04-27 00:04:02 +02:00
Daniel Schadt
c0b372591a
tests: add tests for --cachedir=""
2016-04-26 23:26:35 +02:00
Florian Bruhin
7c3361d8da
Stabilize :download-delete test
2016-04-26 22:56:06 +02:00
Felix Van der Jeugt
b7ba3cd53e
fix flake and pep remarks
2016-04-26 22:52:29 +02:00
Felix Van der Jeugt
2d71c541c6
allow swapping dict at runtime
2016-04-26 22:52:29 +02:00
Felix Van der Jeugt
ae72841856
read the wait_for code
2016-04-26 22:52:29 +02:00
Felix Van der Jeugt
9633e79d87
why don't I even know my own options
2016-04-26 22:52:29 +02:00
Felix Van der Jeugt
7d9d4937aa
initial testing - local tox does not work yet
2016-04-26 22:52:29 +02:00
Florian Bruhin
32d64b1a9a
Merge branch 'undo_crash' of https://github.com/rcorre/qutebrowser into rcorre-undo_crash
2016-04-25 19:19:08 +02:00
Florian Bruhin
d6c72c5821
Merge branch 'develop' of https://github.com/kanikaa1234/qutebrowser into kanikaa1234-develop
2016-04-25 19:03:20 +02:00
Florian Bruhin
6349c00c72
Fix crash with :tab-{prev,next,focus} with 0 tabs
...
When using :tab-prev/:tab-next (or :tab-focus which uses :tab-next
internally) immediately after the last tab, those functions could be
called with 0 tabs open, which caused a ZeroDivisionError when trying to
do % 0.
Fixes #1448 .
2016-04-25 18:55:15 +02:00
Florian Bruhin
ef91fa3821
Merge branch 'marks' of https://github.com/rcorre/qutebrowser into rcorre-marks
2016-04-21 20:05:41 +02:00
Florian Bruhin
46a525d0d7
bdd: Improve test IDs for :buffer tests
2016-04-21 19:47:26 +02:00
Florian Bruhin
10fe9cf32d
Stabilize test_buffer_two_window_index_present
...
Fixes #1440
I'm not sure if this was the case, but probably it was.
2016-04-21 19:34:39 +02:00
Ryan Roden-Corrent
399cddf7ac
Actually test double-undo.
2016-04-21 08:04:20 -04:00
Ryan Roden-Corrent
ccd04ca548
Don't crash when undoing twice on default page.
...
Avoid a crash when undoing twice on the default page with last-close set to
default-page.
This was caused by logic to reuse the current tab if it is on the default page
and has no history. The fix is using openurl rather than removeTab/tabopen.
2016-04-21 08:04:20 -04:00
Ryan Roden-Corrent
600b5082a9
Touch up tests and add pyqtSlot for marks.
...
Small code review changes.
2016-04-20 21:53:12 -04:00
Florian Bruhin
a55952375b
bdd: Improve output when comparing sessions
...
See #1440 .
2016-04-21 00:15:37 +02:00
Florian Bruhin
e53c136342
tests: Refactor partial_compare
...
Functions now return a PartialCompareOutcome to attach an error message instead
of a bool, and the main function got rewritten based on a handler dict.
2016-04-21 00:14:13 +02:00
Florian Bruhin
cd128bec8e
bdd: __tracbackhide__ in QuteProcess._wait_for_*
...
This should improve the output we got here:
https://ci.appveyor.com/project/The-Compiler/qutebrowser/build/master-2404/job/gr7m54km6h6nul04
2016-04-20 22:39:52 +02:00
Florian Bruhin
e18b056877
Merge branch 'pretty_url' of https://github.com/forkbong/qutebrowser into forkbong-pretty_url
2016-04-20 22:15:54 +02:00
Florian Bruhin
6a6285495a
Merge branch 'pretty_url_2' of https://github.com/forkbong/qutebrowser into forkbong-pretty_url_2
2016-04-20 20:56:24 +02:00
Panagiotis Ktistakis
8550fb3401
Add tests for {url:pretty} variable
2016-04-20 17:58:14 +03:00
Philipp Hansch
dfc1e5703a
Cleanup unused files
2016-04-20 16:23:18 +02:00
Philipp Hansch
376c5c458e
Convert insert mode tests to non-bdd tests
2016-04-20 16:19:47 +02:00
Philipp Hansch
ff13921aad
Add tests for auto-[leave-]insert-mode
2016-04-20 12:50:33 +02:00
Philipp Hansch
601687ba61
Add insert mode feature tests
...
Issue-Link: #999
2016-04-20 11:04:53 +02:00
Florian Bruhin
22582773b1
Fix lint
2016-04-20 09:00:01 +02:00
Florian Bruhin
bc815505f1
bdd: Output fewer = chars for summary headers
...
Otherwise we have line breaks on Travis CI
2016-04-20 07:55:59 +02:00
Florian Bruhin
4520261884
bdd: Make TestProcess.log_summary public
...
We want to use it from the BDD conftest.py
2016-04-20 07:55:23 +02:00
Florian Bruhin
6cf4cebfd4
bdd: Show messages we're waiting for in the log
2016-04-20 07:49:08 +02:00
Florian Bruhin
a99cb5f6b2
bdd: Improve wait_for_load_finished output
2016-04-20 07:38:32 +02:00
Florian Bruhin
5e91ad6c42
bdd: Shorten InvalidLine exception output
2016-04-20 07:38:32 +02:00
Florian Bruhin
266bc6e8d8
bdd: Don't shorten log if an exception happened
2016-04-20 07:38:32 +02:00
Florian Bruhin
1579f27564
bdd: Add sections to log
...
See #1418
2016-04-20 07:38:12 +02:00
Ryan Roden-Corrent
c881730fad
Handle counts for special keys.
...
Now 3<ctrl-o> will execute whatever <ctrl-o> is mapped to with count=3.
2016-04-19 23:39:02 -04:00
Ryan Roden-Corrent
0755e163bb
Only set the ' mark on normal/current hinting.
...
Don't set ' for downloading, hovering, or opening a link in a tab.
2016-04-19 21:18:20 -04:00
kanikaa1234
fae005ab7f
:navigate: command and test feature
2016-04-19 20:30:20 +05:30
Florian Bruhin
6aaea2aa31
Fix HeaderDict with an empty value
2016-04-19 09:43:54 +02:00
Florian Bruhin
e860d8cfea
Add a custom-headers setting
...
Supersedes #1132
Closes #1020 .
2016-04-19 06:35:32 +02:00
Florian Bruhin
c5999443a1
Implement a HeaderDict config type
...
Supersedes #1132 .
Fixes #1022 .
2016-04-19 06:35:20 +02:00
Panagiotis Ktistakis
bd6783c7e6
Add --pretty flag to :yank
...
With --pretty, the URL is yanked in a "pretty form", with most
percent-encoded characters decoded. Partially fixes #1372 .
2016-04-18 23:10:53 +03:00
Ryan Roden-Corrent
2b68aaa311
Make set_mark searching tests less flaky.
...
Replace all the html numbers with a few widely spaced divs to guarantee the
search will move the viewport on almost and reasonable screen size.
2016-04-18 12:30:16 -04:00
Ryan Roden-Corrent
a924144d9a
Set ' mark after searching.
...
Allow jumping back to the previous position after a search jumps you around.
2016-04-17 21:04:08 -04:00
Ryan Roden-Corrent
4b00a17d71
Fix MarkKeyParser crash when changing keyconfig.
...
Ensure MarkKeyParser implements on_keyconfig_changed, so it doesn't fail when
rebinding a key. It doesn't have keybindings, so the implementation is just
`pass`.
This also fixes a few flake8 style errors.
2016-04-17 21:04:08 -04:00
Ryan Roden-Corrent
be6308534f
Store both x and y position for marks.
...
Previously only stored/used y.
2016-04-17 21:04:08 -04:00
Ryan Roden-Corrent
e684cfa03f
Trivial fixes for marks based on code review.
...
- Fix a docstring copy-paste
- Add own name/copyright date to new file
- Simplify a bdd expression (no need for regex)
- Scroll to a pixel position in a single operation
2016-04-17 21:04:08 -04:00
Ryan Roden-Corrent
540f4af225
Set the ' mark after following a link.
...
This moves mark storage from CommandDispatcher to TabbedBrowser, so it can also
be accessed by the HintManager.
2016-04-17 21:04:08 -04:00
Ryan Roden-Corrent
dc246772e7
Add integration tests for set-mark and jump-mark.
2016-04-17 21:04:08 -04:00
Jakub Klinkovský
0eab422540
tests: replace paths to data/hints/link.html
...
an adjustment due to 35ed70cfe0
2016-04-15 23:19:08 +02:00
Jakub Klinkovský
3265601eab
Merge remote-tracking branch 'upstream/master' into hints_clicking
...
* upstream/master: (327 commits)
Remove unused import
tox: Update Werkzeug to 0.11.8
Regenerate authors
Use __file__ instead of sys.argv[0]
Regenerate authors
Make update_3rdparty.py install correctly when run from any directory
Open command line urls explicitly.
tox: Update Werkzeug to 0.11.6
Move qutebrowser.rcc to misc/
Regenerate resources
Fix CHANGELOG/link in README
New qutebrowser logo!
www: Add releases link
Release v0.6.1
release checklist: Clarify how to build on Windows
Make sure the cheatsheet PNG is included in sdist
Fix cheatsheet link URL in quickstart
Mark segfault on exit in test_smoke as xfail
Add a xfail test for #797
Add missing file
...
Conflicts:
tests/integration/features/hints.feature
2016-04-15 22:37:47 +02:00
Florian Bruhin
c690e652dc
Release v0.6.1
2016-04-10 21:25:32 +02:00
Florian Bruhin
0776aaf32c
Mark segfault on exit in test_smoke as xfail
...
See #1387 .
I know this is... less than optimal, but I can't do anything :-/
2016-04-10 20:52:07 +02:00
Florian Bruhin
6e7aefca00
Add a xfail test for #797
2016-04-10 20:30:26 +02:00
Florian Bruhin
3409559958
Add missing file
2016-04-10 20:28:10 +02:00
Florian Bruhin
6989d4d210
Fix downloading of non-ascii files with LC_ALL=C
...
Fixes #908 .
2016-04-10 20:16:40 +02:00
Florian Bruhin
98f0938d35
Rename test_cmdline_args to test_invocations
2016-04-10 19:56:44 +02:00
Florian Bruhin
1954ebd63c
Fix test_last_window_session_none
2016-04-10 18:22:58 +02:00
Johannes Martinsson
570d8b4abe
Make tab-focus count from end with negative index
...
This makes it possible to jump to the very last tab, as opposed to the
last focused tab, by using -1 as the index. Generally negative indexes
are counted from the end.
Solves issue #1166
2016-04-09 03:40:36 +02:00
Florian Bruhin
642dc46ba9
flake8: Add hacking
2016-04-08 07:35:53 +02:00
Florian Bruhin
00873fd000
Fix Proxy configtype test
2016-04-07 21:42:26 +02:00
Florian Bruhin
9ea7716b06
Stop supporting running tests without Xvfb/DISPLAY
...
This always caused problems and unneeded complexity in the past, and it
also increases Travis CI runtime.
We now require either a DISPLAY during tests or Xvfb being installed.
2016-04-06 08:27:43 +02:00
Florian Bruhin
d02d99e53e
bdd: Make quteproc.set_setting work with quotes
...
This hopefully fixes editor BDD tests on Windows as the editor path is
now correctly quoted.
2016-04-06 08:13:43 +02:00
Florian Bruhin
7141941ece
Fix lint
2016-04-06 07:17:13 +02:00
Florian Bruhin
f0b66130d6
Merge branch 'rcorre-edit-url'
2016-04-06 06:52:43 +02:00
Florian Bruhin
86dec02fe8
bdd: Add tests for :edit-url
2016-04-06 06:47:19 +02:00
Florian Bruhin
2f520f3b17
Rename test_editor.py to test_editor_unit.py
2016-04-05 19:49:01 +02:00
Florian Bruhin
537d017ec2
@Kingdread is faster than AppVeyor
2016-04-05 14:11:51 +02:00
Florian Bruhin
0abd16f6e5
tests: Use repr to wait for download question
...
The tests failed on Windows because a double-slash was printed in the
logs, but the tests expected a single one.
2016-04-05 14:09:25 +02:00
Florian Bruhin
860853f66f
Fix lint
2016-04-05 12:40:46 +02:00
Florian Bruhin
ebee06a9c4
bdd: Add tests for download-path-suggestion
2016-04-05 11:43:35 +02:00
Florian Bruhin
c67edcf811
tests: Add v0.6.0 config to test_old_config
2016-04-04 18:16:31 +02:00
Florian Bruhin
19edea7343
Rename unit/misc/test_sessions.py to *_unit.py
...
Otherwise we get:
import file mismatch:
imported module 'test_sessions' has this __file__ attribute:
/home/florian/proj/qutebrowser/git/tests/integration/features/test_sessions.py
which is not the same as the test file we want to collect:
/home/florian/proj/qutebrowser/git/tests/unit/misc/test_sessions.py
HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules
2016-04-01 07:52:54 +02:00
Florian Bruhin
6631c6456c
Merge branch 'session-tests'
2016-04-01 06:15:52 +02:00
Florian Bruhin
aad2407de1
Merge branch 'force-current-tab' of https://github.com/paretje/qutebrowser into paretje-force-current-tab
2016-04-01 06:13:08 +02:00
Kevin Velghe
0652637fbe
Refactor unit tests for remove_blank_target
2016-04-01 01:32:27 +02:00
Florian Bruhin
d30093b877
Skip "Focusing download widget via Tab" on old Qt
...
Qt < 5.3.1 (used on Travis with Ubuntu Trusty) has a bug with its
javascript prompt implementation, so we can't run that test there.
2016-03-31 21:12:13 +02:00
Florian Bruhin
89742beb4e
pylint: useless-suppression in test_qt_javascript
...
When QtWebEngine is available, the suppression is useless.
2016-03-31 20:18:26 +02:00
Florian Bruhin
27b31b7ded
Avoid DownloadView being focused when pressing tab
...
The previous fix didn't work in situations where the web view was
actually focused, but had no focused element (like about:blank).
The new fix always works, and even is a lot simpler!
Fixes #504 .
2016-03-31 19:45:36 +02:00
Florian Bruhin
123fd18af5
Fix crash when removing download in closed window
...
When a download is finished with `removed-finished-download` set to a
delay, it's removed via a singleshot QTimer.
However, when the window was closed in the meantime, the slot still was
executed by Qt, even though the DownloadManager was already deleted.
Fixes #1242
2016-03-31 19:09:43 +02:00
Kevin Velghe
e90ad3d9c0
Complete coverage for webelem
2016-03-31 10:25:44 +02:00
Kevin Velghe
ef6ffd6a3a
Add link_span.html
2016-03-31 09:36:13 +02:00
Jimmy
97ab6db655
Adds tests for buffer command.
...
The buffer_troubling_args tests may look a little un-intuitive but that is
because they are testing the edge cases for the current behaviour. If these
edge cases are encountered during normal usage you are doing something wrong.
2016-03-31 14:00:36 +13:00
Kevin Velghe
0432ba68c6
Add hints integration test
2016-03-30 23:53:18 +02:00
Kevin Velghe
00f1e699d4
Add extra test to test_remove_blank_target
2016-03-30 23:46:02 +02:00
Florian Bruhin
a6a2210ce8
Add tests for #879
2016-03-30 22:16:36 +02:00
Kevin Velghe
dd4710d596
Fix test_remove_blank_target
2016-03-30 19:54:42 +02:00
Kevin Velghe
f4f926cdca
Add integration tests for current target hints
2016-03-30 19:49:25 +02:00
Kevin Velghe
a432102be0
Add webelem tests for remove_blank_target
2016-03-30 19:08:37 +02:00
Florian Bruhin
5a5e8167dd
Fix lint
2016-03-29 23:20:39 +02:00
Florian Bruhin
6c7e2492e9
Merge branch 'dirbrowser-issue-1334' of https://github.com/Kingdread/qutebrowser into Kingdread-dirbrowser-issue-1334
2016-03-29 22:38:04 +02:00
Florian Bruhin
fc7e75c355
Fix lint
2016-03-29 22:30:26 +02:00
Florian Bruhin
4067d38cb0
Add some tests for QtWebKit/Engine JS capabilities
2016-03-29 22:08:49 +02:00
Florian Bruhin
fee3b9a02b
Merge branch 'bdd_test_spawn_command' of https://github.com/phansch/qutebrowser into phansch-bdd_test_spawn_command
2016-03-29 21:12:29 +02:00
Florian Bruhin
de5ecbf4e7
Fix lint
2016-03-29 21:10:29 +02:00
Daniel Schadt
bd5b1f207d
fix lint
2016-03-29 21:02:54 +02:00
Daniel Schadt
3007fbf5c2
tests: add tests for quteproc.click_element
2016-03-29 20:52:23 +02:00
Daniel Schadt
f82d0f0c94
quteprocess: properly escape xpath expression
...
Since XPath doesn't have a way to escape quotes (or any other
character), we have to use a workaround by using concat() and switching
between quoting styles.
2016-03-29 20:34:40 +02:00
Philipp Hansch
e0e8bc805b
Remove unneeded argument
...
Instead, figure out the data directory from the helpers directory.
2016-03-29 19:52:46 +02:00
Philipp Hansch
4a1ba45efa
Merge remote-tracking branch 'upstream/master' into bdd_test_spawn_command
2016-03-29 19:24:43 +02:00
Florian Bruhin
f43cbed72f
tests: Inherit HTTPPostStub from QObject
...
This way we can test the actual signals instead of calling
on_client_success by hand.
2016-03-29 19:22:28 +02:00
Florian Bruhin
25555682dc
Merge branch 'master' of https://github.com/arsana7/qutebrowser into arsana7-master
2016-03-29 18:59:06 +02:00
Philipp Hansch
5ae0b0cf87
Ignore test on Windows
...
The userscript is a bash script and there is no bash on windows.
One solution could be to use a python userscript, but there may be
other issues (file associations), too.
2016-03-29 14:17:47 +02:00
Daniel Schadt
b6c5ff25fd
tests: add click_element to quteprocess
2016-03-29 13:32:35 +02:00
Philipp Hansch
8a619ea84c
Prevent slashes from being stripped on Windows
2016-03-29 13:25:04 +02:00
Daniel Schadt
f085eb6eca
tests/dirbrowser: move parse out of DirLayout
2016-03-29 12:43:50 +02:00
Daniel Schadt
2db5b95552
tests: use "if not parent_elem"
...
Also add a new test for browsing the root directory
2016-03-29 12:36:43 +02:00
Philipp Hansch
b1ecdf2924
Try to fix path issue on windows
2016-03-29 12:11:01 +02:00
Florian Bruhin
f15fb16ad4
Fix small nitpick
2016-03-29 07:09:17 +02:00
Florian Bruhin
606471c4b6
Merge branch 'test_statusbar_url' of https://github.com/craftyguy/qutebrowser into craftyguy-test_statusbar_url
2016-03-29 07:07:45 +02:00
Philipp Hansch
c016c77da4
Try to fix Windows path issue with new custom step
...
On windows, using '/' in pathnames won't work, so it's impossible to use
to describe a path in a feature spec. The solution is to move the path
logic out of the feature spec and hand it over to `os.path.join` in a
new custom step for userscripts.
2016-03-29 01:37:40 +02:00
Clayton Craft
c811db5424
remove unused import
2016-03-28 15:31:28 -07:00
Clayton Craft
e0c0613db6
Added new test for simulating loading page and hover/unhover URL
2016-03-28 15:12:16 -07:00
Philipp Hansch
e9ae2156d3
Comply with flake8
2016-03-29 00:08:14 +02:00
Philipp Hansch
449adc2dc1
Try not to confuse syntax highlighting with quotes
2016-03-28 23:53:26 +02:00
Philipp Hansch
5811a25299
Add a datapath replacement for spawning userscripts
...
This adds a `(datapath)` replacement for feature tests.
`(datapath)` will expand to the absolute path to the integration data
directory.
2016-03-28 23:48:37 +02:00
Daniel Schadt
6a96e1d6d8
quteprocess: remove duplicate code
2016-03-28 23:10:20 +02:00
Daniel Schadt
c0b40aefdd
tests/dirbrowser: normalize paths before comparing
...
This avoids errors because some libraries use '/' even on windows, while
others use '\' on windows.
2016-03-28 23:10:20 +02:00
Daniel Schadt
f6e8815871
tests: add integration tests for dirbrowser
2016-03-28 23:10:20 +02:00
Daniel Schadt
5e73a2ea37
dirbrowser: move parent dir logic to own function
2016-03-28 23:10:20 +02:00
Daniel Schadt
e97b10517f
tests: use file_url for dirbrowser tests
...
Otherwise the tests will fail on windows.
2016-03-28 23:10:20 +02:00
Daniel Schadt
700756aa16
tests: add more cases for dirbrowser.is_root
...
The trailing slash might have an effect on the function result, so we
should have cases with/without the slash.
2016-03-28 23:08:54 +02:00
Clayton Craft
32304f36dd
fix pylint failure
2016-03-25 16:35:49 -07:00
Florian Bruhin
387e35d3e5
Fix lint
2016-03-26 00:24:54 +01:00
Florian Bruhin
9edc5a665e
Handle jinja's UndefinedError in jinja.render
...
We can get UndefinedError when a new function got added to the jinja
env (and gets called from a template) and the user did update the
on-disk templates but not restart qutebrowser yet.
In this case, let's show a special error page to the user and tell them
to do :report in the unlikely case it's actually a bug.
Fixes #1362 .
See #1360 .
2016-03-26 00:00:06 +01:00
Clayton Craft
4778ff6f9c
Cleaned up url test and improved coveraged based on feedback
2016-03-25 15:56:39 -07:00
Philipp Hansch
0083538491
Add basic test for spawning userscripts
2016-03-25 18:21:38 +01:00
Philipp Hansch
69da5d7545
Add BDD tests for spawn command
...
Issue-Link: https://github.com/The-Compiler/qutebrowser/issues/999
2016-03-25 18:19:35 +01:00
Florian Bruhin
86b12a302e
Add a jinja.render helper
...
This simplifies some code and will make #1362 possible.
2016-03-25 14:29:30 +01:00
Florian Bruhin
74ee0d88e3
Merge branch 'system-wide-data-path' of https://github.com/craftyguy/qutebrowser into craftyguy-system-wide-data-path
2016-03-25 11:04:10 +01:00
Clayton Craft
ff4e17190f
Allow searching system-wide data path on Linux for userscripts
2016-03-24 13:22:00 -07:00
Clayton Craft
a78644a199
Implement statusbar.url test
2016-03-24 12:57:14 -07:00
Philipp Hansch
a0e32753a5
Forgot a possible race condition
2016-03-24 12:20:08 +01:00
Philipp Hansch
624aa9b41d
Try to fix possible race conditions
2016-03-24 11:40:10 +01:00
Philipp Hansch
7e55eee1b9
Set background-tabs to false for rest of the tests
...
Because it is set to true in a previous test and it is better to avoid
shared state in tests. Especially, if we want to randomize tests later
on.
2016-03-24 10:20:21 +01:00
Philipp Hansch
38bda67adc
Add background-tabs and new-tab-position tests
...
Using hints to select and open the link.
Not sure if there are better ways.
Issue-Link: https://github.com/The-Compiler/qutebrowser/issues/999
2016-03-24 10:09:19 +01:00
Florian Bruhin
a932183909
Merge branch 'master' of https://github.com/haxwithaxe/qutebrowser into haxwithaxe-master
2016-03-18 06:17:54 +01:00
haxwithaxe
eed13467f3
allow {0} in search engine specification strings to allow multiple instances of the search term in the url
2016-03-17 20:38:05 -04:00
Florian Bruhin
74706abbc1
Fix lint
2016-03-17 22:10:58 +01:00
Florian Bruhin
0830b400fe
Merge branch 'editor_crash_behaviour' of https://github.com/EliteTK/qutebrowser into EliteTK-editor_crash_behaviour
2016-03-17 21:40:17 +01:00
Florian Bruhin
99fadacda6
Merge branch 'multi_url_heuristic' of https://github.com/hcraT/qutebrowser into hcraT-multi_url_heuristic
2016-03-17 21:28:40 +01:00
Jakub Klinkovský
e121bd764f
hints: add another iframe test
2016-03-16 21:47:58 +01:00
Jakub Klinkovský
164df521c1
hints: add verifications for iframe tests
2016-03-16 20:59:46 +01:00
Florian Bruhin
ed3fd71e6f
Force showing of label in test_elided_text
...
It seems the paintEvent of TextBase never got called since we switched to using
fake_statusbar, breaking the 100% coverage check.
2016-03-15 08:29:33 +01:00
Florian Bruhin
569e7b11fb
Make test_elided_text work with non-unicode output
...
When Qt detects it can't output unicode (via the locale?), it elides using
"..." instead of the unicode char "…". Now the test works in both scenarios.
2016-03-15 07:19:43 +01:00
Florian Bruhin
97ddd674dd
Use fake_statusbar for test_elided_text
...
See #1313
2016-03-15 07:14:39 +01:00
Florian Bruhin
41b6f68fd7
bdd: Add some more tests for downloads
2016-03-14 19:06:42 +01:00
Florian Bruhin
06190a0488
bdd: Do better cleanup/separation for downloads
2016-03-14 19:06:16 +01:00
Florian Bruhin
42a4c1ce4c
Also test transform in test_configtypes_hypothesis
...
If validating works, we might as well also check if transforming does too.
2016-03-11 07:26:16 +01:00
Florian Bruhin
0c6d6367de
Force qapp fixture for test_configtypes_hypothesis.
...
The test needs a QApplication
2016-03-11 07:17:11 +01:00
Florian Bruhin
5d87770513
tests: Allow XPASS for test_installed_package
...
We need to use strict=False here as test_installed_package can XPASS when
running frozen tests.
2016-03-02 08:09:04 +01:00
Florian Bruhin
d1ec64cab1
Remove skip marker as it's builtin in pytest now
2016-03-02 07:14:06 +01:00
Tarcisio Fedrizzi
9286fadeee
Adds wait to paste multiline text test
2016-02-29 00:39:37 +01:00
Tarcisio Fedrizzi
a9fdf09a04
Adds test of the heuristic
2016-02-28 23:44:26 +01:00
Tarcisio Fedrizzi
89ac5cba62
Adds test to reach 100% coverage on urlutils
2016-02-28 23:43:38 +01:00
Florian Bruhin
5395e0f6e2
tests: Use a fresh instance as a workaround
...
Waiting seems like a perfect recipe for another flaky test, so let's better be
safe.
2016-02-28 15:26:18 +01:00
Florian Bruhin
c156f53eba
Merge branch 'data-link-fix' of https://github.com/Kingdread/qutebrowser into Kingdread-data-link-fix
2016-02-27 03:01:19 +01:00
Florian Bruhin
48f87d1656
Revert "Use pytest-platform-markers"
...
This reverts commit 2e12fb3c65
.
It seems like it's currently broken...
2016-02-27 02:45:34 +01:00
Florian Bruhin
a4687c6745
Fix lint
2016-02-27 02:41:01 +01:00
Florian Bruhin
83e86706ff
tests: Make check for ddg being loaded less strict
...
Before this change, adding a new logging message involving logging e.g. the
default duckduckgo setting value failed.
Now we basically use a black- instead of a whitelist and only fail if we get a
load status message for duckduckgo.
2016-02-27 02:16:42 +01:00
Florian Bruhin
2e12fb3c65
Use pytest-platform-markers
2016-02-27 00:26:24 +01:00
Jakub Klinkovský
d4ea62a834
hints: add xfailed tests for hinting inside iframes
2016-02-24 23:15:13 +01:00
Jakub Klinkovský
891a31a0ca
hints: move zoom tests to test_hints_html.py
2016-02-23 18:51:32 +01:00
Jakub Klinkovský
35ed70cfe0
hints: split tests into individual HTML files
2016-02-23 18:19:52 +01:00
Jakub Klinkovský
58d2d92d67
Merge remote-tracking branch 'upstream/master' into hints_clicking
...
* upstream/master: (22 commits)
Regenerate authors.
Only run geolocation tests on CI
Switch to flake8-docstrings with pydocstyle
Fix lint
Move pylint plugins to an installed package.
Include pytest-xvfb properly in frozen tests
tests: Handle trailing / in wait_for_load_finished.
Fix lint.
tox: Upgrade hypothesis to 3.0.2.
tests: Add first end-to-end test for hints.
hints: Log the used hint chars
bdd: use quteproc.wait_for_load_finished.
Remove xvfbwrapper from freeze_tests.py.
Regenerate authors.
Combine launch/crash time into one section.
Split long lines.
Switch to pytest-xvfb. Fixes #1309 .
no ellipsis is inserted in big windows
Regenerate authors.
fixes #1308
...
2016-02-23 17:40:02 +01:00
Daniel Schadt
a382b366bc
tests: increase wait time
...
Otherwise the test might still fail on some systems
2016-02-22 21:46:54 +01:00
avk
c9bb6d0111
tests for browser.network.pastebin - code refactor
2016-02-22 20:46:22 +01:00
Daniel Schadt
a84c8ac247
tests: add workaround for QPainter bug
...
As suggested in the github discussion.
2016-02-22 17:39:34 +01:00
avk
90c8078225
More tests for browser.network.pastebin
2016-02-22 16:09:57 +01:00
avk
6826a97910
Tests for browser.network.pastebin
2016-02-22 15:10:39 +01:00
Florian Bruhin
3ff419f685
Merge branch 'fix/ellipses-on-fullscreen' of https://github.com/NoctuaNivalis/qutebrowser into NoctuaNivalis-fix/ellipses-on-fullscreen
2016-02-22 11:50:26 +01:00
Florian Bruhin
f64916b516
Only run geolocation tests on CI
...
Trying to get the device location while running the tests can trigger all kind
of funny effects.
Since we can't easily mock the GPS responses, we only run those on the CI where
we at least have some predictable setup.
Fixes #1297 .
2016-02-21 17:24:33 +01:00
Jakub Klinkovský
52a9405f74
hints: fix descriptions of zoom tests
2016-02-21 12:53:03 +01:00
Florian Bruhin
b201b65669
tests: Handle trailing / in wait_for_load_finished.
...
We actually already added that in 16ec035418
, but
in 9a02dc174d
we accidentally dropped it again.
2016-02-19 06:42:23 +01:00
Florian Bruhin
6a077f5d5a
Fix lint.
2016-02-18 21:38:23 +01:00
Florian Bruhin
36b0e304fc
tests: Add first end-to-end test for hints.
...
This is based on HTML files with a global YAML comment, currently with "target"
as the only allowed key.
The tests then do this:
- Open a HTML file in data/hints/html
- Start hinting
- Make sure only one hint is visible
- Follow it, and make sure the page mentioned in "target:" is reached
Some ideas for the future:
- A "scroll" key, to scroll before hinting
- A "zoom" key, to zoom
- Multiple hints via a list
- Checking position of hints?
- A mode to manually check the pages (to check hint positions)
2016-02-18 20:46:15 +01:00
Florian Bruhin
9a02dc174d
bdd: use quteproc.wait_for_load_finished.
...
Why duplicate that logic?
2016-02-18 20:46:15 +01:00
Daniel Schadt
007425cf16
downloads: fix filename for data: links
...
Issue #1214
Now uses a sensible filename for data: links instead of the whole base64
content. For PDF.js, it even uses the correct pdf filename.
TODO: Produces "QPainter:🔚 Painter ended with 2 saved states" while
running the tests here (Arch Linux):
CPython: 3.5.1
Qt: 5.5.1, runtime: 5.5.1
PyQt: 5.5.1
2016-02-18 16:17:35 +01:00
Florian Bruhin
5c617b861c
Switch to pytest-xvfb. Fixes #1309 .
2016-02-16 20:36:23 +01:00
Jakub Klinkovský
97d2038528
hints: make sure that all hints stay visible in tests
2016-02-16 00:05:58 +01:00
Jakub Klinkovský
9799c30c2b
hints: add precision tests for different zoom levels
2016-02-15 23:31:49 +01:00
Felix Van der Jeugt
c52e93e296
no ellipsis is inserted in big windows
2016-02-15 22:52:28 +01:00
Florian Bruhin
aa579d76c9
Merge branch 'fix/#1308' of https://github.com/NoctuaNivalis/qutebrowser into NoctuaNivalis-fix/#1308
2016-02-15 22:08:33 +01:00
Felix Van der Jeugt
60c2b9c0b2
fixes #1308
2016-02-15 21:59:09 +01:00
Jakub Klinkovský
239b7497e9
hints: simplify tests and make them more reliable
2016-02-15 20:41:54 +01:00
Jakub Klinkovský
748ec043fb
hints: add tests for links known to cause troubles
2016-02-15 19:02:29 +01:00
Florian Bruhin
74e168c339
Update Pygments test file.
2016-02-15 07:47:29 +01:00
Florian Bruhin
02f367a308
Add basic profiling capability for quteproc tests.
...
When --qute-profile-subprocs is given, we write a profile file for each
qutebrowser invocation and also create prof/combined.pstats afterwards.
2016-02-11 08:02:44 +01:00
Florian Bruhin
5311576c34
Check pep257 via flake8.
...
We'll still keep the pydocstyle environment though until flake8-pep257 adds
support for that:
https://github.com/Robpol86/flake8-pep257/issues/6
2016-02-10 19:18:47 +01:00
Florian Bruhin
7f791dfcb8
Remove now obsolete test.
2016-02-10 07:06:34 +01:00
Florian Bruhin
b6f1dd963d
Handle Shift-Insert correctly in prompt mode.
...
Fixes #1299 .
2016-02-10 06:40:54 +01:00
Florian Bruhin
5ae677376b
Rerun TestPyQIODevice.test_qprocess if needed.
...
This adds a new pytest-rerunfailures dependency. For some reason, that test
sometimes fails with an empty string read, and I can't tell why.
2016-02-08 06:54:47 +01:00
Daniel Schadt
d02ec62e33
tests: fix tests for test_version
...
Broken since we changed pdfjs.PDFJSNotFound to have a parameter, which
was not given here.
2016-02-05 15:16:23 +01:00
Daniel Schadt
df8f87f8b6
tests: add tests for qutescheme
2016-02-05 15:14:23 +01:00
Florian Bruhin
83dc390808
tests: Move fixtures into a separate file.
2016-02-04 07:27:23 +01:00
Florian Bruhin
eb692ba7f6
Fix lint.
2016-02-04 07:13:27 +01:00
Florian Bruhin
774bcbf6b3
tests: Don't fail on teardown too if test failed.
...
When a end-to-end test failed which would've marked an error message as
expected later in the test, seeing the teardown message about an unexpected
error being logged is really confusing.
2016-02-04 06:43:14 +01:00
Florian Bruhin
43b6f18864
Whoops, don't use repr(json.dumps(...))
2016-02-03 21:28:20 +01:00
Florian Bruhin
e5e1a0d95c
Reject hints -> chars containing duplicate chars
...
Fixes #1286 .
2016-02-03 21:05:35 +01:00
Florian Bruhin
0b491f6caf
Use json.dumps for logged fake clipboard.
...
For some reason, when comparing the repr in the two processes, we get different
results on OS X and Windows:
- expected: "fünf"
- "f\xfcnf" coming back from the subprocess on OS X
- "fnf" on Windows
Instead we're comparing the json dump now, which should be more predictable.
2016-02-03 20:54:35 +01:00
Florian Bruhin
79f83a033d
Add a fake clipboard for tests
...
There are a lot of problems and flakiness with using a real clipboard.
Instead we now have a :debug-set-fake-clipboard command to set a text, and use
logging when getting the contents.
Fixes #1285 .
2016-02-03 20:27:11 +01:00
Florian Bruhin
921e8b50b7
Fix lint.
2016-02-03 08:16:59 +01:00
Florian Bruhin
3292c05340
tests: Display some more qutebrowser logs w/o -v.
...
50 lines of context is almost useless, e.g. when an exception occurs we don't
even see the traceback.
2016-02-03 07:55:10 +01:00
Florian Bruhin
6008adcb9f
bdd: xfail broken yankpaste tests for now.
...
Using the clipboard seems to be a good recipe for a lot of weird pain.
Until we avoid it altogether (see #1285 ) we xfail those problematic tests.
2016-02-03 07:49:45 +01:00
Florian Bruhin
302745e0fe
tests: Also poll clipboard after setting it.
2016-02-03 07:44:41 +01:00
Florian Bruhin
a90618128d
tests: Empty clipboard after testing if it works.
...
Otherwise, if a test fails to actually put something into the clipboard, we end
up pasting "Does this work?" which could e.g. trigger a search.
When it's cleared, we at least get some "clipboard is empty" error instead.
2016-02-03 06:55:21 +01:00
Florian Bruhin
af28996f82
tests: Fail if duckduckgo gets loaded accidentally
...
In the long run, we should detect any accidental external accesses using
mitmproxy, as per #1282 . In the meantime, we try to detect duckduckgo requests
being logged and fail the tests if that happens.
However, a duckduckgo URL is logged in fuzzy_url during startup/config init,
which is why we ignore it there.
2016-02-03 06:50:48 +01:00
Daniel Schadt
1e52f459c9
mhtml: new complex test case
...
The-Compiler wants a more beautiful test case since the old one was
pretty weird and took lots of explaining at pytest demos, so I made a
new one. This one is a bit nicer on the eye and - to say it with
The-Compiler's words - has no "weird pixelated globe with the
geocities-like background".
To compensate for the globe I've put in some trivia facts so that - if
you are one of the people that like to stare at test pages - you can
always learn something.
2016-02-02 22:23:40 +01:00
Florian Bruhin
67efd1c5e0
Fix lint.
2016-02-02 19:23:24 +01:00
Florian Bruhin
cf0034d42c
Set __tracebackhide__ in quteproc.after_test
2016-02-02 19:16:45 +01:00
Florian Bruhin
65a4c71488
Merge branch 'master' of https://github.com/NoctuaNivalis/qutebrowser into NoctuaNivalis-master
2016-02-02 18:58:16 +01:00
Florian Bruhin
37bb26bdd5
Add a test in test_editor.py.
2016-02-02 06:53:12 +01:00
Florian Bruhin
ad290e8702
Merge branch 'relax-editor-templating' of https://github.com/Olical/qutebrowser into Olical-relax-editor-templating
2016-02-02 06:49:57 +01:00
Florian Bruhin
312daca2b0
fuzzy_url: Raise InvalidUrlError on empty URLs.
...
Before we raised QtValueError (via qtutils.ensure_valid), but maybe there are
more callers out there which call fuzzy_url with an empty input - and it makes
more sense to raise InvalidUrlError which gets displayed to the user than
raising QtValueError which is more like an assertion.
2016-02-02 06:38:48 +01:00
Florian Bruhin
14042403f6
Fix pasting of empty URLs.
2016-02-02 06:37:49 +01:00
Oliver Caldwell
a617bc3ef4
Add missing commas
...
I haven't written Python in quite a long time :|
2016-02-01 21:41:14 +00:00
Oliver Caldwell
5474f902dd
Add more tests for new editor config
2016-02-01 21:36:24 +00:00
Oliver Caldwell
a14f8a201e
Merge remote-tracking branch 'TheCompiler/master' into relax-editor-templating
2016-02-01 21:19:50 +00:00
Daniel Schadt
449a54c7d0
pdfjs: add file path to version information
...
Shows "bundled" if the bundled version is used.
2016-02-01 17:28:18 +01:00
Oliver Caldwell
54ff2aa46c
Merge remote-tracking branch 'TheCompiler/master' into relax-editor-templating
2016-01-31 22:43:58 +00:00
Oliver Caldwell
a9a42e0a99
Removed invalid placeholder test
2016-01-31 22:36:58 +00:00
Oliver Caldwell
84c44f3395
Remove invalid test parameter
2016-01-31 22:23:35 +00:00
Florian Bruhin
d50e1be566
Add some more :paste-primary tests.
2016-01-31 22:08:46 +01:00
Florian Bruhin
af5d199e8f
bdd: Simplify :paste-primary tests.
2016-01-31 20:56:37 +01:00
Florian Bruhin
44625b254c
Merge branch 'shift_ins' of https://github.com/lahwaacz/qutebrowser into lahwaacz-shift_ins
2016-01-31 19:46:41 +01:00
Jakub Klinkovský
5ec224d1f9
Simplified test for paste-primary command
...
We don't need to move around for this test...
2016-01-30 14:03:54 +01:00
Jakub Klinkovský
b358566156
Added tests for paste-primary command
2016-01-30 13:57:26 +01:00
Florian Bruhin
85adf7593d
Fix crash when downloading URL without path infos.
...
Fixes #1243 .
2016-01-26 22:39:10 +01:00
Florian Bruhin
ea1627c1e6
Cancel permission prompt when tab is closed.
...
Fixes #1250 .
2016-01-26 19:47:31 +01:00
Florian Bruhin
4d9ea06768
tests: Make test IDs predictable.
...
This means we could use xdist in the future.
2016-01-25 22:15:31 +01:00
Florian Bruhin
aede904b3a
bdd: Stabilize "Cloning to background tab" test.
...
I think this didn't actually wait until hello.txt was loaded because some logs
were parsed from the previous test:
http://www.qutebrowser.org/testresults/osx/1294.html
2016-01-24 19:17:39 +01:00
Florian Bruhin
be2c0e30b6
bdd: Stabilize "Closing a JS window twice" test.
...
After pressing the button to open a window, we have to wait until it's loaded
before continuing, otherwise the test is flaky:
http://www.qutebrowser.org/testresults/osx/1295.html
We can't simply wait with "wait until about:blank is loaded" as that page is
already loaded earlier.
2016-01-24 18:47:26 +01:00
Florian Bruhin
7dca8d7329
Fix lint.
2016-01-24 17:30:59 +01:00
Florian Bruhin
86f03c7d81
Merge branch 'master' of https://github.com/mikeri/qutebrowser into mikeri-master
2016-01-24 17:01:35 +01:00
Corentin Julé
6fd8dc4e57
Correct test_config_change
2016-01-23 16:34:05 +01:00
Corentin Julé
47261dbd30
Code cleanup / Good practices
2016-01-23 16:15:19 +01:00
Florian Bruhin
58fb2826ee
flake8: Add flake8-putty plugin.
...
Apply a bit of putty to flake8.
https://pypi.python.org/pypi/flake8-putty/
2016-01-22 17:33:58 +01:00
Florian Bruhin
526441bcae
Fix new flake8 lint.
...
For some reason these issues weren't shown with pytest-pep8/flakes.
2016-01-22 17:33:58 +01:00
Michael Ilsaas
4ad2d63c8a
Shortened urlincdec tests to one and some styling
2016-01-21 18:37:46 +01:00
Michael Ilsaas
1ecccc1133
Fix: decrement url test was set to increment.
2016-01-21 17:15:48 +01:00
Florian Bruhin
3c625790cc
Don't crash if JS tab is closed twice.
...
Fixes #906 .
2016-01-20 21:24:51 +01:00
Florian Bruhin
6bd092a948
tests: Skip custom_environment_no_system on Win.
...
Seems like it's broken on AppVeyor for some reason.
2016-01-20 20:34:19 +01:00
Florian Bruhin
4c64619263
tests: Fix configdir None tests for UserStyleSheet.
2016-01-20 19:55:34 +01:00
Michael Ilsaas
c33e9555a1
Tester for url increment/decrement with zeroes
2016-01-20 19:38:03 +01:00
Florian Bruhin
c02183652f
Fix starting with -c "" and add test.
...
Fixes #1169 .
2016-01-20 18:20:19 +01:00
Florian Bruhin
03118bd804
tests: Add a quteproc_new fixture.
...
This can be used to spawn a dedicated qutebrowser subprocess for a given test,
e.g. to test specific commandline arguments.
2016-01-20 18:19:29 +01:00
Florian Bruhin
039ae74662
tests: pass HOME to testprocess with custom env.
2016-01-20 18:19:05 +01:00
Florian Bruhin
10f3617b5e
tests: Only pass DISPLAY if it exists in the env.
2016-01-20 08:51:15 +01:00
Florian Bruhin
037be96718
tests: Increase testprocess.start timeout on CI.
...
Under some circumstances, starting qutebrowser needs more than 30 seconds
there.
2016-01-20 08:49:25 +01:00
Florian Bruhin
a249d8d426
tests: Ignore another Qt warning by hypothesis.
2016-01-20 08:06:36 +01:00
Florian Bruhin
258855cf50
tests: Don't wait for testprocess if it quits.
2016-01-20 07:47:50 +01:00
Florian Bruhin
e944239ae8
tests: Simplify QuitPythonProcess.
2016-01-20 07:38:27 +01:00
Florian Bruhin
28258be599
tests: Add arg to set custom env for testprocess.
2016-01-20 07:34:56 +01:00
Florian Bruhin
d3f0c27a87
tests: Add testprocess.wait_for_quit.
...
This was in conftest.py before, but we might want to use it outside of that as
well.
2016-01-20 06:54:00 +01:00
Florian Bruhin
ef17c86586
tests: Allow custom args when starting testprocess.
2016-01-20 06:53:25 +01:00
Florian Bruhin
eb276df876
Handle empty term in urlutils._get_search_url.
...
Fixes #1239 .
2016-01-19 07:03:43 +01:00
Florian Bruhin
d9a58547b0
bdd: Add some more waiting to :undo tests.
2016-01-19 06:16:07 +01:00
Florian Bruhin
faed088735
Wait until tabs are loaded for last-close tests.
2016-01-18 23:08:16 +01:00
Florian Bruhin
dfcd3087c2
Increase timeout for test_quteprocess_quitting.
2016-01-18 23:00:41 +01:00
Florian Bruhin
1892915146
bdd: Increase timeout for should_quit even more.
2016-01-18 22:13:24 +01:00
Florian Bruhin
8a757c8603
Release v0.5.1.
2016-01-18 22:12:52 +01:00
Felix Van der Jeugt
7ad871fab1
Merge remote-tracking branch 'source/master'
2016-01-18 21:45:47 +01:00
Florian Bruhin
111f46adc5
bdd: Increase timeout for should_quit.
2016-01-18 08:11:38 +01:00
Florian Bruhin
9394f13a08
tests: Update hello.txt.html for pygments 2.1.
2016-01-18 08:11:38 +01:00
Florian Bruhin
3bf20c7c7b
tests: Adjust check_contents comparison.
...
When doing the read() during the assert we'd get a weird pytest output which
doesn't make sense.
2016-01-18 08:11:35 +01:00
Florian Bruhin
3864ae8aae
bdd: Wait until page is loaded (last-close tests).
2016-01-18 07:33:17 +01:00
Florian Bruhin
c8538bdbb8
Fix config validation for String types.
...
Fixes #1231 .
2016-01-18 07:29:15 +01:00
Florian Bruhin
f7784e641e
bdd: Add some tests for tabs -> last-close.
2016-01-18 07:08:07 +01:00
Florian Bruhin
d6fafd474b
pylint: Disable no-member for http.client.*
...
Seems like this is potentially the same issue as
https://github.com/PyCQA/pylint/issues/399 , it also happens on the same
machines.
2016-01-17 21:27:24 +01:00
Florian Bruhin
0936ed4e61
Disable useless-suppression in webserver_sub_ssl.
...
Seems like this pylint bug doesn't happen on all systems...
2016-01-17 21:21:26 +01:00
Florian Bruhin
11dc51031d
tests: Increase timeout for quteprocess_quitting.
2016-01-17 21:20:28 +01:00
Florian Bruhin
9c5974c054
bdd: Add a "qutebrowser should quit" step.
2016-01-17 20:59:39 +01:00
Florian Bruhin
6e390bdc01
tests: Add a quteproc test for quitting.
2016-01-17 20:46:55 +01:00
Felix Van der Jeugt
9a889c6866
extended tests to cover new file argument
2016-01-17 20:38:33 +01:00
Florian Bruhin
6c5e158fc5
tests: Add a test for a quitting testprocess.
2016-01-17 20:19:41 +01:00
Florian Bruhin
dd211adf0f
tests: Make sure testprocess raises if start fails.
2016-01-17 20:18:07 +01:00
Florian Bruhin
6774894e9e
tests: Check HTTP server status per path.
...
Stricter and simpler, ha! :)
2016-01-15 07:13:45 +01:00
Florian Bruhin
40721a2b6b
bdd: Wait until basic-auth page is fully loaded.
...
This hopefully fixes this flakyness in
test_successful_webpage_authentification:
tests/integration/features/test_prompts.py:129:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[...]
tests/integration/features/conftest.py:381: in check_contents_json
actual = json.loads(content)
/usr/lib/python3.4/json/__init__.py:318: in loads
return _default_decoder.decode(s)
/usr/lib/python3.4/json/decoder.py:343: in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[...]
> raise ValueError(errmsg("Expecting value", s, err.value)) from None
E ValueError: Expecting value: line 1 column 1 (char 0)
2016-01-15 06:51:48 +01:00
Florian Bruhin
6420cdaa26
bdd: Open geolocation/notification page in new tab
...
This hopefully fixes this flaky error in test_notifications_with_ask__true on
OS X:
Failed: Logged unexpected errors:
LogLine('22:40:06 DEBUG js webpage:javaScriptConsoleMessage:531 [http://localhost:57758/data/prompt/notifications.html:28 ] [FAIL] unknown initial value for Notification.permission: denied')
[...]
testprocess.WaitForTimeout: Timed out after 15000ms waiting for {'message': 'Entering mode KeyMode.* (reason: question asked)'}.
2016-01-15 06:44:01 +01:00
Florian Bruhin
5856b24d20
bdd: Compare HTTP status to a whitelist.
...
401 (authorization required) is not < 400, and it makes more sense to be strict
here anyways.
2016-01-14 22:34:26 +01:00
Florian Bruhin
cda6d7c06d
bdd: Add test for webpage authentication.
2016-01-14 22:27:09 +01:00
Florian Bruhin
573654ece1
bdd: Add check_contents_json.
2016-01-14 22:27:00 +01:00
Florian Bruhin
c79f013050
bdd: Allow to load a page without waiting for it.
2016-01-14 22:26:42 +01:00
Florian Bruhin
23107a242b
bdd: Ignore POSITION_UNAVAILABLE for geolocation.
2016-01-14 20:40:46 +01:00
Florian Bruhin
0b116729f7
bdd: Fix skipping tests from JS.
...
With the previous solution, we'd call pytest.skip on teardown only, which means
the rest of the test (e.g. because of a wait_for) could still fail.
2016-01-14 20:32:17 +01:00
Florian Bruhin
b8a50dc475
bdd: Log error code on geolocation errors.
2016-01-14 19:04:48 +01:00
Florian Bruhin
e7a816c0c0
bdd: Skip geolocation tests if it's unavailable.
...
This should unbreak the build with older Qt versions.
2016-01-14 18:51:28 +01:00
Florian Bruhin
9c87eaf371
bdd: Allow to skip a test from JS.
...
This is a bit tricky since the test will actually run, but be marked as
skipped. The problem is we can't raise a pytest.skip.Exception during a test,
or it'll show up as an exception in a virtual Qt method.
Still this is better than nothing.
2016-01-14 18:50:36 +01:00
Florian Bruhin
14ff684e99
bdd: Add a xfail_norun marker.
2016-01-14 07:53:00 +01:00
Florian Bruhin
cf09e477a4
bdd: Add some tests for HTML5 notifications.
2016-01-14 07:49:39 +01:00
Florian Bruhin
1ddf817f4c
bdd: Add some tests for geolocation.
2016-01-14 07:30:52 +01:00
Florian Bruhin
252dc5bf1b
bdd: Add ability to fail tests from javascript.
2016-01-14 07:03:55 +01:00
Florian Bruhin
1d63e2dff4
bdd: Make "I wait for a prompt" step explicit.
2016-01-14 07:03:55 +01:00
Florian Bruhin
abcb366c12
bdd: Add some more SSL tests.
2016-01-13 22:36:45 +01:00
Florian Bruhin
d0fda5467a
bdd: Add a "I wait for a prompt" step.
2016-01-13 22:36:45 +01:00
Florian Bruhin
9c2a38938d
bdd: Clear SSL errors before SSL test.
2016-01-13 22:36:45 +01:00
Florian Bruhin
0e631a2c11
bdd: Mark should_be_logged messages as expected.
2016-01-13 22:36:45 +01:00
Florian Bruhin
2fbf218a0f
bdd: Use textwrap.dedent.
2016-01-13 18:29:14 +01:00
Florian Bruhin
7ccc58bb68
Remove empty line.
2016-01-13 18:13:16 +01:00
Florian Bruhin
6c916d166d
Merge branch 'master' of https://github.com/hcraT/qutebrowser into hcraT-master
2016-01-13 18:12:37 +01:00
Florian Bruhin
e17a332400
Fix lint.
2016-01-13 07:01:31 +01:00
Florian Bruhin
0ca9cd361a
Fix webserver_sub_ssl file header.
2016-01-13 00:00:55 +01:00
Florian Bruhin
f515165140
Add docstring.
2016-01-12 23:51:36 +01:00
Florian Bruhin
5f2ca88176
bdd: Don't test exact SSL error text.
...
Turns out those are platform specific.
2016-01-12 23:50:25 +01:00
Florian Bruhin
9479b65d25
bdd: Add first SSL test.
2016-01-12 23:35:48 +01:00
Florian Bruhin
8dd7f080f4
tests: Default to 5s timeout if not on CI.
2016-01-12 22:49:54 +01:00
Florian Bruhin
adbdfcbad3
tests: Add an SSL server subprocess.
2016-01-12 22:48:38 +01:00
Florian Bruhin
25dbf3731b
tests: Split wait_for_load_finished from open_path.
2016-01-12 22:47:09 +01:00
Florian Bruhin
df03099468
Fix completion for String config type.
...
Since 2a705e2eb6
non-specialized config types are
String. However, String had an overloaded complete() which defaulted to
returning None.
Now we use the normal complete() which relies on valid_values if completions
isn't given instead.
Fixes #1223 .
2016-01-12 18:53:53 +01:00
Tarcisio Fedrizzi
f813bc2415
Adds unit test to check that paths ending with newlines are handled
...
correctly
2016-01-12 11:27:11 +01:00
Tarcisio Fedrizzi
5917bbbe5c
Fixes wrong indentation in multiline clipboard text
2016-01-12 11:25:14 +01:00
Tarcisio Fedrizzi
524341fd7a
Use textwrap.dedent to parse multiline clipboard text
2016-01-12 11:24:31 +01:00
Tarcisio Fedrizzi
f08704e789
Adds function to insert multiple lines in the clipboard
2016-01-12 09:59:03 +01:00
Florian Bruhin
22d255f49f
bdd: Skip JS prompt() tests on PyQt < 5.3.1.
...
Those versions had a PyQt bug when overloading javaScriptPrompt, so we don't do
that there.
2016-01-12 09:04:03 +01:00
Florian Bruhin
df40b39e3e
Work around pytest madness.
2016-01-12 08:20:08 +01:00
Florian Bruhin
046194ad6f
bdd: Add first tests for JS prompt/confirm/alert.
2016-01-12 08:04:56 +01:00
Florian Bruhin
3f21accaeb
tests: Use sip.delete to clean up prompt.
...
It looks like using deleteLater and waiting for the destroyed signal took too
long on the buildbot: http://www.qutebrowser.org/testresults/osx/1245.html
2016-01-11 07:38:58 +01:00
Florian Bruhin
70cd18fc98
100% coverage for mainwindow/statusbar/prompt.py.
2016-01-11 07:14:51 +01:00
Florian Bruhin
20610807c1
tests: Add missing files.
2016-01-10 22:08:52 +01:00
Florian Bruhin
97d5342f0c
Adjust hypothesis setting for 2.0.
2016-01-10 21:57:06 +01:00
Florian Bruhin
fce4351463
bdd: Add some tests for quickmarks.
2016-01-10 21:21:32 +01:00
Tarcisio Fedrizzi
1b31a3fee4
Allows to paste multiple URLs
...
- The paste command will now open one tab/window per url if multiple
URLs (separated by newline) are present in the clipboard
- Adds the tests for the new multitab functionality
- Changes test/integration/conftest.py to be able to insert newlines in
the clipboard for the test
2016-01-09 11:32:12 +01:00
Florian Bruhin
c385580b81
bdd: Add some tests for bookmarks.
2016-01-09 00:15:57 +01:00
Florian Bruhin
4ef0c3e09f
tests: Ensure lines look right when checking tabs.
2016-01-09 00:14:57 +01:00
Florian Bruhin
8ca85b9c66
Also show testprocess output on teardown errors.
2016-01-08 12:53:36 +01:00
Florian Bruhin
ab79cd2496
tests: Avoid pytrace=False for now.
...
Using pytest.fail with pytrace=False hides the quteprocess output, which makes
it a lot harder to debug stuff.
This is because TestReport.longrepr is suddenly a string and we can't add infos
to it - see https://github.com/pytest-dev/pytest/issues/1316
2016-01-08 12:35:12 +01:00
Florian Bruhin
ff2024a565
Add socket IDs to ipc debug messages.
2016-01-08 12:02:36 +01:00
Florian Bruhin
ab0cd17772
Fix lint.
2016-01-08 10:00:42 +01:00
Florian Bruhin
9ed79ad57d
tests: Switch to qtbot.assertNotEmitted.
2016-01-08 10:00:42 +01:00
Florian Bruhin
f004e45566
tests: Remove pointless CookieJar test.
...
There's no code between those two lines which could possibly emit that signal.
2016-01-08 09:57:04 +01:00
Florian Bruhin
1fb34331e5
tests: Default to raising=True for qtbot.
...
- qtbot.waitSignal with raising=True is the default this way, so we remove the
raising=True.
- qtbot.waitSignal with raising=False stay untouched
- Some qtbot.waitSignal without raising had one added (because we don't want it
to raise)
- Some qtbot.waitSignal without raising actually should've raised, which they
do now.
2016-01-08 09:49:06 +01:00
Florian Bruhin
eebed7a5a7
tests: Poll clipboard for changes.
...
For some reason I can't explain, since 2b0870084b
we got test failures on OS X, as the clipboard had the old value before waiting
for the change, the new (correct) value after waiting for it, but never
actually emitted 'changed'.
We could just re-check the contents after the timeout, but that'd mean we wait
1s for every test where this weird thing happens.
Instead, we poll the clipboard for every 100ms as long as the timeout (1s)
hasn't passed, and return as soon as it has the correct contents.
2016-01-08 09:35:03 +01:00
Florian Bruhin
eef1604dcd
tests: Improve WaitForClipboardTimeout message.
2016-01-08 08:35:34 +01:00
Florian Bruhin
0d9cbba3b9
tests: Dump contents in WaitForClipboardTimeout.
2016-01-08 01:56:27 +01:00
Florian Bruhin
aecf410707
Make pylint shut up about pytest.config.
2016-01-08 01:16:58 +01:00
Florian Bruhin
2b0870084b
bdd: Run :tab-only between tests for caret/search.
...
Otherwise we end up opening a lot of tabs which slow down qutebrowser,
The latest issue in #1183 might actually be caused by that.
2016-01-08 00:58:01 +01:00
Florian Bruhin
5eafccb604
tests: Print logs live when -s is given.
2016-01-07 21:15:24 +01:00
Florian Bruhin
9e9cedf3e0
tests: Shorten (not suppress) quteproc log w/o -v.
...
The output was almost always useless without -v because the debug log wasn't
shown at all, only error/info.
Now we display a maximum of 50 lines (regardless of what level) without -v.
2016-01-07 19:41:49 +01:00
Florian Bruhin
df6d9d741f
bdd: Add search tests for known bugs/regressions.
...
This adds a test for #874 , #507 and #940 .
2016-01-07 19:41:26 +01:00
Florian Bruhin
37022b8c45
bdd: Improve search tests.
2016-01-07 08:21:18 +01:00
Florian Bruhin
18b5860584
bdd: Add "When I open ... in a new window" step.
2016-01-07 08:20:48 +01:00
Florian Bruhin
f9645e447a
bdd: Add first tests for searching.
2016-01-07 07:49:45 +01:00
Florian Bruhin
6a592576eb
bdd: Fix timeout exception in _wait_for_clipboard.
2016-01-07 07:43:36 +01:00
Florian Bruhin
360f0b6180
bdd: Improve :inspector tests.
2016-01-07 07:12:51 +01:00
Florian Bruhin
ab22b7740f
bdd: Add test for :follow-selected --tab with JS.
2016-01-06 23:29:16 +01:00
Florian Bruhin
c9a35e7f1e
bdd: Add a test for :follow-selected --tab
2016-01-06 23:24:17 +01:00
Florian Bruhin
7cc98a1248
Fix lint.
2016-01-06 23:19:44 +01:00
Florian Bruhin
16ec035418
bdd: Handle trailing slash for URLs loaded.
...
For some reason, older Qt versions (Debian Jessie/Ubuntu Trusty) like to add a
/, so we need to handle that case too.
2016-01-06 23:19:04 +01:00
Florian Bruhin
a2c3f8c402
bdd: Add some tests for :follow-selected.
2016-01-06 22:59:42 +01:00
Florian Bruhin
916b294976
bdd: Fix regex escape.
...
The . chars weren't properly escaped.
2016-01-06 22:59:05 +01:00
Florian Bruhin
7dc03710b1
bdd: Only check logs for "... should be loaded".
...
Checking the requests from the webserver proved problematic, as often there's
some kind of caching going on. Instead, we only check the log, as this is used
for things like :navigate anyways, so if the log says the page got loaded, we
can trust it.
There's still "... should be requested" to check the actual requests.
2016-01-06 22:57:49 +01:00
Florian Bruhin
b1bf75f069
bdd: Add a test for :drop-selection.
2016-01-06 22:15:13 +01:00
Florian Bruhin
2d9900a5ad
bdd: Add test for :paste with invalid URL.
2016-01-06 22:07:19 +01:00
Florian Bruhin
bd611b7ee4
bdd: Skip :print test.
...
This sometimes seem to cause the following warning:
QPainter:🔚 Painter ended with 2 saved states
2016-01-06 18:27:14 +01:00
Florian Bruhin
275f1ede82
bdd: Add test for :undo.
2016-01-06 18:27:14 +01:00
Florian Bruhin
4bb38f1488
bdd: Handle some more corner cases in commands.py.
2016-01-06 18:27:14 +01:00
Florian Bruhin
4099a40e35
Fix lint.
2016-01-06 08:50:22 +01:00
Florian Bruhin
d2a1282c0b
tests: Split up testprocess.wait_for.
2016-01-06 08:49:30 +01:00
Florian Bruhin
b1b767ed96
tests: Don't start Xvfb for unittests-nodisp.
2016-01-06 08:36:40 +01:00
Florian Bruhin
b0f001d3f1
Skip :print test when window can't be focused.
...
For some reason the window doesn't get focused on Travis. If that happens,
let's just skip the test instead of failing it.
2016-01-06 08:29:53 +01:00
Florian Bruhin
29dd6af976
tests: Optionally skip a test when waiting for log.
2016-01-06 08:29:46 +01:00
Florian Bruhin
6a97e98007
Fix lint.
2016-01-06 07:55:42 +01:00
Florian Bruhin
02e30873e1
Only test :print on Linux.
2016-01-06 07:54:54 +01:00
Florian Bruhin
fc755c104b
bdd: Add test for exception with :pyeval.
2016-01-06 07:42:33 +01:00
Florian Bruhin
03ebdfd641
bdd: Add tests for :pyeval.
2016-01-06 07:15:42 +01:00
Florian Bruhin
677dcd6748
bdd: Add tests for :print.
2016-01-06 07:15:34 +01:00
Florian Bruhin
2cadac6b6e
bdd: Add tests for :stop/:reload with wrong count.
2016-01-06 07:15:20 +01:00
Florian Bruhin
e2994e9375
bdd: Add "the page should contain the plaintext".
2016-01-06 07:15:06 +01:00
Florian Bruhin
1619b89df7
pytest: Add a skip mark for use with bdd.
2016-01-06 07:14:30 +01:00
Florian Bruhin
f943891ce6
Fix :reload test when :stop is skipped.
...
I don't know why, but :stop being skipped causes something to be cached with
hello2.txt.
2016-01-05 22:46:52 +01:00
Florian Bruhin
0ce9b28da7
Skip :stop test on OS X.
...
This triggers the OS X kernel bug explained here:
https://bitbucket.org/cherrypy/cherrypy/pull-requests/117/
Fixes #1183 .
2016-01-05 20:13:25 +01:00
Florian Bruhin
8bd4d3d24a
Release v0.5.0
2016-01-05 19:30:50 +01:00
Florian Bruhin
d75ee78845
Clean up pdfjs tests.
2016-01-05 18:47:50 +01:00
Florian Bruhin
88d28e690e
Add pdf.js version to qute:version.
2016-01-05 18:47:50 +01:00
Florian Bruhin
a97ba9aa09
Merge branch 'pdfjs' of https://github.com/Kingdread/qutebrowser into Kingdread-pdfjs
2016-01-05 07:21:26 +01:00
Florian Bruhin
705d77abfb
Also handle the doc path not existing at all.
2016-01-04 20:36:15 +01:00
Florian Bruhin
20faecc7a0
Also handle inexistant doc path.
2016-01-04 20:35:16 +01:00
Florian Bruhin
ea182934f3
Update docs for :help tests.
2016-01-04 20:10:17 +01:00
Florian Bruhin
a5f2ac5f03
Adjust copyright years.
2016-01-04 07:12:39 +01:00
Florian Bruhin
c1d3a94936
Don't pass through shifted characters.
...
See #1207 - turns out that was a problem for *any* character.
2016-01-04 07:10:23 +01:00
Florian Bruhin
81e1c72588
pylint: unneeded-suppression -> useless-suppression
2015-12-21 10:02:43 +01:00
Florian Bruhin
168f65b1a4
tests: Use caplog.at_level, not atLevel.
2015-12-21 09:52:33 +01:00
Florian Bruhin
9101046fe5
tests: Adjust error message comparison for Windows.
2015-12-21 09:51:25 +01:00
Florian Bruhin
95e67bba7b
Suppress pylint no-member for os.mkfifo.
2015-12-21 09:47:20 +01:00
Florian Bruhin
9f64dfb3b6
Skip all tests using py_proc when frozen.
2015-12-21 09:46:30 +01:00
Florian Bruhin
4b770f4f35
tests: Try to work around race condition.
2015-12-21 08:55:55 +01:00
Florian Bruhin
59c8e5c3d1
Add some tests for commands.userscripts.
2015-12-21 08:45:46 +01:00
Daniel Schadt
7944217da4
Adjust pdfjs unit tests for new logging level
...
The script generation output was changed because we changed the logging
level, this adjusts the unit tests to match the new output.
2015-12-20 20:14:17 +01:00
Florian Bruhin
2b1622b34d
Update to pytest-bdd 2.16.0.
...
This avoids deprecation warnings emitted by python 3.5 and pytest 2.8.
2015-12-20 20:11:49 +01:00
Daniel Schadt
6d02ef68ec
Add BDD tests for pdfjs integration
2015-12-20 20:00:56 +01:00
Daniel Schadt
f2ed14a24a
Add unit tests for browser.pdfjs
2015-12-20 19:24:41 +01:00
Daniel Schadt
0811418746
pdfjs: don't embed data in html
...
We don't need more than one copy of the pdf.
2015-12-20 19:24:41 +01:00
Daniel Schadt
dc9cd47afc
pdfjs: add unittest for script generation
2015-12-20 19:24:41 +01:00