|
| 1 | +# -*- coding: utf-8 -*- |
1 | 2 | from __future__ import absolute_import, print_function, unicode_literals |
2 | 3 |
|
3 | 4 | from wolframclient.utils import six |
4 | 5 | from wolframclient.utils.dispatch import Dispatch |
| 6 | +from wolframclient.utils.encoding import force_bytes, force_text |
5 | 7 | from wolframclient.utils.functional import composition, flatten, iterate, partition, riffle |
6 | 8 | from wolframclient.utils.tests import TestCase as BaseTestCase |
7 | 9 |
|
@@ -38,6 +40,24 @@ def test_partition(self): |
38 | 40 |
|
39 | 41 | self.assertEqual(list(partition([], 3)), []) |
40 | 42 |
|
| 43 | + def test_force_encoding(self): |
| 44 | + |
| 45 | + self.assertEqual(force_text("aà"), "aà") |
| 46 | + self.assertEqual(force_text(abs), "<built-in function abs>") |
| 47 | + self.assertEqual(force_text(b"a\xc3\xa0"), "aà") |
| 48 | + |
| 49 | + self.assertEqual(force_text(memoryview(b"abc")), "abc") |
| 50 | + self.assertEqual(force_text(bytearray(b"abc")), "abc") |
| 51 | + |
| 52 | + self.assertEqual(force_bytes(b"abc"), b"abc") |
| 53 | + self.assertEqual(force_bytes(abs), b"<built-in function abs>") |
| 54 | + self.assertEqual(force_bytes("aà"), b"a\xc3\xa0") |
| 55 | + |
| 56 | + self.assertEqual(force_text(force_bytes("aà")), "aà") |
| 57 | + |
| 58 | + self.assertEqual(force_bytes(memoryview(b"abc")), b"abc") |
| 59 | + self.assertEqual(force_bytes(bytearray(b"abc")), b"abc") |
| 60 | + |
41 | 61 | def test_dispatch(self): |
42 | 62 |
|
43 | 63 | normalizer = Dispatch() |
|
0 commit comments