| 25 | #include "../mod_fix.h" |
| 26 | |
| 27 | void test_ut(void) |
| 28 | { |
| 29 | ok(is_e164(_str("")) == -1, "test-e164-0"); |
| 30 | ok(is_e164(_str("+")) == -1, "test-e164-1"); |
| 31 | ok(is_e164(_str("+1")) == -1, "test-e164-2"); |
| 32 | ok(is_e164(_str("12")) == -1, "test-e164-3"); |
| 33 | ok(is_e164(_str("+12")) == 1, "test-e164-4"); |
| 34 | ok(is_e164(_str("123")) == -1, "test-e164-5"); |
| 35 | ok(is_e164(_str("+123456789012345")) == 1, "test-e164-6"); |
| 36 | ok(is_e164(_str("+1234567890123456")) == -1, "test-e164-7"); |
| 37 | ok(is_e164(_str("+123456789x12345")) == -1, "test-e164-8"); |
| 38 | |
| 39 | ok(_is_e164(_str(""), 0, 15) == -1, "test-e164-9"); |
| 40 | ok(_is_e164(_str("+"), 0, 15) == -1, "test-e164-10"); |
| 41 | ok(_is_e164(_str("+1"), 0, 15) == -1, "test-e164-11"); |
| 42 | ok(_is_e164(_str("12"), 0, 15) == 1, "test-e164-12"); |
| 43 | ok(_is_e164(_str("+12"), 0, 15) == 1, "test-e164-13"); |
| 44 | ok(_is_e164(_str("123"), 0, 15) == 1, "test-e164-14"); |
| 45 | ok(_is_e164(_str("123456789012345"), 0, 15) == 1, "test-e164-15"); |
| 46 | ok(_is_e164(_str("1234567890123456"), 0, 15) == -1, "test-e164-16"); |
| 47 | ok(_is_e164(_str("+123456789012345"), 0, 15) == 1, "test-e164-17"); |
| 48 | ok(_is_e164(_str("+1234567890123456"), 0, 15) == -1, "test-e164-18"); |
| 49 | ok(_is_e164(_str("123456789x12345"), 0, 15) == -1, "test-e164-19"); |
| 50 | |
| 51 | /* named flags -> output bitmask */ |
| 52 | { |
| 53 | str f_names[] = { |
| 54 | str_init("A"), |
| 55 | str_init("B"), |
| 56 | str_init("C"), |
| 57 | str_init("D"), |
| 58 | str_init("E"), |
| 59 | STR_NULL |
| 60 | }; |
| 61 | void *out = &str_init("B,D,E"); |
| 62 | |
| 63 | ok(!fixup_named_flags(&out, f_names, NULL, NULL), "test-fixup-flags-0"); |
| 64 | ok((unsigned int)(unsigned long)out == (2|8|16), "test-fixup-flags-1"); |
| 65 | } |
| 66 | |
| 67 | /* named K/V flags -> output a list of values */ |
| 68 | { |
| 69 | str kvf_names[] = { |
| 70 | str_init("A"), |
| 71 | str_init("B"), |
| 72 | str_init("C"), |
| 73 | str_init("D"), |
| 74 | str_init("E"), |
| 75 | STR_NULL |
| 76 | }; |
| 77 | str kvf_values[sizeof(kvf_names)/sizeof(kvf_names[0])] = {}; |
| 78 | |
| 79 | void *out = &str_init("A=X,C=YYY,E=ZZZZZZZZZ"); |
| 80 | ok(!fixup_named_flags(&out, NULL, kvf_names, kvf_values), "test-fixup-flags-2"); |
| 81 | |
| 82 | /* Note: the @out no longer gets changed now */ |
| 83 | |
| 84 | ok(str_match(&kvf_values[0], &str_init("X")), "test-fixup-flags-3.1"); |
no test coverage detected