summaryrefslogtreecommitdiff
path: root/tests/scripts/functions
diff options
context:
space:
mode:
Diffstat (limited to 'tests/scripts/functions')
-rw-r--r--tests/scripts/functions/word39
1 files changed, 38 insertions, 1 deletions
diff --git a/tests/scripts/functions/word b/tests/scripts/functions/word
index 5083cec..398cd65 100644
--- a/tests/scripts/functions/word
+++ b/tests/scripts/functions/word
@@ -1,5 +1,6 @@
# -*-perl-*-
-$description = "Test the word, words, and wordlist functions.\n";
+$description = "\
+Test the word, words, wordlist, firstword, and lastword functions.\n";
$details = "\
Produce a variable with a large number of words in it,
@@ -87,5 +88,41 @@ $answer = "$makefile2:8: *** non-numeric first argument to `wordlist' function:
$answer = "$makefile2:9: *** non-numeric second argument to `wordlist' function: ' 12a '. Stop.\n";
&compare_output($answer, &get_logfile(1));
+
+# TEST #8 -- test $(firstword )
+#
+run_make_test('
+void :=
+list := $(void) foo bar baz #
+
+a := $(word 1,$(list))
+b := $(firstword $(list))
+
+.PHONY: all
+
+all:
+ @test "$a" = "$b" && echo $a
+',
+'',
+'foo');
+
+
+# TEST #9 -- test $(lastword )
+#
+run_make_test('
+void :=
+list := $(void) foo bar baz #
+
+a := $(word $(words $(list)),$(list))
+b := $(lastword $(list))
+
+.PHONY: all
+
+all:
+ @test "$a" = "$b" && echo $a
+',
+'',
+'baz');
+
# This tells the test driver that the perl test script executed properly.
1;