Skip to content

Commit a8b3f8f

Browse files
committed
Bulked out test for PR #27
1 parent 421d219 commit a8b3f8f

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

tests/test_compiler.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1279,7 +1279,7 @@ def test_non_unique_escaper(self):
12791279
escapers=[html_escaper, html_escaper],
12801280
)
12811281

1282-
def test_variable_reuse(self):
1282+
def test_variable_reuse_for_arg_lookup(self):
12831283
code, errs = self.compile_messages(
12841284
"""
12851285
example = My name is { $name ->
@@ -1293,3 +1293,26 @@ def test_variable_reuse(self):
12931293
"""
12941294
)
12951295
assert not errs
1296+
# $name should only be looked up once
1297+
self.assertCodeEqual(
1298+
code,
1299+
"""
1300+
def example(message_args, errors):
1301+
try:
1302+
_arg = message_args['name']
1303+
except (LookupError, TypeError):
1304+
errors.append(FluentReferenceError('<string>:2:24: Unknown external: name'))
1305+
_arg = FluentNone('name')
1306+
_plural_form = plural_form_for_number(_arg)
1307+
if _arg == 'Peter':
1308+
_ret = 'Peter11'
1309+
else:
1310+
_ret = 'Jane11'
1311+
_plural_form2 = plural_form_for_number(_arg)
1312+
if _arg == 'Peter':
1313+
_ret2 = 'Male'
1314+
else:
1315+
_ret2 = 'Female'
1316+
return f'My name is {_ret}\\nMy gender is {_ret2}'
1317+
""",
1318+
)

0 commit comments

Comments
 (0)