1 #include <stic.h>
2 
3 #include <string.h>
4 #include <stdlib.h>
5 
6 #include "../../src/utils/filter.h"
7 
TEST(append_produces_desired_effect)8 TEST(append_produces_desired_effect)
9 {
10 	filter_t filter;
11 	assert_int_equal(0, filter_init(&filter, 1));
12 
13 	assert_int_equal(0, filter_set(&filter, "abcd"));
14 	assert_true(filter_matches(&filter, "abcd"));
15 	assert_false(filter_matches(&filter, "efgh"));
16 
17 	assert_int_equal(0, filter_append(&filter, "efgh"));
18 	assert_true(filter_matches(&filter, "abcd"));
19 	assert_true(filter_matches(&filter, "efgh"));
20 
21 	filter_dispose(&filter);
22 }
23 
TEST(append_escapes)24 TEST(append_escapes)
25 {
26 	filter_t filter;
27 	assert_int_equal(0, filter_init(&filter, 1));
28 
29 	assert_int_equal(0, filter_append(&filter, "ef|gh"));
30 	assert_true(filter_matches(&filter, "ef|gh"));
31 
32 	filter_dispose(&filter);
33 }
34 
TEST(empty_value_not_appended)35 TEST(empty_value_not_appended)
36 {
37 	char *initial_value;
38 
39 	filter_t filter;
40 	assert_int_equal(0, filter_init(&filter, 1));
41 
42 	initial_value = strdup(filter.raw);
43 
44 	assert_int_equal(1, filter_append(&filter, ""));
45 
46 	assert_string_equal(initial_value, filter.raw);
47 
48 	free(initial_value);
49 	filter_dispose(&filter);
50 }
51 
52 /* vim: set tabstop=2 softtabstop=2 shiftwidth=2 noexpandtab cinoptions-=(0 : */
53 /* vim: set cinoptions+=t0 filetype=c : */
54