diff options
| author | Tomaz Solc <tomaz.solc@tablix.org> | 2011-09-21 17:54:59 +0200 |
|---|---|---|
| committer | Tomaz Solc <tomaz.solc@tablix.org> | 2011-09-22 16:56:07 +0200 |
| commit | 4f5d0a6600a22d32236663c8b23e6757f48b1663 (patch) | |
| tree | 8dfe5197dc37078561dbfbbb9083e7ba386de1a2 | |
| parent | 37cf5550dad2871edaf9e2f987e713d4eb33aa7c (diff) | |
| download | unidecode-4f5d0a6600a22d32236663c8b23e6757f48b1663.tar.gz | |
Always return a string object on Python 2.x
Before this patch, unidecode() returned a unicode object on Python 2.x if the input was a unicode object that contained ASCII characters. Behaviour on Python 3.x remains unchanged.
| -rw-r--r-- | tests/basic_2.py | 12 | ||||
| -rw-r--r-- | tests/basic_3.py | 12 | ||||
| -rw-r--r-- | unidecode/__init__.py | 2 |
3 files changed, 17 insertions, 9 deletions
diff --git a/tests/basic_2.py b/tests/basic_2.py index 778643e..4e07fa1 100644 --- a/tests/basic_2.py +++ b/tests/basic_2.py @@ -115,8 +115,10 @@ class TestUnidecode(unittest.TestCase): ''), ] - for input, output in TESTS: - self.failUnlessEqual(unidecode(input), output) + for input, correct_output in TESTS: + test_output = unidecode(input) + self.failUnlessEqual(test_output, correct_output) + self.failUnless(isinstance(test_output, str)) @unittest.skipIf(sys.maxunicode < 0x10000, "narrow build") def test_specific_wide(self): @@ -131,8 +133,10 @@ class TestUnidecode(unittest.TestCase): 'km/h'), ] - for input, output in TESTS: - self.failUnlessEqual(unidecode(input), output) + for input, correct_output in TESTS: + test_output = unidecode(input) + self.failUnlessEqual(test_output, correct_output) + self.failUnless(isinstance(test_output, str)) if __name__ == "__main__": unittest.main() diff --git a/tests/basic_3.py b/tests/basic_3.py index b6092a9..97d0553 100644 --- a/tests/basic_3.py +++ b/tests/basic_3.py @@ -101,8 +101,10 @@ class TestUnidecode(unittest.TestCase): ''), ] - for instr, output in TESTS: - self.failUnlessEqual(unidecode(instr), output) + for instr, correct_output in TESTS: + test_output = unidecode(instr) + self.failUnlessEqual(test_output, correct_output) + self.failUnless(isinstance(test_output, str)) @unittest.skipIf(sys.maxunicode < 0x10000, "narrow build") def test_specific_wide(self): @@ -117,5 +119,7 @@ class TestUnidecode(unittest.TestCase): 'km/h'), ] - for instr, output in TESTS: - self.failUnlessEqual(unidecode(instr), output) + for instr, correct_output in TESTS: + test_output = unidecode(instr) + self.failUnlessEqual(test_output, correct_output) + self.failUnless(isinstance(test_output, str)) diff --git a/unidecode/__init__.py b/unidecode/__init__.py index 1b04539..4a08bf0 100644 --- a/unidecode/__init__.py +++ b/unidecode/__init__.py @@ -28,7 +28,7 @@ def unidecode(string): codepoint = ord(char) if codepoint < 0x80: # Basic ASCII - retval.append(char) + retval.append(str(char)) continue if codepoint > 0xeffff: |
