summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/strict/15.3.4.5.js
blob: bc93bb67ae16f011c1b700283193bea3471e5c0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */

/*
 * Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/licenses/publicdomain/
 */

function strict() { 'use strict'; return this; }
function lenient() { return this; }
var obj = {};

assertEq(strict.bind(true)(), true);
assertEq(strict.bind(42)(), 42);
assertEq(strict.bind("")(), "");
assertEq(strict.bind(null)(), null);
assertEq(strict.bind(undefined)(), undefined);
assertEq(strict.bind(obj)(), obj);

assertEq(lenient.bind(true)() instanceof Boolean, true);
assertEq(lenient.bind(42)() instanceof Number, true);
assertEq(lenient.bind("")() instanceof String, true);
assertEq(lenient.bind(null)(), this);
assertEq(lenient.bind(undefined)(), this);
assertEq(lenient.bind(obj)(), obj);

reportCompare(true, true);