diff options
Diffstat (limited to 'lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/test/test_compat.py')
-rwxr-xr-x | lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/test/test_compat.py | 252 |
1 files changed, 0 insertions, 252 deletions
diff --git a/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/test/test_compat.py b/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/test/test_compat.py deleted file mode 100755 index ee8a7bae..00000000 --- a/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/test/test_compat.py +++ /dev/null @@ -1,252 +0,0 @@ -# Copyright (c) Twisted Matrix Laboratories. -# See LICENSE for details. - - -""" -Tests for L{twisted.python.compat}. -""" - -import os, tempfile, types, socket - -from twisted.trial import unittest - -from twisted.python.filepath import FilePath -from twisted.python.compat import set, frozenset, reduce, execfile - - - -class IterableCounter: - def __init__(self, lim=0): - self.lim = lim - self.i = -1 - - def __iter__(self): - return self - - def next(self): - self.i += 1 - if self.i >= self.lim: - raise StopIteration - return self.i - -class CompatTestCase(unittest.TestCase): - def testDict(self): - d1 = {'a': 'b'} - d2 = dict(d1) - self.assertEqual(d1, d2) - d1['a'] = 'c' - self.assertNotEquals(d1, d2) - d2 = dict(d1.items()) - self.assertEqual(d1, d2) - - def testBool(self): - self.assertEqual(bool('hi'), True) - self.assertEqual(bool(True), True) - self.assertEqual(bool(''), False) - self.assertEqual(bool(False), False) - - def testIteration(self): - lst1, lst2 = range(10), [] - - for i in iter(lst1): - lst2.append(i) - self.assertEqual(lst1, lst2) - del lst2[:] - - try: - iterable = iter(lst1) - while 1: - lst2.append(iterable.next()) - except StopIteration: - pass - self.assertEqual(lst1, lst2) - del lst2[:] - - for i in iter(IterableCounter(10)): - lst2.append(i) - self.assertEqual(lst1, lst2) - del lst2[:] - - try: - iterable = iter(IterableCounter(10)) - while 1: - lst2.append(iterable.next()) - except StopIteration: - pass - self.assertEqual(lst1, lst2) - del lst2[:] - - for i in iter(IterableCounter(20).next, 10): - lst2.append(i) - self.assertEqual(lst1, lst2) - - def testIsinstance(self): - """ - The current object is an instance of - unittest.TestCase. - """ - self.assertTrue(isinstance(self, unittest.TestCase)) - - - def testStrip(self): - self.assertEqual(' x '.lstrip(' '), 'x ') - self.assertEqual(' x x'.lstrip(' '), 'x x') - self.assertEqual(' x '.rstrip(' '), ' x') - self.assertEqual('x x '.rstrip(' '), 'x x') - - self.assertEqual('\t x '.lstrip('\t '), 'x ') - self.assertEqual(' \tx x'.lstrip('\t '), 'x x') - self.assertEqual(' x\t '.rstrip(' \t'), ' x') - self.assertEqual('x x \t'.rstrip(' \t'), 'x x') - - self.assertEqual('\t x '.strip('\t '), 'x') - self.assertEqual(' \tx x'.strip('\t '), 'x x') - self.assertEqual(' x\t '.strip(' \t'), 'x') - self.assertEqual('x x \t'.strip(' \t'), 'x x') - - def testNToP(self): - from twisted.python.compat import inet_ntop - - f = lambda a: inet_ntop(socket.AF_INET6, a) - g = lambda a: inet_ntop(socket.AF_INET, a) - - self.assertEqual('::', f('\x00' * 16)) - self.assertEqual('::1', f('\x00' * 15 + '\x01')) - self.assertEqual( - 'aef:b01:506:1001:ffff:9997:55:170', - f('\x0a\xef\x0b\x01\x05\x06\x10\x01\xff\xff\x99\x97\x00\x55\x01\x70')) - - self.assertEqual('1.0.1.0', g('\x01\x00\x01\x00')) - self.assertEqual('170.85.170.85', g('\xaa\x55\xaa\x55')) - self.assertEqual('255.255.255.255', g('\xff\xff\xff\xff')) - - self.assertEqual('100::', f('\x01' + '\x00' * 15)) - self.assertEqual('100::1', f('\x01' + '\x00' * 14 + '\x01')) - - def testPToN(self): - from twisted.python.compat import inet_pton - - f = lambda a: inet_pton(socket.AF_INET6, a) - g = lambda a: inet_pton(socket.AF_INET, a) - - self.assertEqual('\x00\x00\x00\x00', g('0.0.0.0')) - self.assertEqual('\xff\x00\xff\x00', g('255.0.255.0')) - self.assertEqual('\xaa\xaa\xaa\xaa', g('170.170.170.170')) - - self.assertEqual('\x00' * 16, f('::')) - self.assertEqual('\x00' * 16, f('0::0')) - self.assertEqual('\x00\x01' + '\x00' * 14, f('1::')) - self.assertEqual( - '\x45\xef\x76\xcb\x00\x1a\x56\xef\xaf\xeb\x0b\xac\x19\x24\xae\xae', - f('45ef:76cb:1a:56ef:afeb:bac:1924:aeae')) - - self.assertEqual('\x00' * 14 + '\x00\x01', f('::1')) - self.assertEqual('\x00' * 12 + '\x01\x02\x03\x04', f('::1.2.3.4')) - self.assertEqual( - '\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x01\x02\x03\xff', - f('1:2:3:4:5:6:1.2.3.255')) - - for badaddr in ['1:2:3:4:5:6:7:8:', ':1:2:3:4:5:6:7:8', '1::2::3', - '1:::3', ':::', '1:2', '::1.2', '1.2.3.4::', - 'abcd:1.2.3.4:abcd:abcd:abcd:abcd:abcd', - '1234:1.2.3.4:1234:1234:1234:1234:1234:1234', - '1.2.3.4']: - self.assertRaises(ValueError, f, badaddr) - - def test_set(self): - """ - L{set} should behave like the expected set interface. - """ - a = set() - a.add('b') - a.add('c') - a.add('a') - b = list(a) - b.sort() - self.assertEqual(b, ['a', 'b', 'c']) - a.remove('b') - b = list(a) - b.sort() - self.assertEqual(b, ['a', 'c']) - - a.discard('d') - - b = set(['r', 's']) - d = a.union(b) - b = list(d) - b.sort() - self.assertEqual(b, ['a', 'c', 'r', 's']) - - - def test_frozenset(self): - """ - L{frozenset} should behave like the expected frozenset interface. - """ - a = frozenset(['a', 'b']) - self.assertRaises(AttributeError, getattr, a, "add") - self.assertEqual(sorted(a), ['a', 'b']) - - b = frozenset(['r', 's']) - d = a.union(b) - b = list(d) - b.sort() - self.assertEqual(b, ['a', 'b', 'r', 's']) - - - def test_reduce(self): - """ - L{reduce} should behave like the builtin reduce. - """ - self.assertEqual(15, reduce(lambda x, y: x + y, [1, 2, 3, 4, 5])) - self.assertEqual(16, reduce(lambda x, y: x + y, [1, 2, 3, 4, 5], 1)) - - - -class ExecfileCompatTestCase(unittest.TestCase): - """ - Tests for the Python 3-friendly L{execfile} implementation. - """ - - def writeScript(self, content): - """ - Write L{content} to a new temporary file, returning the L{FilePath} - for the new file. - """ - script = FilePath(self.mktemp()) - script.setContent(content.encode("ascii")) - return script - - - def test_execfileGlobals(self): - """ - L{execfile} executes the specified file in the given global namespace. - """ - script = self.writeScript("foo += 1\n") - globalNamespace = {"foo": 1} - execfile(script.path, globalNamespace) - self.assertEqual(2, globalNamespace["foo"]) - - - def test_execfileGlobalsAndLocals(self): - """ - L{execfile} executes the specified file in the given global and local - namespaces. - """ - script = self.writeScript("foo += 1\n") - globalNamespace = {"foo": 10} - localNamespace = {"foo": 20} - execfile(script.path, globalNamespace, localNamespace) - self.assertEqual(10, globalNamespace["foo"]) - self.assertEqual(21, localNamespace["foo"]) - - - def test_execfileUniversalNewlines(self): - """ - L{execfile} reads in the specified file using universal newlines so - that scripts written on one platform will work on another. - """ - for lineEnding in "\n", "\r", "\r\n": - script = self.writeScript("foo = 'okay'" + lineEnding) - globalNamespace = {"foo": None} - execfile(script.path, globalNamespace) - self.assertEqual("okay", globalNamespace["foo"]) |