From d11c25e2d7fb9e1223b342e58baaa0400992f208 Mon Sep 17 00:00:00 2001 From: Armin Ronacher Date: Wed, 22 May 2013 02:12:20 +0100 Subject: Fixed splitting API on Python 3 --- markupsafe/__init__.py | 6 +++--- markupsafe/tests.py | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/markupsafe/__init__.py b/markupsafe/__init__.py index ea67117..a6e744a 100644 --- a/markupsafe/__init__.py +++ b/markupsafe/__init__.py @@ -108,15 +108,15 @@ class Markup(text_type): join.__doc__ = text_type.join.__doc__ def split(self, *args, **kwargs): - return map(self.__class__, text_type.split(self, *args, **kwargs)) + return list(map(self.__class__, text_type.split(self, *args, **kwargs))) split.__doc__ = text_type.split.__doc__ def rsplit(self, *args, **kwargs): - return map(self.__class__, text_type.rsplit(self, *args, **kwargs)) + return list(map(self.__class__, text_type.rsplit(self, *args, **kwargs))) rsplit.__doc__ = text_type.rsplit.__doc__ def splitlines(self, *args, **kwargs): - return map(self.__class__, text_type.splitlines(self, *args, **kwargs)) + return list(map(self.__class__, text_type.splitlines(self, *args, **kwargs))) splitlines.__doc__ = text_type.splitlines.__doc__ def unescape(self): diff --git a/markupsafe/tests.py b/markupsafe/tests.py index 8effae0..703cfa6 100644 --- a/markupsafe/tests.py +++ b/markupsafe/tests.py @@ -75,6 +75,20 @@ class MarkupTestCase(unittest.TestCase): assert escape(None) == Markup(None) assert escape_silent('') == Markup(u'<foo>') + def test_splitting(self): + self.assertEqual(Markup('a b').split(), [ + Markup('a'), + Markup('b') + ]) + self.assertEqual(Markup('a b').rsplit(), [ + Markup('a'), + Markup('b') + ]) + self.assertEqual(Markup('a\nb').splitlines(), [ + Markup('a'), + Markup('b') + ]) + class MarkupLeakTestCase(unittest.TestCase): -- cgit v1.2.1