rfc2396 1.1.0

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

test_cases! {
    multi_char::param: {
        case_001: "!!5CryDQ%34",
        case_002: "!Uem",
        case_003: "$$7",
        case_004: "$VNrhr99w)",
        case_005: "$h~(dsOE",
        case_006: "%1FIABiNeN",
        case_007: "&",
        case_008: "&l:yK+md0c",
        case_009: "(",
        case_010: "(7w",
        case_011: "(DrR1FCv-q",
        case_012: ")",
        case_013: ")AOYfN",
        case_014: "*5h3t!_",
        case_015: "*XxQ%81u(q",
        case_016: "*oky9rN2Q",
        case_017: "*ukMYALAj",
        case_018: "+4&2Mmq",
        case_019: "+tK8BBm8um",
        case_020: ",ZRw~",
        case_021: "-LG*:7K)Z",
        case_022: "-u",
        case_023: ".g",
        case_024: ".t0fF",
        case_025: "1",
        case_026: "1na$W$kEO",
        case_027: "26q6zo",
        case_028: "2prGo2",
        case_029: "6YX",
        case_030: "7@o*rRfZiX",
        case_031: "7N",
        case_032: "7flrTuT(",
        case_033: "7s$3U(1.",
        case_034: "=,J3g",
        case_035: "@",
        case_036: "AFaIa",
        case_037: "AWdYhv",
        case_038: "Bxt:DxZHX",
        case_039: "CjKiTB%F7fl",
        case_040: "EQMW%F2q",
        case_041: "ERg&",
        case_042: "Gb~97GAk",
        case_043: "I6F",
        case_044: "J8ZM&TzdH",
        case_045: "JoFJ",
        case_046: "K",
        case_047: "Kv",
        case_048: "LA5",
        case_049: "LcAXwru",
        case_050: "NP",
        case_051: "NZ4vnZ5Jy",
        case_052: "NbD5HDyi",
        case_053: "O&8R1",
        case_054: "Ot7O1fx",
        case_055: "P0$+8G2Z",
        case_056: "PWxJ!0",
        case_057: "Qb)~",
        case_058: "T6Z+",
        case_059: "T=-8vn+UN+",
        case_060: "UJT@heTrE",
        case_061: "US.B'!",
        case_062: "V%BD:u*Rx",
        case_063: "W$,(",
        case_064: "WFGQG%67WK9O",
        case_065: "Wx8",
        case_066: "Yf",
        case_067: "Z,ao",
        case_068: "ai",
        case_069: "cQ_",
        case_070: "e",
        case_071: "eM:Tr8B",
        case_072: "eUAFtxoTkR",
        case_073: "f&h",
        case_074: "gENV",
        case_075: "hUOrf3t5",
        case_076: "hg",
        case_077: "k$S0",
        case_078: "kQ",
        case_079: "l",
        case_080: "ll$oR=npCP",
        case_081: "nt_B!8u",
        case_082: "n~c",
        case_083: "od'AdB",
        case_084: "p'2&)ut",
        case_085: "t",
        case_086: "tk@",
        case_087: "v38&dGp",
        case_088: "vXHD(",
        case_089: "vYfA+",
        case_090: "vk5b-+",
        case_091: "vpd_",
        case_092: "w~.eo_KN",
        case_093: "x1CW3",
        case_094: "x~",
        case_095: "y9Uz0v%B2",
        case_096: "yFi_hH69je",
        case_097: "z",
        case_098: "zO9'2Y",
        case_099: "zh%138Q",
        case_100: "~a-RY"
    }
}