diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2019-11-03 16:35:31 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2019-11-03 16:35:31 +0000 |
| commit | 72e7dee17015295cc691fade5b3edefd9c5bf059 (patch) | |
| tree | 27778e3c222adaa35a74e0fd87f1898ada28bbae /spec | |
| parent | update examples, fixes (diff) | |
| download | watch-cad-72e7dee17015295cc691fade5b3edefd9c5bf059.tar.gz watch-cad-72e7dee17015295cc691fade5b3edefd9c5bf059.zip | |
test is_once and is_live
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/state_spec.moon | 46 |
1 files changed, 44 insertions, 2 deletions
diff --git a/spec/state_spec.moon b/spec/state_spec.moon index 5826067..e63a595 100644 --- a/spec/state_spec.moon +++ b/spec/state_spec.moon @@ -1,11 +1,11 @@ -import Once, State from require 'state' +import is_once, is_live, Once, Cursor, State from require 'state' describe "Once", -> it "stores a value", -> a = Once 3 assert.is.equal 3, a.value - it "can test for itself", -> + it "can identify instances", -> assert.is_true Once.is_once Once 3 assert.is_true Once.is_once Once 2 assert.is_true Once.is_once Once nil @@ -17,6 +17,40 @@ describe "Once", -> assert.is_falsy Once.is_once "once impostor" assert.is_falsy Once.is_once { a: 3 } +describe "is_once", -> + it "returns false for live or nil values", -> + assert.is_false is_once "string" + assert.is_false is_once {} + assert.is_false is_once 3 + assert.is_false is_once nil + assert.is_false is_once false + + it "unwraps Once values", -> + tbl = {} + assert.is_equal 3, is_once Once 3 + assert.is_equal tbl, is_once Once tbl + assert.is_equal "str", is_once Once "str" + assert.is_equal false, is_once Once false + assert.is_equal nil, is_once Once nil + +describe "is_live", -> + it "returns false for Once values", -> + assert.is_false is_live Once "string" + assert.is_false is_live Once {} + assert.is_false is_live Once 3 + assert.is_false is_live Once nil + assert.is_false is_live Once false + + it "passes live values through", -> + tbl = {} + assert.is_equal 3, is_live 3 + assert.is_equal tbl, is_live tbl + assert.is_equal "str", is_live "str" + assert.is_equal "str", is_live "str" + assert.is_equal false, is_live false + assert.is_equal nil, is_live nil + + describe "State", -> local state before_each -> @@ -115,3 +149,11 @@ describe "State", -> assert.is_equal 'initial', cursor\drive Once 'other' assert.is_equal 'live in', cursor\drive 'live in' + it "can identify instances", -> + assert.is_true Cursor.is_cursor state.root + assert.is_true Cursor.is_cursor state.root.deep.nested + + assert.is_false Cursor.is_cursor state + assert.is_false Cursor.is_cursor nil + assert.is_false Cursor.is_cursor 2 + assert.is_false Cursor.is_cursor "test" |
