|
| 1 | +# -*- coding: utf-8 -*- |
| 2 | + |
1 | 3 | try: |
2 | 4 | import unittest2 as unittest |
3 | 5 | except ImportError: |
4 | 6 | import unittest |
5 | 7 |
|
6 | 8 | from bpython import inspection |
| 9 | +from bpython.test.fodder import encoding_ascii |
| 10 | +from bpython.test.fodder import encoding_latin1 |
| 11 | +from bpython.test.fodder import encoding_utf8 |
| 12 | + |
| 13 | +foo_ascii_only = u'''def foo(): |
| 14 | + """Test""" |
| 15 | + pass |
| 16 | +''' |
| 17 | + |
| 18 | +foo_non_ascii = u'''def foo(): |
| 19 | + """Test äöü""" |
| 20 | + pass |
| 21 | +''' |
| 22 | + |
7 | 23 |
|
8 | 24 | class TestInspection(unittest.TestCase): |
9 | 25 | def test_is_callable(self): |
@@ -61,11 +77,30 @@ def spam(eggs=23, foobar="yay"): |
61 | 77 | self.assertEqual(repr(defaults[0]), "23") |
62 | 78 | self.assertEqual(repr(defaults[1]), "'yay'") |
63 | 79 |
|
64 | | - def test_get_encoding(self): |
65 | | - self.assertEqual(inspection.get_encoding(inspection), 'ascii') |
66 | | - from bpython.test import test_curtsies_painting |
67 | | - self.assertEqual(inspection.get_encoding(test_curtsies_painting), 'utf8') |
| 80 | + def test_get_encoding_ascii(self): |
| 81 | + self.assertEqual(inspection.get_encoding(encoding_ascii), 'ascii') |
| 82 | + self.assertEqual(inspection.get_encoding(encoding_ascii.foo), 'ascii') |
| 83 | + |
| 84 | + def test_get_encoding_latin1(self): |
| 85 | + self.assertEqual(inspection.get_encoding(encoding_latin1), 'latin1') |
| 86 | + self.assertEqual(inspection.get_encoding(encoding_latin1.foo), |
| 87 | + 'latin1') |
| 88 | + |
| 89 | + def test_get_encoding_utf8(self): |
| 90 | + self.assertEqual(inspection.get_encoding(encoding_utf8), 'utf-8') |
| 91 | + self.assertEqual(inspection.get_encoding(encoding_utf8.foo), 'utf-8') |
| 92 | + |
| 93 | + def test_get_source_ascii(self): |
| 94 | + self.assertEqual(inspection.get_source_unicode(encoding_ascii.foo), |
| 95 | + foo_ascii_only) |
| 96 | + |
| 97 | + def test_get_source_utf8(self): |
| 98 | + self.assertEqual(inspection.get_source_unicode(encoding_utf8.foo), |
| 99 | + foo_non_ascii) |
68 | 100 |
|
| 101 | + def test_get_source_latin1(self): |
| 102 | + self.assertEqual(inspection.get_source_unicode(encoding_latin1.foo), |
| 103 | + foo_non_ascii) |
69 | 104 |
|
70 | 105 | if __name__ == '__main__': |
71 | 106 | unittest.main() |
0 commit comments