本文整理匯總了Python中codecs.strict_errors方法的典型用法代碼示例。如果您正苦於以下問題:Python codecs.strict_errors方法的具體用法?Python codecs.strict_errors怎麽用?Python codecs.strict_errors使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類codecs
的用法示例。
在下文中一共展示了codecs.strict_errors方法的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: test_fake_error_class
# 需要導入模塊: import codecs [as 別名]
# 或者: from codecs import strict_errors [as 別名]
def test_fake_error_class(self):
handlers = [
codecs.strict_errors,
codecs.ignore_errors,
codecs.replace_errors,
codecs.backslashreplace_errors,
codecs.xmlcharrefreplace_errors,
]
for cls in UnicodeEncodeError, UnicodeDecodeError, UnicodeTranslateError:
class FakeUnicodeError(str):
__class__ = cls
for handler in handlers:
self.assertRaises(TypeError, handler, FakeUnicodeError())
class FakeUnicodeError(Exception):
__class__ = cls
for handler in handlers:
with self.assertRaises((TypeError, FakeUnicodeError)):
handler(FakeUnicodeError())
示例2: test_badandgoodstrictexceptions
# 需要導入模塊: import codecs [as 別名]
# 或者: from codecs import strict_errors [as 別名]
def test_badandgoodstrictexceptions(self):
# "strict" complains about a non-exception passed in
self.assertRaises(
TypeError,
codecs.strict_errors,
42
)
# "strict" complains about the wrong exception type
self.assertRaises(
Exception,
codecs.strict_errors,
Exception("ouch")
)
# If the correct exception is passed in, "strict" raises it
self.assertRaises(
UnicodeEncodeError,
codecs.strict_errors,
UnicodeEncodeError("ascii", u"\u3042", 0, 1, "ouch")
)
示例3: test_lookup
# 需要導入模塊: import codecs [as 別名]
# 或者: from codecs import strict_errors [as 別名]
def test_lookup(self):
self.assertEqual(codecs.strict_errors, codecs.lookup_error("strict"))
self.assertEqual(codecs.ignore_errors, codecs.lookup_error("ignore"))
self.assertEqual(codecs.strict_errors, codecs.lookup_error("strict"))
self.assertEqual(
codecs.xmlcharrefreplace_errors,
codecs.lookup_error("xmlcharrefreplace")
)
self.assertEqual(
codecs.backslashreplace_errors,
codecs.lookup_error("backslashreplace")
)
self.assertEqual(
codecs.namereplace_errors,
codecs.lookup_error("namereplace")
)
示例4: test_fake_error_class
# 需要導入模塊: import codecs [as 別名]
# 或者: from codecs import strict_errors [as 別名]
def test_fake_error_class(self):
handlers = [
codecs.strict_errors,
codecs.ignore_errors,
codecs.replace_errors,
codecs.backslashreplace_errors,
codecs.namereplace_errors,
codecs.xmlcharrefreplace_errors,
codecs.lookup_error('surrogateescape'),
codecs.lookup_error('surrogatepass'),
]
for cls in UnicodeEncodeError, UnicodeDecodeError, UnicodeTranslateError:
class FakeUnicodeError(str):
__class__ = cls
for handler in handlers:
with self.subTest(handler=handler, error_class=cls):
self.assertRaises(TypeError, handler, FakeUnicodeError())
class FakeUnicodeError(Exception):
__class__ = cls
for handler in handlers:
with self.subTest(handler=handler, error_class=cls):
with self.assertRaises((TypeError, FakeUnicodeError)):
handler(FakeUnicodeError())
示例5: test_fake_error_class
# 需要導入模塊: import codecs [as 別名]
# 或者: from codecs import strict_errors [as 別名]
def test_fake_error_class(self):
handlers = [
codecs.strict_errors,
codecs.ignore_errors,
codecs.replace_errors,
codecs.backslashreplace_errors,
codecs.xmlcharrefreplace_errors,
codecs.lookup_error('surrogateescape'),
codecs.lookup_error('surrogatepass'),
]
for cls in UnicodeEncodeError, UnicodeDecodeError, UnicodeTranslateError:
class FakeUnicodeError(str):
__class__ = cls
for handler in handlers:
with self.subTest(handler=handler, error_class=cls):
self.assertRaises(TypeError, handler, FakeUnicodeError())
class FakeUnicodeError(Exception):
__class__ = cls
for handler in handlers:
with self.subTest(handler=handler, error_class=cls):
with self.assertRaises((TypeError, FakeUnicodeError)):
handler(FakeUnicodeError())
示例6: test_badandgoodstrictexceptions
# 需要導入模塊: import codecs [as 別名]
# 或者: from codecs import strict_errors [as 別名]
def test_badandgoodstrictexceptions(self):
# "strict" complains about a non-exception passed in
self.assertRaises(
TypeError,
codecs.strict_errors,
42
)
# "strict" complains about the wrong exception type
self.assertRaises(
Exception,
codecs.strict_errors,
Exception("ouch")
)
# If the correct exception is passed in, "strict" raises it
self.assertRaises(
UnicodeEncodeError,
codecs.strict_errors,
UnicodeEncodeError("ascii", u"\u3042", 0, 1, "ouch")
)
self.assertRaises(
UnicodeDecodeError,
codecs.strict_errors,
UnicodeDecodeError("ascii", "\xff", 0, 1, "ouch")
)
self.assertRaises(
UnicodeTranslateError,
codecs.strict_errors,
UnicodeTranslateError(u"\u3042", 0, 1, "ouch")
)
示例7: test_lookup
# 需要導入模塊: import codecs [as 別名]
# 或者: from codecs import strict_errors [as 別名]
def test_lookup(self):
self.assertEqual(codecs.strict_errors, codecs.lookup_error("strict"))
self.assertEqual(codecs.ignore_errors, codecs.lookup_error("ignore"))
self.assertEqual(codecs.strict_errors, codecs.lookup_error("strict"))
self.assertEqual(
codecs.xmlcharrefreplace_errors,
codecs.lookup_error("xmlcharrefreplace")
)
self.assertEqual(
codecs.backslashreplace_errors,
codecs.lookup_error("backslashreplace")
)
示例8: test_badandgoodstrictexceptions
# 需要導入模塊: import codecs [as 別名]
# 或者: from codecs import strict_errors [as 別名]
def test_badandgoodstrictexceptions(self):
# "strict" complains about a non-exception passed in
self.assertRaises(
TypeError,
codecs.strict_errors,
42
)
# "strict" complains about the wrong exception type
self.assertRaises(
Exception,
codecs.strict_errors,
Exception("ouch")
)
# If the correct exception is passed in, "strict" raises it
self.assertRaises(
UnicodeEncodeError,
codecs.strict_errors,
UnicodeEncodeError("ascii", "\u3042", 0, 1, "ouch")
)
self.assertRaises(
UnicodeDecodeError,
codecs.strict_errors,
UnicodeDecodeError("ascii", bytearray(b"\xff"), 0, 1, "ouch")
)
self.assertRaises(
UnicodeTranslateError,
codecs.strict_errors,
UnicodeTranslateError("\u3042", 0, 1, "ouch")
)
示例9: test_lookup
# 需要導入模塊: import codecs [as 別名]
# 或者: from codecs import strict_errors [as 別名]
def test_lookup(self):
self.assertEquals(codecs.strict_errors, codecs.lookup_error("strict"))
self.assertEquals(codecs.ignore_errors, codecs.lookup_error("ignore"))
self.assertEquals(codecs.strict_errors, codecs.lookup_error("strict"))
self.assertEquals(
codecs.xmlcharrefreplace_errors,
codecs.lookup_error("xmlcharrefreplace")
)
self.assertEquals(
codecs.backslashreplace_errors,
codecs.lookup_error("backslashreplace")
)
示例10: test_error_handlers
# 需要導入模塊: import codecs [as 別名]
# 或者: from codecs import strict_errors [as 別名]
def test_error_handlers(self):
ude = UnicodeDecodeError('dummy', b"abcdefgh", 3, 5, "decoding testing purposes")
uee = UnicodeEncodeError('dummy', "abcdefgh", 2, 6, "encoding testing purposes")
ute = UnicodeTranslateError("abcdefgh", 2, 6, "translating testing purposes")
unicode_data = "ab\xff\u20ac\U0001f40d\0\t\r\nz"
uee_unicode = UnicodeEncodeError('dummy', unicode_data, 2, len(unicode_data), "encoding testing purposes")
strict = codecs.lookup_error('strict')
self.assertEqual(strict, codecs.strict_errors)
with self.assertRaises(UnicodeDecodeError) as cm:
strict(ude)
self.assertEqual(cm.exception, ude)
with self.assertRaises(UnicodeEncodeError) as cm:
strict(uee)
self.assertEqual(cm.exception, uee)
with self.assertRaises(UnicodeTranslateError) as cm:
strict(ute)
self.assertEqual(cm.exception, ute)
self.assertRaisesRegex(TypeError, "codec must pass exception instance", strict, None)
self.assertRaisesRegex(TypeError, "\w+\(\) takes exactly (one|1) argument \(0 given\)", strict)
self.assertRaisesRegex(TypeError, "\w+\(\) takes exactly (one|1) argument \(2 given\)", strict, ude, uee)
self.assertRaises(LookupError, codecs.lookup_error, "STRICT")
ignore = codecs.lookup_error('ignore')
self.assertEqual(ignore, codecs.ignore_errors)
self.assertEqual(ignore(ude), ("", 5))
self.assertEqual(ignore(uee), ("", 6))
self.assertEqual(ignore(ute), ("", 6))
self.assertEqual(ignore(uee_unicode), ("", uee_unicode.end))
replace = codecs.lookup_error('replace')
self.assertEqual(replace, codecs.replace_errors)
self.assertEqual(replace(ude), ("�", 5))
self.assertEqual(replace(uee), ("????", 6))
self.assertEqual(replace(ute), ("����", 6))
self.assertEqual(replace(uee_unicode), ("?" * (uee_unicode.end - uee_unicode.start), uee_unicode.end))
backslashreplace = codecs.lookup_error('backslashreplace')
self.assertEqual(backslashreplace, codecs.backslashreplace_errors)
self.assertRaisesRegex(TypeError, "don't know how to handle UnicodeDecodeError in error callback", backslashreplace, ude)
self.assertEqual(backslashreplace(uee), (r"\x63\x64\x65\x66", 6))
self.assertRaisesRegex(TypeError, "don't know how to handle UnicodeTranslateError in error callback", backslashreplace, ute)
self.assertEqual(backslashreplace(uee_unicode), (r"\xff\u20ac\U0001f40d\x00\x09\x0d\x0a\x7a", uee_unicode.end))
xmlcharrefreplace = codecs.lookup_error('xmlcharrefreplace')
self.assertEqual(xmlcharrefreplace, codecs.xmlcharrefreplace_errors)
self.assertRaisesRegex(TypeError, "don't know how to handle UnicodeDecodeError in error callback", xmlcharrefreplace, ude)
self.assertEqual(xmlcharrefreplace(uee), ("cdef", 6))
self.assertRaisesRegex(TypeError, "don't know how to handle UnicodeTranslateError in error callback", xmlcharrefreplace, ute)
self.assertEqual(xmlcharrefreplace(uee_unicode), ("ÿ€🐍�	 z", uee_unicode.end))