jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/701624 )
Change subject: [bugfix] Fix terminal_interface_base.input_list_choice ......................................................................
[bugfix] Fix terminal_interface_base.input_list_choice
- Separate each aswers entry by a new line via pywikibot.output() - Additional ui tests
Bug: T285597 Change-Id: Ia42d6d33eebb78b750e14ea25598a8df1707729c --- M pywikibot/userinterfaces/terminal_interface_base.py M tests/ui_tests.py 2 files changed, 14 insertions(+), 1 deletion(-)
Approvals: Damian: Looks good to me, but someone else must approve Xqt: Looks good to me, approved jenkins-bot: Verified
diff --git a/pywikibot/userinterfaces/terminal_interface_base.py b/pywikibot/userinterfaces/terminal_interface_base.py index 0b5f2cb..a49eb82 100755 --- a/pywikibot/userinterfaces/terminal_interface_base.py +++ b/pywikibot/userinterfaces/terminal_interface_base.py @@ -415,7 +415,7 @@ if not force: line_template = '{{0: >{}}}: {{1}}'.format(len(str(len(answers)))) for i, entry in enumerate(answers, start=1): - self.output(line_template.format(i, entry)) + pywikibot.output(line_template.format(i, entry))
while True: choice = self.input(question, default=default, force=force) diff --git a/tests/ui_tests.py b/tests/ui_tests.py index 07e6974..ec5bafe 100644 --- a/tests/ui_tests.py +++ b/tests/ui_tests.py @@ -289,6 +289,19 @@ self.assertEqual(newstderr.getvalue(), self.input_choice_output * 2) self.assertEqual(returned, 'n')
+ def test_input_list_choice(self): + """Test input_list_choice function.""" + options = ('answer 1', 'answer 2', 'answer 3') + rv = pywikibot.bot.input_list_choice('question', options, '2') + + self.assertEqual(newstdout.getvalue(), '') + self.assertEqual( + newstderr.getvalue(), + ''.join('{}: {}\n'.format(num, items) + for num, items in enumerate(options, start=1)) + + 'question (default: 2): ') + self.assertEqual(rv, 'answer 2') +
@unittest.skipUnless(os.name == 'posix', 'requires Unix console') class TestTerminalOutputColorUnix(UITestCase):
pywikibot-commits@lists.wikimedia.org