summaryrefslogtreecommitdiff
path: root/checks/073.shift
diff options
context:
space:
mode:
Diffstat (limited to 'checks/073.shift')
-rw-r--r--checks/073.shift42
1 files changed, 42 insertions, 0 deletions
diff --git a/checks/073.shift b/checks/073.shift
new file mode 100644
index 0000000..365ab2f
--- /dev/null
+++ b/checks/073.shift
@@ -0,0 +1,42 @@
+dnl @ ../doc/m4.texinfo:2949: Origin of test
+dnl @ expected status: 0
+dnl @ extra options:
+dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software
+dnl @ Foundation, Inc.
+dnl @ This file is free software; the Free Software Foundation
+dnl @ gives unlimited permission to copy and/or distribute it
+dnl @ with or without modifications, as long as this notice
+dnl @ is preserved.
+define(`cond',
+`ifelse(`$#', `1', `$1',
+ `ifelse($1, `$2', `$3',
+ `$0(shift(shift(shift($@))))')')')dnl
+define(`side', `define(`counter', incr(counter))$1')dnl
+define(`example1',
+`define(`counter', `0')dnl
+ifelse(side(`$1'), `yes', `one comparison: ',
+ side(`$1'), `no', `two comparisons: ',
+ side(`$1'), `maybe', `three comparisons: ',
+ `side(`default answer: ')')counter')dnl
+define(`example2',
+`define(`counter', `0')dnl
+cond(`side(`$1')', `yes', `one comparison: ',
+ `side(`$1')', `no', `two comparisons: ',
+ `side(`$1')', `maybe', `three comparisons: ',
+ `side(`default answer: ')')counter')dnl
+example1(`yes')
+dnl @result{}one comparison: 3
+example1(`no')
+dnl @result{}two comparisons: 3
+example1(`maybe')
+dnl @result{}three comparisons: 3
+example1(`feeling rather indecisive today')
+dnl @result{}default answer: 4
+example2(`yes')
+dnl @result{}one comparison: 1
+example2(`no')
+dnl @result{}two comparisons: 2
+example2(`maybe')
+dnl @result{}three comparisons: 3
+example2(`feeling rather indecisive today')
+dnl @result{}default answer: 4