• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Test message extraction
2from gettext import gettext as _
3
4# Empty string
5_("")
6
7# Extra parentheses
8(_("parentheses"))
9((_("parentheses")))
10
11# Multiline strings
12_("Hello, "
13  "world!")
14
15_("""Hello,
16    multiline!
17""")
18
19# Invalid arguments
20_()
21_(None)
22_(1)
23_(False)
24_(x="kwargs are not allowed")
25_("foo", "bar")
26_("something", x="something else")
27
28# .format()
29_("Hello, {}!").format("world")  # valid
30_("Hello, {}!".format("world"))  # invalid
31
32# Nested structures
33_("1"), _("2")
34arr = [_("A"), _("B")]
35obj = {'a': _("A"), 'b': _("B")}
36{{{_('set')}}}
37
38
39# Nested functions and classes
40def test():
41    _("nested string")  # XXX This should be extracted but isn't.
42    [_("nested string")]
43
44
45class Foo:
46    def bar(self):
47        return _("baz")
48
49
50def bar(x=_('default value')):  # XXX This should be extracted but isn't.
51    pass
52
53
54def baz(x=[_('default value')]):  # XXX This should be extracted but isn't.
55    pass
56
57
58# Shadowing _()
59def _(x):
60    pass
61
62
63def _(x="don't extract me"):
64    pass
65