mirror of
https://github.com/ascii-boxes/boxes.git
synced 2025-06-20 09:48:12 +02:00
Add unit tests for '-k' option parsing
This commit is contained in:
parent
0e2b57c97d
commit
84d051f1e5
@ -327,7 +327,7 @@ static int killblank(opt_t *result, char *optarg)
|
|||||||
result->killblank = 0;
|
result->killblank = 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
fprintf(stderr, "%s: -k: invalid parameter\n", PROJECT);
|
bx_fprintf(stderr, "%s: -k: invalid parameter\n", PROJECT);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -118,4 +118,49 @@ void test_indentmode_text(void **state)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void test_killblank_true(void **state)
|
||||||
|
{
|
||||||
|
(void) state; /* unused */
|
||||||
|
|
||||||
|
opt_t *actual = act(2, "-k", "true");
|
||||||
|
|
||||||
|
assert_non_null(actual);
|
||||||
|
assert_int_equal(1, (int) actual->killblank);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void test_killblank_false(void **state)
|
||||||
|
{
|
||||||
|
(void) state; /* unused */
|
||||||
|
|
||||||
|
opt_t *actual = act(2, "-k", "false");
|
||||||
|
|
||||||
|
assert_non_null(actual);
|
||||||
|
assert_int_equal(0, (int) actual->killblank);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void test_killblank_invalid(void **state)
|
||||||
|
{
|
||||||
|
(void) state; /* unused */
|
||||||
|
|
||||||
|
opt_t *actual = act(2, "-k", "INVALID");
|
||||||
|
|
||||||
|
assert_null(actual); // invalid option, so we would need to exit with error
|
||||||
|
assert_int_equal(1, collect_err_size);
|
||||||
|
assert_string_equal("boxes: -k: invalid parameter\n", collect_err[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void test_killblank_multiple(void **state)
|
||||||
|
{
|
||||||
|
(void) state; /* unused */
|
||||||
|
|
||||||
|
opt_t *actual = act(4, "-k", "true", "-k", "false"); // first one wins
|
||||||
|
|
||||||
|
assert_non_null(actual);
|
||||||
|
assert_int_equal(1, (int) actual->killblank);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*EOF*/ /* vim: set cindent sw=4: */
|
/*EOF*/ /* vim: set cindent sw=4: */
|
||||||
|
@ -32,6 +32,11 @@ void test_indentmode_invalid_short(void **state);
|
|||||||
void test_indentmode_box(void **state);
|
void test_indentmode_box(void **state);
|
||||||
void test_indentmode_text(void **state);
|
void test_indentmode_text(void **state);
|
||||||
|
|
||||||
|
void test_killblank_true(void **state);
|
||||||
|
void test_killblank_false(void **state);
|
||||||
|
void test_killblank_invalid(void **state);
|
||||||
|
void test_killblank_multiple(void **state);
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -52,7 +52,11 @@ int main(void)
|
|||||||
cmocka_unit_test_setup(test_indentmode_invalid_long, beforeTest),
|
cmocka_unit_test_setup(test_indentmode_invalid_long, beforeTest),
|
||||||
cmocka_unit_test_setup(test_indentmode_invalid_short, beforeTest),
|
cmocka_unit_test_setup(test_indentmode_invalid_short, beforeTest),
|
||||||
cmocka_unit_test_setup(test_indentmode_box, beforeTest),
|
cmocka_unit_test_setup(test_indentmode_box, beforeTest),
|
||||||
cmocka_unit_test_setup(test_indentmode_text, beforeTest)
|
cmocka_unit_test_setup(test_indentmode_text, beforeTest),
|
||||||
|
cmocka_unit_test_setup(test_killblank_true, beforeTest),
|
||||||
|
cmocka_unit_test_setup(test_killblank_false, beforeTest),
|
||||||
|
cmocka_unit_test_setup(test_killblank_invalid, beforeTest),
|
||||||
|
cmocka_unit_test_setup(test_killblank_multiple, beforeTest)
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct CMUnitTest regulex_tests[] = {
|
const struct CMUnitTest regulex_tests[] = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user