MCPcopy Index your code
hub / github.com/python/cpython / test_process_keywords

Method test_process_keywords

Lib/test/test_tools/test_i18n.py:530–562  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

528 self.assertEqual(str(cm.exception), message)
529
530 def test_process_keywords(self):
531 default_keywords = {name: [spec] for name, spec
532 in DEFAULTKEYWORDS.items()}
533 inputs = (
534 (['foo'], True),
535 (['_:1,2'], True),
536 (['foo', 'foo:1,2'], True),
537 (['foo'], False),
538 (['_:1,2', '_:1c,2,3', 'pgettext'], False),
539 # Duplicate entries
540 (['foo', 'foo'], True),
541 (['_'], False)
542 )
543 expected = (
544 {'foo': [{'msgid': 0}]},
545 {'_': [{'msgid': 0, 'msgid_plural': 1}]},
546 {'foo': [{'msgid': 0}, {'msgid': 0, 'msgid_plural': 1}]},
547 default_keywords | {'foo': [{'msgid': 0}]},
548 default_keywords | {'_': [{'msgid': 0, 'msgid_plural': 1},
549 {'msgctxt': 0, 'msgid': 1, 'msgid_plural': 2},
550 {'msgid': 0}],
551 'pgettext': [{'msgid': 0},
552 {'msgctxt': 0, 'msgid': 1}]},
553 {'foo': [{'msgid': 0}]},
554 default_keywords,
555 )
556 for (keywords, no_default_keywords), expected in zip(inputs, expected):
557 with self.subTest(keywords=keywords,
558 no_default_keywords=no_default_keywords):
559 processed = process_keywords(
560 keywords,
561 no_default_keywords=no_default_keywords)
562 self.assertEqual(processed, expected)
563
564 def test_multiple_keywords_same_funcname_errors(self):
565 # If at least one keyword spec for a given funcname matches,

Callers

nothing calls this directly

Calls 4

process_keywordsFunction · 0.90
itemsMethod · 0.45
subTestMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected