aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authors-ol <s+removethis@s-ol.nu>2021-05-01 20:46:09 +0000
committers-ol <s+removethis@s-ol.nu>2025-03-02 14:24:49 +0000
commit495b2ac5abfdb1a75ad97277742fa44880834a12 (patch)
treeaeec647385e96a8b3832e0a910bfa35f85845bc1 /spec
parentrename array/struct modules to avoid name conflict (diff)
downloadalive-495b2ac5abfdb1a75ad97277742fa44880834a12.tar.gz
alive-495b2ac5abfdb1a75ad97277742fa44880834a12.zip
add thread-first/thread-last macro + spec
Diffstat (limited to 'spec')
-rw-r--r--spec/lang/thread_spec.moon25
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/lang/thread_spec.moon b/spec/lang/thread_spec.moon
new file mode 100644
index 0000000..aa30a1b
--- /dev/null
+++ b/spec/lang/thread_spec.moon
@@ -0,0 +1,25 @@
+import TestPilot from require 'spec.test_setup'
+import T, Struct, Array, Constant from require 'alv'
+
+describe "thread macros", ->
+ COPILOT = TestPilot ''
+
+ it "thread forward (->)", ->
+ rt = COPILOT\eval_once '
+ (import* math)
+ #((/ (+ 10 2) 2) = 6)
+ (-> 10
+ (+ 2)
+ (/ 2))'
+ assert.is.true rt\is_const!
+ assert.is.equal (Constant.num 6), rt.result
+
+ it "thread last forward (->>)", ->
+ rt = COPILOT\eval_once '
+ (import* math)
+ #((/ 10 (+ 2 3)) = 2)
+ (->> 3
+ (+ 2)
+ (/ 10))'
+ assert.is.true rt\is_const!
+ assert.is.equal (Constant.num 2), rt.result