summaryrefslogtreecommitdiff
path: root/js/src/tests/ecma_5/strict/15.3.4.5.js
blob: 9a2eddfa2b8dfa3a5b32ec648b80abcb6ea7d316 (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
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 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);