Skip to content

Commit c13eecf

Browse files
committed
More tests, extracting is now fully covered.
1 parent 4f3fd21 commit c13eecf

File tree

1 file changed

+48
-1
lines changed

1 file changed

+48
-1
lines changed

tests/test_extract.py

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,21 @@
1414
class ExtractDjangoTestCase(unittest.TestCase):
1515
# TODO: translator comments are not yet supported!
1616

17-
def test_extract_simple(self):
17+
def test_extract_no_tags(self):
18+
buf = BytesIO(b'nothing')
19+
messages = list(extract_django(buf, default_keys, [], {}))
20+
self.assertEqual([], messages)
21+
22+
def test_extract_simple_double_quotes(self):
1823
buf = BytesIO(b'{% trans "Bunny" %}')
1924
messages = list(extract_django(buf, default_keys, [], {}))
2025
self.assertEqual([(1, None, u'Bunny', [])], messages)
2126

27+
def test_extract_simple_single_quotes(self):
28+
buf = BytesIO(b"{% trans 'Bunny' %}")
29+
messages = list(extract_django(buf, default_keys, [], {}))
30+
self.assertEqual([(1, None, u'Bunny', [])], messages)
31+
2232
def test_extract_var(self):
2333
buf = BytesIO(b'{% blocktrans %}{{ anton }}{% endblocktrans %}')
2434
messages = list(extract_django(buf, default_keys, [], {}))
@@ -69,3 +79,40 @@ def test_trans_blocks_must_not_include_other_block_tags(self):
6979
buf = BytesIO(b'{% blocktrans %}{% other_tag %}{% endblocktrans %}')
7080
gen = extract_django(buf, default_keys, [], {})
7181
pytest.raises(SyntaxError, gen.next)
82+
83+
def test_extract_var(self):
84+
buf = BytesIO(b'{{ book }}')
85+
messages = list(extract_django(buf, default_keys, [], {}))
86+
self.assertEqual([], messages)
87+
88+
def test_extract_filters_default_translatable(self):
89+
buf = BytesIO(b'{{ book.author|default:_("Unknown") }}')
90+
messages = list(extract_django(buf, default_keys, [], {}))
91+
self.assertEqual([(1, None, u'Unknown', [])], messages)
92+
93+
def test_extract_filters_default_translatable_single_quotes(self):
94+
buf = BytesIO(b"{{ book.author|default:_('Unknown') }}")
95+
messages = list(extract_django(buf, default_keys, [], {}))
96+
self.assertEqual([(1, None, u'Unknown', [])], messages)
97+
98+
def test_extract_constant_single_quotes(self):
99+
buf = BytesIO(b"{{ _('constant') }}")
100+
messages = list(extract_django(buf, default_keys, [], {}))
101+
self.assertEqual([(1, None, u"'constant'", [])], messages)
102+
103+
def test_extract_constant_single_quotes(self):
104+
buf = BytesIO(b'{{ _("constant") }}')
105+
messages = list(extract_django(buf, default_keys, [], {}))
106+
self.assertEqual([(1, None, u'"constant"', [])], messages)
107+
108+
def test_extract_constant_block(self):
109+
buf = BytesIO(b'{% _("constant") %}')
110+
messages = list(extract_django(buf, default_keys, [], {}))
111+
self.assertEqual([(1, None, u'"constant"', [])], messages)
112+
113+
def test_extract_constant_in_block(self):
114+
buf = BytesIO(b'{% blocktrans foo=_("constant") %}{{ foo }}{% endblocktrans %}')
115+
messages = list(extract_django(buf, default_keys, [], {}))
116+
self.assertEqual(
117+
[(1, None, u'"constant"', []), (1, None, u'%(foo)s', [])],
118+
messages)

0 commit comments

Comments
 (0)