go.ketch.com/lib/goja@v0.0.1/builtin_weakmap_test.go (about) 1 package goja 2 3 import ( 4 "testing" 5 ) 6 7 func TestWeakMap(t *testing.T) { 8 vm := New() 9 _, err := vm.RunString(` 10 var m = new WeakMap(); 11 var m1 = new WeakMap(); 12 var key = {}; 13 m.set(key, true); 14 m1.set(key, false); 15 if (!m.has(key)) { 16 throw new Error("has"); 17 } 18 if (m.get(key) !== true) { 19 throw new Error("value does not match"); 20 } 21 if (!m1.has(key)) { 22 throw new Error("has (m1)"); 23 } 24 if (m1.get(key) !== false) { 25 throw new Error("m1 value does not match"); 26 } 27 m.delete(key); 28 if (m.has(key)) { 29 throw new Error("m still has after delete"); 30 } 31 if (!m1.has(key)) { 32 throw new Error("m1 does not have after delete from m"); 33 } 34 `) 35 if err != nil { 36 t.Fatal(err) 37 } 38 }