+++ /dev/null
-# Tests that work for both bytes and buffer objects.\r
-# See PEP 3137.\r
-\r
-import struct\r
-import sys\r
-\r
-class MixinBytesBufferCommonTests(object):\r
- """Tests that work for both bytes and buffer objects.\r
- See PEP 3137.\r
- """\r
-\r
- def marshal(self, x):\r
- """Convert x into the appropriate type for these tests."""\r
- raise RuntimeError('test class must provide a marshal method')\r
-\r
- def test_islower(self):\r
- self.assertFalse(self.marshal(b'').islower())\r
- self.assertTrue(self.marshal(b'a').islower())\r
- self.assertFalse(self.marshal(b'A').islower())\r
- self.assertFalse(self.marshal(b'\n').islower())\r
- self.assertTrue(self.marshal(b'abc').islower())\r
- self.assertFalse(self.marshal(b'aBc').islower())\r
- self.assertTrue(self.marshal(b'abc\n').islower())\r
- self.assertRaises(TypeError, self.marshal(b'abc').islower, 42)\r
-\r
- def test_isupper(self):\r
- self.assertFalse(self.marshal(b'').isupper())\r
- self.assertFalse(self.marshal(b'a').isupper())\r
- self.assertTrue(self.marshal(b'A').isupper())\r
- self.assertFalse(self.marshal(b'\n').isupper())\r
- self.assertTrue(self.marshal(b'ABC').isupper())\r
- self.assertFalse(self.marshal(b'AbC').isupper())\r
- self.assertTrue(self.marshal(b'ABC\n').isupper())\r
- self.assertRaises(TypeError, self.marshal(b'abc').isupper, 42)\r
-\r
- def test_istitle(self):\r
- self.assertFalse(self.marshal(b'').istitle())\r
- self.assertFalse(self.marshal(b'a').istitle())\r
- self.assertTrue(self.marshal(b'A').istitle())\r
- self.assertFalse(self.marshal(b'\n').istitle())\r
- self.assertTrue(self.marshal(b'A Titlecased Line').istitle())\r
- self.assertTrue(self.marshal(b'A\nTitlecased Line').istitle())\r
- self.assertTrue(self.marshal(b'A Titlecased, Line').istitle())\r
- self.assertFalse(self.marshal(b'Not a capitalized String').istitle())\r
- self.assertFalse(self.marshal(b'Not\ta Titlecase String').istitle())\r
- self.assertFalse(self.marshal(b'Not--a Titlecase String').istitle())\r
- self.assertFalse(self.marshal(b'NOT').istitle())\r
- self.assertRaises(TypeError, self.marshal(b'abc').istitle, 42)\r
-\r
- def test_isspace(self):\r
- self.assertFalse(self.marshal(b'').isspace())\r
- self.assertFalse(self.marshal(b'a').isspace())\r
- self.assertTrue(self.marshal(b' ').isspace())\r
- self.assertTrue(self.marshal(b'\t').isspace())\r
- self.assertTrue(self.marshal(b'\r').isspace())\r
- self.assertTrue(self.marshal(b'\n').isspace())\r
- self.assertTrue(self.marshal(b' \t\r\n').isspace())\r
- self.assertFalse(self.marshal(b' \t\r\na').isspace())\r
- self.assertRaises(TypeError, self.marshal(b'abc').isspace, 42)\r
-\r
- def test_isalpha(self):\r
- self.assertFalse(self.marshal(b'').isalpha())\r
- self.assertTrue(self.marshal(b'a').isalpha())\r
- self.assertTrue(self.marshal(b'A').isalpha())\r
- self.assertFalse(self.marshal(b'\n').isalpha())\r
- self.assertTrue(self.marshal(b'abc').isalpha())\r
- self.assertFalse(self.marshal(b'aBc123').isalpha())\r
- self.assertFalse(self.marshal(b'abc\n').isalpha())\r
- self.assertRaises(TypeError, self.marshal(b'abc').isalpha, 42)\r
-\r
- def test_isalnum(self):\r
- self.assertFalse(self.marshal(b'').isalnum())\r
- self.assertTrue(self.marshal(b'a').isalnum())\r
- self.assertTrue(self.marshal(b'A').isalnum())\r
- self.assertFalse(self.marshal(b'\n').isalnum())\r
- self.assertTrue(self.marshal(b'123abc456').isalnum())\r
- self.assertTrue(self.marshal(b'a1b3c').isalnum())\r
- self.assertFalse(self.marshal(b'aBc000 ').isalnum())\r
- self.assertFalse(self.marshal(b'abc\n').isalnum())\r
- self.assertRaises(TypeError, self.marshal(b'abc').isalnum, 42)\r
-\r
- def test_isdigit(self):\r
- self.assertFalse(self.marshal(b'').isdigit())\r
- self.assertFalse(self.marshal(b'a').isdigit())\r
- self.assertTrue(self.marshal(b'0').isdigit())\r
- self.assertTrue(self.marshal(b'0123456789').isdigit())\r
- self.assertFalse(self.marshal(b'0123456789a').isdigit())\r
-\r
- self.assertRaises(TypeError, self.marshal(b'abc').isdigit, 42)\r
-\r
- def test_lower(self):\r
- self.assertEqual(b'hello', self.marshal(b'HeLLo').lower())\r
- self.assertEqual(b'hello', self.marshal(b'hello').lower())\r
- self.assertRaises(TypeError, self.marshal(b'hello').lower, 42)\r
-\r
- def test_upper(self):\r
- self.assertEqual(b'HELLO', self.marshal(b'HeLLo').upper())\r
- self.assertEqual(b'HELLO', self.marshal(b'HELLO').upper())\r
- self.assertRaises(TypeError, self.marshal(b'hello').upper, 42)\r
-\r
- def test_capitalize(self):\r
- self.assertEqual(b' hello ', self.marshal(b' hello ').capitalize())\r
- self.assertEqual(b'Hello ', self.marshal(b'Hello ').capitalize())\r
- self.assertEqual(b'Hello ', self.marshal(b'hello ').capitalize())\r
- self.assertEqual(b'Aaaa', self.marshal(b'aaaa').capitalize())\r
- self.assertEqual(b'Aaaa', self.marshal(b'AaAa').capitalize())\r
-\r
- self.assertRaises(TypeError, self.marshal(b'hello').capitalize, 42)\r
-\r
- def test_ljust(self):\r
- self.assertEqual(b'abc ', self.marshal(b'abc').ljust(10))\r
- self.assertEqual(b'abc ', self.marshal(b'abc').ljust(6))\r
- self.assertEqual(b'abc', self.marshal(b'abc').ljust(3))\r
- self.assertEqual(b'abc', self.marshal(b'abc').ljust(2))\r
- self.assertEqual(b'abc*******', self.marshal(b'abc').ljust(10, '*'))\r
- self.assertRaises(TypeError, self.marshal(b'abc').ljust)\r
-\r
- def test_rjust(self):\r
- self.assertEqual(b' abc', self.marshal(b'abc').rjust(10))\r
- self.assertEqual(b' abc', self.marshal(b'abc').rjust(6))\r
- self.assertEqual(b'abc', self.marshal(b'abc').rjust(3))\r
- self.assertEqual(b'abc', self.marshal(b'abc').rjust(2))\r
- self.assertEqual(b'*******abc', self.marshal(b'abc').rjust(10, '*'))\r
- self.assertRaises(TypeError, self.marshal(b'abc').rjust)\r
-\r
- def test_center(self):\r
- self.assertEqual(b' abc ', self.marshal(b'abc').center(10))\r
- self.assertEqual(b' abc ', self.marshal(b'abc').center(6))\r
- self.assertEqual(b'abc', self.marshal(b'abc').center(3))\r
- self.assertEqual(b'abc', self.marshal(b'abc').center(2))\r
- self.assertEqual(b'***abc****', self.marshal(b'abc').center(10, '*'))\r
- self.assertRaises(TypeError, self.marshal(b'abc').center)\r
-\r
- def test_swapcase(self):\r
- self.assertEqual(b'hEllO CoMPuTErS',\r
- self.marshal(b'HeLLo cOmpUteRs').swapcase())\r
-\r
- self.assertRaises(TypeError, self.marshal(b'hello').swapcase, 42)\r
-\r
- def test_zfill(self):\r
- self.assertEqual(b'123', self.marshal(b'123').zfill(2))\r
- self.assertEqual(b'123', self.marshal(b'123').zfill(3))\r
- self.assertEqual(b'0123', self.marshal(b'123').zfill(4))\r
- self.assertEqual(b'+123', self.marshal(b'+123').zfill(3))\r
- self.assertEqual(b'+123', self.marshal(b'+123').zfill(4))\r
- self.assertEqual(b'+0123', self.marshal(b'+123').zfill(5))\r
- self.assertEqual(b'-123', self.marshal(b'-123').zfill(3))\r
- self.assertEqual(b'-123', self.marshal(b'-123').zfill(4))\r
- self.assertEqual(b'-0123', self.marshal(b'-123').zfill(5))\r
- self.assertEqual(b'000', self.marshal(b'').zfill(3))\r
- self.assertEqual(b'34', self.marshal(b'34').zfill(1))\r
- self.assertEqual(b'0034', self.marshal(b'34').zfill(4))\r
-\r
- self.assertRaises(TypeError, self.marshal(b'123').zfill)\r
-\r
- def test_expandtabs(self):\r
- self.assertEqual(b'abc\rab def\ng hi',\r
- self.marshal(b'abc\rab\tdef\ng\thi').expandtabs())\r
- self.assertEqual(b'abc\rab def\ng hi',\r
- self.marshal(b'abc\rab\tdef\ng\thi').expandtabs(8))\r
- self.assertEqual(b'abc\rab def\ng hi',\r
- self.marshal(b'abc\rab\tdef\ng\thi').expandtabs(4))\r
- self.assertEqual(b'abc\r\nab def\ng hi',\r
- self.marshal(b'abc\r\nab\tdef\ng\thi').expandtabs(4))\r
- self.assertEqual(b'abc\rab def\ng hi',\r
- self.marshal(b'abc\rab\tdef\ng\thi').expandtabs())\r
- self.assertEqual(b'abc\rab def\ng hi',\r
- self.marshal(b'abc\rab\tdef\ng\thi').expandtabs(8))\r
- self.assertEqual(b'abc\r\nab\r\ndef\ng\r\nhi',\r
- self.marshal(b'abc\r\nab\r\ndef\ng\r\nhi').expandtabs(4))\r
- self.assertEqual(b' a\n b', self.marshal(b' \ta\n\tb').expandtabs(1))\r
-\r
- self.assertRaises(TypeError, self.marshal(b'hello').expandtabs, 42, 42)\r
- # This test is only valid when sizeof(int) == sizeof(void*) == 4.\r
- if sys.maxint < (1 << 32) and struct.calcsize('P') == 4:\r
- self.assertRaises(OverflowError,\r
- self.marshal(b'\ta\n\tb').expandtabs, sys.maxint)\r
-\r
- def test_title(self):\r
- self.assertEqual(b' Hello ', self.marshal(b' hello ').title())\r
- self.assertEqual(b'Hello ', self.marshal(b'hello ').title())\r
- self.assertEqual(b'Hello ', self.marshal(b'Hello ').title())\r
- self.assertEqual(b'Format This As Title String',\r
- self.marshal(b'fOrMaT thIs aS titLe String').title())\r
- self.assertEqual(b'Format,This-As*Title;String',\r
- self.marshal(b'fOrMaT,thIs-aS*titLe;String').title())\r
- self.assertEqual(b'Getint', self.marshal(b'getInt').title())\r
- self.assertRaises(TypeError, self.marshal(b'hello').title, 42)\r
-\r
- def test_splitlines(self):\r
- self.assertEqual([b'abc', b'def', b'', b'ghi'],\r
- self.marshal(b'abc\ndef\n\rghi').splitlines())\r
- self.assertEqual([b'abc', b'def', b'', b'ghi'],\r
- self.marshal(b'abc\ndef\n\r\nghi').splitlines())\r
- self.assertEqual([b'abc', b'def', b'ghi'],\r
- self.marshal(b'abc\ndef\r\nghi').splitlines())\r
- self.assertEqual([b'abc', b'def', b'ghi'],\r
- self.marshal(b'abc\ndef\r\nghi\n').splitlines())\r
- self.assertEqual([b'abc', b'def', b'ghi', b''],\r
- self.marshal(b'abc\ndef\r\nghi\n\r').splitlines())\r
- self.assertEqual([b'', b'abc', b'def', b'ghi', b''],\r
- self.marshal(b'\nabc\ndef\r\nghi\n\r').splitlines())\r
- self.assertEqual([b'\n', b'abc\n', b'def\r\n', b'ghi\n', b'\r'],\r
- self.marshal(b'\nabc\ndef\r\nghi\n\r').splitlines(1))\r
-\r
- self.assertRaises(TypeError, self.marshal(b'abc').splitlines, 42, 42)\r