Issue #8038: Addition of unittest.TestCase.assertNotRegexpMatches
This commit is contained in:
parent
25d7976014
commit
a04c7a0f16
|
@ -952,6 +952,18 @@ class TestCase(object):
|
|||
msg = '%s: %r not found in %r' % (msg, expected_regexp.pattern, text)
|
||||
raise self.failureException(msg)
|
||||
|
||||
def assertNotRegexpMatches(self, text, unexpected_regexp, msg=None):
|
||||
if isinstance(unexpected_regexp, basestring):
|
||||
unexpected_regexp = re.compile(unexpected_regexp)
|
||||
match = unexpected_regexp.search(text)
|
||||
if match:
|
||||
msg = msg or "Regexp matched"
|
||||
msg = '%s: %r matches %r in %r' % (msg,
|
||||
text[match.start():match.end()],
|
||||
unexpected_regexp.pattern,
|
||||
text)
|
||||
raise self.failureException(msg)
|
||||
|
||||
|
||||
class FunctionTestCase(TestCase):
|
||||
"""A test case that wraps a test function.
|
||||
|
|
|
@ -91,6 +91,16 @@ class Test_Assertions(unittest.TestCase):
|
|||
else:
|
||||
self.fail("assertRaises() didn't let exception pass through")
|
||||
|
||||
def testAssertNotRegexpMatches(self):
|
||||
self.assertNotRegexpMatches('Ala ma kota', r'r+')
|
||||
try:
|
||||
self.assertNotRegexpMatches('Ala ma kota', r'k.t', 'Message')
|
||||
except self.failureException, e:
|
||||
self.assertIn("'kot'", e.args[0])
|
||||
self.assertIn('Message', e.args[0])
|
||||
else:
|
||||
self.fail('assertNotRegexpMatches should have failed.')
|
||||
|
||||
|
||||
class TestLongMessage(unittest.TestCase):
|
||||
"""Test that the individual asserts honour longMessage.
|
||||
|
|
|
@ -148,6 +148,11 @@ Library
|
|||
- Issue #8235: _socket: Add the constant ``SO_SETFIB``. SO_SETFIB is
|
||||
a socket option available on FreeBSD 7.1 and newer.
|
||||
|
||||
- Issue #8038: unittest.TestCase.assertNotRegexpMatches
|
||||
|
||||
- Addition of -b command line option to unittest for buffering stdout / stderr
|
||||
during test runs.
|
||||
|
||||
Extension Modules
|
||||
-----------------
|
||||
|
||||
|
|
Loading…
Reference in New Issue