49 lines
914 B
Go
49 lines
914 B
Go
package otto
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestOttoError(t *testing.T) {
|
|
tt(t, func() {
|
|
vm := New()
|
|
|
|
_, err := vm.Run(`throw "Xyzzy"`)
|
|
is(err, "Xyzzy")
|
|
|
|
_, err = vm.Run(`throw new TypeError()`)
|
|
is(err, "TypeError")
|
|
|
|
_, err = vm.Run(`throw new TypeError("Nothing happens.")`)
|
|
is(err, "TypeError: Nothing happens.")
|
|
|
|
_, err = ToValue([]byte{})
|
|
is(err, "TypeError: invalid value (slice): missing runtime: [] ([]uint8)")
|
|
|
|
_, err = vm.Run(`
|
|
(function(){
|
|
return abcdef.length
|
|
})()
|
|
`)
|
|
is(err, "ReferenceError: 'abcdef' is not defined")
|
|
|
|
_, err = vm.Run(`
|
|
function start() {
|
|
}
|
|
|
|
start()
|
|
|
|
xyzzy()
|
|
`)
|
|
is(err, "ReferenceError: 'xyzzy' is not defined")
|
|
|
|
_, err = vm.Run(`
|
|
// Just a comment
|
|
|
|
xyzzy
|
|
`)
|
|
is(err, "ReferenceError: 'xyzzy' is not defined")
|
|
|
|
})
|
|
}
|