123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- //jshint eqnull:true
- define(function () {
- "use strict";
- function assert (fn) {
- try {
- if (fn()) return;
- } catch (ex) {
- throw new Error("Error:\n" + ex + "in assertion:\n" + fn);
- }
- throw new Error("Assertion failed:\n" + fn);
- }
- assert(function () {
- return !("hasOwnProperty" in Object.create(null));
- });
- assert(function () {
- return Object.getPrototypeOf(Object.create(null)) === null;
- });
- assert(function () {
- var p = {};
- return Object.getPrototypeOf(Object.create(p)) === p;
- });
- assert(function () {
- var p = {x: 4, y: 5}, q = {x: 6};
- var r = Object.setPrototypeOf(q, p);
- return r === q &&
- q.x === 6 &&
- q.y === 5;
- });
- // assert(function () {
- // return new Function("return this")().Object === Object;
- // });
- // assert(function () {
- // return Object.create(new Function("return this")()).Object === Object;
- // });
- assert(function () {
- return typeof globalThis !== "undefined";
- });
- assert(function () {
- return globalThis.Object === Object;
- });
- assert(function () {
- return Object.create(globalThis).Object === Object;
- });
- assert(function () {
- return (function () {
- return this;
- }).apply(void 0) === void 0;
- });
- assert(function () {
- return (function () {
- return this;
- }).apply(null) === null;
- });
- assert(function () {
- return (function () {
- return this;
- }).apply(3) === 3;
- });
- assert(function () {
- return (function () {
- return this;
- }).apply("foo") === "foo";
- });
- assert(function () {
- return (function () {
- return this;
- }).apply(true) === true;
- });
- assert(function () {
- var o = Object.freeze({});
- try {
- o.foo = "bar";
- } catch (ex) {
- }
- return o.foo == null;
- });
- assert(function () {
- return typeof Promise === "function";
- });
- assert(function () {
- return typeof Promise.resolve === "function";
- });
- assert(function () {
- return typeof Promise.reject === "function";
- });
- assert(function () {
- return typeof new Promise(function () {
- }).then === "function";
- });
- });
|