diff options
Diffstat (limited to 'tests/fn.fnl')
| -rw-r--r-- | tests/fn.fnl | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/tests/fn.fnl b/tests/fn.fnl index 40dda8b..5697aab 100644 --- a/tests/fn.fnl +++ b/tests/fn.fnl @@ -61,16 +61,24 @@ (testing "fn* methods" (local ns {:a 1 :b 2}) - (fn* ns:foo [self] + (fn* ns:foo [] (+ self.a self.b)) (assert-eq (ns:foo) 3) (assert-not (pcall #(ns:foo 1))) (assert-not (pcall #(ns:foo 1 2))) (fn* ns:bar - ([self x] (+ self.a x)) - ([self x y] (+ self.b x y))) + ([x] (+ self.a x)) + ([x y] (+ self.b x y))) (assert-eq (ns:bar -1) 0) (assert-eq (ns:bar 10 20) 32) (assert-not (pcall #(ns:bar))) - (assert-not (pcall #(ns:bar 1 2 3))))) + (assert-not (pcall #(ns:bar 1 2 3)))) + + (testing "fn* anonymous calls" + (assert-eq ((fn* [])) (values)) + (assert-eq ((fn* [] nil)) nil) + (assert-eq ((fn* [x] x) 5) 5) + (assert-eq ((fn* [a b c d e] [e d c b a]) 1 2 3 4 5) [5 4 3 2 1]) + (assert-eq ((fn* ([x] x) ([x y] [y x])) 10) 10) + (assert-eq ((fn* ([x] x) ([x y] [y x])) 10 20) [20 10]))) |