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
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
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
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
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
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
Florian Bruhin
a6a2210ce8
Add tests for #879
2016-03-30 22:16:36 +02:00
Kevin Velghe
f4f926cdca
Add integration tests for current target hints
2016-03-30 19:49:25 +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
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
Philipp Hansch
8a619ea84c
Prevent slashes from being stripped on Windows
2016-03-29 13:25:04 +02:00
Philipp Hansch
b1ecdf2924
Try to fix path issue on windows
2016-03-29 12:11:01 +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
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
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
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
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
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
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
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
Daniel Schadt
a382b366bc
tests: increase wait time
...
Otherwise the test might still fail on some systems
2016-02-22 21:46:54 +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
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
Florian Bruhin
6a077f5d5a
Fix lint.
2016-02-18 21:38:23 +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
Florian Bruhin
b6f1dd963d
Handle Shift-Insert correctly in prompt mode.
...
Fixes #1299 .
2016-02-10 06:40:54 +01:00
Florian Bruhin
43b6f18864
Whoops, don't use repr(json.dumps(...))
2016-02-03 21:28:20 +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
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
14042403f6
Fix pasting of empty URLs.
2016-02-02 06:37:49 +01: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
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
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
Florian Bruhin
3c625790cc
Don't crash if JS tab is closed twice.
...
Fixes #906 .
2016-01-20 21:24:51 +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
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
1892915146
bdd: Increase timeout for should_quit even more.
2016-01-18 22:13:24 +01:00
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