summaryrefslogtreecommitdiff
path: root/simplejson/tests/test_unicode.py
blob: 3a41016debe1fd60bed2316fda7fca6444969d42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import simplejson as S

def test_encoding1():
    encoder = S.JSONEncoder(encoding='utf-8')
    u = u'\N{GREEK SMALL LETTER ALPHA}\N{GREEK CAPITAL LETTER OMEGA}'
    s = u.encode('utf-8')
    ju = encoder.encode(u)
    js = encoder.encode(s)
    assert ju == js
    
def test_encoding2():
    u = u'\N{GREEK SMALL LETTER ALPHA}\N{GREEK CAPITAL LETTER OMEGA}'
    s = u.encode('utf-8')
    ju = S.dumps(u, encoding='utf-8')
    js = S.dumps(s, encoding='utf-8')
    assert ju == js

def test_big_unicode_encode():
    u = u'\U0001d120'
    assert S.dumps(u) == '"\\ud834\\udd20"'
    assert S.dumps(u, ensure_ascii=False) == '"\\ud834\\udd20"'

def test_big_unicode_decode():
    u = u'\U0001d120'
    assert S.loads('"' + u + '"') == u
    assert S.loads('"\\ud834\\udd20"') == u