diff options
author | shadchin <shadchin@yandex-team.ru> | 2022-02-10 16:44:30 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:30 +0300 |
commit | 2598ef1d0aee359b4b6d5fdd1758916d5907d04f (patch) | |
tree | 012bb94d777798f1f56ac1cec429509766d05181 /contrib/python/wcwidth/tests | |
parent | 6751af0b0c1b952fede40b19b71da8025b5d8bcf (diff) | |
download | ydb-2598ef1d0aee359b4b6d5fdd1758916d5907d04f.tar.gz |
Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/python/wcwidth/tests')
-rwxr-xr-x | contrib/python/wcwidth/tests/test_core.py | 308 | ||||
-rw-r--r-- | contrib/python/wcwidth/tests/test_ucslevel.py | 368 | ||||
-rw-r--r-- | contrib/python/wcwidth/tests/ya.make | 32 |
3 files changed, 354 insertions, 354 deletions
diff --git a/contrib/python/wcwidth/tests/test_core.py b/contrib/python/wcwidth/tests/test_core.py index e61a27efd7..b5941a11d9 100755 --- a/contrib/python/wcwidth/tests/test_core.py +++ b/contrib/python/wcwidth/tests/test_core.py @@ -1,154 +1,154 @@ -# coding: utf-8 -"""Core tests for wcwidth module.""" -# 3rd party -import pkg_resources - -# local -import wcwidth - - -def test_package_version(): - """wcwidth.__version__ is expected value.""" - # given, - expected = pkg_resources.get_distribution('wcwidth').version - - # exercise, - result = wcwidth.__version__ - - # verify. - assert result == expected - - -def test_hello_jp(): - u""" - Width of Japanese phrase: コンニチハ, セカイ! - - Given a phrase of 5 and 3 Katakana ideographs, joined with - 3 English-ASCII punctuation characters, totaling 11, this - phrase consumes 19 cells of a terminal emulator. - """ - # given, - phrase = u'コンニチハ, セカイ!' - expect_length_each = (2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 1) - expect_length_phrase = sum(expect_length_each) - - # exercise, - length_each = tuple(map(wcwidth.wcwidth, phrase)) - length_phrase = wcwidth.wcswidth(phrase) - - # verify. - assert length_each == expect_length_each - assert length_phrase == expect_length_phrase - - -def test_wcswidth_substr(): - """ - Test wcswidth() optional 2nd parameter, ``n``. - - ``n`` determines at which position of the string - to stop counting length. - """ - # given, - phrase = u'コンニチハ, セカイ!' - end = 7 - expect_length_each = (2, 2, 2, 2, 2, 1, 1,) - expect_length_phrase = sum(expect_length_each) - - # exercise, - length_phrase = wcwidth.wcswidth(phrase, end) - - # verify. - assert length_phrase == expect_length_phrase - - -def test_null_width_0(): - """NULL (0) reports width 0.""" - # given, - phrase = u'abc\x00def' - expect_length_each = (1, 1, 1, 0, 1, 1, 1) - expect_length_phrase = sum(expect_length_each) - - # exercise, - length_each = tuple(map(wcwidth.wcwidth, phrase)) - length_phrase = wcwidth.wcswidth(phrase, len(phrase)) - - # verify. - assert length_each == expect_length_each - assert length_phrase == expect_length_phrase - - -def test_control_c0_width_negative_1(): - """CSI (Control sequence initiate) reports width -1 for ESC.""" - # given, - phrase = u'\x1b[0m' - expect_length_each = (-1, 1, 1, 1) - expect_length_phrase = -1 - - # exercise, - length_each = tuple(map(wcwidth.wcwidth, phrase)) - length_phrase = wcwidth.wcswidth(phrase, len(phrase)) - - # verify. - assert length_each == expect_length_each - assert length_phrase == expect_length_phrase - - -def test_combining_width(): - """Simple test combining reports total width of 4.""" - # given, - phrase = u'--\u05bf--' - expect_length_each = (1, 1, 0, 1, 1) - expect_length_phrase = 4 - - # exercise, - length_each = tuple(map(wcwidth.wcwidth, phrase)) - length_phrase = wcwidth.wcswidth(phrase, len(phrase)) - - # verify. - assert length_each == expect_length_each - assert length_phrase == expect_length_phrase - - -def test_combining_cafe(): - u"""Phrase cafe + COMBINING ACUTE ACCENT is café of length 4.""" - phrase = u"cafe\u0301" - expect_length_each = (1, 1, 1, 1, 0) - expect_length_phrase = 4 - - # exercise, - length_each = tuple(map(wcwidth.wcwidth, phrase)) - length_phrase = wcwidth.wcswidth(phrase, len(phrase)) - - # verify. - assert length_each == expect_length_each - assert length_phrase == expect_length_phrase - - -def test_combining_enclosing(): - u"""CYRILLIC CAPITAL LETTER A + COMBINING CYRILLIC HUNDRED THOUSANDS SIGN is А҈ of length 1.""" - phrase = u"\u0410\u0488" - expect_length_each = (1, 0) - expect_length_phrase = 1 - - # exercise, - length_each = tuple(map(wcwidth.wcwidth, phrase)) - length_phrase = wcwidth.wcswidth(phrase, len(phrase)) - - # verify. - assert length_each == expect_length_each - assert length_phrase == expect_length_phrase - - -def test_combining_spacing(): - u"""Balinese kapal (ship) is ᬓᬨᬮ᭄ of length 4.""" - phrase = u"\u1B13\u1B28\u1B2E\u1B44" - expect_length_each = (1, 1, 1, 1) - expect_length_phrase = 4 - - # exercise, - length_each = tuple(map(wcwidth.wcwidth, phrase)) - length_phrase = wcwidth.wcswidth(phrase, len(phrase)) - - # verify. - assert length_each == expect_length_each - assert length_phrase == expect_length_phrase +# coding: utf-8 +"""Core tests for wcwidth module.""" +# 3rd party +import pkg_resources + +# local +import wcwidth + + +def test_package_version(): + """wcwidth.__version__ is expected value.""" + # given, + expected = pkg_resources.get_distribution('wcwidth').version + + # exercise, + result = wcwidth.__version__ + + # verify. + assert result == expected + + +def test_hello_jp(): + u""" + Width of Japanese phrase: コンニチハ, セカイ! + + Given a phrase of 5 and 3 Katakana ideographs, joined with + 3 English-ASCII punctuation characters, totaling 11, this + phrase consumes 19 cells of a terminal emulator. + """ + # given, + phrase = u'コンニチハ, セカイ!' + expect_length_each = (2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 1) + expect_length_phrase = sum(expect_length_each) + + # exercise, + length_each = tuple(map(wcwidth.wcwidth, phrase)) + length_phrase = wcwidth.wcswidth(phrase) + + # verify. + assert length_each == expect_length_each + assert length_phrase == expect_length_phrase + + +def test_wcswidth_substr(): + """ + Test wcswidth() optional 2nd parameter, ``n``. + + ``n`` determines at which position of the string + to stop counting length. + """ + # given, + phrase = u'コンニチハ, セカイ!' + end = 7 + expect_length_each = (2, 2, 2, 2, 2, 1, 1,) + expect_length_phrase = sum(expect_length_each) + + # exercise, + length_phrase = wcwidth.wcswidth(phrase, end) + + # verify. + assert length_phrase == expect_length_phrase + + +def test_null_width_0(): + """NULL (0) reports width 0.""" + # given, + phrase = u'abc\x00def' + expect_length_each = (1, 1, 1, 0, 1, 1, 1) + expect_length_phrase = sum(expect_length_each) + + # exercise, + length_each = tuple(map(wcwidth.wcwidth, phrase)) + length_phrase = wcwidth.wcswidth(phrase, len(phrase)) + + # verify. + assert length_each == expect_length_each + assert length_phrase == expect_length_phrase + + +def test_control_c0_width_negative_1(): + """CSI (Control sequence initiate) reports width -1 for ESC.""" + # given, + phrase = u'\x1b[0m' + expect_length_each = (-1, 1, 1, 1) + expect_length_phrase = -1 + + # exercise, + length_each = tuple(map(wcwidth.wcwidth, phrase)) + length_phrase = wcwidth.wcswidth(phrase, len(phrase)) + + # verify. + assert length_each == expect_length_each + assert length_phrase == expect_length_phrase + + +def test_combining_width(): + """Simple test combining reports total width of 4.""" + # given, + phrase = u'--\u05bf--' + expect_length_each = (1, 1, 0, 1, 1) + expect_length_phrase = 4 + + # exercise, + length_each = tuple(map(wcwidth.wcwidth, phrase)) + length_phrase = wcwidth.wcswidth(phrase, len(phrase)) + + # verify. + assert length_each == expect_length_each + assert length_phrase == expect_length_phrase + + +def test_combining_cafe(): + u"""Phrase cafe + COMBINING ACUTE ACCENT is café of length 4.""" + phrase = u"cafe\u0301" + expect_length_each = (1, 1, 1, 1, 0) + expect_length_phrase = 4 + + # exercise, + length_each = tuple(map(wcwidth.wcwidth, phrase)) + length_phrase = wcwidth.wcswidth(phrase, len(phrase)) + + # verify. + assert length_each == expect_length_each + assert length_phrase == expect_length_phrase + + +def test_combining_enclosing(): + u"""CYRILLIC CAPITAL LETTER A + COMBINING CYRILLIC HUNDRED THOUSANDS SIGN is А҈ of length 1.""" + phrase = u"\u0410\u0488" + expect_length_each = (1, 0) + expect_length_phrase = 1 + + # exercise, + length_each = tuple(map(wcwidth.wcwidth, phrase)) + length_phrase = wcwidth.wcswidth(phrase, len(phrase)) + + # verify. + assert length_each == expect_length_each + assert length_phrase == expect_length_phrase + + +def test_combining_spacing(): + u"""Balinese kapal (ship) is ᬓᬨᬮ᭄ of length 4.""" + phrase = u"\u1B13\u1B28\u1B2E\u1B44" + expect_length_each = (1, 1, 1, 1) + expect_length_phrase = 4 + + # exercise, + length_each = tuple(map(wcwidth.wcwidth, phrase)) + length_phrase = wcwidth.wcswidth(phrase, len(phrase)) + + # verify. + assert length_each == expect_length_each + assert length_phrase == expect_length_phrase diff --git a/contrib/python/wcwidth/tests/test_ucslevel.py b/contrib/python/wcwidth/tests/test_ucslevel.py index 0e2ff668ea..1ccded2280 100644 --- a/contrib/python/wcwidth/tests/test_ucslevel.py +++ b/contrib/python/wcwidth/tests/test_ucslevel.py @@ -1,184 +1,184 @@ -# coding: utf-8 -"""Unicode version level tests for wcwidth.""" -# std imports -import json -import warnings - -# 3rd party -import pytest -import pkg_resources - -# local -import wcwidth - - -def test_latest(): - """wcwidth._wcmatch_version('latest') returns tail item.""" - # given, - expected = wcwidth.list_versions()[-1] - - # exercise, - result = wcwidth._wcmatch_version('latest') - - # verify. - assert result == expected - - -def test_exact_410_str(): - """wcwidth._wcmatch_version('4.1.0') returns equal value (str).""" - # given, - given = expected = '4.1.0' - - # exercise, - result = wcwidth._wcmatch_version(given) - - # verify. - assert result == expected - - -def test_exact_410_unicode(): - """wcwidth._wcmatch_version(u'4.1.0') returns equal value (unicode).""" - # given, - given = expected = u'4.1.0' - - # exercise, - result = wcwidth._wcmatch_version(given) - - # verify. - assert result == expected - - -def test_nearest_505_str(): - """wcwidth._wcmatch_version('5.0.5') returns nearest '5.0.0'. (str)""" - # given - given, expected = '5.0.5', '5.0.0' - - # exercise - result = wcwidth._wcmatch_version(given) - - # verify. - assert result == expected - - -def test_nearest_505_unicode(): - """wcwidth._wcmatch_version(u'5.0.5') returns nearest u'5.0.0'. (unicode)""" - # given - given, expected = u'5.0.5', u'5.0.0' - - # exercise - result = wcwidth._wcmatch_version(given) - - # verify. - assert result == expected - - -def test_nearest_lowint40_str(): - """wcwidth._wcmatch_version('4.0') returns nearest '4.1.0'.""" - # given - given, expected = '4.0', '4.1.0' - warnings.resetwarnings() - wcwidth._wcmatch_version.cache_clear() - - # exercise - with pytest.warns(UserWarning): - # warns that given version is lower than any available - result = wcwidth._wcmatch_version(given) - - # verify. - assert result == expected - - -def test_nearest_lowint40_unicode(): - """wcwidth._wcmatch_version(u'4.0') returns nearest u'4.1.0'.""" - # given - given, expected = u'4.0', u'4.1.0' - warnings.resetwarnings() - wcwidth._wcmatch_version.cache_clear() - - # exercise - with pytest.warns(UserWarning): - # warns that given version is lower than any available - result = wcwidth._wcmatch_version(given) - - # verify. - assert result == expected - - -def test_nearest_800_str(): - """wcwidth._wcmatch_version('8') returns nearest '8.0.0'.""" - # given - given, expected = '8', '8.0.0' - - # exercise - result = wcwidth._wcmatch_version(given) - - # verify. - assert result == expected - - -def test_nearest_800_unicode(): - """wcwidth._wcmatch_version(u'8') returns nearest u'8.0.0'.""" - # given - given, expected = u'8', u'8.0.0' - - # exercise - result = wcwidth._wcmatch_version(given) - - # verify. - assert result == expected - - -def test_nearest_999_str(): - """wcwidth._wcmatch_version('999.0') returns nearest (latest).""" - # given - given, expected = '999.0', wcwidth.list_versions()[-1] - - # exercise - result = wcwidth._wcmatch_version(given) - - # verify. - assert result == expected - - -def test_nearest_999_unicode(): - """wcwidth._wcmatch_version(u'999.0') returns nearest (latest).""" - # given - given, expected = u'999.0', wcwidth.list_versions()[-1] - - # exercise - result = wcwidth._wcmatch_version(given) - - # verify. - assert result == expected - - -def test_nonint_unicode(): - """wcwidth._wcmatch_version(u'x.y.z') returns latest (unicode).""" - # given - given, expected = u'x.y.z', wcwidth.list_versions()[-1] - warnings.resetwarnings() - wcwidth._wcmatch_version.cache_clear() - - # exercise - with pytest.warns(UserWarning): - # warns that given version is not valid - result = wcwidth._wcmatch_version(given) - - # verify. - assert result == expected - - -def test_nonint_str(): - """wcwidth._wcmatch_version(u'x.y.z') returns latest (str).""" - # given - given, expected = 'x.y.z', wcwidth.list_versions()[-1] - warnings.resetwarnings() - wcwidth._wcmatch_version.cache_clear() - - # exercise - with pytest.warns(UserWarning): - # warns that given version is not valid - result = wcwidth._wcmatch_version(given) - - # verify. - assert result == expected +# coding: utf-8 +"""Unicode version level tests for wcwidth.""" +# std imports +import json +import warnings + +# 3rd party +import pytest +import pkg_resources + +# local +import wcwidth + + +def test_latest(): + """wcwidth._wcmatch_version('latest') returns tail item.""" + # given, + expected = wcwidth.list_versions()[-1] + + # exercise, + result = wcwidth._wcmatch_version('latest') + + # verify. + assert result == expected + + +def test_exact_410_str(): + """wcwidth._wcmatch_version('4.1.0') returns equal value (str).""" + # given, + given = expected = '4.1.0' + + # exercise, + result = wcwidth._wcmatch_version(given) + + # verify. + assert result == expected + + +def test_exact_410_unicode(): + """wcwidth._wcmatch_version(u'4.1.0') returns equal value (unicode).""" + # given, + given = expected = u'4.1.0' + + # exercise, + result = wcwidth._wcmatch_version(given) + + # verify. + assert result == expected + + +def test_nearest_505_str(): + """wcwidth._wcmatch_version('5.0.5') returns nearest '5.0.0'. (str)""" + # given + given, expected = '5.0.5', '5.0.0' + + # exercise + result = wcwidth._wcmatch_version(given) + + # verify. + assert result == expected + + +def test_nearest_505_unicode(): + """wcwidth._wcmatch_version(u'5.0.5') returns nearest u'5.0.0'. (unicode)""" + # given + given, expected = u'5.0.5', u'5.0.0' + + # exercise + result = wcwidth._wcmatch_version(given) + + # verify. + assert result == expected + + +def test_nearest_lowint40_str(): + """wcwidth._wcmatch_version('4.0') returns nearest '4.1.0'.""" + # given + given, expected = '4.0', '4.1.0' + warnings.resetwarnings() + wcwidth._wcmatch_version.cache_clear() + + # exercise + with pytest.warns(UserWarning): + # warns that given version is lower than any available + result = wcwidth._wcmatch_version(given) + + # verify. + assert result == expected + + +def test_nearest_lowint40_unicode(): + """wcwidth._wcmatch_version(u'4.0') returns nearest u'4.1.0'.""" + # given + given, expected = u'4.0', u'4.1.0' + warnings.resetwarnings() + wcwidth._wcmatch_version.cache_clear() + + # exercise + with pytest.warns(UserWarning): + # warns that given version is lower than any available + result = wcwidth._wcmatch_version(given) + + # verify. + assert result == expected + + +def test_nearest_800_str(): + """wcwidth._wcmatch_version('8') returns nearest '8.0.0'.""" + # given + given, expected = '8', '8.0.0' + + # exercise + result = wcwidth._wcmatch_version(given) + + # verify. + assert result == expected + + +def test_nearest_800_unicode(): + """wcwidth._wcmatch_version(u'8') returns nearest u'8.0.0'.""" + # given + given, expected = u'8', u'8.0.0' + + # exercise + result = wcwidth._wcmatch_version(given) + + # verify. + assert result == expected + + +def test_nearest_999_str(): + """wcwidth._wcmatch_version('999.0') returns nearest (latest).""" + # given + given, expected = '999.0', wcwidth.list_versions()[-1] + + # exercise + result = wcwidth._wcmatch_version(given) + + # verify. + assert result == expected + + +def test_nearest_999_unicode(): + """wcwidth._wcmatch_version(u'999.0') returns nearest (latest).""" + # given + given, expected = u'999.0', wcwidth.list_versions()[-1] + + # exercise + result = wcwidth._wcmatch_version(given) + + # verify. + assert result == expected + + +def test_nonint_unicode(): + """wcwidth._wcmatch_version(u'x.y.z') returns latest (unicode).""" + # given + given, expected = u'x.y.z', wcwidth.list_versions()[-1] + warnings.resetwarnings() + wcwidth._wcmatch_version.cache_clear() + + # exercise + with pytest.warns(UserWarning): + # warns that given version is not valid + result = wcwidth._wcmatch_version(given) + + # verify. + assert result == expected + + +def test_nonint_str(): + """wcwidth._wcmatch_version(u'x.y.z') returns latest (str).""" + # given + given, expected = 'x.y.z', wcwidth.list_versions()[-1] + warnings.resetwarnings() + wcwidth._wcmatch_version.cache_clear() + + # exercise + with pytest.warns(UserWarning): + # warns that given version is not valid + result = wcwidth._wcmatch_version(given) + + # verify. + assert result == expected diff --git a/contrib/python/wcwidth/tests/ya.make b/contrib/python/wcwidth/tests/ya.make index 560d9b4002..9ebaad9237 100644 --- a/contrib/python/wcwidth/tests/ya.make +++ b/contrib/python/wcwidth/tests/ya.make @@ -1,16 +1,16 @@ -PY23_TEST() - -OWNER(g:python-contrib) - -PEERDIR( - contrib/python/wcwidth -) - -TEST_SRCS( - test_core.py - test_ucslevel.py -) - -NO_LINT() - -END() +PY23_TEST() + +OWNER(g:python-contrib) + +PEERDIR( + contrib/python/wcwidth +) + +TEST_SRCS( + test_core.py + test_ucslevel.py +) + +NO_LINT() + +END() |