35 lines
908 B
JavaScript
35 lines
908 B
JavaScript
|
// 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.
|
||
|
|
||
|
assertThrows(function() {
|
||
|
Object.getOwnPropertyDescriptor(null, 'x');
|
||
|
}, TypeError);
|
||
|
|
||
|
|
||
|
assertThrows(function() {
|
||
|
Object.getOwnPropertyDescriptor(undefined, 'x');
|
||
|
}, TypeError);
|
||
|
|
||
|
|
||
|
assertEquals({
|
||
|
configurable: false,
|
||
|
enumerable: false,
|
||
|
value: 3,
|
||
|
writable: false,
|
||
|
}, Object.getOwnPropertyDescriptor('abc', 'length'));
|
||
|
|
||
|
|
||
|
assertEquals({
|
||
|
configurable: false,
|
||
|
enumerable: true,
|
||
|
value: 'a',
|
||
|
writable: false,
|
||
|
}, Object.getOwnPropertyDescriptor('abc', 0));
|
||
|
|
||
|
|
||
|
assertSame(undefined, Object.getOwnPropertyDescriptor(42, 'x'));
|
||
|
assertSame(undefined, Object.getOwnPropertyDescriptor(true, 'x'));
|
||
|
assertSame(undefined, Object.getOwnPropertyDescriptor(false, 'x'));
|
||
|
assertSame(undefined, Object.getOwnPropertyDescriptor(Symbol(), 'x'));
|