summaryrefslogtreecommitdiff
path: root/unit-tests/varmod-unique.mk
diff options
context:
space:
mode:
Diffstat (limited to 'unit-tests/varmod-unique.mk')
-rw-r--r--unit-tests/varmod-unique.mk39
1 files changed, 39 insertions, 0 deletions
diff --git a/unit-tests/varmod-unique.mk b/unit-tests/varmod-unique.mk
new file mode 100644
index 0000000000000..ea46987649470
--- /dev/null
+++ b/unit-tests/varmod-unique.mk
@@ -0,0 +1,39 @@
+# $NetBSD: varmod-unique.mk,v 1.4 2020/08/31 17:41:38 rillig Exp $
+#
+# Tests for the :u variable modifier, which discards adjacent duplicate
+# words.
+
+.if ${:U1 2 1:u} != "1 2 1"
+. warning The :u modifier only merges _adjacent_ duplicate words.
+.endif
+
+.if ${:U1 2 2 3:u} != "1 2 3"
+. warning The :u modifier must merge adjacent duplicate words.
+.endif
+
+.if ${:U:u} != ""
+. warning The :u modifier must do nothing with an empty word list.
+.endif
+
+.if ${:U1:u} != "1"
+. warning The :u modifier must do nothing with a single-element word list.
+.endif
+
+.if ${:U1 1 1 1 1 1 1 1:u} != "1"
+. warning The :u modifier must merge _all_ adjacent duplicate words.
+.endif
+
+.if ${:U 1 2 1 1 :u} != "1 2 1"
+. warning The :u modifier must normalize whitespace between the words.
+.endif
+
+.if ${:U1 1 1 1 2:u} != "1 2"
+. warning Duplicate words at the beginning must be merged.
+.endif
+
+.if ${:U1 2 2 2 2:u} != "1 2"
+. warning Duplicate words at the end must be merged.
+.endif
+
+all:
+ @:;