rfc2396 1.1.0

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

test_cases! {
    char::uri_c: {
        case_ampersand: "&",
        case_at: "@",
        case_colon: ":",
        case_comma: ",",
        case_dollar: "$",
        case_equals: "=",
        case_plus: "+",
        case_question: "?",
        case_semicolon: ";",
        case_forward_slash: "/",
        case_0: "0",
        case_1: "1",
        case_2: "2",
        case_3: "3",
        case_4: "4",
        case_5: "5",
        case_6: "6",
        case_7: "7",
        case_8: "8",
        case_9: "9",
        case_a: "a",
        case_a_upper: "A",
        case_apostrophe: "'",
        case_asterisk: "*",
        case_b: "b",
        case_b_upper: "B",
        case_c: "c",
        case_c_upper: "C",
        case_d: "d",
        case_d_upper: "D",
        case_dash: "-",
        case_e: "e",
        case_e_upper: "E",
        case_exclamation: "!",
        case_f: "f",
        case_f_upper: "F",
        case_g: "g",
        case_g_upper: "G",
        case_h: "h",
        case_h_upper: "H",
        case_i: "i",
        case_i_upper: "I",
        case_j: "j",
        case_j_upper: "J",
        case_k: "k",
        case_k_upper: "K",
        case_l: "l",
        case_l_upper: "L",
        case_m: "m",
        case_m_upper: "M",
        case_n: "n",
        case_n_upper: "N",
        case_o: "o",
        case_o_upper: "O",
        case_p: "p",
        case_p_upper: "P",
        case_parenthesis_left: "(",
        case_parenthesis_right: ")",
        case_period: ".",
        case_q: "q",
        case_q_upper: "Q",
        case_r: "r",
        case_r_upper: "R",
        case_s: "s",
        case_s_upper: "S",
        case_t: "t",
        case_t_upper: "T",
        case_tilde: "~",
        case_u: "u",
        case_u_upper: "U",
        case_underscore: "_",
        case_v: "v",
        case_v_upper: "V",
        case_w: "w",
        case_w_upper: "W",
        case_x: "x",
        case_x_upper: "X",
        case_y: "y",
        case_y_upper: "Y",
        case_z: "z",
        case_z_upper: "Z",
        case_00: "%00",
        case_02: "%02",
        case_04: "%04",
        case_0b_upper: "%0B",
        case_0e_upper: "%0E",
        case_0f_upper: "%0F",
        case_14: "%14",
        case_15: "%15",
        case_1c: "%1c",
        case_1d: "%1d",
        case_1d_upper: "%1D",
        case_20: "%20",
        case_28: "%28",
        case_29: "%29",
        case_2c_upper: "%2C",
        case_2e: "%2e",
        case_31: "%31",
        case_34: "%34",
        case_47: "%47",
        case_48: "%48",
        case_4d: "%4d",
        case_4e_upper: "%4E",
        case_4f: "%4f",
        case_50: "%50",
        case_57: "%57",
        case_5a: "%5a",
        case_5c: "%5c",
        case_5c_upper: "%5C",
        case_5d_upper: "%5D",
        case_5f: "%5f",
        case_5f_upper: "%5F",
        case_65: "%65",
        case_69: "%69",
        case_6b_upper: "%6B",
        case_6c: "%6c",
        case_6e: "%6e",
        case_72: "%72",
        case_7a: "%7a",
        case_7a_upper: "%7A",
        case_7c: "%7c",
        case_7c_upper: "%7C",
        case_7e: "%7e",
        case_86: "%86",
        case_88: "%88",
        case_8c: "%8c",
        case_8d: "%8d",
        case_91: "%91",
        case_96: "%96",
        case_9a: "%9a",
        case_a0_upper: "%A0",
        case_a2_upper: "%A2",
        case_a4: "%a4",
        case_a5: "%a5",
        case_ab_lower_upper: "%aB",
        case_ad_lower_upper: "%aD",
        case_b2: "%b2",
        case_b4_upper: "%B4",
        case_b9: "%b9",
        case_b9_upper: "%B9",
        case_ba_lower_upper: "%bA",
        case_bb_lower_upper: "%bB",
        case_bb_upper_upper: "%BB",
        case_bc_lower_upper: "%bC",
        case_be: "%be",
        case_be_upper_upper: "%BE",
        case_bf_upper_upper: "%BF",
        case_c5: "%c5",
        case_ca: "%ca",
        case_cb_upper_lower: "%Cb",
        case_cd_lower_upper: "%cD",
        case_cd_upper_lower: "%Cd",
        case_d4_upper: "%D4",
        case_d5_upper: "%D5",
        case_d8_upper: "%D8",
        case_d9: "%d9",
        case_dc: "%dc",
        case_df_upper_lower: "%Df",
        case_e4: "%e4",
        case_e7: "%e7",
        case_ea_upper_lower: "%Ea",
        case_ec_upper_lower: "%Ec",
        case_ef_upper_lower: "%Ef",
        case_ef_upper_upper: "%EF",
        case_f1_upper: "%F1",
        case_fa_upper_lower: "%Fa",
        case_fd_upper_upper: "%FD",
        case_fe: "%fe",
        case_ff_upper_lower: "%Ff"
    }
}