summaryrefslogtreecommitdiff
path: root/tests/fn.fnl
diff options
context:
space:
mode:
authorAndrey Orst <andreyorst@gmail.com>2020-11-12 19:25:57 +0300
committerAndrey Orst <andreyorst@gmail.com>2020-11-12 19:25:57 +0300
commita1851986383148593ca85675d3dafd1e8517481a (patch)
treea99dbf637b2f5fb6f1465695eee71a9d008fd80e /tests/fn.fnl
parent32f268f51538bd4c26d9da337e01d3df39ea2f2e (diff)
fix(CI): overhaul
Diffstat (limited to 'tests/fn.fnl')
-rw-r--r--tests/fn.fnl44
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/fn.fnl b/tests/fn.fnl
new file mode 100644
index 0000000..e508541
--- /dev/null
+++ b/tests/fn.fnl
@@ -0,0 +1,44 @@
+(require-macros :tests.test)
+(require-macros :cljlib-macros)
+
+(deftest fn*
+ (testing "fn* meta"
+ (fn* f
+ "docstring"
+ [x] x)
+ (assert-eq (meta f) (when-meta {:fnl/docstring "docstring"
+ :fnl/arglist ["x"]}))
+
+ (fn* f
+ "docstring"
+ ([x] x))
+ (assert-eq (meta f) (when-meta {:fnl/docstring "docstring"
+ :fnl/arglist ["x"]}))
+
+ (fn* f
+ "docstring"
+ ([x] x)
+ ([x y] (+ x y)))
+ (assert-eq (meta f) (when-meta {: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) (when-meta {: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) (when-meta {:fnl/docstring "docstring"
+ :fnl/arglist ["x"]}))
+
+ (fn& f "docstring" [...] [...])
+ (assert-eq (meta f) (when-meta {:fnl/docstring "docstring"
+ :fnl/arglist ["..."]}))))