jenkins-bot has submitted this change and it was merged.
Change subject: [IMPROV] ui tests: Clean up tests
......................................................................
[IMPROV] ui tests: Clean up tests
With 47c7cb5f07d59e0014db96e4a7ba40cd42d5d51d the ui_tests have been
deindented. Originaly I planned to also do some other minor changes as
git blame has been broken already be deindenting all of it. But because
of a problem with the diff it didn't came so this are now the remaining
changes. Mainly changing double quotes in single quotes, removing
triple quotes (which weren't docstring) and remove the line length of
one line.
Change-Id: I1a678bc445a16a9180bed0049c3bc52b792f836b
---
M tests/ui_tests.py
1 file changed, 108 insertions(+), 105 deletions(-)
Approvals:
John Vandenberg: Looks good to me, approved
jenkins-bot: Verified
diff --git a/tests/ui_tests.py b/tests/ui_tests.py
index 9229769..08ddcb8 100644
--- a/tests/ui_tests.py
+++ b/tests/ui_tests.py
@@ -156,11 +156,12 @@
ui._print = org_print
ui._raw_input = org_input
+
logger = logging.getLogger('pywiki')
-loggingcontext = {'caller_name': "ui_tests",
- 'caller_file': "ui_tests",
+loggingcontext = {'caller_name': 'ui_tests',
+ 'caller_file': 'ui_tests',
'caller_line': 0,
- 'newline': "\n"}
+ 'newline': '\n'}
class UITestCase(unittest.TestCase):
@@ -193,173 +194,173 @@
def testOutputLevels_logging_debug(self):
logger.log(DEBUG, 'debug', extra=loggingcontext)
- self.assertEqual(newstdout.getvalue(), "")
- self.assertEqual(newstderr.getvalue(), "")
+ self.assertEqual(newstdout.getvalue(), '')
+ self.assertEqual(newstderr.getvalue(), '')
def testOutputLevels_logging_verbose(self):
logger.log(VERBOSE, 'verbose', extra=loggingcontext)
- self.assertEqual(newstdout.getvalue(), "")
- self.assertEqual(newstderr.getvalue(), "")
+ self.assertEqual(newstdout.getvalue(), '')
+ self.assertEqual(newstderr.getvalue(), '')
def testOutputLevels_logging_info(self):
logger.log(INFO, 'info', extra=loggingcontext)
- self.assertEqual(newstdout.getvalue(), "")
- self.assertEqual(newstderr.getvalue(), "info\n")
+ self.assertEqual(newstdout.getvalue(), '')
+ self.assertEqual(newstderr.getvalue(), 'info\n')
def testOutputLevels_logging_stdout(self):
logger.log(STDOUT, 'stdout', extra=loggingcontext)
- self.assertEqual(newstdout.getvalue(), "stdout\n")
- self.assertEqual(newstderr.getvalue(), "")
+ self.assertEqual(newstdout.getvalue(), 'stdout\n')
+ self.assertEqual(newstderr.getvalue(), '')
def testOutputLevels_logging_input(self):
logger.log(INPUT, 'input', extra=loggingcontext)
- self.assertEqual(newstdout.getvalue(), "")
- self.assertEqual(newstderr.getvalue(), "input\n")
+ self.assertEqual(newstdout.getvalue(), '')
+ self.assertEqual(newstderr.getvalue(), 'input\n')
def testOutputLevels_logging_WARNING(self):
logger.log(WARNING, 'WARNING', extra=loggingcontext)
- self.assertEqual(newstdout.getvalue(), "")
- self.assertEqual(newstderr.getvalue(), "WARNING: WARNING\n")
+ self.assertEqual(newstdout.getvalue(), '')
+ self.assertEqual(newstderr.getvalue(), 'WARNING: WARNING\n')
def testOutputLevels_logging_ERROR(self):
logger.log(ERROR, 'ERROR', extra=loggingcontext)
- self.assertEqual(newstdout.getvalue(), "")
- self.assertEqual(newstderr.getvalue(), "ERROR: ERROR\n")
+ self.assertEqual(newstdout.getvalue(), '')
+ self.assertEqual(newstderr.getvalue(), 'ERROR: ERROR\n')
def testOutputLevels_logging_CRITICAL(self):
logger.log(CRITICAL, 'CRITICAL', extra=loggingcontext)
- self.assertEqual(newstdout.getvalue(), "")
- self.assertEqual(newstderr.getvalue(), "CRITICAL: CRITICAL\n")
+ self.assertEqual(newstdout.getvalue(), '')
+ self.assertEqual(newstderr.getvalue(), 'CRITICAL: CRITICAL\n')
def test_output(self):
- pywikibot.output("output", toStdout=False)
- self.assertEqual(newstdout.getvalue(), "")
- self.assertEqual(newstderr.getvalue(), "output\n")
+ pywikibot.output('output', toStdout=False)
+ self.assertEqual(newstdout.getvalue(), '')
+ self.assertEqual(newstderr.getvalue(), 'output\n')
def test_output_stdout(self):
- pywikibot.output("output", toStdout=True)
- self.assertEqual(newstdout.getvalue(), "output\n")
- self.assertEqual(newstderr.getvalue(), "")
+ pywikibot.output('output', toStdout=True)
+ self.assertEqual(newstdout.getvalue(), 'output\n')
+ self.assertEqual(newstderr.getvalue(), '')
def test_warning(self):
- pywikibot.warning("warning")
- self.assertEqual(newstdout.getvalue(), "")
- self.assertEqual(newstderr.getvalue(), "WARNING: warning\n")
+ pywikibot.warning('warning')
+ self.assertEqual(newstdout.getvalue(), '')
+ self.assertEqual(newstderr.getvalue(), 'WARNING: warning\n')
def test_error(self):
- pywikibot.error("error")
- self.assertEqual(newstdout.getvalue(), "")
- self.assertEqual(newstderr.getvalue(), "ERROR: error\n")
+ pywikibot.error('error')
+ self.assertEqual(newstdout.getvalue(), '')
+ self.assertEqual(newstderr.getvalue(), 'ERROR: error\n')
def test_log(self):
- pywikibot.log("log")
- self.assertEqual(newstdout.getvalue(), "")
- self.assertEqual(newstderr.getvalue(), "")
+ pywikibot.log('log')
+ self.assertEqual(newstdout.getvalue(), '')
+ self.assertEqual(newstderr.getvalue(), '')
def test_critical(self):
- pywikibot.critical("critical")
- self.assertEqual(newstdout.getvalue(), "")
- self.assertEqual(newstderr.getvalue(), "CRITICAL: critical\n")
+ pywikibot.critical('critical')
+ self.assertEqual(newstdout.getvalue(), '')
+ self.assertEqual(newstderr.getvalue(), 'CRITICAL: critical\n')
def test_debug(self):
- pywikibot.debug("debug", "test")
- self.assertEqual(newstdout.getvalue(), "")
- self.assertEqual(newstderr.getvalue(), "")
+ pywikibot.debug('debug', 'test')
+ self.assertEqual(newstdout.getvalue(), '')
+ self.assertEqual(newstderr.getvalue(), '')
def test_exception(self):
class TestException(Exception):
- """Test Exception."""
+ """Test exception."""
try:
- raise TestException("Testing Exception")
+ raise TestException('Testing Exception')
except TestException:
- pywikibot.exception("exception")
- self.assertEqual(newstdout.getvalue(), "")
- self.assertEqual(newstderr.getvalue(), "ERROR: TestException: Testing
Exception\n")
+ pywikibot.exception('exception')
+ self.assertEqual(newstdout.getvalue(), '')
+ self.assertEqual(newstderr.getvalue(), 'ERROR: TestException: Testing
Exception\n')
def test_exception_tb(self):
class TestException(Exception):
- """Test Exception."""
+ """Test exception."""
try:
- raise TestException("Testing Exception")
+ raise TestException('Testing Exception')
except TestException:
- pywikibot.exception("exception", tb=True)
- self.assertEqual(newstdout.getvalue(), "")
- stderrlines = newstderr.getvalue().split("\n")
- self.assertEqual(stderrlines[0], "ERROR: TestException: Testing
Exception")
- self.assertEqual(stderrlines[1], "Traceback (most recent call last):")
- self.assertEqual(stderrlines[3], """ raise
TestException("Testing Exception")""")
+ pywikibot.exception('exception', tb=True)
+ self.assertEqual(newstdout.getvalue(), '')
+ stderrlines = newstderr.getvalue().split('\n')
+ self.assertEqual(stderrlines[0], 'ERROR: TestException: Testing
Exception')
+ self.assertEqual(stderrlines[1], 'Traceback (most recent call last):')
+ self.assertEqual(stderrlines[3], " raise TestException('Testing
Exception')")
self.assertTrue(stderrlines[4].endswith(': Testing Exception'))
- self.assertNotEqual(stderrlines[-1], "\n")
+ self.assertNotEqual(stderrlines[-1], '\n')
class TestTerminalInput(UITestCase):
"""Terminal input tests."""
- input_choice_output = "question ([A]nswer 1, a[n]swer 2, an[s]wer 3) "
+ input_choice_output = 'question ([A]nswer 1, a[n]swer 2, an[s]wer 3) '
def testInput(self):
- newstdin.write("input to read\n")
+ newstdin.write('input to read\n')
newstdin.seek(0)
- returned = pywikibot.input("question")
+ returned = pywikibot.input('question')
- self.assertEqual(newstdout.getvalue(), "")
- self.assertEqual(newstderr.getvalue(), "question ")
+ self.assertEqual(newstdout.getvalue(), '')
+ self.assertEqual(newstderr.getvalue(), 'question ')
self.assertIsInstance(returned, unicode)
- self.assertEqual(returned, u"input to read")
+ self.assertEqual(returned, u'input to read')
def _call_input_choice(self):
rv = pywikibot.input_choice(
- "question",
+ 'question',
(('answer 1', u'A'),
('answer 2', u'N'),
('answer 3', u'S')),
u'A',
automatic_quit=False)
- self.assertEqual(newstdout.getvalue(), "")
+ self.assertEqual(newstdout.getvalue(), '')
self.assertIsInstance(rv, unicode)
return rv
def testInputChoiceDefault(self):
- newstdin.write("\n")
+ newstdin.write('\n')
newstdin.seek(0)
returned = self._call_input_choice()
- self.assertEqual(returned, "a")
+ self.assertEqual(returned, 'a')
def testInputChoiceCapital(self):
- newstdin.write("N\n")
+ newstdin.write('N\n')
newstdin.seek(0)
returned = self._call_input_choice()
self.assertEqual(newstderr.getvalue(), self.input_choice_output)
- self.assertEqual(returned, "n")
+ self.assertEqual(returned, 'n')
def testInputChoiceNonCapital(self):
- newstdin.write("n\n")
+ newstdin.write('n\n')
newstdin.seek(0)
returned = self._call_input_choice()
self.assertEqual(newstderr.getvalue(), self.input_choice_output)
- self.assertEqual(returned, "n")
+ self.assertEqual(returned, 'n')
def testInputChoiceIncorrectAnswer(self):
- newstdin.write("X\nN\n")
+ newstdin.write('X\nN\n')
newstdin.seek(0)
returned = self._call_input_choice()
@@ -367,10 +368,10 @@
self.assertEqual(newstderr.getvalue(),
self.input_choice_output * 2)
- self.assertEqual(returned, "n")
+ self.assertEqual(returned, 'n')
-(a)unittest.skipUnless(os.name == "posix", "requires Unix console")
+(a)unittest.skipUnless(os.name == 'posix', 'requires Unix console')
class TestTerminalOutputColorUnix(UITestCase):
"""Terminal output color tests."""
@@ -379,7 +380,7 @@
def testOutputColorizedText(self):
pywikibot.output(self.str1)
- self.assertEqual(newstdout.getvalue(), "")
+ self.assertEqual(newstdout.getvalue(), '')
self.assertEqual(
newstderr.getvalue(),
'text \x1b[95mlight purple text\x1b[0m text\n\x1b[0m')
@@ -387,7 +388,7 @@
def testOutputNoncolorizedText(self):
pywikibot.config.colorized_output = False
pywikibot.output(self.str1)
- self.assertEqual(newstdout.getvalue(), "")
+ self.assertEqual(newstdout.getvalue(), '')
self.assertEqual(
newstderr.getvalue(),
'text light purple text text ***\n')
@@ -399,7 +400,7 @@
@unittest.expectedFailure
def testOutputColorCascade(self):
pywikibot.output(self.str2)
- self.assertEqual(newstdout.getvalue(), "")
+ self.assertEqual(newstdout.getvalue(), '')
self.assertEqual(
newstderr.getvalue(),
'normal text \x1b[35;1m light purple ' +
@@ -409,7 +410,7 @@
def testOutputColorCascade_incorrect(self):
""" Test incorrect behavior of testOutputColorCascade.
"""
pywikibot.output(self.str2)
- self.assertEqual(newstdout.getvalue(), "")
+ self.assertEqual(newstdout.getvalue(), '')
self.assertEqual(
newstderr.getvalue(),
'normal text \x1b[95m light purple ' +
@@ -417,14 +418,14 @@
'\x1b[0m normal text\n\x1b[0m')
-(a)unittest.skipUnless(os.name == "posix", "requires Unix console")
+(a)unittest.skipUnless(os.name == 'posix', 'requires Unix console')
class TestTerminalUnicodeUnix(UITestCase):
"""Terminal output tests for unix."""
def testOutputUnicodeText(self):
- pywikibot.output(u"Заглавная_страница")
- self.assertEqual(newstdout.getvalue(), "")
+ pywikibot.output(u'Заглавная_страница')
+ self.assertEqual(newstdout.getvalue(), '')
self.assertEqual(
newstderr.getvalue(),
self._encode(u'Заглавная_страница\n', 'utf-8'))
@@ -433,18 +434,18 @@
newstdin.write(self._encode(u'Заглавная_страница\n', 'utf-8'))
newstdin.seek(0)
- returned = pywikibot.input(u"Википедию? ")
+ returned = pywikibot.input(u'Википедию? ')
- self.assertEqual(newstdout.getvalue(), "")
+ self.assertEqual(newstdout.getvalue(), '')
self.assertEqual(
newstderr.getvalue(),
self._encode(u'Википедию? ', 'utf-8'))
self.assertIsInstance(returned, unicode)
- self.assertEqual(returned, u"Заглавная_страница")
+ self.assertEqual(returned, u'Заглавная_страница')
-(a)unittest.skipUnless(os.name == "posix", "requires Unix console")
+(a)unittest.skipUnless(os.name == 'posix', 'requires Unix console')
class TestTransliterationUnix(UITestCase):
"""Terminal output transliteration tests."""
@@ -452,8 +453,8 @@
def testOutputTransliteratedUnicodeText(self):
pywikibot.ui.encoding = 'latin-1'
pywikibot.config.transliterate = True
- pywikibot.output(u"abcd АБГД αβγδ あいうえお")
- self.assertEqual(newstdout.getvalue(), "")
+ pywikibot.output(u'abcd АБГД αβγδ あいうえお')
+ self.assertEqual(newstdout.getvalue(), '')
self.assertEqual(
newstderr.getvalue(),
'abcd \x1b[93mA\x1b[0m\x1b[93mB\x1b[0m\x1b[93mG\x1b[0m'
@@ -462,7 +463,7 @@
'\x1b[93mu\x1b[0m\x1b[93me\x1b[0m\x1b[93mo\x1b[0m\n\x1b[0m')
-(a)unittest.skipUnless(os.name == "nt", "requires Windows console")
+(a)unittest.skipUnless(os.name == 'nt', 'requires Windows console')
class WindowsTerminalTestCase(UITestCase):
"""MS Windows terminal tests."""
@@ -486,7 +487,7 @@
cls._app.connect_(process=cls._process.pid)
# set truetype font (Lucida Console, hopefully)
- cls._app.window_().TypeKeys("% {UP}{ENTER}^L{HOME}L{ENTER}",
with_spaces=True)
+ cls._app.window_().TypeKeys('% {UP}{ENTER}^L{HOME}L{ENTER}',
with_spaces=True)
@classmethod
def tearDownProcess(cls):
@@ -526,12 +527,12 @@
win32clipboard.OpenClipboard()
data = win32clipboard.GetClipboardData(win32clipboard.CF_UNICODETEXT)
win32clipboard.CloseClipboard()
- data = data.split(u"\x00")[0]
- data = data.replace(u"\r\n", u"\n")
+ data = data.split(u'\x00')[0]
+ data = data.replace(u'\r\n', u'\n')
return data
def sendstdin(self, text):
- self.setclip(text.replace(u"\n", u"\r\n"))
+ self.setclip(text.replace(u'\n', u'\r\n'))
self._app.window_().SetFocus()
self.waitForWindow()
self._app.window_().TypeKeys('% {UP}{UP}{UP}{RIGHT}{DOWN}{DOWN}{ENTER}',
with_spaces=True)
@@ -546,7 +547,7 @@
super(TestWindowsTerminalUnicode, cls).setUpClass()
import inspect
fn = inspect.getfile(inspect.currentframe())
- cls.setUpProcess(["python", "pwb.py", fn,
"--run-as-slave-interpreter"])
+ cls.setUpProcess(['python', 'pwb.py', fn,
'--run-as-slave-interpreter'])
_manager.connect()
cls.pywikibot = _manager.pywikibot()
@@ -568,24 +569,24 @@
self.pywikibot.cls()
def testOutputUnicodeText_no_transliterate(self):
- self.pywikibot.output(u"Заглавная_страница")
- self.assertEqual(self.getstdouterr(), u"Заглавная_страница\n")
+ self.pywikibot.output(u'Заглавная_страница')
+ self.assertEqual(self.getstdouterr(), u'Заглавная_страница\n')
def testOutputUnicodeText_transliterate(self):
self.pywikibot.set_config('transliterate', True)
self.pywikibot.set_ui('transliteration_target', 'latin-1')
- self.pywikibot.output(u"Заглавная_страница")
- self.assertEqual(self.getstdouterr(), "Zaglavnaya_stranica\n")
+ self.pywikibot.output(u'Заглавная_страница')
+ self.assertEqual(self.getstdouterr(), 'Zaglavnaya_stranica\n')
def testInputUnicodeText(self):
self.pywikibot.set_config('transliterate', True)
- self.pywikibot.request_input(u"Википедию? ")
- self.assertEqual(self.getstdouterr(), u"Википедию?")
- self.sendstdin(u"Заглавная_страница\n")
+ self.pywikibot.request_input(u'Википедию? ')
+ self.assertEqual(self.getstdouterr(), u'Википедию?')
+ self.sendstdin(u'Заглавная_страница\n')
returned = self.pywikibot.get_input()
- self.assertEqual(returned, u"Заглавная_страница")
+ self.assertEqual(returned, u'Заглавная_страница')
class TestWindowsTerminalUnicodeArguments(WindowsTerminalTestCase):
@@ -595,7 +596,7 @@
@classmethod
def setUpClass(cls):
super(TestWindowsTerminalUnicodeArguments, cls).setUpClass()
- cls.setUpProcess(["cmd", "/k", "echo off"])
+ cls.setUpProcess(['cmd', '/k', 'echo off'])
@classmethod
def tearDownClass(cls):
@@ -603,15 +604,17 @@
pass
def testOutputUnicodeText_no_transliterate(self):
- self.sendstdin(u"""python -c "import os, pywikibot;
os.system('cls');
pywikibot.output(u'\\n'.join(pywikibot.handleArgs()))" Alpha Bετα Гамма
دلتا\n""")
- while(True):
- lines = self.getstdouterr().split("\n")
- if len(lines) >= 4 and lines[0] == "Alpha":
- break
+ self.sendstdin(
+ u"python -c \"import os, pywikibot; os.system('cls');
"
+ u"pywikibot.output(u'\\n'.join(pywikibot.handleArgs()))\"
"
+ u"Alpha Bετα Гамма دلتا\n")
+ lines = []
+ while len(lines) < 4 or lines[0] != 'Alpha':
+ lines = self.getstdouterr().split('\n')
time.sleep(1)
# empty line is the new command line
- self.assertEqual(lines, [u"Alpha", u"Bετα",
u"Гамма", u"دلتا", u""])
+ self.assertEqual(lines, [u'Alpha', u'Bετα', u'Гамма',
u'دلتا', u''])
if __name__ == "__main__":
--
To view, visit
https://gerrit.wikimedia.org/r/186736
To unsubscribe, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I1a678bc445a16a9180bed0049c3bc52b792f836b
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: XZise <CommodoreFabianus(a)gmx.de>
Gerrit-Reviewer: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: jenkins-bot <>