summaryrefslogtreecommitdiffstats
path: root/tests/auto/qprocessenvironment
diff options
context:
space:
mode:
authorThomas Sondergaard <ts@medical-insight.com>2011-04-04 11:40:46 +0200
committerOswald Buddenhagen <oswald.buddenhagen@nokia.com>2011-04-04 12:21:50 +0200
commit0cf75b4dd1cc25694de8ece4c25ecb97a3969a54 (patch)
tree0724f3cb6b84f5fcbec493860c084e2d5442bb2d /tests/auto/qprocessenvironment
parent0c291498c3cf1aa254df41ce99f249e2116da025 (diff)
Add methods for traversing and combining QProcessEnvironment.
New methods that make QProcessEnvironment more friendly. With these two new functions developers no longer have to resort to using QStringList and use the deprecated QProcess::setEnvironment() method. New methods: - QStringList QProcessEnvironment::keys() - void QProcessEnvironment::insert(const QProcessEnvironment &). Merge-request: 1152 Reviewed-by: ossi Reviewed-by: thiago
Diffstat (limited to 'tests/auto/qprocessenvironment')
-rw-r--r--tests/auto/qprocessenvironment/tst_qprocessenvironment.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/auto/qprocessenvironment/tst_qprocessenvironment.cpp b/tests/auto/qprocessenvironment/tst_qprocessenvironment.cpp
index ea06295f06..1c26343e74 100644
--- a/tests/auto/qprocessenvironment/tst_qprocessenvironment.cpp
+++ b/tests/auto/qprocessenvironment/tst_qprocessenvironment.cpp
@@ -56,6 +56,8 @@ private slots:
void insert();
void emptyNull();
void toStringList();
+ void keys();
+ void insertEnv();
void caseSensitivity();
void systemEnvironment();
@@ -154,6 +156,58 @@ void tst_QProcessEnvironment::toStringList()
QVERIFY(result.contains("HELLO=World"));
}
+void tst_QProcessEnvironment::keys()
+{
+ QProcessEnvironment e;
+ QVERIFY(e.isEmpty());
+ QVERIFY(e.keys().isEmpty());
+
+ e.insert("FOO", "bar");
+ QStringList result = e.keys();
+ QCOMPARE(result.length(), 1);
+ QCOMPARE(result.at(0), QString("FOO"));
+
+ e.clear();
+ e.insert("BAZ", "");
+ result = e.keys();
+ QCOMPARE(result.at(0), QString("BAZ"));
+
+ e.insert("FOO", "bar");
+ e.insert("A", "bc");
+ e.insert("HELLO", "World");
+ result = e.keys();
+ QCOMPARE(result.length(), 4);
+
+ // order is not specified, so use contains()
+ QVERIFY(result.contains("FOO"));
+ QVERIFY(result.contains("BAZ"));
+ QVERIFY(result.contains("A"));
+ QVERIFY(result.contains("HELLO"));
+}
+
+void tst_QProcessEnvironment::insertEnv()
+{
+ QProcessEnvironment e;
+ e.insert("FOO", "bar");
+ e.insert("A", "bc");
+ e.insert("Hello", "World");
+
+ QProcessEnvironment e2;
+ e2.insert("FOO2", "bar2");
+ e2.insert("A2", "bc2");
+ e2.insert("Hello", "Another World");
+
+ e.insert(e2);
+ QStringList keys = e.keys();
+ QCOMPARE(keys.length(), 5);
+
+ QCOMPARE(e.value("FOO"), QString("bar"));
+ QCOMPARE(e.value("A"), QString("bc"));
+ QCOMPARE(e.value("Hello"), QString("Another World"));
+ QCOMPARE(e.value("FOO2"), QString("bar2"));
+ QCOMPARE(e.value("A2"), QString("bc2"));
+}
+
void tst_QProcessEnvironment::caseSensitivity()
{
QProcessEnvironment e;