|
1 | 1 | import os |
| 2 | +import sys |
2 | 3 | from datetime import datetime, timedelta |
3 | 4 | from io import StringIO |
4 | 5 | from unittest.mock import patch |
@@ -811,13 +812,19 @@ def test_video_with_time_anchor(self): |
811 | 812 | self.assertEqual(uv.type, 'external') |
812 | 813 |
|
813 | 814 | def test_forged_video_with_time_anchor(self): |
814 | | - uv = Url(url=f"{self.live_server_url}/static-files/fake-video.mp4#t=2.0") |
| 815 | + uv = Url(url=f"{self.live_server_url}/static-files/fake-video.mp4#<t=2.0") |
815 | 816 | uv.check_url() |
816 | | - self.assertEqual(uv.message, "200 OK, failed to parse HTML for anchor") |
| 817 | + if sys.version_info >= (3, 13): |
| 818 | + # Following fixes for https://github.com/python/cpython/issues/135661, |
| 819 | + # it is harder to make html parser fail. |
| 820 | + self.assertEqual(uv.message, "200 OK, broken external hash anchor") |
| 821 | + self.assertEqual(uv.anchor_message, "Broken anchor") |
| 822 | + else: |
| 823 | + self.assertEqual(uv.message, "200 OK, failed to parse HTML for anchor") |
| 824 | + self.assertEqual(uv.anchor_message, "Anchor could not be checked") |
817 | 825 | self.assertEqual(uv.get_message, 'Working external link') |
818 | 826 | self.assertEqual(uv.error_message, '') |
819 | 827 | self.assertEqual(uv.status, True) |
820 | | - self.assertEqual(uv.anchor_message, 'Anchor could not be checked') |
821 | 828 | self.assertEqual(uv.ssl_status, None) |
822 | 829 | self.assertEqual(uv.ssl_message, 'Insecure link') |
823 | 830 | self.assertEqual(uv.get_status_code_display(), '200 OK') |
|
0 commit comments