summaryrefslogtreecommitdiffstats
path: root/tests/auto/tools/qmakelib/evaltest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/tools/qmakelib/evaltest.cpp')
-rw-r--r--tests/auto/tools/qmakelib/evaltest.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/auto/tools/qmakelib/evaltest.cpp b/tests/auto/tools/qmakelib/evaltest.cpp
index 4642c822bc..69ccf4858f 100644
--- a/tests/auto/tools/qmakelib/evaltest.cpp
+++ b/tests/auto/tools/qmakelib/evaltest.cpp
@@ -742,6 +742,30 @@ void tst_qmakelib::addReplaceFunctions(const QString &qindir)
<< "##:1: first(var) requires one argument."
<< true;
+ QTest::newRow("$$take_first(): empty")
+ << "IN = \nVAR = $$take_first(IN)"
+ << "VAR =\nIN ="
+ << ""
+ << true;
+
+ QTest::newRow("$$take_first(): one")
+ << "IN = one\nVAR = $$take_first(IN)"
+ << "VAR = one\nIN ="
+ << ""
+ << true;
+
+ QTest::newRow("$$take_first(): multiple")
+ << "IN = one two three\nVAR = $$take_first(IN)"
+ << "VAR = one\nIN = two three"
+ << ""
+ << true;
+
+ QTest::newRow("$$take_first(): bad number of arguments")
+ << "VAR = $$take_first(1, 2)"
+ << "VAR ="
+ << "##:1: take_first(var) requires one argument."
+ << true;
+
QTest::newRow("$$last(): empty")
<< "IN = \nVAR = $$last(IN)"
<< "VAR ="
@@ -766,6 +790,30 @@ void tst_qmakelib::addReplaceFunctions(const QString &qindir)
<< "##:1: last(var) requires one argument."
<< true;
+ QTest::newRow("$$take_last(): empty")
+ << "IN = \nVAR = $$take_last(IN)"
+ << "VAR =\nIN ="
+ << ""
+ << true;
+
+ QTest::newRow("$$take_last(): one")
+ << "IN = one\nVAR = $$take_last(IN)"
+ << "VAR = one\nIN ="
+ << ""
+ << true;
+
+ QTest::newRow("$$take_last(): multiple")
+ << "IN = one two three\nVAR = $$take_last(IN)"
+ << "VAR = three\nIN = one two"
+ << ""
+ << true;
+
+ QTest::newRow("$$take_last(): bad number of arguments")
+ << "VAR = $$take_last(1, 2)"
+ << "VAR ="
+ << "##:1: take_last(var) requires one argument."
+ << true;
+
QTest::newRow("$$size()")
<< "IN = one two three\nVAR = $$size(IN)"
<< "VAR = 3"