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

import simplejson
from simplejson.compat import text_type, u

# 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))))