logic: more wstring usages

* removed header paths from VS Project setup message since VS doesn't send these anymore
* implemented using wstring in IDE communication
* fixed retrieving filepaths from QtDirectoryListbox that contain special characters
* use wstring for source extensions
* added special character as file extension to FileManagerTestSuite
This commit is contained in:
mlangkabel
2018-01-30 17:07:51 +01:00
parent 471b1757df
commit c99e79364f
46 changed files with 319 additions and 337 deletions
+15 -15
View File
@@ -7,60 +7,60 @@ class NetworkProtocolHelperTestSuite : public CxxTest::TestSuite
public:
void test_parse_message(void)
{
std::string type = "setActiveToken";
std::string divider = ">>";
std::string filePath = "C:\\Users\\Manuel\\imporant\\file\\location\\fileName.cpp";
std::string endOfMessageToken = "<EOM>";
std::wstring type = L"setActiveToken";
std::wstring divider = L">>";
std::wstring filePath = L"C:/Users/Manuel/imporant/file/location/fileName.cpp";
std::wstring endOfMessageToken = L"<EOM>";
int row = 1;
int column = 2;
// valid message
std::stringstream message;
std::wstringstream message;
message << type << divider << filePath << divider << row << divider << column << endOfMessageToken;
NetworkProtocolHelper::SetActiveTokenMessage networkMessage = NetworkProtocolHelper::parseSetActiveTokenMessage(message.str());
TS_ASSERT_EQUALS(networkMessage.fileLocation, filePath);
TS_ASSERT_EQUALS(networkMessage.filePath.wstr(), filePath);
TS_ASSERT_EQUALS(networkMessage.row, row);
TS_ASSERT_EQUALS(networkMessage.column, column);
TS_ASSERT_EQUALS(networkMessage.valid, true);
// invalid type
message.str("");
message << "foo" << divider << filePath << divider << row << divider << column << endOfMessageToken;
message.str(L"");
message << L"foo" << divider << filePath << divider << row << divider << column << endOfMessageToken;
networkMessage = NetworkProtocolHelper::parseSetActiveTokenMessage(message.str());
TS_ASSERT_EQUALS(networkMessage.fileLocation, "");
TS_ASSERT_EQUALS(networkMessage.filePath.wstr(), L"");
TS_ASSERT_EQUALS(networkMessage.row, 0);
TS_ASSERT_EQUALS(networkMessage.column, 0);
TS_ASSERT_EQUALS(networkMessage.valid, false);
// missing divider
message.str("");
message.str(L"");
message << type << divider << filePath << row << divider << column << endOfMessageToken;
networkMessage = NetworkProtocolHelper::parseSetActiveTokenMessage(message.str());
TS_ASSERT_EQUALS(networkMessage.fileLocation, "");
TS_ASSERT_EQUALS(networkMessage.filePath.wstr(), L"");
TS_ASSERT_EQUALS(networkMessage.row, 0);
TS_ASSERT_EQUALS(networkMessage.column, 0);
TS_ASSERT_EQUALS(networkMessage.valid, false);
// invalid row
message.str("");
message.str(L"");
message << type << divider << filePath << divider << "potato" << divider << column << endOfMessageToken;
networkMessage = NetworkProtocolHelper::parseSetActiveTokenMessage(message.str());
TS_ASSERT_EQUALS(networkMessage.fileLocation, "");
TS_ASSERT_EQUALS(networkMessage.filePath.wstr(), L"");
TS_ASSERT_EQUALS(networkMessage.row, 0);
TS_ASSERT_EQUALS(networkMessage.column, 0);
TS_ASSERT_EQUALS(networkMessage.valid, false);
// invalid column
message.str("");
message.str(L"");
message << type << divider << filePath << divider << row << divider << "laz0r" << endOfMessageToken;
networkMessage = NetworkProtocolHelper::parseSetActiveTokenMessage(message.str());
TS_ASSERT_EQUALS(networkMessage.fileLocation, "");
TS_ASSERT_EQUALS(networkMessage.filePath.wstr(), L"");
TS_ASSERT_EQUALS(networkMessage.row, 0);
TS_ASSERT_EQUALS(networkMessage.column, 0);
TS_ASSERT_EQUALS(networkMessage.valid, false);