diff --git a/Makefile.am b/Makefile.am index e52fe8bd..c2c9f53e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -83,6 +83,8 @@ test_sources = \ tests/test_autocomplete.c \ tests/test_common.c \ tests/test_command.c \ + tests/test_history.c \ + tests/test_jid.c \ tests/testsuite.c main_source = src/main.c diff --git a/tests/test_history.c b/tests/test_history.c index 6af96946..1584b390 100644 --- a/tests/test_history.c +++ b/tests/test_history.c @@ -1,34 +1,38 @@ -#include -#include +#include +#include +#include +#include +#include + #include "tools/history.h" -void previous_on_empty_returns_null(void) +void previous_on_empty_returns_null(void **state) { History history = history_new(10); char *item = history_previous(history, "inp"); - assert_is_null(item); + assert_null(item); } -void next_on_empty_returns_null(void) +void next_on_empty_returns_null(void **state) { History history = history_new(10); char *item = history_next(history, "inp"); - assert_is_null(item); + assert_null(item); } -void previous_once_returns_last(void) +void previous_once_returns_last(void **state) { History history = history_new(10); history_append(history, "Hello"); char *item = history_previous(history, "inp"); - assert_string_equals("Hello", item); + assert_string_equal("Hello", item); } -void previous_twice_when_one_returns_first(void) +void previous_twice_when_one_returns_first(void **state) { History history = history_new(10); history_append(history, "Hello"); @@ -36,10 +40,10 @@ void previous_twice_when_one_returns_first(void) char *item1 = history_previous(history, NULL); char *item2 = history_previous(history, item1); - assert_string_equals("Hello", item2); + assert_string_equal("Hello", item2); } -void previous_always_stops_at_first(void) +void previous_always_stops_at_first(void **state) { History history = history_new(10); history_append(history, "Hello"); @@ -51,10 +55,10 @@ void previous_always_stops_at_first(void) char *item5 = history_previous(history, item4); char *item6 = history_previous(history, item5); - assert_string_equals("Hello", item6); + assert_string_equal("Hello", item6); } -void previous_goes_to_correct_element(void) +void previous_goes_to_correct_element(void **state) { History history = history_new(10); history_append(history, "Hello"); @@ -68,10 +72,10 @@ void previous_goes_to_correct_element(void) char *item2 = history_previous(history, item1); char *item3 = history_previous(history, item2); - assert_string_equals("going", item3); + assert_string_equal("going", item3); } -void prev_then_next_returns_empty(void) +void prev_then_next_returns_empty(void **state) { History history = history_new(10); history_append(history, "Hello"); @@ -79,10 +83,10 @@ void prev_then_next_returns_empty(void) char *item1 = history_previous(history, NULL); char *item2 = history_next(history, item1); - assert_string_equals("", item2); + assert_string_equal("", item2); } -void prev_with_val_then_next_returns_val(void) +void prev_with_val_then_next_returns_val(void **state) { History history = history_new(10); history_append(history, "Hello"); @@ -90,10 +94,10 @@ void prev_with_val_then_next_returns_val(void) char *item1 = history_previous(history, "Oioi"); char *item2 = history_next(history, item1); - assert_string_equals("Oioi", item2); + assert_string_equal("Oioi", item2); } -void prev_with_val_then_next_twice_returns_null(void) +void prev_with_val_then_next_twice_returns_null(void **state) { History history = history_new(10); history_append(history, "Hello"); @@ -102,10 +106,10 @@ void prev_with_val_then_next_twice_returns_null(void) char *item2 = history_next(history, item1); char *item3 = history_next(history, item2); - assert_is_null(item3); + assert_null(item3); } -void navigate_then_append_new(void) +void navigate_then_append_new(void **state) { History history = history_new(10); history_append(history, "Hello"); @@ -115,25 +119,25 @@ void navigate_then_append_new(void) history_append(history, "append"); char *item1 = history_previous(history, "new text"); - assert_string_equals("append", item1); + assert_string_equal("append", item1); char *item2 = history_previous(history, item1); - assert_string_equals("history", item2); + assert_string_equal("history", item2); char *item3 = history_previous(history, item2); - assert_string_equals("testing", item3); + assert_string_equal("testing", item3); char *item4 = history_next(history, item3); - assert_string_equals("history", item4); + assert_string_equal("history", item4); char *item5 = history_next(history, item4); - assert_string_equals("append", item5); + assert_string_equal("append", item5); char *item6 = history_next(history, item5); - assert_string_equals("new text", item6); + assert_string_equal("new text", item6); } -void edit_item_mid_history(void) +void edit_item_mid_history(void **state) { History history = history_new(10); history_append(history, "Hello"); @@ -143,37 +147,37 @@ void edit_item_mid_history(void) history_append(history, "append"); char *item1 = history_previous(history, "new item"); - assert_string_equals("append", item1); + assert_string_equal("append", item1); char *item2 = history_previous(history, item1); - assert_string_equals("history", item2); + assert_string_equal("history", item2); char *item3 = history_previous(history, item2); - assert_string_equals("testing", item3); + assert_string_equal("testing", item3); char *item4 = history_previous(history, "EDITED"); - assert_string_equals("again", item4); + assert_string_equal("again", item4); char *item5 = history_previous(history, item4); - assert_string_equals("Hello", item5); + assert_string_equal("Hello", item5); char *item6 = history_next(history, item5); - assert_string_equals("again", item6); + assert_string_equal("again", item6); char *item7 = history_next(history, item6); - assert_string_equals("EDITED", item7); + assert_string_equal("EDITED", item7); char *item8 = history_next(history, item7); - assert_string_equals("history", item8); + assert_string_equal("history", item8); char *item9 = history_next(history, item8); - assert_string_equals("append", item9); + assert_string_equal("append", item9); char *item10 = history_next(history, item9); - assert_string_equals("new item", item10); + assert_string_equal("new item", item10); } -void edit_previous_and_append(void) +void edit_previous_and_append(void **state) { History history = history_new(10); history_append(history, "Hello"); @@ -183,51 +187,33 @@ void edit_previous_and_append(void) history_append(history, "append"); char *item1 = history_previous(history, "new item"); - assert_string_equals("append", item1); + assert_string_equal("append", item1); char *item2 = history_previous(history, item1); - assert_string_equals("history", item2); + assert_string_equal("history", item2); char *item3 = history_previous(history, item2); - assert_string_equals("testing", item3); + assert_string_equal("testing", item3); history_append(history, "EDITED"); char *item4 = history_previous(history, NULL); - assert_string_equals("EDITED", item4); + assert_string_equal("EDITED", item4); } -void start_session_add_new_submit_previous(void) +void start_session_add_new_submit_previous(void **state) { History history = history_new(10); history_append(history, "hello"); char *item1 = history_previous(history, NULL); - assert_string_equals("hello", item1); + assert_string_equal("hello", item1); char *item2 = history_next(history, item1); - assert_string_equals("", item2); + assert_string_equal("", item2); char *item3 = history_previous(history, "new text"); - assert_string_equals("hello", item3); + assert_string_equal("hello", item3); history_append(history, item3); } - -void register_history_tests(void) -{ - TEST_MODULE("history tests"); - TEST(previous_on_empty_returns_null); - TEST(next_on_empty_returns_null); - TEST(previous_once_returns_last); - TEST(previous_twice_when_one_returns_first); - TEST(previous_always_stops_at_first); - TEST(previous_goes_to_correct_element); - TEST(prev_then_next_returns_empty); - TEST(prev_with_val_then_next_returns_val); - TEST(prev_with_val_then_next_twice_returns_null); - TEST(navigate_then_append_new); - TEST(edit_item_mid_history); - TEST(edit_previous_and_append); - TEST(start_session_add_new_submit_previous); -} diff --git a/tests/test_history.h b/tests/test_history.h new file mode 100644 index 00000000..e6e8ec3f --- /dev/null +++ b/tests/test_history.h @@ -0,0 +1,13 @@ +void previous_on_empty_returns_null(void **state); +void next_on_empty_returns_null(void **state); +void previous_once_returns_last(void **state); +void previous_twice_when_one_returns_first(void **state); +void previous_always_stops_at_first(void **state); +void previous_goes_to_correct_element(void **state); +void prev_then_next_returns_empty(void **state); +void prev_with_val_then_next_returns_val(void **state); +void prev_with_val_then_next_twice_returns_null(void **state); +void navigate_then_append_new(void **state); +void edit_item_mid_history(void **state); +void edit_previous_and_append(void **state); +void start_session_add_new_submit_previous(void **state); diff --git a/tests/test_jid.c b/tests/test_jid.c index 0b9da5ab..df8096d1 100644 --- a/tests/test_jid.c +++ b/tests/test_jid.c @@ -1,192 +1,167 @@ +#include +#include +#include +#include #include -#include -#include + #include "jid.h" -void create_jid_from_null_returns_null(void) +void create_jid_from_null_returns_null(void **state) { Jid *result = jid_create(NULL); - assert_is_null(result); + assert_null(result); } -void create_jid_from_empty_string_returns_null(void) +void create_jid_from_empty_string_returns_null(void **state) { Jid *result = jid_create(""); - assert_is_null(result); + assert_null(result); } -void create_jid_from_full_returns_full(void) +void create_jid_from_full_returns_full(void **state) { Jid *result = jid_create("myuser@mydomain/laptop"); - assert_string_equals("myuser@mydomain/laptop", result->fulljid); + assert_string_equal("myuser@mydomain/laptop", result->fulljid); } -void create_jid_from_full_returns_bare(void) +void create_jid_from_full_returns_bare(void **state) { Jid *result = jid_create("myuser@mydomain/laptop"); - assert_string_equals("myuser@mydomain", result->barejid); + assert_string_equal("myuser@mydomain", result->barejid); } -void create_jid_from_full_returns_resourcepart(void) +void create_jid_from_full_returns_resourcepart(void **state) { Jid *result = jid_create("myuser@mydomain/laptop"); - assert_string_equals("laptop", result->resourcepart); + assert_string_equal("laptop", result->resourcepart); } -void create_jid_from_full_returns_localpart(void) +void create_jid_from_full_returns_localpart(void **state) { Jid *result = jid_create("myuser@mydomain/laptop"); - assert_string_equals("myuser", result->localpart); + assert_string_equal("myuser", result->localpart); } -void create_jid_from_full_returns_domainpart(void) +void create_jid_from_full_returns_domainpart(void **state) { Jid *result = jid_create("myuser@mydomain/laptop"); - assert_string_equals("mydomain", result->domainpart); + assert_string_equal("mydomain", result->domainpart); } -void create_jid_from_full_nolocal_returns_full(void) +void create_jid_from_full_nolocal_returns_full(void **state) { Jid *result = jid_create("mydomain/laptop"); - assert_string_equals("mydomain/laptop", result->fulljid); + assert_string_equal("mydomain/laptop", result->fulljid); } -void create_jid_from_full_nolocal_returns_bare(void) +void create_jid_from_full_nolocal_returns_bare(void **state) { Jid *result = jid_create("mydomain/laptop"); - assert_string_equals("mydomain", result->barejid); + assert_string_equal("mydomain", result->barejid); } -void create_jid_from_full_nolocal_returns_resourcepart(void) +void create_jid_from_full_nolocal_returns_resourcepart(void **state) { Jid *result = jid_create("mydomain/laptop"); - assert_string_equals("laptop", result->resourcepart); + assert_string_equal("laptop", result->resourcepart); } -void create_jid_from_full_nolocal_returns_domainpart(void) +void create_jid_from_full_nolocal_returns_domainpart(void **state) { Jid *result = jid_create("mydomain/laptop"); - assert_string_equals("mydomain", result->domainpart); + assert_string_equal("mydomain", result->domainpart); } -void create_jid_from_full_nolocal_returns_null_localpart(void) +void create_jid_from_full_nolocal_returns_null_localpart(void **state) { Jid *result = jid_create("mydomain/laptop"); - assert_is_null(result->localpart); + assert_null(result->localpart); } -void create_jid_from_bare_returns_null_full(void) +void create_jid_from_bare_returns_null_full(void **state) { Jid *result = jid_create("myuser@mydomain"); - assert_is_null(result->fulljid); + assert_null(result->fulljid); } -void create_jid_from_bare_returns_null_resource(void) +void create_jid_from_bare_returns_null_resource(void **state) { Jid *result = jid_create("myuser@mydomain"); - assert_is_null(result->resourcepart); + assert_null(result->resourcepart); } -void create_jid_from_bare_returns_bare(void) +void create_jid_from_bare_returns_bare(void **state) { Jid *result = jid_create("myuser@mydomain"); - assert_string_equals("myuser@mydomain", result->barejid); + assert_string_equal("myuser@mydomain", result->barejid); } -void create_jid_from_bare_returns_localpart(void) +void create_jid_from_bare_returns_localpart(void **state) { Jid *result = jid_create("myuser@mydomain"); - assert_string_equals("myuser", result->localpart); + assert_string_equal("myuser", result->localpart); } -void create_jid_from_bare_returns_domainpart(void) +void create_jid_from_bare_returns_domainpart(void **state) { Jid *result = jid_create("myuser@mydomain"); - assert_string_equals("mydomain", result->domainpart); + assert_string_equal("mydomain", result->domainpart); } -void create_room_jid_returns_room(void) +void create_room_jid_returns_room(void **state) { Jid *result = jid_create_from_bare_and_resource("room@conference.domain.org", "myname"); - assert_string_equals("room@conference.domain.org", result->barejid); + assert_string_equal("room@conference.domain.org", result->barejid); } -void create_room_jid_returns_nick(void) +void create_room_jid_returns_nick(void **state) { Jid *result = jid_create_from_bare_and_resource("room@conference.domain.org", "myname"); - assert_string_equals("myname", result->resourcepart); + assert_string_equal("myname", result->resourcepart); } -void create_with_slash_in_resource(void) +void create_with_slash_in_resource(void **state) { Jid *result = jid_create("room@conference.domain.org/my/nick"); - assert_string_equals("room", result->localpart); - assert_string_equals("conference.domain.org", result->domainpart); - assert_string_equals("my/nick", result->resourcepart); - assert_string_equals("room@conference.domain.org", result->barejid); - assert_string_equals("room@conference.domain.org/my/nick", result->fulljid); + assert_string_equal("room", result->localpart); + assert_string_equal("conference.domain.org", result->domainpart); + assert_string_equal("my/nick", result->resourcepart); + assert_string_equal("room@conference.domain.org", result->barejid); + assert_string_equal("room@conference.domain.org/my/nick", result->fulljid); } -void create_with_at_in_resource(void) +void create_with_at_in_resource(void **state) { Jid *result = jid_create("room@conference.domain.org/my@nick"); - assert_string_equals("room", result->localpart); - assert_string_equals("conference.domain.org", result->domainpart); - assert_string_equals("my@nick", result->resourcepart); - assert_string_equals("room@conference.domain.org", result->barejid); - assert_string_equals("room@conference.domain.org/my@nick", result->fulljid); + assert_string_equal("room", result->localpart); + assert_string_equal("conference.domain.org", result->domainpart); + assert_string_equal("my@nick", result->resourcepart); + assert_string_equal("room@conference.domain.org", result->barejid); + assert_string_equal("room@conference.domain.org/my@nick", result->fulljid); } -void create_with_at_and_slash_in_resource(void) +void create_with_at_and_slash_in_resource(void **state) { Jid *result = jid_create("room@conference.domain.org/my@nick/something"); - assert_string_equals("room", result->localpart); - assert_string_equals("conference.domain.org", result->domainpart); - assert_string_equals("my@nick/something", result->resourcepart); - assert_string_equals("room@conference.domain.org", result->barejid); - assert_string_equals("room@conference.domain.org/my@nick/something", result->fulljid); + assert_string_equal("room", result->localpart); + assert_string_equal("conference.domain.org", result->domainpart); + assert_string_equal("my@nick/something", result->resourcepart); + assert_string_equal("room@conference.domain.org", result->barejid); + assert_string_equal("room@conference.domain.org/my@nick/something", result->fulljid); } -void create_full_with_trailing_slash(void) +void create_full_with_trailing_slash(void **state) { Jid *result = jid_create("room@conference.domain.org/nick/"); - assert_string_equals("room", result->localpart); - assert_string_equals("conference.domain.org", result->domainpart); - assert_string_equals("nick/", result->resourcepart); - assert_string_equals("room@conference.domain.org", result->barejid); - assert_string_equals("room@conference.domain.org/nick/", result->fulljid); -} - -void register_jid_tests(void) -{ - TEST_MODULE("jid tests"); - TEST(create_jid_from_null_returns_null); - TEST(create_jid_from_empty_string_returns_null); - TEST(create_jid_from_full_returns_full); - TEST(create_jid_from_full_returns_bare); - TEST(create_jid_from_full_returns_resourcepart); - TEST(create_jid_from_full_returns_localpart); - TEST(create_jid_from_full_returns_domainpart); - TEST(create_jid_from_full_nolocal_returns_full); - TEST(create_jid_from_full_nolocal_returns_bare); - TEST(create_jid_from_full_nolocal_returns_resourcepart); - TEST(create_jid_from_full_nolocal_returns_domainpart); - TEST(create_jid_from_full_nolocal_returns_null_localpart); - TEST(create_jid_from_bare_returns_null_full); - TEST(create_jid_from_bare_returns_null_resource); - TEST(create_jid_from_bare_returns_bare); - TEST(create_jid_from_bare_returns_localpart); - TEST(create_jid_from_bare_returns_domainpart); - TEST(create_room_jid_returns_room); - TEST(create_room_jid_returns_nick); - TEST(create_with_slash_in_resource); - TEST(create_with_at_in_resource); - TEST(create_with_at_and_slash_in_resource); - TEST(create_full_with_trailing_slash); + assert_string_equal("room", result->localpart); + assert_string_equal("conference.domain.org", result->domainpart); + assert_string_equal("nick/", result->resourcepart); + assert_string_equal("room@conference.domain.org", result->barejid); + assert_string_equal("room@conference.domain.org/nick/", result->fulljid); } diff --git a/tests/test_jid.h b/tests/test_jid.h new file mode 100644 index 00000000..95de541f --- /dev/null +++ b/tests/test_jid.h @@ -0,0 +1,23 @@ +void create_jid_from_null_returns_null(void **state); +void create_jid_from_empty_string_returns_null(void **state); +void create_jid_from_full_returns_full(void **state); +void create_jid_from_full_returns_bare(void **state); +void create_jid_from_full_returns_resourcepart(void **state); +void create_jid_from_full_returns_localpart(void **state); +void create_jid_from_full_returns_domainpart(void **state); +void create_jid_from_full_nolocal_returns_full(void **state); +void create_jid_from_full_nolocal_returns_bare(void **state); +void create_jid_from_full_nolocal_returns_resourcepart(void **state); +void create_jid_from_full_nolocal_returns_domainpart(void **state); +void create_jid_from_full_nolocal_returns_null_localpart(void **state); +void create_jid_from_bare_returns_null_full(void **state); +void create_jid_from_bare_returns_null_resource(void **state); +void create_jid_from_bare_returns_bare(void **state); +void create_jid_from_bare_returns_localpart(void **state); +void create_jid_from_bare_returns_domainpart(void **state); +void create_room_jid_returns_room(void **state); +void create_room_jid_returns_nick(void **state); +void create_with_slash_in_resource(void **state); +void create_with_at_in_resource(void **state); +void create_with_at_and_slash_in_resource(void **state); +void create_full_with_trailing_slash(void **state); diff --git a/tests/testsuite.c b/tests/testsuite.c index 6215b761..9e3ddf32 100644 --- a/tests/testsuite.c +++ b/tests/testsuite.c @@ -6,6 +6,8 @@ #include "test_autocomplete.h" #include "test_common.h" #include "test_command.h" +#include "test_history.h" +#include "test_jid.h" int main(int argc, char* argv[]) { const UnitTest tests[] = { @@ -53,7 +55,45 @@ int main(int argc, char* argv[]) { unit_test(add_two_and_complete_returns_second), unit_test(add_two_adds_two), unit_test(add_two_same_adds_one), - unit_test(add_two_same_updates) - }; + unit_test(add_two_same_updates), + + unit_test(previous_on_empty_returns_null), + unit_test(next_on_empty_returns_null), + unit_test(previous_once_returns_last), + unit_test(previous_twice_when_one_returns_first), + unit_test(previous_always_stops_at_first), + unit_test(previous_goes_to_correct_element), + unit_test(prev_then_next_returns_empty), + unit_test(prev_with_val_then_next_returns_val), + unit_test(prev_with_val_then_next_twice_returns_null), + unit_test(navigate_then_append_new), + unit_test(edit_item_mid_history), + unit_test(edit_previous_and_append), + unit_test(start_session_add_new_submit_previous), + + unit_test(create_jid_from_null_returns_null), + unit_test(create_jid_from_empty_string_returns_null), + unit_test(create_jid_from_full_returns_full), + unit_test(create_jid_from_full_returns_bare), + unit_test(create_jid_from_full_returns_resourcepart), + unit_test(create_jid_from_full_returns_localpart), + unit_test(create_jid_from_full_returns_domainpart), + unit_test(create_jid_from_full_nolocal_returns_full), + unit_test(create_jid_from_full_nolocal_returns_bare), + unit_test(create_jid_from_full_nolocal_returns_resourcepart), + unit_test(create_jid_from_full_nolocal_returns_domainpart), + unit_test(create_jid_from_full_nolocal_returns_null_localpart), + unit_test(create_jid_from_bare_returns_null_full), + unit_test(create_jid_from_bare_returns_null_resource), + unit_test(create_jid_from_bare_returns_bare), + unit_test(create_jid_from_bare_returns_localpart), + unit_test(create_jid_from_bare_returns_domainpart), + unit_test(create_room_jid_returns_room), + unit_test(create_room_jid_returns_nick), + unit_test(create_with_slash_in_resource), + unit_test(create_with_at_in_resource), + unit_test(create_with_at_and_slash_in_resource), + unit_test(create_full_with_trailing_slash) + }; return run_tests(tests); }