summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/ChangeLog4
-rw-r--r--tests/scripts/functions/word39
2 files changed, 42 insertions, 1 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog
index f1c59d6..8cc25db 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,7 @@
+2004-10-21 Boris Kolpackov <boris@kolpackov.net>
+
+ * scripts/functions/word: Test $(firstword ) and $(lastword ).
+
2004-10-05 Boris Kolpackov <boris@kolpackov.net>
* scripts/features/patspecific_vars: Test simple/recursive
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;