(self)
| 595 | r'expires=\w+, \d+ \w+ \d+ \d+:\d+:\d+ \w+') |
| 596 | |
| 597 | def test_control_characters(self): |
| 598 | for c0 in support.control_characters_c0(): |
| 599 | morsel = cookies.Morsel() |
| 600 | |
| 601 | # .__setitem__() |
| 602 | with self.assertRaises(cookies.CookieError): |
| 603 | morsel[c0] = "val" |
| 604 | with self.assertRaises(cookies.CookieError): |
| 605 | morsel["path"] = c0 |
| 606 | |
| 607 | # .__setstate__() |
| 608 | with self.assertRaises(cookies.CookieError): |
| 609 | morsel.__setstate__({'key': c0, 'value': 'val', 'coded_value': 'coded'}) |
| 610 | with self.assertRaises(cookies.CookieError): |
| 611 | morsel.__setstate__({'key': 'key', 'value': c0, 'coded_value': 'coded'}) |
| 612 | with self.assertRaises(cookies.CookieError): |
| 613 | morsel.__setstate__({'key': 'key', 'value': 'val', 'coded_value': c0}) |
| 614 | |
| 615 | # .setdefault() |
| 616 | with self.assertRaises(cookies.CookieError): |
| 617 | morsel.setdefault("path", c0) |
| 618 | with self.assertRaises(cookies.CookieError): |
| 619 | morsel.setdefault(c0, "val") |
| 620 | |
| 621 | # .set() |
| 622 | with self.assertRaises(cookies.CookieError): |
| 623 | morsel.set(c0, "val", "coded-value") |
| 624 | with self.assertRaises(cookies.CookieError): |
| 625 | morsel.set("path", c0, "coded-value") |
| 626 | with self.assertRaises(cookies.CookieError): |
| 627 | morsel.set("path", "val", c0) |
| 628 | |
| 629 | # .update() |
| 630 | with self.assertRaises(cookies.CookieError): |
| 631 | morsel.update({"path": c0}) |
| 632 | with self.assertRaises(cookies.CookieError): |
| 633 | morsel.update({c0: "val"}) |
| 634 | |
| 635 | # .__ior__() |
| 636 | with self.assertRaises(cookies.CookieError): |
| 637 | morsel |= {"path": c0} |
| 638 | with self.assertRaises(cookies.CookieError): |
| 639 | morsel |= {c0: "val"} |
| 640 | |
| 641 | def test_control_characters_output(self): |
| 642 | # Tests that even if the internals of Morsel are modified |
nothing calls this directly
no test coverage detected