| Index: test/mjsunit/es6/function-name-configurable.js
|
| diff --git a/test/mjsunit/es6/function-name-configurable.js b/test/mjsunit/es6/function-name-configurable.js
|
| deleted file mode 100644
|
| index f0ff406da86d0f0c39648ba4785eeede43c47cf0..0000000000000000000000000000000000000000
|
| --- a/test/mjsunit/es6/function-name-configurable.js
|
| +++ /dev/null
|
| @@ -1,115 +0,0 @@
|
| -// Copyright 2015 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.
|
| -
|
| -function getStrictF() {
|
| - 'use strict';
|
| - return function f() {};
|
| -}
|
| -
|
| -
|
| -function getSloppyF() {
|
| - return function f() {};
|
| -}
|
| -
|
| -
|
| -function test(testFunction) {
|
| - testFunction(getStrictF());
|
| - testFunction(getSloppyF());
|
| -}
|
| -
|
| -
|
| -function testDescriptor(f) {
|
| - var descr = Object.getOwnPropertyDescriptor(f, 'name');
|
| - assertTrue(descr.configurable);
|
| - assertFalse(descr.enumerable);
|
| - assertEquals('f', descr.value);
|
| - assertFalse(descr.writable);
|
| -}
|
| -test(testDescriptor);
|
| -
|
| -
|
| -function testSet(f) {
|
| - f.name = 'g';
|
| - assertEquals('f', f.name);
|
| -}
|
| -test(testSet);
|
| -
|
| -
|
| -function testSetStrict(f) {
|
| - 'use strict';
|
| - assertThrows(function() {
|
| - f.name = 'g';
|
| - }, TypeError);
|
| -}
|
| -test(testSetStrict);
|
| -
|
| -
|
| -function testReconfigureAsDataProperty(f) {
|
| - Object.defineProperty(f, 'name', {
|
| - value: 'g',
|
| - });
|
| - assertEquals('g', f.name);
|
| - Object.defineProperty(f, 'name', {
|
| - writable: true
|
| - });
|
| - f.name = 'h';
|
| - assertEquals('h', f.name);
|
| -
|
| - f.name = 42;
|
| - assertEquals(42, f.name);
|
| -}
|
| -test(testReconfigureAsDataProperty);
|
| -
|
| -
|
| -function testReconfigureAsAccessorProperty(f) {
|
| - var name = 'g';
|
| - Object.defineProperty(f, 'name', {
|
| - get: function() { return name; },
|
| - set: function(v) { name = v; }
|
| - });
|
| - assertEquals('g', f.name);
|
| - f.name = 'h';
|
| - assertEquals('h', f.name);
|
| -}
|
| -test(testReconfigureAsAccessorProperty);
|
| -
|
| -
|
| -function testFunctionToString(f) {
|
| - Object.defineProperty(f, 'name', {
|
| - value: {toString: function() { assertUnreachable(); }},
|
| - });
|
| - assertEquals('function f() {}', f.toString());
|
| -}
|
| -test(testFunctionToString);
|
| -
|
| -
|
| -(function testSetOnInstance() {
|
| - // This needs to come before testDelete below
|
| - assertTrue(Function.prototype.hasOwnProperty('name'));
|
| -
|
| - function f() {}
|
| - delete f.name;
|
| - assertEquals('Empty', f.name);
|
| -
|
| - f.name = 42;
|
| - assertEquals('Empty', f.name); // non writable prototype property.
|
| - assertFalse(f.hasOwnProperty('name'));
|
| -
|
| - Object.defineProperty(Function.prototype, 'name', {writable: true});
|
| -
|
| - f.name = 123;
|
| - assertTrue(f.hasOwnProperty('name'));
|
| - assertEquals(123, f.name);
|
| -})();
|
| -
|
| -
|
| -(function testDelete() {
|
| - function f() {}
|
| - assertTrue(delete f.name);
|
| - assertFalse(f.hasOwnProperty('name'));
|
| - assertEquals('Empty', f.name);
|
| -
|
| - assertTrue(delete Function.prototype.name);
|
| - assertEquals(undefined, f.name);
|
| -})();
|
|
|