summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tests/opam.scm11
1 files changed, 10 insertions, 1 deletions
diff --git a/tests/opam.scm b/tests/opam.scm
index ef61fbb5cc..ec2a668307 100644
--- a/tests/opam.scm
+++ b/tests/opam.scm
@@ -152,7 +152,11 @@ url {
     ("[make]" . (list-pat (var "make")))
     ("[\"make\"]" . (list-pat (string-pat "make")))
     ("[\n  a\n  b\n  c]" . (list-pat (var "a") (var "b") (var "c")))
-    ("[a   b     \"c\"]" . (list-pat (var "a") (var "b") (string-pat "c")))))
+    ("[a   b     \"c\"]" . (list-pat (var "a") (var "b") (string-pat "c")))
+    ;; complex lists
+    ("[(a & b)]" . (list-pat (choice-pat (group-pat (var "a") (var "b")))))
+    ("[(a | b & c)]" . (list-pat (choice-pat (var "a") (group-pat (var "b") (var "c")))))
+    ("[a (b | c) d]" . (list-pat (var "a") (choice-pat (var "b") (var "c")) (var "d")))))
 
 (test-opam-syntax
   "parse-dicts" dict
@@ -179,4 +183,9 @@ url {
     ("{ = \"1.0+beta19\" }" . (condition-eq
                                 (condition-string "1.0+beta19")))))
 
+(test-opam-syntax
+  "parse-comment" list-pat
+  '(("" . #f)
+    ("[#comment\n]" . list-pat)))
+
 (test-end "opam")