Issue #27528: Document and test warning messages must match at beginning
This commit is contained in:
parent
95f53c13ce
commit
221945056d
|
@ -141,14 +141,15 @@ the disposition of the match. Each entry is a tuple of the form (*action*,
|
|||
| | warnings, regardless of location |
|
||||
+---------------+----------------------------------------------+
|
||||
|
||||
* *message* is a string containing a regular expression that the warning message
|
||||
must match (the match is compiled to always be case-insensitive).
|
||||
* *message* is a string containing a regular expression that the start of
|
||||
the warning message must match. The expression is compiled to always be
|
||||
case-insensitive.
|
||||
|
||||
* *category* is a class (a subclass of :exc:`Warning`) of which the warning
|
||||
category must be a subclass in order to match.
|
||||
|
||||
* *module* is a string containing a regular expression that the module name must
|
||||
match (the match is compiled to be case-sensitive).
|
||||
match. The expression is compiled to be case-sensitive.
|
||||
|
||||
* *lineno* is an integer that the line number where the warning occurred must
|
||||
match, or ``0`` to match all line numbers.
|
||||
|
|
|
@ -261,6 +261,18 @@ class FilterTests(BaseTest):
|
|||
self.assertEqual(str(w[-1].message), text)
|
||||
self.assertTrue(w[-1].category is UserWarning)
|
||||
|
||||
def test_message_matching(self):
|
||||
with original_warnings.catch_warnings(record=True,
|
||||
module=self.module) as w:
|
||||
self.module.simplefilter("ignore", UserWarning)
|
||||
self.module.filterwarnings("error", "match", UserWarning)
|
||||
self.assertRaises(UserWarning, self.module.warn, "match")
|
||||
self.assertRaises(UserWarning, self.module.warn, "match prefix")
|
||||
self.module.warn("suffix match")
|
||||
self.assertEqual(w, [])
|
||||
self.module.warn("something completely different")
|
||||
self.assertEqual(w, [])
|
||||
|
||||
def test_mutate_filter_list(self):
|
||||
class X:
|
||||
def match(self, a):
|
||||
|
|
Loading…
Reference in New Issue