aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Methvin <dave.methvin@gmail.com>2012-10-16 15:15:00 -0400
committerDave Methvin <dave.methvin@gmail.com>2012-10-16 15:15:00 -0400
commit947acfc32e7cc72a3523d177716888b7d6d91c87 (patch)
tree2c39edae92ce482fdaef6eb82e184f2d3516ef27
parentef7bce7e5c67f29a7e09ea1b0bb43b429fc9f59b (diff)
parentaeb036893d35fe036f5d0e119b6ece46eaf3931b (diff)
downloadjquery-947acfc32e7cc72a3523d177716888b7d6d91c87.tar.gz
jquery-947acfc32e7cc72a3523d177716888b7d6d91c87.zip
Merge branch 'master' of github.com:jquery/jquery
-rw-r--r--grunt.js16
-rw-r--r--src/ajax.js4
-rw-r--r--src/deprecated.js61
-rw-r--r--src/event.js10
-rw-r--r--src/manipulation.js9
m---------src/sizzle0
-rw-r--r--src/support.js2
-rw-r--r--src/traversing.js4
-rw-r--r--test/data/support/shrinkWrapBlocks.html23
-rw-r--r--test/unit/ajax.js38
-rw-r--r--test/unit/attributes.js640
-rw-r--r--test/unit/deprecated.js29
-rw-r--r--test/unit/dimensions.js12
-rw-r--r--test/unit/effects.js8
-rw-r--r--test/unit/event.js28
-rw-r--r--test/unit/queue.js2
-rw-r--r--test/unit/support.js5
-rw-r--r--test/unit/traversing.js9
18 files changed, 541 insertions, 359 deletions
diff --git a/grunt.js b/grunt.js
index ff44d9f70..8bc9f09dc 100644
--- a/grunt.js
+++ b/grunt.js
@@ -21,14 +21,14 @@ module.exports = function( grunt ) {
return data;
}
- var file = grunt.file;
- var log = grunt.log;
- var verbose = grunt.verbose;
- var config = grunt.config;
- var distpaths = [
- "dist/jquery.js",
- "dist/jquery.min.js"
- ];
+ var file = grunt.file,
+ log = grunt.log,
+ verbose = grunt.verbose,
+ config = grunt.config,
+ distpaths = [
+ "dist/jquery.js",
+ "dist/jquery.min.js"
+ ];
grunt.initConfig({
pkg: "<json:package.json>",
diff --git a/src/ajax.js b/src/ajax.js
index 394c84e66..3f71f8c6e 100644
--- a/src/ajax.js
+++ b/src/ajax.js
@@ -247,6 +247,7 @@ jQuery.extend({
target = jQuery.ajaxSettings;
}
ajaxExtend( target, settings );
+
return target;
},
@@ -557,8 +558,9 @@ jQuery.extend({
// Remove hash character (#7531: and string promotion)
// Add protocol if not provided (#5866: IE7 issue with protocol-less urls)
+ // Handle falsy url in the settings object (#10093: consistency with old signature)
// We also use the url parameter if available
- s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" );
+ s.url = ( ( url || s.url || ajaxLocation ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" );
// Extract dataTypes list
s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( core_rspace );
diff --git a/src/deprecated.js b/src/deprecated.js
index 4ea47b333..3c2763ddc 100644
--- a/src/deprecated.js
+++ b/src/deprecated.js
@@ -1,7 +1,12 @@
// Limit scope pollution from any deprecated API
(function() {
-var matched, browser;
+var matched, browser, eventAdd, eventRemove,
+ oldToggle = jQuery.fn.toggle,
+ rhoverHack = /(?:^|\s)hover(\.\S+|)\b/,
+ hoverHack = function( events ) {
+ return jQuery.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
+ };
// Use of jQuery.browser is frowned upon.
// More details: http://api.jquery.com/jQuery.browser
@@ -60,10 +65,6 @@ jQuery.sub = function() {
return jQuerySub;
};
-// Unused in 1.8, left in so attrFn-stabbers won't die; remove in 1.9
-jQuery.attrFn = {};
-
-var oldToggle = jQuery.fn.toggle;
jQuery.fn.toggle = function( fn, fn2 ) {
if ( !jQuery.isFunction( fn ) || !jQuery.isFunction( fn2 ) ) {
@@ -72,19 +73,19 @@ jQuery.fn.toggle = function( fn, fn2 ) {
// Save reference to arguments for access in closure
var args = arguments,
- guid = fn.guid || jQuery.guid++,
- i = 0,
- toggler = function( event ) {
- // Figure out which function to execute
- var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
- jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
+ guid = fn.guid || jQuery.guid++,
+ i = 0,
+ toggler = function( event ) {
+ // Figure out which function to execute
+ var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
+ jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
- // Make sure that clicks stop
- event.preventDefault();
+ // Make sure that clicks stop
+ event.preventDefault();
- // and execute the function
- return args[ lastToggle ].apply( this, arguments ) || false;
- };
+ // and execute the function
+ return args[ lastToggle ].apply( this, arguments ) || false;
+ };
// link all the functions, so any of them can unbind this click handler
toggler.guid = guid;
@@ -95,4 +96,32 @@ jQuery.fn.toggle = function( fn, fn2 ) {
return this.click( toggler );
};
+
+// Support for 'hover' type
+eventAdd = jQuery.event.add;
+
+// Duck punch jQuery.event.add, and jquery.event.remove
+// Signatures:
+// jQuery.event = {
+// add: function( elem, types, handler, data, selector ) {
+// remove: function( elem, types, handler, selector, mappedTypes ) {
+jQuery.event.add = function( elem, types, handler, data, selector ){
+ if ( types ) {
+ types = hoverHack( types );
+ }
+ eventAdd.call( this, elem, types, handler, data, selector );
+};
+
+eventRemove = jQuery.event.remove;
+
+jQuery.event.remove = function( elem, types, handler, selector, mappedTypes ){
+ if ( types ) {
+ types = hoverHack( types );
+ }
+ eventRemove.call( this, elem, types, handler, selector, mappedTypes );
+};
+
+// Unused in 1.8, left in so attrFn-stabbers won't die; remove in 1.9
+jQuery.attrFn = {};
+
})();
diff --git a/src/event.js b/src/event.js
index 3fea1a1be..f68a09c54 100644
--- a/src/event.js
+++ b/src/event.js
@@ -1,12 +1,8 @@
var rformElems = /^(?:textarea|input|select)$/i,
rtypenamespace = /^([^\.]*|)(?:\.(.+)|)$/,
- rhoverHack = /(?:^|\s)hover(\.\S+|)\b/,
rkeyEvent = /^key/,
rmouseEvent = /^(?:mouse|contextmenu)|click/,
- rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
- hoverHack = function( events ) {
- return jQuery.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
- };
+ rfocusMorph = /^(?:focusinfocus|focusoutblur)$/;
/*
* Helper functions for managing events -- not part of the public interface.
@@ -56,7 +52,7 @@ jQuery.event = {
// Handle multiple events separated by a space
// jQuery(...).bind("mouseover mouseout", fn);
- types = jQuery.trim( hoverHack(types) ).split( " " );
+ types = jQuery.trim( types ).split( " " );
for ( t = 0; t < types.length; t++ ) {
tns = rtypenamespace.exec( types[t] ) || [];
@@ -139,7 +135,7 @@ jQuery.event = {
}
// Once for each type.namespace in types; type may be omitted
- types = jQuery.trim( hoverHack( types || "" ) ).split(" ");
+ types = jQuery.trim( types ).split(" ");
for ( t = 0; t < types.length; t++ ) {
tns = rtypenamespace.exec( types[t] ) || [];
type = origType = tns[1];
diff --git a/src/manipulation.js b/src/manipulation.js
index 672e9a147..11b6cc430 100644
--- a/src/manipulation.js
+++ b/src/manipulation.js
@@ -281,9 +281,12 @@ jQuery.fn.extend({
// Make sure that the elements are removed from the DOM before they are inserted
// this can help fix replacing a parent with child elements
if ( jQuery.isFunction( value ) ) {
- return this.each(function(i) {
- var self = jQuery(this), old = self.html();
- self.replaceWith( value.call( this, i, old ) );
+ return this.each(function( index ) {
+ // HTML argument replaced by "this" element
+ // 1. There were no supporting tests
+ // 2. There was no internal code relying on this
+ // 3. There was no documentation of an html argument
+ jQuery( this ).replaceWith( value.call( this, index, this ) );
});
}
diff --git a/src/sizzle b/src/sizzle
-Subproject 3ed4e970e262230c799eaf24cc6d889828a3d6f
+Subproject 406b24bc94b826c132669948fb29d39ab4921f4
diff --git a/src/support.js b/src/support.js
index f998f1270..7629c38e7 100644
--- a/src/support.js
+++ b/src/support.js
@@ -172,7 +172,7 @@ jQuery.support = (function() {
// Run tests that need a body at doc ready
jQuery(function() {
var container, div, tds, marginDiv,
- divReset = "padding:0;margin:0;border:0;display:block;overflow:hidden;",
+ divReset = "padding:0;margin:0;border:0;display:block;overflow:hidden;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",
body = document.getElementsByTagName("body")[0];
if ( !body ) {
diff --git a/src/traversing.js b/src/traversing.js
index d92bec4cb..365bb2947 100644
--- a/src/traversing.js
+++ b/src/traversing.js
@@ -132,9 +132,7 @@ jQuery.fn.extend({
jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ),
all = jQuery.merge( this.get(), set );
- return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?
- all :
- jQuery.unique( all ) );
+ return this.pushStack( jQuery.unique(all) );
},
addBack: function( selector ) {
diff --git a/test/data/support/shrinkWrapBlocks.html b/test/data/support/shrinkWrapBlocks.html
new file mode 100644
index 000000000..af1493937
--- /dev/null
+++ b/test/data/support/shrinkWrapBlocks.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr" id="html">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <style>
+ * {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ }
+ </style>
+</head>
+<body>
+ <div>
+ <script src="../../../dist/jquery.js"></script>
+ </div>
+ <script>
+ jQuery(function() {
+ window.parent.iframeCallback( jQuery.support.shrinkWrapBlocks );
+ });
+ </script>
+</body>
+</html>
diff --git a/test/unit/ajax.js b/test/unit/ajax.js
index d11cb13f7..4a93c65fe 100644
--- a/test/unit/ajax.js
+++ b/test/unit/ajax.js
@@ -1451,7 +1451,7 @@ if ( jQuery.ajax && ( !isLocal || hasPHP ) ) {
jQuery.each( [ "Same Domain", "Cross Domain" ], function( crossDomain, label ) {
-
+
asyncTest( "jQuery.ajax() - JSONP, Query String (?n)" + label, function() {
expect( 4 );
@@ -1543,7 +1543,7 @@ if ( jQuery.ajax && ( !isLocal || hasPHP ) ) {
plus();
}
});
-
+
window["jsonpResults"] = function( data ) {
ok( data["data"], "JSON results returned (GET, custom callback function)" );
window["jsonpResults"] = undefined;
@@ -2725,4 +2725,38 @@ if ( jQuery.ajax && ( !isLocal || hasPHP ) ) {
expect( 1 );
ok( jQuery.active === 0, "ajax active counter should be zero: " + jQuery.active );
});
+
+ test("jQuery.ajax - falsy url as argument (#10093)", function() {
+ expect( 4 );
+
+ jQuery.ajaxSetup({ timeout: 0 });
+
+ stop();
+
+ jQuery.when(
+ jQuery.ajax("").success(function(){ ok( true, "settings object - empty string" ); }),
+ jQuery.ajax( false ).success(function(){ ok( true, "false" ); }),
+ jQuery.ajax( null ).success(function(){ ok( true, "null" ); }),
+ jQuery.ajax( undefined ).success(function(){ ok( true, "undefined" ); })
+ ).always(function () {
+ start();
+ });
+ });
+
+ test("jQuery.ajax - falsy url in settings object (#10093)", function() {
+ expect( 4 );
+
+ jQuery.ajaxSetup({ timeout: 0 });
+
+ stop();
+
+ jQuery.when(
+ jQuery.ajax({ url: "" }).success(function(){ ok( true, "settings object - empty string" ); }),
+ jQuery.ajax({ url: false }).success(function(){ ok( true, "false" ); }),
+ jQuery.ajax({ url: null }).success(function(){ ok( true, "null" ); }),
+ jQuery.ajax({ url: undefined }).success(function(){ ok( true, "undefined" ); })
+ ).always(function () {
+ start();
+ });
+ });
}
diff --git a/test/unit/attributes.js b/test/unit/attributes.js
index 13d680033..1c878f37a 100644
--- a/test/unit/attributes.js
+++ b/test/unit/attributes.js
@@ -1,7 +1,16 @@
-module("attributes", { teardown: moduleTeardown });
+module( "attributes", {
+ teardown: moduleTeardown
+});
+
+var bareObj = function( value ) {
+ return value;
+};
-var bareObj = function( value ) { return value; };
-var functionReturningObj = function( value ) { return (function() { return value; }); };
+var functionReturningObj = function( value ) {
+ return (function() {
+ return value;
+ });
+};
/*
======== local reference =======
@@ -15,8 +24,8 @@ var functionReturningObj = function( value ) { return (function() { return value
Returns a function that returns the value
*/
-test("jQuery.propFix integrity test", function() {
- expect(1);
+test( "jQuery.propFix integrity test", function() {
+ expect( 1 );
// This must be maintained and equal jQuery.attrFix when appropriate
// Ensure that accidental or erroneous property
@@ -41,11 +50,11 @@ test("jQuery.propFix integrity test", function() {
props.enctype = "encoding";
}
- deepEqual(props, jQuery.propFix, "jQuery.propFix passes integrity check");
+ deepEqual( props, jQuery.propFix, "jQuery.propFix passes integrity check" );
});
-test("attr(String)", function() {
- expect(46);
+test( "attr(String)", function() {
+ expect( 46 );
equal( jQuery("#text1").attr("type"), "text", "Check for type attribute" );
equal( jQuery("#radio1").attr("type"), "radio", "Check for type attribute" );
@@ -78,27 +87,33 @@ test("attr(String)", function() {
equal( jQuery("#area1").attr("maxLength"), "30", "Check for maxLength attribute" );
// using innerHTML in IE causes href attribute to be serialized to the full path
- jQuery("<a/>").attr({ "id": "tAnchor5", "href": "#5" }).appendTo("#qunit-fixture");
+ jQuery("<a/>").attr({
+ "id": "tAnchor5",
+ "href": "#5"
+ }).appendTo("#qunit-fixture");
equal( jQuery("#tAnchor5").attr("href"), "#5", "Check for non-absolute href (an anchor)" );
// list attribute is readonly by default in browsers that support it
- jQuery("#list-test").attr("list", "datalist");
+ jQuery("#list-test").attr( "list", "datalist" );
equal( jQuery("#list-test").attr("list"), "datalist", "Check setting list attribute" );
// Related to [5574] and [5683]
- var body = document.body, $body = jQuery(body);
+ var body = document.body, $body = jQuery( body );
strictEqual( $body.attr("foo"), undefined, "Make sure that a non existent attribute returns undefined" );
- body.setAttribute("foo", "baz");
+ body.setAttribute( "foo", "baz" );
equal( $body.attr("foo"), "baz", "Make sure the dom attribute is retrieved when no expando is found" );
- $body.attr("foo","cool");
+ $body.attr( "foo","cool" );
equal( $body.attr("foo"), "cool", "Make sure that setting works well when both expando and dom attribute are available" );
body.removeAttribute("foo"); // Cleanup
- var select = document.createElement("select"), optgroup = document.createElement("optgroup"), option = document.createElement("option");
+ var select = document.createElement("select"),
+ optgroup = document.createElement("optgroup"),
+ option = document.createElement("option");
+
optgroup.appendChild( option );
select.appendChild( optgroup );
@@ -119,7 +134,7 @@ test("attr(String)", function() {
// Attributes with a colon on a table element (#1591)
equal( jQuery("#table").attr("test:attrib"), undefined, "Retrieving a non-existent attribute on a table with a colon does not throw an error." );
- equal( jQuery("#table").attr("test:attrib", "foobar").attr("test:attrib"), "foobar", "Setting an attribute on a table with a colon does not throw an error." );
+ equal( jQuery("#table").attr( "test:attrib", "foobar" ).attr("test:attrib"), "foobar", "Setting an attribute on a table with a colon does not throw an error." );
var $form = jQuery("<form class='something'></form>").appendTo("#qunit-fixture");
equal( $form.attr("class"), "something", "Retrieve the class attribute on a form." );
@@ -129,50 +144,85 @@ test("attr(String)", function() {
ok( jQuery("<div/>").attr("doesntexist") === undefined, "Make sure undefined is returned when no attribute is found." );
ok( jQuery("<div/>").attr("title") === undefined, "Make sure undefined is returned when no attribute is found." );
- equal( jQuery("<div/>").attr("title", "something").attr("title"), "something", "Set the title attribute." );
+ equal( jQuery("<div/>").attr( "title", "something" ).attr("title"), "something", "Set the title attribute." );
ok( jQuery().attr("doesntexist") === undefined, "Make sure undefined is returned when no element is there." );
equal( jQuery("<div/>").attr("value"), undefined, "An unset value on a div returns undefined." );
equal( jQuery("<input/>").attr("value"), "", "An unset value on an input returns current value." );
- $form = jQuery("#form").attr("enctype", "multipart/form-data");
+ $form = jQuery("#form").attr( "enctype", "multipart/form-data" );
equal( $form.prop("enctype"), "multipart/form-data", "Set the enctype of a form (encoding in IE6/7 #6743)" );
});
-test("attr(String) in XML Files", function() {
- expect(3);
+test( "attr(String) in XML Files", function() {
+ expect( 3 );
var xml = createDashboardXML();
equal( jQuery( "locations", xml ).attr("class"), "foo", "Check class attribute in XML document" );
equal( jQuery( "location", xml ).attr("for"), "bar", "Check for attribute in XML document" );
equal( jQuery( "location", xml ).attr("checked"), "different", "Check that hooks are not attached in XML document" );
});
-test("attr(String, Function)", function() {
- expect(2);
- equal( jQuery("#text1").attr("value", function() { return this.id; })[0].value, "text1", "Set value from id" );
- equal( jQuery("#text1").attr("title", function(i) { return i; }).attr("title"), "0", "Set value with an index");
+test( "attr(String, Function)", function() {
+ expect( 2 );
+
+ equal(
+ jQuery("#text1").attr( "value", function() {
+ return this.id;
+ })[0].value,
+ "text1",
+ "Set value from id"
+ );
+
+ equal(
+ jQuery("#text1").attr( "title", function(i) {
+ return i;
+ }).attr("title"),
+ "0",
+ "Set value with an index"
+ );
});
-test("attr(Hash)", function() {
- expect(3);
+test( "attr(Hash)", function() {
+ expect( 3 );
var pass = true;
- jQuery("div").attr({"foo": "baz", "zoo": "ping"}).each(function(){
+ jQuery("div").attr({
+ "foo": "baz",
+ "zoo": "ping"
+ }).each(function() {
if ( this.getAttribute("foo") != "baz" && this.getAttribute("zoo") != "ping" ) {
pass = false;
}
});
+
ok( pass, "Set Multiple Attributes" );
- equal( jQuery("#text1").attr({"value": function() { return this["id"]; }})[0].value, "text1", "Set attribute to computed value #1" );
- equal( jQuery("#text1").attr({"title": function(i) { return i; }}).attr("title"), "0", "Set attribute to computed value #2");
+
+ equal(
+ jQuery("#text1").attr({
+ "value": function() {
+ return this["id"];
+ }})[0].value,
+ "text1",
+ "Set attribute to computed value #1"
+ );
+
+ equal(
+ jQuery("#text1").attr({
+ "title": function(i) {
+ return i;
+ }
+ }).attr("title"),
+ "0",
+ "Set attribute to computed value #2"
+ );
});
-test("attr(String, Object)", function() {
- expect(81);
+test( "attr(String, Object)", function() {
+ expect( 81 );
var div = jQuery("div").attr("foo", "bar"),
fail = false;
for ( var i = 0; i < div.size(); i++ ) {
- if ( div.get(i).getAttribute("foo") != "bar" ){
+ if ( div.get( i ).getAttribute("foo") != "bar" ) {
fail = i;
break;
}
@@ -180,38 +230,46 @@ test("attr(String, Object)", function() {
equal( fail, false, "Set Attribute, the #" + fail + " element didn't get the attribute 'foo'" );
- ok( jQuery("#foo").attr({ "width": null }), "Try to set an attribute to nothing" );
+ ok(
+ jQuery("#foo").attr({
+ "width": null
+ }),
+ "Try to set an attribute to nothing"
+ );
- jQuery("#name").attr("name", "something");
+ jQuery("#name").attr( "name", "something" );
equal( jQuery("#name").attr("name"), "something", "Set name attribute" );
- jQuery("#name").attr("name", null);
+ jQuery("#name").attr( "name", null );
equal( jQuery("#name").attr("name"), undefined, "Remove name attribute" );
- var $input = jQuery("<input>", { name: "something", id: "specified" });
+ var $input = jQuery( "<input>", {
+ name: "something",
+ id: "specified"
+ });
equal( $input.attr("name"), "something", "Check element creation gets/sets the name attribute." );
equal( $input.attr("id"), "specified", "Check element creation gets/sets the id attribute." );
- jQuery("#check2").prop("checked", true).prop("checked", false).attr("checked", true);
+ jQuery("#check2").prop( "checked", true ).prop( "checked", false ).attr( "checked", true );
equal( document.getElementById("check2").checked, true, "Set checked attribute" );
equal( jQuery("#check2").prop("checked"), true, "Set checked attribute" );
equal( jQuery("#check2").attr("checked"), "checked", "Set checked attribute" );
- jQuery("#check2").attr("checked", false);
+ jQuery("#check2").attr( "checked", false );
equal( document.getElementById("check2").checked, false, "Set checked attribute" );
equal( jQuery("#check2").prop("checked"), false, "Set checked attribute" );
equal( jQuery("#check2").attr("checked"), undefined, "Set checked attribute" );
- jQuery("#text1").attr("readonly", true);
+ jQuery("#text1").attr( "readonly", true );
equal( document.getElementById("text1").readOnly, true, "Set readonly attribute" );
equal( jQuery("#text1").prop("readOnly"), true, "Set readonly attribute" );
equal( jQuery("#text1").attr("readonly"), "readonly", "Set readonly attribute" );
- jQuery("#text1").attr("readonly", false);
+ jQuery("#text1").attr( "readonly", false );
equal( document.getElementById("text1").readOnly, false, "Set readonly attribute" );
equal( jQuery("#text1").prop("readOnly"), false, "Set readonly attribute" );
equal( jQuery("#text1").attr("readonly"), undefined, "Set readonly attribute" );
- jQuery("#check2").prop("checked", true);
+ jQuery("#check2").prop( "checked", true );
equal( document.getElementById("check2").checked, true, "Set checked attribute" );
equal( jQuery("#check2").prop("checked"), true, "Set checked attribute" );
equal( jQuery("#check2").attr("checked"), "checked", "Set checked attribute" );
- jQuery("#check2").prop("checked", false);
+ jQuery("#check2").prop( "checked", false );
equal( document.getElementById("check2").checked, false, "Set checked attribute" );
equal( jQuery("#check2").prop("checked"), false, "Set checked attribute" );
equal( jQuery("#check2").attr("checked"), undefined, "Set checked attribute" );
@@ -224,22 +282,22 @@ test("attr(String, Object)", function() {
QUnit.reset();
var $radios = jQuery("#checkedtest").find("input[type='radio']");
- $radios.eq(1).click();
- equal( $radios.eq(1).prop("checked"), true, "Second radio was checked when clicked");
- equal( $radios.attr("checked"), $radios[0].checked ? "checked" : undefined, "Known booleans do not fall back to attribute presence (#10278)");
+ $radios.eq( 1 ).click();
+ equal( $radios.eq( 1 ).prop("checked"), true, "Second radio was checked when clicked" );
+ equal( $radios.attr("checked"), $radios[ 0 ].checked ? "checked" : undefined, "Known booleans do not fall back to attribute presence (#10278)" );
- jQuery("#text1").prop("readOnly", true);
+ jQuery("#text1").prop( "readOnly", true );
equal( document.getElementById("text1").readOnly, true, "Set readonly attribute" );
equal( jQuery("#text1").prop("readOnly"), true, "Set readonly attribute" );
equal( jQuery("#text1").attr("readonly"), "readonly", "Set readonly attribute" );
- jQuery("#text1").prop("readOnly", false);
+ jQuery("#text1").prop( "readOnly", false );
equal( document.getElementById("text1").readOnly, false, "Set readonly attribute" );
equal( jQuery("#text1").prop("readOnly"), false, "Set readonly attribute" );
equal( jQuery("#text1").attr("readonly"), undefined, "Set readonly attribute" );
- jQuery("#name").attr("maxlength", "5");
+ jQuery("#name").attr( "maxlength", "5" );
equal( document.getElementById("name").maxLength, 5, "Set maxlength attribute" );
- jQuery("#name").attr("maxLength", "10");
+ jQuery("#name").attr( "maxLength", "10" );
equal( document.getElementById("name").maxLength, 10, "Set maxlength attribute" );
// HTML5 boolean attributes
@@ -248,21 +306,21 @@ test("attr(String, Object)", function() {
"required": true
});
equal( $text.attr("autofocus"), "autofocus", "Set boolean attributes to the same name" );
- equal( $text.attr("autofocus", false).attr("autofocus"), undefined, "Setting autofocus attribute to false removes it" );
+ equal( $text.attr( "autofocus", false ).attr("autofocus"), undefined, "Setting autofocus attribute to false removes it" );
equal( $text.attr("required"), "required", "Set boolean attributes to the same name" );
- equal( $text.attr("required", false).attr("required"), undefined, "Setting required attribute to false removes it" );
+ equal( $text.attr( "required", false ).attr("required"), undefined, "Setting required attribute to false removes it" );
var $details = jQuery("<details open></details>").appendTo("#qunit-fixture");
equal( $details.attr("open"), "open", "open attribute presense indicates true" );
- equal( $details.attr("open", false).attr("open"), undefined, "Setting open attribute to false removes it" );
+ equal( $details.attr( "open", false ).attr("open"), undefined, "Setting open attribute to false removes it" );
- $text.attr("data-something", true);
+ $text.attr( "data-something", true );
equal( $text.attr("data-something"), "true", "Set data attributes");
equal( $text.data("something"), true, "Setting data attributes are not affected by boolean settings");
- $text.attr("data-another", false);
+ $text.attr( "data-another", false );
equal( $text.attr("data-another"), "false", "Set data attributes");
equal( $text.data("another"), false, "Setting data attributes are not affected by boolean settings" );
- equal( $text.attr("aria-disabled", false).attr("aria-disabled"), "false", "Setting aria attributes are not affected by boolean settings");
+ equal( $text.attr( "aria-disabled", false ).attr("aria-disabled"), "false", "Setting aria attributes are not affected by boolean settings" );
$text.removeData("something").removeData("another").removeAttr("aria-disabled");
jQuery("#foo").attr("contenteditable", true);
@@ -273,41 +331,41 @@ test("attr(String, Object)", function() {
textNode = document.createTextNode("some text"),
obj = {};
- jQuery.each( [commentNode, textNode, attributeNode], function( i, elem ) {
+ jQuery.each( [ commentNode, textNode, attributeNode ], function( i, elem ) {
var $elem = jQuery( elem );
$elem.attr( "nonexisting", "foo" );
strictEqual( $elem.attr("nonexisting"), undefined, "attr(name, value) works correctly on comment and text nodes (bug #7500)." );
});
- jQuery.each( [window, document, obj, "#firstp"], function( i, elem ) {
+ jQuery.each( [ window, document, obj, "#firstp" ], function( i, elem ) {
var $elem = jQuery( elem );
strictEqual( $elem.attr("nonexisting"), undefined, "attr works correctly for non existing attributes (bug #7500)." );
- equal( $elem.attr("something", "foo" ).attr("something"), "foo", "attr falls back to prop on unsupported arguments" );
+ equal( $elem.attr( "something", "foo" ).attr("something"), "foo", "attr falls back to prop on unsupported arguments" );
});
var table = jQuery("#table").append("<tr><td>cell</td></tr><tr><td>cell</td><td>cell</td></tr><tr><td>cell</td><td>cell</td></tr>"),
td = table.find("td:first");
- td.attr("rowspan", "2");
- equal( td[0]["rowSpan"], 2, "Check rowspan is correctly set" );
- td.attr("colspan", "2");
- equal( td[0]["colSpan"], 2, "Check colspan is correctly set" );
+ td.attr( "rowspan", "2" );
+ equal( td[ 0 ]["rowSpan"], 2, "Check rowspan is correctly set" );
+ td.attr( "colspan", "2" );
+ equal( td[ 0 ]["colSpan"], 2, "Check colspan is correctly set" );
table.attr("cellspacing", "2");
- equal( table[0]["cellSpacing"], "2", "Check cellspacing is correctly set" );
+ equal( table[ 0 ]["cellSpacing"], "2", "Check cellspacing is correctly set" );
equal( jQuery("#area1").attr("value"), "foobar", "Value attribute retrieves the property for backwards compatibility." );
// for #1070
- jQuery("#name").attr("someAttr", "0");
- equal( jQuery("#name").attr("someAttr"), "0", "Set attribute to a string of \"0\"" );
- jQuery("#name").attr("someAttr", 0);
+ jQuery("#name").attr( "someAttr", "0" );
+ equal( jQuery("#name").attr("someAttr"), "0", "Set attribute to a string of '0'" );
+ jQuery("#name").attr( "someAttr", 0 );
equal( jQuery("#name").attr("someAttr"), "0", "Set attribute to the number 0" );
- jQuery("#name").attr("someAttr", 1);
+ jQuery("#name").attr( "someAttr", 1 );
equal( jQuery("#name").attr("someAttr"), "1", "Set attribute to the number 1" );
// using contents will get comments regular, text, and comment nodes
var j = jQuery("#nonnodes").contents();
- j.attr("name", "attrvalue");
+ j.attr( "name", "attrvalue" );
equal( j.attr("name"), "attrvalue", "Check node,textnode,comment for attr" );
j.removeAttr("name");
@@ -315,8 +373,8 @@ test("attr(String, Object)", function() {
var type = jQuery("#check2").attr("type");
var thrown = false;
try {
- jQuery("#check2").attr("type","hidden");
- } catch(e) {
+ jQuery("#check2").attr( "type", "hidden" );
+ } catch( e ) {
thrown = true;
}
ok( thrown, "Exception thrown when trying to change type property" );
@@ -325,18 +383,18 @@ test("attr(String, Object)", function() {
var check = document.createElement("input");
thrown = true;
try {
- jQuery(check).attr("type", "checkbox");
- } catch(e) {
+ jQuery( check ).attr( "type", "checkbox" );
+ } catch( e ) {
thrown = false;
}
ok( thrown, "Exception thrown when trying to change type property" );
- equal( "checkbox", jQuery(check).attr("type"), "Verify that you can change the type of an input element that isn't in the DOM" );
+ equal( "checkbox", jQuery( check ).attr("type"), "Verify that you can change the type of an input element that isn't in the DOM" );
check = jQuery("<input />");
thrown = true;
try {
- check.attr("type","checkbox");
- } catch(e) {
+ check.attr( "type", "checkbox" );
+ } catch( e ) {
thrown = false;
}
ok( thrown, "Exception thrown when trying to change type property" );
@@ -345,14 +403,17 @@ test("attr(String, Object)", function() {
var button = jQuery("#button");
thrown = false;
try {
- button.attr("type","submit");
- } catch(e) {
+ button.attr( "type", "submit" );
+ } catch( e ) {
thrown = true;
}
ok( thrown, "Exception thrown when trying to change type property" );
equal( "button", button.attr("type"), "Verify that you can't change the type of a button element" );
- var $radio = jQuery("<input>", { "value": "sup", "type": "radio" }).appendTo("#testForm");
+ var $radio = jQuery( "<input>", {
+ "value": "sup",
+ "type": "radio"
+ }).appendTo("#testForm");
equal( $radio.val(), "sup", "Value is not reset when type is set after value on a radio" );
// Setting attributes on svg elements (bug #3116)
@@ -362,20 +423,20 @@ test("attr(String, Object)", function() {
"<circle cx='200' cy='200' r='150' />" +
"</svg>"
).appendTo("body");
- equal( $svg.attr("cx", 100).attr("cx"), "100", "Set attribute on svg element" );
+ equal( $svg.attr( "cx", 100 ).attr("cx"), "100", "Set attribute on svg element" );
$svg.remove();
// undefined values are chainable
- jQuery("#name").attr("maxlength", "5").removeAttr("nonexisting");
- equal( typeof jQuery("#name").attr("maxlength", undefined), "object", ".attr('attribute', undefined) is chainable (#5571)" );
- equal( jQuery("#name").attr("maxlength", undefined).attr("maxlength"), "5", ".attr('attribute', undefined) does not change value (#5571)" );
- equal( jQuery("#name").attr("nonexisting", undefined).attr("nonexisting"), undefined, ".attr('attribute', undefined) does not create attribute (#5571)" );
+ jQuery("#name").attr( "maxlength", "5" ).removeAttr("nonexisting");
+ equal( typeof jQuery("#name").attr( "maxlength", undefined ), "object", ".attr('attribute', undefined) is chainable (#5571)" );
+ equal( jQuery("#name").attr( "maxlength", undefined ).attr("maxlength"), "5", ".attr('attribute', undefined) does not change value (#5571)" );
+ equal( jQuery("#name").attr( "nonexisting", undefined ).attr("nonexisting"), undefined, ".attr('attribute', undefined) does not create attribute (#5571)" );
});
-test("attr(jquery_method)", function(){
+test( "attr(jquery_method)", function() {
var $elem = jQuery("<div />"),
- elem = $elem[0],
+ elem = $elem[ 0 ],
expected = 2,
attrObj = {};
@@ -386,21 +447,31 @@ test("attr(jquery_method)", function(){
if ( jQuery.fn.offset ) {
expected += 2;
- attrObj["offset"] = { "top": 1, "left": 0 };
+ attrObj["offset"] = {
+ "top": 1,
+ "left": 0
+ };
}
if ( jQuery.css ) {
expected += 3;
- attrObj["css"] = { "paddingLeft": 1, "paddingRight": 1 };
+ attrObj["css"] = {
+ "paddingLeft": 1,
+ "paddingRight": 1
+ };
}
expect( expected );
// one at a time
- $elem.attr( { "html": "foo" }, true );
+ $elem.attr({
+ "html": "foo"
+ }, true );
equal( elem.innerHTML, "foo", "attr(html)" );
- $elem.attr( { "text": "bar" }, true );
+ $elem.attr({
+ "text": "bar"
+ }, true );
equal( elem.innerHTML, "bar", "attr(text)" );
// Multiple attributes
@@ -409,14 +480,21 @@ test("attr(jquery_method)", function(){
if ( jQuery.fn.width ) {
equal( elem.style.width, "10px", "attr({width:})" );
- $elem.attr( { "height": 10 }, true );
+ $elem.attr( {
+ "height": 10
+ }, true );
equal( elem.style.height, "10px", "attr(height)" );
}
if ( jQuery.fn.offset ) {
equal( elem.style.top, "1px", "attr({offset:})" );
- $elem.attr( { offset: { top: 1, left: 1 } }, true );
+ $elem.attr({
+ offset: {
+ top: 1,
+ left: 1
+ }
+ }, true );
equal( elem.style.left, "1px", "attr(offset)" );
}
@@ -424,23 +502,27 @@ test("attr(jquery_method)", function(){
equal( elem.style.paddingLeft, "1px", "attr({css:})" );
equal( elem.style.paddingRight, "1px", "attr({css:})" );
- $elem.attr( { "css": { "color": "red" } }, true );
+ $elem.attr({
+ "css": {
+ "color": "red"
+ }
+ }, true );
ok( /^(#ff0000|red)$/i.test( elem.style.color ), "attr(css)" );
}
});
-test("attr(String, Object) - Loaded via XML document", function() {
+test( "attr(String, Object) - Loaded via XML document", function() {
expect( 2 );
var xml = createDashboardXML();
var titles = [];
jQuery( "tab", xml ).each(function() {
- titles.push( jQuery(this).attr("title") );
+ titles.push( jQuery( this ).attr("title") );
});
- equal( titles[0], "Location", "attr() in XML context: Check first title" );
- equal( titles[1], "Users", "attr() in XML context: Check second title" );
+ equal( titles[ 0 ], "Location", "attr() in XML context: Check first title" );
+ equal( titles[ 1 ], "Users", "attr() in XML context: Check second title" );
});
-test("attr('tabindex')", function() {
+test( "attr('tabindex')", function() {
expect( 8 );
// elements not natively tabbable
@@ -458,66 +540,66 @@ test("attr('tabindex')", function() {
equal( jQuery("#linkWithNoHrefWithNegativeTabIndex").attr("tabindex"), "-1", "anchor without href, no tabindex set" );
});
-test("attr('tabindex', value)", function() {
+test( "attr('tabindex', value)", function() {
expect( 9 );
var element = jQuery("#divWithNoTabIndex");
equal( element.attr("tabindex"), undefined, "start with no tabindex" );
// set a positive string
- element.attr("tabindex", "1");
+ element.attr( "tabindex", "1" );
equal( element.attr("tabindex"), "1", "set tabindex to 1 (string)" );
// set a zero string
- element.attr("tabindex", "0");
+ element.attr( "tabindex", "0" );
equal( element.attr("tabindex"), "0", "set tabindex to 0 (string)" );
// set a negative string
- element.attr("tabindex", "-1");
+ element.attr( "tabindex", "-1" );
equal( element.attr("tabindex"), "-1", "set tabindex to -1 (string)" );
// set a positive number
- element.attr("tabindex", 1);
+ element.attr( "tabindex", 1 );
equal( element.attr("tabindex"), "1", "set tabindex to 1 (number)" );
// set a zero number
- element.attr("tabindex", 0);
+ element.attr( "tabindex", 0 );
equal(element.attr("tabindex"), "0", "set tabindex to 0 (number)");
// set a negative number
- element.attr("tabindex", -1);
+ element.attr( "tabindex", -1 );
equal( element.attr("tabindex"), "-1", "set tabindex to -1 (number)" );
element = jQuery("#linkWithTabIndex");
equal( element.attr("tabindex"), "2", "start with tabindex 2" );
- element.attr("tabindex", -1);
+ element.attr( "tabindex", -1 );
equal( element.attr("tabindex"), "-1", "set negative tabindex" );
});
-test("removeAttr(String)", function() {
+test( "removeAttr(String)", function() {
expect( 12 );
var $first;
- equal( jQuery("#mark").removeAttr( "class" ).attr("class"), undefined, "remove class" );
+ equal( jQuery("#mark").removeAttr("class").attr("class"), undefined, "remove class" );
equal( jQuery("#form").removeAttr("id").attr("id"), undefined, "Remove id" );
- equal( jQuery("#foo").attr("style", "position:absolute;").removeAttr("style").attr("style"), undefined, "Check removing style attribute" );
- equal( jQuery("#form").attr("style", "position:absolute;").removeAttr("style").attr("style"), undefined, "Check removing style attribute on a form" );
+ equal( jQuery("#foo").attr( "style", "position:absolute;" ).removeAttr("style").attr("style"), undefined, "Check removing style attribute" );
+ equal( jQuery("#form").attr( "style", "position:absolute;" ).removeAttr("style").attr("style"), undefined, "Check removing style attribute on a form" );
equal( jQuery("<div style='position: absolute'></div>").appendTo("#foo").removeAttr("style").prop("style").cssText, "", "Check removing style attribute (#9699 Webkit)" );
- equal( jQuery("#fx-test-group").attr("height", "3px").removeAttr("height").get(0).style.height, "1px", "Removing height attribute has no effect on height set with style attribute" );
+ equal( jQuery("#fx-test-group").attr( "height", "3px" ).removeAttr("height").get( 0 ).style.height, "1px", "Removing height attribute has no effect on height set with style attribute" );
- jQuery("#check1").removeAttr("checked").prop("checked", true).removeAttr("checked");
+ jQuery("#check1").removeAttr("checked").prop( "checked", true ).removeAttr("checked");
equal( document.getElementById("check1").checked, false, "removeAttr sets boolean properties to false" );
- jQuery("#text1").prop("readOnly", true).removeAttr("readonly");
+ jQuery("#text1").prop( "readOnly", true ).removeAttr("readonly");
equal( document.getElementById("text1").readOnly, false, "removeAttr sets boolean properties to false" );
jQuery("#option2c").removeAttr("selected");
- equal( jQuery("#option2d").attr("selected"), "selected", "Removing `selected` from an option that is not selected does not remove selected from the currently selected option (#10870)");
+ equal( jQuery("#option2d").attr("selected"), "selected", "Removing `selected` from an option that is not selected does not remove selected from the currently selected option (#10870)" );
try {
- $first = jQuery("#first").attr("contenteditable", "true").removeAttr("contenteditable");
+ $first = jQuery("#first").attr( "contenteditable", "true" ).removeAttr("contenteditable");
equal( $first.attr("contenteditable"), undefined, "Remove the contenteditable attribute" );
- } catch(e) {
+ } catch( e ) {
ok( false, "Removing contenteditable threw an error (#10429)" );
}
@@ -528,7 +610,7 @@ test("removeAttr(String)", function() {
ok( !$first.attr("Case"), "mixed-case attribute was removed" );
});
-test("removeAttr(String) in XML", function() {
+test( "removeAttr(String) in XML", function() {
expect( 7 );
var xml = createDashboardXML(),
iwt = jQuery( "infowindowtab", xml );
@@ -547,8 +629,8 @@ test("removeAttr(String) in XML", function() {
equal( iwt.attr("mixedCase"), undefined, "Removed" );
});
-test("removeAttr(Multi String, variable space width)", function() {
- expect(8);
+test( "removeAttr(Multi String, variable space width)", function() {
+ expect( 8 );
var div = jQuery("<div id='a' alt='b' title='c' rel='d'></div>"),
tests = {
@@ -559,44 +641,44 @@ test("removeAttr(Multi String, variable space width)", function() {
};
jQuery.each( tests, function( key, val ) {
- equal( div.attr(key), val, "Attribute `" + key + "` exists, and has a value of `" + val + "`" );
+ equal( div.attr( key ), val, "Attribute `" + key + "` exists, and has a value of `" + val + "`" );
});
div.removeAttr( "id alt title rel " );
jQuery.each( tests, function( key, val ) {
- equal( div.attr(key), undefined, "Attribute `" + key + "` was removed" );
+ equal( div.attr( key ), undefined, "Attribute `" + key + "` was removed" );
});
});
-test("prop(String, Object)", function() {
- expect(31);
+test( "prop(String, Object)", function() {
+ expect( 31 );
equal( jQuery("#text1").prop("value"), "Test", "Check for value attribute" );
- equal( jQuery("#text1").prop("value", "Test2").prop("defaultValue"), "Test", "Check for defaultValue attribute" );
+ equal( jQuery("#text1").prop( "value", "Test2" ).prop("defaultValue"), "Test", "Check for defaultValue attribute" );
equal( jQuery("#select2").prop("selectedIndex"), 3, "Check for selectedIndex attribute" );
equal( jQuery("#foo").prop("nodeName").toUpperCase(), "DIV", "Check for nodeName attribute" );
equal( jQuery("#foo").prop("tagName").toUpperCase(), "DIV", "Check for tagName attribute" );
equal( jQuery("<option/>").prop("selected"), false, "Check selected attribute on disconnected element." );
equal( jQuery("#listWithTabIndex").prop("tabindex"), 5, "Check retrieving tabindex" );
- jQuery("#text1").prop("readonly", true);
+ jQuery("#text1").prop( "readonly", true );
equal( document.getElementById("text1").readOnly, true, "Check setting readOnly property with 'readonly'" );
equal( jQuery("#label-for").prop("for"), "action", "Check retrieving htmlFor" );
jQuery("#text1").prop("class", "test");
equal( document.getElementById("text1").className, "test", "Check setting className with 'class'" );
equal( jQuery("#text1").prop("maxlength"), 30, "Check retrieving maxLength" );
- jQuery("#table").prop("cellspacing", 1);
+ jQuery("#table").prop( "cellspacing", 1 );
equal( jQuery("#table").prop("cellSpacing"), "1", "Check setting and retrieving cellSpacing" );
- jQuery("#table").prop("cellpadding", 1);
+ jQuery("#table").prop( "cellpadding", 1 );
equal( jQuery("#table").prop("cellPadding"), "1", "Check setting and retrieving cellPadding" );
- jQuery("#table").prop("rowspan", 1);
+ jQuery("#table").prop( "rowspan", 1 );
equal( jQuery("#table").prop("rowSpan"), 1, "Check setting and retrieving rowSpan" );
- jQuery("#table").prop("colspan", 1);
+ jQuery("#table").prop( "colspan", 1 );
equal( jQuery("#table").prop("colSpan"), 1, "Check setting and retrieving colSpan" );
- jQuery("#table").prop("usemap", 1);
+ jQuery("#table").prop( "usemap", 1 );
equal( jQuery("#table").prop("useMap"), 1, "Check setting and retrieving useMap" );
- jQuery("#table").prop("frameborder", 1);
+ jQuery("#table").prop( "frameborder", 1 );
equal( jQuery("#table").prop("frameBorder"), 1, "Check setting and retrieving frameBorder" );
QUnit.reset();
@@ -609,57 +691,60 @@ test("prop(String, Object)", function() {
body["foo"] = undefined;
ok( $body.prop("foo") === undefined, "Make sure the expando is preferred over the dom attribute, even if undefined" );
- var select = document.createElement("select"), optgroup = document.createElement("optgroup"), option = document.createElement("option");
+ var select = document.createElement("select"),
+ optgroup = document.createElement("optgroup"),
+ option = document.createElement("option");
+
optgroup.appendChild( option );
select.appendChild( optgroup );
- equal( jQuery(option).prop("selected"), true, "Make sure that a single option is selected, even when in an optgroup." );
- equal( jQuery(document).prop("nodeName"), "#document", "prop works correctly on document nodes (bug #7451)." );
+ equal( jQuery( option ).prop("selected"), true, "Make sure that a single option is selected, even when in an optgroup." );
+ equal( jQuery( document ).prop("nodeName"), "#document", "prop works correctly on document nodes (bug #7451)." );
var attributeNode = document.createAttribute("irrelevant"),
commentNode = document.createComment("some comment"),
textNode = document.createTextNode("some text"),
obj = {};
- jQuery.each( [document, attributeNode, commentNode, textNode, obj, "#firstp"], function( i, ele ) {
- strictEqual( jQuery(ele).prop("nonexisting"), undefined, "prop works correctly for non existing attributes (bug #7500)." );
+ jQuery.each( [ document, attributeNode, commentNode, textNode, obj, "#firstp" ], function( i, ele ) {
+ strictEqual( jQuery( ele ).prop("nonexisting"), undefined, "prop works correctly for non existing attributes (bug #7500)." );
});
obj = {};
- jQuery.each( [document, obj], function( i, ele ) {
+ jQuery.each( [ document, obj ], function( i, ele ) {
var $ele = jQuery( ele );
$ele.prop( "nonexisting", "foo" );
equal( $ele.prop("nonexisting"), "foo", "prop(name, value) works correctly for non existing attributes (bug #7500)." );
});
jQuery( document ).removeProp("nonexisting");
- var $form = jQuery("#form").prop("enctype", "multipart/form-data");
+ var $form = jQuery("#form").prop( "enctype", "multipart/form-data" );
equal( $form.prop("enctype"), "multipart/form-data", "Set the enctype of a form (encoding in IE6/7 #6743)" );
});
-test("prop('tabindex')", function() {
- expect(8);
+test( "prop('tabindex')", function() {
+ expect( 8 );
// elements not natively tabbable
- equal(jQuery("#listWithTabIndex").prop("tabindex"), 5, "not natively tabbable, with tabindex set to 0");
- equal(jQuery("#divWithNoTabIndex").prop("tabindex"), undefined, "not natively tabbable, no tabindex set");
+ equal( jQuery("#listWithTabIndex").prop("tabindex"), 5, "not natively tabbable, with tabindex set to 0" );
+ equal( jQuery("#divWithNoTabIndex").prop("tabindex"), undefined, "not natively tabbable, no tabindex set" );
// anchor with href
- equal(jQuery("#linkWithNoTabIndex").prop("tabindex"), 0, "anchor with href, no tabindex set");
- equal(jQuery("#linkWithTabIndex").prop("tabindex"), 2, "anchor with href, tabindex set to 2");
- equal(jQuery("#linkWithNegativeTabIndex").prop("tabindex"), -1, "anchor with href, tabindex set to -1");
+ equal( jQuery("#linkWithNoTabIndex").prop("tabindex"), 0, "anchor with href, no tabindex set" );
+ equal( jQuery("#linkWithTabIndex").prop("tabindex"), 2, "anchor with href, tabindex set to 2" );
+ equal( jQuery("#linkWithNegativeTabIndex").prop("tabindex"), -1, "anchor with href, tabindex set to -1" );
// anchor without href
- equal(jQuery("#linkWithNoHrefWithNoTabIndex").prop("tabindex"), undefined, "anchor without href, no tabindex set");
- equal(jQuery("#linkWithNoHrefWithTabIndex").prop("tabindex"), 1, "anchor without href, tabindex set to 2");
- equal(jQuery("#linkWithNoHrefWithNegativeTabIndex").prop("tabindex"), -1, "anchor without href, no tabindex set");
+ equal( jQuery("#linkWithNoHrefWithNoTabIndex").prop("tabindex"), undefined, "anchor without href, no tabindex set" );
+ equal( jQuery("#linkWithNoHrefWithTabIndex").prop("tabindex"), 1, "anchor without href, tabindex set to 2" );
+ equal( jQuery("#linkWithNoHrefWithNegativeTabIndex").prop("tabindex"), -1, "anchor without href, no tabindex set" );
});
-test("prop('tabindex', value)", 10, function() {
+test( "prop('tabindex', value)", 10, function() {
- var element = jQuery("#divWithNoTabIndex"),
- clone;
+ var clone,
+ element = jQuery("#divWithNoTabIndex");
- equal(element.prop("tabindex"), undefined, "start with no tabindex");
+ equal( element.prop("tabindex"), undefined, "start with no tabindex" );
// set a positive string
element.prop( "tabindex", "1" );
@@ -696,28 +781,32 @@ test("prop('tabindex', value)", 10, function() {
equal( clone[ 0 ].getAttribute("tabindex"), "1", "set tabindex on cloned element" );
});
-test("removeProp(String)", function() {
- expect(6);
+test( "removeProp(String)", function() {
+ expect( 6 );
var attributeNode = document.createAttribute("irrelevant"),
commentNode = document.createComment("some comment"),
textNode = document.createTextNode("some text"),
obj = {};
- strictEqual( jQuery( "#firstp" ).prop( "nonexisting", "foo" ).removeProp( "nonexisting" )[0]["nonexisting"], undefined, "removeprop works correctly on DOM element nodes" );
+ strictEqual(
+ jQuery( "#firstp" ).prop( "nonexisting", "foo" ).removeProp( "nonexisting" )[ 0 ]["nonexisting"],
+ undefined,
+ "removeprop works correctly on DOM element nodes"
+ );
- jQuery.each( [document, obj], function( i, ele ) {
+ jQuery.each( [ document, obj ], function( i, ele ) {
var $ele = jQuery( ele );
- $ele.prop( "nonexisting", "foo" ).removeProp( "nonexisting" );
+ $ele.prop( "nonexisting", "foo" ).removeProp("nonexisting");
strictEqual( ele["nonexisting"], undefined, "removeProp works correctly on non DOM element nodes (bug #7500)." );
});
- jQuery.each( [commentNode, textNode, attributeNode], function( i, ele ) {
+ jQuery.each( [ commentNode, textNode, attributeNode ], function( i, ele ) {
var $ele = jQuery( ele );
- $ele.prop( "nonexisting", "foo" ).removeProp( "nonexisting" );
+ $ele.prop( "nonexisting", "foo" ).removeProp("nonexisting");
strictEqual( ele["nonexisting"], undefined, "removeProp works correctly on non DOM element nodes (bug #7500)." );
});
});
-test("val()", function() {
+test( "val()", function() {
expect( 21 + ( jQuery.fn.serialize ? 6 : 0 ) );
document.getElementById("text1").value = "bla";
@@ -730,9 +819,9 @@ test("val()", function() {
equal( jQuery("#first").val(), "", "Check a paragraph element to see if it has a value" );
ok( jQuery([]).val() === undefined, "Check an empty jQuery object will return undefined from val" );
- equal( jQuery("#select2").val(), "3", "Call val() on a single=\"single\" select" );
+ equal( jQuery("#select2").val(), "3", "Call val() on a single='single' select" );
- deepEqual( jQuery("#select3").val(), ["1", "2"], "Call val() on a multiple=\"multiple\" select" );
+ deepEqual( jQuery("#select3").val(), [ "1", "2" ], "Call val() on a multiple='multiple' select" );
equal( jQuery("#option3c").val(), "2", "Call val() on a option element with value" );
@@ -743,22 +832,22 @@ test("val()", function() {
equal( jQuery("#option3a").val(), "", "Call val() on a option element with no value attribute" );
jQuery("#select3").val("");
- deepEqual( jQuery("#select3").val(), [""], "Call val() on a multiple=\"multiple\" select" );
+ deepEqual( jQuery("#select3").val(), [""], "Call val() on a multiple='multiple' select" );
- deepEqual( jQuery("#select4").val(), [], "Call val() on multiple=\"multiple\" select with all disabled options" );
+ deepEqual( jQuery("#select4").val(), [], "Call val() on multiple='multiple' select with all disabled options" );
- jQuery("#select4 optgroup").add("#select4 > [disabled]").attr("disabled", false);
- deepEqual( jQuery("#select4").val(), ["2", "3"], "Call val() on multiple=\"multiple\" select with some disabled options" );
+ jQuery("#select4 optgroup").add("#select4 > [disabled]").attr( "disabled", false );
+ deepEqual( jQuery("#select4").val(), [ "2", "3" ], "Call val() on multiple='multiple' select with some disabled options" );
- jQuery("#select4").attr("disabled", true);
- deepEqual( jQuery("#select4").val(), ["2", "3"], "Call val() on disabled multiple=\"multiple\" select" );
+ jQuery("#select4").attr( "disabled", true );
+ deepEqual( jQuery("#select4").val(), [ "2", "3" ], "Call val() on disabled multiple='multiple' select" );
equal( jQuery("#select5").val(), "3", "Check value on ambiguous select." );
- jQuery("#select5").val(1);
+ jQuery("#select5").val( 1 );
equal( jQuery("#select5").val(), "1", "Check value on ambiguous select." );
- jQuery("#select5").val(3);
+ jQuery("#select5").val( 3 );
equal( jQuery("#select5").val(), "3", "Check value on ambiguous select." );
strictEqual(
@@ -772,7 +861,7 @@ test("val()", function() {
deepEqual( checks.serialize(), "", "Get unchecked values." );
- equal( checks.eq(3).val(), "on", "Make sure a value of 'on' is provided if none is specified." );
+ equal( checks.eq( 3 ).val(), "on", "Make sure a value of 'on' is provided if none is specified." );
checks.val([ "2" ]);
deepEqual( checks.serialize(), "test=2", "Get a single checked value." );
@@ -799,88 +888,88 @@ test("val()", function() {
if ( "value" in document.createElement("meter") &&
"value" in document.createElement("progress") ) {
- test("val() respects numbers without exception (Bug #9319)", function() {
+ test( "val() respects numbers without exception (Bug #9319)", function() {
- expect(4);
+ expect( 4 );
var $meter = jQuery("<meter min='0' max='10' value='5.6'></meter>"),
$progress = jQuery("<progress max='10' value='1.5'></progress>");
try {
equal( typeof $meter.val(), "number", "meter, returns a number and does not throw exception" );
- equal( $meter.val(), $meter[0].value, "meter, api matches host and does not throw exception" );
+ equal( $meter.val(), $meter[ 0 ].value, "meter, api matches host and does not throw exception" );
equal( typeof $progress.val(), "number", "progress, returns a number and does not throw exception" );
- equal( $progress.val(), $progress[0].value, "progress, api matches host and does not throw exception" );
+ equal( $progress.val(), $progress[ 0 ].value, "progress, api matches host and does not throw exception" );
- } catch(e) {}
+ } catch( e ) {}
$meter.remove();
$progress.remove();
});
}
-var testVal = function(valueObj) {
- expect(8);
+var testVal = function( valueObj ) {
+ expect( 8 );
QUnit.reset();
- jQuery("#text1").val(valueObj( "test" ));
+ jQuery("#text1").val( valueObj("test") );
equal( document.getElementById("text1").value, "test", "Check for modified (via val(String)) value of input element" );
- jQuery("#text1").val(valueObj( undefined ));
+ jQuery("#text1").val( valueObj( undefined ) );
equal( document.getElementById("text1").value, "", "Check for modified (via val(undefined)) value of input element" );
- jQuery("#text1").val(valueObj( 67 ));
+ jQuery("#text1").val( valueObj( 67 ) );
equal( document.getElementById("text1").value, "67", "Check for modified (via val(Number)) value of input element" );
- jQuery("#text1").val(valueObj( null ));
+ jQuery("#text1").val( valueObj( null ) );
equal( document.getElementById("text1").value, "", "Check for modified (via val(null)) value of input element" );
var $select1 = jQuery("#select1");
- $select1.val(valueObj( "3" ));
+ $select1.val( valueObj("3") );
equal( $select1.val(), "3", "Check for modified (via val(String)) value of select element" );
- $select1.val(valueObj( 2 ));
+ $select1.val( valueObj( 2 ) );
equal( $select1.val(), "2", "Check for modified (via val(Number)) value of select element" );
$select1.append("<option value='4'>four</option>");
- $select1.val(valueObj( 4 ));
+ $select1.val( valueObj( 4 ) );
equal( $select1.val(), "4", "Should be possible to set the val() to a newly created option" );
// using contents will get comments regular, text, and comment nodes
var j = jQuery("#nonnodes").contents();
- j.val(valueObj( "asdf" ));
+ j.val( valueObj( "asdf" ) );
equal( j.val(), "asdf", "Check node,textnode,comment with val()" );
j.removeAttr("value");
};
-test("val(String/Number)", function() {
- testVal(bareObj);
+test( "val(String/Number)", function() {
+ testVal( bareObj );
});
-test("val(Function)", function() {
- testVal(functionReturningObj);
+test( "val(Function)", function() {
+ testVal( functionReturningObj );
});
test( "val(Array of Numbers) (Bug #7123)", function() {
- expect(4);
+ expect( 4 );
jQuery("#form").append("<input type='checkbox' name='arrayTest' value='1' /><input type='checkbox' name='arrayTest' value='2' /><input type='checkbox' name='arrayTest' value='3' checked='checked' /><input type='checkbox' name='arrayTest' value='4' />");
var elements = jQuery("input[name=arrayTest]").val([ 1, 2 ]);
- ok( elements[0].checked, "First element was checked" );
- ok( elements[1].checked, "Second element was checked" );
- ok( !elements[2].checked, "Third element was unchecked" );
- ok( !elements[3].checked, "Fourth element remained unchecked" );
+ ok( elements[ 0 ].checked, "First element was checked" );
+ ok( elements[ 1 ].checked, "Second element was checked" );
+ ok( !elements[ 2 ].checked, "Third element was unchecked" );
+ ok( !elements[ 3 ].checked, "Fourth element remained unchecked" );
elements.remove();
});
-test("val(Function) with incoming value", function() {
- expect(10);
+test( "val(Function) with incoming value", function() {
+ expect( 10 );
QUnit.reset();
var oldVal = jQuery("#text1").val();
- jQuery("#text1").val(function(i, val) {
+ jQuery("#text1").val(function( i, val ) {
equal( val, oldVal, "Make sure the incoming value is correct." );
return "test";
});
@@ -889,7 +978,7 @@ test("val(Function) with incoming value", function() {
oldVal = jQuery("#text1").val();
- jQuery("#text1").val(function(i, val) {
+ jQuery("#text1").val(function( i, val ) {
equal( val, oldVal, "Make sure the incoming value is correct." );
return 67;
});
@@ -898,7 +987,7 @@ test("val(Function) with incoming value", function() {
oldVal = jQuery("#select1").val();
- jQuery("#select1").val(function(i, val) {
+ jQuery("#select1").val(function( i, val ) {
equal( val, oldVal, "Make sure the incoming value is correct." );
return "3";
});
@@ -907,7 +996,7 @@ test("val(Function) with incoming value", function() {
oldVal = jQuery("#select1").val();
- jQuery("#select1").val(function(i, val) {
+ jQuery("#select1").val(function( i, val ) {
equal( val, oldVal, "Make sure the incoming value is correct." );
return 2;
});
@@ -918,7 +1007,7 @@ test("val(Function) with incoming value", function() {
oldVal = jQuery("#select1").val();
- jQuery("#select1").val(function(i, val) {
+ jQuery("#select1").val(function( i, val ) {
equal( val, oldVal, "Make sure the incoming value is correct." );
return 4;
});
@@ -927,32 +1016,32 @@ test("val(Function) with incoming value", function() {
});
// testing if a form.reset() breaks a subsequent call to a select element's .val() (in IE only)
-test("val(select) after form.reset() (Bug #2551)", function() {
- expect(3);
+test( "val(select) after form.reset() (Bug #2551)", function() {
+ expect( 3 );
jQuery("<form id='kk' name='kk'><select id='kkk'><option value='cf'>cf</option><option value='gf'>gf</option></select></form>").appendTo("#qunit-fixture");
- jQuery("#kkk").val( "gf" );
+ jQuery("#kkk").val("gf");
document["kk"].reset();
- equal( jQuery("#kkk")[0].value, "cf", "Check value of select after form reset." );
+ equal( jQuery("#kkk")[ 0 ].value, "cf", "Check value of select after form reset." );
equal( jQuery("#kkk").val(), "cf", "Check value of select after form reset." );
// re-verify the multi-select is not broken (after form.reset) by our fix for single-select
- deepEqual( jQuery("#select3").val(), ["1", "2"], "Call val() on a multiple=\"multiple\" select" );
+ deepEqual( jQuery("#select3").val(), ["1", "2"], "Call val() on a multiple='multiple' select" );
jQuery("#kk").remove();
});
-var testAddClass = function(valueObj) {
- expect(9);
+var testAddClass = function( valueObj ) {
+ expect( 9 );
var div = jQuery("div");
div.addClass( valueObj("test") );
var pass = true;
for ( var i = 0; i < div.size(); i++ ) {
- if ( !~div.get(i).className.indexOf("test") ) {
+ if ( !~div.get( i ).className.indexOf("test") ) {
pass = false;
}
}
@@ -968,11 +1057,11 @@ var testAddClass = function(valueObj) {
div.addClass( valueObj("test") );
equal( div.attr("class"), "test", "Make sure there's no extra whitespace." );
- div.attr("class", " foo");
+ div.attr( "class", " foo" );
div.addClass( valueObj("test") );
equal( div.attr("class"), "foo test", "Make sure there's no extra whitespace." );
- div.attr("class", "foo");
+ div.attr( "class", "foo" );
div.addClass( valueObj("bar baz") );
equal( div.attr("class"), "foo bar baz", "Make sure there isn't too much trimming." );
@@ -990,23 +1079,24 @@ var testAddClass = function(valueObj) {
equal( div.attr("class"), "bar", "Do not add the same class twice in the same call." );
};
-test("addClass(String)", function() {
- testAddClass(bareObj);
+test( "addClass(String)", function() {
+ testAddClass( bareObj );
});
-test("addClass(Function)", function() {
- testAddClass(functionReturningObj);
+test( "addClass(Function)", function() {
+ testAddClass( functionReturningObj );
});
-test("addClass(Function) with incoming value", function() {
- expect(48);
- var div = jQuery("div"), old = div.map(function(){
- return jQuery(this).attr("class") || "";
- });
+test( "addClass(Function) with incoming value", function() {
+ expect( 48 );
+ var div = jQuery("div"),
+ old = div.map(function() {
+ return jQuery(this).attr("class") || "";
+ });
- div.addClass(function(i, val) {
- if ( this.id !== "_firebugConsole") {
- equal( val, old[i], "Make sure the incoming value is correct." );
+ div.addClass(function( i, val ) {
+ if ( this.id !== "_firebugConsole" ) {
+ equal( val, old[ i ], "Make sure the incoming value is correct." );
return "test";
}
});
@@ -1021,7 +1111,7 @@ test("addClass(Function) with incoming value", function() {
});
var testRemoveClass = function(valueObj) {
- expect(7);
+ expect( 7 );
var $divs = jQuery("div");
@@ -1041,11 +1131,11 @@ var testRemoveClass = function(valueObj) {
$divs = jQuery("div");
// Make sure that a null value doesn't cause problems
- $divs.eq(0).addClass("test").removeClass( valueObj(null) );
- ok( $divs.eq(0).is(".test"), "Null value passed to removeClass" );
+ $divs.eq( 0 ).addClass("test").removeClass( valueObj( null ) );
+ ok( $divs.eq( 0 ).is(".test"), "Null value passed to removeClass" );
- $divs.eq(0).addClass("test").removeClass( valueObj("") );
- ok( $divs.eq(0).is(".test"), "Empty string passed to removeClass" );
+ $divs.eq( 0 ).addClass("test").removeClass( valueObj("") );
+ ok( $divs.eq( 0 ).is(".test"), "Empty string passed to removeClass" );
// using contents will get regular, text, and comment nodes
var j = jQuery("#nonnodes").contents();
@@ -1055,33 +1145,33 @@ var testRemoveClass = function(valueObj) {
var div = document.createElement("div");
div.className = " test foo ";
- jQuery(div).removeClass( valueObj("foo") );
+ jQuery( div ).removeClass( valueObj("foo") );
equal( div.className, "test", "Make sure remaining className is trimmed." );
div.className = " test ";
- jQuery(div).removeClass( valueObj("test") );
+ jQuery( div ).removeClass( valueObj("test") );
equal( div.className, "", "Make sure there is nothing left after everything is removed." );
};
-test("removeClass(String) - simple", function() {
- testRemoveClass(bareObj);
+test( "removeClass(String) - simple", function() {
+ testRemoveClass( bareObj );
});
-test("removeClass(Function) - simple", function() {
- testRemoveClass(functionReturningObj);
+test( "removeClass(Function) - simple", function() {
+ testRemoveClass( functionReturningObj );
});
-test("removeClass(Function) with incoming value", function() {
- expect(48);
+test( "removeClass(Function) with incoming value", function() {
+ expect( 48 );
- var $divs = jQuery("div").addClass("test"), old = $divs.map(function(){
- return jQuery(this).attr("class");
+ var $divs = jQuery("div").addClass("test"), old = $divs.map(function() {
+ return jQuery( this ).attr("class");
});
- $divs.removeClass(function(i, val) {
+ $divs.removeClass(function( i, val ) {
if ( this.id !== "_firebugConsole" ) {
- equal( val, old[i], "Make sure the incoming value is correct." );
+ equal( val, old[ i ], "Make sure the incoming value is correct." );
return "test";
}
});
@@ -1091,8 +1181,8 @@ test("removeClass(Function) with incoming value", function() {
QUnit.reset();
});
-test("removeClass() removes duplicates", function() {
- expect(1);
+test( "removeClass() removes duplicates", function() {
+ expect( 1 );
var $div = jQuery( jQuery.parseHTML("<div class='x x x'></div>") );
@@ -1102,7 +1192,7 @@ test("removeClass() removes duplicates", function() {
});
var testToggleClass = function(valueObj) {
- expect(17);
+ expect( 17 );
var e = jQuery("#firstp");
ok( !e.is(".test"), "Assert class not present" );
@@ -1128,44 +1218,44 @@ var testToggleClass = function(valueObj) {
ok( (!e.is(".testA") && !e.is(".testB") && !e.is(".testC")), "Assert no class present" );
// toggleClass storage
- e.toggleClass(true);
- ok( e[0].className === "", "Assert class is empty (data was empty)" );
+ e.toggleClass( true );
+ ok( e[ 0 ].className === "", "Assert class is empty (data was empty)" );
e.addClass("testD testE");
ok( e.is(".testD.testE"), "Assert class present" );
e.toggleClass();
ok( !e.is(".testD.testE"), "Assert class not present" );
- ok( jQuery._data(e[0], "__className__") === "testD testE", "Assert data was stored" );
+ ok( jQuery._data(e[ 0 ], "__className__") === "testD testE", "Assert data was stored" );
e.toggleClass();
ok( e.is(".testD.testE"), "Assert class present (restored from data)" );
- e.toggleClass(false);
+ e.toggleClass( false );
ok( !e.is(".testD.testE"), "Assert class not present" );
- e.toggleClass(true);
+ e.toggleClass( true );
ok( e.is(".testD.testE"), "Assert class present (restored from data)" );
e.toggleClass();
- e.toggleClass(false);
+ e.toggleClass( false );
e.toggleClass();
ok( e.is(".testD.testE"), "Assert class present (restored from data)" );
// Cleanup
e.removeClass("testD");
- jQuery.removeData(e[0], "__className__", true);
+ jQuery._removeData( e[ 0 ], "__className__" );
};
-test("toggleClass(String|boolean|undefined[, boolean])", function() {
- testToggleClass(bareObj);
+test( "toggleClass(String|boolean|undefined[, boolean])", function() {
+ testToggleClass( bareObj );
});
-test("toggleClass(Function[, boolean])", function() {
- testToggleClass(functionReturningObj);
+test( "toggleClass(Function[, boolean])", function() {
+ testToggleClass( functionReturningObj );
});
-test("toggleClass(Fucntion[, boolean]) with incoming value", function() {
- expect(14);
+test( "toggleClass(Fucntion[, boolean]) with incoming value", function() {
+ expect( 14 );
var e = jQuery("#firstp"), old = e.attr("class") || "";
ok( !e.is(".test"), "Assert class not present" );
- e.toggleClass(function(i, val) {
+ e.toggleClass(function( i, val ) {
equal( old, val, "Make sure the incoming value is correct." );
return "test";
});
@@ -1173,7 +1263,7 @@ test("toggleClass(Fucntion[, boolean]) with incoming value", function() {
old = e.attr("class");
- e.toggleClass(function(i, val) {
+ e.toggleClass(function( i, val ) {
equal( old, val, "Make sure the incoming value is correct." );
return "test";
});
@@ -1182,7 +1272,7 @@ test("toggleClass(Fucntion[, boolean]) with incoming value", function() {
old = e.attr("class") || "";
// class name with a boolean
- e.toggleClass(function(i, val, state) {
+ e.toggleClass(function( i, val, state ) {
equal( old, val, "Make sure the incoming value is correct." );
equal( state, false, "Make sure that the state is passed in." );
return "test";
@@ -1191,7 +1281,7 @@ test("toggleClass(Fucntion[, boolean]) with incoming value", function() {
old = e.attr("class") || "";
- e.toggleClass(function(i, val, state) {
+ e.toggleClass(function( i, val, state ) {
equal( old, val, "Make sure the incoming value is correct." );
equal( state, true, "Make sure that the state is passed in." );
return "test";
@@ -1200,7 +1290,7 @@ test("toggleClass(Fucntion[, boolean]) with incoming value", function() {
old = e.attr("class");
- e.toggleClass(function(i, val, state) {
+ e.toggleClass(function( i, val, state ) {
equal( old, val, "Make sure the incoming value is correct." );
equal( state, false, "Make sure that the state is passed in." );
return "test";
@@ -1209,13 +1299,13 @@ test("toggleClass(Fucntion[, boolean]) with incoming value", function() {
// Cleanup
e.removeClass("test");
- jQuery.removeData(e[0], "__className__", true);
+ jQuery._removeData( e[ 0 ], "__className__" );
});
-test("addClass, removeClass, hasClass", function() {
- expect(17);
+test( "addClass, removeClass, hasClass", function() {
+ expect( 17 );
- var jq = jQuery("<p>Hi</p>"), x = jq[0];
+ var jq = jQuery("<p>Hi</p>"), x = jq[ 0 ];
jq.addClass("hi");
equal( x.className, "hi", "Check single added class" );
@@ -1244,17 +1334,17 @@ test("addClass, removeClass, hasClass", function() {
ok( jq.is(".class4"), "Check is with carriage return" );
jq.removeClass("class2");
- ok( jq.hasClass("class2")===false, "Check the class has been properly removed" );
+ ok( jq.hasClass("class2") === false, "Check the class has been properly removed" );
jq.removeClass("cla");
ok( jq.hasClass("cla.ss3"), "Check the dotted class has not been removed" );
jq.removeClass("cla.ss3");
- ok( jq.hasClass("cla.ss3")===false, "Check the dotted class has been removed" );
+ ok( jq.hasClass("cla.ss3") === false, "Check the dotted class has been removed" );
jq.removeClass("class4");
- ok( jq.hasClass("class4")===false, "Check the class has been properly removed" );
+ ok( jq.hasClass("class4") === false, "Check the class has been properly removed" );
});
-test("contents().hasClass() returns correct values", function() {
- expect(2);
+test( "contents().hasClass() returns correct values", function() {
+ expect( 2 );
var $div = jQuery("<div><span class='foo'></span><!-- comment -->text</div>"),
$contents = $div.contents();
@@ -1263,15 +1353,15 @@ test("contents().hasClass() returns correct values", function() {
ok( !$contents.hasClass("undefined"), "Did not find 'undefined' in $contents (correctly)" );
});
-test("coords returns correct values in IE6/IE7, see #10828", function() {
- expect(2);
+test( "coords returns correct values in IE6/IE7, see #10828", function() {
+ expect( 2 );
- var map = jQuery("<map />"),
- area;
+ var area,
+ map = jQuery("<map />");
area = map.html("<area shape='rect' coords='0,0,0,0' href='#' alt='a' />").find("area");
- equal( area.attr("coords"), "0,0,0,0", "did not retrieve coords correctly");
+ equal( area.attr("coords"), "0,0,0,0", "did not retrieve coords correctly" );
area = map.html("<area shape='rect' href='#' alt='a' /></map>").find("area");
- equal( area.attr("coords"), undefined, "did not retrieve coords correctly");
+ equal( area.attr("coords"), undefined, "did not retrieve coords correctly" );
});
diff --git a/test/unit/deprecated.js b/test/unit/deprecated.js
index f5787e518..3bce98d57 100644
--- a/test/unit/deprecated.js
+++ b/test/unit/deprecated.js
@@ -107,4 +107,33 @@ if ( jQuery.browser ) {
ok(!!jQuery.attrFn, "attrFnPresent");
});
+ test("hover pseudo-event", function() {
+ expect(2);
+
+ var balance = 0;
+ jQuery( "#firstp" )
+ .on( "hovercraft", function() {
+ ok( false, "hovercraft is full of ills" );
+ })
+ .on( "click.hover.me.not", function( e ) {
+ equal( e.handleObj.namespace, "hover.me.not", "hover hack doesn't mangle namespaces" );
+ })
+ .bind("hover", function( e ) {
+ if ( e.type === "mouseenter" ) {
+ balance++;
+ } else if ( e.type === "mouseleave" ) {
+ balance--;
+ } else {
+ ok( false, "hover pseudo: unknown event type "+e.type );
+ }
+ })
+ .trigger("click")
+ .trigger("mouseenter")
+ .trigger("mouseleave")
+ .unbind("hover")
+ .trigger("mouseenter");
+
+ equal( balance, 0, "hover pseudo-event" );
+ });
+
}
diff --git a/test/unit/dimensions.js b/test/unit/dimensions.js
index 2e5c6557d..f0e7974c9 100644
--- a/test/unit/dimensions.js
+++ b/test/unit/dimensions.js
@@ -50,7 +50,7 @@ var testWidth = function( val ) {
equal( jQuery(window).width(), document.documentElement.clientWidth, "Window width is equal to width reported by window/document." );
- jQuery.removeData($div[0], "olddisplay", true);
+ jQuery._removeData( $div[0], "olddisplay" );
};
test("width()", function() {
@@ -101,7 +101,7 @@ var testHeight = function( val ) {
equal( jQuery(window).height(), document.documentElement.clientHeight, "Window width is equal to width reported by window/document." );
- jQuery.removeData($div[0], "olddisplay", true);
+ jQuery._removeData( $div[0], "olddisplay" );
};
test("height()", function() {
@@ -156,7 +156,7 @@ test("innerWidth()", function() {
equal( div.innerWidth(), 0, "Make sure that disconnected nodes are handled." );
div.remove();
- jQuery.removeData($div[0], "olddisplay", true);
+ jQuery._removeData( $div[0], "olddisplay" );
});
test("innerHeight()", function() {
@@ -191,7 +191,7 @@ test("innerHeight()", function() {
equal( div.innerHeight(), 0, "Make sure that disconnected nodes are handled." );
div.remove();
- jQuery.removeData($div[0], "olddisplay", true);
+ jQuery._removeData( $div[0], "olddisplay" );
});
test("outerWidth()", function() {
@@ -229,7 +229,7 @@ test("outerWidth()", function() {
equal( div.outerWidth(), 0, "Make sure that disconnected nodes are handled." );
div.remove();
- jQuery.removeData($div[0], "olddisplay", true);
+ jQuery._removeData( $div[0], "olddisplay" );
});
test("child of a hidden elem (or unconnected node) has accurate inner/outer/Width()/Height() see #9441 #9300", function() {
@@ -375,7 +375,7 @@ test("outerHeight()", function() {
equal( div.outerHeight(), 0, "Make sure that disconnected nodes are handled." );
div.remove();
- jQuery.removeData($div[0], "olddisplay", true);
+ jQuery._removeData( $div[0], "olddisplay" );
});
test("passing undefined is a setter #5571", function() {
diff --git a/test/unit/effects.js b/test/unit/effects.js
index a2dbb06b2..814f94ad0 100644
--- a/test/unit/effects.js
+++ b/test/unit/effects.js
@@ -1014,7 +1014,7 @@ jQuery.checkState = function() {
});
// manually clean data on modified element
- jQuery.removeData( this, "olddisplay", true );
+ jQuery._removeData( this, "olddisplay" );
start();
};
@@ -1148,7 +1148,7 @@ function( method, defProp ) {
equal( defProp( $elem ), startVal, "After doing .stop() halfway through show, check that state has been saved for returning to original property value." );
// Remove olddisplay data from .hide() call
- jQuery.removeData( this, "olddisplay", true );
+ jQuery._removeData( this, "olddisplay" );
start();
});
}, animTime / 2);
@@ -1498,7 +1498,7 @@ test( "animate should set display for disconnected nodes", function() {
// cleanup
jQuery.each( elems, function() {
- jQuery.removeData( this[ 0 ], "olddisplay", true );
+ jQuery._removeData( this[ 0 ], "olddisplay" );
});
stop();
@@ -1515,7 +1515,7 @@ test( "animate should set display for disconnected nodes", function() {
var callback = [function () {
strictEqual( this.style.display, "block", "set display to block with " + name );
- jQuery.removeData( this, "olddisplay", true );
+ jQuery._removeData( this, "olddisplay" );
if ( ++i === 14 ) {
start();
diff --git a/test/unit/event.js b/test/unit/event.js
index e626ede1d..d6c24436a 100644
--- a/test/unit/event.js
+++ b/test/unit/event.js
@@ -798,8 +798,8 @@ test("unbind(eventObject)", function() {
assert( 0 );
});
-test("hover() and hover pseudo-event", function() {
- expect(3);
+test("hover() mouseenter mouseleave", function() {
+ expect(1);
var times = 0,
handler1 = function( event ) { ++times; },
@@ -817,30 +817,6 @@ test("hover() and hover pseudo-event", function() {
equal( times, 4, "hover handlers fired" );
- var balance = 0;
- jQuery( "#firstp" )
- .on( "hovercraft", function() {
- ok( false, "hovercraft is full of ills" );
- })
- .on( "click.hover.me.not", function( e ) {
- equal( e.handleObj.namespace, "hover.me.not", "hover hack doesn't mangle namespaces" );
- })
- .bind("hover", function( e ) {
- if ( e.type === "mouseenter" ) {
- balance++;
- } else if ( e.type === "mouseleave" ) {
- balance--;
- } else {
- ok( false, "hover pseudo: unknown event type "+e.type );
- }
- })
- .trigger("click")
- .trigger("mouseenter")
- .trigger("mouseleave")
- .unbind("hover")
- .trigger("mouseenter");
-
- equal( balance, 0, "hover pseudo-event" );
});
test("mouseover triggers mouseenter", function() {
diff --git a/test/unit/queue.js b/test/unit/queue.js
index 5307bfd2b..692975469 100644
--- a/test/unit/queue.js
+++ b/test/unit/queue.js
@@ -119,7 +119,7 @@ test("callbacks keep their place in the queue", function() {
div.promise("fx").done(function() {
equal(counter, 4, "Deferreds resolved");
- jQuery.removeData( div[0], "olddisplay", true );
+ jQuery._removeData( div[0], "olddisplay" );
start();
});
});
diff --git a/test/unit/support.js b/test/unit/support.js
index 57378a021..fed13c7dd 100644
--- a/test/unit/support.js
+++ b/test/unit/support.js
@@ -38,6 +38,11 @@ testIframeWithCallback( "A background on the testElement does not cause IE8 to c
ok( true, "IE8 does not crash" );
});
+testIframeWithCallback( "box-sizing does not affect jQuery.support.shrinkWrapBlocks", "support/shrinkWrapBlocks.html", function( shrinkWrapBlocks ) {
+ expect( 1 );
+ strictEqual( shrinkWrapBlocks, jQuery.support.shrinkWrapBlocks, "jQuery.support.shrinkWrapBlocks properties are the same" );
+});
+
(function() {
var userAgent = window.navigator.userAgent,
diff --git a/test/unit/traversing.js b/test/unit/traversing.js
index b93bede29..96b044977 100644
--- a/test/unit/traversing.js
+++ b/test/unit/traversing.js
@@ -582,7 +582,7 @@ test("contents()", function() {
});
test("add(String|Element|Array|undefined)", function() {
- expect(16);
+ expect( 15 );
deepEqual( jQuery("#sndp").add("#en").add("#sap").get(), q("sndp", "en", "sap"), "Check elements from document" );
deepEqual( jQuery("#sndp").add( jQuery("#en")[0] ).add( jQuery("#sap") ).get(), q("sndp", "en", "sap"), "Check elements from document" );
@@ -597,13 +597,10 @@ test("add(String|Element|Array|undefined)", function() {
//equal( jQuery([]).add(jQuery("#form")[0].elements).length, jQuery(jQuery("#form")[0].elements).length, "Array in constructor must equals array in add()" );
var divs = jQuery("<div/>").add("#sndp");
- ok( !divs[0].parentNode, "Make sure the first element is still the disconnected node." );
-
- divs = jQuery("<div>test</div>").add("#sndp");
- equal( divs[0].parentNode.nodeType, 11, "Make sure the first element is still the disconnected node." );
+ ok( divs[0].parentNode, "Sort with the disconnected node last (started with disconnected first)." );
divs = jQuery("#sndp").add("<div/>");
- ok( !divs[1].parentNode, "Make sure the first element is still the disconnected node." );
+ ok( !divs[1].parentNode, "Sort with the disconnected node last." );
var tmp = jQuery("<div/>");