from __future__ import unicode_literals

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': {
                'formset': {'prefix': 'my-prefix'},
                'opts': {'verbose_name': 'verbose name\\'},
            },
        }
        output = render_to_string('admin/edit_inline/stacked.html', context)
        self.assertIn('prefix: "my\\u002Dprefix",', output)
        self.assertIn('addText: "Add another Verbose name\\u005C"', output)

        output = render_to_string('admin/edit_inline/tabular.html', context)
        self.assertIn('prefix: "my\\u002Dprefix",', output)
        self.assertIn('addText: "Add another Verbose name\\u005C"', output)