// 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'));