diff --git a/gnucash/import-export/test/gtest-import-backend.cpp b/gnucash/import-export/test/gtest-import-backend.cpp index 1f917d9fa8..53e9035842 100644 --- a/gnucash/import-export/test/gtest-import-backend.cpp +++ b/gnucash/import-export/test/gtest-import-backend.cpp @@ -7,6 +7,8 @@ extern "C" { #include +#include +#include } #include "gmock-gnc-prefs.h" @@ -39,6 +41,50 @@ testing::Environment* const env = testing::AddGlobalTestEnvironment(new TestEnvi +/* mock functions, which can not be mocked by mock classes */ + +gint +safe_strcasecmp (const gchar * da, const gchar * db) +{ + // use simplified case-sensitive string comparison as mock up + return g_strcmp0(da, db); +} + +const char * +qof_log_prettify (const char *name) +{ + // do nothing + return name; +} + +// this is a slightly modified version of the function from engine-helpers.c +const char * +gnc_get_num_action (const Transaction *trans, const Split *split) +{ + gboolean num_action = qof_book_use_split_action_for_num_field(gnc_get_current_book()); + + if (trans && !split) + return xaccTransGetNum(trans); + if (split && !trans) + return xaccSplitGetAction(split); + if (trans && split) + { + if (num_action) + return xaccSplitGetAction(split); + else + return xaccTransGetNum(trans); + } + else return NULL; +} + +QofBook * +gnc_get_current_book (void) +{ + return ((TestEnvironment*)env)->m_book; +} + + + class ImportBackendTest : public testing::Test { protected: