3 from __future__
import absolute_import
, division
, unicode_literals
11 class CoreColaUnicodeTestCase(unittest
.TestCase
):
12 """Tests the cola.core module's unicode handling"""
14 def test_core_decode(self
):
15 """Test the core.decode function"""
16 filename
= helper
.fixture('unicode.txt')
17 expect
= core
.decode(core
.encode('unicøde'))
18 actual
= core
.read(filename
).strip()
19 self
.assertEqual(expect
, actual
)
21 def test_core_encode(self
):
22 """Test the core.encode function"""
23 filename
= helper
.fixture('unicode.txt')
24 expect
= core
.encode('unicøde')
25 actual
= core
.encode(core
.read(filename
).strip())
26 self
.assertEqual(expect
, actual
)
28 def test_decode_None(self
):
29 """Ensure that decode(None) returns None"""
31 actual
= core
.decode(None)
32 self
.assertEqual(expect
, actual
)
34 def test_decode_utf8(self
):
35 filename
= helper
.fixture('cyrillic-utf-8.txt')
36 actual
= core
.read(filename
)
37 self
.assertEqual(actual
.encoding
, 'utf-8')
39 def test_decode_non_utf8(self
):
40 filename
= helper
.fixture('cyrillic-cp1251.txt')
41 actual
= core
.read(filename
)
42 self
.assertEqual(actual
.encoding
, 'iso-8859-15')
44 def test_decode_non_utf8_string(self
):
45 filename
= helper
.fixture('cyrillic-cp1251.txt')
46 with
open(filename
, 'rb') as f
:
48 actual
= core
.decode(content
)
49 self
.assertEqual(actual
.encoding
, 'iso-8859-15')
51 def test_guess_mimetype(self
):
54 actual
= core
.guess_mimetype(value
)
55 self
.assertEqual(expect
, actual
)
56 # This function is robust to bytes vs. unicode
57 actual
= core
.guess_mimetype(core
.encode(value
))
58 self
.assertEqual(expect
, actual
)
61 if __name__
== '__main__':