MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_qp

Method test_qp

Lib/test/test_binascii.py:312–412  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

310 self.assertEqual(binascii.b2a_hex(self.type2test(s), ':'), expected1)
311
312 def test_qp(self):
313 type2test = self.type2test
314 a2b_qp = binascii.a2b_qp
315 b2a_qp = binascii.b2a_qp
316
317 a2b_qp(data=b"", header=False) # Keyword arguments allowed
318
319 # A test for SF bug 534347 (segfaults without the proper fix)
320 try:
321 a2b_qp(b"", **{1:1})
322 except TypeError:
323 pass
324 else:
325 self.fail("binascii.a2b_qp(**{1:1}) didn't raise TypeError")
326
327 self.assertEqual(a2b_qp(type2test(b"=")), b"")
328 self.assertEqual(a2b_qp(type2test(b"= ")), b"= ")
329 self.assertEqual(a2b_qp(type2test(b"==")), b"=")
330 self.assertEqual(a2b_qp(type2test(b"=\nAB")), b"AB")
331 self.assertEqual(a2b_qp(type2test(b"=\r\nAB")), b"AB")
332 self.assertEqual(a2b_qp(type2test(b"=\rAB")), b"") # ?
333 self.assertEqual(a2b_qp(type2test(b"=\rAB\nCD")), b"CD") # ?
334 self.assertEqual(a2b_qp(type2test(b"=AB")), b"\xab")
335 self.assertEqual(a2b_qp(type2test(b"=ab")), b"\xab")
336 self.assertEqual(a2b_qp(type2test(b"=AX")), b"=AX")
337 self.assertEqual(a2b_qp(type2test(b"=XA")), b"=XA")
338 self.assertEqual(a2b_qp(type2test(b"=AB")[:-1]), b"=A")
339
340 self.assertEqual(a2b_qp(type2test(b'_')), b'_')
341 self.assertEqual(a2b_qp(type2test(b'_'), header=True), b' ')
342
343 self.assertRaises(TypeError, b2a_qp, foo="bar")
344 self.assertEqual(a2b_qp(type2test(b"=00\r\n=00")), b"\x00\r\n\x00")
345 self.assertEqual(b2a_qp(type2test(b"\xff\r\n\xff\n\xff")),
346 b"=FF\r\n=FF\r\n=FF")
347 self.assertEqual(b2a_qp(type2test(b"0"*75+b"\xff\r\n\xff\r\n\xff")),
348 b"0"*75+b"=\r\n=FF\r\n=FF\r\n=FF")
349
350 self.assertEqual(b2a_qp(type2test(b'\x7f')), b'=7F')
351 self.assertEqual(b2a_qp(type2test(b'=')), b'=3D')
352
353 self.assertEqual(b2a_qp(type2test(b'_')), b'_')
354 self.assertEqual(b2a_qp(type2test(b'_'), header=True), b'=5F')
355 self.assertEqual(b2a_qp(type2test(b'x y'), header=True), b'x_y')
356 self.assertEqual(b2a_qp(type2test(b'x '), header=True), b'x=20')
357 self.assertEqual(b2a_qp(type2test(b'x y'), header=True, quotetabs=True),
358 b'x=20y')
359 self.assertEqual(b2a_qp(type2test(b'x\ty'), header=True), b'x\ty')
360
361 self.assertEqual(b2a_qp(type2test(b' ')), b'=20')
362 self.assertEqual(b2a_qp(type2test(b'\t')), b'=09')
363 self.assertEqual(b2a_qp(type2test(b' x')), b' x')
364 self.assertEqual(b2a_qp(type2test(b'\tx')), b'\tx')
365 self.assertEqual(b2a_qp(type2test(b' x')[:-1]), b'=20')
366 self.assertEqual(b2a_qp(type2test(b'\tx')[:-1]), b'=09')
367 self.assertEqual(b2a_qp(type2test(b'\0')), b'=00')
368
369 self.assertEqual(b2a_qp(type2test(b'\0\n')), b'=00\n')

Callers

nothing calls this directly

Calls 6

a2b_qpFunction · 0.85
b2a_qpFunction · 0.85
type2testClass · 0.70
failMethod · 0.45
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected