summary refs log tree commit diff
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2020-10-02 00:28:30 +0200
committerJulien Lepiller <julien@lepiller.eu>2020-10-02 00:44:14 +0200
commit23dc21f05b54ef63daaea9eb301cfddbc4c82ddb (patch)
tree0db55f24a853cb12bee2839b0d2976d06b42d418
parenta6816618fc1e48417a64c5f8ca67e3d64ebc5441 (diff)
downloadguix-23dc21f05b54ef63daaea9eb301cfddbc4c82ddb.tar.gz
tests: opam: Test additional syntax.
* tests/opam.scm (test-comment): New test.
(test-lists): Add more tests for complex list patterns.
-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")