aboutsummaryrefslogtreecommitdiffstats
path: root/spec/lang/thread_spec.moon
blob: aa30a1b1af3a0eb2a15c06cb6820975771313716 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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