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