aboutsummaryrefslogtreecommitdiffstats
path: root/Godeps/_workspace/src/github.com/robertkrimen/otto/panic_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'Godeps/_workspace/src/github.com/robertkrimen/otto/panic_test.go')
-rw-r--r--Godeps/_workspace/src/github.com/robertkrimen/otto/panic_test.go40
1 files changed, 40 insertions, 0 deletions
diff --git a/Godeps/_workspace/src/github.com/robertkrimen/otto/panic_test.go b/Godeps/_workspace/src/github.com/robertkrimen/otto/panic_test.go
new file mode 100644
index 000000000..06f0a64fc
--- /dev/null
+++ b/Godeps/_workspace/src/github.com/robertkrimen/otto/panic_test.go
@@ -0,0 +1,40 @@
+package otto
+
+import (
+ "testing"
+)
+
+func Test_panic(t *testing.T) {
+ tt(t, func() {
+ test, _ := test()
+
+ // Test that property.value is set to something if writable is set
+ // to something
+ test(`
+ var abc = [];
+ Object.defineProperty(abc, "0", { writable: false });
+ Object.defineProperty(abc, "0", { writable: false });
+ "0" in abc;
+ `, true)
+
+ test(`raise:
+ var abc = [];
+ Object.defineProperty(abc, "0", { writable: false });
+ Object.defineProperty(abc, "0", { value: false, writable: false });
+ `, "TypeError")
+
+ // Test that a regular expression can contain \c0410 (CYRILLIC CAPITAL LETTER A)
+ // without panicking
+ test(`
+ var abc = 0x0410;
+ var def = String.fromCharCode(abc);
+ new RegExp("\\c" + def).exec(def);
+ `, "null")
+
+ // Test transforming a transformable regular expression without a panic
+ test(`
+ new RegExp("\\u0000");
+ new RegExp("\\undefined").test("undefined");
+ `, true)
+ })
+}