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); |
-})(); |