rfc2396 1.1.0

A library for validating strings as RFC2396-compliant URIs
Documentation
use anyhow::Context;

test_cases! {
    component::segment: {
        case_001: "!H_",
        case_002: "%ABY1pb!yUs",
        case_003: "(q9@p1vw5u",
        case_004: ")Y",
        case_005: ")jJB1",
        case_006: ",D.",
        case_007: ",h,4fUR",
        case_008: "1",
        case_009: "1(",
        case_010: "2",
        case_011: "2;&Ok",
        case_012: "2N",
        case_013: "3FnzIRT",
        case_014: "3_",
        case_015: "4(p",
        case_016: "43HYYxSF",
        case_017: "5",
        case_018: "65;S$V*Xv",
        case_019: "8@qf7Q",
        case_020: "8F.fFmxHD",
        case_021: "9",
        case_022: "9Fcd-km2bX",
        case_023: ":yY*(0hGk",
        case_024: ";&MbxS",
        case_025: ";3mB",
        case_026: "=lFR",
        case_027: "@",
        case_028: "@aDk4",
        case_029: "Aqe,D",
        case_030: "B._r:uk",
        case_031: "C%E8MGO8)1I",
        case_032: "CfeEkf&",
        case_033: "ClQ",
        case_034: "D!rOI",
        case_035: "FY&6",
        case_036: "FzG5+$Ev1!",
        case_037: "GN(n",
        case_038: "I,3'RMs~",
        case_039: "I7iO!1y-",
        case_040: "J1BB",
        case_041: "J:Sv,(cAa)",
        case_042: "K:Yv$fI@",
        case_043: "KOw5BoS",
        case_044: "KX&ML0CL",
        case_045: "L3wAz",
        case_046: "LFsxb7.cwP",
        case_047: "M0CbRq9*sU",
        case_048: "M9QrqH-Aij",
        case_049: "MCs%85KT=",
        case_050: "N",
        case_051: "N0j3W2nA",
        case_052: "NlH1-0",
        case_053: "Nu_1B0bC6z",
        case_054: "P",
        case_055: "PVhR",
        case_056: "QzQ0r$XMu",
        case_057: "R=",
        case_058: "T8(A9_",
        case_059: "T@*gZ",
        case_060: "TTDUAL",
        case_061: "TXq",
        case_062: "UDby5x",
        case_063: "UK",
        case_064: "UOOyOsTuL",
        case_065: "WIt-(SF",
        case_066: "WXu+",
        case_067: "Wu6",
        case_068: "XP.HDF",
        case_069: "Yqdc",
        case_070: "ZC532HksNd",
        case_071: "_",
        case_072: "b06)5sGE",
        case_073: "c",
        case_074: "c8P!6",
        case_075: "e!'f8",
        case_076: "f.",
        case_077: "f2IE0*tt",
        case_078: "fMQlmd~u=",
        case_079: "gI=RI!!",
        case_080: "i_2",
        case_081: "izy_u",
        case_082: "ntr@Y",
        case_083: "q@z",
        case_084: "qZj@",
        case_085: "qu:,37n'",
        case_086: "r",
        case_087: "t%8B5Pn)XtCK",
        case_088: "tLXtUO3!$",
        case_089: "ubq)",
        case_090: "u~dtpv",
        case_091: "vPC",
        case_092: "vR=Gng",
        case_093: "x&MmiFcz",
        case_094: "x0",
        case_095: "xkSjsK%16",
        case_096: "yp(,Q9u",
        case_097: "z-",
        case_098: "~@",
        case_099: "~lekdDZ,2",
        case_100: "~x"
    }
}