summaryrefslogtreecommitdiff
path: root/tests/i18n
diff options
context:
space:
mode:
authorNatalia <124304+nessita@users.noreply.github.com>2023-09-20 17:39:01 -0300
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2023-09-22 08:20:08 +0200
commitd7972436639bacada0f94d3b9818446343af59ad (patch)
tree02bd702215ecb19828319bd04345948395384c83 /tests/i18n
parentb0788a0918d0e12bc8878581d99adc3a79799f94 (diff)
Fixed #34848 -- Ignored i18n_catalog.js file when building Django's translations catalog.
Diffstat (limited to 'tests/i18n')
-rw-r--r--tests/i18n/test_extraction.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/i18n/test_extraction.py b/tests/i18n/test_extraction.py
index 9e10218666..226d51ce11 100644
--- a/tests/i18n/test_extraction.py
+++ b/tests/i18n/test_extraction.py
@@ -638,6 +638,28 @@ class JavaScriptExtractorTests(ExtractorTests):
_, po_contents = self._run_makemessages(domain="djangojs")
self.assertMsgId("Static content inside app should be included.", po_contents)
+ def test_i18n_catalog_ignored_when_invoked_for_django(self):
+ # Create target file so it exists in the filesystem and can be ignored.
+ # "invoked_for_django" is True when "conf/locale" folder exists.
+ os.makedirs(os.path.join("conf", "locale"))
+ i18n_catalog_js_dir = os.path.join(os.path.curdir, "views", "templates")
+ os.makedirs(i18n_catalog_js_dir)
+ open(os.path.join(i18n_catalog_js_dir, "i18n_catalog.js"), "w").close()
+
+ out, _ = self._run_makemessages(domain="djangojs")
+ self.assertIn(f"ignoring file i18n_catalog.js in {i18n_catalog_js_dir}", out)
+
+ def test_i18n_catalog_not_ignored_when_not_invoked_for_django(self):
+ # Create target file so it exists in the filesystem but is NOT ignored.
+ # "invoked_for_django" is False when "conf/locale" folder does not exist.
+ self.assertIs(os.path.exists(os.path.join("conf", "locale")), False)
+ i18n_catalog_js = os.path.join("views", "templates", "i18n_catalog.js")
+ os.makedirs(os.path.dirname(i18n_catalog_js))
+ open(i18n_catalog_js, "w").close()
+
+ out, _ = self._run_makemessages(domain="djangojs")
+ self.assertNotIn("ignoring file i18n_catalog.js", out)
+
class IgnoredExtractorTests(ExtractorTests):
def test_ignore_directory(self):