from frappe.gettext.extractors.javascript import extract_javascript from frappe.tests import IntegrationTestCase class TestJavaScript(IntegrationTestCase): def test_extract_javascript(self): code = "let test = `

${__('Test')}

`;" self.assertEqual( next(extract_javascript(code)), (1, "__", "Test"), ) code = "let test = `

${__('Test', null, 'Context')}

`;" self.assertEqual( next(extract_javascript(code)), (1, "__", ("Test", None, "Context")), ) def test_extract_javascript_from_template_literal_attribute(self): code = "let test = ``;" self.assertEqual( list(extract_javascript(code)), [(1, "__", "In attribute"), (1, "__", "In text")], ) def test_extract_javascript_template_literal_multiline_line_numbers(self): code = "let test = `\n\n`;" self.assertEqual( list(extract_javascript(code)), [(2, "__", "In attribute"), (3, "__", "In text")], )