More improvements for yesno prompt key hints
This commit is contained in:
parent
7d63795613
commit
741ecac9ef
@ -607,6 +607,8 @@ class YesNoPrompt(_BasePrompt):
|
||||
|
||||
def accept(self, value=None):
|
||||
if value is None:
|
||||
if self.question.default is None:
|
||||
raise Error("No default value was set for this question!")
|
||||
self.question.answer = self.question.default
|
||||
elif value == 'yes':
|
||||
self.question.answer = True
|
||||
@ -617,13 +619,17 @@ class YesNoPrompt(_BasePrompt):
|
||||
return True
|
||||
|
||||
def _allowed_commands(self):
|
||||
default = 'yes' if self.question.default else 'no'
|
||||
cmds = [
|
||||
('prompt-accept yes', "Yes"),
|
||||
('prompt-accept no', "No"),
|
||||
('prompt-accept', "Use default ({})".format(default)),
|
||||
('leave-mode', "Abort"),
|
||||
]
|
||||
|
||||
if self.question.default is not None:
|
||||
assert self.question.default in [True, False]
|
||||
default = 'yes' if self.question.default else 'no'
|
||||
cmds.append(('prompt-accept', "Use default ({})".format(default)))
|
||||
|
||||
cmds.append(('leave-mode', "Abort"))
|
||||
return cmds
|
||||
|
||||
|
||||
|
@ -249,3 +249,12 @@ Feature: Prompts
|
||||
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
|
||||
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user