# -*- coding: utf-8 -*-
from webapp2_extras import json
import test_base
class TestJson(test_base.BaseTestCase):
def test_encode(self):
self.assertEqual(json.encode(
'<script>alert("hello")</script>'),
'"<script>alert(\\"hello\\")<\\/script>"')
def test_decode(self):
self.assertEqual(json.decode(
'"<script>alert(\\"hello\\")<\\/script>"'),
'<script>alert("hello")</script>')
def test_b64encode(self):
self.assertEqual(json.b64encode(
'<script>alert("hello")</script>'),
'IjxzY3JpcHQ+YWxlcnQoXCJoZWxsb1wiKTxcL3NjcmlwdD4i')
def test_b64decode(self):
self.assertEqual(json.b64decode(
'IjxzY3JpcHQ+YWxlcnQoXCJoZWxsb1wiKTxcL3NjcmlwdD4i'),
'<script>alert("hello")</script>')
def test_quote(self):
self.assertEqual(json.quote('<script>alert("hello")</script>'),
'%22%3Cscript%3Ealert%28%5C%22hello%5C%22%29%3C%5C/script%3E%22')
def test_unquote(self):
self.assertEqual(json.unquote('%22%3Cscript%3Ealert%28%5C%22hello%5C%22%29%3C%5C/script%3E%22'),
'<script>alert("hello")</script>')
if __name__ == '__main__':
test_base.main()