+}
+
+TEST(CommonFunctions, GetAccountDirCertificate){
+
+ // Run the unit tests depending on the operating system being used.
+
+#if defined(__WIN32__)
+
+#elif defined(__APPLE__)
+
+#else
+
+ // Setup for comparison purposes. Should be /home/<user>/.xestiaab/preferences
+
+ wxString AccountDirCheck1 = "";
+ wxString AccountDirCheck2 = "";
+ wxString AccountDirCheck3 = "";
+
+ AccountDirCheck1.Append(wxString::FromUTF8(getenv("HOME")));
+ AccountDirCheck1.Append(wxT("/.xestiaab/accounts/"));
+ AccountDirCheck1.Append("Example1");
+ AccountDirCheck1.Append(wxT("/server.crt"));
+
+ AccountDirCheck2.Append(wxString::FromUTF8(getenv("HOME")));
+ AccountDirCheck2.Append(wxT("/.xestiaab/accounts/"));
+ AccountDirCheck2.Append("Example2");
+ AccountDirCheck2.Append(wxT("/server.crt"));
+
+ AccountDirCheck3.Append(wxString::FromUTF8(getenv("HOME")));
+ AccountDirCheck3.Append(wxT("/.xestiaab/accounts/"));
+ AccountDirCheck3.Append("Example3");
+ AccountDirCheck3.Append(wxT("/server.crt"));
+
+ wxString AccountDir1 = GetAccountDir("Example1", true);
+ wxString AccountDir2 = GetAccountDir("Example2", true);
+ wxString AccountDir3 = GetAccountDir("Example3", true);
+
+ ASSERT_EQ(AccountDir1, AccountDirCheck1);
+ ASSERT_EQ(AccountDir2, AccountDirCheck2);
+ ASSERT_EQ(AccountDir3, AccountDirCheck3);
+
+#endif
+
+}
+
+TEST(CommonFunctions, GetAccountsFile){
+
+ // Run the unit tests depending on the operating system being used.
+
+#if defined(__WIN32__)
+
+#elif defined(__APPLE__)
+
+#else
+
+ // Setup for comparison purposes. Should be
+ // /home/<user>/.xestiaab/preferences/accounts
+
+ wxString AccountsFileCheck = "";
+ AccountsFileCheck.Clear();
+ AccountsFileCheck.Append(wxString::FromUTF8(getenv("HOME")));
+ AccountsFileCheck.Append(wxT("/.xestiaab/preferences/accounts"));
+
+ wxString AccountsFile = GetAccountsFile();
+
+ ASSERT_EQ(AccountsFile, AccountsFileCheck);
+
+#endif
+
+}
+
+TEST(CommonFunctions, GetSettingsFile){
+
+ // Run the unit tests depending on the operating system being used.
+
+#if defined(__WIN32__)
+
+#elif defined(__APPLE__)
+
+#else
+
+ // Setup for comparison purposes. Should be
+ // /home/<user>/.xestiaab/preferences/accounts
+
+ wxString SettingsFileCheck = "";
+ SettingsFileCheck.Clear();
+ SettingsFileCheck.Append(wxString::FromUTF8(getenv("HOME")));
+ SettingsFileCheck.Append(wxT("/.xestiaab/preferences/settings"));
+
+ wxString SettingsFile = GetSettingsFile();
+
+ ASSERT_EQ(SettingsFile, SettingsFileCheck);
+
+#endif
+
+}
+
+TEST(CommonFunctions, CreateFilenamePath){
+
+ // Run the unit tests depending on the operating system being used.
+
+#if defined(__WIN32__)
+
+#elif defined(__APPLE__)
+
+#else
+
+ ASSERT_EQ("/test", CreateFilenamePath("", "test"));
+ ASSERT_EQ("/example/test", CreateFilenamePath("/example", "test"));
+ ASSERT_EQ("/home/meep/test", CreateFilenamePath("/home/meep", "test"));
+ ASSERT_EQ("/home/meep/moo/test", CreateFilenamePath("/home/meep/moo", "test"));
+ ASSERT_EQ("/home/meep/moo/yargh/test", CreateFilenamePath("/home/meep/moo/yargh", "test"));
+
+#endif
+
+}
+
+TEST(CommonFunctions, GetMIME){
+
+ // Get the MIME type based on the files given.
+
+ ASSERT_EQ("text/plain", GetMIME("TextMIMEExample.txt"));
+ ASSERT_EQ("image/png", GetMIME("PictureMIMEExample.png"));
+
+}
+
+TEST(CommonFunctions, CheckBlacklist){
+
+ // Test that the blacklist is actually working.
+
+ ASSERT_EQ(false, CheckBlacklist("example.com"));
+ ASSERT_EQ(true, CheckBlacklist("google.com"));
+
+}
+
+TEST(CommonFunctions, EscapeString){
+
+ // Test the escape string function.
+
+ wxString EscapeStringData = "Example";
+ EscapeString(&EscapeStringData, false);
+ ASSERT_EQ("Example", EscapeStringData.ToStdString());
+
+ EscapeStringData = "Here we go, an \"example\" of escaping string.";
+ EscapeString(&EscapeStringData, false);
+ ASSERT_EQ("Here we go\\, an \"example\" of escaping string.", EscapeStringData.ToStdString());
+
+ EscapeStringData = "Lets put some \nnew \nlines \nin \nhere.";
+ EscapeString(&EscapeStringData, false);
+ ASSERT_EQ("Lets put some \\nnew \\nlines \\nin \\nhere.", EscapeStringData.ToStdString());
+
+ EscapeStringData = "Lets put some \r\nnew \r\nlines \r\nin \r\nhere.";
+ EscapeString(&EscapeStringData, false);
+ ASSERT_EQ("Lets put some \\nnew \\nlines \\nin \\nhere.", EscapeStringData.ToStdString());
+
+ EscapeStringData = "A:\\path\\example\\lets\\have\\some\\fun";
+ EscapeString(&EscapeStringData, false);
+ ASSERT_EQ("A:\\\\path\\\\example\\\\lets\\\\have\\\\some\\\\fun", EscapeStringData.ToStdString());
+
+}
+
+TEST(CommonFunctions, CaptureString){
+
+ // Test the capture string function.
+
+ wxString CaptureStringData = "Example";
+ CaptureString(&CaptureStringData, false);
+ ASSERT_EQ("Example", CaptureStringData.ToStdString());
+
+ CaptureStringData = "Here we go\\, an \"example\" of escaping string.";
+ CaptureString(&CaptureStringData, false);
+ ASSERT_EQ("Here we go, an \"example\" of escaping string.", CaptureStringData.ToStdString());
+
+ CaptureStringData = "Lets put some \\nnew \\nlines \\nin \\nhere.";
+ CaptureString(&CaptureStringData, false);
+ ASSERT_EQ("Lets put some \nnew \nlines \nin \nhere.", CaptureStringData.ToStdString());
+
+ CaptureStringData = "A:\\\\path\\\\example\\\\lets\\\\have\\\\some\\\\fun";
+ CaptureString(&CaptureStringData, false);
+ ASSERT_EQ("A:\\path\\example\\lets\\have\\some\\fun", CaptureStringData.ToStdString());
+
+}
+
+TEST(CommonFunctions, ResetUnusedString){
+
+ // Tests for resetting an unused string.
+
+ wxString ResetUnusedStringData = "Random string with a \\\\\\\\serverpath\\\\location";
+ ResetUnusedString(&ResetUnusedStringData);
+ ASSERT_EQ("Random string with a \\\\serverpath\\location", ResetUnusedStringData.ToStdString());
+
+ ResetUnusedStringData = "Some text \\nwith new \\nlines!";
+ ResetUnusedString(&ResetUnusedStringData);
+ ASSERT_EQ("Some text \nwith new \nlines!", ResetUnusedStringData.ToStdString());
+
+ ResetUnusedStringData = "Some text \\nwith new \\nlines!";
+ ResetUnusedString(&ResetUnusedStringData);
+ ASSERT_EQ("Some text \nwith new \nlines!", ResetUnusedStringData.ToStdString());
+
+ ResetUnusedStringData = "And now the list of characters: \\\\ \\n \\; \\,";
+ ResetUnusedString(&ResetUnusedStringData);
+ ASSERT_EQ("And now the list of characters: \\ \n ; ,", ResetUnusedStringData.ToStdString());
+
+}
+
+TEST(CommonFunctions, ConvertToHTML){
+
+ // Tests for converting data for inserting into a HTML
+ // formatted document.
+
+ wxString ConvertToHTMLData = "The test line where < is probably better than >!";
+ ConvertToHTML(&ConvertToHTMLData);
+ ASSERT_EQ("The test line where < is probably better than >!", ConvertToHTMLData.ToStdString());
+
+ ConvertToHTMLData = "More testing &<>\n";
+ ConvertToHTML(&ConvertToHTMLData);
+ ASSERT_EQ("More testing &<><br>", ConvertToHTMLData.ToStdString());
+
+ ConvertToHTMLData = "This is the first line.\nThis is the second line.\nThis is the third line.";
+ ConvertToHTML(&ConvertToHTMLData);
+ ASSERT_EQ("This is the first line.<br>This is the second line.<br>This is the third line.", ConvertToHTMLData.ToStdString());
+
+}
+
+TEST(CommonFunctions, MapDataExists){
+
+ // Tests for checking that map data exists.
+
+ std::map<int,int> MapExample;
+ int ItemIndex = 0;
+
+ MapExample.insert(std::make_pair(0,1));
+ MapExample.insert(std::make_pair(1,1));
+ MapExample.insert(std::make_pair(2,1));
+ MapExample.insert(std::make_pair(5,1));
+ MapExample.insert(std::make_pair(500,1));
+ MapExample.insert(std::make_pair(2415,1));
+
+ ASSERT_EQ(true, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 1;
+ ASSERT_EQ(true, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 2;
+ ASSERT_EQ(true, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 3;
+ ASSERT_EQ(false, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 5;
+ ASSERT_EQ(true, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 6;
+ ASSERT_EQ(false, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 499;
+ ASSERT_EQ(false, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 500;
+ ASSERT_EQ(true, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 501;
+ ASSERT_EQ(false, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 2414;
+ ASSERT_EQ(false, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 2415;
+ ASSERT_EQ(true, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 2416;
+ ASSERT_EQ(false, MapDataExists(&ItemIndex, &MapExample));
+