Ticket #7177: 7177-readable.diff
File 7177-readable.diff, 2.5 KB (added by , 16 years ago) |
---|
-
django/template/defaultfilters.py
62 62 capfirst.is_safe=True 63 63 capfirst = stringfilter(capfirst) 64 64 65 _js_escapes = ( 66 ('\\', '\\\\'), 67 ('"', '\\"'), 68 ("'", "\\'"), 69 ('\n', '\\n'), 70 ('\r', '\\r'), 71 ('\b', '\\b'), 72 ('\f', '\\f'), 73 ('\t', '\\t'), 74 ('\v', '\\v'), 75 ('</', '<\\/'), 65 _base_js_escapes = ( 66 ('\\', r'\x5C'), 67 ('\'', r'\x27'), 68 ('"', r'\x22'), 69 ('>', r'\x3E'), 70 ('<', r'\x3C'), 71 ('&', r'\x26'), 72 ('=', r'\x3D'), 73 ('-', r'\x2D'), 74 (';', r'\x3B') 76 75 ) 76 77 # Escape every ASCII character with a value less than 32. 78 _js_escapes = (_base_js_escapes + 79 tuple([('%c' % z, '\\x%02X' % z) for z in range(32)])) 80 77 81 def escapejs(value): 78 """ Backslash-escapes characters for use in JavaScript strings."""82 """Hex encodes characters for use in JavaScript strings.""" 79 83 for bad, good in _js_escapes: 80 84 value = value.replace(bad, good) 81 85 return value -
tests/regressiontests/templates/filters.py
262 262 'autoescape-stringfilter02': (r'{% autoescape off %}{{ unsafe|capfirst }}{% endautoescape %}', {'unsafe': UnsafeClass()}, 'You & me'), 263 263 'autoescape-stringfilter03': (r'{{ safe|capfirst }}', {'safe': SafeClass()}, 'You > me'), 264 264 'autoescape-stringfilter04': (r'{% autoescape off %}{{ safe|capfirst }}{% endautoescape %}', {'safe': SafeClass()}, 'You > me'), 265 266 'escapejs01': (r'{{ a|escapejs }}', {'a': 'testing\r\njavascript \'string" <b>escaping</b>'}, 'testing\\x0D\\x0Ajavascript \\x27string\\x22 \\x3Cb\\x3Eescaping\\x3C/b\\x3E'), 267 'escapejs02': (r'{% autoescape off %}{{ a|escapejs }}{% endautoescape %}', {'a': 'testing\r\njavascript \'string" <b>escaping</b>'}, 'testing\\x0D\\x0Ajavascript \\x27string\\x22 \\x3Cb\\x3Eescaping\\x3C/b\\x3E'), 265 268 } 266 269 -
AUTHORS
426 426 ymasuda@ethercube.com 427 427 Jarek Zgoda <jarek.zgoda@gmail.com> 428 428 Cheng Zhang 429 Collin Grady <collin@collingrady.com> 430 Mike Wiacek <mjwiacek@google.com> 429 431 430 432 A big THANK YOU goes to: 431 433