summaryrefslogtreecommitdiff
path: root/simplejson/tests/test_str_subclass.py
blob: b6c8351f2648aa76c1481636a3f2889c0ba49b83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from unittest import TestCase

import simplejson
from simplejson.compat import text_type

# Tests for issue demonstrated in https://github.com/simplejson/simplejson/issues/144
class WonkyTextSubclass(text_type):
    def __getslice__(self, start, end):
        return self.__class__('not what you wanted!')

class TestStrSubclass(TestCase):
    def test_dump_load(self):
        for s in ['', '"hello"', 'text', u'\u005c']:
            self.assertEqual(
                s,
                simplejson.loads(simplejson.dumps(WonkyTextSubclass(s))))

            self.assertEqual(
                s,
                simplejson.loads(simplejson.dumps(WonkyTextSubclass(s),
                                                  ensure_ascii=False)))