summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAndrey Orst <andreyorst@gmail.com>2020-11-08 21:13:47 +0300
committerAndrey Orst <andreyorst@gmail.com>2020-11-08 21:13:47 +0300
commit910bfcf768c2305a6885b0d1f491561d09ebd9ca (patch)
treecd88174ffdb222df8b61ecf68796452580d9dee4 /test
parentcf18cb390b2ba9ac852b52b22beb9fda0d4ab7d2 (diff)
feature(macros): add metadata macros, doc, and some tests
Diffstat (limited to 'test')
-rw-r--r--test/core.fnl6
-rw-r--r--test/fn.fnl76
-rw-r--r--test/macros.fnl27
-rw-r--r--test/test.fnl2
4 files changed, 51 insertions, 60 deletions
diff --git a/test/core.fnl b/test/core.fnl
index c05f2ec..557f042 100644
--- a/test/core.fnl
+++ b/test/core.fnl
@@ -1,6 +1,6 @@
-(import-macros {: fn*} :macros.fn)
-(import-macros {: into : defmethod : defmulti} :macros.core)
-(import-macros {: assert-eq : assert-ne : assert* : testing : deftest} :test.test)
+(require-macros :macros.fn)
+(require-macros :macros.core)
+(require-macros :test.test)
(local
{: apply
diff --git a/test/fn.fnl b/test/fn.fnl
index 7ea7c0a..44e280d 100644
--- a/test/fn.fnl
+++ b/test/fn.fnl
@@ -1,47 +1,49 @@
-(import-macros {: assert-eq : assert-ne : assert* : testing : deftest} :test.test)
-(import-macros {: meta} :macros.core)
+(require-macros :test.test)
+(require-macros :macros.core)
(local {: eq} (require :core)) ;; required for testing
-(import-macros {: fn* : fn&} :macros.fn)
+(require-macros :macros.fn)
(deftest fn*
- (testing fn*-meta
- (fn* f
- "docstring"
- [x] x)
- (assert-eq (meta f) {:fnl/docstring "docstring"
- :fnl/arglist ["x"]})
+ (when-meta
+ (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))
+ (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)))
+ (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]"]})))
+ (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"]})
+ (when-meta
+ (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 ["..."]})))
+ (fn& f "docstring" [...] [...])
+ (assert-eq (meta f) {:fnl/docstring "docstring"
+ :fnl/arglist ["..."]}))))
diff --git a/test/macros.fnl b/test/macros.fnl
index 6341433..638a29d 100644
--- a/test/macros.fnl
+++ b/test/macros.fnl
@@ -1,18 +1,7 @@
-(import-macros {: assert-eq : assert-ne : assert* : testing : deftest} :test.test)
+(require-macros :test.test)
(local {: eq : identity} (require :core)) ;; required for testing
-(import-macros
- {: if-let
- : when-let
- : if-some
- : when-some
- : into
- : defmethod
- : defmulti
- : defonce
- : def
- : meta
- : with-meta} :macros.core)
+(require-macros :macros.core)
(deftest into
(testing into
@@ -131,18 +120,18 @@
(deftest meta
(testing with-meta
- (assert-eq (meta (with-meta :a {:k :v})) {:k :v}))
+ (assert-eq (meta (with-meta :a {:k :v})) (when-meta {:k :v})))
(testing def-meta
(def {:doc "x"} x 10)
- (assert-eq (meta x) {:fnl/docstring "x"})
+ (assert-eq (meta x) (when-meta {:fnl/docstring "x"}))
(def {:doc "x" :dynamic true} x 10)
- (assert-eq (meta x) {:fnl/docstring "x"}))
+ (assert-eq (meta x) (when-meta {:fnl/docstring "x"})))
(testing defonce-meta
(defonce {:doc "x"} x 10)
- (assert-eq (meta x) {:fnl/docstring "x"})
+ (assert-eq (meta x) (when-meta {:fnl/docstring "x"}))
(defonce {:doc "y"} x 20)
- (assert-eq (meta x) {:fnl/docstring "x"})
+ (assert-eq (meta x) (when-meta {:fnl/docstring "x"}))
(defonce {:doc "y" :dynamic true} y 20)
- (assert-eq (meta y) {:fnl/docstring "y"})))
+ (assert-eq (meta y) (when-meta {:fnl/docstring "y"}))))
diff --git a/test/test.fnl b/test/test.fnl
index 4b40832..ff7c8bc 100644
--- a/test/test.fnl
+++ b/test/test.fnl
@@ -1,4 +1,4 @@
-(import-macros {: fn*} :macros.fn)
+(require-macros :macros.fn)
;; requires `eq' from core.fnl to be available at runtime
(fn* assert-eq