Commit 0786c8e7 authored by wbond's avatar wbond

Re-add Python2 compatibility

parent 08ce1ca9
...@@ -27,6 +27,7 @@ if sys.version_info >= (3,): ...@@ -27,6 +27,7 @@ if sys.version_info >= (3,):
generator_method_type = 'method' generator_method_type = 'method'
str_cls = str str_cls = str
else: else:
from . import unittest_compat
from urlparse import urljoin from urlparse import urljoin
from urllib2 import HTTPError, urlopen from urllib2 import HTTPError, urlopen
generator_method_type = 'instancemethod' generator_method_type = 'instancemethod'
......
import sys
import re import re
import unittest import unittest
def assertIn(self, member, container, msg=None): if sys.version_info < (2, 7):
"""Just like self.assertTrue(a in b), but with a nicer default message.""" def assertIn(self, member, container, msg=None):
if member not in container: """Just like self.assertTrue(a in b), but with a nicer default message."""
if not msg: if member not in container:
msg = '%r not found in %r' % (member, container) if not msg:
self.fail(msg) msg = '%r not found in %r' % (member, container)
unittest.TestCase.assertIn = assertIn self.fail(msg)
unittest.TestCase.assertIn = assertIn
def assertNotIn(self, member, container, msg=None):
"""Just like self.assertTrue(a not in b), but with a nicer default message.""" def assertNotIn(self, member, container, msg=None):
if member in container: """Just like self.assertTrue(a not in b), but with a nicer default message."""
if not msg: if member in container:
msg = '%s unexpectedly found in %s' % (member, if not msg:
container) msg = '%s unexpectedly found in %s' % (member,
self.fail(msg) container)
unittest.TestCase.assertNotIn = assertNotIn self.fail(msg)
unittest.TestCase.assertNotIn = assertNotIn
def assertGreater(self, a, b, msg=None):
"""Just like self.assertTrue(a > b), but with a nicer default message.""" def assertGreater(self, a, b, msg=None):
if not a > b: """Just like self.assertTrue(a > b), but with a nicer default message."""
if not msg: if not a > b:
msg = '%s not greater than %s' % (a, b) if not msg:
self.fail(msg) msg = '%s not greater than %s' % (a, b)
unittest.TestCase.assertGreater = assertGreater self.fail(msg)
unittest.TestCase.assertGreater = assertGreater
def assertRegexpMatches(self, text, expected_regexp, msg=None):
"""Fail the test unless the text matches the regular expression.""" def assertRegexpMatches(self, text, expected_regexp, msg=None):
if isinstance(expected_regexp, basestring): """Fail the test unless the text matches the regular expression."""
expected_regexp = re.compile(expected_regexp) if isinstance(expected_regexp, basestring):
if not expected_regexp.search(text): expected_regexp = re.compile(expected_regexp)
msg = msg or "Regexp didn't match" if not expected_regexp.search(text):
msg = '%s: %r not found in %r' % (msg, expected_regexp.pattern, text) msg = msg or "Regexp didn't match"
raise self.failureException(msg) msg = '%s: %r not found in %r' % (msg, expected_regexp.pattern, text)
unittest.TestCase.assertRegex = assertRegexpMatches raise self.failureException(msg)
unittest.TestCase.assertRegex = assertRegexpMatches
def assertNotRegexpMatches(self, text, unexpected_regexp, msg=None):
"""Fail the test if the text matches the regular expression.""" def assertNotRegexpMatches(self, text, unexpected_regexp, msg=None):
if isinstance(unexpected_regexp, basestring): """Fail the test if the text matches the regular expression."""
unexpected_regexp = re.compile(unexpected_regexp) if isinstance(unexpected_regexp, basestring):
match = unexpected_regexp.search(text) unexpected_regexp = re.compile(unexpected_regexp)
if match: match = unexpected_regexp.search(text)
msg = msg or "Regexp matched" if match:
msg = '%s: %r matches %r in %r' % (msg, msg = msg or "Regexp matched"
text[match.start():match.end()], msg = '%s: %r matches %r in %r' % (msg,
unexpected_regexp.pattern, text[match.start():match.end()],
text) unexpected_regexp.pattern,
raise self.failureException(msg) text)
unittest.TestCase.assertNotRegex = assertNotRegexpMatches raise self.failureException(msg)
unittest.TestCase.assertNotRegex = assertNotRegexpMatches
def assertIsInstance(self, obj, cls, msg=None):
"""Same as self.assertTrue(isinstance(obj, cls)), with a nicer def assertIsInstance(self, obj, cls, msg=None):
default message.""" """Same as self.assertTrue(isinstance(obj, cls)), with a nicer
if not isinstance(obj, cls): default message."""
if not msg: if not isinstance(obj, cls):
msg = '%s is not an instance of %r' % (obj, cls) if not msg:
self.fail(msg) msg = '%s is not an instance of %r' % (obj, cls)
unittest.TestCase.assertIsInstance = assertIsInstance self.fail(msg)
unittest.TestCase.assertIsInstance = assertIsInstance
else:
unittest.TestCase.assertRegex = unittest.TestCase.assertRegexpMatches
unittest.TestCase.assertNotRegex = unittest.TestCase.assertNotRegexpMatches
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment