Changeset 68 for trunk/src/cutest_sh_utils.c
- Timestamp:
- Oct 30, 2006, 12:03:44 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/cutest_sh_utils.c
r34 r68 7 7 #include "sh_utils.h" 8 8 9 void Test_sh_util_acl_compact (CuTest *tc) { 10 char * ret = 0; 11 char inp1[] = "user::r--\nuser:lisa:rwx\t\t#effective: r--\ngroup::r--\ngroup:toolies:rw- #effective: r--\nmask::r--\nother::r--\n"; 12 char inp2[] = "use\n\nuser:lisa:rwx\t\t#effective: r--\ngroup::r--\ngroup:toolies:rw- #effective: r--\nmask::r--\nother::r--\n"; 13 char inp3[] = "user:\177\145\177\122:r--\nuser:lisa:rwx\t\t#effective: r--\ngroup::r--\ngroup:toolies:rw- #effective: r--\nmask::r--\nother::r--\n"; 14 15 ret = sh_util_acl_compact (inp1, strlen(inp1)); 16 CuAssertPtrNotNull(tc, ret); 17 CuAssertStrEquals(tc, "u::r--,u:lisa:rwx,g::r--,g:toolies:rw-,m::r--,o::r--", 18 ret); 19 20 ret = sh_util_acl_compact (inp2, strlen(inp2)); 21 CuAssertPtrNotNull(tc, ret); 22 CuAssertStrEquals(tc, "use,u:lisa:rwx,g::r--,g:toolies:rw-,m::r--,o::r--", 23 ret); 24 25 ret = sh_util_acl_compact (inp3, strlen(inp3)); 26 CuAssertPtrNotNull(tc, ret); 27 CuAssertStrEquals(tc, "u:eR:r--,u:lisa:rwx,g::r--,g:toolies:rw-,m::r--,o::r--", 28 ret); 29 30 return; 31 } 32 9 33 void Test_sh_util_strdup_ok (CuTest *tc) { 10 34 char * ret = 0; … … 108 132 109 133 return; 134 } 135 136 void Test_sh_util_utf8_ok (CuTest *tc) { 137 int ret = 0; 138 #if defined(SH_WITH_CLIENT) || defined(SH_STANDALONE) 139 unsigned char seq[16]; 140 unsigned char input[16] = "foobar"; 141 142 seq[0] = 0x00; 143 ret = sh_util_valid_utf8(seq); 144 CuAssertIntEquals(tc, ret, S_TRUE); 145 146 seq[0] = 0xd7; seq[1] = 0x90; seq[2] = 0x00; 147 ret = sh_util_valid_utf8(seq); 148 CuAssertIntEquals(tc, ret, S_TRUE); 149 150 seq[0] = 0xed; seq[1] = 0x9f; seq[2] = 0xbf; seq[3] = 0x00; 151 ret = sh_util_valid_utf8(seq); 152 CuAssertIntEquals(tc, ret, S_TRUE); 153 154 seq[0] = 0xee; seq[1] = 0x80; seq[2] = 0x80; seq[3] = 0x00; 155 ret = sh_util_valid_utf8(seq); 156 CuAssertIntEquals(tc, ret, S_TRUE); 157 158 seq[0] = 0xef; seq[1] = 0xbf; seq[2] = 0xbd; seq[3] = 0x00; 159 ret = sh_util_valid_utf8(seq); 160 CuAssertIntEquals(tc, ret, S_TRUE); 161 162 seq[0] = 0xf4; seq[1] = 0x8f; seq[2] = 0xbf; seq[3] = 0xbf; seq[4] = 0x00; 163 ret = sh_util_valid_utf8(seq); 164 CuAssertIntEquals(tc, ret, S_TRUE); 165 166 seq[0] = 0xf4; seq[1] = 0x90; seq[2] = 0x80; seq[3] = 0x80; seq[4] = 0x00; 167 ret = sh_util_valid_utf8(seq); 168 CuAssertIntEquals(tc, ret, S_TRUE); 169 170 seq[0] = 0xd7; seq[1] = 0x90; seq[2] = 0xd7; seq[3] = 0x90; seq[4] = 0x00; 171 ret = sh_util_valid_utf8(seq); 172 CuAssertIntEquals(tc, ret, S_TRUE); 173 174 /* cont. char */ 175 176 seq[0] = 0x80; seq[1] = 0x00; 177 ret = sh_util_valid_utf8(seq); 178 CuAssertIntEquals(tc, ret, S_FALSE); 179 180 seq[0] = 0xbf; seq[1] = 0x00; 181 ret = sh_util_valid_utf8(seq); 182 CuAssertIntEquals(tc, ret, S_FALSE); 183 184 /* overlong */ 185 186 seq[0] = 0xc0; seq[1] = 0xaf; seq[2] = 0x00; 187 ret = sh_util_valid_utf8(seq); 188 CuAssertIntEquals(tc, ret, S_FALSE); 189 190 seq[0] = 0xe0; seq[1] = 0x8f; seq[2] = 0xaf; seq[3] = 0x00; 191 ret = sh_util_valid_utf8(seq); 192 CuAssertIntEquals(tc, ret, S_FALSE); 193 194 seq[0] = 0xf0; seq[1] = 0x80; seq[2] = 0x80; seq[3] = 0xaf; seq[4] = 0x00; 195 ret = sh_util_valid_utf8(seq); 196 CuAssertIntEquals(tc, ret, S_FALSE); 197 198 /* overlong */ 199 200 seq[0] = 0xc1; seq[1] = 0xbf; seq[2] = 0x00; 201 ret = sh_util_valid_utf8(seq); 202 CuAssertIntEquals(tc, ret, S_FALSE); 203 204 seq[0] = 0xe0; seq[1] = 0x9f; seq[2] = 0xbf; seq[3] = 0x00; 205 ret = sh_util_valid_utf8(seq); 206 CuAssertIntEquals(tc, ret, S_FALSE); 207 208 seq[0] = 0xf0; seq[1] = 0x8f; seq[2] = 0xbf; seq[3] = 0xbf; seq[4] = 0x00; 209 ret = sh_util_valid_utf8(seq); 210 CuAssertIntEquals(tc, ret, S_FALSE); 211 212 /* overlong */ 213 214 seq[0] = 0xc0; seq[1] = 0x80; seq[2] = 0x00; 215 ret = sh_util_valid_utf8(seq); 216 CuAssertIntEquals(tc, ret, S_FALSE); 217 218 seq[0] = 0xe0; seq[1] = 0x80; seq[2] = 0x80; seq[3] = 0x00; 219 ret = sh_util_valid_utf8(seq); 220 CuAssertIntEquals(tc, ret, S_FALSE); 221 222 seq[0] = 0xf0; seq[1] = 0x80; seq[2] = 0x80; seq[3] = 0x80; seq[4] = 0x00; 223 ret = sh_util_valid_utf8(seq); 224 CuAssertIntEquals(tc, ret, S_FALSE); 225 226 /* cont missing */ 227 228 seq[0] = 0xd7; seq[1] = 0x20; seq[3] = 0x00; 229 ret = sh_util_valid_utf8(seq); 230 CuAssertIntEquals(tc, ret, S_FALSE); 231 232 seq[0] = 0xee; seq[1] = 0x80; seq[2] = 0x20; seq[3] = 0x00; 233 ret = sh_util_valid_utf8(seq); 234 CuAssertIntEquals(tc, ret, S_FALSE); 235 236 seq[0] = 0xf4; seq[1] = 0x8f; seq[2] = 0xbf; seq[3] = 0x20; seq[4] = 0x00; 237 ret = sh_util_valid_utf8(seq); 238 CuAssertIntEquals(tc, ret, S_FALSE); 239 240 241 ret = sh_util_obscure_ok ("0x01,0x02,0x03"); 242 CuAssertIntEquals(tc, ret, 0); 243 244 ret = sh_util_valid_utf8 (input); 245 CuAssertIntEquals(tc, ret, S_TRUE); 246 247 input[0] = '\t'; 248 ret = sh_util_valid_utf8 (input); 249 CuAssertIntEquals(tc, ret, S_FALSE); 250 251 input[0] = 0x01; 252 ret = sh_util_valid_utf8 (input); 253 CuAssertIntEquals(tc, ret, S_TRUE); 254 255 input[0] = 0x02; 256 ret = sh_util_valid_utf8 (input); 257 CuAssertIntEquals(tc, ret, S_TRUE); 258 259 input[0] = 0x03; 260 ret = sh_util_valid_utf8 (input); 261 CuAssertIntEquals(tc, ret, S_TRUE); 262 263 input[0] = 0x04; 264 ret = sh_util_valid_utf8 (input); 265 CuAssertIntEquals(tc, ret, S_FALSE); 266 267 268 #else 269 CuAssertIntEquals(tc, ret, 0); 270 #endif 110 271 } 111 272
Note:
See TracChangeset
for help on using the changeset viewer.