PHP 8.5.2
Preview: test_parse.py Size: 1.08 KB
//lib/python3/dist-packages/hyperlink/test/test_parse.py

# -*- coding: utf-8 -*-

from __future__ import unicode_literals

from .common import HyperlinkTestCase
from hyperlink import parse, EncodedURL, DecodedURL

BASIC_URL = "http://example.com/#"
TOTAL_URL = (
    "https://%75%73%65%72:%00%00%00%00@xn--bcher-kva.ch:8080"
    "/a/nice%20nice/./path/?zot=23%25&zut#frég"
)
UNDECODABLE_FRAG_URL = TOTAL_URL + "%C3"
# the %C3 above percent-decodes to an unpaired \xc3 byte which makes this
# invalid utf8


class TestURL(HyperlinkTestCase):
    def test_parse(self):
        # type: () -> None
        purl = parse(TOTAL_URL)
        assert isinstance(purl, DecodedURL)
        assert purl.user == "user"
        assert purl.get("zot") == ["23%"]
        assert purl.fragment == "frég"

        purl2 = parse(TOTAL_URL, decoded=False)
        assert isinstance(purl2, EncodedURL)
        assert purl2.get("zot") == ["23%25"]

        with self.assertRaises(UnicodeDecodeError):
            purl3 = parse(UNDECODABLE_FRAG_URL)

        purl3 = parse(UNDECODABLE_FRAG_URL, lazy=True)

        with self.assertRaises(UnicodeDecodeError):
            purl3.fragment

Directory Contents

Dirs: 1 × Files: 9

Name Size Perms Modified Actions
- drwxr-xr-x 2026-01-08 12:56:13
Edit Download
2.44 KB lrw-r--r-- 2021-01-08 05:36:07
Edit Download
3.59 KB lrw-r--r-- 2021-01-08 05:36:07
Edit Download
6.96 KB lrw-r--r-- 2021-01-08 05:36:07
Edit Download
7.23 KB lrw-r--r-- 2020-08-04 06:14:29
Edit Download
1.08 KB lrw-r--r-- 2020-08-04 06:14:29
Edit Download
2.97 KB lrw-r--r-- 2021-01-08 05:36:07
Edit Download
1.39 KB lrw-r--r-- 2020-01-21 00:44:35
Edit Download
53.31 KB lrw-r--r-- 2021-01-08 05:36:07
Edit Download
601 B lrw-r--r-- 2020-08-04 06:14:29
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).