Added in jQuery.proxy(obj, name), like the method described in Secrets of the JavaScr...
[jquery.git] / test / unit / core.js
index 1e03c96..eb00f23 100644 (file)
@@ -12,7 +12,7 @@ test("Basic requirements", function() {
 });
 
 test("jQuery()", function() {
-       expect(15);
+       expect(22);
 
        // Basic constructor's behavior
 
@@ -62,6 +62,22 @@ test("jQuery()", function() {
        equals( jQuery([1,2,3]).get(1), 2, "Test passing an array to the factory" );
 
        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 },
+               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');
 });
 
 test("selector state", function() {
@@ -823,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" )();
+});