'ungettext': (1, 2),
'dgettext': (2,),
'dngettext': (2, 3),
+ 'dpgettext': ((2, 'c'), 3),
'N_': None,
'pgettext': ((1, 'c'), 2),
'npgettext': ((1, 'c'), 2, 3),
+ 'dnpgettext': ((2, 'c'), 3, 4),
}
DEFAULT_MAPPING: list[tuple[str, str]] = [('**.py', 'python')]
]
+def test_dpgettext():
+ buf = BytesIO(b"""\
+msg1 = dpgettext('dev', 'Strings',
+ 'pylon')
+msg2 = dpgettext('dev', 'Strings', 'elvis')
+""")
+ messages = list(extract.extract_python(buf, ('dpgettext',), [], {}))
+ assert messages == [
+ (1, 'dpgettext', ('dev', 'Strings', 'pylon'), []),
+ (3, 'dpgettext', ('dev', 'Strings', 'elvis'), []),
+ ]
+ buf = BytesIO(b"""\
+msg = dpgettext('dev', 'Strings', 'pylon', # TRANSLATORS: shouldn't be
+ ) # TRANSLATORS: seeing this
+""")
+ messages = list(extract.extract_python(buf, ('dpgettext',),['TRANSLATORS:'], {}))
+ assert messages == [
+ (1, 'dpgettext', ('dev', 'Strings', 'pylon', None), []),
+ ]
+
+
def test_npgettext():
buf = BytesIO(b"""\
msg1 = npgettext('Strings','pylon',
]
+def test_dnpgettext():
+ buf = BytesIO(b"""\
+msg1 = dnpgettext('dev', 'Strings','pylon',
+ 'pylons', count)
+msg2 = dnpgettext('dev', 'Strings','elvis',
+ 'elvises',
+ count)
+""")
+ messages = list(extract.extract_python(buf, ('dnpgettext',), [], {}))
+ assert messages == [
+ (1, 'dnpgettext', ('dev', 'Strings', 'pylon', 'pylons', None), []),
+ (3, 'dnpgettext', ('dev', 'Strings', 'elvis', 'elvises', None), []),
+ ]
+ buf = BytesIO(b"""\
+msg = dnpgettext('dev', 'Strings', 'pylon', # TRANSLATORS: shouldn't be
+ 'pylons', # TRANSLATORS: seeing this
+ count)
+""")
+ messages = list(extract.extract_python(buf, ('dnpgettext',),['TRANSLATORS:'], {}))
+ assert messages == [
+ (1, 'dnpgettext', ('dev', 'Strings', 'pylon', 'pylons', None), []),
+ ]
+
+
def test_triple_quoted_strings():
buf = BytesIO(b"""\
msg1 = _('''pylons''')