diff options
| author | Nick Pope <nick@nickpope.me.uk> | 2021-07-08 00:19:35 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-09-22 11:59:59 +0200 |
| commit | 448d974d9646b96806ef07a9ceeceb96e4bac645 (patch) | |
| tree | a527b280cdbc15c769a335c72ca057a3dece9651 /tests/admin_docs | |
| parent | 85540da9303287cc13fdce95971a23c9799226f3 (diff) | |
Fixed #32499 -- Escaped additional metacharacters in simplify_regex().
Diffstat (limited to 'tests/admin_docs')
| -rw-r--r-- | tests/admin_docs/test_views.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/admin_docs/test_views.py b/tests/admin_docs/test_views.py index bf11ae5be5..5355382dfa 100644 --- a/tests/admin_docs/test_views.py +++ b/tests/admin_docs/test_views.py @@ -407,8 +407,28 @@ class AdminDocViewFunctionsTests(SimpleTestCase): (r'a?', '/a'), (r'a??', '/a'), (r'a???', '/a'), + (r'a*', '/a'), + (r'a**', '/a'), + (r'a***', '/a'), + (r'a+', '/a'), + (r'a++', '/a'), + (r'a+++', '/a'), + (r'\Aa', '/a'), + (r'\A\Aa', '/a'), + (r'\A\A\Aa', '/a'), + (r'a\Z', '/a'), + (r'a\Z\Z', '/a'), + (r'a\Z\Z\Z', '/a'), + (r'\ba', '/a'), + (r'\b\ba', '/a'), + (r'\b\b\ba', '/a'), + (r'a\B', '/a'), + (r'a\B\B', '/a'), + (r'a\B\B\B', '/a'), # Multiple mixed metacharacters. (r'^a/?$', '/a/'), + (r'\Aa\Z', '/a'), + (r'\ba\B', '/a'), # Escaped single metacharacters. (r'\^a', r'/^a'), (r'\\^a', r'/\\a'), @@ -425,6 +445,26 @@ class AdminDocViewFunctionsTests(SimpleTestCase): (r'a\\\?', r'/a\\?'), (r'a\\\\?', r'/a\\\\'), (r'a\\\\\?', r'/a\\\\?'), + (r'a\*', r'/a*'), + (r'a\\*', r'/a\\'), + (r'a\\\*', r'/a\\*'), + (r'a\\\\*', r'/a\\\\'), + (r'a\\\\\*', r'/a\\\\*'), + (r'a\+', r'/a+'), + (r'a\\+', r'/a\\'), + (r'a\\\+', r'/a\\+'), + (r'a\\\\+', r'/a\\\\'), + (r'a\\\\\+', r'/a\\\\+'), + (r'\\Aa', r'/\Aa'), + (r'\\\Aa', r'/\\a'), + (r'\\\\Aa', r'/\\\Aa'), + (r'\\\\\Aa', r'/\\\\a'), + (r'\\\\\\Aa', r'/\\\\\Aa'), + (r'a\\Z', r'/a\Z'), + (r'a\\\Z', r'/a\\'), + (r'a\\\\Z', r'/a\\\Z'), + (r'a\\\\\Z', r'/a\\\\'), + (r'a\\\\\\Z', r'/a\\\\\Z'), # Escaped mixed metacharacters. (r'^a\?$', r'/a?'), (r'^a\\?$', r'/a\\'), @@ -437,6 +477,9 @@ class AdminDocViewFunctionsTests(SimpleTestCase): (r'^a\\\?\\\$', r'/a\\?\\$'), (r'^a\\\\?\\\\$', r'/a\\\\\\\\'), (r'^a\\\\\?\\\\\$', r'/a\\\\?\\\\$'), + # Complex examples with metacharacters and (un)named groups. + (r'^\b(?P<slug>\w+)\B/(\w+)?', '/<slug>/<var>'), + (r'^\A(?P<slug>\w+)\Z', '/<slug>'), ) for pattern, output in tests: with self.subTest(pattern=pattern): |
