// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.

js> load('testsrc/doctests/util.js');

js> Object.getPrototypeOf;
function getPrototypeOf() { [native code for Object.getPrototypeOf, arity=1] }

js> expectTypeError(function() { Object.getPrototypeOf() })
js> [undefined, null, true, 1, 'hello'].forEach(function(value) { 
  >   expectTypeError(function() { Object.getPrototypeOf(value) }) 
  > })

js> [(function(){}), [], {}].every(function(obj) {
  >   return Object.getPrototypeOf(obj) === obj.__proto__;
  > });
true

js> function UserDefined() {}
js> [Date, UserDefined].every(function(type) {
  >   var instance;
  >   eval('instance = new '+type.name);
  >   return Object.getPrototypeOf(instance) === type.prototype;
  > });
true

