michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: michael@0: /* michael@0: * Any copyright is dedicated to the Public Domain. michael@0: * http://creativecommons.org/licenses/publicdomain/ michael@0: */ michael@0: michael@0: function strict() { 'use strict'; return this; } michael@0: function lenient() { return this; } michael@0: var obj = {}; michael@0: michael@0: assertEq(strict.bind(true)(), true); michael@0: assertEq(strict.bind(42)(), 42); michael@0: assertEq(strict.bind("")(), ""); michael@0: assertEq(strict.bind(null)(), null); michael@0: assertEq(strict.bind(undefined)(), undefined); michael@0: assertEq(strict.bind(obj)(), obj); michael@0: michael@0: assertEq(lenient.bind(true)() instanceof Boolean, true); michael@0: assertEq(lenient.bind(42)() instanceof Number, true); michael@0: assertEq(lenient.bind("")() instanceof String, true); michael@0: assertEq(lenient.bind(null)(), this); michael@0: assertEq(lenient.bind(undefined)(), this); michael@0: assertEq(lenient.bind(obj)(), obj); michael@0: michael@0: reportCompare(true, true);