summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAndrey Orst <andreyorst@gmail.com>2020-11-13 18:59:16 +0300
committerAndrey Orst <andreyorst@gmail.com>2020-11-13 18:59:16 +0300
commite7bfab5be155878b9850e6c5986631133aa866c1 (patch)
tree8e996a0e1acb38d0b0f94a58c7007c82ce77d8e4 /tests
parent7556afb32edacd532758d25651dfea2a4f94655a (diff)
feature(core): remove macros from core (for loading with macros)
Diffstat (limited to 'tests')
-rw-r--r--tests/core.fnl71
1 files changed, 9 insertions, 62 deletions
diff --git a/tests/core.fnl b/tests/core.fnl
index 5fef66d..992627d 100644
--- a/tests/core.fnl
+++ b/tests/core.fnl
@@ -1,68 +1,15 @@
(require-macros :cljlib-macros)
(require-macros :tests.test)
-(local
- {: vector
- : hash-map
- : apply
- : seq
- : first
- : rest
- : last
- : butlast
- : conj
- : cons
- : concat
- : reduce
- : reduce-kv
- : mapv
- : filter
- : map?
- : seq?
- : nil?
- : zero?
- : pos?
- : neg?
- : even?
- : odd?
- : int?
- : pos-int?
- : neg-int?
- : double?
- : string?
- : boolean?
- : false?
- : true?
- : empty?
- : not-empty
- : eq
- : identity
- : comp
- : every?
- : some
- : not-any?
- : complement
- : constantly
- : range
- : reverse
- : inc
- : dec
- : assoc
- : get
- : get-in
- : get-method
- : methods
- : remove-method
- : remove-all-methods
- : add
- : sub
- : mul
- : div
- : le
- : ge
- : lt
- : gt}
- (require :cljlib))
+(macro require-module [module]
+ "Require module and bind all it's functions to locals."
+ `(local ,(let [destr-map# {}]
+ (each [k# _# (pairs (require module))]
+ (tset destr-map# k# (sym k#)))
+ destr-map#)
+ (require ,module)))
+
+(require-module :cljlib)
(deftest equality
(testing "comparing basetypes"