1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286
|
/*******************************************************************\
Module: Unit tests of escape_non_alnum
Author: Diffblue Ltd.
\*******************************************************************/
/// \file
/// escape_non_alnum Unit Tests
#include <testing-utils/use_catch.h>
#include <util/string_utils.h>
#include <string>
// test split into two halves to avoid a GCC warning ("variable tracking size
// limit exceeded with -fvar-tracking-assignments, retrying without")
TEST_CASE(
"escape_non_alnum should work with any single byte character (part 1)",
"[core][utils][string_utils][escape_non_alnum]")
{
CHECK(escape_non_alnum({'\x00'}) == "_00");
CHECK(escape_non_alnum({'\x01'}) == "_01");
CHECK(escape_non_alnum({'\x02'}) == "_02");
CHECK(escape_non_alnum({'\x03'}) == "_03");
CHECK(escape_non_alnum({'\x04'}) == "_04");
CHECK(escape_non_alnum({'\x05'}) == "_05");
CHECK(escape_non_alnum({'\x06'}) == "_06");
CHECK(escape_non_alnum({'\x07'}) == "_07");
CHECK(escape_non_alnum({'\x08'}) == "_08");
CHECK(escape_non_alnum({'\x09'}) == "_09");
CHECK(escape_non_alnum({'\x0A'}) == "_0a");
CHECK(escape_non_alnum({'\x0B'}) == "_0b");
CHECK(escape_non_alnum({'\x0C'}) == "_0c");
CHECK(escape_non_alnum({'\x0D'}) == "_0d");
CHECK(escape_non_alnum({'\x0E'}) == "_0e");
CHECK(escape_non_alnum({'\x0F'}) == "_0f");
CHECK(escape_non_alnum({'\x10'}) == "_10");
CHECK(escape_non_alnum({'\x11'}) == "_11");
CHECK(escape_non_alnum({'\x12'}) == "_12");
CHECK(escape_non_alnum({'\x13'}) == "_13");
CHECK(escape_non_alnum({'\x14'}) == "_14");
CHECK(escape_non_alnum({'\x15'}) == "_15");
CHECK(escape_non_alnum({'\x16'}) == "_16");
CHECK(escape_non_alnum({'\x17'}) == "_17");
CHECK(escape_non_alnum({'\x18'}) == "_18");
CHECK(escape_non_alnum({'\x19'}) == "_19");
CHECK(escape_non_alnum({'\x1A'}) == "_1a");
CHECK(escape_non_alnum({'\x1B'}) == "_1b");
CHECK(escape_non_alnum({'\x1C'}) == "_1c");
CHECK(escape_non_alnum({'\x1D'}) == "_1d");
CHECK(escape_non_alnum({'\x1E'}) == "_1e");
CHECK(escape_non_alnum({'\x1F'}) == "_1f");
CHECK(escape_non_alnum({'\x20'}) == "_20");
CHECK(escape_non_alnum({'\x21'}) == "_21");
CHECK(escape_non_alnum({'\x22'}) == "_22");
CHECK(escape_non_alnum({'\x23'}) == "_23");
CHECK(escape_non_alnum({'\x24'}) == "_24");
CHECK(escape_non_alnum({'\x25'}) == "_25");
CHECK(escape_non_alnum({'\x26'}) == "_26");
CHECK(escape_non_alnum({'\x27'}) == "_27");
CHECK(escape_non_alnum({'\x28'}) == "_28");
CHECK(escape_non_alnum({'\x29'}) == "_29");
CHECK(escape_non_alnum({'\x2A'}) == "_2a");
CHECK(escape_non_alnum({'\x2B'}) == "_2b");
CHECK(escape_non_alnum({'\x2B'}) == "_2b");
CHECK(escape_non_alnum({'\x2C'}) == "_2c");
CHECK(escape_non_alnum({'\x2D'}) == "_2d");
CHECK(escape_non_alnum({'\x2E'}) == "_2e");
CHECK(escape_non_alnum({'\x2F'}) == "_2f");
CHECK(escape_non_alnum({'\x30'}) == "0");
CHECK(escape_non_alnum({'\x31'}) == "1");
CHECK(escape_non_alnum({'\x32'}) == "2");
CHECK(escape_non_alnum({'\x33'}) == "3");
CHECK(escape_non_alnum({'\x34'}) == "4");
CHECK(escape_non_alnum({'\x35'}) == "5");
CHECK(escape_non_alnum({'\x36'}) == "6");
CHECK(escape_non_alnum({'\x37'}) == "7");
CHECK(escape_non_alnum({'\x38'}) == "8");
CHECK(escape_non_alnum({'\x39'}) == "9");
CHECK(escape_non_alnum({'\x3A'}) == "_3a");
CHECK(escape_non_alnum({'\x3B'}) == "_3b");
CHECK(escape_non_alnum({'\x3C'}) == "_3c");
CHECK(escape_non_alnum({'\x3D'}) == "_3d");
CHECK(escape_non_alnum({'\x3E'}) == "_3e");
CHECK(escape_non_alnum({'\x3F'}) == "_3f");
CHECK(escape_non_alnum({'\x40'}) == "_40");
CHECK(escape_non_alnum({'\x41'}) == "A");
CHECK(escape_non_alnum({'\x42'}) == "B");
CHECK(escape_non_alnum({'\x43'}) == "C");
CHECK(escape_non_alnum({'\x44'}) == "D");
CHECK(escape_non_alnum({'\x45'}) == "E");
CHECK(escape_non_alnum({'\x46'}) == "F");
CHECK(escape_non_alnum({'\x47'}) == "G");
CHECK(escape_non_alnum({'\x48'}) == "H");
CHECK(escape_non_alnum({'\x49'}) == "I");
CHECK(escape_non_alnum({'\x4A'}) == "J");
CHECK(escape_non_alnum({'\x4B'}) == "K");
CHECK(escape_non_alnum({'\x4C'}) == "L");
CHECK(escape_non_alnum({'\x4D'}) == "M");
CHECK(escape_non_alnum({'\x4E'}) == "N");
CHECK(escape_non_alnum({'\x4F'}) == "O");
CHECK(escape_non_alnum({'\x50'}) == "P");
CHECK(escape_non_alnum({'\x51'}) == "Q");
CHECK(escape_non_alnum({'\x52'}) == "R");
CHECK(escape_non_alnum({'\x53'}) == "S");
CHECK(escape_non_alnum({'\x54'}) == "T");
CHECK(escape_non_alnum({'\x55'}) == "U");
CHECK(escape_non_alnum({'\x56'}) == "V");
CHECK(escape_non_alnum({'\x57'}) == "W");
CHECK(escape_non_alnum({'\x58'}) == "X");
CHECK(escape_non_alnum({'\x59'}) == "Y");
CHECK(escape_non_alnum({'\x5A'}) == "Z");
CHECK(escape_non_alnum({'\x5B'}) == "_5b");
CHECK(escape_non_alnum({'\x5C'}) == "_5c");
CHECK(escape_non_alnum({'\x5D'}) == "_5d");
CHECK(escape_non_alnum({'\x5E'}) == "_5e");
CHECK(escape_non_alnum({'\x5F'}) == "__");
CHECK(escape_non_alnum({'\x60'}) == "_60");
CHECK(escape_non_alnum({'\x61'}) == "a");
CHECK(escape_non_alnum({'\x62'}) == "b");
CHECK(escape_non_alnum({'\x63'}) == "c");
CHECK(escape_non_alnum({'\x64'}) == "d");
CHECK(escape_non_alnum({'\x65'}) == "e");
CHECK(escape_non_alnum({'\x66'}) == "f");
CHECK(escape_non_alnum({'\x67'}) == "g");
CHECK(escape_non_alnum({'\x68'}) == "h");
CHECK(escape_non_alnum({'\x69'}) == "i");
CHECK(escape_non_alnum({'\x6A'}) == "j");
CHECK(escape_non_alnum({'\x6B'}) == "k");
CHECK(escape_non_alnum({'\x6C'}) == "l");
CHECK(escape_non_alnum({'\x6D'}) == "m");
CHECK(escape_non_alnum({'\x6E'}) == "n");
CHECK(escape_non_alnum({'\x6F'}) == "o");
CHECK(escape_non_alnum({'\x70'}) == "p");
CHECK(escape_non_alnum({'\x71'}) == "q");
CHECK(escape_non_alnum({'\x72'}) == "r");
CHECK(escape_non_alnum({'\x73'}) == "s");
CHECK(escape_non_alnum({'\x74'}) == "t");
CHECK(escape_non_alnum({'\x75'}) == "u");
CHECK(escape_non_alnum({'\x76'}) == "v");
CHECK(escape_non_alnum({'\x77'}) == "w");
CHECK(escape_non_alnum({'\x78'}) == "x");
CHECK(escape_non_alnum({'\x79'}) == "y");
CHECK(escape_non_alnum({'\x7A'}) == "z");
CHECK(escape_non_alnum({'\x7B'}) == "_7b");
CHECK(escape_non_alnum({'\x7C'}) == "_7c");
CHECK(escape_non_alnum({'\x7D'}) == "_7d");
CHECK(escape_non_alnum({'\x7E'}) == "_7e");
CHECK(escape_non_alnum({'\x7F'}) == "_7f");
}
TEST_CASE(
"escape_non_alnum should work with any single byte character (part 2)",
"[core][utils][string_utils][escape_non_alnum]")
{
CHECK(escape_non_alnum({'\x80'}) == "_80");
CHECK(escape_non_alnum({'\x81'}) == "_81");
CHECK(escape_non_alnum({'\x82'}) == "_82");
CHECK(escape_non_alnum({'\x83'}) == "_83");
CHECK(escape_non_alnum({'\x84'}) == "_84");
CHECK(escape_non_alnum({'\x85'}) == "_85");
CHECK(escape_non_alnum({'\x86'}) == "_86");
CHECK(escape_non_alnum({'\x87'}) == "_87");
CHECK(escape_non_alnum({'\x88'}) == "_88");
CHECK(escape_non_alnum({'\x89'}) == "_89");
CHECK(escape_non_alnum({'\x8A'}) == "_8a");
CHECK(escape_non_alnum({'\x8B'}) == "_8b");
CHECK(escape_non_alnum({'\x8C'}) == "_8c");
CHECK(escape_non_alnum({'\x8D'}) == "_8d");
CHECK(escape_non_alnum({'\x8E'}) == "_8e");
CHECK(escape_non_alnum({'\x8F'}) == "_8f");
CHECK(escape_non_alnum({'\x90'}) == "_90");
CHECK(escape_non_alnum({'\x91'}) == "_91");
CHECK(escape_non_alnum({'\x92'}) == "_92");
CHECK(escape_non_alnum({'\x93'}) == "_93");
CHECK(escape_non_alnum({'\x94'}) == "_94");
CHECK(escape_non_alnum({'\x95'}) == "_95");
CHECK(escape_non_alnum({'\x96'}) == "_96");
CHECK(escape_non_alnum({'\x97'}) == "_97");
CHECK(escape_non_alnum({'\x98'}) == "_98");
CHECK(escape_non_alnum({'\x99'}) == "_99");
CHECK(escape_non_alnum({'\x9A'}) == "_9a");
CHECK(escape_non_alnum({'\x9B'}) == "_9b");
CHECK(escape_non_alnum({'\x9C'}) == "_9c");
CHECK(escape_non_alnum({'\x9D'}) == "_9d");
CHECK(escape_non_alnum({'\x9E'}) == "_9e");
CHECK(escape_non_alnum({'\x9F'}) == "_9f");
CHECK(escape_non_alnum({'\xA0'}) == "_a0");
CHECK(escape_non_alnum({'\xA1'}) == "_a1");
CHECK(escape_non_alnum({'\xA2'}) == "_a2");
CHECK(escape_non_alnum({'\xA3'}) == "_a3");
CHECK(escape_non_alnum({'\xA4'}) == "_a4");
CHECK(escape_non_alnum({'\xA5'}) == "_a5");
CHECK(escape_non_alnum({'\xA6'}) == "_a6");
CHECK(escape_non_alnum({'\xA7'}) == "_a7");
CHECK(escape_non_alnum({'\xA8'}) == "_a8");
CHECK(escape_non_alnum({'\xA9'}) == "_a9");
CHECK(escape_non_alnum({'\xAA'}) == "_aa");
CHECK(escape_non_alnum({'\xAB'}) == "_ab");
CHECK(escape_non_alnum({'\xAC'}) == "_ac");
CHECK(escape_non_alnum({'\xAD'}) == "_ad");
CHECK(escape_non_alnum({'\xAE'}) == "_ae");
CHECK(escape_non_alnum({'\xAF'}) == "_af");
CHECK(escape_non_alnum({'\xB0'}) == "_b0");
CHECK(escape_non_alnum({'\xB1'}) == "_b1");
CHECK(escape_non_alnum({'\xB2'}) == "_b2");
CHECK(escape_non_alnum({'\xB3'}) == "_b3");
CHECK(escape_non_alnum({'\xB4'}) == "_b4");
CHECK(escape_non_alnum({'\xB5'}) == "_b5");
CHECK(escape_non_alnum({'\xB6'}) == "_b6");
CHECK(escape_non_alnum({'\xB7'}) == "_b7");
CHECK(escape_non_alnum({'\xB8'}) == "_b8");
CHECK(escape_non_alnum({'\xB9'}) == "_b9");
CHECK(escape_non_alnum({'\xBA'}) == "_ba");
CHECK(escape_non_alnum({'\xBB'}) == "_bb");
CHECK(escape_non_alnum({'\xBC'}) == "_bc");
CHECK(escape_non_alnum({'\xBD'}) == "_bd");
CHECK(escape_non_alnum({'\xBE'}) == "_be");
CHECK(escape_non_alnum({'\xBF'}) == "_bf");
CHECK(escape_non_alnum({'\xC0'}) == "_c0");
CHECK(escape_non_alnum({'\xC1'}) == "_c1");
CHECK(escape_non_alnum({'\xC2'}) == "_c2");
CHECK(escape_non_alnum({'\xC3'}) == "_c3");
CHECK(escape_non_alnum({'\xC4'}) == "_c4");
CHECK(escape_non_alnum({'\xC5'}) == "_c5");
CHECK(escape_non_alnum({'\xC6'}) == "_c6");
CHECK(escape_non_alnum({'\xC7'}) == "_c7");
CHECK(escape_non_alnum({'\xC8'}) == "_c8");
CHECK(escape_non_alnum({'\xC9'}) == "_c9");
CHECK(escape_non_alnum({'\xCA'}) == "_ca");
CHECK(escape_non_alnum({'\xCB'}) == "_cb");
CHECK(escape_non_alnum({'\xCC'}) == "_cc");
CHECK(escape_non_alnum({'\xCD'}) == "_cd");
CHECK(escape_non_alnum({'\xCE'}) == "_ce");
CHECK(escape_non_alnum({'\xCF'}) == "_cf");
CHECK(escape_non_alnum({'\xD0'}) == "_d0");
CHECK(escape_non_alnum({'\xD1'}) == "_d1");
CHECK(escape_non_alnum({'\xD2'}) == "_d2");
CHECK(escape_non_alnum({'\xD3'}) == "_d3");
CHECK(escape_non_alnum({'\xD4'}) == "_d4");
CHECK(escape_non_alnum({'\xD5'}) == "_d5");
CHECK(escape_non_alnum({'\xD6'}) == "_d6");
CHECK(escape_non_alnum({'\xD7'}) == "_d7");
CHECK(escape_non_alnum({'\xD8'}) == "_d8");
CHECK(escape_non_alnum({'\xD9'}) == "_d9");
CHECK(escape_non_alnum({'\xDA'}) == "_da");
CHECK(escape_non_alnum({'\xDB'}) == "_db");
CHECK(escape_non_alnum({'\xDC'}) == "_dc");
CHECK(escape_non_alnum({'\xDD'}) == "_dd");
CHECK(escape_non_alnum({'\xDE'}) == "_de");
CHECK(escape_non_alnum({'\xDF'}) == "_df");
CHECK(escape_non_alnum({'\xE0'}) == "_e0");
CHECK(escape_non_alnum({'\xE1'}) == "_e1");
CHECK(escape_non_alnum({'\xE2'}) == "_e2");
CHECK(escape_non_alnum({'\xE3'}) == "_e3");
CHECK(escape_non_alnum({'\xE4'}) == "_e4");
CHECK(escape_non_alnum({'\xE5'}) == "_e5");
CHECK(escape_non_alnum({'\xE6'}) == "_e6");
CHECK(escape_non_alnum({'\xE7'}) == "_e7");
CHECK(escape_non_alnum({'\xE8'}) == "_e8");
CHECK(escape_non_alnum({'\xE9'}) == "_e9");
CHECK(escape_non_alnum({'\xEA'}) == "_ea");
CHECK(escape_non_alnum({'\xEB'}) == "_eb");
CHECK(escape_non_alnum({'\xEC'}) == "_ec");
CHECK(escape_non_alnum({'\xED'}) == "_ed");
CHECK(escape_non_alnum({'\xEE'}) == "_ee");
CHECK(escape_non_alnum({'\xEF'}) == "_ef");
CHECK(escape_non_alnum({'\xF0'}) == "_f0");
CHECK(escape_non_alnum({'\xF1'}) == "_f1");
CHECK(escape_non_alnum({'\xF2'}) == "_f2");
CHECK(escape_non_alnum({'\xF3'}) == "_f3");
CHECK(escape_non_alnum({'\xF4'}) == "_f4");
CHECK(escape_non_alnum({'\xF5'}) == "_f5");
CHECK(escape_non_alnum({'\xF6'}) == "_f6");
CHECK(escape_non_alnum({'\xF7'}) == "_f7");
CHECK(escape_non_alnum({'\xF8'}) == "_f8");
CHECK(escape_non_alnum({'\xF9'}) == "_f9");
CHECK(escape_non_alnum({'\xFA'}) == "_fa");
CHECK(escape_non_alnum({'\xFB'}) == "_fb");
CHECK(escape_non_alnum({'\xFC'}) == "_fc");
CHECK(escape_non_alnum({'\xFD'}) == "_fd");
CHECK(escape_non_alnum({'\xFE'}) == "_fe");
CHECK(escape_non_alnum({'\xFF'}) == "_ff");
}
|