📄 checker.tsy
字号:
memcpy(line, first_entry, strlen(first_entry)); len = strlen(other_entry); for (i = len; i < LINEBUF_SIZE - len; i += len) { memcpy(line + i, other_entry, len); } *(line + i) = '\0'; create_conf_file(CONF_FILENAME, 0, line, NULL); sprintf(name, "%sfileset:%s", IDN_CHECKER_UNASSIGNED_PREFIX, CONF_FILENAME); r = idn_checker_add(ctx, name); ASSERT_RESULT(r, idn_invalid_syntax); sprintf(name, "%sfileset:%s", IDN_CHECKER_PROHIBIT_PREFIX, CONF_FILENAME); r = idn_checker_add(ctx, name); ASSERT_RESULT(r, idn_invalid_syntax);}//# TESTCASE// title: idn_checker_add() - file, prohibit// group: lookup{ create_conf_file(CONF_FILENAME, 0, UCS4_NAME_STR, NULL); sprintf(name, "%sfileset:%s", IDN_CHECKER_PROHIBIT_PREFIX, CONF_FILENAME); r = idn_checker_add(ctx, name); ASSERT_RESULT(r, idn_success); r = idn_checker_lookup(ctx, from, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, from + FROM_UCS4NAME_OFFSET); r = idn_checker_lookup(ctx, from2, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, from2 + FROM2_UCS4NAME_OFFSET);}//# TESTCASE// title: idn_checker_add() - file, unassigned// group: lookup{ create_conf_file(CONF_FILENAME, 0, UCS4_NAME_STR, NULL); sprintf(name, "%sfileset:%s", IDN_CHECKER_UNASSIGNED_PREFIX, CONF_FILENAME); r = idn_checker_add(ctx, name); ASSERT_RESULT(r, idn_success); r = idn_checker_lookup(ctx, from, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, from + FROM_UCS4NAME_OFFSET); r = idn_checker_lookup(ctx, from2, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, from2 + FROM2_UCS4NAME_OFFSET);}//# TESTCASE// title: idn_checker_add() - file, bidi// group: lookup quiet{ create_conf_file(CONF_FILENAME, 0, UCS4_NAME_STR, NULL); sprintf(name, "%sfileset:%s", IDN_CHECKER_BIDI_PREFIX, CONF_FILENAME); r = idn_checker_add(ctx, name); ASSERT_RESULT(r, idn_invalid_name);}//# TESTCASE// title: idn_checker_addall() - boundary condition - scheme name// group: addall quiet{ sprintf(names[0], "%s%s", IDN_CHECKER_PROHIBIT_PREFIX, "RFC3491"); sprintf(names[1], "%s%s", IDN_CHECKER_UNASSIGNED_PREFIX, "RFC3491"); sprintf(names[2], "%s%s", IDN_CHECKER_BIDI_PREFIX, "RFC3491"); sprintf(names[3], "%s%s", IDN_CHECKER_BIDI_PREFIX, ""); r = idn_checker_addall(ctx, (const char **)names, 4); ASSERT_RESULT(r, idn_invalid_name);}//# TESTCASE// title: idn_checker_addall() - boundary condition - nschemes = 0// group: addall quiet{ sprintf(names[0], "%s%s", IDN_CHECKER_PROHIBIT_PREFIX, "nameprep-01"); sprintf(names[1], "%s%s", IDN_CHECKER_UNASSIGNED_PREFIX, "nameprep-01"); sprintf(names[2], "%s%s", IDN_CHECKER_BIDI_PREFIX, ""); sprintf(names[3], "%s%s", IDN_CHECKER_BIDI_PREFIX, "nameprep-01"); r = idn_checker_addall(ctx, (const char **)names, 0); ASSERT_RESULT(r, idn_success); r = idn_checker_lookup(ctx, from, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, NULL);}//# TESTCASE// title: idn_checker_addall() - add a lot of schemes #1// group: addall{ sprintf(names[0], "%s%s", IDN_CHECKER_PROHIBIT_PREFIX, "RFC3491"); sprintf(names[1], "%s%s", IDN_CHECKER_UNASSIGNED_PREFIX, "RFC3491"); sprintf(names[2], "%s%s", IDN_CHECKER_BIDI_PREFIX, "RFC3491"); sprintf(names[3], "%s%s", IDN_CHECKER_PROHIBIT_PREFIX, "RFC3491"); sprintf(names[4], "%s%s", IDN_CHECKER_UNASSIGNED_PREFIX, "RFC3491"); sprintf(names[5], "%s%s", IDN_CHECKER_BIDI_PREFIX, "RFC3491"); sprintf(names[6], "%s%s", IDN_CHECKER_PROHIBIT_PREFIX, "RFC3491"); sprintf(names[7], "%s%s", IDN_CHECKER_UNASSIGNED_PREFIX, "RFC3491"); sprintf(names[8], "%s%s", IDN_CHECKER_BIDI_PREFIX, "RFC3491"); r = idn_checker_addall(ctx, (const char **)names, 9); ASSERT_RESULT(r, idn_success); r = idn_checker_lookup(ctx, from, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, from + FROM_PROH_OFFSET); r = idn_checker_lookup(ctx, from2, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, from2 + FROM2_PROH_OFFSET); r = idn_checker_lookup(ctx, bidi_from, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, bidi_from + BIDIFROM_OFFSET);}//# TESTCASE// title: idn_checker_addall() - add a lot of schemes #2// group: addall{ sprintf(names[0], "%s%s", IDN_CHECKER_BIDI_PREFIX, "RFC3491"); sprintf(names[1], "%s%s", IDN_CHECKER_UNASSIGNED_PREFIX, "RFC3491"); sprintf(names[2], "%s%s", IDN_CHECKER_PROHIBIT_PREFIX, "RFC3491"); sprintf(names[3], "%s%s", IDN_CHECKER_BIDI_PREFIX, "RFC3491"); sprintf(names[4], "%s%s", IDN_CHECKER_UNASSIGNED_PREFIX, "RFC3491"); sprintf(names[5], "%s%s", IDN_CHECKER_PROHIBIT_PREFIX, "RFC3491"); sprintf(names[6], "%s%s", IDN_CHECKER_BIDI_PREFIX, "RFC3491"); sprintf(names[7], "%s%s", IDN_CHECKER_UNASSIGNED_PREFIX, "RFC3491"); sprintf(names[8], "%s%s", IDN_CHECKER_PROHIBIT_PREFIX, "RFC3491"); r = idn_checker_addall(ctx, (const char **)names, 9); ASSERT_RESULT(r, idn_success); r = idn_checker_lookup(ctx, from, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, from + FROM_UNAS_OFFSET); r = idn_checker_lookup(ctx, from2, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, from2 + FROM2_UNAS_OFFSET); r = idn_checker_lookup(ctx, bidi_from, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, bidi_from + BIDIFROM_OFFSET);}//# TESTCASE// title: idn_checker_addall() - add same scheme repetedly// group: addall{ int i; sprintf(names[0], "%s%s", IDN_CHECKER_PROHIBIT_PREFIX, "RFC3491"); for (i = 1; i < ARRAY_SIZE; i++) { strcpy(names[i], names[0]); } r = idn_checker_addall(ctx, (const char **)names, ARRAY_SIZE); ASSERT_RESULT(r, idn_success); r = idn_checker_lookup(ctx, from, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, from + FROM_PROH_OFFSET); r = idn_checker_lookup(ctx, from2, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, from2 + FROM2_PROH_OFFSET);}//# TESTCASE// title: idn_checker_lookup() - builtin schemes - RFC3491 prohibit// group: lookup{ sprintf(name, "%s%s", IDN_CHECKER_PROHIBIT_PREFIX, "RFC3491"); r = idn_checker_add(ctx, name); ASSERT_RESULT(r, idn_success); r = idn_checker_lookup(ctx, from, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, from + FROM_PROH_OFFSET); r = idn_checker_lookup(ctx, from2, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, from2 + FROM2_PROH_OFFSET);}//# TESTCASE// title: idn_checker_lookup() - builtin schemes - RFC3491 unassigned// group: lookup{ sprintf(name, "%s%s", IDN_CHECKER_UNASSIGNED_PREFIX, "RFC3491"); r = idn_checker_add(ctx, name); ASSERT_RESULT(r, idn_success); r = idn_checker_lookup(ctx, from, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, from + FROM_UNAS_OFFSET); r = idn_checker_lookup(ctx, from2, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, from2 + FROM2_UNAS_OFFSET);}//# TESTCASE// title: idn_checker_lookup() - builtin schemes - RFC3491 bidi// group: lookup{ sprintf(name, "%s%s", IDN_CHECKER_BIDI_PREFIX, "RFC3491"); r = idn_checker_add(ctx, name); ASSERT_RESULT(r, idn_success); r = idn_checker_lookup(ctx, bidi_from, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, bidi_from + BIDIFROM_OFFSET); r = idn_checker_lookup(ctx, from, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, NULL); r = idn_checker_lookup(ctx, from2, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, NULL);}//# TESTCASE// title: idn_checker_lookup() - context without procedure// group: lookup{ r = idn_checker_lookup(ctx, from, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, NULL);}//# TESTCASE// title: idn_checker_lookup() - string in ascii// group: lookup{ char *ascii_str = "test"; unsigned long ucs4_str[5]; r = idn_ucs4_utf8toucs4(ascii_str, ucs4_str, SIZEOFUCS4(ucs4_str)); sprintf(name, "%s%s", IDN_CHECKER_PROHIBIT_PREFIX, "RFC3491"); r = idn_checker_add(ctx, name); ASSERT_RESULT(r, idn_success); sprintf(name, "%s%s", IDN_CHECKER_UNASSIGNED_PREFIX, "RFC3491"); r = idn_checker_add(ctx, name); ASSERT_RESULT(r, idn_success); sprintf(name, "%s%s", IDN_CHECKER_BIDI_PREFIX, "RFC3491"); r = idn_checker_add(ctx, name); ASSERT_RESULT(r, idn_success); r = idn_checker_lookup(ctx, ucs4_str, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, NULL);}//# TESTCASE// title: idn_checker_destroy(), idn_checker_incrref()// group:{ idn_result_t r; idn_checker_t ctx = NULL; r = idn_checker_initialize(); ASSERT_RESULT(r, idn_success); r = idn_checker_create(&ctx); ASSERT_RESULT(r, idn_success); idn_checker_incrref(ctx); idn_checker_destroy(ctx); idn_checker_destroy(ctx);}//# TESTCASE// title: idn_checker_register()// group: generic{ const unsigned long *ptr = NULL; r = idn_checker_register("test", test_createproc, test_destroyproc, test_lookupproc); ASSERT_RESULT(r, idn_success); r = idn_checker_add(ctx, "test"); ASSERT_RESULT(r, idn_success); r = idn_checker_lookup(ctx, from, &ptr); ASSERT_RESULT(r, idn_success); ASSERT_PTR(ptr, from + FOUNDPTR_OFFSET);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -