Skip to content

Commit 55d3fea

Browse files
committed
add is_flow to specs
1 parent dcbc23d commit 55d3fea

File tree

1 file changed

+38
-1
lines changed

1 file changed

+38
-1
lines changed

spec/flow_spec.moon

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
import Flow from require "lapis.flow"
2+
import Flow, is_flow from require "lapis.flow"
33

44
describe "lapis.flow", ->
55
local base_object
@@ -185,3 +185,40 @@ describe "lapis.flow", ->
185185

186186
assert.same {}, obj
187187
assert.same {[multiple]: {1, 2}}, f[MEMO_KEY]
188+
189+
describe "is_flow", ->
190+
it "returns false for nil", ->
191+
assert.false is_flow nil
192+
193+
it "returns false for false", ->
194+
assert.false is_flow false
195+
196+
it "returns true for Flow class", ->
197+
assert.true is_flow Flow
198+
199+
it "returns true for class extending Flow", ->
200+
class MyFlow extends Flow
201+
assert.true is_flow MyFlow
202+
203+
it "returns true for deeply nested Flow subclass", ->
204+
class FirstFlow extends Flow
205+
class SecondFlow extends FirstFlow
206+
class ThirdFlow extends SecondFlow
207+
208+
assert.true is_flow SecondFlow
209+
assert.true is_flow ThirdFlow
210+
211+
it "returns false for regular table", ->
212+
assert.false is_flow {}
213+
214+
it "returns false for regular class", ->
215+
class BaseClass
216+
class ChildClass extends BaseClass
217+
218+
assert.false is_flow BaseClass
219+
assert.false is_flow ChildClass
220+
221+
it "returns false when passing a Flow instance directly", ->
222+
class MyFlow extends Flow
223+
f = MyFlow {}
224+
assert.false is_flow f

0 commit comments

Comments
 (0)