node/deps/v8/test/mjsunit/wasm/user-properties-common.js
Ujjwal Sharma f579e11940 deps: update V8 to 7.4.288.13
PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:36:18 -04:00

52 lines
1.2 KiB
JavaScript

// Copyright 2017 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: --expose-wasm --expose-gc --verify-heap
load("test/mjsunit/wasm/wasm-module-builder.js");
const verifyHeap = gc;
let globalCounter = 10000000;
function testProperties(obj) {
for (let i = 0; i < 3; i++) {
obj.x = 1001;
assertEquals(1001, obj.x);
obj.y = "old";
assertEquals("old", obj.y);
delete obj.y;
assertEquals("undefined", typeof obj.y);
let uid = globalCounter++;
let fresh = "f_" + uid;
obj.z = fresh;
assertEquals(fresh, obj.z);
obj[fresh] = uid;
assertEquals(uid, obj[fresh]);
verifyHeap();
assertEquals(1001, obj.x);
assertEquals(fresh, obj.z);
assertEquals(uid, obj[fresh]);
}
// These properties are special for JSFunctions.
Object.defineProperty(obj, 'name', {value: "crazy"});
Object.defineProperty(obj, 'length', {value: 999});
}
function minus18(x) { return x - 18; }
function id(x) { return x; }
function printName(when, f) {
print(" " + when + ": name=" + f.name + ", length=" + f.length);
}
// Note that this test is a helper with common code for user-properties-*.js.