MCPcopy Create free account
hub / github.com/RustPython/RustPython / test_match_getitem

Method test_match_getitem

Lib/test/test_re.py:562–604  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 6

assertRaisesRegexMethod · 0.80
compileMethod · 0.45
matchMethod · 0.45
assertEqualMethod · 0.45
format_mapMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected