(self, match_fn)
| 565 | self.assertEqual(m.group(Index(2), Index(1)), ('b', 'a')) |
| 566 | |
| 567 | def do_test_match_getitem(self, match_fn): |
| 568 | m = match_fn('a') |
| 569 | self.assertEqual(m['a1'], 'a') |
| 570 | self.assertEqual(m['b2'], None) |
| 571 | self.assertEqual(m['c3'], None) |
| 572 | self.assertEqual('a1={a1} b2={b2} c3={c3}'.format_map(m), 'a1=a b2=None c3=None') |
| 573 | self.assertEqual(m[0], 'a') |
| 574 | self.assertEqual(m[1], 'a') |
| 575 | self.assertEqual(m[2], None) |
| 576 | self.assertEqual(m[3], None) |
| 577 | with self.assertRaisesRegex(IndexError, 'no such group'): |
| 578 | m['X'] |
| 579 | with self.assertRaisesRegex(IndexError, 'no such group'): |
| 580 | m[-1] |
| 581 | with self.assertRaisesRegex(IndexError, 'no such group'): |
| 582 | m[4] |
| 583 | with self.assertRaisesRegex(IndexError, 'no such group'): |
| 584 | m[0, 1] |
| 585 | with self.assertRaisesRegex(IndexError, 'no such group'): |
| 586 | m[(0,)] |
| 587 | with self.assertRaisesRegex(IndexError, 'no such group'): |
| 588 | m[(0, 1)] |
| 589 | with self.assertRaisesRegex(IndexError, 'no such group'): |
| 590 | 'a1={a2}'.format_map(m) |
| 591 | |
| 592 | m = match_fn('ac') |
| 593 | self.assertEqual(m['a1'], 'a') |
| 594 | self.assertEqual(m['b2'], None) |
| 595 | self.assertEqual(m['c3'], 'c') |
| 596 | self.assertEqual('a1={a1} b2={b2} c3={c3}'.format_map(m), 'a1=a b2=None c3=c') |
| 597 | self.assertEqual(m[0], 'ac') |
| 598 | self.assertEqual(m[1], 'a') |
| 599 | self.assertEqual(m[2], None) |
| 600 | self.assertEqual(m[3], 'c') |
| 601 | |
| 602 | # Cannot assign. |
| 603 | with self.assertRaises(TypeError): |
| 604 | m[0] = 1 |
| 605 | |
| 606 | # No len(). |
| 607 | self.assertRaises(TypeError, len, m) |
| 608 | |
| 609 | def test_match_getitem(self): |
| 610 | pat = re.compile('(?:(?P<a1>a)|(?P<b2>b))(?P<c3>c)?') |
no test coverage detected