Changeset 19 for trunk

Show
Ignore:
Timestamp:
07/25/07 20:24:19 (1 year ago)
Author:
Jan-Klaas Kollhof
Message:

fixed encoder to escape \

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/python-jsonrpc/jsonrpc/_tests/test_json.py

    r10 r19  
    7373 
    7474    def test_StringEscapedChars(self): 
    75         json = jsonrpc.dumps('\n \f \t \b \r \\ "') 
    76         self.assertJSON(json, u'"\\n \\f \\t \\b \\r \\\\ \\""') 
     75        json = jsonrpc.dumps('\n \f \t \b \r \\ " /') 
     76        self.assertJSON(json, u'"\\n \\f \\t \\b \\r \\\\ \\" \\/"') 
    7777 
    7878    def test_StringEscapedUnicodeChars(self): 
     
    109109     
    110110    def test_StringEscapedChars(self): 
    111         json = jsonrpc.dumps('\n \t \r \b \f \\ "') 
     111        json = '"\\n \\t \\r \\b \\f \\\\ \\/ /"' 
    112112        obj = jsonrpc.loads(json) 
    113         self.assertEquals(obj, u'\n \t \r \b \f \\ "') 
     113        self.assertEquals(obj, u'\n \t \r \b \f \\ / /') 
    114114         
    115115    def test_StringEscapedUnicodeChars(self): 
  • trunk/python-jsonrpc/jsonrpc/json.py

    r10 r19  
    2323import re 
    2424 
    25  
    2625CharReplacements ={ 
    27     '\t': '\\t', 
    28     '\b': '\\b', 
    29     '\f': '\\f', 
    30     '\n': '\\n', 
    31     '\r': '\\r', 
    32     '\\': '\\\\', 
    33     '"': '\\"'} 
     26        '\t': '\\t', 
     27        '\b': '\\b', 
     28        '\f': '\\f', 
     29        '\n': '\\n', 
     30        '\r': '\\r', 
     31        '\\': '\\\\', 
     32        '/': '\\/', 
     33        '"': '\\"'} 
    3434 
    3535EscapeCharToChar = { 
    36     't': '\t', 
    37     'b': '\b', 
    38     'f': '\f', 
    39     'n': '\n', 
    40     'r': '\r', 
    41     '\\': '\\', 
    42     '"' : '"'} 
    43      
    44 StringEscapeRE= re.compile(r'[\x00-\x19\\"\b\f\n\r\t]') 
     36        't': '\t', 
     37        'b': '\b', 
     38        'f': '\f', 
     39        'n': '\n', 
     40        'r': '\r', 
     41        '\\': '\\', 
     42        '/': '/', 
     43        '"' : '"'} 
     44 
     45StringEscapeRE= re.compile(r'[\x00-\x19\\"/\b\f\n\r\t]') 
    4546Digits = ['0', '1', '2','3','4','5','6','7','8','9'] 
    4647