import json from django.template.loader import render_to_string from django.test import SimpleTestCase class TestTemplates(SimpleTestCase): def test_javascript_escaping(self): context = { 'inline_admin_formset': { 'inline_formset_data': json.dumps({ 'formset': {'prefix': 'my-prefix'}, 'opts': {'verbose_name': 'verbose name\\'}, }), }, } output = render_to_string('admin/edit_inline/stacked.html', context) self.assertIn('"prefix": "my-prefix"', output) self.assertIn('"verbose_name": "verbose name\\\\"', output) output = render_to_string('admin/edit_inline/tabular.html', context) self.assertIn('"prefix": "my-prefix"', output) self.assertIn('"verbose_name": "verbose name\\\\"', output)