diff options
Diffstat (limited to 'deps/v8/test/mjsunit/web-snapshot/web-snapshot-class.js')
-rw-r--r-- | deps/v8/test/mjsunit/web-snapshot/web-snapshot-class.js | 177 |
1 files changed, 0 insertions, 177 deletions
diff --git a/deps/v8/test/mjsunit/web-snapshot/web-snapshot-class.js b/deps/v8/test/mjsunit/web-snapshot/web-snapshot-class.js deleted file mode 100644 index 5b3ecc08ca..0000000000 --- a/deps/v8/test/mjsunit/web-snapshot/web-snapshot-class.js +++ /dev/null @@ -1,177 +0,0 @@ -// Copyright 2022 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-d8-web-snapshot-api --allow-natives-syntax --verify-heap - -'use strict'; - -d8.file.execute('test/mjsunit/web-snapshot/web-snapshot-helpers.js'); - -(function TestEmptyClass() { - function createObjects() { - globalThis.Foo = class Foo { }; - } - const { Foo } = takeAndUseWebSnapshot(createObjects, ['Foo']); - const x = new Foo(); -})(); - -(function TestClassWithConstructor() { - function createObjects() { - globalThis.Foo = class { - constructor() { - this.n = 42; - } - }; - } - const { Foo } = takeAndUseWebSnapshot(createObjects, ['Foo']); - const x = new Foo(2); - assertEquals(42, x.n); -})(); - -(function TestClassWithMethods() { - function createObjects() { - globalThis.Foo = class { - f() { return 7; }; - }; - } - const { Foo } = takeAndUseWebSnapshot(createObjects, ['Foo']); - const x = new Foo(); - assertEquals(7, x.f()); -})(); - -(function TestDerivedClass() { - function createObjects() { - globalThis.Base = class { f() { return 8; }}; - globalThis.Foo = class extends Base { }; - } - const realm = Realm.create(); - const { Foo, Base } = takeAndUseWebSnapshot(createObjects, ['Foo', 'Base'], realm); - assertEquals(Base.prototype, Foo.prototype.__proto__); - assertEquals(Base, Foo.__proto__); - const x = new Foo(); - assertEquals(8, x.f()); -})(); - -(function TestDerivedClassWithConstructor() { - function createObjects() { - globalThis.Base = class { constructor() {this.m = 43;}}; - globalThis.Foo = class extends Base{ - constructor() { - super(); - this.n = 42; - } - }; - } - const { Foo } = takeAndUseWebSnapshot(createObjects, ['Foo']); - const x = new Foo(); - assertEquals(42, x.n); - assertEquals(43, x.m); -})(); - -(async function TestClassWithAsyncMethods() { - function createObjects() { - globalThis.Foo = class { - async g() { return 6; }; - }; - } - const { Foo } = takeAndUseWebSnapshot(createObjects, ['Foo']); - const x = new Foo(); - assertEquals(6, await x.g()); -})(); - -(function TestClassWithProperties() { - function createObjects() { - globalThis.Foo = class Foo { }; - Foo.key1 = 'value1'; - Foo.key2 = 1; - Foo.key3 = 2.2; - Foo.key4 = function key4() { - return 'key4'; - } - Foo.key5 = [1, 2]; - Foo.key6 = {'key':'value'} - } - const { Foo } = takeAndUseWebSnapshot(createObjects, ['Foo']); - assertEquals('value1', Foo.key1); - assertEquals(1, Foo.key2); - assertEquals(2.2, Foo.key3); - assertEquals('key4', Foo.key4()); - assertEquals([1, 2], Foo.key5); - assertEquals({ 'key': 'value' }, Foo.key6 ); -})(); - -(function TestClassWithStaticProperties() { - function createObjects() { - globalThis.Foo = class Foo { - static key1 = 'value1'; - static key2 = 1; - static key3 = 2.2; - static key4 = [1, 2]; - static key5 = {'key':'value'} - }; - } - const { Foo } = takeAndUseWebSnapshot(createObjects, ['Foo']); - assertEquals('value1', Foo.key1); - assertEquals(1, Foo.key2); - assertEquals(2.2, Foo.key3); - assertEquals([1, 2], Foo.key4); - assertEquals({'key': 'value'}, Foo.key5); -})(); - -(function TestClassWithStaticMethods() { - function createObjects() { - globalThis.Foo = class Foo { - static foo() { - return 'foo' - } - }; - } - const { Foo } = takeAndUseWebSnapshot(createObjects, ['Foo']); - assertEquals('foo', Foo.foo()); -})(); - -(async function TestClassWithStaticAsyncMethods() { - function createObjects() { - globalThis.Foo = class Foo { - static async foo() { - await Promise.resolve(1); - return 'foo' - } - }; - } - const { Foo } = takeAndUseWebSnapshot(createObjects, ['Foo']); - assertEquals('foo', await Foo.foo()); -})(); - -(function TestClassWithStaticGeneratorMethods() { - function createObjects() { - globalThis.Foo = class Foo { - static *foo() { - yield 'foo1' - return 'foo2' - } - }; - } - const { Foo } = takeAndUseWebSnapshot(createObjects, ['Foo']); - const foo = Foo.foo() - assertEquals('foo1', foo.next().value); - assertEquals('foo2', foo.next().value); - assertEquals(true, foo.next().done); -})(); - -(async function TestClassWithStaticAsyncGeneratorMethods() { - function createObjects() { - globalThis.Foo = class Foo { - static async *foo() { - yield 'foo1' - return 'foo2' - } - }; - } - const { Foo } = takeAndUseWebSnapshot(createObjects, ['Foo']); - const foo = Foo.foo() - assertEquals('foo1', (await foo.next()).value); - assertEquals('foo2', (await foo.next()).value); - assertEquals(true, (await foo.next()).done); -})(); |