blob: 7ea7c0a91b9814b8ad4c5d7935d27409e384ce0a (
plain) (
blame)
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
(import-macros {: assert-eq : assert-ne : assert* : testing : deftest} :test.test)
(import-macros {: meta} :macros.core)
(local {: eq} (require :core)) ;; required for testing
(import-macros {: fn* : fn&} :macros.fn)
(deftest fn*
(testing fn*-meta
(fn* f
"docstring"
[x] x)
(assert-eq (meta f) {:fnl/docstring "docstring"
:fnl/arglist ["x"]})
(fn* f
"docstring"
([x] x))
(assert-eq (meta f) {:fnl/docstring "docstring"
:fnl/arglist ["x"]})
(fn* f
"docstring"
([x] x)
([x y] (+ x y)))
(assert-eq (meta f) {:fnl/docstring "docstring"
:fnl/arglist ["\n [x]"
"\n [x y]"]})
(fn* f
"docstring"
([x] x)
([x y] (+ x y))
([x y & z] (+ x y)))
(assert-eq (meta f) {:fnl/docstring "docstring"
:fnl/arglist ["\n [x]"
"\n [x y]"
"\n [x y & z]"]})))
(deftest fn&
(testing fn&-meta
(fn& f "docstring" [x] x)
(assert-eq (meta f) {:fnl/docstring "docstring"
:fnl/arglist ["x"]})
(fn& f "docstring" [...] [...])
(assert-eq (meta f) {:fnl/docstring "docstring"
:fnl/arglist ["..."]})))
|