diff --git a/tests/test_string_mixin.py b/tests/test_string_mixin.py index 0e60309..74da9ff 100644 --- a/tests/test_string_mixin.py +++ b/tests/test_string_mixin.py @@ -157,7 +157,43 @@ class TestStringMixIn(unittest.TestCase): def test_other_methods(self): """test the remaining non-magic methods of StringMixIn""" - pass + fstr = _FakeString("fake string") + + self.assertEquals("Fake string", fstr.capitalize()) + + self.assertEquals(" fake string ", fstr.center(15)) + self.assertEquals(" fake string ", fstr.center(16)) + self.assertEquals("qqfake stringqq", fstr.center(15, "q")) + + self.assertEquals(1, fstr.count("e")) + self.assertEquals(0, fstr.count("z")) + self.assertEquals(1, fstr.count("r", 7)) + self.assertEquals(0, fstr.count("r", 8)) + self.assertEquals(1, fstr.count("r", 5, 9)) + self.assertEquals(0, fstr.count("r", 5, 7)) + + if not py3k: + self.assertEquals(fstr, fstr.decode()) + self.assertEquals("πŒ²πŒΏπ„", '\\U00010332\\U0001033f\\U00010344'.decode("unicode_escape")) + + self.assertEquals(b"fake string", fstr.encode()) + self.assertEquals(b"\xF0\x90\x8C\xB2\xF0\x90\x8C\xBF\xF0\x90\x8D\x84", + "πŒ²πŒΏπ„".encode("utf8")) + self.assertRaises(UnicodeEncodeError, "πŒ²πŒΏπ„".encode) + self.assertRaises(UnicodeEncodeError, "πŒ²πŒΏπ„".encode, "ascii") + self.assertRaises(UnicodeEncodeError, "πŒ²πŒΏπ„".encode, "ascii", "strict") + self.assertEquals("", "πŒ²πŒΏπ„".encode("ascii", "ignore")) + + self.assertTrue(fstr.endswith("ing")) + self.assertFalse(fstr.endswith("ingh")) + + methods = [ + "expandtabs", "find", "format", "index", "isalnum", "isalpha", + "isdecimal", "isdigit", "islower", "isnumeric", "isspace", + "istitle", "isupper", "join", "ljust", "lstrip", "partition", + "replace", "rfind", "rindex", "rjust", "rpartition", "rsplit", + "rstrip", "split", "splitlines", "startswith", "strip", "swapcase", + "title", "translate", "upper", "zfill"] if __name__ == "__main__": unittest.main(verbosity=2)