aboutsummaryrefslogtreecommitdiffstats
path: root/Godeps/_workspace/src/github.com/obscuren/otto/script_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'Godeps/_workspace/src/github.com/obscuren/otto/script_test.go')
-rw-r--r--Godeps/_workspace/src/github.com/obscuren/otto/script_test.go76
1 files changed, 76 insertions, 0 deletions
diff --git a/Godeps/_workspace/src/github.com/obscuren/otto/script_test.go b/Godeps/_workspace/src/github.com/obscuren/otto/script_test.go
new file mode 100644
index 000000000..1a25b8a95
--- /dev/null
+++ b/Godeps/_workspace/src/github.com/obscuren/otto/script_test.go
@@ -0,0 +1,76 @@
+package otto
+
+import (
+ "testing"
+)
+
+func TestScript(t *testing.T) {
+ tt(t, func() {
+ return
+
+ vm := New()
+
+ script, err := vm.Compile("xyzzy", `var abc; if (!abc) abc = 0; abc += 2; abc;`)
+ is(err, nil)
+
+ str := script.String()
+ is(str, "// xyzzy\nvar abc; if (!abc) abc = 0; abc += 2; abc;")
+
+ value, err := vm.Run(script)
+ is(err, nil)
+ is(value, 2)
+
+ tmp, err := script.marshalBinary()
+ is(err, nil)
+ is(len(tmp), 1228)
+
+ {
+ script := &Script{}
+ err = script.unmarshalBinary(tmp)
+ is(err, nil)
+
+ is(script.String(), str)
+
+ value, err = vm.Run(script)
+ is(err, nil)
+ is(value, 4)
+
+ tmp, err = script.marshalBinary()
+ is(err, nil)
+ is(len(tmp), 1228)
+ }
+
+ {
+ script := &Script{}
+ err = script.unmarshalBinary(tmp)
+ is(err, nil)
+
+ is(script.String(), str)
+
+ value, err := vm.Run(script)
+ is(err, nil)
+ is(value, 6)
+
+ tmp, err = script.marshalBinary()
+ is(err, nil)
+ is(len(tmp), 1228)
+ }
+
+ {
+ version := scriptVersion
+ scriptVersion = "bogus"
+
+ script := &Script{}
+ err = script.unmarshalBinary(tmp)
+ is(err, "version mismatch")
+
+ is(script.String(), "// \n")
+ is(script.version, "")
+ is(script.program == nil, true)
+ is(script.filename, "")
+ is(script.src, "")
+
+ scriptVersion = version
+ }
+ })
+}