}
test("noConflict", function() {
- expect(6);
+ expect(7);
var $$ = jQuery;
equals( jQuery.noConflict(true), $$, "noConflict returned the jQuery object" );
equals( jQuery, originaljQuery, "Make sure jQuery was reverted." );
equals( $, original$, "Make sure $ was reverted." );
+ ok( $$("#main").html("test"), "Make sure that jQuery still works." );
jQuery = $$;
});
equals( jQuery.trim( false ), "false", "Boolean" );
});
+test("type", function() {
+ expect(23);
+
+ equals( jQuery.type(null), "null", "null" );
+ equals( jQuery.type(undefined), "undefined", "undefined" );
+ equals( jQuery.type(true), "boolean", "Boolean" );
+ equals( jQuery.type(false), "boolean", "Boolean" );
+ equals( jQuery.type(Boolean(true)), "boolean", "Boolean" );
+ equals( jQuery.type(0), "number", "Number" );
+ equals( jQuery.type(1), "number", "Number" );
+ equals( jQuery.type(Number(1)), "number", "Number" );
+ equals( jQuery.type(""), "string", "String" );
+ equals( jQuery.type("a"), "string", "String" );
+ equals( jQuery.type(String("a")), "string", "String" );
+ equals( jQuery.type({}), "object", "Object" );
+ equals( jQuery.type(/foo/), "regexp", "RegExp" );
+ equals( jQuery.type(new RegExp("asdf")), "regexp", "RegExp" );
+ equals( jQuery.type([1]), "array", "Array" );
+ equals( jQuery.type(new Date()), "date", "Date" );
+ equals( jQuery.type(new Function("return;")), "function", "Function" );
+ equals( jQuery.type(function(){}), "function", "Function" );
+ equals( jQuery.type(window), "object", "Window" );
+ equals( jQuery.type(document), "object", "Document" );
+ equals( jQuery.type(document.body), "object", "Element" );
+ equals( jQuery.type(document.createTextNode("foo")), "object", "TextNode" );
+ equals( jQuery.type(document.getElementsByTagName("*")), "object", "NodeList" );
+});
+
test("isPlainObject", function() {
expect(14);
});
}
+test("isWindow", function() {
+ expect( 12 );
+
+ ok( jQuery.isWindow(window), "window" );
+ ok( !jQuery.isWindow(), "empty" );
+ ok( !jQuery.isWindow(null), "null" );
+ ok( !jQuery.isWindow(undefined), "undefined" );
+ ok( !jQuery.isWindow(document), "document" );
+ ok( !jQuery.isWindow(document.documentElement), "documentElement" );
+ ok( !jQuery.isWindow(""), "string" );
+ ok( !jQuery.isWindow(1), "number" );
+ ok( !jQuery.isWindow(true), "boolean" );
+ ok( !jQuery.isWindow({}), "object" );
+ // HMMM
+ // ok( !jQuery.isWindow({ setInterval: function(){} }), "fake window" );
+ ok( !jQuery.isWindow(/window/), "regexp" );
+ ok( !jQuery.isWindow(function(){}), "function" );
+});
+
test("jQuery('html')", function() {
expect(15);
})
test("get(Number)", function() {
- expect(1);
+ expect(2);
equals( jQuery("p").get(0), document.getElementById("firstp"), "Get A Single Element" );
+ strictEqual( jQuery("#firstp").get(1), undefined, "Try get with index larger elements count" );
});
test("get(-Number)",function() {
- expect(1);
- equals( jQuery("p").get(-1),
- document.getElementById("first"),
- "Get a single element with negative index" )
+ expect(2);
+ equals( jQuery("p").get(-1), document.getElementById("first"), "Get a single element with negative index" );
+ strictEqual( jQuery("#firstp").get(-2), undefined, "Try get with index negative index larger then elements count" );
})
test("each(Function)", function() {
});
test("jQuery.extend(Object, Object)", function() {
- expect(27);
+ expect(28);
var settings = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" },
options = { xnumber2: 1, xstring2: "x", xxx: "newstring" },
same( deep2.foo, deep2copy.foo, "Check if not deep2: options must not be modified" );
equals( deep1.foo2, document, "Make sure that a deep clone was not attempted on the document" );
- ok( jQuery.extend(true, [], arr) !== arr, "Deep extend of array must clone array" );
ok( jQuery.extend(true, {}, nestedarray).arr !== arr, "Deep extend of object must clone child array" );
+
+ // #5991
+ ok( jQuery.isArray( jQuery.extend(true, { arr: {} }, nestedarray).arr ), "Cloned array heve to be an Array" );
+ ok( jQuery.isPlainObject( jQuery.extend(true, { arr: arr }, { arr: {} }).arr ), "Cloned object heve to be an plain object" );
var empty = {};
var optionsWithLength = { foo: { length: -1 } };