]>
git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/thrift/lib/py/test/thrift_json.py
2 # Licensed to the Apache Software Foundation (ASF) under one
3 # or more contributor license agreements. See the NOTICE file
4 # distributed with this work for additional information
5 # regarding copyright ownership. The ASF licenses this file
6 # to you under the Apache License, Version 2.0 (the
7 # "License"); you may not use this file except in compliance
8 # with the License. You may obtain a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing,
13 # software distributed under the License is distributed on an
14 # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 # KIND, either express or implied. See the License for the
16 # specific language governing permissions and limitations
23 import _import_local_thrift
# noqa
24 from thrift
.protocol
.TJSONProtocol
import TJSONProtocol
25 from thrift
.transport
import TTransport
28 # In order to run the test under Windows. We need to create symbolic link
29 # name 'thrift' to '../src' folder by using:
31 # mklink /D thrift ..\src
35 class TestJSONString(unittest
.TestCase
):
37 def test_escaped_unicode_string(self
):
38 unicode_json
= b
'"hello \\u0e01\\u0e02\\u0e03\\ud835\\udcab\\udb40\\udc70 unicode"'
39 unicode_text
= u
'hello \u0e01\u0e02\u0e03\U0001D4AB\U000E0070 unicode'
41 buf
= TTransport
.TMemoryBuffer(unicode_json
)
42 transport
= TTransport
.TBufferedTransportFactory().getTransport(buf
)
43 protocol
= TJSONProtocol(transport
)
45 if sys
.version_info
[0] == 2:
46 unicode_text
= unicode_text
.encode('utf8')
47 self
.assertEqual(protocol
.readString(), unicode_text
)
50 if __name__
== '__main__':