| 4633 | |
| 4634 | class TestQuopri(unittest.TestCase): |
| 4635 | def setUp(self): |
| 4636 | # Set of characters (as byte integers) that don't need to be encoded |
| 4637 | # in headers. |
| 4638 | self.hlit = list(chain( |
| 4639 | range(ord('a'), ord('z') + 1), |
| 4640 | range(ord('A'), ord('Z') + 1), |
| 4641 | range(ord('0'), ord('9') + 1), |
| 4642 | (c for c in b'!*+-/'))) |
| 4643 | # Set of characters (as byte integers) that do need to be encoded in |
| 4644 | # headers. |
| 4645 | self.hnon = [c for c in range(256) if c not in self.hlit] |
| 4646 | assert len(self.hlit) + len(self.hnon) == 256 |
| 4647 | # Set of characters (as byte integers) that don't need to be encoded |
| 4648 | # in bodies. |
| 4649 | self.blit = list(range(ord(' '), ord('~') + 1)) |
| 4650 | self.blit.append(ord('\t')) |
| 4651 | self.blit.remove(ord('=')) |
| 4652 | # Set of characters (as byte integers) that do need to be encoded in |
| 4653 | # bodies. |
| 4654 | self.bnon = [c for c in range(256) if c not in self.blit] |
| 4655 | assert len(self.blit) + len(self.bnon) == 256 |
| 4656 | |
| 4657 | def test_quopri_header_check(self): |
| 4658 | for c in self.hlit: |