summaryrefslogtreecommitdiff
path: root/tests/auto/environment
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2017-09-15 11:20:53 +0200
committerTobias Hunger <tobias.hunger@qt.io>2017-09-19 11:37:03 +0000
commit5bd2887045e009f3dee070427391855d62c91a40 (patch)
tree67a6685855619225b3c28dcef34a40f75a8d25c5 /tests/auto/environment
parenta2e3e9bcac15711af91b90ec13695f9b4dd00fc8 (diff)
downloadqt-creator-5bd2887045e009f3dee070427391855d62c91a40.tar.gz
Environment: Keep case of environment variables on windows
Task-number: QTCREATORBUG-18915 Change-Id: I4c389155e03dde423d1ed578409baa1f38fc26db Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'tests/auto/environment')
-rw-r--r--tests/auto/environment/tst_environment.cpp149
1 files changed, 149 insertions, 0 deletions
diff --git a/tests/auto/environment/tst_environment.cpp b/tests/auto/environment/tst_environment.cpp
index 48fb26c92d..1fc8ae0730 100644
--- a/tests/auto/environment/tst_environment.cpp
+++ b/tests/auto/environment/tst_environment.cpp
@@ -38,6 +38,23 @@ private slots:
void environment_data();
void environment();
+ void environmentSetup_data();
+ void environmentSetup();
+
+ void environmentSetWindows();
+ void environmentSetWindowsFuzzy();
+ void environmentSetUnix();
+
+ void environmentSetNewWindows();
+ void environmentSetNewUnix();
+
+ void environmentUnsetWindows();
+ void environmentUnsetWindowsFuzzy();
+ void environmentUnsetUnix();
+
+ void environmentUnsetUnknownWindows();
+ void environmentUnsetUnknownUnix();
+
private:
Environment env;
};
@@ -98,6 +115,138 @@ void tst_Environment::environment()
QCOMPARE(env.expandVariables(in), out);
}
+void tst_Environment::environmentSetup_data()
+{
+ QTest::addColumn<int>("osType");
+ QTest::addColumn<QStringList>("in");
+ QTest::addColumn<QStringList>("out");
+
+ QTest::newRow("EmptyWin")
+ << static_cast<int>(Utils::OsTypeWindows) << QStringList() << QStringList();
+ QTest::newRow("EmptyLinux")
+ << static_cast<int>(Utils::OsTypeLinux) << QStringList() << QStringList();
+
+ QTest::newRow("SimpleWin")
+ << static_cast<int>(Utils::OsTypeWindows) << QStringList({"Foo=bar"}) << QStringList({"Foo=bar"});
+ QTest::newRow("EmptyLinux")
+ << static_cast<int>(Utils::OsTypeLinux) << QStringList({"Foo=bar"}) << QStringList({"Foo=bar"});
+
+ QTest::newRow("MultiWin")
+ << static_cast<int>(Utils::OsTypeWindows)
+ << QStringList({"Foo=bar", "Hi=HO"}) << QStringList({"Foo=bar", "Hi=HO"});
+ QTest::newRow("MultiLinux")
+ << static_cast<int>(Utils::OsTypeLinux)
+ << QStringList({"Foo=bar", "Hi=HO"}) << QStringList({"Foo=bar", "Hi=HO"});
+
+ QTest::newRow("DuplicateWin")
+ << static_cast<int>(Utils::OsTypeWindows)
+ << QStringList({"Foo=bar", "FOO=HO"}) << QStringList({"Foo=HO"});
+ QTest::newRow("DuplicateLinux")
+ << static_cast<int>(Utils::OsTypeLinux)
+ << QStringList({"Foo=bar", "FOO=HO"}) << QStringList({"FOO=HO", "Foo=bar"});
+}
+
+void tst_Environment::environmentSetup()
+{
+ QFETCH(int, osType);
+ QFETCH(QStringList, in);
+ QFETCH(QStringList, out);
+
+ Environment env(in, static_cast<Utils::OsType>(osType));
+
+ QCOMPARE(env.toStringList(), out);
+}
+
+void tst_Environment::environmentSetWindows()
+{
+ Environment env(QStringList({"Foo=bar", "Hi=HO"}), Utils::OsTypeWindows);
+
+ env.set("Foo", "baz");
+
+ QCOMPARE(env.toStringList(), QStringList({"Foo=baz", "Hi=HO"}));
+}
+
+void tst_Environment::environmentSetWindowsFuzzy()
+{
+ Environment env(QStringList({"Foo=bar", "Hi=HO"}), Utils::OsTypeWindows);
+
+ env.set("FOO", "baz");
+
+ QCOMPARE(env.toStringList(), QStringList({"Foo=baz", "Hi=HO"}));
+}
+
+void tst_Environment::environmentSetUnix()
+{
+ Environment env(QStringList({"Foo=bar", "Hi=HO"}), Utils::OsTypeLinux);
+
+ env.set("Foo", "baz");
+
+ QCOMPARE(env.toStringList(), QStringList({"Foo=baz", "Hi=HO"}));
+}
+
+void tst_Environment::environmentSetNewWindows()
+{
+ Environment env(QStringList({"Foo=bar", "Hi=HO"}), Utils::OsTypeWindows);
+
+ env.set("bar", "baz");
+
+ QCOMPARE(env.toStringList(), QStringList({"Foo=bar", "Hi=HO", "bar=baz"}));
+}
+
+void tst_Environment::environmentSetNewUnix()
+{
+ Environment env(QStringList({"Foo=bar", "Hi=HO"}), Utils::OsTypeLinux);
+
+ env.set("bar", "baz");
+
+ QCOMPARE(env.toStringList(), QStringList({"Foo=bar", "Hi=HO", "bar=baz"}));
+}
+
+void tst_Environment::environmentUnsetWindows()
+{
+ Environment env(QStringList({"Foo=bar", "Hi=HO"}), Utils::OsTypeWindows);
+
+ env.unset("Foo");
+
+ QCOMPARE(env.toStringList(), QStringList({"Hi=HO"}));
+}
+
+void tst_Environment::environmentUnsetWindowsFuzzy()
+{
+ Environment env(QStringList({"Foo=bar", "Hi=HO"}), Utils::OsTypeWindows);
+
+ env.unset("FOO");
+
+ QCOMPARE(env.toStringList(), QStringList({"Hi=HO"}));
+}
+
+void tst_Environment::environmentUnsetUnix()
+{
+ Environment env(QStringList({"Foo=bar", "Hi=HO"}), Utils::OsTypeLinux);
+
+ env.unset("Foo");
+
+ QCOMPARE(env.toStringList(), QStringList({"Hi=HO"}));
+}
+
+void tst_Environment::environmentUnsetUnknownWindows()
+{
+ Environment env(QStringList({"Foo=bar", "Hi=HO"}), Utils::OsTypeWindows);
+
+ env.unset("baz");
+
+ QCOMPARE(env.toStringList(), QStringList({"Foo=bar", "Hi=HO"}));
+}
+
+void tst_Environment::environmentUnsetUnknownUnix()
+{
+ Environment env(QStringList({"Foo=bar", "Hi=HO"}), Utils::OsTypeLinux);
+
+ env.unset("baz");
+
+ QCOMPARE(env.toStringList(), QStringList({"Foo=bar", "Hi=HO"}));
+}
+
QTEST_MAIN(tst_Environment)
#include "tst_environment.moc"