~ubuntu-branches/ubuntu/precise/enigmail/precise-security

« back to all changes in this revision

Viewing changes to python/simplejson-2.1.1/simplejson/tests/test_encode_for_html.py

  • Committer: Package Import Robot
  • Author(s): Chris Coulson
  • Date: 2012-11-12 16:36:01 UTC
  • mfrom: (0.12.15)
  • Revision ID: package-import@ubuntu.com-20121112163601-t8e8skdfi3ni9iqp
Tags: 2:1.4.6-0ubuntu0.12.04.1
* New upstream release v1.4.6
  - see LP: #1080212 for USN information
* Drop unneeded patches
  - remove debian/patches/correct-version-number.diff
  - remove debian/patches/dont_register_cids_multiple_times.diff
  - update debian/patches/series
* Support building in an objdir
  - update debian/rules

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import unittest
 
2
 
 
3
import simplejson.decoder
 
4
import simplejson.encoder
 
5
 
 
6
 
 
7
class TestEncodeForHTML(unittest.TestCase):
 
8
 
 
9
    def setUp(self):
 
10
        self.decoder = simplejson.decoder.JSONDecoder()
 
11
        self.encoder = simplejson.encoder.JSONEncoderForHTML()
 
12
 
 
13
    def test_basic_encode(self):
 
14
        self.assertEqual(r'"\u0026"', self.encoder.encode('&'))
 
15
        self.assertEqual(r'"\u003c"', self.encoder.encode('<'))
 
16
        self.assertEqual(r'"\u003e"', self.encoder.encode('>'))
 
17
 
 
18
    def test_basic_roundtrip(self):
 
19
        for char in '&<>':
 
20
            self.assertEqual(
 
21
                char, self.decoder.decode(
 
22
                    self.encoder.encode(char)))
 
23
 
 
24
    def test_prevent_script_breakout(self):
 
25
        bad_string = '</script><script>alert("gotcha")</script>'
 
26
        self.assertEqual(
 
27
            r'"\u003c/script\u003e\u003cscript\u003e'
 
28
            r'alert(\"gotcha\")\u003c/script\u003e"',
 
29
            self.encoder.encode(bad_string))
 
30
        self.assertEqual(
 
31
            bad_string, self.decoder.decode(
 
32
                self.encoder.encode(bad_string)))