e3f5e8ca9a
It also seems to run unstable on Windows (AppVeyor), so we probably need to wait for qutewm to run it.
142 lines
5.6 KiB
Gherkin
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
|