Added in jQuery.proxy(obj, name), like the method described in Secrets of the JavaScr...
[jquery.git] / test / unit / core.js
index 1888e55..eb00f23 100644 (file)
@@ -64,20 +64,20 @@ test("jQuery()", function() {
        equals( jQuery(document.body).get(0), jQuery('body').get(0), "Test passing an html node to the factory" );
 
        var elem = jQuery("<div/>", {
-                width: 10,
-                css: { paddingLeft:1, paddingRight:1 },
+               width: 10,
+               css: { paddingLeft:1, paddingRight:1 },
                text: "test",
                "class": "test2",
                id: "test3"
-        });
-
-        equals( elem[0].style.width, '10px', 'jQuery() quick setter width');
-        equals( elem[0].style.paddingLeft, '1px', 'jQuery quick setter css');
-        equals( elem[0].style.paddingRight, '1px', 'jQuery quick setter css');
-        equals( elem[0].childNodes.length, 1, 'jQuery quick setter text');
-        equals( elem[0].firstChild.nodeValue, "test", 'jQuery quick setter text');
-        equals( elem[0].className, "test2", 'jQuery() quick setter class');
-        equals( elem[0].id, "test3", 'jQuery() quick setter id');
+       });
+
+       equals( elem[0].style.width, '10px', 'jQuery() quick setter width');
+       equals( elem[0].style.paddingLeft, '1px', 'jQuery quick setter css');
+       equals( elem[0].style.paddingRight, '1px', 'jQuery quick setter css');
+       equals( elem[0].childNodes.length, 1, 'jQuery quick setter text');
+       equals( elem[0].firstChild.nodeValue, "test", 'jQuery quick setter text');
+       equals( elem[0].className, "test2", 'jQuery() quick setter class');
+       equals( elem[0].id, "test3", 'jQuery() quick setter id');
 });
 
 test("selector state", function() {
@@ -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" )();
+});