BDD: Use :click-element instead of hints
This commit is contained in:
parent
4345d60ff1
commit
a06dcc7f0b
@ -5,7 +5,7 @@
|
|||||||
<body>
|
<body>
|
||||||
<p>Using <code>:prompt-open-download</code> with a file that has a loooooong filename</p>
|
<p>Using <code>:prompt-open-download</code> with a file that has a loooooong filename</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="/response-headers?Content-Disposition=download;%20filename%2A%3DUTF-8%27%27I%2527ve%2520actually%2520felt%2520slightly%2520uncomfortable%2520at%2520TED%2520for%2520the%2520last%2520two%2520days%252C%2520because%2520there%2527s%2520a%2520lot%2520of%2520vision%2520going%2520on%252C%2520right%253F%2520And%2520I%2520am%2520not%2520a%2520visionary.%2520I%2520do%2520not%2520have%2520a%2520five-year%2520plan.%2520I%2527m%2520an%2520engineer.%2520And%2520I%2520think%2520it%2527s%2520really%2520--%2520I%2520mean%2520--%2520I%2527m%2520perfectly%2520happy%2520with%2520all%2520the%2520people%2520who%2520are%2520walking%2520around%2520and%2520just%2520staring%2520at%2520the%2520clouds%2520and%2520looking%2520at%2520the%2520stars%2520and%2520saying%252C%2520%2522I%2520want%2520to%2520go%2520there.%2522%2520But%2520I%2527m%2520looking%2520at%2520the%2520ground%252C%2520and%2520I%2520want%2520to%2520fix%2520the%2520pothole%2520that%2527s%2520right%2520in%2520front%2520of%2520me%2520before%2520I%2520fall%2520in.%2520This%2520is%2520the%2520kind%2520of%2520person%2520I%2520am.txt">
|
<a href="/response-headers?Content-Disposition=download;%20filename%2A%3DUTF-8%27%27I%2527ve%2520actually%2520felt%2520slightly%2520uncomfortable%2520at%2520TED%2520for%2520the%2520last%2520two%2520days%252C%2520because%2520there%2527s%2520a%2520lot%2520of%2520vision%2520going%2520on%252C%2520right%253F%2520And%2520I%2520am%2520not%2520a%2520visionary.%2520I%2520do%2520not%2520have%2520a%2520five-year%2520plan.%2520I%2527m%2520an%2520engineer.%2520And%2520I%2520think%2520it%2527s%2520really%2520--%2520I%2520mean%2520--%2520I%2527m%2520perfectly%2520happy%2520with%2520all%2520the%2520people%2520who%2520are%2520walking%2520around%2520and%2520just%2520staring%2520at%2520the%2520clouds%2520and%2520looking%2520at%2520the%2520stars%2520and%2520saying%252C%2520%2522I%2520want%2520to%2520go%2520there.%2522%2520But%2520I%2527m%2520looking%2520at%2520the%2520ground%252C%2520and%2520I%2520want%2520to%2520fix%2520the%2520pothole%2520that%2527s%2520right%2520in%2520front%2520of%2520me%2520before%2520I%2520fall%2520in.%2520This%2520is%2520the%2520kind%2520of%2520person%2520I%2520am.txt" id="long-link">
|
||||||
Download me!
|
Download me!
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
@ -8,6 +8,6 @@
|
|||||||
<title>Simple link</title>
|
<title>Simple link</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<a href="/data/hello.txt">Follow me!</a>
|
<a href="/data/hello.txt" id="link">Follow me!</a>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -6,6 +6,6 @@
|
|||||||
<title>Simple input</title>
|
<title>Simple input</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form><input></input></form>
|
<form><input id="qute-input"></input></form>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -5,6 +5,6 @@
|
|||||||
<title>A link to use hints on</title>
|
<title>A link to use hints on</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<a href="/data/hello.txt" target="_blank">Follow me!</a>
|
<a href="/data/hello.txt" target="_blank" id="link">Follow me!</a>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
<html>
|
<html>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<button onclick="openWin()">Open "myWindow"</button>
|
<button onclick="openWin()" id="open-button">Open "myWindow"</button>
|
||||||
<button onclick="closeWin()">Close "myWindow"</button>
|
<button onclick="closeWin()" id="close-button">Close "myWindow"</button>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
var myWindow;
|
var myWindow;
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<body>
|
<body>
|
||||||
<h1 id="top">Top</h1>
|
<h1 id="top">Top</h1>
|
||||||
<a href="#top">Top</a>
|
<a href="#top">Top</a>
|
||||||
<a href="#bottom">Bottom</a>
|
<a href="#bottom" id="bottom">Bottom</a>
|
||||||
<div style="height: 3000px; width: 3000px;">Holy Grail</div>
|
<div style="height: 3000px; width: 3000px;">Holy Grail</div>
|
||||||
<div style="height: 3000px; width: 3000px;">Waldo</div>
|
<div style="height: 3000px; width: 3000px;">Waldo</div>
|
||||||
<div style="height: 3000px; width: 3000px;">Holy Grail</div>
|
<div style="height: 3000px; width: 3000px;">Holy Grail</div>
|
||||||
|
@ -33,6 +33,6 @@
|
|||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<input type="button" onclick="get_location()" value="Get position">
|
<input type="button" onclick="get_location()" value="Get position" id="button">
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -10,6 +10,6 @@
|
|||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<input type="button" onclick="do_alert()" value="Show alert">
|
<input type="button" onclick="do_alert()" value="Show alert" id="button">
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -10,6 +10,6 @@
|
|||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<input type="button" onclick="prompter()" value="Show prompt">
|
<input type="button" onclick="prompter()" value="Show prompt" id="button">
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -10,6 +10,6 @@
|
|||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<input type="button" onclick="prompter()" value="Show prompt">
|
<input type="button" onclick="prompter()" value="Show prompt" id="button">
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -34,6 +34,6 @@
|
|||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<input type="button" onclick="get_notification_permission()" value="Get notification permission">
|
<input type="button" onclick="get_notification_permission()" value="Get notification permission" id="button">
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -201,8 +201,7 @@ Feature: Downloading things from a website.
|
|||||||
Scenario: Directly open a download with a very long filename
|
Scenario: Directly open a download with a very long filename
|
||||||
When I set storage -> prompt-download-directory to true
|
When I set storage -> prompt-download-directory to true
|
||||||
And I open data/downloads/issue1725.html
|
And I open data/downloads/issue1725.html
|
||||||
And I run :hint
|
And I run :click-element id long-link
|
||||||
And I run :follow-hint a
|
|
||||||
And I wait for "Asking question <qutebrowser.utils.usertypes.Question default=* mode=<PromptMode.download: 5> text='Save file to:'>, *" in the log
|
And I wait for "Asking question <qutebrowser.utils.usertypes.Question default=* mode=<PromptMode.download: 5> text='Save file to:'>, *" in the log
|
||||||
And I directly open the download
|
And I directly open the download
|
||||||
And I wait until the download is finished
|
And I wait until the download is finished
|
||||||
|
@ -12,10 +12,8 @@ Feature: Javascript stuff
|
|||||||
Scenario: Closing a JS window twice (issue 906)
|
Scenario: Closing a JS window twice (issue 906)
|
||||||
When I open about:blank
|
When I open about:blank
|
||||||
And I open data/javascript/issue906.html in a new tab
|
And I open data/javascript/issue906.html in a new tab
|
||||||
And I run :hint
|
And I run :click-element id open-button
|
||||||
And I run :follow-hint a
|
|
||||||
And I wait for "Changing title for idx 2 to 'about:blank'" in the log
|
And I wait for "Changing title for idx 2 to 'about:blank'" in the log
|
||||||
And I run :tab-focus 2
|
And I run :tab-focus 2
|
||||||
And I run :hint
|
And I run :click-element id close-button
|
||||||
And I run :follow-hint s
|
|
||||||
Then "Requested to close * which does not exist!" should be logged
|
Then "Requested to close * which does not exist!" should be logged
|
||||||
|
@ -372,8 +372,7 @@ Feature: Various utility commands.
|
|||||||
@pyqt>=5.3.1
|
@pyqt>=5.3.1
|
||||||
Scenario: Focusing download widget via Tab (original issue)
|
Scenario: Focusing download widget via Tab (original issue)
|
||||||
When I open data/prompt/jsprompt.html
|
When I open data/prompt/jsprompt.html
|
||||||
And I run :hint
|
And I run :click-element id button
|
||||||
And I run :follow-hint a
|
|
||||||
And I wait for "Entering mode KeyMode.prompt *" in the log
|
And I wait for "Entering mode KeyMode.prompt *" in the log
|
||||||
And I press the key "<Tab>"
|
And I press the key "<Tab>"
|
||||||
And I press the key "<Ctrl-C>"
|
And I press the key "<Ctrl-C>"
|
||||||
@ -519,8 +518,7 @@ Feature: Various utility commands.
|
|||||||
When I run :hint
|
When I run :hint
|
||||||
And I run :leave-mode
|
And I run :leave-mode
|
||||||
And I run :repeat-command
|
And I run :repeat-command
|
||||||
And I run :follow-hint a
|
And I run :click-element id link
|
||||||
And I wait until data/hello.txt is loaded
|
|
||||||
Then the following tabs should be open:
|
Then the following tabs should be open:
|
||||||
- data/hints/link_blank.html
|
- data/hints/link_blank.html
|
||||||
- data/hello.txt (active)
|
- data/hello.txt (active)
|
||||||
|
@ -8,7 +8,7 @@ Feature: Prompts
|
|||||||
|
|
||||||
Scenario: Javascript alert
|
Scenario: Javascript alert
|
||||||
When I open data/prompt/jsalert.html
|
When I open data/prompt/jsalert.html
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
And I wait for a prompt
|
And I wait for a prompt
|
||||||
And I run :prompt-accept
|
And I run :prompt-accept
|
||||||
Then the javascript message "Alert done" should be logged
|
Then the javascript message "Alert done" should be logged
|
||||||
@ -16,26 +16,26 @@ Feature: Prompts
|
|||||||
Scenario: Using content -> ignore-javascript-alert
|
Scenario: Using content -> ignore-javascript-alert
|
||||||
When I set content -> ignore-javascript-alert to true
|
When I set content -> ignore-javascript-alert to true
|
||||||
And I open data/prompt/jsalert.html
|
And I open data/prompt/jsalert.html
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
Then the javascript message "Alert done" should be logged
|
Then the javascript message "Alert done" should be logged
|
||||||
|
|
||||||
Scenario: Javascript confirm - yes
|
Scenario: Javascript confirm - yes
|
||||||
When I open data/prompt/jsconfirm.html
|
When I open data/prompt/jsconfirm.html
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
And I wait for a prompt
|
And I wait for a prompt
|
||||||
And I run :prompt-yes
|
And I run :prompt-yes
|
||||||
Then the javascript message "confirm reply: true" should be logged
|
Then the javascript message "confirm reply: true" should be logged
|
||||||
|
|
||||||
Scenario: Javascript confirm - no
|
Scenario: Javascript confirm - no
|
||||||
When I open data/prompt/jsconfirm.html
|
When I open data/prompt/jsconfirm.html
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
And I wait for a prompt
|
And I wait for a prompt
|
||||||
And I run :prompt-no
|
And I run :prompt-no
|
||||||
Then the javascript message "confirm reply: false" should be logged
|
Then the javascript message "confirm reply: false" should be logged
|
||||||
|
|
||||||
Scenario: Javascript confirm - aborted
|
Scenario: Javascript confirm - aborted
|
||||||
When I open data/prompt/jsconfirm.html
|
When I open data/prompt/jsconfirm.html
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
And I wait for a prompt
|
And I wait for a prompt
|
||||||
And I run :leave-mode
|
And I run :leave-mode
|
||||||
Then the javascript message "confirm reply: false" should be logged
|
Then the javascript message "confirm reply: false" should be logged
|
||||||
@ -43,7 +43,7 @@ Feature: Prompts
|
|||||||
@pyqt>=5.3.1
|
@pyqt>=5.3.1
|
||||||
Scenario: Javascript prompt
|
Scenario: Javascript prompt
|
||||||
When I open data/prompt/jsprompt.html
|
When I open data/prompt/jsprompt.html
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
And I wait for a prompt
|
And I wait for a prompt
|
||||||
And I press the keys "prompt test"
|
And I press the keys "prompt test"
|
||||||
And I run :prompt-accept
|
And I run :prompt-accept
|
||||||
@ -52,7 +52,7 @@ Feature: Prompts
|
|||||||
@pyqt>=5.3.1
|
@pyqt>=5.3.1
|
||||||
Scenario: Rejected javascript prompt
|
Scenario: Rejected javascript prompt
|
||||||
When I open data/prompt/jsprompt.html
|
When I open data/prompt/jsprompt.html
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
And I wait for a prompt
|
And I wait for a prompt
|
||||||
And I press the keys "prompt test"
|
And I press the keys "prompt test"
|
||||||
And I run :leave-mode
|
And I run :leave-mode
|
||||||
@ -66,7 +66,7 @@ Feature: Prompts
|
|||||||
When selection is supported
|
When selection is supported
|
||||||
And I put "insert test" into the primary selection
|
And I put "insert test" into the primary selection
|
||||||
And I open data/prompt/jsprompt.html
|
And I open data/prompt/jsprompt.html
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
And I wait for a prompt
|
And I wait for a prompt
|
||||||
And I press the keys "<Shift-Insert>"
|
And I press the keys "<Shift-Insert>"
|
||||||
And I run :prompt-accept
|
And I run :prompt-accept
|
||||||
@ -76,7 +76,7 @@ Feature: Prompts
|
|||||||
Scenario: Using content -> ignore-javascript-prompt
|
Scenario: Using content -> ignore-javascript-prompt
|
||||||
When I set content -> ignore-javascript-prompt to true
|
When I set content -> ignore-javascript-prompt to true
|
||||||
And I open data/prompt/jsprompt.html
|
And I open data/prompt/jsprompt.html
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
Then the javascript message "Prompt reply: null" should be logged
|
Then the javascript message "Prompt reply: null" should be logged
|
||||||
|
|
||||||
# SSL
|
# SSL
|
||||||
@ -119,21 +119,21 @@ Feature: Prompts
|
|||||||
Scenario: Always rejecting geolocation
|
Scenario: Always rejecting geolocation
|
||||||
When I set content -> geolocation to false
|
When I set content -> geolocation to false
|
||||||
And I open data/prompt/geolocation.html in a new tab
|
And I open data/prompt/geolocation.html in a new tab
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
Then the javascript message "geolocation permission denied" should be logged
|
Then the javascript message "geolocation permission denied" should be logged
|
||||||
|
|
||||||
@ci @not_osx
|
@ci @not_osx
|
||||||
Scenario: Always accepting geolocation
|
Scenario: Always accepting geolocation
|
||||||
When I set content -> geolocation to true
|
When I set content -> geolocation to true
|
||||||
And I open data/prompt/geolocation.html in a new tab
|
And I open data/prompt/geolocation.html in a new tab
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
Then the javascript message "geolocation permission denied" should not be logged
|
Then the javascript message "geolocation permission denied" should not be logged
|
||||||
|
|
||||||
@ci @not_osx
|
@ci @not_osx
|
||||||
Scenario: geolocation with ask -> true
|
Scenario: geolocation with ask -> true
|
||||||
When I set content -> geolocation to ask
|
When I set content -> geolocation to ask
|
||||||
And I open data/prompt/geolocation.html in a new tab
|
And I open data/prompt/geolocation.html in a new tab
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
And I wait for a prompt
|
And I wait for a prompt
|
||||||
And I run :prompt-yes
|
And I run :prompt-yes
|
||||||
Then the javascript message "geolocation permission denied" should not be logged
|
Then the javascript message "geolocation permission denied" should not be logged
|
||||||
@ -141,7 +141,7 @@ Feature: Prompts
|
|||||||
Scenario: geolocation with ask -> false
|
Scenario: geolocation with ask -> false
|
||||||
When I set content -> geolocation to ask
|
When I set content -> geolocation to ask
|
||||||
And I open data/prompt/geolocation.html in a new tab
|
And I open data/prompt/geolocation.html in a new tab
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
And I wait for a prompt
|
And I wait for a prompt
|
||||||
And I run :prompt-no
|
And I run :prompt-no
|
||||||
Then the javascript message "geolocation permission denied" should be logged
|
Then the javascript message "geolocation permission denied" should be logged
|
||||||
@ -149,7 +149,7 @@ Feature: Prompts
|
|||||||
Scenario: geolocation with ask -> abort
|
Scenario: geolocation with ask -> abort
|
||||||
When I set content -> geolocation to ask
|
When I set content -> geolocation to ask
|
||||||
And I open data/prompt/geolocation.html in a new tab
|
And I open data/prompt/geolocation.html in a new tab
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
And I wait for a prompt
|
And I wait for a prompt
|
||||||
And I run :leave-mode
|
And I run :leave-mode
|
||||||
Then the javascript message "geolocation permission denied" should be logged
|
Then the javascript message "geolocation permission denied" should be logged
|
||||||
@ -159,19 +159,19 @@ Feature: Prompts
|
|||||||
Scenario: Always rejecting notifications
|
Scenario: Always rejecting notifications
|
||||||
When I set content -> notifications to false
|
When I set content -> notifications to false
|
||||||
And I open data/prompt/notifications.html in a new tab
|
And I open data/prompt/notifications.html in a new tab
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
Then the javascript message "notification permission denied" should be logged
|
Then the javascript message "notification permission denied" should be logged
|
||||||
|
|
||||||
Scenario: Always accepting notifications
|
Scenario: Always accepting notifications
|
||||||
When I set content -> notifications to true
|
When I set content -> notifications to true
|
||||||
And I open data/prompt/notifications.html in a new tab
|
And I open data/prompt/notifications.html in a new tab
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
Then the javascript message "notification permission granted" should be logged
|
Then the javascript message "notification permission granted" should be logged
|
||||||
|
|
||||||
Scenario: notifications with ask -> false
|
Scenario: notifications with ask -> false
|
||||||
When I set content -> notifications to ask
|
When I set content -> notifications to ask
|
||||||
And I open data/prompt/notifications.html in a new tab
|
And I open data/prompt/notifications.html in a new tab
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
And I wait for a prompt
|
And I wait for a prompt
|
||||||
And I run :prompt-no
|
And I run :prompt-no
|
||||||
Then the javascript message "notification permission denied" should be logged
|
Then the javascript message "notification permission denied" should be logged
|
||||||
@ -179,7 +179,7 @@ Feature: Prompts
|
|||||||
Scenario: notifications with ask -> true
|
Scenario: notifications with ask -> true
|
||||||
When I set content -> notifications to ask
|
When I set content -> notifications to ask
|
||||||
And I open data/prompt/notifications.html in a new tab
|
And I open data/prompt/notifications.html in a new tab
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
And I wait for a prompt
|
And I wait for a prompt
|
||||||
And I run :prompt-yes
|
And I run :prompt-yes
|
||||||
Then the javascript message "notification permission granted" should be logged
|
Then the javascript message "notification permission granted" should be logged
|
||||||
@ -189,7 +189,7 @@ Feature: Prompts
|
|||||||
Scenario: notifications with ask -> abort
|
Scenario: notifications with ask -> abort
|
||||||
When I set content -> notifications to ask
|
When I set content -> notifications to ask
|
||||||
And I open data/prompt/notifications.html in a new tab
|
And I open data/prompt/notifications.html in a new tab
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
And I wait for a prompt
|
And I wait for a prompt
|
||||||
And I run :leave-mode
|
And I run :leave-mode
|
||||||
Then the javascript message "notification permission aborted" should be logged
|
Then the javascript message "notification permission aborted" should be logged
|
||||||
@ -197,7 +197,7 @@ Feature: Prompts
|
|||||||
Scenario: answering notification after closing tab
|
Scenario: answering notification after closing tab
|
||||||
When I set content -> notifications to ask
|
When I set content -> notifications to ask
|
||||||
And I open data/prompt/notifications.html in a new tab
|
And I open data/prompt/notifications.html in a new tab
|
||||||
And I click the button
|
And I run :click-element id button
|
||||||
And I wait for a prompt
|
And I wait for a prompt
|
||||||
And I run :tab-close
|
And I run :tab-close
|
||||||
And I wait for "Leaving mode KeyMode.yesno (reason: aborted)" in the log
|
And I wait for "Leaving mode KeyMode.yesno (reason: aborted)" in the log
|
||||||
|
@ -806,8 +806,7 @@ Feature: Tab management
|
|||||||
And I set tabs -> background-tabs to false
|
And I set tabs -> background-tabs to false
|
||||||
And I open about:blank
|
And I open about:blank
|
||||||
And I open data/hints/html/simple.html in a new tab
|
And I open data/hints/html/simple.html in a new tab
|
||||||
And I run :hint all tab
|
And I run :click-element id link --target=tab
|
||||||
And I run :follow-hint a
|
|
||||||
And I wait until data/hello.txt is loaded
|
And I wait until data/hello.txt is loaded
|
||||||
Then the following tabs should be open:
|
Then the following tabs should be open:
|
||||||
- about:blank
|
- about:blank
|
||||||
@ -819,8 +818,7 @@ Feature: Tab management
|
|||||||
And I set tabs -> background-tabs to false
|
And I set tabs -> background-tabs to false
|
||||||
And I open about:blank
|
And I open about:blank
|
||||||
And I open data/hints/html/simple.html in a new tab
|
And I open data/hints/html/simple.html in a new tab
|
||||||
And I run :hint all tab
|
And I run :click-element id link --target=tab
|
||||||
And I run :follow-hint a
|
|
||||||
And I wait until data/hello.txt is loaded
|
And I wait until data/hello.txt is loaded
|
||||||
Then the following tabs should be open:
|
Then the following tabs should be open:
|
||||||
- about:blank
|
- about:blank
|
||||||
@ -832,8 +830,7 @@ Feature: Tab management
|
|||||||
And I set tabs -> background-tabs to false
|
And I set tabs -> background-tabs to false
|
||||||
And I open about:blank
|
And I open about:blank
|
||||||
And I open data/hints/html/simple.html in a new tab
|
And I open data/hints/html/simple.html in a new tab
|
||||||
And I run :hint all tab
|
And I run :click-element id link --target=tab
|
||||||
And I run :follow-hint a
|
|
||||||
And I wait until data/hello.txt is loaded
|
And I wait until data/hello.txt is loaded
|
||||||
Then the following tabs should be open:
|
Then the following tabs should be open:
|
||||||
- data/hello.txt (active)
|
- data/hello.txt (active)
|
||||||
@ -846,8 +843,7 @@ Feature: Tab management
|
|||||||
And I open data/hints/html/simple.html
|
And I open data/hints/html/simple.html
|
||||||
And I open about:blank in a new tab
|
And I open about:blank in a new tab
|
||||||
And I run :tab-focus last
|
And I run :tab-focus last
|
||||||
And I run :hint all tab
|
And I run :click-element id link --target=tab
|
||||||
And I run :follow-hint a
|
|
||||||
And I wait until data/hello.txt is loaded
|
And I wait until data/hello.txt is loaded
|
||||||
Then the following tabs should be open:
|
Then the following tabs should be open:
|
||||||
- data/hints/html/simple.html
|
- data/hints/html/simple.html
|
||||||
|
@ -33,12 +33,6 @@ def wait_ssl_page_finished_loading(quteproc, ssl_server):
|
|||||||
load_status='warn')
|
load_status='warn')
|
||||||
|
|
||||||
|
|
||||||
@bdd.when("I click the button")
|
|
||||||
def click_button(quteproc):
|
|
||||||
quteproc.send_cmd(':hint')
|
|
||||||
quteproc.send_cmd(':follow-hint a')
|
|
||||||
|
|
||||||
|
|
||||||
@bdd.when("I wait for a prompt")
|
@bdd.when("I wait for a prompt")
|
||||||
def wait_for_prompt(quteproc):
|
def wait_for_prompt(quteproc):
|
||||||
quteproc.wait_for(message='Entering mode KeyMode.* (reason: question '
|
quteproc.wait_for(message='Entering mode KeyMode.* (reason: question '
|
||||||
|
@ -219,9 +219,7 @@ Feature: Yanking and pasting.
|
|||||||
|
|
||||||
Scenario: Inserting text into an empty text field
|
Scenario: Inserting text into an empty text field
|
||||||
When I open data/paste_primary.html
|
When I open data/paste_primary.html
|
||||||
# Click the text field
|
And I run :click-element id qute-textarea
|
||||||
And I run :hint all
|
|
||||||
And I run :follow-hint a
|
|
||||||
And I wait for "Clicked editable element!" in the log
|
And I wait for "Clicked editable element!" in the log
|
||||||
And I run :insert-text Hello world
|
And I run :insert-text Hello world
|
||||||
# Compare
|
# Compare
|
||||||
@ -230,9 +228,7 @@ Feature: Yanking and pasting.
|
|||||||
Scenario: Inserting text into a text field at specific position
|
Scenario: Inserting text into a text field at specific position
|
||||||
When I open data/paste_primary.html
|
When I open data/paste_primary.html
|
||||||
And I set the text field to "one two three four"
|
And I set the text field to "one two three four"
|
||||||
# Click the text field
|
And I run :click-element id qute-textarea
|
||||||
And I run :hint all
|
|
||||||
And I run :follow-hint a
|
|
||||||
And I wait for "Clicked editable element!" in the log
|
And I wait for "Clicked editable element!" in the log
|
||||||
# Move to the beginning and two characters to the right
|
# Move to the beginning and two characters to the right
|
||||||
And I press the keys "<Home>"
|
And I press the keys "<Home>"
|
||||||
@ -244,9 +240,7 @@ Feature: Yanking and pasting.
|
|||||||
|
|
||||||
Scenario: Inserting text into a text field with undo
|
Scenario: Inserting text into a text field with undo
|
||||||
When I open data/paste_primary.html
|
When I open data/paste_primary.html
|
||||||
# Click the text field
|
And I run :click-element id qute-textarea
|
||||||
And I run :hint all
|
|
||||||
And I run :follow-hint a
|
|
||||||
And I wait for "Clicked editable element!" in the log
|
And I wait for "Clicked editable element!" in the log
|
||||||
# Paste and undo
|
# Paste and undo
|
||||||
And I run :insert-text This text should be undone
|
And I run :insert-text This text should be undone
|
||||||
@ -264,9 +258,7 @@ Feature: Yanking and pasting.
|
|||||||
|
|
||||||
Scenario: Inserting text with a read-only field
|
Scenario: Inserting text with a read-only field
|
||||||
When I open data/paste_primary.html
|
When I open data/paste_primary.html
|
||||||
# Click the text field
|
And I run :click-element id qute-textarea-noedit
|
||||||
And I run :hint all
|
|
||||||
And I run :follow-hint s
|
|
||||||
And I wait for "Clicked non-editable element!" in the log
|
And I wait for "Clicked non-editable element!" in the log
|
||||||
And I run :enter-mode insert
|
And I run :enter-mode insert
|
||||||
And I run :insert-text test
|
And I run :insert-text test
|
||||||
|
@ -25,20 +25,23 @@ import json
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize('file_name, source, input_text, auto_insert', [
|
@pytest.mark.parametrize(['file_name', 'elem_id', 'source', 'input_text',
|
||||||
('textarea.html', 'clipboard', 'qutebrowser', 'false'),
|
'auto_insert'], [
|
||||||
('textarea.html', 'keypress', 'superqutebrowser', 'false'),
|
('textarea.html', 'qute-textarea', 'clipboard', 'qutebrowser', 'false'),
|
||||||
('input.html', 'clipboard', 'amazingqutebrowser', 'false'),
|
('textarea.html', 'qute-textarea', 'keypress', 'superqutebrowser',
|
||||||
('input.html', 'keypress', 'awesomequtebrowser', 'false'),
|
'false'),
|
||||||
('autofocus.html', 'keypress', 'cutebrowser', 'true'),
|
('input.html', 'qute-input', 'clipboard', 'amazingqutebrowser', 'false'),
|
||||||
|
('input.html', 'qute-input', 'keypress', 'awesomequtebrowser', 'false'),
|
||||||
|
('autofocus.html', 'qute-input-autofocus', 'keypress', 'cutebrowser',
|
||||||
|
'true'),
|
||||||
])
|
])
|
||||||
def test_insert_mode(file_name, source, input_text, auto_insert, quteproc):
|
def test_insert_mode(file_name, elem_id, source, input_text, auto_insert,
|
||||||
|
quteproc):
|
||||||
url_path = 'data/insert_mode_settings/html/{}'.format(file_name)
|
url_path = 'data/insert_mode_settings/html/{}'.format(file_name)
|
||||||
quteproc.open_path(url_path)
|
quteproc.open_path(url_path)
|
||||||
|
|
||||||
quteproc.set_setting('input', 'auto-insert-mode', auto_insert)
|
quteproc.set_setting('input', 'auto-insert-mode', auto_insert)
|
||||||
quteproc.send_cmd(':hint all')
|
quteproc.send_cmd(':click-element id {}'.format(elem_id))
|
||||||
quteproc.send_cmd(':follow-hint a')
|
|
||||||
quteproc.wait_for(message='Clicked editable element!')
|
quteproc.wait_for(message='Clicked editable element!')
|
||||||
quteproc.send_cmd(':debug-set-fake-clipboard')
|
quteproc.send_cmd(':debug-set-fake-clipboard')
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user