#include <gtest/gtest.h>
#include "../common/dirs.h"
#include "../common/filename.h"
+#include "../common/mime.h"
+#include "../common/svrblist.h"
+#include "../common/textprocessing.h"
TEST(CommonFunctions, GetUserDir){
UserDirCheck.Append(wxT("/.xestiaab/preferences/"));
wxString UserDir = GetUserPrefDir();
-
- ASSERT_EQ(UserDir, UserDirCheck);
+ ASSERT_EQ(UserDir, UserDirCheck);
#endif
wxString AccountDirCheck2 = "";
wxString AccountDirCheck3 = "";
+ wxString AccountDirInput1 = "Example1";
+ wxString AccountDirInput2 = "Example2";
+ wxString AccountDirInput3 = "Example3";
+
AccountDirCheck1.Append(wxString::FromUTF8(getenv("HOME")));
AccountDirCheck1.Append(wxT("/.xestiaab/accounts/"));
AccountDirCheck1.Append("Example1");
AccountDirCheck3.Append("Example3");
AccountDirCheck3.Append(wxT("/"));
- wxString AccountDir1 = GetAccountDir("Example1", false);
- wxString AccountDir2 = GetAccountDir("Example2", false);
- wxString AccountDir3 = GetAccountDir("Example3", false);
+ wxString AccountDir1 = GetAccountDir(AccountDirInput1, false);
+ wxString AccountDir2 = GetAccountDir(AccountDirInput2, false);
+ wxString AccountDir3 = GetAccountDir(AccountDirInput3, false);
ASSERT_EQ(AccountDir1, AccountDirCheck1);
ASSERT_EQ(AccountDir2, AccountDirCheck2);
wxString AccountDirCheck2 = "";
wxString AccountDirCheck3 = "";
+ wxString AccountDirInput1 = "Example1";
+ wxString AccountDirInput2 = "Example2";
+ wxString AccountDirInput3 = "Example3";
+
AccountDirCheck1.Append(wxString::FromUTF8(getenv("HOME")));
AccountDirCheck1.Append(wxT("/.xestiaab/accounts/"));
AccountDirCheck1.Append("Example1");
AccountDirCheck3.Append("Example3");
AccountDirCheck3.Append(wxT("/server.crt"));
- wxString AccountDir1 = GetAccountDir("Example1", true);
- wxString AccountDir2 = GetAccountDir("Example2", true);
- wxString AccountDir3 = GetAccountDir("Example3", true);
+ wxString AccountDir1 = GetAccountDir(AccountDirInput1, true);
+ wxString AccountDir2 = GetAccountDir(AccountDirInput2, true);
+ wxString AccountDir3 = GetAccountDir(AccountDirInput3, true);
ASSERT_EQ(AccountDir1, AccountDirCheck1);
ASSERT_EQ(AccountDir2, AccountDirCheck2);
#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));
+
}
\ No newline at end of file