📄 test_binascii.py
字号:
"""Test the binascii C module."""from test_support import verboseimport binascii# Show module doc stringprint binascii.__doc__# Show module exceptionsprint binascii.Errorprint binascii.Incomplete# Check presence and display doc strings of all functionsfuncs = []for suffix in "base64", "hqx", "uu": prefixes = ["a2b_", "b2a_"] if suffix == "hqx": prefixes.extend(["crc_", "rlecode_", "rledecode_"]) for prefix in prefixes: name = prefix + suffix funcs.append(getattr(binascii, name))for func in funcs: print "%-15s: %s" % (func.__name__, func.__doc__)# Create binary test datatestdata = "The quick brown fox jumps over the lazy dog.\r\n"for i in range(256): # Be slow so we don't depend on other modules testdata = testdata + chr(i)testdata = testdata + "\r\nHello world.\n"# Test base64 with valid dataprint "base64 test"MAX_BASE64 = 57lines = []for i in range(0, len(testdata), MAX_BASE64): b = testdata[i:i+MAX_BASE64] a = binascii.b2a_base64(b) lines.append(a) print a,res = ""for line in lines: b = binascii.a2b_base64(line) res = res + bassert res == testdata# Test base64 with random invalid characters sprinkled throughout# (This requires a new version of binascii.)fillers = ""valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/"for i in range(256): c = chr(i) if c not in valid: fillers = fillers + cdef addnoise(line): noise = fillers ratio = len(line) / len(noise) res = "" while line and noise: if len(line) / len(noise) > ratio: c, line = line[0], line[1:] else: c, noise = noise[0], noise[1:] res = res + c return res + noise + lineres = ""for line in map(addnoise, lines): b = binascii.a2b_base64(line) res = res + bassert res == testdata# Test uuprint "uu test"MAX_UU = 45lines = []for i in range(0, len(testdata), MAX_UU): b = testdata[i:i+MAX_UU] a = binascii.b2a_uu(b) lines.append(a) print a,res = ""for line in lines: b = binascii.a2b_uu(line) res = res + bassert res == testdata# Test crc32()crc = binascii.crc32("Test the CRC-32 of")crc = binascii.crc32(" this string.", crc)if crc != 1571220330: print "binascii.crc32() failed."# The hqx test is in test_binhex.py
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -