From c7beb2e60c2d957758c625f7043782c5480b07f9 Mon Sep 17 00:00:00 2001 From: MMGen Date: Sat, 25 May 2019 12:50:08 +0000 Subject: [PATCH] test.py: add utf8 output tests --- test/misc/utf8_output.py | 18 ++++++++++++++++++ test/test.py | 2 ++ test/test_py_d/ts_misc.py | 21 +++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100755 test/misc/utf8_output.py diff --git a/test/misc/utf8_output.py b/test/misc/utf8_output.py new file mode 100755 index 00000000..cc339117 --- /dev/null +++ b/test/misc/utf8_output.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +from mmgen.common import * + +cmd_args = opts.init({'text': { 'desc': '', 'usage':'', 'options':'' }}) + +from mmgen.util import msg + +text = { + 'gr': 'Greek text: {}'.format(''.join(map(chr,list(range(913,939))))), + 'ru': 'Russian text: {}'.format(''.join(map(chr,list(range(1040,1072))))), + 'zh': 'Chinese text: {}'.format('所以,我們非常需要這樣一種電子支付系統,它基於密碼學原理而不基於信用,'), + 'jp': 'Japanese text: {}'.format('必要なのは、信用ではなく暗号化された証明に基づく電子取引システムであり、') +} + +assert cmd_args[0] in text,'argument must be one of {}'.format(list(text.keys())) + +msg(text[cmd_args[0]]) diff --git a/test/test.py b/test/test.py index 5b135376..5255e620 100755 --- a/test/test.py +++ b/test/test.py @@ -447,6 +447,7 @@ class CmdGroupMgr(object): 'ref_altcoin': ('TestSuiteRefAltcoin',{}), 'tool': ('TestSuiteTool',{'modname':'misc','full_data':True}), 'input': ('TestSuiteInput',{'modname':'misc','full_data':True}), + 'output': ('TestSuiteOutput',{'modname':'misc','full_data':True}), 'regtest': ('TestSuiteRegtest',{}), # 'chainsplit': ('TestSuiteChainsplit',{}), 'ethdev': ('TestSuiteEthdev',{}), @@ -464,6 +465,7 @@ class CmdGroupMgr(object): 'ref_altcoin', 'tool', 'input', + 'output', 'autosign_minimal', 'regtest', 'ethdev') diff --git a/test/test_py_d/ts_misc.py b/test/test_py_d/ts_misc.py index f108625a..f8462c0c 100755 --- a/test/test_py_d/ts_misc.py +++ b/test/test_py_d/ts_misc.py @@ -77,6 +77,27 @@ class TestSuiteHelp(TestSuiteBase): self._run_cmd('test.py',['-L'],cmd_dir='test',extra_desc='(cmd group list)') return self._run_cmd('test.py',['-l'],cmd_dir='test',extra_desc='(cmd list)') +class TestSuiteOutput(TestSuiteBase): + 'screen output tests' + networks = ('btc',) + tmpdir_nums = [] + cmd_group = ( + ('output_gr', (1,"Greek text", [])), + ('output_ru', (1,"Russian text", [])), + ('output_zh', (1,"Chinese text", [])), + ('output_jp', (1,"Japanese text", [])) + ) + + def screen_output(self,lang): + t = self.spawn('test/misc/utf8_output.py',[lang],cmd_dir='.') + t.read() + return t + + def output_gr(self): return self.screen_output('gr') + def output_ru(self): return self.screen_output('ru') + def output_zh(self): return self.screen_output('zh') + def output_jp(self): return self.screen_output('jp') + class TestSuiteInput(TestSuiteBase): 'user input tests' networks = ('btc',)