rfc2396 1.1.0

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

test_cases! {
    multi_char::user_info: {
        case_001: "!Lex3m3",
        case_002: "$G22OKdk",
        case_003: "$Mwb8leJ&R",
        case_004: "%BB(R",
        case_005: "'~b90J:%E8:n",
        case_006: "(3yF4Y4y((",
        case_007: ")",
        case_008: ",bw88",
        case_009: "-W",
        case_010: "-k-21G",
        case_011: "1ZtlQp",
        case_012: "4I.o_q7IiC",
        case_013: "6*j,lGlo",
        case_014: "68,0_ipO",
        case_015: "6ypV_",
        case_016: "8l4r&Pc",
        case_017: "9+rhWd",
        case_018: "90",
        case_019: "9:E5+CX$:",
        case_020: ":vqsSV*",
        case_021: ";DUC",
        case_022: "A",
        case_023: "Be0Y32JwXA",
        case_024: "C=X",
        case_025: "CNM8kRj",
        case_026: "Cy",
        case_027: "D3",
        case_028: "D9KMJ",
        case_029: "DDrz",
        case_030: "Dl",
        case_031: "E~I",
        case_032: "FNJ",
        case_033: "GD7:fUmsb1",
        case_034: "Ga1c1EF",
        case_035: "H0pqE",
        case_036: "HD$",
        case_037: "J'nJICcTH",
        case_038: "KoIMop88&",
        case_039: "LhNc",
        case_040: "MHb~3DdB",
        case_041: "N2FOTSUK",
        case_042: "N=_W",
        case_043: "O.yi",
        case_044: "On",
        case_045: "QD",
        case_046: "Q~a",
        case_047: "RoK(.LyEr",
        case_048: "SCV1PS",
        case_049: "T7X",
        case_050: "Te4)y%65(.:",
        case_051: "U3",
        case_052: "UMU2scb",
        case_053: "VC,",
        case_054: "W",
        case_055: "W'ZMg",
        case_056: "WQPj",
        case_057: "WZN4+v,cN",
        case_058: "X",
        case_059: "ZU+Lo:",
        case_060: "_tSRRfl",
        case_061: "aGaCq",
        case_062: "b5",
        case_063: "b9zp2",
        case_064: "bQ;.",
        case_065: "d1:d,+",
        case_066: "d=.7Y6_Z&t",
        case_067: "e=KE8i",
        case_068: "f;lqO",
        case_069: "h-",
        case_070: "h:0Ih9&",
        case_071: "i",
        case_072: "j)_ybiB&",
        case_073: "kA.XC*w3",
        case_074: "l9(",
        case_075: "lr*Hs8N",
        case_076: "mAciGy",
        case_077: "mY&Pwz*=&_",
        case_078: "n!kAt,0~i",
        case_079: "n',+6K",
        case_080: "o*BG_",
        case_081: "p%41hB",
        case_082: "p.Hx",
        case_083: "tJq5K75nR-",
        case_084: "tL.m)c",
        case_085: "tgIgqQrWs",
        case_086: "v",
        case_087: "v2QXvP",
        case_088: "vjyGHIOB",
        case_089: "w'3Rkp)",
        case_090: "wK5kK",
        case_091: "x",
        case_092: "x'*mL",
        case_093: "xbqQ'yyKF",
        case_094: "zF(8b;'h",
        case_095: "zxS",
        case_096: "~Uf~",
        case_097: "~XK7NWr1kB"
    }
}