From 3fe4a11f139eba8711c7194a4a05e5bbd9a36786 Mon Sep 17 00:00:00 2001 From: David Lord Date: Fri, 4 May 2018 13:28:40 -0700 Subject: convert to pytest --- tests/test_escape.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 tests/test_escape.py (limited to 'tests') diff --git a/tests/test_escape.py b/tests/test_escape.py new file mode 100644 index 0000000..cf09d6a --- /dev/null +++ b/tests/test_escape.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +import pytest + +from markupsafe import Markup, _native + +try: + from markupsafe import _speedups +except ImportError: + _speedups = None + + +@pytest.mark.parametrize('mod', ( + _native, + pytest.param(_speedups, marks=pytest.mark.skipif( + _speedups is None, reason='speedups unavailable')), +)) +@pytest.mark.parametrize(('value', 'expect'), ( + # empty + (u'', u''), + # ascii + (u'abcd&><\'"efgh', u'abcd&><'"efgh'), + (u'&><\'"efgh', u'&><'"efgh'), + (u'abcd&><\'"', u'abcd&><'"'), + # 2 byte + (u'こんにちは&><\'"こんばんは', + u'こんにちは&><'"こんばんは'), + (u'&><\'"こんばんは', u'&><'"こんばんは'), + (u'こんにちは&><\'"', u'こんにちは&><'"'), + # 4 byte + (u'\U0001F363\U0001F362&><\'"\U0001F37A xyz', u'\U0001F363\U0001F362&><'"\U0001F37A xyz'), + (u'&><\'"\U0001F37A xyz', u'&><'"\U0001F37A xyz'), + (u'\U0001F363\U0001F362&><\'"', u'\U0001F363\U0001F362&><'"'), +)) +def test_escape(mod, value, expect): + assert mod.escape(value) == Markup(expect) -- cgit v1.2.3