def test_escape_string(self): cases = [ ('new\nline', b'new\\nline'), ('carriage\rreturn', b'carriage\\rreturn'), ('control\x1aZ', b'control\\ZZ'), ("single'quote", b"single\\'quote"), ('double"quote', b'double\\"quote'), ('back\slash', b'back\\\\slash'), ('nul\0char', b'nul\\0char'), (u"Kangxi⽃\0⽇", b'Kangxi\xe2\xbd\x83\\0\xe2\xbd\x87'), (b'bytes\0ob\'j\n"ct\x1a', b'bytes\\0ob\\\'j\\n\\"ct\\Z'), ] cmy = MySQL() cmy.connect(**self.connect_kwargs) unicode_string = u"Kangxi⽃\0⽇" self.assertRaises(UnicodeEncodeError, cmy.escape_string, unicode_string) cmy.set_character_set("UTF8") for value, exp in cases: self.assertEqual(exp, cmy.escape_string(value)) self.assertRaises(TypeError, cmy.escape_string, 1234);
def test_escape_string(self): cases = [ ('new\nline', b'new\\nline'), ('carriage\rreturn', b'carriage\\rreturn'), ('control\x1aZ', b'control\\ZZ'), ("single'quote", b"single\\'quote"), ('double"quote', b'double\\"quote'), ('back\slash', b'back\\\\slash'), ('nul\0char', b'nul\\0char'), (u"Kangxi⽃\0⽇", b'Kangxi\xe2\xbd\x83\\0\xe2\xbd\x87'), (b'bytes\0ob\'j\n"ct\x1a', b'bytes\\0ob\\\'j\\n\\"ct\\Z'), ] cmy = MySQL() cmy.connect(**self.connect_kwargs) unicode_string = u"Kangxi⽃\0⽇" self.assertRaises(UnicodeEncodeError, cmy.escape_string, unicode_string) cmy.set_character_set("UTF8") for value, exp in cases: self.assertEqual(exp, cmy.escape_string(value)) self.assertRaises(TypeError, cmy.escape_string, 1234)