// Copyright (C) 2015 Caitlin Potter. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- description: > Functions created using Function.prototype.bind() do not have own properties "caller" or "arguments", but inherit them from %FunctionPrototype%. ---*/ function target() {} var self = {}; var bound = target.bind(self); assert.sameValue(bound.hasOwnProperty('caller'), false, 'Functions created using Function.prototype.bind() do not have own property "caller"'); assert.sameValue(bound.hasOwnProperty('arguments'), false, 'Functions created using Function.prototype.bind() do not have own property "arguments"'); assert.throws(TypeError, function() { return bound.caller; }); assert.throws(TypeError, function() { bound.caller = {}; }); assert.throws(TypeError, function() { return bound.arguments; }); assert.throws(TypeError, function() { bound.arguments = {}; });