summaryrefslogtreecommitdiffstats
path: root/tests/012/case.tl
blob: 856ac56c19ba1d4f5f71e4c5959bf8d4a0735316 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
(load "../common")

(mtest
  (caseq 0 (1 :match)) nil
  (caseq 0 ((1) :match)) nil
  (caseq 1 (1 :match)) :match
  (caseq 1 ((1) :match)) :match
  (caseq 1 ((0 1) :match)) :match
  (caseq 1 ((0 2) :match)) nil
  (caseq 1 (t :match)) :match
  (caseq 1 ((t) :match)) nil
  (caseq t ((t) :match)) :match)

(defvar o 1)
(defvar y t)

(mtest
  (caseq* 0 (o :match)) nil
  (caseq* 0 ((o) :match)) nil
  (caseq* 1 (o :match)) :match
  (caseq* 1 ((o) :match)) :match
  (caseq* 1 ((0 o) :match)) :match
  (caseq* 1 ((0 2) :match)) nil
  (caseq* 1 (t :match)) :match
  (caseq* 1 (y :match)) nil
  (caseq* 1 ((t) :match)) nil
  (caseq* t ((t) :match)) :match
  (caseq* t ((y) :match)) :match)

(test (casequal '(a b c d)
        (((a b c d)) :match))
      :match)