about summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_history.c116
-rw-r--r--tests/test_history.h13
-rw-r--r--tests/test_jid.c159
-rw-r--r--tests/test_jid.h23
-rw-r--r--tests/testsuite.c44
5 files changed, 196 insertions, 159 deletions
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 <stdio.h>
-#include <head-unit.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <cmocka.h>
+#include <stdlib.h>
+
 #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 <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <cmocka.h>
 #include <stdlib.h>
-#include <string.h>
-#include <head-unit.h>
+
 #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);
 }