2016-01-12 07:34:09 +01:00
|
|
|
Feature: Prompts
|
|
|
|
Various prompts (javascript, SSL errors, authentification, etc.)
|
|
|
|
|
|
|
|
Background:
|
|
|
|
Given I set general -> log-javascript-console to debug
|
|
|
|
|
|
|
|
# Javascript
|
|
|
|
|
|
|
|
Scenario: Javascript alert
|
|
|
|
When I open data/prompt/jsalert.html
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-13 23:18:51 +01:00
|
|
|
And I wait for a prompt
|
2016-01-12 07:34:09 +01:00
|
|
|
And I run :prompt-accept
|
|
|
|
Then the javascript message "Alert done" should be logged
|
|
|
|
|
|
|
|
Scenario: Using content -> ignore-javascript-alert
|
|
|
|
When I set content -> ignore-javascript-alert to true
|
|
|
|
And I open data/prompt/jsalert.html
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-12 07:34:09 +01:00
|
|
|
Then the javascript message "Alert done" should be logged
|
|
|
|
|
|
|
|
Scenario: Javascript confirm - yes
|
|
|
|
When I open data/prompt/jsconfirm.html
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-13 23:18:51 +01:00
|
|
|
And I wait for a prompt
|
2016-09-09 15:57:15 +02:00
|
|
|
And I run :prompt-accept yes
|
2016-01-12 07:34:09 +01:00
|
|
|
Then the javascript message "confirm reply: true" should be logged
|
|
|
|
|
|
|
|
Scenario: Javascript confirm - no
|
|
|
|
When I open data/prompt/jsconfirm.html
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-13 23:18:51 +01:00
|
|
|
And I wait for a prompt
|
2016-09-09 15:57:15 +02:00
|
|
|
And I run :prompt-accept no
|
2016-01-12 07:34:09 +01:00
|
|
|
Then the javascript message "confirm reply: false" should be logged
|
|
|
|
|
|
|
|
Scenario: Javascript confirm - aborted
|
|
|
|
When I open data/prompt/jsconfirm.html
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-13 23:18:51 +01:00
|
|
|
And I wait for a prompt
|
2016-01-12 07:34:09 +01:00
|
|
|
And I run :leave-mode
|
|
|
|
Then the javascript message "confirm reply: false" should be logged
|
2016-01-12 09:04:03 +01:00
|
|
|
|
2016-11-10 22:37:53 +01:00
|
|
|
@js_prompt
|
2016-01-12 09:04:03 +01:00
|
|
|
Scenario: Javascript prompt
|
|
|
|
When I open data/prompt/jsprompt.html
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-13 23:18:51 +01:00
|
|
|
And I wait for a prompt
|
2016-01-12 09:04:03 +01:00
|
|
|
And I press the keys "prompt test"
|
|
|
|
And I run :prompt-accept
|
|
|
|
Then the javascript message "Prompt reply: prompt test" should be logged
|
|
|
|
|
2016-11-10 22:37:53 +01:00
|
|
|
@js_prompt
|
2016-10-27 09:16:19 +02:00
|
|
|
Scenario: Javascript prompt with default
|
|
|
|
When I open data/prompt/jsprompt.html
|
|
|
|
And I run :click-element id button-default
|
|
|
|
And I wait for a prompt
|
|
|
|
And I run :prompt-accept
|
|
|
|
Then the javascript message "Prompt reply: default" should be logged
|
|
|
|
|
2016-11-10 22:37:53 +01:00
|
|
|
@js_prompt
|
2016-01-12 09:04:03 +01:00
|
|
|
Scenario: Rejected javascript prompt
|
|
|
|
When I open data/prompt/jsprompt.html
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-13 23:18:51 +01:00
|
|
|
And I wait for a prompt
|
2016-01-12 09:04:03 +01:00
|
|
|
And I press the keys "prompt test"
|
|
|
|
And I run :leave-mode
|
|
|
|
Then the javascript message "Prompt reply: null" should be logged
|
|
|
|
|
2016-10-27 09:16:19 +02:00
|
|
|
# Multiple prompts
|
|
|
|
|
2016-11-09 21:49:36 +01:00
|
|
|
@qtwebengine_skip: QtWebEngine refuses to load anything with a JS question
|
2016-10-27 09:16:19 +02:00
|
|
|
Scenario: Blocking question interrupted by blocking one
|
|
|
|
When I set content -> ignore-javascript-alert to false
|
|
|
|
And I open data/prompt/jsalert.html
|
|
|
|
And I run :click-element id button
|
|
|
|
And I wait for a prompt
|
|
|
|
And I open data/prompt/jsconfirm.html in a new tab
|
|
|
|
And I run :click-element id button
|
|
|
|
And I wait for a prompt
|
|
|
|
# JS confirm
|
|
|
|
And I run :prompt-accept yes
|
|
|
|
# JS alert
|
|
|
|
And I run :prompt-accept
|
|
|
|
Then the javascript message "confirm reply: true" should be logged
|
|
|
|
And the javascript message "Alert done" should be logged
|
|
|
|
|
2016-11-09 21:49:36 +01:00
|
|
|
@qtwebengine_skip: QtWebEngine refuses to load anything with a JS question
|
2016-10-27 09:16:19 +02:00
|
|
|
Scenario: Blocking question interrupted by async one
|
|
|
|
When I set content -> ignore-javascript-alert to false
|
|
|
|
And I set content -> notifications to ask
|
|
|
|
And I open data/prompt/jsalert.html
|
|
|
|
And I run :click-element id button
|
|
|
|
And I wait for a prompt
|
|
|
|
And I open data/prompt/notifications.html in a new tab
|
|
|
|
And I run :click-element id button
|
|
|
|
And I wait for a prompt
|
|
|
|
# JS alert
|
|
|
|
And I run :prompt-accept
|
|
|
|
# notification permission
|
|
|
|
And I run :prompt-accept yes
|
|
|
|
Then the javascript message "Alert done" should be logged
|
|
|
|
And the javascript message "notification permission granted" should be logged
|
|
|
|
|
2016-11-10 18:37:36 +01:00
|
|
|
@qtwebengine_todo: Notifications are not implemented in QtWebEngine
|
2016-10-27 09:16:19 +02:00
|
|
|
Scenario: Async question interrupted by async one
|
|
|
|
When I set content -> notifications to ask
|
|
|
|
And I open data/prompt/notifications.html in a new tab
|
|
|
|
And I run :click-element id button
|
|
|
|
And I wait for a prompt
|
|
|
|
And I run :quickmark-save
|
|
|
|
And I wait for a prompt
|
|
|
|
# notification permission
|
|
|
|
And I run :prompt-accept yes
|
|
|
|
# quickmark
|
|
|
|
And I run :prompt-accept test
|
|
|
|
Then the javascript message "notification permission granted" should be logged
|
|
|
|
And "Added quickmark test for *" should be logged
|
|
|
|
|
2016-11-10 18:37:36 +01:00
|
|
|
@qtwebengine_todo: Notifications are not implemented in QtWebEngine
|
2016-10-27 09:16:19 +02:00
|
|
|
Scenario: Async question interrupted by blocking one
|
|
|
|
When I set content -> notifications to ask
|
|
|
|
And I set content -> ignore-javascript-alert to false
|
|
|
|
And I open data/prompt/notifications.html in a new tab
|
|
|
|
And I run :click-element id button
|
|
|
|
And I wait for a prompt
|
|
|
|
And I open data/prompt/jsalert.html in a new tab
|
|
|
|
And I run :click-element id button
|
|
|
|
And I wait for a prompt
|
|
|
|
# JS alert
|
|
|
|
And I run :prompt-accept
|
|
|
|
# notification permission
|
|
|
|
And I run :prompt-accept yes
|
|
|
|
Then the javascript message "Alert done" should be logged
|
|
|
|
And the javascript message "notification permission granted" should be logged
|
2016-02-10 06:40:54 +01:00
|
|
|
|
|
|
|
# Shift-Insert with prompt (issue 1299)
|
|
|
|
|
2016-11-10 22:37:53 +01:00
|
|
|
@js_prompt
|
2016-02-10 06:40:54 +01:00
|
|
|
Scenario: Pasting via shift-insert in prompt mode
|
|
|
|
When selection is supported
|
|
|
|
And I put "insert test" into the primary selection
|
|
|
|
And I open data/prompt/jsprompt.html
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-02-10 06:40:54 +01:00
|
|
|
And I wait for a prompt
|
|
|
|
And I press the keys "<Shift-Insert>"
|
|
|
|
And I run :prompt-accept
|
|
|
|
Then the javascript message "Prompt reply: insert test" should be logged
|
|
|
|
|
2016-11-10 22:37:53 +01:00
|
|
|
@js_prompt
|
2016-10-27 09:16:19 +02:00
|
|
|
Scenario: Pasting via shift-insert without it being supported
|
|
|
|
When selection is not supported
|
|
|
|
And I put "insert test" into the primary selection
|
|
|
|
And I open data/prompt/jsprompt.html
|
|
|
|
And I run :click-element id button
|
|
|
|
And I wait for a prompt
|
|
|
|
And I press the keys "<Shift-Insert>"
|
|
|
|
And I run :prompt-accept
|
|
|
|
Then the javascript message "Prompt reply: " should be logged
|
|
|
|
|
2016-11-10 22:37:53 +01:00
|
|
|
@js_prompt
|
2016-01-12 09:04:03 +01:00
|
|
|
Scenario: Using content -> ignore-javascript-prompt
|
|
|
|
When I set content -> ignore-javascript-prompt to true
|
|
|
|
And I open data/prompt/jsprompt.html
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-12 09:04:03 +01:00
|
|
|
Then the javascript message "Prompt reply: null" should be logged
|
2016-01-12 23:21:52 +01:00
|
|
|
|
|
|
|
# SSL
|
|
|
|
|
|
|
|
Scenario: SSL error with ssl-strict = false
|
2016-11-10 10:26:27 +01:00
|
|
|
When I clear SSL errors
|
2016-01-13 21:45:15 +01:00
|
|
|
And I set network -> ssl-strict to false
|
2016-07-05 08:34:03 +02:00
|
|
|
And I load an SSL page
|
2016-01-12 23:21:52 +01:00
|
|
|
And I wait until the SSL page finished loading
|
2016-11-10 06:50:00 +01:00
|
|
|
Then the error "Certificate error: *" should be shown
|
2016-01-12 23:21:52 +01:00
|
|
|
And the page should contain the plaintext "Hello World via SSL!"
|
2016-01-13 22:36:27 +01:00
|
|
|
|
|
|
|
Scenario: SSL error with ssl-strict = true
|
2016-11-10 10:26:27 +01:00
|
|
|
When I clear SSL errors
|
2016-01-13 22:36:27 +01:00
|
|
|
And I set network -> ssl-strict to true
|
2016-07-05 08:34:03 +02:00
|
|
|
And I load an SSL page
|
2016-11-10 10:26:27 +01:00
|
|
|
Then a SSL error page should be shown
|
2016-01-13 22:36:27 +01:00
|
|
|
|
|
|
|
Scenario: SSL error with ssl-strict = ask -> yes
|
2016-11-10 10:26:27 +01:00
|
|
|
When I clear SSL errors
|
2016-01-13 22:36:27 +01:00
|
|
|
And I set network -> ssl-strict to ask
|
2016-07-05 08:34:03 +02:00
|
|
|
And I load an SSL page
|
2016-01-13 22:36:27 +01:00
|
|
|
And I wait for a prompt
|
2016-09-09 15:57:15 +02:00
|
|
|
And I run :prompt-accept yes
|
2016-01-13 22:36:27 +01:00
|
|
|
And I wait until the SSL page finished loading
|
|
|
|
Then the page should contain the plaintext "Hello World via SSL!"
|
|
|
|
|
|
|
|
Scenario: SSL error with ssl-strict = ask -> no
|
2016-11-10 10:26:27 +01:00
|
|
|
When I clear SSL errors
|
2016-01-13 22:36:27 +01:00
|
|
|
And I set network -> ssl-strict to ask
|
2016-07-05 08:34:03 +02:00
|
|
|
And I load an SSL page
|
2016-01-13 22:36:27 +01:00
|
|
|
And I wait for a prompt
|
2016-09-09 15:57:15 +02:00
|
|
|
And I run :prompt-accept no
|
2016-11-10 10:26:27 +01:00
|
|
|
Then a SSL error page should be shown
|
2016-01-14 07:01:58 +01:00
|
|
|
|
2016-11-16 22:12:57 +01:00
|
|
|
Scenario: SSL error with ssl-strict = ask -> abort
|
|
|
|
When I clear SSL errors
|
|
|
|
And I set network -> ssl-strict to ask
|
|
|
|
And I load an SSL page
|
|
|
|
And I wait for a prompt
|
|
|
|
And I run :leave-mode
|
|
|
|
Then a SSL error page should be shown
|
|
|
|
|
2016-01-14 07:01:58 +01:00
|
|
|
# Geolocation
|
|
|
|
|
|
|
|
Scenario: Always rejecting geolocation
|
|
|
|
When I set content -> geolocation to false
|
2016-01-15 06:44:01 +01:00
|
|
|
And I open data/prompt/geolocation.html in a new tab
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-14 07:01:58 +01:00
|
|
|
Then the javascript message "geolocation permission denied" should be logged
|
|
|
|
|
2016-11-10 18:37:36 +01:00
|
|
|
@ci @not_osx
|
2016-01-14 07:01:58 +01:00
|
|
|
Scenario: Always accepting geolocation
|
|
|
|
When I set content -> geolocation to true
|
2016-01-15 06:44:01 +01:00
|
|
|
And I open data/prompt/geolocation.html in a new tab
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-14 07:01:58 +01:00
|
|
|
Then the javascript message "geolocation permission denied" should not be logged
|
|
|
|
|
2016-11-10 18:37:36 +01:00
|
|
|
@ci @not_osx
|
2016-01-14 07:01:58 +01:00
|
|
|
Scenario: geolocation with ask -> true
|
|
|
|
When I set content -> geolocation to ask
|
2016-01-15 06:44:01 +01:00
|
|
|
And I open data/prompt/geolocation.html in a new tab
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-14 07:01:58 +01:00
|
|
|
And I wait for a prompt
|
2016-09-09 15:57:15 +02:00
|
|
|
And I run :prompt-accept yes
|
2016-01-14 07:01:58 +01:00
|
|
|
Then the javascript message "geolocation permission denied" should not be logged
|
|
|
|
|
|
|
|
Scenario: geolocation with ask -> false
|
|
|
|
When I set content -> geolocation to ask
|
2016-01-15 06:44:01 +01:00
|
|
|
And I open data/prompt/geolocation.html in a new tab
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-14 07:01:58 +01:00
|
|
|
And I wait for a prompt
|
2016-09-09 15:57:15 +02:00
|
|
|
And I run :prompt-accept no
|
2016-01-14 07:01:58 +01:00
|
|
|
Then the javascript message "geolocation permission denied" should be logged
|
|
|
|
|
|
|
|
Scenario: geolocation with ask -> abort
|
|
|
|
When I set content -> geolocation to ask
|
2016-01-15 06:44:01 +01:00
|
|
|
And I open data/prompt/geolocation.html in a new tab
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-14 07:01:58 +01:00
|
|
|
And I wait for a prompt
|
|
|
|
And I run :leave-mode
|
|
|
|
Then the javascript message "geolocation permission denied" should be logged
|
2016-01-14 07:49:25 +01:00
|
|
|
|
|
|
|
# Notifications
|
|
|
|
|
2016-11-10 18:37:36 +01:00
|
|
|
@qtwebengine_todo: Notifications are not implemented in QtWebEngine
|
2016-01-14 07:49:25 +01:00
|
|
|
Scenario: Always rejecting notifications
|
|
|
|
When I set content -> notifications to false
|
2016-01-15 06:44:01 +01:00
|
|
|
And I open data/prompt/notifications.html in a new tab
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-14 07:49:25 +01:00
|
|
|
Then the javascript message "notification permission denied" should be logged
|
|
|
|
|
2016-11-10 18:37:36 +01:00
|
|
|
@qtwebengine_todo: Notifications are not implemented in QtWebEngine
|
2016-01-14 07:49:25 +01:00
|
|
|
Scenario: Always accepting notifications
|
|
|
|
When I set content -> notifications to true
|
2016-01-15 06:44:01 +01:00
|
|
|
And I open data/prompt/notifications.html in a new tab
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-14 07:49:25 +01:00
|
|
|
Then the javascript message "notification permission granted" should be logged
|
|
|
|
|
2016-11-10 18:37:36 +01:00
|
|
|
@qtwebengine_todo: Notifications are not implemented in QtWebEngine
|
2016-01-14 07:49:25 +01:00
|
|
|
Scenario: notifications with ask -> false
|
|
|
|
When I set content -> notifications to ask
|
2016-01-15 06:44:01 +01:00
|
|
|
And I open data/prompt/notifications.html in a new tab
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-14 07:49:25 +01:00
|
|
|
And I wait for a prompt
|
2016-09-09 15:57:15 +02:00
|
|
|
And I run :prompt-accept no
|
2016-01-14 07:49:25 +01:00
|
|
|
Then the javascript message "notification permission denied" should be logged
|
|
|
|
|
2016-11-10 18:37:36 +01:00
|
|
|
@qtwebengine_todo: Notifications are not implemented in QtWebEngine
|
2016-01-14 07:49:25 +01:00
|
|
|
Scenario: notifications with ask -> true
|
|
|
|
When I set content -> notifications to ask
|
2016-01-15 06:44:01 +01:00
|
|
|
And I open data/prompt/notifications.html in a new tab
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-14 07:49:25 +01:00
|
|
|
And I wait for a prompt
|
2016-09-09 15:57:15 +02:00
|
|
|
And I run :prompt-accept yes
|
2016-01-14 07:49:25 +01:00
|
|
|
Then the javascript message "notification permission granted" should be logged
|
|
|
|
|
|
|
|
# This actually gives us a denied rather than an aborted
|
2016-01-14 07:53:00 +01:00
|
|
|
@xfail_norun
|
2016-01-14 07:49:25 +01:00
|
|
|
Scenario: notifications with ask -> abort
|
|
|
|
When I set content -> notifications to ask
|
2016-01-15 06:44:01 +01:00
|
|
|
And I open data/prompt/notifications.html in a new tab
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-14 07:49:25 +01:00
|
|
|
And I wait for a prompt
|
|
|
|
And I run :leave-mode
|
|
|
|
Then the javascript message "notification permission aborted" should be logged
|
2016-01-14 22:27:09 +01:00
|
|
|
|
2016-11-10 18:37:36 +01:00
|
|
|
@qtwebengine_todo: Notifications are not implemented in QtWebEngine
|
2016-01-26 19:47:31 +01:00
|
|
|
Scenario: answering notification after closing tab
|
|
|
|
When I set content -> notifications to ask
|
|
|
|
And I open data/prompt/notifications.html in a new tab
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id button
|
2016-01-26 19:47:31 +01:00
|
|
|
And I wait for a prompt
|
|
|
|
And I run :tab-close
|
|
|
|
And I wait for "Leaving mode KeyMode.yesno (reason: aborted)" in the log
|
|
|
|
Then no crash should happen
|
|
|
|
|
2016-01-14 22:27:09 +01:00
|
|
|
# Page authentication
|
|
|
|
|
|
|
|
Scenario: Successful webpage authentification
|
2016-11-09 21:49:36 +01:00
|
|
|
When I open basic-auth/user1/password1 without waiting
|
2016-01-14 22:27:09 +01:00
|
|
|
And I wait for a prompt
|
2016-11-09 21:49:36 +01:00
|
|
|
And I press the keys "user1"
|
2016-01-14 22:27:09 +01:00
|
|
|
And I run :prompt-accept
|
2016-11-09 21:49:36 +01:00
|
|
|
And I press the keys "password1"
|
2016-01-14 22:27:09 +01:00
|
|
|
And I run :prompt-accept
|
2016-11-09 21:49:36 +01:00
|
|
|
And I wait until basic-auth/user1/password1 is loaded
|
2016-01-14 22:27:09 +01:00
|
|
|
Then the json on the page should be:
|
|
|
|
{
|
|
|
|
"authenticated": true,
|
2016-11-09 21:49:36 +01:00
|
|
|
"user": "user1"
|
2016-01-14 22:27:09 +01:00
|
|
|
}
|
2016-09-09 15:48:42 +02:00
|
|
|
|
2016-10-27 09:16:19 +02:00
|
|
|
Scenario: Authentication with :prompt-accept value
|
|
|
|
When I open about:blank in a new tab
|
2016-11-09 21:49:36 +01:00
|
|
|
And I open basic-auth/user2/password2 without waiting
|
2016-10-27 09:16:19 +02:00
|
|
|
And I wait for a prompt
|
2016-11-09 21:49:36 +01:00
|
|
|
And I run :prompt-accept user2:password2
|
|
|
|
And I wait until basic-auth/user2/password2 is loaded
|
2016-10-27 09:16:19 +02:00
|
|
|
Then the json on the page should be:
|
|
|
|
{
|
|
|
|
"authenticated": true,
|
2016-11-09 21:49:36 +01:00
|
|
|
"user": "user2"
|
2016-10-27 09:16:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
Scenario: Authentication with invalid :prompt-accept value
|
|
|
|
When I open about:blank in a new tab
|
2016-11-09 21:49:36 +01:00
|
|
|
And I open basic-auth/user3/password3 without waiting
|
2016-10-27 09:16:19 +02:00
|
|
|
And I wait for a prompt
|
|
|
|
And I run :prompt-accept foo
|
2016-11-09 21:49:36 +01:00
|
|
|
And I run :prompt-accept user3:password3
|
2016-10-27 09:16:19 +02:00
|
|
|
Then the error "Value needs to be in the format username:password, but foo was given" should be shown
|
|
|
|
|
|
|
|
Scenario: Tabbing between username and password
|
|
|
|
When I open about:blank in a new tab
|
2016-11-09 21:49:36 +01:00
|
|
|
And I open basic-auth/user4/password4 without waiting
|
2016-10-27 09:16:19 +02:00
|
|
|
And I wait for a prompt
|
|
|
|
And I press the keys "us"
|
|
|
|
And I run :prompt-item-focus next
|
2016-11-09 21:49:36 +01:00
|
|
|
And I press the keys "password4"
|
2016-10-27 09:16:19 +02:00
|
|
|
And I run :prompt-item-focus prev
|
2016-11-09 21:49:36 +01:00
|
|
|
And I press the keys "er4"
|
2016-10-27 09:16:19 +02:00
|
|
|
And I run :prompt-accept
|
|
|
|
And I run :prompt-accept
|
2016-11-09 21:49:36 +01:00
|
|
|
And I wait until basic-auth/user4/password4 is loaded
|
2016-10-27 09:16:19 +02:00
|
|
|
Then the json on the page should be:
|
|
|
|
{
|
|
|
|
"authenticated": true,
|
2016-11-09 21:49:36 +01:00
|
|
|
"user": "user4"
|
2016-10-27 09:16:19 +02:00
|
|
|
}
|
|
|
|
|
2016-09-09 15:48:42 +02:00
|
|
|
# :prompt-accept with value argument
|
|
|
|
|
|
|
|
Scenario: Javascript alert with value
|
|
|
|
When I set content -> ignore-javascript-alert to false
|
|
|
|
And I open data/prompt/jsalert.html
|
|
|
|
And I run :click-element id button
|
|
|
|
And I wait for a prompt
|
|
|
|
And I run :prompt-accept foobar
|
|
|
|
And I run :prompt-accept
|
|
|
|
Then the javascript message "Alert done" should be logged
|
|
|
|
And the error "No value is permitted with alert prompts!" should be shown
|
|
|
|
|
2016-11-10 22:37:53 +01:00
|
|
|
@js_prompt
|
2016-09-09 15:48:42 +02:00
|
|
|
Scenario: Javascript prompt with value
|
|
|
|
When I set content -> ignore-javascript-prompt to false
|
|
|
|
And I open data/prompt/jsprompt.html
|
|
|
|
And I run :click-element id button
|
|
|
|
And I wait for a prompt
|
|
|
|
And I press the keys "prompt test"
|
|
|
|
And I run :prompt-accept "overridden value"
|
|
|
|
Then the javascript message "Prompt reply: overridden value" should be logged
|
|
|
|
|
|
|
|
Scenario: Javascript confirm with invalid value
|
|
|
|
When I open data/prompt/jsconfirm.html
|
|
|
|
And I run :click-element id button
|
|
|
|
And I wait for a prompt
|
|
|
|
And I run :prompt-accept nope
|
|
|
|
And I run :prompt-accept yes
|
|
|
|
Then the javascript message "confirm reply: true" should be logged
|
|
|
|
And the error "Invalid value nope - expected yes/no!" should be shown
|
2016-10-26 21:09:33 +02:00
|
|
|
|
|
|
|
Scenario: Javascript confirm with default value
|
|
|
|
When I open data/prompt/jsconfirm.html
|
|
|
|
And I run :click-element id button
|
|
|
|
And I wait for a prompt
|
|
|
|
And I run :prompt-accept
|
|
|
|
And I run :prompt-accept yes
|
|
|
|
Then the javascript message "confirm reply: true" should be logged
|
|
|
|
And the error "No default value was set for this question!" should be shown
|
2016-10-27 09:16:19 +02:00
|
|
|
|
|
|
|
Scenario: Javascript confirm with deprecated :prompt-yes command
|
|
|
|
When I open data/prompt/jsconfirm.html
|
|
|
|
And I run :click-element id button
|
|
|
|
And I wait for a prompt
|
|
|
|
And I run :prompt-yes
|
|
|
|
Then the javascript message "confirm reply: true" should be logged
|
|
|
|
And the warning "prompt-yes is deprecated - Use :prompt-accept yes instead!" should be shown
|
|
|
|
|
|
|
|
Scenario: Javascript confirm with deprecated :prompt-no command
|
|
|
|
When I open data/prompt/jsconfirm.html
|
|
|
|
And I run :click-element id button
|
|
|
|
And I wait for a prompt
|
|
|
|
And I run :prompt-no
|
|
|
|
Then the javascript message "confirm reply: false" should be logged
|
|
|
|
And the warning "prompt-no is deprecated - Use :prompt-accept no instead!" should be shown
|
|
|
|
|
|
|
|
# Other
|
|
|
|
|
2016-11-09 21:49:36 +01:00
|
|
|
@qtwebengine_skip
|
2016-10-27 09:16:19 +02:00
|
|
|
Scenario: Shutting down with a question
|
|
|
|
When I open data/prompt/jsconfirm.html
|
|
|
|
And I run :click-element id button
|
|
|
|
And I wait for a prompt
|
|
|
|
And I run :quit
|
|
|
|
Then the javascript message "confirm reply: false" should be logged
|
|
|
|
And qutebrowser should quit
|
|
|
|
|
|
|
|
Scenario: Using :prompt-open-download with a prompt which does not support it
|
|
|
|
When I open data/hello.txt
|
|
|
|
And I run :quickmark-save
|
|
|
|
And I wait for a prompt
|
|
|
|
And I run :prompt-open-download
|
|
|
|
And I run :prompt-accept test-prompt-open-download
|
|
|
|
Then "Added quickmark test-prompt-open-download for *" should be logged
|
|
|
|
|
|
|
|
Scenario: Using :prompt-item-focus with a prompt which does not support it
|
|
|
|
When I open data/hello.txt
|
|
|
|
And I run :quickmark-save
|
|
|
|
And I wait for a prompt
|
|
|
|
And I run :prompt-item-focus next
|
|
|
|
And I run :prompt-accept test-prompt-item-focus
|
|
|
|
Then "Added quickmark test-prompt-item-focus for *" should be logged
|
2016-11-04 06:47:56 +01:00
|
|
|
|
|
|
|
Scenario: Getting question in command mode
|
|
|
|
When I open data/hello.txt
|
|
|
|
And I run :later 500 quickmark-save
|
|
|
|
And I run :set-cmd-text :
|
|
|
|
And I wait for a prompt
|
|
|
|
And I run :prompt-accept prompt-in-command-mode
|
|
|
|
Then "Added quickmark prompt-in-command-mode for *" should be logged
|
2016-11-04 07:21:31 +01:00
|
|
|
|
|
|
|
# https://github.com/The-Compiler/qutebrowser/issues/1093
|
2016-11-09 21:49:36 +01:00
|
|
|
@qtwebengine_skip: QtWebEngine doesn't open the second page/prompt
|
2016-11-04 07:21:31 +01:00
|
|
|
Scenario: Keyboard focus with multiple auth prompts
|
2016-11-09 21:49:36 +01:00
|
|
|
When I open basic-auth/user5/password5 without waiting
|
|
|
|
And I open basic-auth/user6/password6 in a new tab without waiting
|
2016-11-04 07:21:31 +01:00
|
|
|
And I wait for a prompt
|
|
|
|
And I wait for a prompt
|
|
|
|
# Second prompt (showed first)
|
2016-11-09 21:49:36 +01:00
|
|
|
And I press the keys "user6"
|
2016-11-04 07:21:31 +01:00
|
|
|
And I press the key "<Enter>"
|
2016-11-09 21:49:36 +01:00
|
|
|
And I press the keys "password6"
|
2016-11-04 07:21:31 +01:00
|
|
|
And I press the key "<Enter>"
|
2016-11-09 21:49:36 +01:00
|
|
|
And I wait until basic-auth/user6/password6 is loaded
|
2016-11-04 07:21:31 +01:00
|
|
|
# First prompt
|
2016-11-09 21:49:36 +01:00
|
|
|
And I press the keys "user5"
|
2016-11-04 07:21:31 +01:00
|
|
|
And I press the key "<Enter>"
|
2016-11-09 21:49:36 +01:00
|
|
|
And I press the keys "password5"
|
2016-11-04 07:21:31 +01:00
|
|
|
And I press the key "<Enter>"
|
2016-11-09 21:49:36 +01:00
|
|
|
And I wait until basic-auth/user5/password5 is loaded
|
2016-11-04 07:21:31 +01:00
|
|
|
# We're on the second page
|
|
|
|
Then the json on the page should be:
|
|
|
|
{
|
|
|
|
"authenticated": true,
|
2016-11-09 21:49:36 +01:00
|
|
|
"user": "user6"
|
2016-11-04 07:21:31 +01:00
|
|
|
}
|
2016-11-04 13:21:22 +01:00
|
|
|
|
|
|
|
# https://github.com/The-Compiler/qutebrowser/issues/1249#issuecomment-175205531
|
|
|
|
# https://github.com/The-Compiler/qutebrowser/pull/2054#issuecomment-258285544
|
2016-11-10 18:37:36 +01:00
|
|
|
@qtwebengine_todo: Notifications are not implemented in QtWebEngine
|
2016-11-04 13:21:22 +01:00
|
|
|
Scenario: Interrupting SSL prompt during a notification prompt
|
|
|
|
When I set content -> notifications to ask
|
|
|
|
And I set network -> ssl-strict to ask
|
|
|
|
And I open data/prompt/notifications.html in a new tab
|
|
|
|
And I run :click-element id button
|
|
|
|
And I wait for a prompt
|
|
|
|
And I open about:blank in a new tab
|
|
|
|
And I load an SSL page
|
|
|
|
And I wait for a prompt
|
|
|
|
And I run :tab-close
|
|
|
|
And I run :prompt-accept yes
|
|
|
|
Then the javascript message "notification permission granted" should be logged
|