about summary refs log tree commit diff stats
path: root/tests/functionaltests
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2016-01-05 01:30:32 +0000
committerJames Booth <boothj5@gmail.com>2016-01-05 01:30:32 +0000
commite1e0fda8b307270045a744f1325e8d88032f65b9 (patch)
tree97350cd39b427724931dfe6c78187c4db3a37e65 /tests/functionaltests
parent8e9bf083895ba7101115594a39dace62a59ab28f (diff)
downloadprofani-tty-e1e0fda8b307270045a744f1325e8d88032f65b9.tar.gz
Call UI disconnect functions before disconnecting with /disconnect
fixes #703
Diffstat (limited to 'tests/functionaltests')
-rw-r--r--tests/functionaltests/functionaltests.c3
-rw-r--r--tests/functionaltests/test_disconnect.c24
-rw-r--r--tests/functionaltests/test_disconnect.h1
3 files changed, 28 insertions, 0 deletions
diff --git a/tests/functionaltests/functionaltests.c b/tests/functionaltests/functionaltests.c
index 751306c0..878561dc 100644
--- a/tests/functionaltests/functionaltests.c
+++ b/tests/functionaltests/functionaltests.c
@@ -21,6 +21,7 @@
 #include "test_roster.h"
 #include "test_software.h"
 #include "test_muc.h"
+#include "test_disconnect.h"
 
 #define PROF_FUNC_TEST(test) unit_test_setup_teardown(test, init_prof_test, close_prof_test)
 
@@ -98,6 +99,8 @@ int main(int argc, char* argv[]) {
         PROF_FUNC_TEST(shows_all_messages_in_console_when_window_not_focussed),
         PROF_FUNC_TEST(shows_first_message_in_console_when_window_not_focussed),
         PROF_FUNC_TEST(shows_no_message_in_console_when_window_not_focussed),
+
+        PROF_FUNC_TEST(disconnect_ends_session),
     };
 
     return run_tests(all_tests);
diff --git a/tests/functionaltests/test_disconnect.c b/tests/functionaltests/test_disconnect.c
new file mode 100644
index 00000000..7529da18
--- /dev/null
+++ b/tests/functionaltests/test_disconnect.c
@@ -0,0 +1,24 @@
+#include <glib.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <cmocka.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <stabber.h>
+#include <expect.h>
+
+#include "proftest.h"
+
+void
+disconnect_ends_session(void **state)
+{
+    prof_connect();
+
+    prof_input("/disconnect");
+    assert_true(prof_output_exact("stabber@localhost/profanity logged out successfully."));
+
+    prof_input("/roster");
+    assert_true(prof_output_exact("You are not currently connected."));
+}
diff --git a/tests/functionaltests/test_disconnect.h b/tests/functionaltests/test_disconnect.h
new file mode 100644
index 00000000..2024269a
--- /dev/null
+++ b/tests/functionaltests/test_disconnect.h
@@ -0,0 +1 @@
+void disconnect_ends_session(void **state);