Switched ConnectionConfig to QString from std::string to fit better into Qt framework

This commit is contained in:
eelke 2019-09-16 19:24:39 +02:00
parent bcfd82c27d
commit 082293e58a
20 changed files with 1077 additions and 211 deletions

View file

@ -0,0 +1,57 @@
#include <gtest/gtest.h>
#include <gmock/gmock-matchers.h>
#include "ConnectionConfig.h"
#include "PrintTo_Qt.h"
using namespace testing;
TEST(escapeConnectionStringValue, emptyValue)
{
auto input = QStringLiteral("");
auto expected = QStringLiteral("''");
auto result = ConnectionConfig::escapeConnectionStringValue(input);
ASSERT_EQ(result, expected);
}
TEST(escapeConnectionStringValue, simpleValue)
{
auto input = QStringLiteral("abc");
auto expected = QStringLiteral("abc");
auto result = ConnectionConfig::escapeConnectionStringValue(input);
ASSERT_EQ(result, expected);
}
TEST(escapeConnectionStringValue, valueWithSpace)
{
auto input = QStringLiteral("ab c");
auto expected = QStringLiteral("'ab c'");
auto result = ConnectionConfig::escapeConnectionStringValue(input);
ASSERT_EQ(result, expected);
}
TEST(escapeConnectionStringValue, valueWithQuote)
{
auto input = QStringLiteral("ab'c");
auto expected = QStringLiteral("'ab\\'c'");
auto result = ConnectionConfig::escapeConnectionStringValue(input);
ASSERT_EQ(result, expected);
}
TEST(escapeConnectionStringValue, valueBackslash)
{
auto input = QStringLiteral("ab\\c");
auto expected = QStringLiteral("'ab\\\\c'");
auto result = ConnectionConfig::escapeConnectionStringValue(input);
ASSERT_EQ(result, expected);
}