Commit Graph

217 Commits

Author SHA1 Message Date
Florian Bruhin
111f46adc5 bdd: Increase timeout for should_quit. 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
f7784e641e bdd: Add some tests for tabs -> last-close. 2016-01-18 07:08:07 +01:00
Florian Bruhin
9c5974c054 bdd: Add a "qutebrowser should quit" step. 2016-01-17 20:59:39 +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
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
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
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
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
25dbf3731b tests: Split wait_for_load_finished from open_path. 2016-01-12 22:47:09 +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
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
ab0cd17772 Fix lint. 2016-01-08 10:00:42 +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
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
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