Commit Graph

1001 Commits

Author SHA1 Message Date
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