]> git.donarmstrong.com Git - lilypond.git/blobdiff - input/regression/optional-args-predicate.ly
Imported Upstream version 2.16.0
[lilypond.git] / input / regression / optional-args-predicate.ly
diff --git a/input/regression/optional-args-predicate.ly b/input/regression/optional-args-predicate.ly
new file mode 100644 (file)
index 0000000..d50230f
--- /dev/null
@@ -0,0 +1,20 @@
+\version "2.16.0"
+
+\header{
+  texidoc= "Test predicate-based optional music function argument skipping."
+}
+
+\layout { ragged-right = ##t }
+
+test=#(define-scheme-function (parser location str int frac exp)
+       ((string? "def1") (integer? "def2") (number-pair? "def3") list?)
+       (if (not (equal? (list str int frac) exp))
+       (ly:parser-error parser
+        (format #f "Expected ~a, got ~a.\n" exp
+         (list str int frac))
+        location)))
+
+\test "a" #3 #'(3 . 4) #'("a" 3 (3 . 4))
+\test "a" #3 #'("a" 3 "def3")
+\test "a" #'("a" "def2" "def3")
+\test #'("def1" "def2" "def3")