diff options
author | James Booth <boothj5@gmail.com> | 2014-02-16 19:14:15 +0000 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2014-02-16 19:14:15 +0000 |
commit | a21ab6d4c8d9de9abce9dddd1d23668779ca15e7 (patch) | |
tree | b54b2d20afebe91e9e12bf2ae2edfbf4bbd274e8 /tests | |
parent | 6ef1174bf44f34f269b42889d12ea322f0a0d400 (diff) | |
download | profani-tty-a21ab6d4c8d9de9abce9dddd1d23668779ca15e7.tar.gz |
Mock otr module for cmd_otr tests
Diffstat (limited to 'tests')
-rw-r--r-- | tests/config/mock_accounts.h | 5 | ||||
-rw-r--r-- | tests/otr/mock_otr.c | 46 | ||||
-rw-r--r-- | tests/otr/mock_otr.h | 12 | ||||
-rw-r--r-- | tests/test_cmd_otr.c | 7 | ||||
-rw-r--r-- | tests/xmpp/mock_xmpp.h | 4 |
5 files changed, 70 insertions, 4 deletions
diff --git a/tests/config/mock_accounts.h b/tests/config/mock_accounts.h index f70be745..ee36f5ed 100644 --- a/tests/config/mock_accounts.h +++ b/tests/config/mock_accounts.h @@ -20,6 +20,9 @@ * */ +#ifndef MOCK_ACCOUNTS_H +#define MOCK_ACCOUNTS_H + void mock_accounts_get_account(void); void accounts_get_account_expect_and_return(const char * const name, ProfAccount *account); void accounts_get_account_return(ProfAccount *account); @@ -85,3 +88,5 @@ void accounts_set_login_presence_expect(char *account_name, char *presence); void mock_accounts_get_last_presence(void); void accounts_get_last_presence_return(resource_presence_t presence); + +#endif diff --git a/tests/otr/mock_otr.c b/tests/otr/mock_otr.c new file mode 100644 index 00000000..8750feb7 --- /dev/null +++ b/tests/otr/mock_otr.c @@ -0,0 +1,46 @@ +#include <stdarg.h> +#include <stddef.h> +#include <setjmp.h> +#include <cmocka.h> +#include <stdlib.h> +#include <string.h> +#include <glib.h> + +#include "otr/otr.h" +#include "config/account.h" + +static void +_mock_otr_keygen(ProfAccount *account) +{ + check_expected(account); +} + +static char * +_mock_otr_libotr_version(void) +{ + return (char *)mock(); +} + +void +mock_otr_keygen(void) +{ + otr_keygen = _mock_otr_keygen; +} + +void +mock_otr_libotr_version(void) +{ + otr_libotr_version = _mock_otr_libotr_version; +} + +void +otr_keygen_expect(ProfAccount *account) +{ + expect_memory(_mock_otr_keygen, account, account, sizeof(ProfAccount)); +} + +void +otr_libotr_version_returns(char *version) +{ + will_return(_mock_otr_libotr_version, version); +} diff --git a/tests/otr/mock_otr.h b/tests/otr/mock_otr.h new file mode 100644 index 00000000..fd71e3da --- /dev/null +++ b/tests/otr/mock_otr.h @@ -0,0 +1,12 @@ +#ifndef MOCK_OTR_H +#define MOCK_OTR_H + +#include "config/account.h" + +void mock_otr_keygen(void); +void otr_keygen_expect(ProfAccount *account); + +void mock_otr_libotr_version(void); +void otr_libotr_version_returns(char *version); + +#endif diff --git a/tests/test_cmd_otr.c b/tests/test_cmd_otr.c index 92ff5e6e..7d6e8adb 100644 --- a/tests/test_cmd_otr.c +++ b/tests/test_cmd_otr.c @@ -10,6 +10,8 @@ #ifdef HAVE_LIBOTR #include <libotr/proto.h> +#include "otr/otr.h" +#include "otr/mock_otr.h" #endif #include "config/preferences.h" @@ -248,10 +250,11 @@ void cmd_otr_libver_shows_libotr_version(void **state) mock_cons_show(); CommandHelp *help = malloc(sizeof(CommandHelp)); gchar *args[] = { "libver", NULL }; - - char *version = OTRL_VERSION; + char *version = "9.9.9"; GString *message = g_string_new("Using libotr version "); g_string_append(message, version); + mock_otr_libotr_version(); + otr_libotr_version_returns(version); expect_cons_show(message->str); gboolean result = cmd_otr(args, *help); diff --git a/tests/xmpp/mock_xmpp.h b/tests/xmpp/mock_xmpp.h index 82b4f8d0..5c4c19d0 100644 --- a/tests/xmpp/mock_xmpp.h +++ b/tests/xmpp/mock_xmpp.h @@ -1,5 +1,5 @@ -#ifndef COMMON_MOCKS_H -#define COMMON_MOCKS_H +#ifndef MOCK_XMPP_H +#define MOCK_XMPP_H #include "xmpp/xmpp.h" |