(self)
| 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, |
nothing calls this directly
no test coverage detected