(self)
| 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') |
nothing calls this directly
no test coverage detected