qutebrowser/tests/end2end/features/private.feature
Florian Bruhin e3f5e8ca9a Disable local storage test for now
It also seems to run unstable on Windows (AppVeyor), so we probably need to wait
for qutewm to run it.
2017-05-17 20:38:30 +02:00

142 lines
5.6 KiB
Gherkin

# vim: ft=cucumber fileencoding=utf-8 sts=4 sw=4 et:
Feature: Using private browsing
Background:
Given I open about:blank
And I clean up open tabs
Scenario: Opening new tab in private window
When I open about:blank in a private window
And I open cookies/set?qute-private-test=42 without waiting in a new tab
And I wait until cookies is loaded
And I run :close
And I wait for "removed: main-window" in the log
And I open cookies
Then the cookie qute-private-test should not be set
Scenario: Opening new tab in private window with :navigate next
When I open data/navigate in a private window
And I run :navigate -t next
And I wait until data/navigate/next.html is loaded
And I open cookies/set?qute-private-test=42 without waiting
And I wait until cookies is loaded
And I run :close
And I wait for "removed: main-window" in the log
And I open cookies
Then the cookie qute-private-test should not be set
Scenario: Using command history in a new private browsing window
When I run :set-cmd-text :message-info "Hello World"
And I run :command-accept
And I open about:blank in a private window
And I run :set-cmd-text :message-error "This should only be shown once"
And I run :command-accept
And I wait for the error "This should only be shown once"
And I run :close
And I wait for "removed: main-window" in the log
And I run :set-cmd-text :
And I run :command-history-prev
And I run :command-accept
# Then the error should not be shown again
## https://github.com/qutebrowser/qutebrowser/issues/1219
@qtwebkit_ng_skip: private browsing is not implemented yet
Scenario: Sharing cookies with private browsing
When I open cookies/set?qute-test=42 without waiting in a private window
And I wait until cookies is loaded
And I open cookies in a new tab
And I set general -> private-browsing to false
Then the cookie qute-test should be set to 42
Scenario: Opening private window with :navigate increment
# Private window handled in commands.py
When I open data/numbers/1.txt in a private window
And I run :window-only
And I run :navigate -w increment
And I wait until data/numbers/2.txt is loaded
Then the session should look like:
windows:
- private: True
tabs:
- history:
- url: http://localhost:*/data/numbers/1.txt
- private: True
tabs:
- history:
- url: http://localhost:*/data/numbers/2.txt
Scenario: Opening private window with :navigate next
# Private window handled in navigate.py
When I open data/navigate in a private window
And I run :window-only
And I run :navigate -w next
And I wait until data/navigate/next.html is loaded
Then the session should look like:
windows:
- private: True
tabs:
- history:
- url: http://localhost:*/data/navigate
- private: True
tabs:
- history:
- url: http://localhost:*/data/navigate/next.html
Scenario: Opening private window with :tab-clone
When I open data/hello.txt in a private window
And I run :window-only
And I run :tab-clone -w
And I wait until data/hello.txt is loaded
Then the session should look like:
windows:
- private: True
tabs:
- history:
- url: http://localhost:*/data/hello.txt
- private: True
tabs:
- history:
- url: http://localhost:*/data/hello.txt
Scenario: Opening private window via :click-element
When I open data/click_element.html in a private window
And I run :window-only
And I run :click-element --target window id link
And I wait until data/hello.txt is loaded
Then the session should look like:
windows:
- private: True
tabs:
- history:
- url: http://localhost:*/data/click_element.html
- private: True
tabs:
- history:
- url: http://localhost:*/data/hello.txt
Scenario: Skipping private window when saving session
When I open data/hello.txt in a private window
And I run :session-save (tmpdir)/session.yml
And I wait for "Saved session */session.yml." in the log
Then the file session.yml should not contain "hello.txt"
# https://github.com/qutebrowser/qutebrowser/issues/2638
Scenario: Turning off javascript with private browsing
When I set content -> allow-javascript to false
And I open data/javascript/consolelog.html in a private window
Then the javascript message "console.log works!" should not be logged
# Probably needs qutewm to work properly...
@qtwebkit_skip: Only applies to QtWebEngine @xfail_norun
Scenario: Make sure local storage is isolated with private browsing
When I open data/hello.txt in a private window
And I run :jseval localStorage.qute_private_test = 42
And I wait for "42" in the log
And I run :close
And I wait for "removed: main-window" in the log
And I open data/hello.txt
And I run :jseval localStorage.qute_private_test
Then "No output or error" should be logged