Commit Graph

1676 Commits

Author SHA1 Message Date
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
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
3c2c7ecaae Test for scroll with count and argument 2016-06-29 11:47:51 +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