diff options
| author | Claude Paroz <claude@2xlibre.net> | 2014-10-18 12:00:38 +0200 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2014-10-21 20:20:26 +0200 |
| commit | d5a273eadb00ee3edd7e81d373b7237220b42571 (patch) | |
| tree | b85fd439fca306d54cb28aef52e75c0ff67b3631 /tests | |
| parent | 53bc81dca3d785d0b399cacbf84cc660355895fc (diff) | |
[1.7.x] Fixed #23583 -- More selectively ignored static/media roots
Fixed a regression introduced by 28efafa24c.
Thanks Michal Čihař for the report and initial patch, and
Collin Anderson and Tim Graham for the reviews.
Backport of 8b4cc9df9c from master.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/i18n/commands/someapp/static/javascript.js | 1 | ||||
| -rw-r--r-- | tests/i18n/commands/static/javascript_ignored.js | 1 | ||||
| -rw-r--r-- | tests/i18n/commands/static/static_ignored.html (renamed from tests/i18n/commands/static_root/static_ignored.html) | 0 | ||||
| -rw-r--r-- | tests/i18n/test_extraction.py | 68 |
4 files changed, 40 insertions, 30 deletions
diff --git a/tests/i18n/commands/someapp/static/javascript.js b/tests/i18n/commands/someapp/static/javascript.js new file mode 100644 index 0000000000..ddedf5974a --- /dev/null +++ b/tests/i18n/commands/someapp/static/javascript.js @@ -0,0 +1 @@ +gettext('Static content inside app should be included.') diff --git a/tests/i18n/commands/static/javascript_ignored.js b/tests/i18n/commands/static/javascript_ignored.js new file mode 100644 index 0000000000..28b14732a4 --- /dev/null +++ b/tests/i18n/commands/static/javascript_ignored.js @@ -0,0 +1 @@ +gettext('Content from STATIC_ROOT should not be included.') diff --git a/tests/i18n/commands/static_root/static_ignored.html b/tests/i18n/commands/static/static_ignored.html index e69de29bb2..e69de29bb2 100644 --- a/tests/i18n/commands/static_root/static_ignored.html +++ b/tests/i18n/commands/static/static_ignored.html diff --git a/tests/i18n/test_extraction.py b/tests/i18n/test_extraction.py index 2809a727bb..e0d3b51eb0 100644 --- a/tests/i18n/test_extraction.py +++ b/tests/i18n/test_extraction.py @@ -51,6 +51,17 @@ class ExtractorTests(SimpleTestCase): pass os.chdir(self._cwd) + def _run_makemessages(self, **options): + os.chdir(self.test_dir) + stdout = StringIO() + management.call_command('makemessages', locale=[LOCALE], verbosity=2, + stdout=stdout, **options) + output = stdout.getvalue() + self.assertTrue(os.path.exists(self.PO_FILE)) + with open(self.PO_FILE, 'r') as fp: + po_contents = fp.read() + return output, po_contents + def assertMsgId(self, msgid, s, use_quotes=True): q = '"' if use_quotes: @@ -321,38 +332,35 @@ class JavascriptExtractorTests(ExtractorTests): def test_javascript_literals(self): os.chdir(self.test_dir) - management.call_command('makemessages', domain='djangojs', locale=[LOCALE], verbosity=0) - self.assertTrue(os.path.exists(self.PO_FILE)) - with open(self.PO_FILE, 'r') as fp: - po_contents = fp.read() - self.assertMsgId('This literal should be included.', po_contents) - self.assertMsgId('This one as well.', po_contents) - self.assertMsgId(r'He said, \"hello\".', po_contents) - self.assertMsgId("okkkk", po_contents) - self.assertMsgId("TEXT", po_contents) - self.assertMsgId("It's at http://example.com", po_contents) - self.assertMsgId("String", po_contents) - self.assertMsgId("/* but this one will be too */ 'cause there is no way of telling...", po_contents) - self.assertMsgId("foo", po_contents) - self.assertMsgId("bar", po_contents) - self.assertMsgId("baz", po_contents) - self.assertMsgId("quz", po_contents) - self.assertMsgId("foobar", po_contents) + _, po_contents = self._run_makemessages(domain='djangojs') + self.assertMsgId('This literal should be included.', po_contents) + self.assertMsgId('This one as well.', po_contents) + self.assertMsgId(r'He said, \"hello\".', po_contents) + self.assertMsgId("okkkk", po_contents) + self.assertMsgId("TEXT", po_contents) + self.assertMsgId("It's at http://example.com", po_contents) + self.assertMsgId("String", po_contents) + self.assertMsgId("/* but this one will be too */ 'cause there is no way of telling...", po_contents) + self.assertMsgId("foo", po_contents) + self.assertMsgId("bar", po_contents) + self.assertMsgId("baz", po_contents) + self.assertMsgId("quz", po_contents) + self.assertMsgId("foobar", po_contents) + + @override_settings( + STATIC_ROOT=os.path.join(this_directory, 'commands', 'static/'), + MEDIA_ROOT=os.path.join(this_directory, 'commands', 'media_root/')) + def test_media_static_dirs_ignored(self): + """ + Regression test for #23583. + """ + _, po_contents = self._run_makemessages(domain='djangojs') + self.assertMsgId("Static content inside app should be included.", po_contents) + self.assertNotMsgId("Content from STATIC_ROOT should not be included", po_contents) class IgnoredExtractorTests(ExtractorTests): - def _run_makemessages(self, **options): - os.chdir(self.test_dir) - stdout = StringIO() - management.call_command('makemessages', locale=[LOCALE], verbosity=2, - stdout=stdout, **options) - data = stdout.getvalue() - self.assertTrue(os.path.exists(self.PO_FILE)) - with open(self.PO_FILE, 'r') as fp: - po_contents = fp.read() - return data, po_contents - def test_ignore_directory(self): out, po_contents = self._run_makemessages(ignore_patterns=[ os.path.join('ignore_dir', '*'), @@ -377,11 +385,11 @@ class IgnoredExtractorTests(ExtractorTests): self.assertNotMsgId('This should be ignored too.', po_contents) @override_settings( - STATIC_ROOT=os.path.join(this_directory, 'commands', 'static_root/'), + STATIC_ROOT=os.path.join(this_directory, 'commands', 'static/'), MEDIA_ROOT=os.path.join(this_directory, 'commands', 'media_root/')) def test_media_static_dirs_ignored(self): out, _ = self._run_makemessages() - self.assertIn("ignoring directory static_root", out) + self.assertIn("ignoring directory static", out) self.assertIn("ignoring directory media_root", out) |
