From 1d2b1a57dae0b73b3d99197f73f4edb623b5574a Mon Sep 17 00:00:00 2001 From: jeresig Date: Thu, 31 Dec 2009 15:17:52 -0500 Subject: Added in jQuery.proxy(obj, name), like the method described in Secrets of the JavaScript Ninja and in Dojo's Hitch, and added in some unit tests. --- test/unit/core.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'test/unit') diff --git a/test/unit/core.js b/test/unit/core.js index e3adc604f..eb00f23a6 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -839,3 +839,22 @@ test("jQuery.isEmptyObject", function(){ // What about this ? // equals(true, jQuery.isEmptyObject(null), "isEmptyObject on null" ); }); + +test("jQuery.proxy", function(){ + expect(4); + + var test = function(){ equals( this, thisObject, "Make sure that scope is set properly." ); }; + var thisObject = { foo: "bar", method: test }; + + // Make sure normal works + test.call( thisObject ); + + // Basic scoping + jQuery.proxy( test, thisObject )(); + + // Make sure it doesn't freak out + equals( jQuery.proxy( null, thisObject ), undefined, "Make sure no function was returned." ); + + // Use the string shortcut + jQuery.proxy( thisObject, "method" )(); +}); -- cgit v1.2.3