diff options
Diffstat (limited to 'spec/ast_spec.moon')
| -rw-r--r-- | spec/ast_spec.moon | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/spec/ast_spec.moon b/spec/ast_spec.moon new file mode 100644 index 0000000..402ce03 --- /dev/null +++ b/spec/ast_spec.moon @@ -0,0 +1,15 @@ +import Atom, Xpr from require 'ast' + +describe 'Xpr', -> + it 'can be walked', -> + aa = Xpr { '', (Atom '1', '', 1), '' } + ab = Xpr { '', (Atom '2', '', 2), '' } + ac = Xpr { '', (Atom '3', '', 3), '' } + b = Xpr { '', aa, ' ', ab, '' } + + root = Xpr { '', ac, ' ', b, '' }, 'naked' + + iter = root\walk_sexpr! + for res in *{ ac, b, aa, ab } + assert.is.equal res, iter! + assert.is.nil iter! |
