diff options
Diffstat (limited to 'Godeps/_workspace/src/github.com/obscuren/otto/cmpl_test.go')
-rw-r--r-- | Godeps/_workspace/src/github.com/obscuren/otto/cmpl_test.go | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Godeps/_workspace/src/github.com/obscuren/otto/cmpl_test.go b/Godeps/_workspace/src/github.com/obscuren/otto/cmpl_test.go new file mode 100644 index 000000000..01ee86e17 --- /dev/null +++ b/Godeps/_workspace/src/github.com/obscuren/otto/cmpl_test.go @@ -0,0 +1,54 @@ +package otto + +import ( + "testing" + + "github.com/robertkrimen/otto/parser" +) + +func Test_cmpl(t *testing.T) { + tt(t, func() { + vm := New() + + test := func(src string, expect ...interface{}) { + program, err := parser.ParseFile(nil, "", src, 0) + is(err, nil) + { + program := cmpl_parse(program) + value := vm.runtime.cmpl_evaluate_nodeProgram(program) + if len(expect) > 0 { + is(value, expect[0]) + } + } + } + + test(``, Value{}) + + test(`var abc = 1; abc;`, 1) + + test(`var abc = 1 + 1; abc;`, 2) + + test(`1 + 2;`, 3) + }) +} + +func TestParse_cmpl(t *testing.T) { + tt(t, func() { + + test := func(src string) { + program, err := parser.ParseFile(nil, "", src, 0) + is(err, nil) + is(cmpl_parse(program), "!=", nil) + } + + test(``) + + test(`var abc = 1; abc;`) + + test(` + function abc() { + return; + } + `) + }) +} |