// Copyright 2019 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Flags: --experimental-wasm-anyref load("test/mjsunit/wasm/wasm-module-builder.js"); (function TestAnyRefTableSetWithMultipleTypes() { print(arguments.callee.name); let table = new WebAssembly.Table({element: "anyref", initial: 10}); // Table should be initialized with null. assertEquals(null, table.get(1)); let obj = {'hello' : 'world'}; table.set(2, obj); assertSame(obj, table.get(2)); table.set(3, 1234); assertEquals(1234, table.get(3)); table.set(4, 123.5); assertEquals(123.5, table.get(4)); table.set(5, undefined); assertEquals(undefined, table.get(5)); // Overwrite entry 4, because null would otherwise be the default value. table.set(4, null); assertEquals(null, table.get(4)); table.set(7, print); assertEquals(print, table.get(7)); assertThrows(() => table.set(12), RangeError); })();