aboutsummaryrefslogblamecommitdiffstats
path: root/Godeps/_workspace/src/github.com/obscuren/otto/cmpl_test.go
blob: 01ee86e17b324924b6c63348c3c487834cf1012d (plain) (tree)





















































                                                                                      
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;
            }
        `)
    })
}