mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Update jshintrc to conform to new style guide. Conform to onevar and unused in tests. Fixes #13755.
Conflicts: src/.jshintrc src/data.js test/unit/attributes.js test/unit/core.js test/unit/data.js test/unit/event.js test/unit/manipulation.js test/unit/queue.js test/unit/traversing.js test/unit/wrap.js
This commit is contained in:
parent
c6a694e1c2
commit
d2435ead36
11
.jshintrc
11
.jshintrc
@ -1,14 +1,17 @@
|
|||||||
{
|
{
|
||||||
|
"boss": true,
|
||||||
"curly": true,
|
"curly": true,
|
||||||
"eqeqeq": true,
|
"eqeqeq": true,
|
||||||
"latedef": true,
|
"eqnull": true,
|
||||||
|
"expr": true,
|
||||||
|
"immed": true,
|
||||||
"noarg": true,
|
"noarg": true,
|
||||||
"noempty": true,
|
"onevar": true,
|
||||||
"quotmark": "double",
|
"quotmark": "double",
|
||||||
|
"smarttabs": true,
|
||||||
|
"trailing": true,
|
||||||
"undef": true,
|
"undef": true,
|
||||||
"unused": true,
|
"unused": true,
|
||||||
"strict": true,
|
|
||||||
"trailing": true,
|
|
||||||
|
|
||||||
"node": true
|
"node": true
|
||||||
}
|
}
|
@ -411,7 +411,7 @@ module.exports = function( grunt ) {
|
|||||||
|
|
||||||
// Process files for distribution
|
// Process files for distribution
|
||||||
grunt.registerTask( "dist", function() {
|
grunt.registerTask( "dist", function() {
|
||||||
var flags, paths, stored;
|
var stored, flags, paths, fs, nonascii;
|
||||||
|
|
||||||
// Check for stored destination paths
|
// Check for stored destination paths
|
||||||
// ( set in dist/.destination.json )
|
// ( set in dist/.destination.json )
|
||||||
@ -426,7 +426,7 @@ module.exports = function( grunt ) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Ensure the dist files are pure ASCII
|
// Ensure the dist files are pure ASCII
|
||||||
var fs = require("fs"),
|
fs = require("fs");
|
||||||
nonascii = false;
|
nonascii = false;
|
||||||
|
|
||||||
distpaths.forEach(function( filename ) {
|
distpaths.forEach(function( filename ) {
|
||||||
|
@ -1,26 +1,26 @@
|
|||||||
{
|
{
|
||||||
|
"boss": true,
|
||||||
"curly": true,
|
"curly": true,
|
||||||
|
"eqeqeq": true,
|
||||||
|
"eqnull": true,
|
||||||
"expr": true,
|
"expr": true,
|
||||||
"newcap": false,
|
"immed": true,
|
||||||
|
"noarg": true,
|
||||||
"quotmark": "double",
|
"quotmark": "double",
|
||||||
|
"smarttabs": true,
|
||||||
"trailing": true,
|
"trailing": true,
|
||||||
"undef": true,
|
"undef": true,
|
||||||
"unused": true,
|
"unused": true,
|
||||||
"latedef": false,
|
|
||||||
"eqeqeq": true,
|
|
||||||
"maxerr": 100,
|
|
||||||
|
|
||||||
"eqnull": true,
|
|
||||||
"evil": true,
|
"evil": true,
|
||||||
"sub": true,
|
"sub": true,
|
||||||
"boss": true,
|
|
||||||
|
|
||||||
"browser": true,
|
"browser": true,
|
||||||
"wsh": true,
|
"wsh": true,
|
||||||
|
|
||||||
"predef": [
|
"globals": {
|
||||||
"define",
|
"define": true,
|
||||||
"module",
|
"module": true,
|
||||||
"jQuery"
|
"jQuery": true
|
||||||
]
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,19 @@
|
|||||||
{
|
{
|
||||||
|
"boss": true,
|
||||||
"curly": true,
|
"curly": true,
|
||||||
|
"eqeqeq": true,
|
||||||
|
"eqnull": true,
|
||||||
"expr": true,
|
"expr": true,
|
||||||
|
"immed": true,
|
||||||
|
"noarg": true,
|
||||||
|
"onevar": true,
|
||||||
"quotmark": "double",
|
"quotmark": "double",
|
||||||
|
"smarttabs": true,
|
||||||
"trailing": true,
|
"trailing": true,
|
||||||
"undef": true,
|
"undef": true,
|
||||||
"maxerr": 100,
|
"unused": true,
|
||||||
|
|
||||||
"eqnull": true,
|
|
||||||
"evil": true,
|
"evil": true,
|
||||||
"smarttabs": true,
|
|
||||||
"sub": true,
|
"sub": true,
|
||||||
|
|
||||||
"browser": true,
|
"browser": true,
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
var testBar = "bar";
|
this.testBar = "bar";
|
||||||
jQuery("#ap").html("bar");
|
jQuery("#ap").html("bar");
|
||||||
ok( true, "test.js executed");
|
ok( true, "test.js executed");
|
||||||
|
@ -3,11 +3,12 @@
|
|||||||
var amdDefined, fireNative,
|
var amdDefined, fireNative,
|
||||||
originaljQuery = this.jQuery || "jQuery",
|
originaljQuery = this.jQuery || "jQuery",
|
||||||
original$ = this.$ || "$",
|
original$ = this.$ || "$",
|
||||||
hasPHP = true,
|
|
||||||
isLocal = window.location.protocol === "file:",
|
|
||||||
// see RFC 2606
|
// see RFC 2606
|
||||||
externalHost = "example.com";
|
externalHost = "example.com";
|
||||||
|
|
||||||
|
this.hasPHP = true;
|
||||||
|
this.isLocal = window.location.protocol === "file:";
|
||||||
|
|
||||||
// For testing .noConflict()
|
// For testing .noConflict()
|
||||||
this.jQuery = originaljQuery;
|
this.jQuery = originaljQuery;
|
||||||
this.$ = original$;
|
this.$ = original$;
|
||||||
@ -26,7 +27,7 @@ define.amd = {};
|
|||||||
* @example q("main", "foo", "bar")
|
* @example q("main", "foo", "bar")
|
||||||
* @result [<div id="main">, <span id="foo">, <input id="bar">]
|
* @result [<div id="main">, <span id="foo">, <input id="bar">]
|
||||||
*/
|
*/
|
||||||
function q() {
|
this.q = function() {
|
||||||
var r = [],
|
var r = [],
|
||||||
i = 0;
|
i = 0;
|
||||||
|
|
||||||
@ -34,7 +35,7 @@ function q() {
|
|||||||
r.push( document.getElementById( arguments[i] ) );
|
r.push( document.getElementById( arguments[i] ) );
|
||||||
}
|
}
|
||||||
return r;
|
return r;
|
||||||
}
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Asserts that a select matches the given IDs
|
* Asserts that a select matches the given IDs
|
||||||
@ -44,7 +45,7 @@ function q() {
|
|||||||
* @example t("Check for something", "//[a]", ["foo", "baar"]);
|
* @example t("Check for something", "//[a]", ["foo", "baar"]);
|
||||||
* @result returns true if "//[a]" return two elements with the IDs 'foo' and 'baar'
|
* @result returns true if "//[a]" return two elements with the IDs 'foo' and 'baar'
|
||||||
*/
|
*/
|
||||||
function t( a, b, c ) {
|
this.t = function( a, b, c ) {
|
||||||
var f = jQuery(b).get(),
|
var f = jQuery(b).get(),
|
||||||
s = "",
|
s = "",
|
||||||
i = 0;
|
i = 0;
|
||||||
@ -54,9 +55,9 @@ function t( a, b, c ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
deepEqual(f, q.apply( q, c ), a + " (" + b + ")");
|
deepEqual(f, q.apply( q, c ), a + " (" + b + ")");
|
||||||
}
|
};
|
||||||
|
|
||||||
function createDashboardXML() {
|
this.createDashboardXML = function() {
|
||||||
var string = '<?xml version="1.0" encoding="UTF-8"?> \
|
var string = '<?xml version="1.0" encoding="UTF-8"?> \
|
||||||
<dashboard> \
|
<dashboard> \
|
||||||
<locations class="foo"> \
|
<locations class="foo"> \
|
||||||
@ -70,9 +71,9 @@ function createDashboardXML() {
|
|||||||
</dashboard>';
|
</dashboard>';
|
||||||
|
|
||||||
return jQuery.parseXML(string);
|
return jQuery.parseXML(string);
|
||||||
}
|
};
|
||||||
|
|
||||||
function createWithFriesXML() {
|
this.createWithFriesXML = function() {
|
||||||
var string = '<?xml version="1.0" encoding="UTF-8"?> \
|
var string = '<?xml version="1.0" encoding="UTF-8"?> \
|
||||||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" \
|
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" \
|
||||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" \
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema" \
|
||||||
@ -100,9 +101,9 @@ function createWithFriesXML() {
|
|||||||
</soap:Envelope>';
|
</soap:Envelope>';
|
||||||
|
|
||||||
return jQuery.parseXML( string.replace( /\{\{\s*externalHost\s*\}\}/g, externalHost ) );
|
return jQuery.parseXML( string.replace( /\{\{\s*externalHost\s*\}\}/g, externalHost ) );
|
||||||
}
|
};
|
||||||
|
|
||||||
function createXMLFragment() {
|
this.createXMLFragment = function() {
|
||||||
var xml, frag;
|
var xml, frag;
|
||||||
if ( window.ActiveXObject ) {
|
if ( window.ActiveXObject ) {
|
||||||
xml = new ActiveXObject("msxml2.domdocument");
|
xml = new ActiveXObject("msxml2.domdocument");
|
||||||
@ -115,7 +116,7 @@ function createXMLFragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return frag;
|
return frag;
|
||||||
}
|
};
|
||||||
|
|
||||||
fireNative = document.createEvent ?
|
fireNative = document.createEvent ?
|
||||||
function( node, type ) {
|
function( node, type ) {
|
||||||
@ -142,7 +143,7 @@ function url( value ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ajax testing helper
|
// Ajax testing helper
|
||||||
function ajaxTest( title, expect, options ) {
|
this.ajaxTest = function( title, expect, options ) {
|
||||||
var requestOptions;
|
var requestOptions;
|
||||||
if ( jQuery.isFunction( options ) ) {
|
if ( jQuery.isFunction( options ) ) {
|
||||||
options = options();
|
options = options();
|
||||||
@ -205,11 +206,10 @@ function ajaxTest( title, expect, options ) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
(function () {
|
|
||||||
|
|
||||||
this.testIframe = function( fileName, name, fn ) {
|
this.testIframe = function( fileName, name, fn ) {
|
||||||
|
|
||||||
test(name, function() {
|
test(name, function() {
|
||||||
// pause execution for now
|
// pause execution for now
|
||||||
@ -238,9 +238,9 @@ function ajaxTest( title, expect, options ) {
|
|||||||
iframe.contentWindow.location = src;
|
iframe.contentWindow.location = src;
|
||||||
return iframe;
|
return iframe;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
this.testIframeWithCallback = function( title, fileName, func ) {
|
this.testIframeWithCallback = function( title, fileName, func ) {
|
||||||
|
|
||||||
test( title, function() {
|
test( title, function() {
|
||||||
var iframe;
|
var iframe;
|
||||||
@ -261,7 +261,4 @@ function ajaxTest( title, expect, options ) {
|
|||||||
jQuery( "<iframe/>" ).attr( "src", url( "./data/" + fileName ) )
|
jQuery( "<iframe/>" ).attr( "src", url( "./data/" + fileName ) )
|
||||||
).appendTo( "body" );
|
).appendTo( "body" );
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
window.iframeCallback = undefined;
|
|
||||||
}());
|
|
||||||
|
@ -10,13 +10,13 @@ jQuery.each( [ jQuery.expando, "getInterface", "Packages", "java", "netscape" ],
|
|||||||
|
|
||||||
// Expose Sizzle for Sizzle's selector tests
|
// Expose Sizzle for Sizzle's selector tests
|
||||||
// We remove Sizzle's globalization in jQuery
|
// We remove Sizzle's globalization in jQuery
|
||||||
var Sizzle = Sizzle || jQuery.find;
|
var Sizzle = Sizzle || jQuery.find,
|
||||||
|
|
||||||
// Allow subprojects to test against their own fixtures
|
// Allow subprojects to test against their own fixtures
|
||||||
var qunitModule = QUnit.module,
|
qunitModule = QUnit.module,
|
||||||
qunitTest = QUnit.test;
|
qunitTest = QUnit.test;
|
||||||
|
|
||||||
function testSubproject( label, url, risTests ) {
|
this.testSubproject = function( label, url, risTests ) {
|
||||||
var sub, fixture, fixtureHTML,
|
var sub, fixture, fixtureHTML,
|
||||||
fixtureReplaced = false;
|
fixtureReplaced = false;
|
||||||
|
|
||||||
@ -132,11 +132,11 @@ function testSubproject( label, url, risTests ) {
|
|||||||
fn.apply( this, arguments );
|
fn.apply( this, arguments );
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
// Register globals for cleanup and the cleanup code itself
|
// Register globals for cleanup and the cleanup code itself
|
||||||
// Explanation at http://perfectionkills.com/understanding-delete/#ie_bugs
|
// Explanation at http://perfectionkills.com/understanding-delete/#ie_bugs
|
||||||
var Globals = (function() {
|
this.Globals = (function() {
|
||||||
var globals = {};
|
var globals = {};
|
||||||
return {
|
return {
|
||||||
register: function( name ) {
|
register: function( name ) {
|
||||||
|
@ -498,10 +498,10 @@ module( "ajax", {
|
|||||||
|
|
||||||
ajaxTest( "jQuery.ajax() - beforeSend", 1, {
|
ajaxTest( "jQuery.ajax() - beforeSend", 1, {
|
||||||
url: url("data/name.html"),
|
url: url("data/name.html"),
|
||||||
beforeSend: function( xml ) {
|
beforeSend: function() {
|
||||||
this.check = true;
|
this.check = true;
|
||||||
},
|
},
|
||||||
success: function( data ) {
|
success: function() {
|
||||||
ok( this.check, "check beforeSend was executed" );
|
ok( this.check, "check beforeSend was executed" );
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -571,14 +571,14 @@ module( "ajax", {
|
|||||||
});
|
});
|
||||||
|
|
||||||
asyncTest( "jQuery.ajax(), jQuery.get[Script|JSON](), jQuery.post(), pass-through request object", 8, function() {
|
asyncTest( "jQuery.ajax(), jQuery.get[Script|JSON](), jQuery.post(), pass-through request object", 8, function() {
|
||||||
var target = "data/name.html";
|
var target = "data/name.html",
|
||||||
var successCount = 0;
|
successCount = 0,
|
||||||
var errorCount = 0;
|
errorCount = 0,
|
||||||
var errorEx = "";
|
errorEx = "",
|
||||||
var success = function() {
|
success = function() {
|
||||||
successCount++;
|
successCount++;
|
||||||
};
|
};
|
||||||
jQuery( document ).on( "ajaxError.passthru", function( e, xml, s, ex ) {
|
jQuery( document ).on( "ajaxError.passthru", function( e, xml ) {
|
||||||
errorCount++;
|
errorCount++;
|
||||||
errorEx += ": " + xml.status;
|
errorEx += ": " + xml.status;
|
||||||
});
|
});
|
||||||
@ -842,7 +842,7 @@ module( "ajax", {
|
|||||||
},
|
},
|
||||||
url: window.location.href.replace( /[^\/]*$/, "" ) + "data/test.js",
|
url: window.location.href.replace( /[^\/]*$/, "" ) + "data/test.js",
|
||||||
dataType: "script",
|
dataType: "script",
|
||||||
success: function( data ) {
|
success: function() {
|
||||||
strictEqual( window["testBar"], "bar", "Script results returned (GET, no callback)" );
|
strictEqual( window["testBar"], "bar", "Script results returned (GET, no callback)" );
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -866,7 +866,7 @@ module( "ajax", {
|
|||||||
},
|
},
|
||||||
url: window.location.href.replace( /[^\/]*$/, "" ).replace( /^.*?\/\//, "//" ) + "data/test.js",
|
url: window.location.href.replace( /[^\/]*$/, "" ).replace( /^.*?\/\//, "//" ) + "data/test.js",
|
||||||
dataType: "script",
|
dataType: "script",
|
||||||
success: function( data ) {
|
success: function() {
|
||||||
strictEqual( window["testBar"], "bar", "Script results returned (GET, no callback)" );
|
strictEqual( window["testBar"], "bar", "Script results returned (GET, no callback)" );
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -1295,9 +1295,10 @@ module( "ajax", {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test( "#7531 - jQuery.ajax() - Location object as url", 1, function () {
|
test( "#7531 - jQuery.ajax() - Location object as url", 1, function () {
|
||||||
var success = false;
|
var xhr,
|
||||||
|
success = false;
|
||||||
try {
|
try {
|
||||||
var xhr = jQuery.ajax({
|
xhr = jQuery.ajax({
|
||||||
url: window.location
|
url: window.location
|
||||||
});
|
});
|
||||||
success = true;
|
success = true;
|
||||||
@ -1313,7 +1314,7 @@ module( "ajax", {
|
|||||||
url: "data/jsonp.php",
|
url: "data/jsonp.php",
|
||||||
dataType: "jsonp",
|
dataType: "jsonp",
|
||||||
crossDomain: crossDomain,
|
crossDomain: crossDomain,
|
||||||
beforeSend: function( jqXHR, s ) {
|
beforeSend: function() {
|
||||||
strictEqual( this.cache, false, "cache must be false on JSON request" );
|
strictEqual( this.cache, false, "cache must be false on JSON request" );
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
@ -1577,12 +1578,12 @@ module( "ajax", {
|
|||||||
var passed = 0,
|
var passed = 0,
|
||||||
pass = function() {
|
pass = function() {
|
||||||
ok( passed++ < 2, "Error callback executed" );
|
ok( passed++ < 2, "Error callback executed" );
|
||||||
if ( passed == 2 ) {
|
if ( passed === 2 ) {
|
||||||
jQuery( document ).off("ajaxError.setupTest");
|
jQuery( document ).off("ajaxError.setupTest");
|
||||||
start();
|
start();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
fail = function( a, b, c ) {
|
fail = function( a, b ) {
|
||||||
ok( false, "Check for timeout failed " + a + " " + b );
|
ok( false, "Check for timeout failed " + a + " " + b );
|
||||||
start();
|
start();
|
||||||
};
|
};
|
||||||
@ -1700,7 +1701,7 @@ module( "ajax", {
|
|||||||
Globals.register("JSON");
|
Globals.register("JSON");
|
||||||
}
|
}
|
||||||
window.JSON = {
|
window.JSON = {
|
||||||
parse: function( str ) {
|
parse: function() {
|
||||||
ok( true, "Verifying that parse method was run" );
|
ok( true, "Verifying that parse method was run" );
|
||||||
window.JSON = old;
|
window.JSON = old;
|
||||||
return true;
|
return true;
|
||||||
@ -1724,7 +1725,7 @@ module( "ajax", {
|
|||||||
|
|
||||||
asyncTest( "jQuery.getScript( String, Function ) - with callback", 2, function() {
|
asyncTest( "jQuery.getScript( String, Function ) - with callback", 2, function() {
|
||||||
Globals.register("testBar");
|
Globals.register("testBar");
|
||||||
jQuery.getScript( url("data/test.js"), function( data, _, jqXHR ) {
|
jQuery.getScript( url("data/test.js"), function() {
|
||||||
strictEqual( window["testBar"], "bar", "Check if script was evaluated" );
|
strictEqual( window["testBar"], "bar", "Check if script was evaluated" );
|
||||||
start();
|
start();
|
||||||
});
|
});
|
||||||
@ -1861,8 +1862,7 @@ module( "ajax", {
|
|||||||
});
|
});
|
||||||
|
|
||||||
asyncTest( "jQuery.fn.load() - callbacks get the correct parameters", 8, function() {
|
asyncTest( "jQuery.fn.load() - callbacks get the correct parameters", 8, function() {
|
||||||
var slice = [].slice,
|
var completeArgs = {};
|
||||||
completeArgs = {};
|
|
||||||
|
|
||||||
jQuery.ajaxSetup({
|
jQuery.ajaxSetup({
|
||||||
success: function( _, status, jqXHR ) {
|
success: function( _, status, jqXHR ) {
|
||||||
|
@ -2,15 +2,15 @@ module( "attributes", {
|
|||||||
teardown: moduleTeardown
|
teardown: moduleTeardown
|
||||||
});
|
});
|
||||||
|
|
||||||
var bareObj = function( value ) {
|
function bareObj( value ) {
|
||||||
return value;
|
return value;
|
||||||
};
|
}
|
||||||
|
|
||||||
var functionReturningObj = function( value ) {
|
function functionReturningObj( value ) {
|
||||||
return (function() {
|
return function() {
|
||||||
return value;
|
return value;
|
||||||
});
|
};
|
||||||
};
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
======== local reference =======
|
======== local reference =======
|
||||||
@ -56,6 +56,10 @@ test( "jQuery.propFix integrity test", function() {
|
|||||||
test( "attr(String)", function() {
|
test( "attr(String)", function() {
|
||||||
expect( 50 );
|
expect( 50 );
|
||||||
|
|
||||||
|
var extras, body, $body,
|
||||||
|
select, optgroup, option, $img, styleElem,
|
||||||
|
$button, $form, $a;
|
||||||
|
|
||||||
equal( jQuery("#text1").attr("type"), "text", "Check for type attribute" );
|
equal( jQuery("#text1").attr("type"), "text", "Check for type attribute" );
|
||||||
equal( jQuery("#radio1").attr("type"), "radio", "Check for type attribute" );
|
equal( jQuery("#radio1").attr("type"), "radio", "Check for type attribute" );
|
||||||
equal( jQuery("#check1").attr("type"), "checkbox", "Check for type attribute" );
|
equal( jQuery("#check1").attr("type"), "checkbox", "Check for type attribute" );
|
||||||
@ -74,7 +78,7 @@ test( "attr(String)", function() {
|
|||||||
equal( jQuery("#foo").attr("height"), undefined, "Non existent height attribute should return undefined" );
|
equal( jQuery("#foo").attr("height"), undefined, "Non existent height attribute should return undefined" );
|
||||||
|
|
||||||
// [7472] & [3113] (form contains an input with name="action" or name="id")
|
// [7472] & [3113] (form contains an input with name="action" or name="id")
|
||||||
var extras = jQuery("<input id='id' name='id' /><input id='name' name='name' /><input id='target' name='target' />").appendTo("#testForm");
|
extras = jQuery("<input id='id' name='id' /><input id='name' name='name' /><input id='target' name='target' />").appendTo("#testForm");
|
||||||
equal( jQuery("#form").attr("action","newformaction").attr("action"), "newformaction", "Check that action attribute was changed" );
|
equal( jQuery("#form").attr("action","newformaction").attr("action"), "newformaction", "Check that action attribute was changed" );
|
||||||
equal( jQuery("#testForm").attr("target"), undefined, "Retrieving target does not equal the input with name=target" );
|
equal( jQuery("#testForm").attr("target"), undefined, "Retrieving target does not equal the input with name=target" );
|
||||||
equal( jQuery("#testForm").attr("target", "newTarget").attr("target"), "newTarget", "Set target successfully on a form" );
|
equal( jQuery("#testForm").attr("target", "newTarget").attr("target"), "newTarget", "Set target successfully on a form" );
|
||||||
@ -104,7 +108,8 @@ test( "attr(String)", function() {
|
|||||||
equal( jQuery("#list-test").attr("list"), "datalist", "Check setting list attribute" );
|
equal( jQuery("#list-test").attr("list"), "datalist", "Check setting list attribute" );
|
||||||
|
|
||||||
// Related to [5574] and [5683]
|
// Related to [5574] and [5683]
|
||||||
var body = document.body, $body = jQuery( body );
|
body = document.body;
|
||||||
|
$body = jQuery( body );
|
||||||
|
|
||||||
strictEqual( $body.attr("foo"), undefined, "Make sure that a non existent attribute returns undefined" );
|
strictEqual( $body.attr("foo"), undefined, "Make sure that a non existent attribute returns undefined" );
|
||||||
|
|
||||||
@ -116,8 +121,8 @@ test( "attr(String)", function() {
|
|||||||
|
|
||||||
body.removeAttribute("foo"); // Cleanup
|
body.removeAttribute("foo"); // Cleanup
|
||||||
|
|
||||||
var select = document.createElement("select"),
|
select = document.createElement("select");
|
||||||
optgroup = document.createElement("optgroup"),
|
optgroup = document.createElement("optgroup");
|
||||||
option = document.createElement("option");
|
option = document.createElement("option");
|
||||||
|
|
||||||
optgroup.appendChild( option );
|
optgroup.appendChild( option );
|
||||||
@ -125,19 +130,19 @@ test( "attr(String)", function() {
|
|||||||
|
|
||||||
equal( jQuery( option ).prop("selected"), true, "Make sure that a single option is selected, even when in an optgroup." );
|
equal( jQuery( option ).prop("selected"), true, "Make sure that a single option is selected, even when in an optgroup." );
|
||||||
|
|
||||||
var $img = jQuery("<img style='display:none' width='215' height='53' src='data/1x1.jpg'/>").appendTo("body");
|
$img = jQuery("<img style='display:none' width='215' height='53' src='data/1x1.jpg'/>").appendTo("body");
|
||||||
equal( $img.attr("width"), "215", "Retrieve width attribute an an element with display:none." );
|
equal( $img.attr("width"), "215", "Retrieve width attribute an an element with display:none." );
|
||||||
equal( $img.attr("height"), "53", "Retrieve height attribute an an element with display:none." );
|
equal( $img.attr("height"), "53", "Retrieve height attribute an an element with display:none." );
|
||||||
|
|
||||||
// Check for style support
|
// Check for style support
|
||||||
var styleElem = jQuery("<div/>").appendTo("#qunit-fixture").css({
|
styleElem = jQuery("<div/>").appendTo("#qunit-fixture").css({
|
||||||
background: "url(UPPERlower.gif)"
|
background: "url(UPPERlower.gif)"
|
||||||
});
|
});
|
||||||
ok( !!~styleElem.attr("style").indexOf("UPPERlower.gif"), "Check style attribute getter" );
|
ok( !!~styleElem.attr("style").indexOf("UPPERlower.gif"), "Check style attribute getter" );
|
||||||
ok( !!~styleElem.attr("style", "position:absolute;").attr("style").indexOf("absolute"), "Check style setter" );
|
ok( !!~styleElem.attr("style", "position:absolute;").attr("style").indexOf("absolute"), "Check style setter" );
|
||||||
|
|
||||||
// Check value on button element (#1954)
|
// Check value on button element (#1954)
|
||||||
var $button = jQuery("<button>text</button>").insertAfter("#button");
|
$button = jQuery("<button>text</button>").insertAfter("#button");
|
||||||
strictEqual( $button.attr("value"), undefined, "Absence of value attribute on a button" );
|
strictEqual( $button.attr("value"), undefined, "Absence of value attribute on a button" );
|
||||||
equal( $button.attr( "value", "foobar" ).attr("value"), "foobar", "Value attribute on a button does not return innerHTML" );
|
equal( $button.attr( "value", "foobar" ).attr("value"), "foobar", "Value attribute on a button does not return innerHTML" );
|
||||||
equal( $button.attr("value", "baz").html(), "text", "Setting the value attribute does not change innerHTML" );
|
equal( $button.attr("value", "baz").html(), "text", "Setting the value attribute does not change innerHTML" );
|
||||||
@ -146,10 +151,10 @@ test( "attr(String)", function() {
|
|||||||
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"), 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");
|
$form = jQuery("<form class='something'></form>").appendTo("#qunit-fixture");
|
||||||
equal( $form.attr("class"), "something", "Retrieve the class attribute on a form." );
|
equal( $form.attr("class"), "something", "Retrieve the class attribute on a form." );
|
||||||
|
|
||||||
var $a = jQuery("<a href='#' onclick='something()'>Click</a>").appendTo("#qunit-fixture");
|
$a = jQuery("<a href='#' onclick='something()'>Click</a>").appendTo("#qunit-fixture");
|
||||||
equal( $a.attr("onclick"), "something()", "Retrieve ^on attribute without anonymous function wrapper." );
|
equal( $a.attr("onclick"), "something()", "Retrieve ^on attribute without anonymous function wrapper." );
|
||||||
|
|
||||||
ok( jQuery("<div/>").attr("doesntexist") === undefined, "Make sure undefined is returned when no attribute is found." );
|
ok( jQuery("<div/>").attr("doesntexist") === undefined, "Make sure undefined is returned when no attribute is found." );
|
||||||
@ -222,7 +227,7 @@ test( "attr(Hash)", function() {
|
|||||||
"foo": "baz",
|
"foo": "baz",
|
||||||
"zoo": "ping"
|
"zoo": "ping"
|
||||||
}).each(function() {
|
}).each(function() {
|
||||||
if ( this.getAttribute("foo") != "baz" && this.getAttribute("zoo") != "ping" ) {
|
if ( this.getAttribute("foo") !== "baz" && this.getAttribute("zoo") !== "ping" ) {
|
||||||
pass = false;
|
pass = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -252,7 +257,11 @@ test( "attr(Hash)", function() {
|
|||||||
test( "attr(String, Object)", function() {
|
test( "attr(String, Object)", function() {
|
||||||
expect( 71 );
|
expect( 71 );
|
||||||
|
|
||||||
var div = jQuery("div").attr("foo", "bar"),
|
var $input, $text, $details,
|
||||||
|
attributeNode, commentNode, textNode, obj,
|
||||||
|
table, td, j, type,
|
||||||
|
check, thrown, button, $radio, $radios, $svg,
|
||||||
|
div = jQuery("div").attr("foo", "bar"),
|
||||||
i = 0,
|
i = 0,
|
||||||
fail = false;
|
fail = false;
|
||||||
|
|
||||||
@ -277,7 +286,7 @@ test( "attr(String, Object)", function() {
|
|||||||
jQuery("#name").attr( "name", null );
|
jQuery("#name").attr( "name", null );
|
||||||
equal( jQuery("#name").attr("name"), undefined, "Remove name attribute" );
|
equal( jQuery("#name").attr("name"), undefined, "Remove name attribute" );
|
||||||
|
|
||||||
var $input = jQuery( "<input>", {
|
$input = jQuery( "<input>", {
|
||||||
name: "something",
|
name: "something",
|
||||||
id: "specified"
|
id: "specified"
|
||||||
});
|
});
|
||||||
@ -315,7 +324,7 @@ test( "attr(String, Object)", function() {
|
|||||||
$input = jQuery("#check2").attr( "checked", false ).attr( "checked", "checked" );
|
$input = jQuery("#check2").attr( "checked", false ).attr( "checked", "checked" );
|
||||||
equal( $input.attr("checked"), "checked", "Set checked to 'checked' (verified by .attr)" );
|
equal( $input.attr("checked"), "checked", "Set checked to 'checked' (verified by .attr)" );
|
||||||
|
|
||||||
var $radios = jQuery("#checkedtest").find("input[type='radio']");
|
$radios = jQuery("#checkedtest").find("input[type='radio']");
|
||||||
$radios.eq( 1 ).trigger("click");
|
$radios.eq( 1 ).trigger("click");
|
||||||
equal( $radios.eq( 1 ).prop("checked"), true, "Second radio was checked when clicked" );
|
equal( $radios.eq( 1 ).prop("checked"), true, "Second radio was checked when clicked" );
|
||||||
equal( $radios.eq( 0 ).attr("checked"), "checked", "First radio is still [checked]" );
|
equal( $radios.eq( 0 ).attr("checked"), "checked", "First radio is still [checked]" );
|
||||||
@ -333,7 +342,7 @@ test( "attr(String, Object)", function() {
|
|||||||
equal( $input[0].maxLength, 10, "Set maxlength (verified by native property)" );
|
equal( $input[0].maxLength, 10, "Set maxlength (verified by native property)" );
|
||||||
|
|
||||||
// HTML5 boolean attributes
|
// HTML5 boolean attributes
|
||||||
var $text = jQuery("#text1").attr({
|
$text = jQuery("#text1").attr({
|
||||||
"autofocus": true,
|
"autofocus": true,
|
||||||
"required": true
|
"required": true
|
||||||
});
|
});
|
||||||
@ -342,7 +351,7 @@ test( "attr(String, Object)", function() {
|
|||||||
equal( $text.attr("required"), "required", "Reading required attribute yields 'required'" );
|
equal( $text.attr("required"), "required", "Reading required attribute yields 'required'" );
|
||||||
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");
|
$details = jQuery("<details open></details>").appendTo("#qunit-fixture");
|
||||||
equal( $details.attr("open"), "open", "open attribute presence indicates true" );
|
equal( $details.attr("open"), "open", "open attribute presence 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" );
|
||||||
|
|
||||||
@ -358,9 +367,9 @@ test( "attr(String, Object)", function() {
|
|||||||
jQuery("#foo").attr("contenteditable", true);
|
jQuery("#foo").attr("contenteditable", true);
|
||||||
equal( jQuery("#foo").attr("contenteditable"), "true", "Enumerated attributes are set properly" );
|
equal( jQuery("#foo").attr("contenteditable"), "true", "Enumerated attributes are set properly" );
|
||||||
|
|
||||||
var attributeNode = document.createAttribute("irrelevant"),
|
attributeNode = document.createAttribute("irrelevant");
|
||||||
commentNode = document.createComment("some comment"),
|
commentNode = document.createComment("some comment");
|
||||||
textNode = document.createTextNode("some text"),
|
textNode = document.createTextNode("some text");
|
||||||
obj = {};
|
obj = {};
|
||||||
|
|
||||||
jQuery.each( [ commentNode, textNode, attributeNode ], function( i, elem ) {
|
jQuery.each( [ commentNode, textNode, attributeNode ], function( i, elem ) {
|
||||||
@ -379,7 +388,7 @@ test( "attr(String, Object)", function() {
|
|||||||
elem.nonexisting = oldVal;
|
elem.nonexisting = oldVal;
|
||||||
});
|
});
|
||||||
|
|
||||||
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>"),
|
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").eq(0);
|
td = table.find("td").eq(0);
|
||||||
td.attr( "rowspan", "2" );
|
td.attr( "rowspan", "2" );
|
||||||
equal( td[ 0 ]["rowSpan"], 2, "Check rowspan is correctly set" );
|
equal( td[ 0 ]["rowSpan"], 2, "Check rowspan is correctly set" );
|
||||||
@ -399,14 +408,14 @@ test( "attr(String, Object)", function() {
|
|||||||
equal( jQuery("#name").attr("someAttr"), "1", "Set attribute to the number 1" );
|
equal( jQuery("#name").attr("someAttr"), "1", "Set attribute to the number 1" );
|
||||||
|
|
||||||
// using contents will get comments regular, text, and comment nodes
|
// using contents will get comments regular, text, and comment nodes
|
||||||
var j = jQuery("#nonnodes").contents();
|
j = jQuery("#nonnodes").contents();
|
||||||
|
|
||||||
j.attr( "name", "attrvalue" );
|
j.attr( "name", "attrvalue" );
|
||||||
equal( j.attr("name"), "attrvalue", "Check node,textnode,comment for attr" );
|
equal( j.attr("name"), "attrvalue", "Check node,textnode,comment for attr" );
|
||||||
j.removeAttr("name");
|
j.removeAttr("name");
|
||||||
|
|
||||||
// Type
|
// Type
|
||||||
var type = jQuery("#check2").attr("type");
|
type = jQuery("#check2").attr("type");
|
||||||
try {
|
try {
|
||||||
jQuery("#check2").attr( "type", "hidden" );
|
jQuery("#check2").attr( "type", "hidden" );
|
||||||
ok( true, "No exception thrown on input type change" );
|
ok( true, "No exception thrown on input type change" );
|
||||||
@ -414,8 +423,8 @@ test( "attr(String, Object)", function() {
|
|||||||
ok( true, "Exception thrown on input type change: " + e );
|
ok( true, "Exception thrown on input type change: " + e );
|
||||||
}
|
}
|
||||||
|
|
||||||
var check = document.createElement("input");
|
check = document.createElement("input");
|
||||||
var thrown = true;
|
thrown = true;
|
||||||
try {
|
try {
|
||||||
jQuery( check ).attr( "type", "checkbox" );
|
jQuery( check ).attr( "type", "checkbox" );
|
||||||
} catch( e ) {
|
} catch( e ) {
|
||||||
@ -434,7 +443,7 @@ test( "attr(String, Object)", function() {
|
|||||||
ok( thrown, "Exception thrown when trying to change type property" );
|
ok( thrown, "Exception thrown when trying to change type property" );
|
||||||
equal( "checkbox", check.attr("type"), "Verify that you can change the type of an input element that isn't in the DOM" );
|
equal( "checkbox", check.attr("type"), "Verify that you can change the type of an input element that isn't in the DOM" );
|
||||||
|
|
||||||
var button = jQuery("#button");
|
button = jQuery("#button");
|
||||||
try {
|
try {
|
||||||
button.attr( "type", "submit" );
|
button.attr( "type", "submit" );
|
||||||
ok( true, "No exception thrown on button type change" );
|
ok( true, "No exception thrown on button type change" );
|
||||||
@ -442,16 +451,15 @@ test( "attr(String, Object)", function() {
|
|||||||
ok( true, "Exception thrown on button type change: " + e );
|
ok( true, "Exception thrown on button type change: " + e );
|
||||||
}
|
}
|
||||||
|
|
||||||
var $radio = jQuery( "<input>", {
|
$radio = jQuery( "<input>", {
|
||||||
"value": "sup",
|
"value": "sup",
|
||||||
"type": "radio"
|
"type": "radio"
|
||||||
}).appendTo("#testForm");
|
}).appendTo("#testForm");
|
||||||
equal( $radio.val(), "sup", "Value is not reset when type is set after value on a radio" );
|
equal( $radio.val(), "sup", "Value is not reset when type is set after value on a radio" );
|
||||||
|
|
||||||
// Setting attributes on svg elements (bug #3116)
|
// Setting attributes on svg elements (bug #3116)
|
||||||
var $svg = jQuery(
|
$svg = jQuery(
|
||||||
"<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' baseProfile='full' width='200' height='200'>" +
|
"<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' baseProfile='full' width='200' height='200'>" +
|
||||||
|
|
||||||
"<circle cx='200' cy='200' r='150' />" +
|
"<circle cx='200' cy='200' r='150' />" +
|
||||||
"</svg>"
|
"</svg>"
|
||||||
).appendTo("body");
|
).appendTo("body");
|
||||||
@ -467,8 +475,8 @@ test( "attr(String, Object)", function() {
|
|||||||
|
|
||||||
test( "attr(String, Object) - Loaded via XML document", function() {
|
test( "attr(String, Object) - Loaded via XML document", function() {
|
||||||
expect( 2 );
|
expect( 2 );
|
||||||
var xml = createDashboardXML();
|
var xml = createDashboardXML(),
|
||||||
var titles = [];
|
titles = [];
|
||||||
jQuery( "tab", xml ).each(function() {
|
jQuery( "tab", xml ).each(function() {
|
||||||
titles.push( jQuery( this ).attr("title") );
|
titles.push( jQuery( this ).attr("title") );
|
||||||
});
|
});
|
||||||
@ -611,7 +619,7 @@ test( "removeAttr(Multi String, variable space width)", function() {
|
|||||||
|
|
||||||
div.removeAttr( "id alt title rel " );
|
div.removeAttr( "id alt title rel " );
|
||||||
|
|
||||||
jQuery.each( tests, function( key, val ) {
|
jQuery.each( tests, function( key ) {
|
||||||
equal( div.attr( key ), undefined, "Attribute `" + key + "` was removed" );
|
equal( div.attr( key ), undefined, "Attribute `" + key + "` was removed" );
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -647,7 +655,8 @@ test( "prop(String, Object)", function() {
|
|||||||
equal( jQuery("#table").prop("frameBorder"), 1, "Check setting and retrieving frameBorder" );
|
equal( jQuery("#table").prop("frameBorder"), 1, "Check setting and retrieving frameBorder" );
|
||||||
QUnit.reset();
|
QUnit.reset();
|
||||||
|
|
||||||
var body = document.body,
|
var select, optgroup, option, attributeNode, commentNode, textNode, obj, $form,
|
||||||
|
body = document.body,
|
||||||
$body = jQuery( body );
|
$body = jQuery( body );
|
||||||
|
|
||||||
ok( $body.prop("nextSibling") === null, "Make sure a null expando returns null" );
|
ok( $body.prop("nextSibling") === null, "Make sure a null expando returns null" );
|
||||||
@ -656,8 +665,8 @@ test( "prop(String, Object)", function() {
|
|||||||
body["foo"] = undefined;
|
body["foo"] = undefined;
|
||||||
ok( $body.prop("foo") === undefined, "Make sure the expando is preferred over the dom attribute, even if undefined" );
|
ok( $body.prop("foo") === undefined, "Make sure the expando is preferred over the dom attribute, even if undefined" );
|
||||||
|
|
||||||
var select = document.createElement("select"),
|
select = document.createElement("select");
|
||||||
optgroup = document.createElement("optgroup"),
|
optgroup = document.createElement("optgroup");
|
||||||
option = document.createElement("option");
|
option = document.createElement("option");
|
||||||
|
|
||||||
optgroup.appendChild( option );
|
optgroup.appendChild( option );
|
||||||
@ -666,9 +675,9 @@ test( "prop(String, Object)", function() {
|
|||||||
equal( jQuery( option ).prop("selected"), true, "Make sure that a single option is selected, even when in an 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( document ).prop("nodeName"), "#document", "prop works correctly on document nodes (bug #7451)." );
|
||||||
|
|
||||||
var attributeNode = document.createAttribute("irrelevant"),
|
attributeNode = document.createAttribute("irrelevant");
|
||||||
commentNode = document.createComment("some comment"),
|
commentNode = document.createComment("some comment");
|
||||||
textNode = document.createTextNode("some text"),
|
textNode = document.createTextNode("some text");
|
||||||
obj = {};
|
obj = {};
|
||||||
jQuery.each( [ document, attributeNode, commentNode, textNode, obj, "#firstp" ], function( i, ele ) {
|
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)." );
|
strictEqual( jQuery( ele ).prop("nonexisting"), undefined, "prop works correctly for non existing attributes (bug #7500)." );
|
||||||
@ -682,7 +691,7 @@ test( "prop(String, Object)", function() {
|
|||||||
});
|
});
|
||||||
jQuery( document ).removeProp("nonexisting");
|
jQuery( document ).removeProp("nonexisting");
|
||||||
|
|
||||||
var $form = jQuery("#form").prop( "enctype", "multipart/form-data" );
|
$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)" );
|
equal( $form.prop("enctype"), "multipart/form-data", "Set the enctype of a form (encoding in IE6/7 #6743)" );
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -779,6 +788,8 @@ test( "removeProp(String)", function() {
|
|||||||
test( "val()", function() {
|
test( "val()", function() {
|
||||||
expect( 21 + ( jQuery.fn.serialize ? 6 : 0 ) );
|
expect( 21 + ( jQuery.fn.serialize ? 6 : 0 ) );
|
||||||
|
|
||||||
|
var checks, $button;
|
||||||
|
|
||||||
document.getElementById("text1").value = "bla";
|
document.getElementById("text1").value = "bla";
|
||||||
equal( jQuery("#text1").val(), "bla", "Check for modified value of input element" );
|
equal( jQuery("#text1").val(), "bla", "Check for modified value of input element" );
|
||||||
|
|
||||||
@ -827,7 +838,7 @@ test( "val()", function() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
if ( jQuery.fn.serialize ) {
|
if ( jQuery.fn.serialize ) {
|
||||||
var checks = jQuery("<input type='checkbox' name='test' value='1'/><input type='checkbox' name='test' value='2'/><input type='checkbox' name='test' value=''/><input type='checkbox' name='test'/>").appendTo("#form");
|
checks = jQuery("<input type='checkbox' name='test' value='1'/><input type='checkbox' name='test' value='2'/><input type='checkbox' name='test' value=''/><input type='checkbox' name='test'/>").appendTo("#form");
|
||||||
|
|
||||||
deepEqual( checks.serialize(), "", "Get unchecked values." );
|
deepEqual( checks.serialize(), "", "Get unchecked values." );
|
||||||
|
|
||||||
@ -848,7 +859,7 @@ test( "val()", function() {
|
|||||||
checks.remove();
|
checks.remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
var $button = jQuery("<button value='foobar'>text</button>").insertAfter("#button");
|
$button = jQuery("<button value='foobar'>text</button>").insertAfter("#button");
|
||||||
equal( $button.val(), "foobar", "Value retrieval on a button does not return innerHTML" );
|
equal( $button.val(), "foobar", "Value retrieval on a button does not return innerHTML" );
|
||||||
equal( $button.val("baz").html(), "text", "Setting the value does not change innerHTML" );
|
equal( $button.val("baz").html(), "text", "Setting the value does not change innerHTML" );
|
||||||
|
|
||||||
@ -911,7 +922,8 @@ var testVal = function( valueObj ) {
|
|||||||
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" );
|
equal( document.getElementById("text1").value, "", "Check for modified (via val(null)) value of input element" );
|
||||||
|
|
||||||
var $select1 = jQuery("#select1");
|
var j,
|
||||||
|
$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" );
|
equal( $select1.val(), "3", "Check for modified (via val(String)) value of select element" );
|
||||||
|
|
||||||
@ -923,7 +935,7 @@ var testVal = function( valueObj ) {
|
|||||||
equal( $select1.val(), "4", "Should be possible to set the val() to a newly created option" );
|
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
|
// using contents will get comments regular, text, and comment nodes
|
||||||
var j = jQuery("#nonnodes").contents();
|
j = jQuery("#nonnodes").contents();
|
||||||
j.val( valueObj( "asdf" ) );
|
j.val( valueObj( "asdf" ) );
|
||||||
equal( j.val(), "asdf", "Check node,textnode,comment with val()" );
|
equal( j.val(), "asdf", "Check node,textnode,comment with val()" );
|
||||||
j.removeAttr("value");
|
j.removeAttr("value");
|
||||||
@ -1023,10 +1035,12 @@ test( "val(select) after form.reset() (Bug #2551)", function() {
|
|||||||
var testAddClass = function( valueObj ) {
|
var testAddClass = function( valueObj ) {
|
||||||
expect( 9 );
|
expect( 9 );
|
||||||
|
|
||||||
var div = jQuery("#qunit-fixture div");
|
var pass, j, i,
|
||||||
|
div = jQuery("#qunit-fixture div");
|
||||||
|
|
||||||
div.addClass( valueObj("test") );
|
div.addClass( valueObj("test") );
|
||||||
var pass = true;
|
pass = true;
|
||||||
for ( var i = 0; i < div.size(); i++ ) {
|
for ( i = 0; i < div.length; i++ ) {
|
||||||
if ( !~div.get( i ).className.indexOf("test") ) {
|
if ( !~div.get( i ).className.indexOf("test") ) {
|
||||||
pass = false;
|
pass = false;
|
||||||
}
|
}
|
||||||
@ -1034,7 +1048,7 @@ var testAddClass = function( valueObj ) {
|
|||||||
ok( pass, "Add Class" );
|
ok( pass, "Add Class" );
|
||||||
|
|
||||||
// using contents will get regular, text, and comment nodes
|
// using contents will get regular, text, and comment nodes
|
||||||
var j = jQuery("#nonnodes").contents();
|
j = jQuery("#nonnodes").contents();
|
||||||
j.addClass( valueObj("asdf") );
|
j.addClass( valueObj("asdf") );
|
||||||
ok( j.hasClass("asdf"), "Check node,textnode,comment for addClass" );
|
ok( j.hasClass("asdf"), "Check node,textnode,comment for addClass" );
|
||||||
|
|
||||||
@ -1075,7 +1089,8 @@ test( "addClass(Function)", function() {
|
|||||||
|
|
||||||
test( "addClass(Function) with incoming value", function() {
|
test( "addClass(Function) with incoming value", function() {
|
||||||
expect( 52 );
|
expect( 52 );
|
||||||
var div = jQuery("#qunit-fixture div"),
|
var pass, i,
|
||||||
|
div = jQuery("#qunit-fixture div"),
|
||||||
old = div.map(function() {
|
old = div.map(function() {
|
||||||
return jQuery(this).attr("class") || "";
|
return jQuery(this).attr("class") || "";
|
||||||
});
|
});
|
||||||
@ -1087,9 +1102,9 @@ test( "addClass(Function) with incoming value", function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var pass = true;
|
pass = true;
|
||||||
for ( var i = 0; i < div.length; i++ ) {
|
for ( i = 0; i < div.length; i++ ) {
|
||||||
if ( div.get(i).className.indexOf("test") == -1 ) {
|
if ( div.get(i).className.indexOf("test") === -1 ) {
|
||||||
pass = false;
|
pass = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@ jQuery.each( tests, function( strFlags, resultString ) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
jQuery.each( filters, function( filterLabel, filter ) {
|
jQuery.each( filters, function( filterLabel ) {
|
||||||
|
|
||||||
jQuery.each({
|
jQuery.each({
|
||||||
"string": strFlags,
|
"string": strFlags,
|
||||||
@ -220,7 +220,7 @@ jQuery.each( tests, function( strFlags, resultString ) {
|
|||||||
|
|
||||||
// Callbacks are not iterated
|
// Callbacks are not iterated
|
||||||
output = "";
|
output = "";
|
||||||
function handler( tmp ) {
|
function handler() {
|
||||||
output += "X";
|
output += "X";
|
||||||
}
|
}
|
||||||
handler.method = function() {
|
handler.method = function() {
|
||||||
|
@ -285,10 +285,10 @@ test("type", function() {
|
|||||||
equal( jQuery.type(document.getElementsByTagName("*")), "object", "NodeList" );
|
equal( jQuery.type(document.getElementsByTagName("*")), "object", "NodeList" );
|
||||||
|
|
||||||
// Avoid Lint complaints
|
// Avoid Lint complaints
|
||||||
var MyString = String;
|
var MyString = String,
|
||||||
var MyNumber = Number;
|
MyNumber = Number,
|
||||||
var MyBoolean = Boolean;
|
MyBoolean = Boolean,
|
||||||
var MyObject = Object;
|
MyObject = Object;
|
||||||
equal( jQuery.type(new MyBoolean(true)), "boolean", "Boolean" );
|
equal( jQuery.type(new MyBoolean(true)), "boolean", "Boolean" );
|
||||||
equal( jQuery.type(new MyNumber(1)), "number", "Number" );
|
equal( jQuery.type(new MyNumber(1)), "number", "Number" );
|
||||||
equal( jQuery.type(new MyString("a")), "string", "String" );
|
equal( jQuery.type(new MyString("a")), "string", "String" );
|
||||||
@ -375,6 +375,8 @@ asyncTest("isPlainObject", function() {
|
|||||||
test("isFunction", function() {
|
test("isFunction", function() {
|
||||||
expect(19);
|
expect(19);
|
||||||
|
|
||||||
|
var mystr, myarr, myfunction, fn, obj, nodes, first, input, a;
|
||||||
|
|
||||||
// Make sure that false values return false
|
// Make sure that false values return false
|
||||||
ok( !jQuery.isFunction(), "No Value" );
|
ok( !jQuery.isFunction(), "No Value" );
|
||||||
ok( !jQuery.isFunction( null ), "null Value" );
|
ok( !jQuery.isFunction( null ), "null Value" );
|
||||||
@ -390,22 +392,22 @@ test("isFunction", function() {
|
|||||||
ok( jQuery.isFunction(Function), "Function Function("+Function+")" );
|
ok( jQuery.isFunction(Function), "Function Function("+Function+")" );
|
||||||
|
|
||||||
// When stringified, this could be misinterpreted
|
// When stringified, this could be misinterpreted
|
||||||
var mystr = "function";
|
mystr = "function";
|
||||||
ok( !jQuery.isFunction(mystr), "Function String" );
|
ok( !jQuery.isFunction(mystr), "Function String" );
|
||||||
|
|
||||||
// When stringified, this could be misinterpreted
|
// When stringified, this could be misinterpreted
|
||||||
var myarr = [ "function" ];
|
myarr = [ "function" ];
|
||||||
ok( !jQuery.isFunction(myarr), "Function Array" );
|
ok( !jQuery.isFunction(myarr), "Function Array" );
|
||||||
|
|
||||||
// When stringified, this could be misinterpreted
|
// When stringified, this could be misinterpreted
|
||||||
var myfunction = { "function": "test" };
|
myfunction = { "function": "test" };
|
||||||
ok( !jQuery.isFunction(myfunction), "Function Object" );
|
ok( !jQuery.isFunction(myfunction), "Function Object" );
|
||||||
|
|
||||||
// Make sure normal functions still work
|
// Make sure normal functions still work
|
||||||
var fn = function(){};
|
fn = function(){};
|
||||||
ok( jQuery.isFunction(fn), "Normal Function" );
|
ok( jQuery.isFunction(fn), "Normal Function" );
|
||||||
|
|
||||||
var obj = document.createElement("object");
|
obj = document.createElement("object");
|
||||||
|
|
||||||
// Firefox says this is a function
|
// Firefox says this is a function
|
||||||
ok( !jQuery.isFunction(obj), "Object Element" );
|
ok( !jQuery.isFunction(obj), "Object Element" );
|
||||||
@ -414,17 +416,17 @@ test("isFunction", function() {
|
|||||||
// Since 1.3, this isn't supported (#2968)
|
// Since 1.3, this isn't supported (#2968)
|
||||||
//ok( jQuery.isFunction(obj.getAttribute), "getAttribute Function" );
|
//ok( jQuery.isFunction(obj.getAttribute), "getAttribute Function" );
|
||||||
|
|
||||||
var nodes = document.body.childNodes;
|
nodes = document.body.childNodes;
|
||||||
|
|
||||||
// Safari says this is a function
|
// Safari says this is a function
|
||||||
ok( !jQuery.isFunction(nodes), "childNodes Property" );
|
ok( !jQuery.isFunction(nodes), "childNodes Property" );
|
||||||
|
|
||||||
var first = document.body.firstChild;
|
first = document.body.firstChild;
|
||||||
|
|
||||||
// Normal elements are reported ok everywhere
|
// Normal elements are reported ok everywhere
|
||||||
ok( !jQuery.isFunction(first), "A normal DOM Element" );
|
ok( !jQuery.isFunction(first), "A normal DOM Element" );
|
||||||
|
|
||||||
var input = document.createElement("input");
|
input = document.createElement("input");
|
||||||
input.type = "text";
|
input.type = "text";
|
||||||
document.body.appendChild( input );
|
document.body.appendChild( input );
|
||||||
|
|
||||||
@ -434,7 +436,7 @@ test("isFunction", function() {
|
|||||||
|
|
||||||
document.body.removeChild( input );
|
document.body.removeChild( input );
|
||||||
|
|
||||||
var a = document.createElement("a");
|
a = document.createElement("a");
|
||||||
a.href = "some-function";
|
a.href = "some-function";
|
||||||
document.body.appendChild( a );
|
document.body.appendChild( a );
|
||||||
|
|
||||||
@ -520,11 +522,12 @@ test("isXMLDoc - HTML", function() {
|
|||||||
ok( !jQuery.isXMLDoc( document.documentElement ), "HTML documentElement" );
|
ok( !jQuery.isXMLDoc( document.documentElement ), "HTML documentElement" );
|
||||||
ok( !jQuery.isXMLDoc( document.body ), "HTML Body Element" );
|
ok( !jQuery.isXMLDoc( document.body ), "HTML Body Element" );
|
||||||
|
|
||||||
var iframe = document.createElement("iframe");
|
var body,
|
||||||
|
iframe = document.createElement("iframe");
|
||||||
document.body.appendChild( iframe );
|
document.body.appendChild( iframe );
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var body = jQuery(iframe).contents()[0];
|
body = jQuery(iframe).contents()[0];
|
||||||
|
|
||||||
try {
|
try {
|
||||||
ok( !jQuery.isXMLDoc( body ), "Iframe body element" );
|
ok( !jQuery.isXMLDoc( body ), "Iframe body element" );
|
||||||
@ -587,16 +590,18 @@ test("isWindow", function() {
|
|||||||
test("jQuery('html')", function() {
|
test("jQuery('html')", function() {
|
||||||
expect( 15 );
|
expect( 15 );
|
||||||
|
|
||||||
|
var s, div, j;
|
||||||
|
|
||||||
QUnit.reset();
|
QUnit.reset();
|
||||||
jQuery["foo"] = false;
|
jQuery["foo"] = false;
|
||||||
var s = jQuery("<script>jQuery.foo='test';</script>")[0];
|
s = jQuery("<script>jQuery.foo='test';</script>")[0];
|
||||||
ok( s, "Creating a script" );
|
ok( s, "Creating a script" );
|
||||||
ok( !jQuery["foo"], "Make sure the script wasn't executed prematurely" );
|
ok( !jQuery["foo"], "Make sure the script wasn't executed prematurely" );
|
||||||
jQuery("body").append("<script>jQuery.foo='test';</script>");
|
jQuery("body").append("<script>jQuery.foo='test';</script>");
|
||||||
ok( jQuery["foo"], "Executing a scripts contents in the right context" );
|
ok( jQuery["foo"], "Executing a scripts contents in the right context" );
|
||||||
|
|
||||||
// Test multi-line HTML
|
// Test multi-line HTML
|
||||||
var div = jQuery("<div>\r\nsome text\n<p>some p</p>\nmore text\r\n</div>")[0];
|
div = jQuery("<div>\r\nsome text\n<p>some p</p>\nmore text\r\n</div>")[0];
|
||||||
equal( div.nodeName.toUpperCase(), "DIV", "Make sure we're getting a div." );
|
equal( div.nodeName.toUpperCase(), "DIV", "Make sure we're getting a div." );
|
||||||
equal( div.firstChild.nodeType, 3, "Text node." );
|
equal( div.firstChild.nodeType, 3, "Text node." );
|
||||||
equal( div.lastChild.nodeType, 3, "Text node." );
|
equal( div.lastChild.nodeType, 3, "Text node." );
|
||||||
@ -610,7 +615,7 @@ test("jQuery('html')", function() {
|
|||||||
|
|
||||||
ok( jQuery("<input/>").attr("type", "hidden"), "Create an input and set the type." );
|
ok( jQuery("<input/>").attr("type", "hidden"), "Create an input and set the type." );
|
||||||
|
|
||||||
var j = jQuery("<span>hi</span> there <!-- mon ami -->");
|
j = jQuery("<span>hi</span> there <!-- mon ami -->");
|
||||||
ok( j.length >= 2, "Check node,textnode,comment creation (some browsers delete comments)" );
|
ok( j.length >= 2, "Check node,textnode,comment creation (some browsers delete comments)" );
|
||||||
|
|
||||||
ok( !jQuery("<option>test</option>")[0].selected, "Make sure that options are auto-selected #2050" );
|
ok( !jQuery("<option>test</option>")[0].selected, "Make sure that options are auto-selected #2050" );
|
||||||
@ -627,9 +632,10 @@ test("jQuery('html')", function() {
|
|||||||
test("jQuery('massive html #7990')", function() {
|
test("jQuery('massive html #7990')", function() {
|
||||||
expect( 3 );
|
expect( 3 );
|
||||||
|
|
||||||
var i;
|
var i,
|
||||||
var li = "<li>very very very very large html string</li>";
|
li = "<li>very very very very large html string</li>",
|
||||||
var html = ["<ul>"];
|
html = ["<ul>"];
|
||||||
|
|
||||||
for ( i = 0; i < 30000; i += 1 ) {
|
for ( i = 0; i < 30000; i += 1 ) {
|
||||||
html[html.length] = li;
|
html[html.length] = li;
|
||||||
}
|
}
|
||||||
@ -643,30 +649,30 @@ test("jQuery('massive html #7990')", function() {
|
|||||||
test("jQuery('html', context)", function() {
|
test("jQuery('html', context)", function() {
|
||||||
expect(1);
|
expect(1);
|
||||||
|
|
||||||
var $div = jQuery("<div/>")[0];
|
var $div = jQuery("<div/>")[0],
|
||||||
var $span = jQuery("<span/>", $div);
|
$span = jQuery("<span/>", $div);
|
||||||
equal($span.length, 1, "Verify a span created with a div context works, #1763");
|
equal($span.length, 1, "verify a span created with a div context works, #1763");
|
||||||
});
|
});
|
||||||
|
|
||||||
test("jQuery(selector, xml).text(str) - Loaded via XML document", function() {
|
test("jQuery(selector, xml).text(str) - loaded via xml document", function() {
|
||||||
expect(2);
|
expect(2);
|
||||||
|
|
||||||
var xml = createDashboardXML();
|
var xml = createDashboardXML(),
|
||||||
// tests for #1419 where IE was a problem
|
// tests for #1419 where ie was a problem
|
||||||
var tab = jQuery("tab", xml).eq(0);
|
tab = jQuery("tab", xml).eq(0);
|
||||||
equal( tab.text(), "blabla", "Verify initial text correct" );
|
equal( tab.text(), "blabla", "verify initial text correct" );
|
||||||
tab.text("newtext");
|
tab.text("newtext");
|
||||||
equal( tab.text(), "newtext", "Verify new text correct" );
|
equal( tab.text(), "newtext", "verify new text correct" );
|
||||||
});
|
});
|
||||||
|
|
||||||
test("end()", function() {
|
test("end()", function() {
|
||||||
expect(3);
|
expect(3);
|
||||||
equal( "Yahoo", jQuery("#yahoo").parent().end().text(), "Check for end" );
|
equal( "Yahoo", jQuery("#yahoo").parent().end().text(), "check for end" );
|
||||||
ok( jQuery("#yahoo").end(), "Check for end with nothing to end" );
|
ok( jQuery("#yahoo").end(), "check for end with nothing to end" );
|
||||||
|
|
||||||
var x = jQuery("#yahoo");
|
var x = jQuery("#yahoo");
|
||||||
x.parent();
|
x.parent();
|
||||||
equal( "Yahoo", jQuery("#yahoo").text(), "Check for non-destructive behaviour" );
|
equal( "Yahoo", jQuery("#yahoo").text(), "check for non-destructive behaviour" );
|
||||||
});
|
});
|
||||||
|
|
||||||
test("length", function() {
|
test("length", function() {
|
||||||
@ -741,11 +747,13 @@ test("get(-Number)",function() {
|
|||||||
|
|
||||||
test("each(Function)", function() {
|
test("each(Function)", function() {
|
||||||
expect(1);
|
expect(1);
|
||||||
var div = jQuery("div");
|
var div, pass, i;
|
||||||
|
|
||||||
|
div = jQuery("div");
|
||||||
div.each(function(){this.foo = "zoo";});
|
div.each(function(){this.foo = "zoo";});
|
||||||
var pass = true;
|
pass = true;
|
||||||
for ( var i = 0; i < div.size(); i++ ) {
|
for ( i = 0; i < div.length; i++ ) {
|
||||||
if ( div.get(i).foo != "zoo" ) {
|
if ( div.get(i).foo !== "zoo" ) {
|
||||||
pass = false;
|
pass = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -809,7 +817,7 @@ test("jQuery.map", function() {
|
|||||||
});
|
});
|
||||||
equal( result.join(""), "012", "Map the keys from an array" );
|
equal( result.join(""), "012", "Map the keys from an array" );
|
||||||
|
|
||||||
result = jQuery.map( [ 3, 4, 5 ], function( v, k ) {
|
result = jQuery.map( [ 3, 4, 5 ], function( v ) {
|
||||||
return v;
|
return v;
|
||||||
});
|
});
|
||||||
equal( result.join(""), "345", "Map the values from an array" );
|
equal( result.join(""), "345", "Map the values from an array" );
|
||||||
@ -819,25 +827,25 @@ test("jQuery.map", function() {
|
|||||||
});
|
});
|
||||||
equal( result.join(""), "ab", "Map the keys from an object" );
|
equal( result.join(""), "ab", "Map the keys from an object" );
|
||||||
|
|
||||||
result = jQuery.map( { a: 1, b: 2 }, function( v, k ) {
|
result = jQuery.map( { a: 1, b: 2 }, function( v ) {
|
||||||
return v;
|
return v;
|
||||||
});
|
});
|
||||||
equal( result.join(""), "12", "Map the values from an object" );
|
equal( result.join(""), "12", "Map the values from an object" );
|
||||||
|
|
||||||
result = jQuery.map( [ "a", undefined, null, "b" ], function( v, k ) {
|
result = jQuery.map( [ "a", undefined, null, "b" ], function( v ) {
|
||||||
return v;
|
return v;
|
||||||
});
|
});
|
||||||
equal( result.join(""), "ab", "Array iteration does not include undefined/null results" );
|
equal( result.join(""), "ab", "Array iteration does not include undefined/null results" );
|
||||||
|
|
||||||
result = jQuery.map( { a: "a", b: undefined, c: null, d: "b" }, function( v, k ) {
|
result = jQuery.map( { a: "a", b: undefined, c: null, d: "b" }, function( v ) {
|
||||||
return v;
|
return v;
|
||||||
});
|
});
|
||||||
equal( result.join(""), "ab", "Object iteration does not include undefined/null results" );
|
equal( result.join(""), "ab", "Object iteration does not include undefined/null results" );
|
||||||
|
|
||||||
result = {
|
result = {
|
||||||
Zero: function() {},
|
Zero: function() {},
|
||||||
One: function( a ) {},
|
One: function( a ) { a = a; },
|
||||||
Two: function( a, b ) {}
|
Two: function( a, b ) { a = a; b = b; }
|
||||||
};
|
};
|
||||||
callback = function( v, k ) {
|
callback = function( v, k ) {
|
||||||
equal( k, "foo", label + "-argument function treated like object" );
|
equal( k, "foo", label + "-argument function treated like object" );
|
||||||
@ -885,13 +893,13 @@ test("jQuery.map", function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
result = false;
|
result = false;
|
||||||
jQuery.map( { length: 0 }, function( v, k ) {
|
jQuery.map( { length: 0 }, function() {
|
||||||
result = true;
|
result = true;
|
||||||
});
|
});
|
||||||
ok( !result, "length: 0 plain object treated like array" );
|
ok( !result, "length: 0 plain object treated like array" );
|
||||||
|
|
||||||
result = false;
|
result = false;
|
||||||
jQuery.map( document.getElementsByTagName("asdf"), function( v, k ) {
|
jQuery.map( document.getElementsByTagName("asdf"), function() {
|
||||||
result = true;
|
result = true;
|
||||||
});
|
});
|
||||||
ok( !result, "empty NodeList treated like array" );
|
ok( !result, "empty NodeList treated like array" );
|
||||||
@ -927,12 +935,15 @@ test("jQuery.merge()", function() {
|
|||||||
test("jQuery.extend(Object, Object)", function() {
|
test("jQuery.extend(Object, Object)", function() {
|
||||||
expect(28);
|
expect(28);
|
||||||
|
|
||||||
var settings = { "xnumber1": 5, "xnumber2": 7, "xstring1": "peter", "xstring2": "pan" },
|
var empty, optionsWithLength, optionsWithDate, myKlass,
|
||||||
|
customObject, optionsWithCustomObject, MyNumber, ret,
|
||||||
|
nullUndef, target, recursive, obj,
|
||||||
|
defaults, defaultsCopy, options1, options1Copy, options2, options2Copy, merged2,
|
||||||
|
settings = { "xnumber1": 5, "xnumber2": 7, "xstring1": "peter", "xstring2": "pan" },
|
||||||
options = { "xnumber2": 1, "xstring2": "x", "xxx": "newstring" },
|
options = { "xnumber2": 1, "xstring2": "x", "xxx": "newstring" },
|
||||||
optionsCopy = { "xnumber2": 1, "xstring2": "x", "xxx": "newstring" },
|
optionsCopy = { "xnumber2": 1, "xstring2": "x", "xxx": "newstring" },
|
||||||
merged = { "xnumber1": 5, "xnumber2": 1, "xstring1": "peter", "xstring2": "x", "xxx": "newstring" },
|
merged = { "xnumber1": 5, "xnumber2": 1, "xstring1": "peter", "xstring2": "x", "xxx": "newstring" },
|
||||||
deep1 = { "foo": { "bar": true } },
|
deep1 = { "foo": { "bar": true } },
|
||||||
deep1copy = { "foo": { "bar": true } },
|
|
||||||
deep2 = { "foo": { "baz": true }, "foo2": document },
|
deep2 = { "foo": { "baz": true }, "foo2": document },
|
||||||
deep2copy = { "foo": { "baz": true }, "foo2": document },
|
deep2copy = { "foo": { "baz": true }, "foo2": document },
|
||||||
deepmerged = { "foo": { "bar": true, "baz": true }, "foo2": document },
|
deepmerged = { "foo": { "bar": true, "baz": true }, "foo2": document },
|
||||||
@ -958,20 +969,20 @@ test("jQuery.extend(Object, Object)", function() {
|
|||||||
ok( jQuery.isArray( jQuery.extend(true, { "arr": {} }, nestedarray)["arr"] ), "Cloned array have to be an Array" );
|
ok( jQuery.isArray( jQuery.extend(true, { "arr": {} }, nestedarray)["arr"] ), "Cloned array have to be an Array" );
|
||||||
ok( jQuery.isPlainObject( jQuery.extend(true, { "arr": arr }, { "arr": {} })["arr"] ), "Cloned object have to be an plain object" );
|
ok( jQuery.isPlainObject( jQuery.extend(true, { "arr": arr }, { "arr": {} })["arr"] ), "Cloned object have to be an plain object" );
|
||||||
|
|
||||||
var empty = {};
|
empty = {};
|
||||||
var optionsWithLength = { "foo": { "length": -1 } };
|
optionsWithLength = { "foo": { "length": -1 } };
|
||||||
jQuery.extend(true, empty, optionsWithLength);
|
jQuery.extend(true, empty, optionsWithLength);
|
||||||
deepEqual( empty["foo"], optionsWithLength["foo"], "The length property must copy correctly" );
|
deepEqual( empty["foo"], optionsWithLength["foo"], "The length property must copy correctly" );
|
||||||
|
|
||||||
empty = {};
|
empty = {};
|
||||||
var optionsWithDate = { "foo": { "date": new Date() } };
|
optionsWithDate = { "foo": { "date": new Date() } };
|
||||||
jQuery.extend(true, empty, optionsWithDate);
|
jQuery.extend(true, empty, optionsWithDate);
|
||||||
deepEqual( empty["foo"], optionsWithDate["foo"], "Dates copy correctly" );
|
deepEqual( empty["foo"], optionsWithDate["foo"], "Dates copy correctly" );
|
||||||
|
|
||||||
/** @constructor */
|
/** @constructor */
|
||||||
var myKlass = function() {};
|
myKlass = function() {};
|
||||||
var customObject = new myKlass();
|
customObject = new myKlass();
|
||||||
var optionsWithCustomObject = { "foo": { "date": customObject } };
|
optionsWithCustomObject = { "foo": { "date": customObject } };
|
||||||
empty = {};
|
empty = {};
|
||||||
jQuery.extend(true, empty, optionsWithCustomObject);
|
jQuery.extend(true, empty, optionsWithCustomObject);
|
||||||
ok( empty["foo"] && empty["foo"]["date"] === customObject, "Custom objects copy correctly (no methods)" );
|
ok( empty["foo"] && empty["foo"]["date"] === customObject, "Custom objects copy correctly (no methods)" );
|
||||||
@ -982,11 +993,12 @@ test("jQuery.extend(Object, Object)", function() {
|
|||||||
jQuery.extend(true, empty, optionsWithCustomObject);
|
jQuery.extend(true, empty, optionsWithCustomObject);
|
||||||
ok( empty["foo"] && empty["foo"]["date"] === customObject, "Custom objects copy correctly" );
|
ok( empty["foo"] && empty["foo"]["date"] === customObject, "Custom objects copy correctly" );
|
||||||
|
|
||||||
var MyNumber = Number;
|
MyNumber = Number;
|
||||||
var ret = jQuery.extend(true, { "foo": 4 }, { "foo": new MyNumber(5) } );
|
|
||||||
ok( ret.foo == 5, "Wrapped numbers copy correctly" );
|
|
||||||
|
|
||||||
var nullUndef;
|
ret = jQuery.extend(true, { "foo": 4 }, { "foo": new MyNumber(5) } );
|
||||||
|
ok( parseInt(ret.foo, 10) === 5, "Wrapped numbers copy correctly" );
|
||||||
|
|
||||||
|
nullUndef;
|
||||||
nullUndef = jQuery.extend({}, options, { "xnumber2": null });
|
nullUndef = jQuery.extend({}, options, { "xnumber2": null });
|
||||||
ok( nullUndef["xnumber2"] === null, "Check to make sure null values are copied");
|
ok( nullUndef["xnumber2"] === null, "Check to make sure null values are copied");
|
||||||
|
|
||||||
@ -996,8 +1008,8 @@ test("jQuery.extend(Object, Object)", function() {
|
|||||||
nullUndef = jQuery.extend({}, options, { "xnumber0": null });
|
nullUndef = jQuery.extend({}, options, { "xnumber0": null });
|
||||||
ok( nullUndef["xnumber0"] === null, "Check to make sure null values are inserted");
|
ok( nullUndef["xnumber0"] === null, "Check to make sure null values are inserted");
|
||||||
|
|
||||||
var target = {};
|
target = {};
|
||||||
var recursive = { foo:target, bar:5 };
|
recursive = { foo:target, bar:5 };
|
||||||
jQuery.extend(true, target, recursive);
|
jQuery.extend(true, target, recursive);
|
||||||
deepEqual( target, { bar:5 }, "Check to make sure a recursive obj doesn't go never-ending loop by not copying it over" );
|
deepEqual( target, { bar:5 }, "Check to make sure a recursive obj doesn't go never-ending loop by not copying it over" );
|
||||||
|
|
||||||
@ -1005,12 +1017,12 @@ test("jQuery.extend(Object, Object)", function() {
|
|||||||
equal( ret.foo.length, 1, "Check to make sure a value with coercion 'false' copies over when necessary to fix #1907" );
|
equal( ret.foo.length, 1, "Check to make sure a value with coercion 'false' copies over when necessary to fix #1907" );
|
||||||
|
|
||||||
ret = jQuery.extend(true, { foo: "1,2,3" }, { foo: [1, 2, 3] } );
|
ret = jQuery.extend(true, { foo: "1,2,3" }, { foo: [1, 2, 3] } );
|
||||||
ok( typeof ret.foo != "string", "Check to make sure values equal with coercion (but not actually equal) overwrite correctly" );
|
ok( typeof ret.foo !== "string", "Check to make sure values equal with coercion (but not actually equal) overwrite correctly" );
|
||||||
|
|
||||||
ret = jQuery.extend(true, { foo:"bar" }, { foo:null } );
|
ret = jQuery.extend(true, { foo:"bar" }, { foo:null } );
|
||||||
ok( typeof ret.foo !== "undefined", "Make sure a null value doesn't crash with deep extend, for #1908" );
|
ok( typeof ret.foo !== "undefined", "Make sure a null value doesn't crash with deep extend, for #1908" );
|
||||||
|
|
||||||
var obj = { foo:null };
|
obj = { foo:null };
|
||||||
jQuery.extend(true, obj, { foo:"notnull" } );
|
jQuery.extend(true, obj, { foo:"notnull" } );
|
||||||
equal( obj.foo, "notnull", "Make sure a null value can be overwritten" );
|
equal( obj.foo, "notnull", "Make sure a null value can be overwritten" );
|
||||||
|
|
||||||
@ -1018,12 +1030,12 @@ test("jQuery.extend(Object, Object)", function() {
|
|||||||
jQuery.extend(func, { key: "value" } );
|
jQuery.extend(func, { key: "value" } );
|
||||||
equal( func.key, "value", "Verify a function can be extended" );
|
equal( func.key, "value", "Verify a function can be extended" );
|
||||||
|
|
||||||
var defaults = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" },
|
defaults = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" };
|
||||||
defaultsCopy = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" },
|
defaultsCopy = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" };
|
||||||
options1 = { xnumber2: 1, xstring2: "x" },
|
options1 = { xnumber2: 1, xstring2: "x" };
|
||||||
options1Copy = { xnumber2: 1, xstring2: "x" },
|
options1Copy = { xnumber2: 1, xstring2: "x" };
|
||||||
options2 = { xstring2: "xx", xxx: "newstringx" },
|
options2 = { xstring2: "xx", xxx: "newstringx" };
|
||||||
options2Copy = { xstring2: "xx", xxx: "newstringx" },
|
options2Copy = { xstring2: "xx", xxx: "newstringx" };
|
||||||
merged2 = { xnumber1: 5, xnumber2: 1, xstring1: "peter", xstring2: "xx", xxx: "newstringx" };
|
merged2 = { xnumber1: 5, xnumber2: 1, xstring1: "peter", xstring2: "xx", xxx: "newstringx" };
|
||||||
|
|
||||||
settings = jQuery.extend({}, defaults, options1, options2);
|
settings = jQuery.extend({}, defaults, options1, options2);
|
||||||
@ -1068,10 +1080,10 @@ test("jQuery.each(Object,Function)", function() {
|
|||||||
|
|
||||||
seen = {
|
seen = {
|
||||||
Zero: function() {},
|
Zero: function() {},
|
||||||
One: function( a ) {},
|
One: function( a ) { a = a; },
|
||||||
Two: function( a, b ) {}
|
Two: function( a, b ) { a = a; b = b; }
|
||||||
};
|
};
|
||||||
callback = function( k, v ) {
|
callback = function( k ) {
|
||||||
equal( k, "foo", label + "-argument function treated like object" );
|
equal( k, "foo", label + "-argument function treated like object" );
|
||||||
};
|
};
|
||||||
for ( i in seen ) {
|
for ( i in seen ) {
|
||||||
@ -1091,7 +1103,7 @@ test("jQuery.each(Object,Function)", function() {
|
|||||||
"negative": -1,
|
"negative": -1,
|
||||||
"excess": 1
|
"excess": 1
|
||||||
};
|
};
|
||||||
callback = function( k, v ) {
|
callback = function( k ) {
|
||||||
equal( k, "length", "Object with " + label + " length treated like object" );
|
equal( k, "length", "Object with " + label + " length treated like object" );
|
||||||
};
|
};
|
||||||
for ( i in seen ) {
|
for ( i in seen ) {
|
||||||
@ -1105,7 +1117,7 @@ test("jQuery.each(Object,Function)", function() {
|
|||||||
"length: 2 plain object": { length: 2, "0": true, "1": true },
|
"length: 2 plain object": { length: 2, "0": true, "1": true },
|
||||||
NodeList: document.getElementsByTagName("html")
|
NodeList: document.getElementsByTagName("html")
|
||||||
};
|
};
|
||||||
callback = function( k, v ) {
|
callback = function( k ) {
|
||||||
if ( seen[ label ] ) {
|
if ( seen[ label ] ) {
|
||||||
delete seen[ label ];
|
delete seen[ label ];
|
||||||
equal( k, "0", label + " treated like array" );
|
equal( k, "0", label + " treated like array" );
|
||||||
@ -1118,13 +1130,13 @@ test("jQuery.each(Object,Function)", function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
seen = false;
|
seen = false;
|
||||||
jQuery.each( { length: 0 }, function( k, v ) {
|
jQuery.each( { length: 0 }, function() {
|
||||||
seen = true;
|
seen = true;
|
||||||
});
|
});
|
||||||
ok( !seen, "length: 0 plain object treated like array" );
|
ok( !seen, "length: 0 plain object treated like array" );
|
||||||
|
|
||||||
seen = false;
|
seen = false;
|
||||||
jQuery.each( document.getElementsByTagName("asdf"), function( k, v ) {
|
jQuery.each( document.getElementsByTagName("asdf"), function() {
|
||||||
seen = true;
|
seen = true;
|
||||||
});
|
});
|
||||||
ok( !seen, "empty NodeList treated like array" );
|
ok( !seen, "empty NodeList treated like array" );
|
||||||
@ -1143,7 +1155,7 @@ test("jQuery.makeArray", function(){
|
|||||||
|
|
||||||
equal( jQuery.makeArray(document.getElementsByName("PWD")).slice(0,1)[0].name, "PWD", "Pass makeArray a nodelist" );
|
equal( jQuery.makeArray(document.getElementsByName("PWD")).slice(0,1)[0].name, "PWD", "Pass makeArray a nodelist" );
|
||||||
|
|
||||||
equal( (function(arg1, arg2){ return jQuery.makeArray(arguments); })(1,2).join(""), "12", "Pass makeArray an arguments array" );
|
equal( (function() { return jQuery.makeArray(arguments); })(1,2).join(""), "12", "Pass makeArray an arguments array" );
|
||||||
|
|
||||||
equal( jQuery.makeArray([1,2,3]).join(""), "123", "Pass makeArray a real array" );
|
equal( jQuery.makeArray([1,2,3]).join(""), "123", "Pass makeArray a real array" );
|
||||||
|
|
||||||
@ -1197,8 +1209,9 @@ test("jQuery.isEmptyObject", function(){
|
|||||||
test("jQuery.proxy", function(){
|
test("jQuery.proxy", function(){
|
||||||
expect( 9 );
|
expect( 9 );
|
||||||
|
|
||||||
var test = function(){ equal( this, thisObject, "Make sure that scope is set properly." ); };
|
var test2, test3, test4, fn, cb,
|
||||||
var thisObject = { foo: "bar", method: test };
|
test = function(){ equal( this, thisObject, "Make sure that scope is set properly." ); },
|
||||||
|
thisObject = { foo: "bar", method: test };
|
||||||
|
|
||||||
// Make sure normal works
|
// Make sure normal works
|
||||||
test.call( thisObject );
|
test.call( thisObject );
|
||||||
@ -1213,23 +1226,23 @@ test("jQuery.proxy", function(){
|
|||||||
equal( jQuery.proxy( null, thisObject ), undefined, "Make sure no function was returned." );
|
equal( jQuery.proxy( null, thisObject ), undefined, "Make sure no function was returned." );
|
||||||
|
|
||||||
// Partial application
|
// Partial application
|
||||||
var test2 = function( a ){ equal( a, "pre-applied", "Ensure arguments can be pre-applied." ); };
|
test2 = function( a ){ equal( a, "pre-applied", "Ensure arguments can be pre-applied." ); };
|
||||||
jQuery.proxy( test2, null, "pre-applied" )();
|
jQuery.proxy( test2, null, "pre-applied" )();
|
||||||
|
|
||||||
// Partial application w/ normal arguments
|
// Partial application w/ normal arguments
|
||||||
var test3 = function( a, b ){ equal( b, "normal", "Ensure arguments can be pre-applied and passed as usual." ); };
|
test3 = function( a, b ){ equal( b, "normal", "Ensure arguments can be pre-applied and passed as usual." ); };
|
||||||
jQuery.proxy( test3, null, "pre-applied" )( "normal" );
|
jQuery.proxy( test3, null, "pre-applied" )( "normal" );
|
||||||
|
|
||||||
// Test old syntax
|
// Test old syntax
|
||||||
var test4 = { "meth": function( a ){ equal( a, "boom", "Ensure old syntax works." ); } };
|
test4 = { "meth": function( a ){ equal( a, "boom", "Ensure old syntax works." ); } };
|
||||||
jQuery.proxy( test4, "meth" )( "boom" );
|
jQuery.proxy( test4, "meth" )( "boom" );
|
||||||
|
|
||||||
// jQuery 1.9 improved currying with `this` object
|
// jQuery 1.9 improved currying with `this` object
|
||||||
var fn = function() {
|
fn = function() {
|
||||||
equal( Array.prototype.join.call( arguments, "," ), "arg1,arg2,arg3", "args passed" );
|
equal( Array.prototype.join.call( arguments, "," ), "arg1,arg2,arg3", "args passed" );
|
||||||
equal( this.foo, "bar", "this-object passed" );
|
equal( this.foo, "bar", "this-object passed" );
|
||||||
};
|
};
|
||||||
var cb = jQuery.proxy( fn, null, "arg1", "arg2" );
|
cb = jQuery.proxy( fn, null, "arg1", "arg2" );
|
||||||
cb.call( thisObject, "arg3" );
|
cb.call( thisObject, "arg3" );
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -7,11 +7,13 @@ test("css(String|Hash)", function() {
|
|||||||
|
|
||||||
equal( jQuery("#qunit-fixture").css("display"), "block", "Check for css property \"display\"" );
|
equal( jQuery("#qunit-fixture").css("display"), "block", "Check for css property \"display\"" );
|
||||||
|
|
||||||
var $child = jQuery("#nothiddendivchild").css({ "width": "20%", "height": "20%" });
|
var $child, div, div2, width, height, child, prctval, checkval, old;
|
||||||
|
|
||||||
|
$child = jQuery("#nothiddendivchild").css({ "width": "20%", "height": "20%" });
|
||||||
notEqual( $child.css("width"), "20px", "Retrieving a width percentage on the child of a hidden div returns percentage" );
|
notEqual( $child.css("width"), "20px", "Retrieving a width percentage on the child of a hidden div returns percentage" );
|
||||||
notEqual( $child.css("height"), "20px", "Retrieving a height percentage on the child of a hidden div returns percentage" );
|
notEqual( $child.css("height"), "20px", "Retrieving a height percentage on the child of a hidden div returns percentage" );
|
||||||
|
|
||||||
var div = jQuery( "<div>" );
|
div = jQuery( "<div>" );
|
||||||
|
|
||||||
// These should be "auto" (or some better value)
|
// These should be "auto" (or some better value)
|
||||||
// temporarily provide "0px" for backwards compat
|
// temporarily provide "0px" for backwards compat
|
||||||
@ -23,7 +25,7 @@ test("css(String|Hash)", function() {
|
|||||||
equal( div.css("width"), "4px", "Width on disconnected node." );
|
equal( div.css("width"), "4px", "Width on disconnected node." );
|
||||||
equal( div.css("height"), "4px", "Height on disconnected node." );
|
equal( div.css("height"), "4px", "Height on disconnected node." );
|
||||||
|
|
||||||
var div2 = jQuery( "<div style='display:none;'><input type='text' style='height:20px;'/><textarea style='height:20px;'/><div style='height:20px;'></div></div>").appendTo("body");
|
div2 = jQuery( "<div style='display:none;'><input type='text' style='height:20px;'/><textarea style='height:20px;'/><div style='height:20px;'></div></div>").appendTo("body");
|
||||||
|
|
||||||
equal( div2.find("input").css("height"), "20px", "Height on hidden input." );
|
equal( div2.find("input").css("height"), "20px", "Height on hidden input." );
|
||||||
equal( div2.find("textarea").css("height"), "20px", "Height on hidden textarea." );
|
equal( div2.find("textarea").css("height"), "20px", "Height on hidden textarea." );
|
||||||
@ -34,7 +36,8 @@ test("css(String|Hash)", function() {
|
|||||||
// handle negative numbers by setting to zero #11604
|
// handle negative numbers by setting to zero #11604
|
||||||
jQuery("#nothiddendiv").css( {"width": 1, "height": 1} );
|
jQuery("#nothiddendiv").css( {"width": 1, "height": 1} );
|
||||||
|
|
||||||
var width = parseFloat(jQuery("#nothiddendiv").css("width")), height = parseFloat(jQuery("#nothiddendiv").css("height"));
|
width = parseFloat(jQuery("#nothiddendiv").css("width"));
|
||||||
|
height = parseFloat(jQuery("#nothiddendiv").css("height"));
|
||||||
jQuery("#nothiddendiv").css({ "overflow":"hidden", "width": -1, "height": -1 });
|
jQuery("#nothiddendiv").css({ "overflow":"hidden", "width": -1, "height": -1 });
|
||||||
equal( parseFloat(jQuery("#nothiddendiv").css("width")), 0, "Test negative width set to 0");
|
equal( parseFloat(jQuery("#nothiddendiv").css("width")), 0, "Test negative width set to 0");
|
||||||
equal( parseFloat(jQuery("#nothiddendiv").css("height")), 0, "Test negative height set to 0");
|
equal( parseFloat(jQuery("#nothiddendiv").css("height")), 0, "Test negative height set to 0");
|
||||||
@ -63,7 +66,7 @@ test("css(String|Hash)", function() {
|
|||||||
ok( ~jQuery("#empty")[0].currentStyle.filter.indexOf("gradient"), "Assert setting opacity doesn't overwrite other filters of the stylesheet in IE" );
|
ok( ~jQuery("#empty")[0].currentStyle.filter.indexOf("gradient"), "Assert setting opacity doesn't overwrite other filters of the stylesheet in IE" );
|
||||||
|
|
||||||
div = jQuery("#nothiddendiv");
|
div = jQuery("#nothiddendiv");
|
||||||
var child = jQuery("#nothiddendivchild");
|
child = jQuery("#nothiddendivchild");
|
||||||
|
|
||||||
equal( parseInt(div.css("fontSize"), 10), 16, "Verify fontSize px set." );
|
equal( parseInt(div.css("fontSize"), 10), 16, "Verify fontSize px set." );
|
||||||
equal( parseInt(div.css("font-size"), 10), 16, "Verify fontSize px set." );
|
equal( parseInt(div.css("font-size"), 10), 16, "Verify fontSize px set." );
|
||||||
@ -79,7 +82,8 @@ test("css(String|Hash)", function() {
|
|||||||
// Have to verify this as the result depends upon the browser's CSS
|
// Have to verify this as the result depends upon the browser's CSS
|
||||||
// support for font-size percentages
|
// support for font-size percentages
|
||||||
child.attr("class", "prct");
|
child.attr("class", "prct");
|
||||||
var prctval = parseInt(child.css("fontSize"), 10), checkval = 0;
|
prctval = parseInt(child.css("fontSize"), 10);
|
||||||
|
checkval = 0;
|
||||||
if ( prctval === 16 || prctval === 24 ) {
|
if ( prctval === 16 || prctval === 24 ) {
|
||||||
checkval = prctval;
|
checkval = prctval;
|
||||||
}
|
}
|
||||||
@ -88,7 +92,7 @@ test("css(String|Hash)", function() {
|
|||||||
|
|
||||||
equal( typeof child.css("width"), "string", "Make sure that a string width is returned from css('width')." );
|
equal( typeof child.css("width"), "string", "Make sure that a string width is returned from css('width')." );
|
||||||
|
|
||||||
var old = child[0].style.height;
|
old = child[0].style.height;
|
||||||
|
|
||||||
// Test NaN
|
// Test NaN
|
||||||
child.css("height", parseFloat("zoo"));
|
child.css("height", parseFloat("zoo"));
|
||||||
@ -199,6 +203,7 @@ test("css() explicit and relative values", function() {
|
|||||||
|
|
||||||
test("css(String, Object)", function() {
|
test("css(String, Object)", function() {
|
||||||
expect( 19 );
|
expect( 19 );
|
||||||
|
var j, div, display, ret, success;
|
||||||
|
|
||||||
jQuery("#nothiddendiv").css("top", "-1em");
|
jQuery("#nothiddendiv").css("top", "-1em");
|
||||||
ok( jQuery("#nothiddendiv").css("top"), -16, "Check negative number in EMs." );
|
ok( jQuery("#nothiddendiv").css("top"), -16, "Check negative number in EMs." );
|
||||||
@ -218,22 +223,22 @@ test("css(String, Object)", function() {
|
|||||||
equal( jQuery("#foo").css("opacity"), "1", "Assert opacity is 1 when set to an empty String" );
|
equal( jQuery("#foo").css("opacity"), "1", "Assert opacity is 1 when set to an empty String" );
|
||||||
|
|
||||||
// using contents will get comments regular, text, and comment nodes
|
// using contents will get comments regular, text, and comment nodes
|
||||||
var j = jQuery("#nonnodes").contents();
|
j = jQuery("#nonnodes").contents();
|
||||||
j.css("overflow", "visible");
|
j.css("overflow", "visible");
|
||||||
equal( j.css("overflow"), "visible", "Check node,textnode,comment css works" );
|
equal( j.css("overflow"), "visible", "Check node,textnode,comment css works" );
|
||||||
// opera sometimes doesn't update 'display' correctly, see #2037
|
// opera sometimes doesn't update 'display' correctly, see #2037
|
||||||
jQuery("#t2037")[0].innerHTML = jQuery("#t2037")[0].innerHTML;
|
jQuery("#t2037")[0].innerHTML = jQuery("#t2037")[0].innerHTML;
|
||||||
equal( jQuery("#t2037 .hidden").css("display"), "none", "Make sure browser thinks it is hidden" );
|
equal( jQuery("#t2037 .hidden").css("display"), "none", "Make sure browser thinks it is hidden" );
|
||||||
|
|
||||||
var div = jQuery("#nothiddendiv"),
|
div = jQuery("#nothiddendiv");
|
||||||
display = div.css("display"),
|
display = div.css("display");
|
||||||
ret = div.css("display", undefined);
|
ret = div.css("display", undefined);
|
||||||
|
|
||||||
equal( ret, div, "Make sure setting undefined returns the original set." );
|
equal( ret, div, "Make sure setting undefined returns the original set." );
|
||||||
equal( div.css("display"), display, "Make sure that the display wasn't changed." );
|
equal( div.css("display"), display, "Make sure that the display wasn't changed." );
|
||||||
|
|
||||||
// Test for Bug #5509
|
// Test for Bug #5509
|
||||||
var success = true;
|
success = true;
|
||||||
try {
|
try {
|
||||||
jQuery("#foo").css("backgroundColor", "rgba(0, 0, 0, 0.1)");
|
jQuery("#foo").css("backgroundColor", "rgba(0, 0, 0, 0.1)");
|
||||||
}
|
}
|
||||||
@ -266,9 +271,9 @@ if ( !jQuery.support.opacity ) {
|
|||||||
jQuery("#foo").css("filter", "progid:DXImageTransform.Microsoft.Chroma(color='red');");
|
jQuery("#foo").css("filter", "progid:DXImageTransform.Microsoft.Chroma(color='red');");
|
||||||
equal( jQuery("#foo").css("opacity"), "1", "Assert opacity is 1 when a different filter is set in IE, #1438" );
|
equal( jQuery("#foo").css("opacity"), "1", "Assert opacity is 1 when a different filter is set in IE, #1438" );
|
||||||
|
|
||||||
var filterVal = "progid:DXImageTransform.Microsoft.Alpha(opacity=30) progid:DXImageTransform.Microsoft.Blur(pixelradius=5)";
|
var filterVal = "progid:DXImageTransform.Microsoft.Alpha(opacity=30) progid:DXImageTransform.Microsoft.Blur(pixelradius=5)",
|
||||||
var filterVal2 = "progid:DXImageTransform.Microsoft.alpha(opacity=100) progid:DXImageTransform.Microsoft.Blur(pixelradius=5)";
|
filterVal2 = "progid:DXImageTransform.Microsoft.alpha(opacity=100) progid:DXImageTransform.Microsoft.Blur(pixelradius=5)",
|
||||||
var filterVal3 = "progid:DXImageTransform.Microsoft.Blur(pixelradius=5)";
|
filterVal3 = "progid:DXImageTransform.Microsoft.Blur(pixelradius=5)";
|
||||||
jQuery("#foo").css("filter", filterVal);
|
jQuery("#foo").css("filter", filterVal);
|
||||||
equal( jQuery("#foo").css("filter"), filterVal, "css('filter', val) works" );
|
equal( jQuery("#foo").css("filter"), filterVal, "css('filter', val) works" );
|
||||||
jQuery("#foo").css("opacity", 1);
|
jQuery("#foo").css("opacity", 1);
|
||||||
@ -299,14 +304,15 @@ if ( !jQuery.support.opacity ) {
|
|||||||
test("css(String, Function)", function() {
|
test("css(String, Function)", function() {
|
||||||
expect(3);
|
expect(3);
|
||||||
|
|
||||||
var sizes = ["10px", "20px", "30px"];
|
var index,
|
||||||
|
sizes = ["10px", "20px", "30px"];
|
||||||
|
|
||||||
jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" +
|
jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" +
|
||||||
"<div class='cssFunction'></div>" +
|
"<div class='cssFunction'></div>" +
|
||||||
"<div class='cssFunction'></div></div>")
|
"<div class='cssFunction'></div></div>")
|
||||||
.appendTo("body");
|
.appendTo("body");
|
||||||
|
|
||||||
var index = 0;
|
index = 0;
|
||||||
|
|
||||||
jQuery("#cssFunctionTest div").css("font-size", function() {
|
jQuery("#cssFunctionTest div").css("font-size", function() {
|
||||||
var size = sizes[index];
|
var size = sizes[index];
|
||||||
@ -317,8 +323,8 @@ test("css(String, Function)", function() {
|
|||||||
index = 0;
|
index = 0;
|
||||||
|
|
||||||
jQuery("#cssFunctionTest div").each(function() {
|
jQuery("#cssFunctionTest div").each(function() {
|
||||||
var computedSize = jQuery(this).css("font-size");
|
var computedSize = jQuery(this).css("font-size"),
|
||||||
var expectedSize = sizes[index];
|
expectedSize = sizes[index];
|
||||||
equal( computedSize, expectedSize, "Div #" + index + " should be " + expectedSize );
|
equal( computedSize, expectedSize, "Div #" + index + " should be " + expectedSize );
|
||||||
index++;
|
index++;
|
||||||
});
|
});
|
||||||
@ -329,14 +335,15 @@ test("css(String, Function)", function() {
|
|||||||
test("css(String, Function) with incoming value", function() {
|
test("css(String, Function) with incoming value", function() {
|
||||||
expect(3);
|
expect(3);
|
||||||
|
|
||||||
var sizes = ["10px", "20px", "30px"];
|
var index,
|
||||||
|
sizes = ["10px", "20px", "30px"];
|
||||||
|
|
||||||
jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" +
|
jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" +
|
||||||
"<div class='cssFunction'></div>" +
|
"<div class='cssFunction'></div>" +
|
||||||
"<div class='cssFunction'></div></div>")
|
"<div class='cssFunction'></div></div>")
|
||||||
.appendTo("body");
|
.appendTo("body");
|
||||||
|
|
||||||
var index = 0;
|
index = 0;
|
||||||
|
|
||||||
jQuery("#cssFunctionTest div").css("font-size", function() {
|
jQuery("#cssFunctionTest div").css("font-size", function() {
|
||||||
var size = sizes[index];
|
var size = sizes[index];
|
||||||
@ -359,14 +366,15 @@ test("css(String, Function) with incoming value", function() {
|
|||||||
test("css(Object) where values are Functions", function() {
|
test("css(Object) where values are Functions", function() {
|
||||||
expect(3);
|
expect(3);
|
||||||
|
|
||||||
var sizes = ["10px", "20px", "30px"];
|
var index,
|
||||||
|
sizes = ["10px", "20px", "30px"];
|
||||||
|
|
||||||
jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" +
|
jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" +
|
||||||
"<div class='cssFunction'></div>" +
|
"<div class='cssFunction'></div>" +
|
||||||
"<div class='cssFunction'></div></div>")
|
"<div class='cssFunction'></div></div>")
|
||||||
.appendTo("body");
|
.appendTo("body");
|
||||||
|
|
||||||
var index = 0;
|
index = 0;
|
||||||
|
|
||||||
jQuery("#cssFunctionTest div").css({"fontSize": function() {
|
jQuery("#cssFunctionTest div").css({"fontSize": function() {
|
||||||
var size = sizes[index];
|
var size = sizes[index];
|
||||||
@ -377,8 +385,8 @@ test("css(Object) where values are Functions", function() {
|
|||||||
index = 0;
|
index = 0;
|
||||||
|
|
||||||
jQuery("#cssFunctionTest div").each(function() {
|
jQuery("#cssFunctionTest div").each(function() {
|
||||||
var computedSize = jQuery(this).css("font-size");
|
var computedSize = jQuery(this).css("font-size"),
|
||||||
var expectedSize = sizes[index];
|
expectedSize = sizes[index];
|
||||||
equal( computedSize, expectedSize, "Div #" + index + " should be " + expectedSize );
|
equal( computedSize, expectedSize, "Div #" + index + " should be " + expectedSize );
|
||||||
index++;
|
index++;
|
||||||
});
|
});
|
||||||
@ -389,14 +397,15 @@ test("css(Object) where values are Functions", function() {
|
|||||||
test("css(Object) where values are Functions with incoming values", function() {
|
test("css(Object) where values are Functions with incoming values", function() {
|
||||||
expect(3);
|
expect(3);
|
||||||
|
|
||||||
var sizes = ["10px", "20px", "30px"];
|
var index,
|
||||||
|
sizes = ["10px", "20px", "30px"];
|
||||||
|
|
||||||
jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" +
|
jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" +
|
||||||
"<div class='cssFunction'></div>" +
|
"<div class='cssFunction'></div>" +
|
||||||
"<div class='cssFunction'></div></div>")
|
"<div class='cssFunction'></div></div>")
|
||||||
.appendTo("body");
|
.appendTo("body");
|
||||||
|
|
||||||
var index = 0;
|
index = 0;
|
||||||
|
|
||||||
jQuery("#cssFunctionTest div").css({"fontSize": function() {
|
jQuery("#cssFunctionTest div").css({"fontSize": function() {
|
||||||
var size = sizes[index];
|
var size = sizes[index];
|
||||||
@ -419,13 +428,15 @@ test("css(Object) where values are Functions with incoming values", function() {
|
|||||||
test("show(); hide()", function() {
|
test("show(); hide()", function() {
|
||||||
expect(22);
|
expect(22);
|
||||||
|
|
||||||
var hiddendiv = jQuery("div.hidden");
|
var hiddendiv, div, pass, old, test;
|
||||||
|
|
||||||
|
hiddendiv = jQuery("div.hidden");
|
||||||
hiddendiv.hide();
|
hiddendiv.hide();
|
||||||
equal( hiddendiv.css("display"), "none", "Non-detached div hidden" );
|
equal( hiddendiv.css("display"), "none", "Non-detached div hidden" );
|
||||||
hiddendiv.show();
|
hiddendiv.show();
|
||||||
equal( hiddendiv.css("display"), "block", "Pre-hidden div shown" );
|
equal( hiddendiv.css("display"), "block", "Pre-hidden div shown" );
|
||||||
|
|
||||||
var div = jQuery("<div>").hide();
|
div = jQuery("<div>").hide();
|
||||||
equal( div.css("display"), "none", "Detached div hidden" );
|
equal( div.css("display"), "none", "Detached div hidden" );
|
||||||
div.appendTo("#qunit-fixture").show();
|
div.appendTo("#qunit-fixture").show();
|
||||||
equal( div.css("display"), "block", "Pre-hidden div shown" );
|
equal( div.css("display"), "block", "Pre-hidden div shown" );
|
||||||
@ -444,10 +455,10 @@ test("show(); hide()", function() {
|
|||||||
|
|
||||||
hiddendiv.css("display","");
|
hiddendiv.css("display","");
|
||||||
|
|
||||||
var pass = true;
|
pass = true;
|
||||||
div = jQuery("#qunit-fixture div");
|
div = jQuery("#qunit-fixture div");
|
||||||
div.show().each(function(){
|
div.show().each(function(){
|
||||||
if ( this.style.display == "none" ) {
|
if ( this.style.display === "none" ) {
|
||||||
pass = false;
|
pass = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -456,10 +467,10 @@ test("show(); hide()", function() {
|
|||||||
// #show-tests * is set display: none in CSS
|
// #show-tests * is set display: none in CSS
|
||||||
jQuery("#qunit-fixture").append("<div id='show-tests'><div><p><a href='#'></a></p><code></code><pre></pre><span></span></div><table><thead><tr><th></th></tr></thead><tbody><tr><td></td></tr></tbody></table><ul><li></li></ul></div><table id='test-table'></table>");
|
jQuery("#qunit-fixture").append("<div id='show-tests'><div><p><a href='#'></a></p><code></code><pre></pre><span></span></div><table><thead><tr><th></th></tr></thead><tbody><tr><td></td></tr></tbody></table><ul><li></li></ul></div><table id='test-table'></table>");
|
||||||
|
|
||||||
var old = jQuery("#test-table").show().css("display") !== "table";
|
old = jQuery("#test-table").show().css("display") !== "table";
|
||||||
jQuery("#test-table").remove();
|
jQuery("#test-table").remove();
|
||||||
|
|
||||||
var test = {
|
test = {
|
||||||
"div" : "block",
|
"div" : "block",
|
||||||
"p" : "block",
|
"p" : "block",
|
||||||
"a" : "inline",
|
"a" : "inline",
|
||||||
@ -607,7 +618,7 @@ test("show() resolves correct default display when iframe display:none #12904",
|
|||||||
|
|
||||||
test("toggle()", function() {
|
test("toggle()", function() {
|
||||||
expect(9);
|
expect(9);
|
||||||
var div,
|
var div, oldHide,
|
||||||
x = jQuery("#foo");
|
x = jQuery("#foo");
|
||||||
|
|
||||||
ok( x.is(":visible"), "is visible" );
|
ok( x.is(":visible"), "is visible" );
|
||||||
@ -629,7 +640,7 @@ test("toggle()", function() {
|
|||||||
strictEqual( x.toggle().css( "display" ), "block", "is visible" );
|
strictEqual( x.toggle().css( "display" ), "block", "is visible" );
|
||||||
|
|
||||||
// Ensure hide() is called when toggled (#12148)
|
// Ensure hide() is called when toggled (#12148)
|
||||||
var oldHide = jQuery.fn.hide;
|
oldHide = jQuery.fn.hide;
|
||||||
jQuery.fn.hide = function() {
|
jQuery.fn.hide = function() {
|
||||||
ok( true, name + " method called on toggle" );
|
ok( true, name + " method called on toggle" );
|
||||||
return oldHide.apply( this, arguments );
|
return oldHide.apply( this, arguments );
|
||||||
@ -749,10 +760,12 @@ test("widows & orphans #8936", function () {
|
|||||||
|
|
||||||
test("can't get css for disconnected in IE<9, see #10254 and #8388", function() {
|
test("can't get css for disconnected in IE<9, see #10254 and #8388", function() {
|
||||||
expect( 2 );
|
expect( 2 );
|
||||||
var span = jQuery( "<span/>" ).css( "background-image", "url(data/1x1.jpg)" );
|
var span, div;
|
||||||
|
|
||||||
|
span = jQuery( "<span/>" ).css( "background-image", "url(data/1x1.jpg)" );
|
||||||
notEqual( span.css( "background-image" ), null, "can't get background-image in IE<9, see #10254" );
|
notEqual( span.css( "background-image" ), null, "can't get background-image in IE<9, see #10254" );
|
||||||
|
|
||||||
var div = jQuery( "<div/>" ).css( "top", 10 );
|
div = jQuery( "<div/>" ).css( "top", 10 );
|
||||||
equal( div.css( "top" ), "10px", "can't get top in IE<9, see #8388" );
|
equal( div.css( "top" ), "10px", "can't get top in IE<9, see #8388" );
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -883,8 +896,12 @@ test( "cssHooks - expand", function() {
|
|||||||
test( "css opacity consistency across browsers (#12685)", function() {
|
test( "css opacity consistency across browsers (#12685)", function() {
|
||||||
expect( 4 );
|
expect( 4 );
|
||||||
|
|
||||||
var fixture = jQuery("#qunit-fixture"),
|
var el,
|
||||||
style = jQuery("<style>.opacityWithSpaces_t12685 { opacity: 0.1; filter: alpha(opacity = 10); } .opacityNoSpaces_t12685 { opacity: 0.2; filter: alpha(opacity=20); }</style>").appendTo(fixture),
|
fixture = jQuery("#qunit-fixture");
|
||||||
|
|
||||||
|
// Append style element
|
||||||
|
jQuery("<style>.opacityWithSpaces_t12685 { opacity: 0.1; filter: alpha(opacity = 10); } .opacityNoSpaces_t12685 { opacity: 0.2; filter: alpha(opacity=20); }</style>").appendTo( fixture );
|
||||||
|
|
||||||
el = jQuery("<div class='opacityWithSpaces_t12685'></div>").appendTo(fixture);
|
el = jQuery("<div class='opacityWithSpaces_t12685'></div>").appendTo(fixture);
|
||||||
|
|
||||||
equal( Math.round( el.css("opacity") * 100 ), 10, "opacity from style sheet (filter:alpha with spaces)" );
|
equal( Math.round( el.css("opacity") * 100 ), 10, "opacity from style sheet (filter:alpha with spaces)" );
|
||||||
|
@ -7,7 +7,7 @@ test("expando", function(){
|
|||||||
});
|
});
|
||||||
|
|
||||||
function dataTests (elem) {
|
function dataTests (elem) {
|
||||||
var oldCacheLength, dataObj, internalDataObj, expected, actual;
|
var dataObj, internalDataObj;
|
||||||
|
|
||||||
equal( jQuery.data(elem, "foo"), undefined, "No data exists initially" );
|
equal( jQuery.data(elem, "foo"), undefined, "No data exists initially" );
|
||||||
strictEqual( jQuery.hasData(elem), false, "jQuery.hasData agrees no data exists initially" );
|
strictEqual( jQuery.hasData(elem), false, "jQuery.hasData agrees no data exists initially" );
|
||||||
@ -144,17 +144,19 @@ test("Data is not being set on comment and text nodes", function() {
|
|||||||
test("jQuery.acceptData", function() {
|
test("jQuery.acceptData", function() {
|
||||||
expect(9);
|
expect(9);
|
||||||
|
|
||||||
|
var flash, applet;
|
||||||
|
|
||||||
ok( jQuery.acceptData( document ), "document" );
|
ok( jQuery.acceptData( document ), "document" );
|
||||||
ok( jQuery.acceptData( document.documentElement ), "documentElement" );
|
ok( jQuery.acceptData( document.documentElement ), "documentElement" );
|
||||||
ok( jQuery.acceptData( {} ), "object" );
|
ok( jQuery.acceptData( {} ), "object" );
|
||||||
ok( !jQuery.acceptData( document.createElement("embed") ), "embed" );
|
ok( !jQuery.acceptData( document.createElement("embed") ), "embed" );
|
||||||
ok( !jQuery.acceptData( document.createElement("applet") ), "applet" );
|
ok( !jQuery.acceptData( document.createElement("applet") ), "applet" );
|
||||||
|
|
||||||
var flash = document.createElement("object");
|
flash = document.createElement("object");
|
||||||
flash.setAttribute("classid", "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000");
|
flash.setAttribute("classid", "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000");
|
||||||
ok( jQuery.acceptData( flash ), "flash" );
|
ok( jQuery.acceptData( flash ), "flash" );
|
||||||
|
|
||||||
var applet = document.createElement("object");
|
applet = document.createElement("object");
|
||||||
applet.setAttribute("classid", "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93");
|
applet.setAttribute("classid", "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93");
|
||||||
ok( !jQuery.acceptData( applet ), "applet" );
|
ok( !jQuery.acceptData( applet ), "applet" );
|
||||||
|
|
||||||
@ -165,19 +167,21 @@ test("jQuery.acceptData", function() {
|
|||||||
test(".data()", function() {
|
test(".data()", function() {
|
||||||
expect(5);
|
expect(5);
|
||||||
|
|
||||||
var div = jQuery("#foo");
|
var div, dataObj, nodiv, obj;
|
||||||
|
|
||||||
|
div = jQuery("#foo");
|
||||||
strictEqual( div.data("foo"), undefined, "Make sure that missing result is undefined" );
|
strictEqual( div.data("foo"), undefined, "Make sure that missing result is undefined" );
|
||||||
div.data("test", "success");
|
div.data("test", "success");
|
||||||
|
|
||||||
var dataObj = div.data();
|
dataObj = div.data();
|
||||||
|
|
||||||
deepEqual( dataObj, {test: "success"}, "data() returns entire data object with expected properties" );
|
deepEqual( dataObj, {test: "success"}, "data() returns entire data object with expected properties" );
|
||||||
strictEqual( div.data("foo"), undefined, "Make sure that missing result is still undefined" );
|
strictEqual( div.data("foo"), undefined, "Make sure that missing result is still undefined" );
|
||||||
|
|
||||||
var nodiv = jQuery("#unfound");
|
nodiv = jQuery("#unfound");
|
||||||
equal( nodiv.data(), null, "data() on empty set returns null" );
|
equal( nodiv.data(), null, "data() on empty set returns null" );
|
||||||
|
|
||||||
var obj = { foo: "bar" };
|
obj = { foo: "bar" };
|
||||||
jQuery(obj).data("foo", "baz");
|
jQuery(obj).data("foo", "baz");
|
||||||
|
|
||||||
dataObj = jQuery.extend(true, {}, jQuery(obj).data());
|
dataObj = jQuery.extend(true, {}, jQuery(obj).data());
|
||||||
@ -185,7 +189,7 @@ test(".data()", function() {
|
|||||||
deepEqual( dataObj, { "foo": "baz" }, "Retrieve data object from a wrapped JS object (#7524)" );
|
deepEqual( dataObj, { "foo": "baz" }, "Retrieve data object from a wrapped JS object (#7524)" );
|
||||||
});
|
});
|
||||||
|
|
||||||
var testDataTypes = function( $obj ) {
|
function testDataTypes( $obj ) {
|
||||||
jQuery.each({
|
jQuery.each({
|
||||||
"null": null,
|
"null": null,
|
||||||
"true": true,
|
"true": true,
|
||||||
@ -203,7 +207,7 @@ var testDataTypes = function( $obj ) {
|
|||||||
}, function( type, value ) {
|
}, function( type, value ) {
|
||||||
strictEqual( $obj.data( "test", value ).data("test"), value, "Data set to " + type );
|
strictEqual( $obj.data( "test", value ).data("test"), value, "Data set to " + type );
|
||||||
});
|
});
|
||||||
};
|
}
|
||||||
|
|
||||||
test("jQuery(Element).data(String, Object).data(String)", function() {
|
test("jQuery(Element).data(String, Object).data(String)", function() {
|
||||||
expect( 18 );
|
expect( 18 );
|
||||||
@ -236,7 +240,9 @@ test("jQuery(plain Object).data(String, Object).data(String)", function() {
|
|||||||
|
|
||||||
test("data-* attributes", function() {
|
test("data-* attributes", function() {
|
||||||
expect(40);
|
expect(40);
|
||||||
var div = jQuery("<div>"),
|
var prop, i, l, metadata, elem,
|
||||||
|
obj, obj2, check, num, num2,
|
||||||
|
div = jQuery("<div>"),
|
||||||
child = jQuery("<div data-myobj='old data' data-ignored=\"DOM\" data-other='test'></div>"),
|
child = jQuery("<div data-myobj='old data' data-ignored=\"DOM\" data-other='test'></div>"),
|
||||||
dummy = jQuery("<div data-myobj='old data' data-ignored=\"DOM\" data-other='test'></div>");
|
dummy = jQuery("<div data-myobj='old data' data-ignored=\"DOM\" data-other='test'></div>");
|
||||||
|
|
||||||
@ -262,16 +268,15 @@ test("data-* attributes", function() {
|
|||||||
child.data("ignored", "cache");
|
child.data("ignored", "cache");
|
||||||
equal( child.data("ignored"), "cache", "Cached data used before DOM data-* fallback");
|
equal( child.data("ignored"), "cache", "Cached data used before DOM data-* fallback");
|
||||||
|
|
||||||
var prop,
|
obj = child.data();
|
||||||
obj = child.data(),
|
obj2 = dummy.data();
|
||||||
obj2 = dummy.data(),
|
check = [ "myobj", "ignored", "other" ];
|
||||||
check = [ "myobj", "ignored", "other" ],
|
num = 0;
|
||||||
num = 0,
|
|
||||||
num2 = 0;
|
num2 = 0;
|
||||||
|
|
||||||
dummy.remove();
|
dummy.remove();
|
||||||
|
|
||||||
for ( var i = 0, l = check.length; i < l; i++ ) {
|
for ( i = 0, l = check.length; i < l; i++ ) {
|
||||||
ok( obj[ check[i] ], "Make sure data- property exists when calling data-." );
|
ok( obj[ check[i] ], "Make sure data- property exists when calling data-." );
|
||||||
ok( obj2[ check[i] ], "Make sure data- property exists when calling data-." );
|
ok( obj2[ check[i] ], "Make sure data- property exists when calling data-." );
|
||||||
}
|
}
|
||||||
@ -353,7 +358,7 @@ test("data-* attributes", function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var metadata = "<ol><li class='test test2' data-foo='bar' data-bar='baz' data-arr='[1,2]'>Some stuff</li><li class='test test2' data-test='bar' data-bar='baz'>Some stuff</li><li class='test test2' data-zoooo='bar' data-bar='{\"test\":\"baz\"}'>Some stuff</li><li class='test test2' data-number=true data-stuff='[2,8]'>Some stuff</li></ol>",
|
metadata = "<ol><li class='test test2' data-foo='bar' data-bar='baz' data-arr='[1,2]'>Some stuff</li><li class='test test2' data-test='bar' data-bar='baz'>Some stuff</li><li class='test test2' data-zoooo='bar' data-bar='{\"test\":\"baz\"}'>Some stuff</li><li class='test test2' data-number=true data-stuff='[2,8]'>Some stuff</li></ol>";
|
||||||
elem = jQuery(metadata).appendTo("#qunit-fixture");
|
elem = jQuery(metadata).appendTo("#qunit-fixture");
|
||||||
|
|
||||||
elem.find("li").each(testData);
|
elem.find("li").each(testData);
|
||||||
@ -363,14 +368,16 @@ test("data-* attributes", function() {
|
|||||||
test(".data(Object)", function() {
|
test(".data(Object)", function() {
|
||||||
expect(4);
|
expect(4);
|
||||||
|
|
||||||
var div = jQuery("<div/>");
|
var obj, jqobj,
|
||||||
|
div = jQuery("<div/>");
|
||||||
|
|
||||||
div.data({ "test": "in", "test2": "in2" });
|
div.data({ "test": "in", "test2": "in2" });
|
||||||
equal( div.data("test"), "in", "Verify setting an object in data" );
|
equal( div.data("test"), "in", "Verify setting an object in data" );
|
||||||
equal( div.data("test2"), "in2", "Verify setting an object in data" );
|
equal( div.data("test2"), "in2", "Verify setting an object in data" );
|
||||||
|
|
||||||
var obj = {test:"unset"},
|
obj = {test:"unset"};
|
||||||
jqobj = jQuery(obj);
|
jqobj = jQuery(obj);
|
||||||
|
|
||||||
jqobj.data("test", "unset");
|
jqobj.data("test", "unset");
|
||||||
jqobj.data({ "test": "in", "test2": "in2" });
|
jqobj.data({ "test": "in", "test2": "in2" });
|
||||||
equal( jQuery.data(obj)["test"], "in", "Verify setting an object on an object extends the data object" );
|
equal( jQuery.data(obj)["test"], "in", "Verify setting an object on an object extends the data object" );
|
||||||
@ -382,7 +389,9 @@ test(".data(Object)", function() {
|
|||||||
|
|
||||||
test("jQuery.removeData", function() {
|
test("jQuery.removeData", function() {
|
||||||
expect(10);
|
expect(10);
|
||||||
var div = jQuery("#foo")[0];
|
|
||||||
|
var obj,
|
||||||
|
div = jQuery("#foo")[0];
|
||||||
jQuery.data(div, "test", "testing");
|
jQuery.data(div, "test", "testing");
|
||||||
jQuery.removeData(div, "test");
|
jQuery.removeData(div, "test");
|
||||||
equal( jQuery.data(div, "test"), undefined, "Check removal of data" );
|
equal( jQuery.data(div, "test"), undefined, "Check removal of data" );
|
||||||
@ -414,7 +423,7 @@ test("jQuery.removeData", function() {
|
|||||||
ok( !jQuery.data(div, "test3 test4"), "Multiple delete with spaces deleted key with exact name" );
|
ok( !jQuery.data(div, "test3 test4"), "Multiple delete with spaces deleted key with exact name" );
|
||||||
ok( jQuery.data(div, "test3"), "Left the partial matched key alone" );
|
ok( jQuery.data(div, "test3"), "Left the partial matched key alone" );
|
||||||
|
|
||||||
var obj = {};
|
obj = {};
|
||||||
jQuery.data(obj, "test", "testing");
|
jQuery.data(obj, "test", "testing");
|
||||||
equal( jQuery(obj).data("test"), "testing", "verify data on plain object");
|
equal( jQuery(obj).data("test"), "testing", "verify data on plain object");
|
||||||
jQuery.removeData(obj, "test");
|
jQuery.removeData(obj, "test");
|
||||||
@ -562,7 +571,7 @@ test("jQuery.data supports interoperable removal of hyphenated/camelCase propert
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test( "jQuery.fn.removeData supports removal of hyphenated properties via array (#12786)", function( assert ) {
|
test( ".removeData supports removal of hyphenated properties via array (#12786)", function() {
|
||||||
expect( 4 );
|
expect( 4 );
|
||||||
|
|
||||||
var div, plain, compare;
|
var div, plain, compare;
|
||||||
|
@ -47,7 +47,7 @@ jQuery.each( [ "", " - new operator" ], function( _, withNew ) {
|
|||||||
funcPromise = defer.promise( func );
|
funcPromise = defer.promise( func );
|
||||||
strictEqual( defer.promise(), promise, "promise is always the same" );
|
strictEqual( defer.promise(), promise, "promise is always the same" );
|
||||||
strictEqual( funcPromise, func, "non objects get extended" );
|
strictEqual( funcPromise, func, "non objects get extended" );
|
||||||
jQuery.each( promise, function( key, value ) {
|
jQuery.each( promise, function( key ) {
|
||||||
if ( !jQuery.isFunction( promise[ key ] ) ) {
|
if ( !jQuery.isFunction( promise[ key ] ) ) {
|
||||||
ok( false, key + " is a function (" + jQuery.type( promise[ key ] ) + ")" );
|
ok( false, key + " is a function (" + jQuery.type( promise[ key ] ) + ")" );
|
||||||
}
|
}
|
||||||
@ -275,7 +275,8 @@ test( "jQuery.Deferred.then - context", function() {
|
|||||||
|
|
||||||
expect( 7 );
|
expect( 7 );
|
||||||
|
|
||||||
var context = {};
|
var defer, piped, defer2, piped2,
|
||||||
|
context = {};
|
||||||
|
|
||||||
jQuery.Deferred().resolveWith( context, [ 2 ] ).then(function( value ) {
|
jQuery.Deferred().resolveWith( context, [ 2 ] ).then(function( value ) {
|
||||||
return value * 3;
|
return value * 3;
|
||||||
@ -290,7 +291,7 @@ test( "jQuery.Deferred.then - context", function() {
|
|||||||
strictEqual( this, context, "custom context of returned deferred correctly propagated" );
|
strictEqual( this, context, "custom context of returned deferred correctly propagated" );
|
||||||
});
|
});
|
||||||
|
|
||||||
var defer = jQuery.Deferred(),
|
defer = jQuery.Deferred();
|
||||||
piped = defer.then(function( value ) {
|
piped = defer.then(function( value ) {
|
||||||
return value * 3;
|
return value * 3;
|
||||||
});
|
});
|
||||||
@ -302,7 +303,7 @@ test( "jQuery.Deferred.then - context", function() {
|
|||||||
strictEqual( value, 6, "proper value received" );
|
strictEqual( value, 6, "proper value received" );
|
||||||
});
|
});
|
||||||
|
|
||||||
var defer2 = jQuery.Deferred(),
|
defer2 = jQuery.Deferred();
|
||||||
piped2 = defer2.then();
|
piped2 = defer2.then();
|
||||||
|
|
||||||
defer2.resolve( 2 );
|
defer2.resolve( 2 );
|
||||||
@ -319,7 +320,6 @@ test( "jQuery.when", function() {
|
|||||||
|
|
||||||
// Some other objects
|
// Some other objects
|
||||||
jQuery.each({
|
jQuery.each({
|
||||||
|
|
||||||
"an empty string": "",
|
"an empty string": "",
|
||||||
"a non-empty string": "some string",
|
"a non-empty string": "some string",
|
||||||
"zero": 0,
|
"zero": 0,
|
||||||
@ -329,9 +329,7 @@ test( "jQuery.when", function() {
|
|||||||
"null": null,
|
"null": null,
|
||||||
"undefined": undefined,
|
"undefined": undefined,
|
||||||
"a plain object": {}
|
"a plain object": {}
|
||||||
|
|
||||||
}, function( message, value ) {
|
}, function( message, value ) {
|
||||||
|
|
||||||
ok(
|
ok(
|
||||||
jQuery.isFunction(
|
jQuery.isFunction(
|
||||||
jQuery.when( value ).done(function( resolveValue ) {
|
jQuery.when( value ).done(function( resolveValue ) {
|
||||||
@ -341,8 +339,7 @@ test( "jQuery.when", function() {
|
|||||||
),
|
),
|
||||||
"Test " + message + " triggers the creation of a new Promise"
|
"Test " + message + " triggers the creation of a new Promise"
|
||||||
);
|
);
|
||||||
|
});
|
||||||
} );
|
|
||||||
|
|
||||||
ok(
|
ok(
|
||||||
jQuery.isFunction(
|
jQuery.isFunction(
|
||||||
@ -354,14 +351,13 @@ test( "jQuery.when", function() {
|
|||||||
"Test calling when with no parameter triggers the creation of a new Promise"
|
"Test calling when with no parameter triggers the creation of a new Promise"
|
||||||
);
|
);
|
||||||
|
|
||||||
var context = {};
|
var cache,
|
||||||
|
context = {};
|
||||||
|
|
||||||
jQuery.when( jQuery.Deferred().resolveWith( context ) ).done(function() {
|
jQuery.when( jQuery.Deferred().resolveWith( context ) ).done(function() {
|
||||||
strictEqual( this, context, "when( promise ) propagates context" );
|
strictEqual( this, context, "when( promise ) propagates context" );
|
||||||
});
|
});
|
||||||
|
|
||||||
var cache;
|
|
||||||
|
|
||||||
jQuery.each([ 1, 2, 3 ], function( k, i ) {
|
jQuery.each([ 1, 2, 3 ], function( k, i ) {
|
||||||
|
|
||||||
jQuery.when( cache || jQuery.Deferred(function() {
|
jQuery.when( cache || jQuery.Deferred(function() {
|
||||||
|
@ -1,16 +1,20 @@
|
|||||||
if ( jQuery.fn.width ) {
|
(function() {
|
||||||
|
|
||||||
|
if ( !jQuery.fn.width ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
module("dimensions", { teardown: moduleTeardown });
|
module("dimensions", { teardown: moduleTeardown });
|
||||||
|
|
||||||
var pass = function( val ) {
|
function pass( val ) {
|
||||||
return val;
|
return val;
|
||||||
};
|
}
|
||||||
|
|
||||||
var fn = function( val ) {
|
function fn( val ) {
|
||||||
return function() {
|
return function() {
|
||||||
return val;
|
return val;
|
||||||
};
|
};
|
||||||
};
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
======== local reference =======
|
======== local reference =======
|
||||||
@ -24,10 +28,11 @@ var fn = function( val ) {
|
|||||||
Returns a function that returns the value
|
Returns a function that returns the value
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var testWidth = function( val ) {
|
function testWidth( val ) {
|
||||||
expect(9);
|
expect(9);
|
||||||
|
var $div, blah;
|
||||||
|
|
||||||
var $div = jQuery("#nothiddendiv");
|
$div = jQuery("#nothiddendiv");
|
||||||
$div.width( val(30) );
|
$div.width( val(30) );
|
||||||
equal($div.width(), 30, "Test set to 30 correctly");
|
equal($div.width(), 30, "Test set to 30 correctly");
|
||||||
$div.hide();
|
$div.hide();
|
||||||
@ -46,14 +51,14 @@ var testWidth = function( val ) {
|
|||||||
equal(jQuery("#nothiddendivchild").width(), 20, "Test child width with border and padding");
|
equal(jQuery("#nothiddendivchild").width(), 20, "Test child width with border and padding");
|
||||||
jQuery("#nothiddendiv, #nothiddendivchild").css({ "border": "", "padding": "", "width": "" });
|
jQuery("#nothiddendiv, #nothiddendivchild").css({ "border": "", "padding": "", "width": "" });
|
||||||
|
|
||||||
var blah = jQuery("blah");
|
blah = jQuery("blah");
|
||||||
equal( blah.width( val(10) ), blah, "Make sure that setting a width on an empty set returns the set." );
|
equal( blah.width( val(10) ), blah, "Make sure that setting a width on an empty set returns the set." );
|
||||||
equal( blah.width(), null, "Make sure 'null' is returned on an empty set");
|
equal( blah.width(), null, "Make sure 'null' is returned on an empty set");
|
||||||
|
|
||||||
equal( jQuery(window).width(), document.documentElement.clientWidth, "Window width is equal to width reported by window/document." );
|
equal( jQuery(window).width(), document.documentElement.clientWidth, "Window width is equal to width reported by window/document." );
|
||||||
|
|
||||||
QUnit.expectJqData( $div[0], "olddisplay" );
|
QUnit.expectJqData( $div[0], "olddisplay" );
|
||||||
};
|
}
|
||||||
|
|
||||||
test("width()", function() {
|
test("width()", function() {
|
||||||
testWidth( pass );
|
testWidth( pass );
|
||||||
@ -75,10 +80,12 @@ test("width(Function(args))", function() {
|
|||||||
equal( $div.width(), 31, "Make sure value was modified correctly." );
|
equal( $div.width(), 31, "Make sure value was modified correctly." );
|
||||||
});
|
});
|
||||||
|
|
||||||
var testHeight = function( val ) {
|
function testHeight( val ) {
|
||||||
expect(9);
|
expect(9);
|
||||||
|
|
||||||
var $div = jQuery("#nothiddendiv");
|
var $div, blah;
|
||||||
|
|
||||||
|
$div = jQuery("#nothiddendiv");
|
||||||
$div.height( val(30) );
|
$div.height( val(30) );
|
||||||
equal($div.height(), 30, "Test set to 30 correctly");
|
equal($div.height(), 30, "Test set to 30 correctly");
|
||||||
$div.hide();
|
$div.hide();
|
||||||
@ -97,14 +104,14 @@ var testHeight = function( val ) {
|
|||||||
equal(jQuery("#nothiddendivchild").height(), 20, "Test child height with border and padding");
|
equal(jQuery("#nothiddendivchild").height(), 20, "Test child height with border and padding");
|
||||||
jQuery("#nothiddendiv, #nothiddendivchild").css({ "border": "", "padding": "", "height": "" });
|
jQuery("#nothiddendiv, #nothiddendivchild").css({ "border": "", "padding": "", "height": "" });
|
||||||
|
|
||||||
var blah = jQuery("blah");
|
blah = jQuery("blah");
|
||||||
equal( blah.height( val(10) ), blah, "Make sure that setting a height on an empty set returns the set." );
|
equal( blah.height( val(10) ), blah, "Make sure that setting a height on an empty set returns the set." );
|
||||||
equal( blah.height(), null, "Make sure 'null' is returned on an empty set");
|
equal( blah.height(), null, "Make sure 'null' is returned on an empty set");
|
||||||
|
|
||||||
equal( jQuery(window).height(), document.documentElement.clientHeight, "Window width is equal to width reported by window/document." );
|
equal( jQuery(window).height(), document.documentElement.clientHeight, "Window width is equal to width reported by window/document." );
|
||||||
|
|
||||||
QUnit.expectJqData( $div[0], "olddisplay" );
|
QUnit.expectJqData( $div[0], "olddisplay" );
|
||||||
};
|
}
|
||||||
|
|
||||||
test("height()", function() {
|
test("height()", function() {
|
||||||
testHeight( pass );
|
testHeight( pass );
|
||||||
@ -129,13 +136,14 @@ test("height(Function(args))", function() {
|
|||||||
test("innerWidth()", function() {
|
test("innerWidth()", function() {
|
||||||
expect(6);
|
expect(6);
|
||||||
|
|
||||||
var winWidth = jQuery( window ).width(),
|
var $div, div,
|
||||||
|
winWidth = jQuery( window ).width(),
|
||||||
docWidth = jQuery( document ).width();
|
docWidth = jQuery( document ).width();
|
||||||
|
|
||||||
equal(jQuery(window).innerWidth(), winWidth, "Test on window");
|
equal(jQuery(window).innerWidth(), winWidth, "Test on window");
|
||||||
equal(jQuery(document).innerWidth(), docWidth, "Test on document");
|
equal(jQuery(document).innerWidth(), docWidth, "Test on document");
|
||||||
|
|
||||||
var $div = jQuery("#nothiddendiv");
|
$div = jQuery("#nothiddendiv");
|
||||||
// set styles
|
// set styles
|
||||||
$div.css({
|
$div.css({
|
||||||
"margin": 10,
|
"margin": 10,
|
||||||
@ -152,7 +160,7 @@ test("innerWidth()", function() {
|
|||||||
// reset styles
|
// reset styles
|
||||||
$div.css({ "display": "", "border": "", "padding": "", "width": "", "height": "" });
|
$div.css({ "display": "", "border": "", "padding": "", "width": "", "height": "" });
|
||||||
|
|
||||||
var div = jQuery( "<div>" );
|
div = jQuery( "<div>" );
|
||||||
|
|
||||||
// Temporarily require 0 for backwards compat - should be auto
|
// Temporarily require 0 for backwards compat - should be auto
|
||||||
equal( div.innerWidth(), 0, "Make sure that disconnected nodes are handled." );
|
equal( div.innerWidth(), 0, "Make sure that disconnected nodes are handled." );
|
||||||
@ -164,13 +172,14 @@ test("innerWidth()", function() {
|
|||||||
test("innerHeight()", function() {
|
test("innerHeight()", function() {
|
||||||
expect(6);
|
expect(6);
|
||||||
|
|
||||||
var winHeight = jQuery( window ).height(),
|
var $div, div,
|
||||||
|
winHeight = jQuery( window ).height(),
|
||||||
docHeight = jQuery( document ).height();
|
docHeight = jQuery( document ).height();
|
||||||
|
|
||||||
equal(jQuery(window).innerHeight(), winHeight, "Test on window");
|
equal(jQuery(window).innerHeight(), winHeight, "Test on window");
|
||||||
equal(jQuery(document).innerHeight(), docHeight, "Test on document");
|
equal(jQuery(document).innerHeight(), docHeight, "Test on document");
|
||||||
|
|
||||||
var $div = jQuery("#nothiddendiv");
|
$div = jQuery("#nothiddendiv");
|
||||||
// set styles
|
// set styles
|
||||||
$div.css({
|
$div.css({
|
||||||
"margin": 10,
|
"margin": 10,
|
||||||
@ -187,7 +196,7 @@ test("innerHeight()", function() {
|
|||||||
// reset styles
|
// reset styles
|
||||||
$div.css({ "display": "", "border": "", "padding": "", "width": "", "height": "" });
|
$div.css({ "display": "", "border": "", "padding": "", "width": "", "height": "" });
|
||||||
|
|
||||||
var div = jQuery( "<div>" );
|
div = jQuery( "<div>" );
|
||||||
|
|
||||||
// Temporarily require 0 for backwards compat - should be auto
|
// Temporarily require 0 for backwards compat - should be auto
|
||||||
equal( div.innerHeight(), 0, "Make sure that disconnected nodes are handled." );
|
equal( div.innerHeight(), 0, "Make sure that disconnected nodes are handled." );
|
||||||
@ -199,7 +208,8 @@ test("innerHeight()", function() {
|
|||||||
test("outerWidth()", function() {
|
test("outerWidth()", function() {
|
||||||
expect(11);
|
expect(11);
|
||||||
|
|
||||||
var winWidth = jQuery( window ).width(),
|
var $div, div,
|
||||||
|
winWidth = jQuery( window ).width(),
|
||||||
docWidth = jQuery( document ).width();
|
docWidth = jQuery( document ).width();
|
||||||
|
|
||||||
equal( jQuery( window ).outerWidth(), winWidth, "Test on window without margin option" );
|
equal( jQuery( window ).outerWidth(), winWidth, "Test on window without margin option" );
|
||||||
@ -207,7 +217,7 @@ test("outerWidth()", function() {
|
|||||||
equal( jQuery( document ).outerWidth(), docWidth, "Test on document without margin option" );
|
equal( jQuery( document ).outerWidth(), docWidth, "Test on document without margin option" );
|
||||||
equal( jQuery( document ).outerWidth( true ), docWidth, "Test on document with margin option" );
|
equal( jQuery( document ).outerWidth( true ), docWidth, "Test on document with margin option" );
|
||||||
|
|
||||||
var $div = jQuery("#nothiddendiv");
|
$div = jQuery("#nothiddendiv");
|
||||||
$div.css("width", 30);
|
$div.css("width", 30);
|
||||||
|
|
||||||
equal($div.outerWidth(), 30, "Test with only width set");
|
equal($div.outerWidth(), 30, "Test with only width set");
|
||||||
@ -225,7 +235,7 @@ test("outerWidth()", function() {
|
|||||||
// reset styles
|
// reset styles
|
||||||
$div.css({ "position": "", "display": "", "border": "", "padding": "", "width": "", "height": "" });
|
$div.css({ "position": "", "display": "", "border": "", "padding": "", "width": "", "height": "" });
|
||||||
|
|
||||||
var div = jQuery( "<div>" );
|
div = jQuery( "<div>" );
|
||||||
|
|
||||||
// Temporarily require 0 for backwards compat - should be auto
|
// Temporarily require 0 for backwards compat - should be auto
|
||||||
equal( div.outerWidth(), 0, "Make sure that disconnected nodes are handled." );
|
equal( div.outerWidth(), 0, "Make sure that disconnected nodes are handled." );
|
||||||
@ -345,7 +355,8 @@ test("box-sizing:border-box child of a hidden elem (or unconnected node) has acc
|
|||||||
test("outerHeight()", function() {
|
test("outerHeight()", function() {
|
||||||
expect(11);
|
expect(11);
|
||||||
|
|
||||||
var winHeight = jQuery( window ).height(),
|
var $div, div,
|
||||||
|
winHeight = jQuery( window ).height(),
|
||||||
docHeight = jQuery( document ).height();
|
docHeight = jQuery( document ).height();
|
||||||
|
|
||||||
|
|
||||||
@ -354,7 +365,7 @@ test("outerHeight()", function() {
|
|||||||
equal( jQuery( document ).outerHeight(), docHeight, "Test on document without margin option" );
|
equal( jQuery( document ).outerHeight(), docHeight, "Test on document without margin option" );
|
||||||
equal( jQuery( document ).outerHeight( true ), docHeight, "Test on document with margin option" );
|
equal( jQuery( document ).outerHeight( true ), docHeight, "Test on document with margin option" );
|
||||||
|
|
||||||
var $div = jQuery("#nothiddendiv");
|
$div = jQuery("#nothiddendiv");
|
||||||
$div.css("height", 30);
|
$div.css("height", 30);
|
||||||
|
|
||||||
equal($div.outerHeight(), 30, "Test with only width set");
|
equal($div.outerHeight(), 30, "Test with only width set");
|
||||||
@ -371,7 +382,7 @@ test("outerHeight()", function() {
|
|||||||
// reset styles
|
// reset styles
|
||||||
$div.css({ "display": "", "border": "", "padding": "", "width": "", "height": "" });
|
$div.css({ "display": "", "border": "", "padding": "", "width": "", "height": "" });
|
||||||
|
|
||||||
var div = jQuery( "<div>" );
|
div = jQuery( "<div>" );
|
||||||
|
|
||||||
// Temporarily require 0 for backwards compat - should be auto
|
// Temporarily require 0 for backwards compat - should be auto
|
||||||
equal( div.outerHeight(), 0, "Make sure that disconnected nodes are handled." );
|
equal( div.outerHeight(), 0, "Make sure that disconnected nodes are handled." );
|
||||||
@ -458,4 +469,4 @@ testIframe( "dimensions/documentLarge", "window vs. large document", function( j
|
|||||||
ok( jQuery( document ).width() > jQuery( window ).width(), "document width is larger than window width" );
|
ok( jQuery( document ).width() > jQuery( window ).width(), "document width is larger than window width" );
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
})();
|
||||||
|
165
test/unit/effects.js
vendored
165
test/unit/effects.js
vendored
@ -38,7 +38,8 @@ test("show() basic", 2, function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test("show()", 27, function () {
|
test("show()", 27, function () {
|
||||||
var div,
|
var div, speeds, old, test,
|
||||||
|
displaysActual, displaysExpected,
|
||||||
hiddendiv = jQuery("div.hidden");
|
hiddendiv = jQuery("div.hidden");
|
||||||
|
|
||||||
equal(jQuery.css( hiddendiv[0], "display"), "none", "hiddendiv is display: none");
|
equal(jQuery.css( hiddendiv[0], "display"), "none", "hiddendiv is display: none");
|
||||||
@ -51,14 +52,15 @@ test("show()", 27, function () {
|
|||||||
|
|
||||||
hiddendiv.css("display","");
|
hiddendiv.css("display","");
|
||||||
|
|
||||||
var displaysActual = [],
|
displaysActual = [];
|
||||||
displaysExpected = [];
|
displaysExpected = [];
|
||||||
|
|
||||||
div = jQuery("#fx-queue div").slice(0, 4);
|
div = jQuery("#fx-queue div").slice(0, 4);
|
||||||
div.show().each(function() {
|
div.show().each(function() {
|
||||||
notEqual(this.style.display, "none", "don't change any <div> with display block");
|
notEqual(this.style.display, "none", "don't change any <div> with display block");
|
||||||
});
|
});
|
||||||
|
|
||||||
var speeds = {
|
speeds = {
|
||||||
"null speed": null,
|
"null speed": null,
|
||||||
"undefined speed": undefined,
|
"undefined speed": undefined,
|
||||||
"false speed": false
|
"false speed": false
|
||||||
@ -67,7 +69,7 @@ test("show()", 27, function () {
|
|||||||
jQuery.each(speeds, function(name, speed) {
|
jQuery.each(speeds, function(name, speed) {
|
||||||
var pass = true;
|
var pass = true;
|
||||||
div.hide().show(speed).each(function() {
|
div.hide().show(speed).each(function() {
|
||||||
if ( this.style.display == "none" ) {
|
if ( this.style.display === "none" ) {
|
||||||
pass = false;
|
pass = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -88,10 +90,10 @@ test("show()", 27, function () {
|
|||||||
// #show-tests * is set display: none in CSS
|
// #show-tests * is set display: none in CSS
|
||||||
jQuery("#qunit-fixture").append("<div id='show-tests'><div><p><a href='#'></a></p><code></code><pre></pre><span></span></div><table><thead><tr><th></th></tr></thead><tbody><tr><td></td></tr></tbody></table><ul><li></li></ul></div><table id='test-table'></table>");
|
jQuery("#qunit-fixture").append("<div id='show-tests'><div><p><a href='#'></a></p><code></code><pre></pre><span></span></div><table><thead><tr><th></th></tr></thead><tbody><tr><td></td></tr></tbody></table><ul><li></li></ul></div><table id='test-table'></table>");
|
||||||
|
|
||||||
var old = jQuery("#test-table").show().css("display") !== "table";
|
old = jQuery("#test-table").show().css("display") !== "table";
|
||||||
jQuery("#test-table").remove();
|
jQuery("#test-table").remove();
|
||||||
|
|
||||||
var test = {
|
test = {
|
||||||
"div" : "block",
|
"div" : "block",
|
||||||
"p" : "block",
|
"p" : "block",
|
||||||
"a" : "inline",
|
"a" : "inline",
|
||||||
@ -128,11 +130,12 @@ test("show(Number) - other displays", function() {
|
|||||||
// #show-tests * is set display: none in CSS
|
// #show-tests * is set display: none in CSS
|
||||||
jQuery("#qunit-fixture").append("<div id='show-tests'><div><p><a href='#'></a></p><code></code><pre></pre><span></span></div><table><thead><tr><th></th></tr></thead><tbody><tr><td></td></tr></tbody></table><ul><li></li></ul></div><table id='test-table'></table>");
|
jQuery("#qunit-fixture").append("<div id='show-tests'><div><p><a href='#'></a></p><code></code><pre></pre><span></span></div><table><thead><tr><th></th></tr></thead><tbody><tr><td></td></tr></tbody></table><ul><li></li></ul></div><table id='test-table'></table>");
|
||||||
|
|
||||||
var old = jQuery("#test-table").show().css("display") !== "table",
|
var test,
|
||||||
|
old = jQuery("#test-table").show().css("display") !== "table",
|
||||||
num = 0;
|
num = 0;
|
||||||
jQuery("#test-table").remove();
|
jQuery("#test-table").remove();
|
||||||
|
|
||||||
var test = {
|
test = {
|
||||||
"div" : "block",
|
"div" : "block",
|
||||||
"p" : "block",
|
"p" : "block",
|
||||||
"a" : "inline",
|
"a" : "inline",
|
||||||
@ -172,7 +175,7 @@ test("Persist correct display value", function() {
|
|||||||
|
|
||||||
var $span = jQuery("#show-tests span"),
|
var $span = jQuery("#show-tests span"),
|
||||||
displayNone = $span.css("display"),
|
displayNone = $span.css("display"),
|
||||||
display = "", num = 0;
|
display = "";
|
||||||
|
|
||||||
$span.show();
|
$span.show();
|
||||||
|
|
||||||
@ -197,8 +200,8 @@ test("Persist correct display value", function() {
|
|||||||
test("animate(Hash, Object, Function)", function() {
|
test("animate(Hash, Object, Function)", function() {
|
||||||
expect(1);
|
expect(1);
|
||||||
stop();
|
stop();
|
||||||
var hash = {opacity: "show"};
|
var hash = {opacity: "show"},
|
||||||
var hashCopy = jQuery.extend({}, hash);
|
hashCopy = jQuery.extend({}, hash);
|
||||||
jQuery("#foo").animate(hash, 0, function() {
|
jQuery("#foo").animate(hash, 0, function() {
|
||||||
equal( hash.opacity, hashCopy.opacity, "Check if animate changed the hash parameter" );
|
equal( hash.opacity, hashCopy.opacity, "Check if animate changed the hash parameter" );
|
||||||
start();
|
start();
|
||||||
@ -338,13 +341,14 @@ test("animate table width/height", function() {
|
|||||||
test("animate table-row width/height", function() {
|
test("animate table-row width/height", function() {
|
||||||
expect(3);
|
expect(3);
|
||||||
stop();
|
stop();
|
||||||
var tr = jQuery("#table")
|
var displayMode,
|
||||||
|
tr = jQuery("#table")
|
||||||
.attr({ "cellspacing": 0, "cellpadding": 0, "border": 0 })
|
.attr({ "cellspacing": 0, "cellpadding": 0, "border": 0 })
|
||||||
.html("<tr style='height:42px;'><td style='padding:0;'><div style='width:20px;height:20px;'></div></td></tr>")
|
.html("<tr style='height:42px;'><td style='padding:0;'><div style='width:20px;height:20px;'></div></td></tr>")
|
||||||
.find("tr");
|
.find("tr");
|
||||||
|
|
||||||
// IE<8 uses "block" instead of the correct display type
|
// IE<8 uses "block" instead of the correct display type
|
||||||
var displayMode = tr.css("display") !== "table-row" ? "block" : "table-row";
|
displayMode = tr.css("display") !== "table-row" ? "block" : "table-row";
|
||||||
|
|
||||||
tr.animate({ width: 10, height: 10 }, 100, function() {
|
tr.animate({ width: 10, height: 10 }, 100, function() {
|
||||||
equal( jQuery(this).css("display"), displayMode, "display mode is correct" );
|
equal( jQuery(this).css("display"), displayMode, "display mode is correct" );
|
||||||
@ -357,13 +361,14 @@ test("animate table-row width/height", function() {
|
|||||||
test("animate table-cell width/height", function() {
|
test("animate table-cell width/height", function() {
|
||||||
expect(3);
|
expect(3);
|
||||||
stop();
|
stop();
|
||||||
var td = jQuery("#table")
|
var displayMode,
|
||||||
|
td = jQuery("#table")
|
||||||
.attr({ "cellspacing": 0, "cellpadding": 0, "border": 0 })
|
.attr({ "cellspacing": 0, "cellpadding": 0, "border": 0 })
|
||||||
.html("<tr><td style='width:42px;height:42px;padding:0;'><div style='width:20px;height:20px;'></div></td></tr>")
|
.html("<tr><td style='width:42px;height:42px;padding:0;'><div style='width:20px;height:20px;'></div></td></tr>")
|
||||||
.find("td");
|
.find("td");
|
||||||
|
|
||||||
// IE<8 uses "block" instead of the correct display type
|
// IE<8 uses "block" instead of the correct display type
|
||||||
var displayMode = td.css("display") !== "table-cell" ? "block" : "table-cell";
|
displayMode = td.css("display") !== "table-cell" ? "block" : "table-cell";
|
||||||
|
|
||||||
td.animate({ width: 10, height: 10 }, 100, function() {
|
td.animate({ width: 10, height: 10 }, 100, function() {
|
||||||
equal( jQuery(this).css("display"), displayMode, "display mode is correct" );
|
equal( jQuery(this).css("display"), displayMode, "display mode is correct" );
|
||||||
@ -473,7 +478,7 @@ asyncTest( "animate option { queue: 'name' }", function() {
|
|||||||
equal( parseFloat( foo.css("width") ), origWidth + 100, "Animation ended" );
|
equal( parseFloat( foo.css("width") ), origWidth + 100, "Animation ended" );
|
||||||
equal( foo.queue("name").length, 1, "Queue length of 'name' queue" );
|
equal( foo.queue("name").length, 1, "Queue length of 'name' queue" );
|
||||||
}
|
}
|
||||||
}).queue( "name", function( next ) {
|
}).queue( "name", function() {
|
||||||
|
|
||||||
// last callback function
|
// last callback function
|
||||||
deepEqual( order, [ 1, 2 ], "Callbacks in expected order" );
|
deepEqual( order, [ 1, 2 ], "Callbacks in expected order" );
|
||||||
@ -494,7 +499,9 @@ asyncTest( "animate option { queue: 'name' }", function() {
|
|||||||
test("animate with no properties", function() {
|
test("animate with no properties", function() {
|
||||||
expect(2);
|
expect(2);
|
||||||
|
|
||||||
var divs = jQuery("div"), count = 0;
|
var foo,
|
||||||
|
divs = jQuery("div"),
|
||||||
|
count = 0;
|
||||||
|
|
||||||
divs.animate({}, function(){
|
divs.animate({}, function(){
|
||||||
count++;
|
count++;
|
||||||
@ -504,7 +511,7 @@ test("animate with no properties", function() {
|
|||||||
|
|
||||||
stop();
|
stop();
|
||||||
|
|
||||||
var foo = jQuery("#foo");
|
foo = jQuery("#foo");
|
||||||
|
|
||||||
foo.animate({});
|
foo.animate({});
|
||||||
foo.animate({top: 10}, 100, function(){
|
foo.animate({top: 10}, 100, function(){
|
||||||
@ -518,7 +525,9 @@ test("animate duration 0", function() {
|
|||||||
|
|
||||||
stop();
|
stop();
|
||||||
|
|
||||||
var $elems = jQuery([{ a:0 },{ a:0 }]), counter = 0;
|
var $elem,
|
||||||
|
$elems = jQuery([{ a:0 },{ a:0 }]),
|
||||||
|
counter = 0;
|
||||||
|
|
||||||
equal( jQuery.timers.length, 0, "Make sure no animation was running from another test" );
|
equal( jQuery.timers.length, 0, "Make sure no animation was running from another test" );
|
||||||
|
|
||||||
@ -550,7 +559,7 @@ test("animate duration 0", function() {
|
|||||||
start();
|
start();
|
||||||
});
|
});
|
||||||
|
|
||||||
var $elem = jQuery("<div />");
|
$elem = jQuery("<div />");
|
||||||
$elem.show(0, function(){
|
$elem.show(0, function(){
|
||||||
ok(true, "Show callback with no duration");
|
ok(true, "Show callback with no duration");
|
||||||
});
|
});
|
||||||
@ -590,7 +599,8 @@ test("stop()", function() {
|
|||||||
expect( 4 );
|
expect( 4 );
|
||||||
stop();
|
stop();
|
||||||
|
|
||||||
var $foo = jQuery("#foo"),
|
var $one, $two,
|
||||||
|
$foo = jQuery("#foo"),
|
||||||
tests = 2,
|
tests = 2,
|
||||||
w = 0;
|
w = 0;
|
||||||
|
|
||||||
@ -614,8 +624,8 @@ test("stop()", function() {
|
|||||||
}, 100);
|
}, 100);
|
||||||
}, 100);
|
}, 100);
|
||||||
|
|
||||||
var $one = jQuery("#fadein");
|
$one = jQuery("#fadein");
|
||||||
var $two = jQuery("#show");
|
$two = jQuery("#show");
|
||||||
$one.fadeTo(100, 0, function() {
|
$one.fadeTo(100, 0, function() {
|
||||||
$one.stop();
|
$one.stop();
|
||||||
});
|
});
|
||||||
@ -635,8 +645,7 @@ test("stop() - several in queue", function() {
|
|||||||
expect( 5 );
|
expect( 5 );
|
||||||
|
|
||||||
var nw, time,
|
var nw, time,
|
||||||
$foo = jQuery( "#foo" ),
|
$foo = jQuery( "#foo" );
|
||||||
w = 0;
|
|
||||||
|
|
||||||
// default duration is 400ms, so 800px ensures we aren't 0 or 1 after 1ms
|
// default duration is 400ms, so 800px ensures we aren't 0 or 1 after 1ms
|
||||||
$foo.hide().css( "width", 800 );
|
$foo.hide().css( "width", 800 );
|
||||||
@ -669,8 +678,8 @@ test("stop(clearQueue)", function() {
|
|||||||
expect(4);
|
expect(4);
|
||||||
stop();
|
stop();
|
||||||
|
|
||||||
var $foo = jQuery("#foo");
|
var $foo = jQuery("#foo"),
|
||||||
var w = 0;
|
w = 0;
|
||||||
$foo.hide().css( "width", 200 ).css("width");
|
$foo.hide().css( "width", 200 ).css("width");
|
||||||
|
|
||||||
$foo.animate({ "width": "show" }, 1000);
|
$foo.animate({ "width": "show" }, 1000);
|
||||||
@ -678,11 +687,11 @@ test("stop(clearQueue)", function() {
|
|||||||
$foo.animate({ "width": "show" }, 1000);
|
$foo.animate({ "width": "show" }, 1000);
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
var nw = $foo.css("width");
|
var nw = $foo.css("width");
|
||||||
ok( parseFloat( nw ) != w, "An animation occurred " + nw + " " + w + "px");
|
ok( parseFloat( nw ) !== w, "An animation occurred " + nw + " " + w + "px");
|
||||||
$foo.stop(true);
|
$foo.stop(true);
|
||||||
|
|
||||||
nw = $foo.css("width");
|
nw = $foo.css("width");
|
||||||
ok( parseFloat( nw ) != w, "Stop didn't reset the animation " + nw + " " + w + "px");
|
ok( parseFloat( nw ) !== w, "Stop didn't reset the animation " + nw + " " + w + "px");
|
||||||
|
|
||||||
equal( $foo.queue().length, 0, "The animation queue was cleared" );
|
equal( $foo.queue().length, 0, "The animation queue was cleared" );
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
@ -696,8 +705,8 @@ test("stop(clearQueue, gotoEnd)", function() {
|
|||||||
expect(1);
|
expect(1);
|
||||||
stop();
|
stop();
|
||||||
|
|
||||||
var $foo = jQuery("#foo");
|
var $foo = jQuery("#foo"),
|
||||||
var w = 0;
|
w = 0;
|
||||||
$foo.hide().css( "width", 200 ).css("width");
|
$foo.hide().css( "width", 200 ).css("width");
|
||||||
|
|
||||||
$foo.animate({ width: "show" }, 1000);
|
$foo.animate({ width: "show" }, 1000);
|
||||||
@ -706,7 +715,7 @@ test("stop(clearQueue, gotoEnd)", function() {
|
|||||||
$foo.animate({ width: "hide" }, 1000);
|
$foo.animate({ width: "hide" }, 1000);
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
var nw = $foo.css("width");
|
var nw = $foo.css("width");
|
||||||
ok( parseFloat( nw ) != w, "An animation occurred " + nw + " " + w + "px");
|
ok( parseFloat( nw ) !== w, "An animation occurred " + nw + " " + w + "px");
|
||||||
$foo.stop(false, true);
|
$foo.stop(false, true);
|
||||||
|
|
||||||
nw = $foo.css("width");
|
nw = $foo.css("width");
|
||||||
@ -901,66 +910,67 @@ jQuery.each({
|
|||||||
},
|
},
|
||||||
"100": function( elem, prop ) {
|
"100": function( elem, prop ) {
|
||||||
jQuery( elem ).addClass( "wide" + prop );
|
jQuery( elem ).addClass( "wide" + prop );
|
||||||
return prop == "opacity" ? 1 : 100;
|
return prop === "opacity" ? 1 : 100;
|
||||||
},
|
},
|
||||||
"50": function( elem, prop ) {
|
"50": function( elem, prop ) {
|
||||||
return prop == "opacity" ? 0.50 : 50;
|
return prop === "opacity" ? 0.50 : 50;
|
||||||
},
|
},
|
||||||
"0": function( elem, prop ) {
|
"0": function( elem ) {
|
||||||
jQuery( elem ).addClass( "noback" );
|
jQuery( elem ).addClass( "noback" );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}, function( tn, t ) {
|
}, function( tn, t ) {
|
||||||
test(fn + " to " + tn, function() {
|
test(fn + " to " + tn, function() {
|
||||||
var elem = jQuery.makeTest( fn + " to " + tn );
|
var num, anim,
|
||||||
|
elem = jQuery.makeTest( fn + " to " + tn ),
|
||||||
var t_w = t( elem, "width" );
|
t_w = t( elem, "width" ),
|
||||||
var f_w = f( elem, "width" );
|
f_w = f( elem, "width" ),
|
||||||
var t_h = t( elem, "height" );
|
t_h = t( elem, "height" ),
|
||||||
var f_h = f( elem, "height" );
|
f_h = f( elem, "height" ),
|
||||||
var t_o = t( elem, "opacity" );
|
t_o = t( elem, "opacity" ),
|
||||||
var f_o = f( elem, "opacity" );
|
f_o = f( elem, "opacity" );
|
||||||
|
|
||||||
if ( f_o === "" ) {
|
if ( f_o === "" ) {
|
||||||
f_o = 1;
|
f_o = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
var num = 0;
|
num = 0;
|
||||||
// TODO: uncrowd this
|
// TODO: uncrowd this
|
||||||
if ( t_h == "show" ) {num++;}
|
if ( t_h === "show" ) {num++;}
|
||||||
if ( t_w == "show" ) {num++;}
|
if ( t_w === "show" ) {num++;}
|
||||||
if ( t_w == "hide" || t_w == "show" ) {num++;}
|
if ( t_w === "hide" || t_w === "show" ) {num++;}
|
||||||
if ( t_h == "hide" || t_h == "show" ) {num++;}
|
if ( t_h === "hide" || t_h === "show" ) {num++;}
|
||||||
if ( t_o == "hide" || t_o == "show" ) {num++;}
|
if ( t_o === "hide" || t_o === "show" ) {num++;}
|
||||||
if ( t_w == "hide" ) {num++;}
|
if ( t_w === "hide" ) {num++;}
|
||||||
if ( t_o.constructor == Number ) {num += 2;}
|
if ( t_o.constructor === Number ) {num += 2;}
|
||||||
if ( t_w.constructor == Number ) {num += 2;}
|
if ( t_w.constructor === Number ) {num += 2;}
|
||||||
if ( t_h.constructor == Number ) {num +=2;}
|
if ( t_h.constructor === Number ) {num +=2;}
|
||||||
|
|
||||||
expect( num );
|
expect( num );
|
||||||
stop();
|
stop();
|
||||||
|
|
||||||
var anim = { width: t_w, height: t_h, opacity: t_o };
|
anim = { width: t_w, height: t_h, opacity: t_o };
|
||||||
|
|
||||||
elem.animate(anim, 50);
|
elem.animate(anim, 50);
|
||||||
|
|
||||||
jQuery.when( elem ).done(function( elem ) {
|
jQuery.when( elem ).done(function( elem ) {
|
||||||
|
var cur_o, cur_w, cur_h, old_h;
|
||||||
|
|
||||||
elem = elem[ 0 ];
|
elem = elem[ 0 ];
|
||||||
|
|
||||||
if ( t_w == "show" ) {
|
if ( t_w === "show" ) {
|
||||||
equal( elem.style.display, "block", "Showing, display should block: " + elem.style.display );
|
equal( elem.style.display, "block", "Showing, display should block: " + elem.style.display );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( t_w == "hide" || t_w == "show" ) {
|
if ( t_w === "hide" || t_w === "show" ) {
|
||||||
ok( f_w === "" ? elem.style.width === f_w : elem.style.width.indexOf( f_w ) === 0, "Width must be reset to " + f_w + ": " + elem.style.width );
|
ok( f_w === "" ? elem.style.width === f_w : elem.style.width.indexOf( f_w ) === 0, "Width must be reset to " + f_w + ": " + elem.style.width );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( t_h == "hide" || t_h == "show" ) {
|
if ( t_h === "hide" || t_h === "show" ) {
|
||||||
ok( f_h === "" ? elem.style.height === f_h : elem.style.height.indexOf( f_h ) === 0, "Height must be reset to " + f_h + ": " + elem.style.height );
|
ok( f_h === "" ? elem.style.height === f_h : elem.style.height.indexOf( f_h ) === 0, "Height must be reset to " + f_h + ": " + elem.style.height );
|
||||||
}
|
}
|
||||||
|
|
||||||
var cur_o = jQuery.style(elem, "opacity");
|
cur_o = jQuery.style(elem, "opacity");
|
||||||
|
|
||||||
if ( f_o !== jQuery.css(elem, "opacity") ) {
|
if ( f_o !== jQuery.css(elem, "opacity") ) {
|
||||||
f_o = f( elem, "opacity" );
|
f_o = f( elem, "opacity" );
|
||||||
@ -976,38 +986,38 @@ jQuery.each({
|
|||||||
cur_o = 1;
|
cur_o = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( t_o == "hide" || t_o == "show" ) {
|
if ( t_o === "hide" || t_o === "show" ) {
|
||||||
equal( cur_o, f_o, "Opacity must be reset to " + f_o + ": " + cur_o );
|
equal( cur_o, f_o, "Opacity must be reset to " + f_o + ": " + cur_o );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( t_w == "hide" ) {
|
if ( t_w === "hide" ) {
|
||||||
equal( elem.style.display, "none", "Hiding, display should be none: " + elem.style.display );
|
equal( elem.style.display, "none", "Hiding, display should be none: " + elem.style.display );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( t_o.constructor == Number ) {
|
if ( t_o.constructor === Number ) {
|
||||||
equal( cur_o, t_o, "Final opacity should be " + t_o + ": " + cur_o );
|
equal( cur_o, t_o, "Final opacity should be " + t_o + ": " + cur_o );
|
||||||
|
|
||||||
ok( jQuery.css(elem, "opacity") !== "" || cur_o == t_o, "Opacity should be explicitly set to " + t_o + ", is instead: " + cur_o );
|
ok( jQuery.css(elem, "opacity") !== "" || cur_o === t_o, "Opacity should be explicitly set to " + t_o + ", is instead: " + cur_o );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( t_w.constructor == Number ) {
|
if ( t_w.constructor === Number ) {
|
||||||
equal( elem.style.width, t_w + "px", "Final width should be " + t_w + ": " + elem.style.width );
|
equal( elem.style.width, t_w + "px", "Final width should be " + t_w + ": " + elem.style.width );
|
||||||
|
|
||||||
var cur_w = jQuery.css( elem,"width" );
|
cur_w = jQuery.css( elem,"width" );
|
||||||
|
|
||||||
ok( elem.style.width !== "" || cur_w == t_w, "Width should be explicitly set to " + t_w + ", is instead: " + cur_w );
|
ok( elem.style.width !== "" || cur_w === t_w, "Width should be explicitly set to " + t_w + ", is instead: " + cur_w );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( t_h.constructor == Number ) {
|
if ( t_h.constructor === Number ) {
|
||||||
equal( elem.style.height, t_h + "px", "Final height should be " + t_h + ": " + elem.style.height );
|
equal( elem.style.height, t_h + "px", "Final height should be " + t_h + ": " + elem.style.height );
|
||||||
|
|
||||||
var cur_h = jQuery.css( elem,"height" );
|
cur_h = jQuery.css( elem,"height" );
|
||||||
|
|
||||||
ok( elem.style.height !== "" || cur_h == t_h, "Height should be explicitly set to " + t_h + ", is instead: " + cur_h );
|
ok( elem.style.height !== "" || cur_h === t_h, "Height should be explicitly set to " + t_h + ", is instead: " + cur_h );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( t_h == "show" ) {
|
if ( t_h === "show" ) {
|
||||||
var old_h = jQuery.css( elem, "height" );
|
old_h = jQuery.css( elem, "height" );
|
||||||
jQuery( elem ).append("<br/>Some more text<br/>and some more...");
|
jQuery( elem ).append("<br/>Some more text<br/>and some more...");
|
||||||
|
|
||||||
if ( /Auto/.test( fn ) ) {
|
if ( /Auto/.test( fn ) ) {
|
||||||
@ -1312,10 +1322,12 @@ test("callbacks should fire in correct order (#9100)", function() {
|
|||||||
|
|
||||||
stop();
|
stop();
|
||||||
var a = 1,
|
var a = 1,
|
||||||
cb = 0,
|
cb = 0;
|
||||||
$lis = jQuery("<p data-operation='*2'></p><p data-operation='^2'></p>").appendTo("#qunit-fixture")
|
|
||||||
|
jQuery("<p data-operation='*2'></p><p data-operation='^2'></p>")
|
||||||
|
.appendTo("#qunit-fixture")
|
||||||
// The test will always pass if no properties are animated or if the duration is 0
|
// The test will always pass if no properties are animated or if the duration is 0
|
||||||
.animate({fontSize: 12}, 13, function() {
|
.animate({ fontSize: 12 }, 13, function() {
|
||||||
a *= jQuery(this).data("operation") === "*2" ? 2 : a;
|
a *= jQuery(this).data("operation") === "*2" ? 2 : a;
|
||||||
cb++;
|
cb++;
|
||||||
if ( cb === 2 ) {
|
if ( cb === 2 ) {
|
||||||
@ -1395,7 +1407,8 @@ test("Do not append px to 'fill-opacity' #9548", 1, function() {
|
|||||||
|
|
||||||
// Start 1.8 Animation tests
|
// Start 1.8 Animation tests
|
||||||
asyncTest( "jQuery.Animation( object, props, opts )", 4, function() {
|
asyncTest( "jQuery.Animation( object, props, opts )", 4, function() {
|
||||||
var testObject = {
|
var animation,
|
||||||
|
testObject = {
|
||||||
"foo": 0,
|
"foo": 0,
|
||||||
"bar": 1,
|
"bar": 1,
|
||||||
"width": 100
|
"width": 100
|
||||||
@ -1406,7 +1419,7 @@ asyncTest( "jQuery.Animation( object, props, opts )", 4, function() {
|
|||||||
"width": 200
|
"width": 200
|
||||||
};
|
};
|
||||||
|
|
||||||
var animation = jQuery.Animation( testObject, testDest, { "duration": 1 });
|
animation = jQuery.Animation( testObject, testDest, { "duration": 1 });
|
||||||
animation.done(function() {
|
animation.done(function() {
|
||||||
for ( var prop in testDest ) {
|
for ( var prop in testDest ) {
|
||||||
equal( testObject[ prop ], testDest[ prop ], "Animated: " + prop );
|
equal( testObject[ prop ], testDest[ prop ], "Animated: " + prop );
|
||||||
@ -2043,7 +2056,7 @@ test( ".finish( \"custom\" ) - custom queue animations", function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test( ".finish() calls finish of custom queue functions", function() {
|
test( ".finish() calls finish of custom queue functions", function() {
|
||||||
function queueTester( next ) {
|
function queueTester() {
|
||||||
|
|
||||||
}
|
}
|
||||||
var div = jQuery( "<div>" );
|
var div = jQuery( "<div>" );
|
||||||
|
@ -6,12 +6,12 @@ test("null or undefined handler", function() {
|
|||||||
try {
|
try {
|
||||||
jQuery("#firstp").on( "click", null );
|
jQuery("#firstp").on( "click", null );
|
||||||
ok(true, "Passing a null handler will not throw an exception");
|
ok(true, "Passing a null handler will not throw an exception");
|
||||||
} catch (e) {}
|
} catch ( e ) {}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
jQuery("#firstp").on( "click", undefined );
|
jQuery("#firstp").on( "click", undefined );
|
||||||
ok(true, "Passing an undefined handler will not throw an exception");
|
ok(true, "Passing an undefined handler will not throw an exception");
|
||||||
} catch (e) {}
|
} catch ( e ) {}
|
||||||
});
|
});
|
||||||
|
|
||||||
test("on() with non-null,defined data", function() {
|
test("on() with non-null,defined data", function() {
|
||||||
@ -41,7 +41,7 @@ test("Handler changes and .trigger() order", function() {
|
|||||||
path = "";
|
path = "";
|
||||||
|
|
||||||
markup
|
markup
|
||||||
.find( "*" ).andSelf().on( "click", function( e ) {
|
.find( "*" ).addBack().on( "click", function() {
|
||||||
path += this.nodeName.toLowerCase() + " ";
|
path += this.nodeName.toLowerCase() + " ";
|
||||||
})
|
})
|
||||||
.filter( "b" ).on( "click", function( e ) {
|
.filter( "b" ).on( "click", function( e ) {
|
||||||
@ -60,7 +60,9 @@ test("Handler changes and .trigger() order", function() {
|
|||||||
|
|
||||||
test("on(), with data", function() {
|
test("on(), with data", function() {
|
||||||
expect(4);
|
expect(4);
|
||||||
var handler = function(event) {
|
var test, handler, handler2;
|
||||||
|
|
||||||
|
handler = function(event) {
|
||||||
ok( event.data, "on() with data, check passed data exists" );
|
ok( event.data, "on() with data, check passed data exists" );
|
||||||
equal( event.data["foo"], "bar", "on() with data, Check value of passed data" );
|
equal( event.data["foo"], "bar", "on() with data, Check value of passed data" );
|
||||||
};
|
};
|
||||||
@ -68,8 +70,8 @@ test("on(), with data", function() {
|
|||||||
|
|
||||||
ok( !jQuery._data(jQuery("#firstp")[0], "events"), "Event handler unbound when using data." );
|
ok( !jQuery._data(jQuery("#firstp")[0], "events"), "Event handler unbound when using data." );
|
||||||
|
|
||||||
var test = function(){};
|
test = function(){};
|
||||||
var handler2 = function(event) {
|
handler2 = function(event) {
|
||||||
equal( event.data, test, "on() with function data, Check value of passed data" );
|
equal( event.data, test, "on() with function data, Check value of passed data" );
|
||||||
};
|
};
|
||||||
jQuery("#firstp").on("click", test, handler2).trigger("click").off("click", handler2);
|
jQuery("#firstp").on("click", test, handler2).trigger("click").off("click", handler2);
|
||||||
@ -99,17 +101,18 @@ test("on(), with data, trigger with data", function() {
|
|||||||
|
|
||||||
test("on(), multiple events at once", function() {
|
test("on(), multiple events at once", function() {
|
||||||
expect(2);
|
expect(2);
|
||||||
var clickCounter = 0,
|
var handler,
|
||||||
|
clickCounter = 0,
|
||||||
mouseoverCounter = 0;
|
mouseoverCounter = 0;
|
||||||
var handler = function(event) {
|
handler = function(event) {
|
||||||
if (event.type == "click") {
|
if (event.type === "click") {
|
||||||
clickCounter += 1;
|
clickCounter += 1;
|
||||||
}
|
}
|
||||||
else if (event.type == "mouseover") {
|
else if (event.type === "mouseover") {
|
||||||
mouseoverCounter += 1;
|
mouseoverCounter += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
jQuery("#firstp").on("click mouseover", handler).trigger("click").trigger("mouseover");
|
jQuery("#firstp").on("click mouseover", handler).trigger("click").trigger("mouseover");
|
||||||
equal( clickCounter, 1, "on() with multiple events at once" );
|
equal( clickCounter, 1, "on() with multiple events at once" );
|
||||||
equal( mouseoverCounter, 1, "on() with multiple events at once" );
|
equal( mouseoverCounter, 1, "on() with multiple events at once" );
|
||||||
@ -119,7 +122,7 @@ test("on(), five events at once", function() {
|
|||||||
expect(1);
|
expect(1);
|
||||||
|
|
||||||
var count = 0,
|
var count = 0,
|
||||||
handler = function(event) {
|
handler = function() {
|
||||||
count++;
|
count++;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -134,9 +137,10 @@ test("on(), five events at once", function() {
|
|||||||
test("on(), multiple events at once and namespaces", function() {
|
test("on(), multiple events at once and namespaces", function() {
|
||||||
expect(7);
|
expect(7);
|
||||||
|
|
||||||
var cur, obj = {};
|
var cur, div,
|
||||||
|
obj = {};
|
||||||
|
|
||||||
var div = jQuery("<div/>").on("focusin.a", function(e) {
|
div = jQuery("<div/>").on("focusin.a", function(e) {
|
||||||
equal( e.type, cur, "Verify right single event was fired." );
|
equal( e.type, cur, "Verify right single event was fired." );
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -178,7 +182,7 @@ test("on(), namespace with special add", function() {
|
|||||||
expect(27);
|
expect(27);
|
||||||
|
|
||||||
var i = 0,
|
var i = 0,
|
||||||
div = jQuery("<div/>").appendTo("#qunit-fixture").on( "test", function(e) {
|
div = jQuery("<div/>").appendTo("#qunit-fixture").on( "test", function() {
|
||||||
ok( true, "Test event fired." );
|
ok( true, "Test event fired." );
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -227,7 +231,7 @@ test("on(), namespace with special add", function() {
|
|||||||
// Should trigger 4
|
// Should trigger 4
|
||||||
div.off("test");
|
div.off("test");
|
||||||
|
|
||||||
div = jQuery("<div/>").on( "test", function( e ) {
|
div = jQuery("<div/>").on( "test", function() {
|
||||||
ok( true, "Test event fired." );
|
ok( true, "Test event fired." );
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -248,23 +252,22 @@ test("on(), no data", function() {
|
|||||||
test("on/one/off(Object)", function(){
|
test("on/one/off(Object)", function(){
|
||||||
expect(6);
|
expect(6);
|
||||||
|
|
||||||
var clickCounter = 0, mouseoverCounter = 0;
|
var $elem,
|
||||||
function handler(event) {
|
clickCounter = 0,
|
||||||
if (event.type == "click") {
|
mouseoverCounter = 0;
|
||||||
|
|
||||||
|
function handler(event) {
|
||||||
|
if (event.type === "click") {
|
||||||
clickCounter++;
|
clickCounter++;
|
||||||
}
|
} else if (event.type === "mouseover") {
|
||||||
else if (event.type == "mouseover") {
|
|
||||||
mouseoverCounter++;
|
mouseoverCounter++;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function handlerWithData(event) {
|
function handlerWithData(event) {
|
||||||
if (event.type == "click") {
|
if (event.type === "click") {
|
||||||
clickCounter += event.data;
|
clickCounter += event.data;
|
||||||
}
|
} else if (event.type === "mouseover") {
|
||||||
else if (event.type == "mouseover") {
|
|
||||||
mouseoverCounter += event.data;
|
mouseoverCounter += event.data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -273,7 +276,7 @@ test("on/one/off(Object)", function(){
|
|||||||
$elem.trigger("click").trigger("mouseover");
|
$elem.trigger("click").trigger("mouseover");
|
||||||
}
|
}
|
||||||
|
|
||||||
var $elem = jQuery("#firstp")
|
$elem = jQuery("#firstp")
|
||||||
// Regular bind
|
// Regular bind
|
||||||
.on({
|
.on({
|
||||||
"click":handler,
|
"click":handler,
|
||||||
@ -307,12 +310,13 @@ test("on/one/off(Object)", function(){
|
|||||||
test("on/off(Object), on/off(Object, String)", function() {
|
test("on/off(Object), on/off(Object, String)", function() {
|
||||||
expect(6);
|
expect(6);
|
||||||
|
|
||||||
var clickCounter = 0,
|
var events,
|
||||||
|
clickCounter = 0,
|
||||||
mouseoverCounter = 0,
|
mouseoverCounter = 0,
|
||||||
$p = jQuery("#firstp"),
|
$p = jQuery("#firstp"),
|
||||||
$a = $p.find("a").eq(0);
|
$a = $p.find("a").eq(0);
|
||||||
|
|
||||||
var events = {
|
events = {
|
||||||
"click": function( event ) {
|
"click": function( event ) {
|
||||||
clickCounter += ( event.data || 1 );
|
clickCounter += ( event.data || 1 );
|
||||||
},
|
},
|
||||||
@ -357,7 +361,7 @@ test("on immediate propagation", function() {
|
|||||||
lastClick = "click1";
|
lastClick = "click1";
|
||||||
e.stopImmediatePropagation();
|
e.stopImmediatePropagation();
|
||||||
});
|
});
|
||||||
jQuery( document ).on( "click", "#firstp a", function(e) {
|
jQuery( document ).on( "click", "#firstp a", function() {
|
||||||
lastClick = "click2";
|
lastClick = "click2";
|
||||||
});
|
});
|
||||||
$a.trigger( "click" );
|
$a.trigger( "click" );
|
||||||
@ -369,7 +373,7 @@ test("on immediate propagation", function() {
|
|||||||
lastClick = "click1";
|
lastClick = "click1";
|
||||||
e.stopImmediatePropagation();
|
e.stopImmediatePropagation();
|
||||||
});
|
});
|
||||||
$p.on( "click", "a", function(e) {
|
$p.on( "click", "a", function() {
|
||||||
lastClick = "click2";
|
lastClick = "click2";
|
||||||
});
|
});
|
||||||
$a.trigger( "click" );
|
$a.trigger( "click" );
|
||||||
@ -409,7 +413,7 @@ test("on bubbling, isDefaultPrevented", function() {
|
|||||||
fakeClick( $anchor2 );
|
fakeClick( $anchor2 );
|
||||||
$anchor2.off( "click" );
|
$anchor2.off( "click" );
|
||||||
$main.off( "click", "**" );
|
$main.off( "click", "**" );
|
||||||
$anchor2.on( "click", function(e) {
|
$anchor2.on( "click", function() {
|
||||||
// Let the default action occur
|
// Let the default action occur
|
||||||
});
|
});
|
||||||
$main.on("click", "#foo", function(e) {
|
$main.on("click", "#foo", function(e) {
|
||||||
@ -445,7 +449,7 @@ test("on(), trigger change on select", function() {
|
|||||||
test("on(), namespaced events, cloned events", 18, function() {
|
test("on(), namespaced events, cloned events", 18, function() {
|
||||||
var firstp = jQuery( "#firstp" );
|
var firstp = jQuery( "#firstp" );
|
||||||
|
|
||||||
firstp.on("custom.test",function(e){
|
firstp.on("custom.test",function(){
|
||||||
ok(false, "Custom event triggered");
|
ok(false, "Custom event triggered");
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -507,22 +511,22 @@ test("on(), multi-namespaced events", function() {
|
|||||||
];
|
];
|
||||||
|
|
||||||
function check(name, msg){
|
function check(name, msg){
|
||||||
deepEqual(name, order.shift(), msg);
|
deepEqual( name, order.shift(), msg );
|
||||||
}
|
}
|
||||||
|
|
||||||
jQuery("#firstp").on("custom.test",function(e){
|
jQuery("#firstp").on("custom.test",function() {
|
||||||
check("custom.test", "Custom event triggered");
|
check("custom.test", "Custom event triggered");
|
||||||
});
|
});
|
||||||
|
|
||||||
jQuery("#firstp").on("custom.test2",function(e){
|
jQuery("#firstp").on("custom.test2",function() {
|
||||||
check("custom.test2", "Custom event triggered");
|
check("custom.test2", "Custom event triggered");
|
||||||
});
|
});
|
||||||
|
|
||||||
jQuery("#firstp").on("click.test",function(e){
|
jQuery("#firstp").on("click.test",function() {
|
||||||
check("click.test", "Normal click triggered");
|
check("click.test", "Normal click triggered");
|
||||||
});
|
});
|
||||||
|
|
||||||
jQuery("#firstp").on("click.test.abc",function(e){
|
jQuery("#firstp").on("click.test.abc",function() {
|
||||||
check("click.test.abc", "Namespaced click triggered");
|
check("click.test.abc", "Namespaced click triggered");
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -611,7 +615,7 @@ test("on(), with different this object", function() {
|
|||||||
expect(4);
|
expect(4);
|
||||||
var thisObject = { myThis: true },
|
var thisObject = { myThis: true },
|
||||||
data = { myData: true },
|
data = { myData: true },
|
||||||
handler1 = function( event ) {
|
handler1 = function() {
|
||||||
equal( this, thisObject, "on() with different this object" );
|
equal( this, thisObject, "on() with different this object" );
|
||||||
},
|
},
|
||||||
handler2 = function( event ) {
|
handler2 = function( event ) {
|
||||||
@ -630,7 +634,7 @@ test("on(name, false), off(name, false)", function() {
|
|||||||
expect(3);
|
expect(3);
|
||||||
|
|
||||||
var main = 0;
|
var main = 0;
|
||||||
jQuery("#qunit-fixture").on("click", function(e){ main++; });
|
jQuery("#qunit-fixture").on("click", function(){ main++; });
|
||||||
jQuery("#ap").trigger("click");
|
jQuery("#ap").trigger("click");
|
||||||
equal( main, 1, "Verify that the trigger happened correctly." );
|
equal( main, 1, "Verify that the trigger happened correctly." );
|
||||||
|
|
||||||
@ -653,7 +657,7 @@ test("on(name, selector, false), off(name, selector, false)", function() {
|
|||||||
|
|
||||||
var main = 0;
|
var main = 0;
|
||||||
|
|
||||||
jQuery("#qunit-fixture").on("click", "#ap", function(e){ main++; });
|
jQuery("#qunit-fixture").on("click", "#ap", function(){ main++; });
|
||||||
jQuery("#ap").trigger("click");
|
jQuery("#ap").trigger("click");
|
||||||
equal( main, 1, "Verify that the trigger happened correctly." );
|
equal( main, 1, "Verify that the trigger happened correctly." );
|
||||||
|
|
||||||
@ -672,7 +676,8 @@ test("on(name, selector, false), off(name, selector, false)", function() {
|
|||||||
test("on()/trigger()/off() on plain object", function() {
|
test("on()/trigger()/off() on plain object", function() {
|
||||||
expect( 7 );
|
expect( 7 );
|
||||||
|
|
||||||
var obj = {};
|
var events,
|
||||||
|
obj = {};
|
||||||
|
|
||||||
// Make sure it doesn't complain when no events are found
|
// Make sure it doesn't complain when no events are found
|
||||||
jQuery(obj).trigger("test");
|
jQuery(obj).trigger("test");
|
||||||
@ -689,7 +694,7 @@ test("on()/trigger()/off() on plain object", function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var events = jQuery._data(obj, "events");
|
events = jQuery._data(obj, "events");
|
||||||
ok( events, "Object has events bound." );
|
ok( events, "Object has events bound." );
|
||||||
equal( obj["events"], undefined, "Events object on plain objects is not events" );
|
equal( obj["events"], undefined, "Events object on plain objects is not events" );
|
||||||
equal( obj["test"], undefined, "Make sure that test event is not on the plain object." );
|
equal( obj["test"], undefined, "Make sure that test event is not on the plain object." );
|
||||||
@ -716,8 +721,8 @@ test("on()/trigger()/off() on plain object", function() {
|
|||||||
test("off(type)", function() {
|
test("off(type)", function() {
|
||||||
expect( 1 );
|
expect( 1 );
|
||||||
|
|
||||||
var $elem = jQuery("#firstp"),
|
var message, func,
|
||||||
message;
|
$elem = jQuery("#firstp");
|
||||||
|
|
||||||
function error(){
|
function error(){
|
||||||
ok( false, message );
|
ok( false, message );
|
||||||
@ -751,7 +756,7 @@ test("off(type)", function() {
|
|||||||
jQuery( document ).on( "click", function(){
|
jQuery( document ).on( "click", function(){
|
||||||
ok( true, "called handler after selective removal");
|
ok( true, "called handler after selective removal");
|
||||||
});
|
});
|
||||||
var func = function(){ };
|
func = function() {};
|
||||||
jQuery( document )
|
jQuery( document )
|
||||||
.on( "click", func )
|
.on( "click", func )
|
||||||
.off( "click", func )
|
.off( "click", func )
|
||||||
@ -800,8 +805,8 @@ if ( jQuery.fn.hover ) {
|
|||||||
expect(1);
|
expect(1);
|
||||||
|
|
||||||
var times = 0,
|
var times = 0,
|
||||||
handler1 = function( event ) { ++times; },
|
handler1 = function() { ++times; },
|
||||||
handler2 = function( event ) { ++times; };
|
handler2 = function() { ++times; };
|
||||||
|
|
||||||
jQuery("#firstp")
|
jQuery("#firstp")
|
||||||
.hover(handler1, handler2)
|
.hover(handler1, handler2)
|
||||||
@ -876,7 +881,8 @@ if ( jQuery.fn.click ) {
|
|||||||
test("trigger() shortcuts", function() {
|
test("trigger() shortcuts", function() {
|
||||||
expect(6);
|
expect(6);
|
||||||
|
|
||||||
var elem = jQuery("<li><a href='#'>Change location</a></li>").prependTo("#firstUL");
|
var counter, clickCounter,
|
||||||
|
elem = jQuery("<li><a href='#'>Change location</a></li>").prependTo("#firstUL");
|
||||||
elem.find("a").on("click", function() {
|
elem.find("a").on("click", function() {
|
||||||
var close = jQuery("spanx", this); // same with jQuery(this).find("span");
|
var close = jQuery("spanx", this); // same with jQuery(this).find("span");
|
||||||
equal( close.length, 0, "Context element does not exist, length must be zero" );
|
equal( close.length, 0, "Context element does not exist, length must be zero" );
|
||||||
@ -891,15 +897,15 @@ if ( jQuery.fn.click ) {
|
|||||||
ok( true, "click event handler for checkbox gets fired twice, see #815" );
|
ok( true, "click event handler for checkbox gets fired twice, see #815" );
|
||||||
}).click();
|
}).click();
|
||||||
|
|
||||||
var counter = 0;
|
counter = 0;
|
||||||
jQuery("#firstp")[0].onclick = function(event) {
|
jQuery("#firstp")[0].onclick = function() {
|
||||||
counter++;
|
counter++;
|
||||||
};
|
};
|
||||||
jQuery("#firstp").click();
|
jQuery("#firstp").click();
|
||||||
equal( counter, 1, "Check that click, triggers onclick event handler also" );
|
equal( counter, 1, "Check that click, triggers onclick event handler also" );
|
||||||
|
|
||||||
var clickCounter = 0;
|
clickCounter = 0;
|
||||||
jQuery("#simon1")[0].onclick = function(event) {
|
jQuery("#simon1")[0].onclick = function() {
|
||||||
clickCounter++;
|
clickCounter++;
|
||||||
};
|
};
|
||||||
jQuery("#simon1").click();
|
jQuery("#simon1").click();
|
||||||
@ -925,11 +931,11 @@ test("trigger() bubbling", function() {
|
|||||||
|
|
||||||
var win = 0, doc = 0, html = 0, body = 0, main = 0, ap = 0;
|
var win = 0, doc = 0, html = 0, body = 0, main = 0, ap = 0;
|
||||||
|
|
||||||
jQuery(window).on("click", function(e){ win++; });
|
jQuery(window).on("click", function(){ win++; });
|
||||||
jQuery(document).on("click", function(e){ if ( e.target !== document) { doc++; } });
|
jQuery(document).on("click", function( e ){ if ( e.target !== document) { doc++; } });
|
||||||
jQuery("html").on("click", function(e){ html++; });
|
jQuery("html").on("click", function(){ html++; });
|
||||||
jQuery("body").on("click", function(e){ body++; });
|
jQuery("body").on("click", function(){ body++; });
|
||||||
jQuery("#qunit-fixture").on("click", function(e){ main++; });
|
jQuery("#qunit-fixture").on("click", function(){ main++; });
|
||||||
jQuery("#ap").on("click", function(){ ap++; return false; });
|
jQuery("#ap").on("click", function(){ ap++; return false; });
|
||||||
|
|
||||||
jQuery("html").trigger("click");
|
jQuery("html").trigger("click");
|
||||||
@ -968,7 +974,8 @@ test("trigger() bubbling", function() {
|
|||||||
test("trigger(type, [data], [fn])", function() {
|
test("trigger(type, [data], [fn])", function() {
|
||||||
expect(16);
|
expect(16);
|
||||||
|
|
||||||
var handler = function(event, a, b, c) {
|
var $elem, pass, form, elem2,
|
||||||
|
handler = function(event, a, b, c) {
|
||||||
equal( event.type, "click", "check passed data" );
|
equal( event.type, "click", "check passed data" );
|
||||||
equal( a, 1, "check passed data" );
|
equal( a, 1, "check passed data" );
|
||||||
equal( b, "2", "check passed data" );
|
equal( b, "2", "check passed data" );
|
||||||
@ -976,7 +983,7 @@ test("trigger(type, [data], [fn])", function() {
|
|||||||
return "test";
|
return "test";
|
||||||
};
|
};
|
||||||
|
|
||||||
var $elem = jQuery("#firstp");
|
$elem = jQuery("#firstp");
|
||||||
|
|
||||||
// Simulate a "native" click
|
// Simulate a "native" click
|
||||||
$elem[0].click = function(){
|
$elem[0].click = function(){
|
||||||
@ -1011,12 +1018,12 @@ test("trigger(type, [data], [fn])", function() {
|
|||||||
// Triggers 5
|
// Triggers 5
|
||||||
equal( $elem.triggerHandler("click", [1, "2", "abc"]), "test", "Verify handler response" );
|
equal( $elem.triggerHandler("click", [1, "2", "abc"]), "test", "Verify handler response" );
|
||||||
|
|
||||||
var pass = true, elem2;
|
pass = true;
|
||||||
try {
|
try {
|
||||||
elem2 = jQuery("#form input").eq(0);
|
elem2 = jQuery("#form input").eq(0);
|
||||||
elem2.get(0).style.display = "none";
|
elem2.get(0).style.display = "none";
|
||||||
elem2.trigger("focus");
|
elem2.trigger("focus");
|
||||||
} catch(e) {
|
} catch( e ) {
|
||||||
pass = false;
|
pass = false;
|
||||||
}
|
}
|
||||||
ok( pass, "Trigger focus on hidden element" );
|
ok( pass, "Trigger focus on hidden element" );
|
||||||
@ -1024,12 +1031,12 @@ test("trigger(type, [data], [fn])", function() {
|
|||||||
pass = true;
|
pass = true;
|
||||||
try {
|
try {
|
||||||
jQuery("#qunit-fixture table").eq(0).on("test:test", function(){}).trigger("test:test");
|
jQuery("#qunit-fixture table").eq(0).on("test:test", function(){}).trigger("test:test");
|
||||||
} catch (e) {
|
} catch ( e ) {
|
||||||
pass = false;
|
pass = false;
|
||||||
}
|
}
|
||||||
ok( pass, "Trigger on a table with a colon in the even type, see #3533" );
|
ok( pass, "Trigger on a table with a colon in the even type, see #3533" );
|
||||||
|
|
||||||
var form = jQuery("<form action=''></form>").appendTo("body");
|
form = jQuery("<form action=''></form>").appendTo("body");
|
||||||
|
|
||||||
// Make sure it can be prevented locally
|
// Make sure it can be prevented locally
|
||||||
form.on( "submit", function(){
|
form.on( "submit", function(){
|
||||||
@ -1126,13 +1133,14 @@ test( "change event bubbles on copied forms (#11796)", function(){
|
|||||||
test("trigger(eventObject, [data], [fn])", function() {
|
test("trigger(eventObject, [data], [fn])", function() {
|
||||||
expect(28);
|
expect(28);
|
||||||
|
|
||||||
var $parent = jQuery("<div id='par' />").appendTo("body"),
|
var event,
|
||||||
|
$parent = jQuery("<div id='par' />").appendTo("body"),
|
||||||
$child = jQuery("<p id='child'>foo</p>").appendTo( $parent );
|
$child = jQuery("<p id='child'>foo</p>").appendTo( $parent );
|
||||||
|
|
||||||
$parent.get( 0 ).style.display = "none";
|
$parent.get( 0 ).style.display = "none";
|
||||||
|
|
||||||
var event = jQuery.Event("noNew");
|
event = jQuery.Event("noNew");
|
||||||
ok( event != window, "Instantiate jQuery.Event without the 'new' keyword" );
|
ok( event !== window, "Instantiate jQuery.Event without the 'new' keyword" );
|
||||||
equal( event.type, "noNew", "Verify its type" );
|
equal( event.type, "noNew", "Verify its type" );
|
||||||
|
|
||||||
equal( event.isDefaultPrevented(), false, "Verify isDefaultPrevented" );
|
equal( event.isDefaultPrevented(), false, "Verify isDefaultPrevented" );
|
||||||
@ -1149,7 +1157,7 @@ test("trigger(eventObject, [data], [fn])", function() {
|
|||||||
equal( event.isPropagationStopped(), true, "Verify isPropagationStopped" );
|
equal( event.isPropagationStopped(), true, "Verify isPropagationStopped" );
|
||||||
equal( event.isImmediatePropagationStopped(), true, "Verify isPropagationStopped" );
|
equal( event.isImmediatePropagationStopped(), true, "Verify isPropagationStopped" );
|
||||||
|
|
||||||
$parent.on("foo",function(e){
|
$parent.on("foo",function( e ) {
|
||||||
// Tries bubbling
|
// Tries bubbling
|
||||||
equal( e.type, "foo", "Verify event type when passed passing an event object" );
|
equal( e.type, "foo", "Verify event type when passed passing an event object" );
|
||||||
equal( e.target.id, "child", "Verify event.target when passed passing an event object" );
|
equal( e.target.id, "child", "Verify event.target when passed passing an event object" );
|
||||||
@ -1532,7 +1540,8 @@ test("jQuery.Event properties", function(){
|
|||||||
test(".on()/.off()", function() {
|
test(".on()/.off()", function() {
|
||||||
expect(65);
|
expect(65);
|
||||||
|
|
||||||
var submit = 0, div = 0, livea = 0, liveb = 0;
|
var event, clicked, hash, called, livec, lived, livee,
|
||||||
|
submit = 0, div = 0, livea = 0, liveb = 0;
|
||||||
|
|
||||||
jQuery("#body").on("submit", "#qunit-fixture div", function(){ submit++; return false; });
|
jQuery("#body").on("submit", "#qunit-fixture div", function(){ submit++; return false; });
|
||||||
jQuery("#body").on("click", "#qunit-fixture div", function(){ div++; });
|
jQuery("#body").on("click", "#qunit-fixture div", function(){ div++; });
|
||||||
@ -1597,7 +1606,7 @@ test(".on()/.off()", function() {
|
|||||||
|
|
||||||
// Make sure that stopPropagation doesn't stop live events
|
// Make sure that stopPropagation doesn't stop live events
|
||||||
submit = 0; div = 0; livea = 0; liveb = 0;
|
submit = 0; div = 0; livea = 0; liveb = 0;
|
||||||
jQuery("#body").on("click", "div#nothiddendivchild", function(e){ liveb++; e.stopPropagation(); });
|
jQuery("#body").on("click", "div#nothiddendivchild", function( e ){ liveb++; e.stopPropagation(); });
|
||||||
jQuery("div#nothiddendivchild").trigger("click");
|
jQuery("div#nothiddendivchild").trigger("click");
|
||||||
equal( submit, 0, "stopPropagation Click on inner div" );
|
equal( submit, 0, "stopPropagation Click on inner div" );
|
||||||
equal( div, 1, "stopPropagation Click on inner div" );
|
equal( div, 1, "stopPropagation Click on inner div" );
|
||||||
@ -1606,7 +1615,7 @@ test(".on()/.off()", function() {
|
|||||||
|
|
||||||
// Make sure click events only fire with primary click
|
// Make sure click events only fire with primary click
|
||||||
submit = 0; div = 0; livea = 0; liveb = 0;
|
submit = 0; div = 0; livea = 0; liveb = 0;
|
||||||
var event = jQuery.Event("click");
|
event = jQuery.Event("click");
|
||||||
event.button = 1;
|
event.button = 1;
|
||||||
jQuery("div#nothiddendiv").trigger(event);
|
jQuery("div#nothiddendiv").trigger(event);
|
||||||
|
|
||||||
@ -1618,8 +1627,8 @@ test(".on()/.off()", function() {
|
|||||||
jQuery("#body").off("submit", "#qunit-fixture div");
|
jQuery("#body").off("submit", "#qunit-fixture div");
|
||||||
|
|
||||||
// Test binding with a different context
|
// Test binding with a different context
|
||||||
var clicked = 0;
|
clicked = 0;
|
||||||
jQuery("#qunit-fixture").on("click", "#foo", function(e){ clicked++; });
|
jQuery("#qunit-fixture").on("click", "#foo", function(){ clicked++; });
|
||||||
jQuery("#qunit-fixture div").trigger("click");
|
jQuery("#qunit-fixture div").trigger("click");
|
||||||
jQuery("#foo").trigger("click");
|
jQuery("#foo").trigger("click");
|
||||||
jQuery("#qunit-fixture").trigger("click");
|
jQuery("#qunit-fixture").trigger("click");
|
||||||
@ -1632,7 +1641,7 @@ test(".on()/.off()", function() {
|
|||||||
equal( clicked, 2, "off with a context");
|
equal( clicked, 2, "off with a context");
|
||||||
|
|
||||||
// Test binding with event data
|
// Test binding with event data
|
||||||
jQuery("#body").on("click", "#foo", true, function(e){ equal( e.data, true, "on with event data" ); });
|
jQuery("#body").on("click", "#foo", true, function( e ){ equal( e.data, true, "on with event data" ); });
|
||||||
jQuery("#foo").trigger("click");
|
jQuery("#foo").trigger("click");
|
||||||
jQuery("#body").off("click", "#foo");
|
jQuery("#body").off("click", "#foo");
|
||||||
|
|
||||||
@ -1642,7 +1651,7 @@ test(".on()/.off()", function() {
|
|||||||
jQuery("#body").off("click", "#foo");
|
jQuery("#body").off("click", "#foo");
|
||||||
|
|
||||||
// Test binding with different this object
|
// Test binding with different this object
|
||||||
jQuery("#body").on("click", "#foo", jQuery.proxy(function(e){ equal( this["foo"], "bar", "on with event scope" ); }, { "foo": "bar" }));
|
jQuery("#body").on("click", "#foo", jQuery.proxy(function(){ equal( this["foo"], "bar", "on with event scope" ); }, { "foo": "bar" }));
|
||||||
jQuery("#foo").trigger("click");
|
jQuery("#foo").trigger("click");
|
||||||
jQuery("#body").off("click", "#foo");
|
jQuery("#body").off("click", "#foo");
|
||||||
|
|
||||||
@ -1657,7 +1666,7 @@ test(".on()/.off()", function() {
|
|||||||
|
|
||||||
// Verify that return false prevents default action
|
// Verify that return false prevents default action
|
||||||
jQuery("#body").on("click", "#anchor2", function(){ return false; });
|
jQuery("#body").on("click", "#anchor2", function(){ return false; });
|
||||||
var hash = window.location.hash;
|
hash = window.location.hash;
|
||||||
jQuery("#anchor2").trigger("click");
|
jQuery("#anchor2").trigger("click");
|
||||||
equal( window.location.hash, hash, "return false worked" );
|
equal( window.location.hash, hash, "return false worked" );
|
||||||
jQuery("#body").off("click", "#anchor2");
|
jQuery("#body").off("click", "#anchor2");
|
||||||
@ -1670,7 +1679,7 @@ test(".on()/.off()", function() {
|
|||||||
jQuery("#body").off("click", "#anchor2");
|
jQuery("#body").off("click", "#anchor2");
|
||||||
|
|
||||||
// Test binding the same handler to multiple points
|
// Test binding the same handler to multiple points
|
||||||
var called = 0;
|
called = 0;
|
||||||
function callback(){ called++; return false; }
|
function callback(){ called++; return false; }
|
||||||
|
|
||||||
jQuery("#body").on("click", "#nothiddendiv", callback);
|
jQuery("#body").on("click", "#nothiddendiv", callback);
|
||||||
@ -1714,10 +1723,10 @@ test(".on()/.off()", function() {
|
|||||||
|
|
||||||
// Make sure we don't loose the target by DOM modifications
|
// Make sure we don't loose the target by DOM modifications
|
||||||
// after the bubble already reached the liveHandler
|
// after the bubble already reached the liveHandler
|
||||||
var livec = 0;
|
livec = 0;
|
||||||
jQuery("#nothiddendivchild").html("<span></span>");
|
jQuery("#nothiddendivchild").html("<span></span>");
|
||||||
|
|
||||||
jQuery("#body").on("click", "#nothiddendivchild", function(e){ jQuery("#nothiddendivchild").html(""); });
|
jQuery("#body").on("click", "#nothiddendivchild", function(){ jQuery("#nothiddendivchild").html(""); });
|
||||||
jQuery("#body").on("click", "#nothiddendivchild", function(e){ if(e.target) {livec++;} });
|
jQuery("#body").on("click", "#nothiddendivchild", function(e){ if(e.target) {livec++;} });
|
||||||
|
|
||||||
jQuery("#nothiddendiv span").trigger("click");
|
jQuery("#nothiddendiv span").trigger("click");
|
||||||
@ -1729,7 +1738,8 @@ test(".on()/.off()", function() {
|
|||||||
|
|
||||||
// Verify that .live() occurs and cancel bubble in the same order as
|
// Verify that .live() occurs and cancel bubble in the same order as
|
||||||
// we would expect .on() and .click() without delegation
|
// we would expect .on() and .click() without delegation
|
||||||
var lived = 0, livee = 0;
|
lived = 0;
|
||||||
|
livee = 0;
|
||||||
|
|
||||||
// bind one pair in one order
|
// bind one pair in one order
|
||||||
jQuery("#body").on("click", "span#liveSpan1 a", function(){ lived++; return false; });
|
jQuery("#body").on("click", "span#liveSpan1 a", function(){ lived++; return false; });
|
||||||
@ -1753,7 +1763,7 @@ test(".on()/.off()", function() {
|
|||||||
jQuery("#body").off("click", "**");
|
jQuery("#body").off("click", "**");
|
||||||
|
|
||||||
// Test this, target and currentTarget are correct
|
// Test this, target and currentTarget are correct
|
||||||
jQuery("#body").on("click", "span#liveSpan1", function(e){
|
jQuery("#body").on("click", "span#liveSpan1", function( e ) {
|
||||||
equal( this.id, "liveSpan1", "Check the this within a on handler" );
|
equal( this.id, "liveSpan1", "Check the this within a on handler" );
|
||||||
equal( e.currentTarget.id, "liveSpan1", "Check the event.currentTarget within a on handler" );
|
equal( e.currentTarget.id, "liveSpan1", "Check the event.currentTarget within a on handler" );
|
||||||
equal( e.delegateTarget, document.body, "Check the event.delegateTarget within a on handler" );
|
equal( e.delegateTarget, document.body, "Check the event.delegateTarget within a on handler" );
|
||||||
@ -1767,7 +1777,7 @@ test(".on()/.off()", function() {
|
|||||||
// Work with deep selectors
|
// Work with deep selectors
|
||||||
livee = 0;
|
livee = 0;
|
||||||
|
|
||||||
function clickB(){ livee++; }
|
function clickB() { livee++; }
|
||||||
|
|
||||||
jQuery("#body").on("click", "#nothiddendiv div", function(){ livee++; });
|
jQuery("#body").on("click", "#nothiddendiv div", function(){ livee++; });
|
||||||
jQuery("#body").on("click", "#nothiddendiv div", clickB);
|
jQuery("#body").on("click", "#nothiddendiv div", clickB);
|
||||||
@ -1855,7 +1865,7 @@ test( "delegated event with selector matching Object.prototype property (#13203)
|
|||||||
|
|
||||||
var matched = 0;
|
var matched = 0;
|
||||||
|
|
||||||
jQuery("#foo").on( "click", "toString", function( e ) {
|
jQuery("#foo").on( "click", "toString", function() {
|
||||||
matched++;
|
matched++;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -1915,8 +1925,8 @@ test("off all bound delegated events", function(){
|
|||||||
test("on with multiple delegated events", function(){
|
test("on with multiple delegated events", function(){
|
||||||
expect(1);
|
expect(1);
|
||||||
|
|
||||||
var count = 0;
|
var count = 0,
|
||||||
var div = jQuery("#body");
|
div = jQuery("#body");
|
||||||
|
|
||||||
div.on("click submit", "div#nothiddendivchild", function(){ count++; });
|
div.on("click submit", "div#nothiddendivchild", function(){ count++; });
|
||||||
|
|
||||||
@ -1931,14 +1941,18 @@ test("on with multiple delegated events", function(){
|
|||||||
test("delegated on with change", function(){
|
test("delegated on with change", function(){
|
||||||
expect(8);
|
expect(8);
|
||||||
|
|
||||||
var selectChange = 0, checkboxChange = 0;
|
var select, checkbox, checkboxFunction,
|
||||||
|
text, textChange, oldTextVal,
|
||||||
|
password, passwordChange, oldPasswordVal,
|
||||||
|
selectChange = 0,
|
||||||
|
checkboxChange = 0;
|
||||||
|
|
||||||
var select = jQuery("select[name='S1']");
|
select = jQuery("select[name='S1']");
|
||||||
jQuery("#body").on("change", "select[name='S1']", function() {
|
jQuery("#body").on("change", "select[name='S1']", function() {
|
||||||
selectChange++;
|
selectChange++;
|
||||||
});
|
});
|
||||||
|
|
||||||
var checkbox = jQuery("#check2"),
|
checkbox = jQuery("#check2");
|
||||||
checkboxFunction = function(){
|
checkboxFunction = function(){
|
||||||
checkboxChange++;
|
checkboxChange++;
|
||||||
};
|
};
|
||||||
@ -1963,7 +1977,10 @@ test("delegated on with change", function(){
|
|||||||
equal( checkboxChange, 1, "Change on checkbox." );
|
equal( checkboxChange, 1, "Change on checkbox." );
|
||||||
|
|
||||||
// test blur/focus on text
|
// test blur/focus on text
|
||||||
var text = jQuery("#name"), textChange = 0, oldTextVal = text.val();
|
text = jQuery("#name");
|
||||||
|
textChange = 0;
|
||||||
|
oldTextVal = text.val();
|
||||||
|
|
||||||
jQuery("#body").on("change", "#name", function() {
|
jQuery("#body").on("change", "#name", function() {
|
||||||
textChange++;
|
textChange++;
|
||||||
});
|
});
|
||||||
@ -1976,7 +1993,9 @@ test("delegated on with change", function(){
|
|||||||
jQuery("#body").off("change", "#name");
|
jQuery("#body").off("change", "#name");
|
||||||
|
|
||||||
// test blur/focus on password
|
// test blur/focus on password
|
||||||
var password = jQuery("#name"), passwordChange = 0, oldPasswordVal = password.val();
|
password = jQuery("#name");
|
||||||
|
passwordChange = 0;
|
||||||
|
oldPasswordVal = password.val();
|
||||||
jQuery("#body").on("change", "#name", function() {
|
jQuery("#body").on("change", "#name", function() {
|
||||||
passwordChange++;
|
passwordChange++;
|
||||||
});
|
});
|
||||||
@ -2037,7 +2056,7 @@ test("delegated off() with only namespaces", function() {
|
|||||||
var $delegate = jQuery("#liveHandlerOrder"),
|
var $delegate = jQuery("#liveHandlerOrder"),
|
||||||
count = 0;
|
count = 0;
|
||||||
|
|
||||||
$delegate.on("click.ns", "a", function(e) {
|
$delegate.on("click.ns", "a", function() {
|
||||||
count++;
|
count++;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -2057,7 +2076,7 @@ test("Non DOM element events", function() {
|
|||||||
|
|
||||||
var o = {};
|
var o = {};
|
||||||
|
|
||||||
jQuery(o).on("nonelementobj", function(e) {
|
jQuery(o).on("nonelementobj", function() {
|
||||||
ok( true, "Event on non-DOM object triggered" );
|
ok( true, "Event on non-DOM object triggered" );
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -2138,9 +2157,8 @@ test("custom events with colons (#3533, #8272)", function() {
|
|||||||
|
|
||||||
test(".on and .off", function() {
|
test(".on and .off", function() {
|
||||||
expect(9);
|
expect(9);
|
||||||
var counter, mixfn;
|
var counter, mixfn, data,
|
||||||
|
$onandoff = jQuery("<div id=\"onandoff\"><p>on<b>and</b>off</p><div>worked<em>or</em>borked?</div></div>").appendTo("body");
|
||||||
var $onandoff = jQuery("<div id=\"onandoff\"><p>on<b>and</b>off</p><div>worked<em>or</em>borked?</div></div>").appendTo("body");
|
|
||||||
|
|
||||||
// Simple case
|
// Simple case
|
||||||
jQuery( "#onandoff" )
|
jQuery( "#onandoff" )
|
||||||
@ -2229,7 +2247,7 @@ test(".on and .off", function() {
|
|||||||
.off( "click cluck" );
|
.off( "click cluck" );
|
||||||
|
|
||||||
// We should have removed all the event handlers ... kinda hacky way to check this
|
// We should have removed all the event handlers ... kinda hacky way to check this
|
||||||
var data = jQuery.data[ jQuery( "#onandoff" )[0].expando ] || {};
|
data = jQuery.data[ jQuery( "#onandoff" )[0].expando ] || {};
|
||||||
equal( data["events"], undefined, "no events left" );
|
equal( data["events"], undefined, "no events left" );
|
||||||
|
|
||||||
$onandoff.remove();
|
$onandoff.remove();
|
||||||
@ -2309,8 +2327,7 @@ test("special on name mapping", function() {
|
|||||||
test(".on and .off, selective mixed removal (#10705)", function() {
|
test(".on and .off, selective mixed removal (#10705)", function() {
|
||||||
expect(7);
|
expect(7);
|
||||||
|
|
||||||
var clockout = 0,
|
var timingx = function( e ) {
|
||||||
timingx = function( e ) {
|
|
||||||
ok( true, "triggered " + e.type );
|
ok( true, "triggered " + e.type );
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2349,7 +2366,7 @@ test("clone() delegated events (#11076)", function() {
|
|||||||
expect(3);
|
expect(3);
|
||||||
|
|
||||||
var counter = { "center": 0, "fold": 0, "centerfold": 0 },
|
var counter = { "center": 0, "fold": 0, "centerfold": 0 },
|
||||||
clicked = function( event ) {
|
clicked = function() {
|
||||||
counter[ jQuery(this).text().replace(/\s+/, "") ]++;
|
counter[ jQuery(this).text().replace(/\s+/, "") ]++;
|
||||||
},
|
},
|
||||||
table =
|
table =
|
||||||
@ -2400,9 +2417,9 @@ test("checkbox state (#3827)", function() {
|
|||||||
test("focus-blur order (#12868)", function() {
|
test("focus-blur order (#12868)", function() {
|
||||||
expect( 5 );
|
expect( 5 );
|
||||||
|
|
||||||
var $text = jQuery("#text1"),
|
var order,
|
||||||
$radio = jQuery("#radio1").trigger("focus"),
|
$text = jQuery("#text1"),
|
||||||
order;
|
$radio = jQuery("#radio1").trigger("focus");
|
||||||
|
|
||||||
// IE6-10 fire focus/blur events asynchronously; this is the resulting mess.
|
// IE6-10 fire focus/blur events asynchronously; this is the resulting mess.
|
||||||
// IE's browser window must be topmost for this to work properly!!
|
// IE's browser window must be topmost for this to work properly!!
|
||||||
@ -2467,7 +2484,7 @@ test("fixHooks extensions", function() {
|
|||||||
$fixture.off( "click" );
|
$fixture.off( "click" );
|
||||||
|
|
||||||
jQuery.event.fixHooks.click = {
|
jQuery.event.fixHooks.click = {
|
||||||
filter: function( event, originalEvent ) {
|
filter: function( event ) {
|
||||||
event.blurrinessLevel = 42;
|
event.blurrinessLevel = 42;
|
||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
@ -2578,11 +2595,9 @@ if ( hasPHP ) {
|
|||||||
test("change handler should be detached from element", function() {
|
test("change handler should be detached from element", function() {
|
||||||
expect( 2 );
|
expect( 2 );
|
||||||
|
|
||||||
var $fixture = jQuery( "<input type='text' id='change-ie-leak' />" ).appendTo( "body" );
|
var $fixture = jQuery( "<input type='text' id='change-ie-leak' />" ).appendTo( "body" ),
|
||||||
|
originRemoveEvent = jQuery.removeEvent,
|
||||||
var originRemoveEvent = jQuery.removeEvent;
|
wrapperRemoveEvent = function(elem, type, handle){
|
||||||
|
|
||||||
var wrapperRemoveEvent = function(elem, type, handle){
|
|
||||||
equal("change", type, "Event handler for 'change' event should be removed");
|
equal("change", type, "Event handler for 'change' event should be removed");
|
||||||
equal("change-ie-leak", jQuery(elem).attr("id"), "Event handler for 'change' event should be removed from appropriate element");
|
equal("change-ie-leak", jQuery(elem).attr("id"), "Event handler for 'change' event should be removed from appropriate element");
|
||||||
originRemoveEvent(elem, type, handle);
|
originRemoveEvent(elem, type, handle);
|
||||||
@ -2590,7 +2605,7 @@ test("change handler should be detached from element", function() {
|
|||||||
|
|
||||||
jQuery.removeEvent = wrapperRemoveEvent ;
|
jQuery.removeEvent = wrapperRemoveEvent ;
|
||||||
|
|
||||||
$fixture.on( "change", function( event ) {});
|
$fixture.on( "change", function() {});
|
||||||
$fixture.off( "change" );
|
$fixture.off( "change" );
|
||||||
|
|
||||||
$fixture.remove();
|
$fixture.remove();
|
||||||
@ -2632,7 +2647,7 @@ test( "Namespace preserved when passed an Event (#12739)", function() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.on( "foo.bar2", function( e ) {
|
.on( "foo.bar2", function() {
|
||||||
ok( false, "foo.bar2 called on trigger " + triggered + " id " + this.id );
|
ok( false, "foo.bar2 called on trigger " + triggered + " id " + this.id );
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -2662,11 +2677,11 @@ test( "make sure events cloned correctly", 18, function() {
|
|||||||
ok( result, "Change on original child element though delegation is fired" );
|
ok( result, "Change on original child element though delegation is fired" );
|
||||||
});
|
});
|
||||||
|
|
||||||
p.on("click", function( event, result ) {
|
p.on("click", function() {
|
||||||
ok( true, "Click on original child element is fired" );
|
ok( true, "Click on original child element is fired" );
|
||||||
});
|
});
|
||||||
|
|
||||||
checkbox.on("change", function( event, result ) {
|
checkbox.on("change", function() {
|
||||||
ok( true, "Change on original child element is fired" );
|
ok( true, "Change on original child element is fired" );
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -3,19 +3,19 @@ module( "manipulation", {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Ensure that an extended Array prototype doesn't break jQuery
|
// Ensure that an extended Array prototype doesn't break jQuery
|
||||||
Array.prototype.arrayProtoFn = function( arg ) {
|
Array.prototype.arrayProtoFn = function() {
|
||||||
throw("arrayProtoFn should not be called");
|
throw("arrayProtoFn should not be called");
|
||||||
};
|
};
|
||||||
|
|
||||||
var manipulationBareObj = function( value ) {
|
function manipulationBareObj( value ) {
|
||||||
return value;
|
return value;
|
||||||
};
|
}
|
||||||
|
|
||||||
var manipulationFunctionReturningObj = function( value ) {
|
function manipulationFunctionReturningObj( value ) {
|
||||||
return (function() {
|
return function() {
|
||||||
return value;
|
return value;
|
||||||
});
|
};
|
||||||
};
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
======== local reference =======
|
======== local reference =======
|
||||||
@ -62,7 +62,7 @@ test( "text(undefined)", function() {
|
|||||||
equal( jQuery("#foo").text("<div").text(undefined)[ 0 ].innerHTML, "<div", ".text(undefined) is chainable (#5571)" );
|
equal( jQuery("#foo").text("<div").text(undefined)[ 0 ].innerHTML, "<div", ".text(undefined) is chainable (#5571)" );
|
||||||
});
|
});
|
||||||
|
|
||||||
var testText = function( valueObj ) {
|
function testText( valueObj ) {
|
||||||
|
|
||||||
expect( 4 );
|
expect( 4 );
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ var testText = function( valueObj ) {
|
|||||||
|
|
||||||
// Blackberry 4.6 doesn't maintain comments in the DOM
|
// Blackberry 4.6 doesn't maintain comments in the DOM
|
||||||
equal( jQuery("#nonnodes")[ 0 ].childNodes.length < 3 ? 8 : j[ 2 ].nodeType, 8, "Check node,textnode,comment with text()" );
|
equal( jQuery("#nonnodes")[ 0 ].childNodes.length < 3 ? 8 : j[ 2 ].nodeType, 8, "Check node,textnode,comment with text()" );
|
||||||
};
|
}
|
||||||
|
|
||||||
test( "text(String)", function() {
|
test( "text(String)", function() {
|
||||||
testText( manipulationBareObj );
|
testText( manipulationBareObj );
|
||||||
@ -103,7 +103,7 @@ test( "text(Function) with incoming value", function() {
|
|||||||
equal( jQuery("#sap").text(), "foobar", "Check for merged text of more then one element." );
|
equal( jQuery("#sap").text(), "foobar", "Check for merged text of more then one element." );
|
||||||
});
|
});
|
||||||
|
|
||||||
var testWrap = function( val ) {
|
function testWrap( val ) {
|
||||||
|
|
||||||
expect( 19 );
|
expect( 19 );
|
||||||
|
|
||||||
@ -183,7 +183,7 @@ var testWrap = function( val ) {
|
|||||||
|
|
||||||
// clean up attached elements
|
// clean up attached elements
|
||||||
QUnit.reset();
|
QUnit.reset();
|
||||||
};
|
}
|
||||||
|
|
||||||
test( "wrap(String|Element)", function() {
|
test( "wrap(String|Element)", function() {
|
||||||
testWrap( manipulationBareObj );
|
testWrap( manipulationBareObj );
|
||||||
@ -220,7 +220,7 @@ test( "wrap(String) consecutive elements (#10177)", function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
var testWrapAll = function( val ) {
|
function testWrapAll( val ) {
|
||||||
|
|
||||||
expect( 8 );
|
expect( 8 );
|
||||||
|
|
||||||
@ -244,17 +244,17 @@ var testWrapAll = function( val ) {
|
|||||||
equal( jQuery("#first").parent()[ 0 ], jQuery("#firstp").parent()[ 0 ], "Same Parent" );
|
equal( jQuery("#first").parent()[ 0 ], jQuery("#firstp").parent()[ 0 ], "Same Parent" );
|
||||||
equal( jQuery("#first").parent()[ 0 ].previousSibling, prev, "Correct Previous Sibling" );
|
equal( jQuery("#first").parent()[ 0 ].previousSibling, prev, "Correct Previous Sibling" );
|
||||||
equal( jQuery("#first").parent()[ 0 ].parentNode, p, "Correct Parent" );
|
equal( jQuery("#first").parent()[ 0 ].parentNode, p, "Correct Parent" );
|
||||||
};
|
}
|
||||||
|
|
||||||
test( "wrapAll(String|Element)", function() {
|
test( "wrapAll(String|Element)", function() {
|
||||||
testWrapAll( manipulationBareObj );
|
testWrapAll( manipulationBareObj );
|
||||||
});
|
});
|
||||||
|
|
||||||
var testWrapInner = function( val ) {
|
function testWrapInner( val ) {
|
||||||
|
|
||||||
expect( 11 );
|
expect( 11 );
|
||||||
|
|
||||||
var num, result;
|
var num, result, div;
|
||||||
|
|
||||||
num = jQuery("#first").children().length;
|
num = jQuery("#first").children().length;
|
||||||
result = jQuery("#first").wrapInner( val("<div class='red'><div id='tmp'></div></div>") );
|
result = jQuery("#first").wrapInner( val("<div class='red'><div id='tmp'></div></div>") );
|
||||||
@ -277,11 +277,11 @@ var testWrapInner = function( val ) {
|
|||||||
ok( jQuery("#first").children().is("#empty"), "Verify Right Element" );
|
ok( jQuery("#first").children().is("#empty"), "Verify Right Element" );
|
||||||
equal( jQuery("#first").children().children().length, num, "Verify Elements Intact" );
|
equal( jQuery("#first").children().children().length, num, "Verify Elements Intact" );
|
||||||
|
|
||||||
var div = jQuery("<div/>");
|
div = jQuery("<div/>");
|
||||||
div.wrapInner( val("<span></span>") );
|
div.wrapInner( val("<span></span>") );
|
||||||
equal( div.children().length, 1, "The contents were wrapped." );
|
equal( div.children().length, 1, "The contents were wrapped." );
|
||||||
equal( div.children()[ 0 ].nodeName.toLowerCase(), "span", "A span was inserted." );
|
equal( div.children()[ 0 ].nodeName.toLowerCase(), "span", "A span was inserted." );
|
||||||
};
|
}
|
||||||
|
|
||||||
test( "wrapInner(String|Element)", function() {
|
test( "wrapInner(String|Element)", function() {
|
||||||
testWrapInner( manipulationBareObj );
|
testWrapInner( manipulationBareObj );
|
||||||
@ -319,7 +319,7 @@ test( "unwrap()", function() {
|
|||||||
jQuery("body > span.unwrap").remove();
|
jQuery("body > span.unwrap").remove();
|
||||||
});
|
});
|
||||||
|
|
||||||
var testAppendForObject = function( valueObj, isFragment ) {
|
function testAppendForObject( valueObj, isFragment ) {
|
||||||
var $base,
|
var $base,
|
||||||
type = isFragment ? " (DocumentFragment)" : " (Element)",
|
type = isFragment ? " (DocumentFragment)" : " (Element)",
|
||||||
text = "This link has class=\"blog\": Simon Willison's Weblog",
|
text = "This link has class=\"blog\": Simon Willison's Weblog",
|
||||||
@ -391,9 +391,9 @@ var testAppendForObject = function( valueObj, isFragment ) {
|
|||||||
1,
|
1,
|
||||||
"Check for appending a form (#910)" + type
|
"Check for appending a form (#910)" + type
|
||||||
);
|
);
|
||||||
};
|
}
|
||||||
|
|
||||||
var testAppend = function( valueObj ) {
|
function testAppend( valueObj ) {
|
||||||
|
|
||||||
expect( 78 );
|
expect( 78 );
|
||||||
|
|
||||||
@ -500,7 +500,7 @@ var testAppend = function( valueObj ) {
|
|||||||
equal( $radioUnchecked[ 0 ].checked, false, "Reappending radios uphold not being checked" );
|
equal( $radioUnchecked[ 0 ].checked, false, "Reappending radios uphold not being checked" );
|
||||||
|
|
||||||
equal( jQuery("<div/>").append( valueObj("option<area/>") )[ 0 ].childNodes.length, 2, "HTML-string with leading text should be processed correctly" );
|
equal( jQuery("<div/>").append( valueObj("option<area/>") )[ 0 ].childNodes.length, 2, "HTML-string with leading text should be processed correctly" );
|
||||||
};
|
}
|
||||||
|
|
||||||
test( "append(String|Element|Array<Element>|jQuery)", function() {
|
test( "append(String|Element|Array<Element>|jQuery)", function() {
|
||||||
testAppend( manipulationBareObj );
|
testAppend( manipulationBareObj );
|
||||||
@ -833,7 +833,7 @@ test( "appendTo(String|Element|Array<Element>|jQuery)", function() {
|
|||||||
equal( jQuery("#qunit-fixture div").length, num, "Make sure all the removed divs were inserted." );
|
equal( jQuery("#qunit-fixture div").length, num, "Make sure all the removed divs were inserted." );
|
||||||
});
|
});
|
||||||
|
|
||||||
var testPrepend = function( val ) {
|
function testPrepend( val ) {
|
||||||
|
|
||||||
expect( 6 );
|
expect( 6 );
|
||||||
|
|
||||||
@ -864,7 +864,7 @@ var testPrepend = function( val ) {
|
|||||||
expected = "Try them out:GoogleYahooThis link has class=\"blog\": Simon Willison's Weblog";
|
expected = "Try them out:GoogleYahooThis link has class=\"blog\": Simon Willison's Weblog";
|
||||||
jQuery("#sap").prepend( val([ jQuery("#first"), jQuery("#yahoo, #google") ]) );
|
jQuery("#sap").prepend( val([ jQuery("#first"), jQuery("#yahoo, #google") ]) );
|
||||||
equal( jQuery("#sap").text(), expected, "Check for prepending of array of jQuery objects" );
|
equal( jQuery("#sap").text(), expected, "Check for prepending of array of jQuery objects" );
|
||||||
};
|
}
|
||||||
|
|
||||||
test( "prepend(String|Element|Array<Element>|jQuery)", function() {
|
test( "prepend(String|Element|Array<Element>|jQuery)", function() {
|
||||||
testPrepend( manipulationBareObj );
|
testPrepend( manipulationBareObj );
|
||||||
@ -963,7 +963,7 @@ test( "prependTo(String|Element|Array<Element>|jQuery)", function() {
|
|||||||
t( "Prepend Select", "#prependSelect2, #prependSelect1", [ "prependSelect2", "prependSelect1" ] );
|
t( "Prepend Select", "#prependSelect2, #prependSelect1", [ "prependSelect2", "prependSelect1" ] );
|
||||||
});
|
});
|
||||||
|
|
||||||
var testBefore = function( val ) {
|
function testBefore( val ) {
|
||||||
|
|
||||||
expect( 7 );
|
expect( 7 );
|
||||||
|
|
||||||
@ -996,7 +996,7 @@ var testBefore = function( val ) {
|
|||||||
set = jQuery("<div/>").before("<span>test</span>");
|
set = jQuery("<div/>").before("<span>test</span>");
|
||||||
equal( set[ 0 ].nodeName.toLowerCase(), "div", "Insert before a disconnected node should be a no-op" );
|
equal( set[ 0 ].nodeName.toLowerCase(), "div", "Insert before a disconnected node should be a no-op" );
|
||||||
equal( set.length, 1, "Insert the element before the disconnected node. should be a no-op" );
|
equal( set.length, 1, "Insert the element before the disconnected node. should be a no-op" );
|
||||||
};
|
}
|
||||||
|
|
||||||
test( "before(String|Element|Array<Element>|jQuery)", function() {
|
test( "before(String|Element|Array<Element>|jQuery)", function() {
|
||||||
testBefore( manipulationBareObj );
|
testBefore( manipulationBareObj );
|
||||||
@ -1069,7 +1069,7 @@ test( "insertBefore(String|Element|Array<Element>|jQuery)", function() {
|
|||||||
equal( jQuery("#en").text(), expected, "Insert jQuery before" );
|
equal( jQuery("#en").text(), expected, "Insert jQuery before" );
|
||||||
});
|
});
|
||||||
|
|
||||||
var testAfter = function( val ) {
|
function testAfter( val ) {
|
||||||
|
|
||||||
expect( 7 );
|
expect( 7 );
|
||||||
|
|
||||||
@ -1102,7 +1102,7 @@ var testAfter = function( val ) {
|
|||||||
set = jQuery("<div/>").before("<span>test</span>");
|
set = jQuery("<div/>").before("<span>test</span>");
|
||||||
equal( set[ 0 ].nodeName.toLowerCase(), "div", "Insert after a disconnected node should be a no-op" );
|
equal( set[ 0 ].nodeName.toLowerCase(), "div", "Insert after a disconnected node should be a no-op" );
|
||||||
equal( set.length, 1, "Insert the element after the disconnected node should be a no-op" );
|
equal( set.length, 1, "Insert the element after the disconnected node should be a no-op" );
|
||||||
};
|
}
|
||||||
|
|
||||||
test( "after(String|Element|Array<Element>|jQuery)", function() {
|
test( "after(String|Element|Array<Element>|jQuery)", function() {
|
||||||
testAfter( manipulationBareObj );
|
testAfter( manipulationBareObj );
|
||||||
@ -1138,7 +1138,7 @@ test( "insertAfter(String|Element|Array<Element>|jQuery)", function() {
|
|||||||
equal( jQuery("#en").text(), expected, "Insert jQuery after" );
|
equal( jQuery("#en").text(), expected, "Insert jQuery after" );
|
||||||
});
|
});
|
||||||
|
|
||||||
var testReplaceWith = function( val ) {
|
function testReplaceWith( val ) {
|
||||||
|
|
||||||
var tmp, y, child, child2, set, non_existent, $div,
|
var tmp, y, child, child2, set, non_existent, $div,
|
||||||
expected = 23;
|
expected = 23;
|
||||||
@ -1226,7 +1226,7 @@ var testReplaceWith = function( val ) {
|
|||||||
equal( jQuery("#qunit-fixture").find("div[id=replaceWith]").length, 1, "Make sure only one div exists after subsequent replacement." );
|
equal( jQuery("#qunit-fixture").find("div[id=replaceWith]").length, 1, "Make sure only one div exists after subsequent replacement." );
|
||||||
|
|
||||||
return expected;
|
return expected;
|
||||||
};
|
}
|
||||||
|
|
||||||
test( "replaceWith(String|Element|Array<Element>|jQuery)", function() {
|
test( "replaceWith(String|Element|Array<Element>|jQuery)", function() {
|
||||||
testReplaceWith( manipulationBareObj );
|
testReplaceWith( manipulationBareObj );
|
||||||
@ -1527,13 +1527,13 @@ test( "html() on empty set", function() {
|
|||||||
strictEqual( jQuery().html(), undefined, ".html() returns undefined for empty sets (#11962)" );
|
strictEqual( jQuery().html(), undefined, ".html() returns undefined for empty sets (#11962)" );
|
||||||
});
|
});
|
||||||
|
|
||||||
var childNodeNames = function( node ) {
|
function childNodeNames( node ) {
|
||||||
return jQuery.map( node.childNodes, function( child ) {
|
return jQuery.map( node.childNodes, function( child ) {
|
||||||
return child.nodeName.toUpperCase();
|
return child.nodeName.toUpperCase();
|
||||||
}).join(" ");
|
}).join(" ");
|
||||||
};
|
}
|
||||||
|
|
||||||
var testHtml = function( valueObj ) {
|
function testHtml( valueObj ) {
|
||||||
expect( 37 );
|
expect( 37 );
|
||||||
|
|
||||||
var actual, expected, tmp,
|
var actual, expected, tmp,
|
||||||
@ -1637,7 +1637,7 @@ var testHtml = function( valueObj ) {
|
|||||||
QUnit.reset();
|
QUnit.reset();
|
||||||
fixture.html( valueObj( fixture.text() ) );
|
fixture.html( valueObj( fixture.text() ) );
|
||||||
ok( /^[^<]*[^<\s][^<]*$/.test( fixture.html() ), "Replace html with text" );
|
ok( /^[^<]*[^<\s][^<]*$/.test( fixture.html() ), "Replace html with text" );
|
||||||
};
|
}
|
||||||
|
|
||||||
test( "html(String)", function() {
|
test( "html(String)", function() {
|
||||||
testHtml( manipulationBareObj );
|
testHtml( manipulationBareObj );
|
||||||
@ -1740,7 +1740,7 @@ test( "clone()/html() don't expose jQuery/Sizzle expandos (#12858)", function()
|
|||||||
ok( expected.test( $content.html() ), "html()" );
|
ok( expected.test( $content.html() ), "html()" );
|
||||||
});
|
});
|
||||||
|
|
||||||
var testRemove = function( method ) {
|
function testRemove( method ) {
|
||||||
var markup, div,
|
var markup, div,
|
||||||
first = jQuery("#ap").children().first();
|
first = jQuery("#ap").children().first();
|
||||||
|
|
||||||
@ -1750,7 +1750,7 @@ var testRemove = function( method ) {
|
|||||||
ok( jQuery("#ap").text().length > 10, "Check text is not removed" );
|
ok( jQuery("#ap").text().length > 10, "Check text is not removed" );
|
||||||
equal( jQuery("#ap").children().length, 0, "Check remove" );
|
equal( jQuery("#ap").children().length, 0, "Check remove" );
|
||||||
|
|
||||||
equal( first.data("foo"), method == "remove" ? null : "bar", "first data" );
|
equal( first.data("foo"), method === "remove" ? null : "bar", "first data" );
|
||||||
|
|
||||||
QUnit.reset();
|
QUnit.reset();
|
||||||
jQuery("#ap").children()[ method ]("a");
|
jQuery("#ap").children()[ method ]("a");
|
||||||
@ -1782,7 +1782,7 @@ var testRemove = function( method ) {
|
|||||||
if (method === "detach") {
|
if (method === "detach") {
|
||||||
first.remove();
|
first.remove();
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
test( "remove()", 11, function() {
|
test( "remove()", 11, function() {
|
||||||
testRemove("remove");
|
testRemove("remove");
|
||||||
@ -2021,7 +2021,7 @@ test( "Cloned, detached HTML5 elems (#10667,10670)", function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Bind an event
|
// Bind an event
|
||||||
$section.on( "click", function( event ) {
|
$section.on( "click", function() {
|
||||||
ok( true, "clone fired event" );
|
ok( true, "clone fired event" );
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -95,8 +95,10 @@ testIframe("offset/absolute", "absolute", function($, iframe) {
|
|||||||
testIframe("offset/absolute", "absolute", function( $ ) {
|
testIframe("offset/absolute", "absolute", function( $ ) {
|
||||||
expect(178);
|
expect(178);
|
||||||
|
|
||||||
|
var tests, offset;
|
||||||
|
|
||||||
// get offset tests
|
// get offset tests
|
||||||
var tests = [
|
tests = [
|
||||||
{ "id": "#absolute-1", "top": 1, "left": 1 },
|
{ "id": "#absolute-1", "top": 1, "left": 1 },
|
||||||
{ "id": "#absolute-1-1", "top": 5, "left": 5 },
|
{ "id": "#absolute-1-1", "top": 5, "left": 5 },
|
||||||
{ "id": "#absolute-1-1-1", "top": 9, "left": 9 },
|
{ "id": "#absolute-1-1-1", "top": 9, "left": 9 },
|
||||||
@ -121,7 +123,7 @@ testIframe("offset/absolute", "absolute", function( $ ) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// test #5781
|
// test #5781
|
||||||
var offset = $( "#positionTest" ).offset({ "top": 10, "left": 10 }).offset();
|
offset = $( "#positionTest" ).offset({ "top": 10, "left": 10 }).offset();
|
||||||
equal( offset.top, 10, "Setting offset on element with position absolute but 'auto' values." );
|
equal( offset.top, 10, "Setting offset on element with position absolute but 'auto' values." );
|
||||||
equal( offset.left, 10, "Setting offset on element with position absolute but 'auto' values." );
|
equal( offset.left, 10, "Setting offset on element with position absolute but 'auto' values." );
|
||||||
|
|
||||||
@ -180,11 +182,13 @@ testIframe("offset/absolute", "absolute", function( $ ) {
|
|||||||
testIframe("offset/relative", "relative", function( $ ) {
|
testIframe("offset/relative", "relative", function( $ ) {
|
||||||
expect(60);
|
expect(60);
|
||||||
|
|
||||||
|
var ie, tests;
|
||||||
|
|
||||||
// IE is collapsing the top margin of 1px; detect and adjust accordingly
|
// IE is collapsing the top margin of 1px; detect and adjust accordingly
|
||||||
var ie = $("#relative-1").offset().top === 6;
|
ie = $("#relative-1").offset().top === 6;
|
||||||
|
|
||||||
// get offset
|
// get offset
|
||||||
var tests = [
|
tests = [
|
||||||
{ "id": "#relative-1", "top": ie ? 6 : 7, "left": 7 },
|
{ "id": "#relative-1", "top": ie ? 6 : 7, "left": 7 },
|
||||||
{ "id": "#relative-1-1", "top": ie ? 13 : 15, "left": 15 },
|
{ "id": "#relative-1-1", "top": ie ? 13 : 15, "left": 15 },
|
||||||
{ "id": "#relative-2", "top": ie ? 141 : 142, "left": 27 }
|
{ "id": "#relative-2", "top": ie ? 141 : 142, "left": 27 }
|
||||||
@ -239,14 +243,15 @@ testIframe("offset/relative", "relative", function( $ ) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
testIframe("offset/static", "static", function( $ ) {
|
testIframe("offset/static", "static", function( $ ) {
|
||||||
|
|
||||||
// IE is collapsing the top margin of 1px; detect and adjust accordingly
|
|
||||||
var ie = $("#static-1").offset().top === 6;
|
|
||||||
|
|
||||||
expect( 80 );
|
expect( 80 );
|
||||||
|
|
||||||
|
var ie, tests;
|
||||||
|
|
||||||
|
// IE is collapsing the top margin of 1px; detect and adjust accordingly
|
||||||
|
ie = $("#static-1").offset().top === 6;
|
||||||
|
|
||||||
// get offset
|
// get offset
|
||||||
var tests = [
|
tests = [
|
||||||
{ "id": "#static-1", "top": ie ? 6 : 7, "left": 7 },
|
{ "id": "#static-1", "top": ie ? 6 : 7, "left": 7 },
|
||||||
{ "id": "#static-1-1", "top": ie ? 13 : 15, "left": 15 },
|
{ "id": "#static-1-1", "top": ie ? 13 : 15, "left": 15 },
|
||||||
{ "id": "#static-1-1-1", "top": ie ? 20 : 23, "left": 23 },
|
{ "id": "#static-1-1-1", "top": ie ? 20 : 23, "left": 23 },
|
||||||
@ -307,12 +312,14 @@ testIframe("offset/static", "static", function( $ ) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
testIframe("offset/fixed", "fixed", function( $ ) {
|
testIframe("offset/fixed", "fixed", function( $ ) {
|
||||||
// IE is collapsing the top margin of 1px; detect and adjust accordingly
|
|
||||||
var ie = $("#fixed-1").position().top === 2;
|
|
||||||
|
|
||||||
expect(34);
|
expect(34);
|
||||||
|
|
||||||
var tests = [
|
var ie, tests, $noTopLeft;
|
||||||
|
|
||||||
|
// IE is collapsing the top margin of 1px; detect and adjust accordingly
|
||||||
|
ie = $("#fixed-1").position().top === 2;
|
||||||
|
|
||||||
|
tests = [
|
||||||
{
|
{
|
||||||
"id": "#fixed-1",
|
"id": "#fixed-1",
|
||||||
"offsetTop": 1001,
|
"offsetTop": 1001,
|
||||||
@ -383,7 +390,7 @@ testIframe("offset/fixed", "fixed", function( $ ) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Bug 8316
|
// Bug 8316
|
||||||
var $noTopLeft = $("#fixed-no-top-left");
|
$noTopLeft = $("#fixed-no-top-left");
|
||||||
if ( window.supportsFixedPosition ) {
|
if ( window.supportsFixedPosition ) {
|
||||||
equal( $noTopLeft.offset().top, 1007, "Check offset top for fixed element with no top set" );
|
equal( $noTopLeft.offset().top, 1007, "Check offset top for fixed element with no top set" );
|
||||||
equal( $noTopLeft.offset().left, 1007, "Check offset left for fixed element with no left set" );
|
equal( $noTopLeft.offset().left, 1007, "Check offset left for fixed element with no left set" );
|
||||||
@ -488,15 +495,17 @@ test("chaining", function() {
|
|||||||
test("offsetParent", function(){
|
test("offsetParent", function(){
|
||||||
expect(13);
|
expect(13);
|
||||||
|
|
||||||
var body = jQuery("body").offsetParent();
|
var body, header, div, area;
|
||||||
|
|
||||||
|
body = jQuery("body").offsetParent();
|
||||||
equal( body.length, 1, "Only one offsetParent found." );
|
equal( body.length, 1, "Only one offsetParent found." );
|
||||||
equal( body[0], document.documentElement, "The html element is the offsetParent of the body." );
|
equal( body[0], document.documentElement, "The html element is the offsetParent of the body." );
|
||||||
|
|
||||||
var header = jQuery("#qunit").offsetParent();
|
header = jQuery("#qunit").offsetParent();
|
||||||
equal( header.length, 1, "Only one offsetParent found." );
|
equal( header.length, 1, "Only one offsetParent found." );
|
||||||
equal( header[0], document.documentElement, "The html element is the offsetParent of #qunit." );
|
equal( header[0], document.documentElement, "The html element is the offsetParent of #qunit." );
|
||||||
|
|
||||||
var div = jQuery("#nothiddendivchild").offsetParent();
|
div = jQuery("#nothiddendivchild").offsetParent();
|
||||||
equal( div.length, 1, "Only one offsetParent found." );
|
equal( div.length, 1, "Only one offsetParent found." );
|
||||||
equal( div[0], document.getElementById("qunit-fixture"), "The #qunit-fixture is the offsetParent of #nothiddendivchild." );
|
equal( div[0], document.getElementById("qunit-fixture"), "The #qunit-fixture is the offsetParent of #nothiddendivchild." );
|
||||||
|
|
||||||
@ -511,7 +520,7 @@ test("offsetParent", function(){
|
|||||||
equal( div[0], document.documentElement, "The html element is the offsetParent of the body." );
|
equal( div[0], document.documentElement, "The html element is the offsetParent of the body." );
|
||||||
equal( div[1], jQuery("#nothiddendiv")[0], "The div is the offsetParent." );
|
equal( div[1], jQuery("#nothiddendiv")[0], "The div is the offsetParent." );
|
||||||
|
|
||||||
var area = jQuery("#imgmap area").offsetParent();
|
area = jQuery("#imgmap area").offsetParent();
|
||||||
equal( area[0], document.documentElement, "The html element is the offsetParent of the body." );
|
equal( area[0], document.documentElement, "The html element is the offsetParent of the body." );
|
||||||
|
|
||||||
div = jQuery("<div>").css({ "position": "absolute" }).appendTo("body");
|
div = jQuery("<div>").css({ "position": "absolute" }).appendTo("body");
|
||||||
@ -525,8 +534,9 @@ test("fractions (see #7730 and #7885)", function() {
|
|||||||
|
|
||||||
jQuery("body").append("<div id='fractions'/>");
|
jQuery("body").append("<div id='fractions'/>");
|
||||||
|
|
||||||
var expected = { "top": 1000, "left": 1000 };
|
var result,
|
||||||
var div = jQuery("#fractions");
|
expected = { "top": 1000, "left": 1000 },
|
||||||
|
div = jQuery("#fractions");
|
||||||
|
|
||||||
div.css({
|
div.css({
|
||||||
"position": "absolute",
|
"position": "absolute",
|
||||||
@ -538,7 +548,7 @@ test("fractions (see #7730 and #7885)", function() {
|
|||||||
|
|
||||||
div.offset(expected);
|
div.offset(expected);
|
||||||
|
|
||||||
var result = div.offset();
|
result = div.offset();
|
||||||
|
|
||||||
equal( result.top, expected.top, "Check top" );
|
equal( result.top, expected.top, "Check top" );
|
||||||
equal( result.left, expected.left, "Check left" );
|
equal( result.left, expected.left, "Check left" );
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
module( "queue", { teardown: moduleTeardown });
|
module( "queue", { teardown: moduleTeardown });
|
||||||
|
|
||||||
test( "queue() with other types", 14, function() {
|
test( "queue() with other types", 14, function() {
|
||||||
var counter = 0;
|
|
||||||
|
|
||||||
stop();
|
stop();
|
||||||
|
|
||||||
var $div = jQuery({}),
|
var defer,
|
||||||
defer;
|
$div = jQuery({}),
|
||||||
|
counter = 0;
|
||||||
|
|
||||||
$div.promise( "foo" ).done(function() {
|
$div.promise( "foo" ).done(function() {
|
||||||
equal( counter, 0, "Deferred for collection with no queue is automatically resolved" );
|
equal( counter, 0, "Deferred for collection with no queue is automatically resolved" );
|
||||||
});
|
});
|
||||||
@ -56,8 +56,8 @@ test( "queue() with other types", 14, function() {
|
|||||||
test("queue(name) passes in the next item in the queue as a parameter", function() {
|
test("queue(name) passes in the next item in the queue as a parameter", function() {
|
||||||
expect(2);
|
expect(2);
|
||||||
|
|
||||||
var div = jQuery({});
|
var div = jQuery({}),
|
||||||
var counter = 0;
|
counter = 0;
|
||||||
|
|
||||||
div.queue("foo", function(next) {
|
div.queue("foo", function(next) {
|
||||||
equal(++counter, 1, "Dequeueing");
|
equal(++counter, 1, "Dequeueing");
|
||||||
@ -76,12 +76,11 @@ test("queue() passes in the next item in the queue as a parameter to fx queues",
|
|||||||
expect(3);
|
expect(3);
|
||||||
stop();
|
stop();
|
||||||
|
|
||||||
var div = jQuery({});
|
var div = jQuery({}),
|
||||||
var counter = 0;
|
counter = 0;
|
||||||
|
|
||||||
div.queue(function(next) {
|
div.queue(function( next ) {
|
||||||
equal(++counter, 1, "Dequeueing");
|
equal(++counter, 1, "Dequeueing");
|
||||||
var self = this;
|
|
||||||
setTimeout(function() { next(); }, 500);
|
setTimeout(function() { next(); }, 500);
|
||||||
}).queue(function(next) {
|
}).queue(function(next) {
|
||||||
equal(++counter, 2, "Next was called");
|
equal(++counter, 2, "Next was called");
|
||||||
@ -143,14 +142,14 @@ test("clearQueue(name) clears the queue", function() {
|
|||||||
|
|
||||||
stop();
|
stop();
|
||||||
|
|
||||||
var div = jQuery({});
|
var div = jQuery({}),
|
||||||
var counter = 0;
|
counter = 0;
|
||||||
|
|
||||||
div.queue("foo", function(next) {
|
div.queue("foo", function( next ) {
|
||||||
counter++;
|
counter++;
|
||||||
jQuery(this).clearQueue("foo");
|
jQuery(this).clearQueue("foo");
|
||||||
next();
|
next();
|
||||||
}).queue("foo", function(next) {
|
}).queue("foo", function() {
|
||||||
counter++;
|
counter++;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -167,14 +166,14 @@ test("clearQueue(name) clears the queue", function() {
|
|||||||
test("clearQueue() clears the fx queue", function() {
|
test("clearQueue() clears the fx queue", function() {
|
||||||
expect(1);
|
expect(1);
|
||||||
|
|
||||||
var div = jQuery({});
|
var div = jQuery({}),
|
||||||
var counter = 0;
|
counter = 0;
|
||||||
|
|
||||||
div.queue(function(next) {
|
div.queue(function( next ) {
|
||||||
counter++;
|
counter++;
|
||||||
var self = this;
|
var self = this;
|
||||||
setTimeout(function() { jQuery(self).clearQueue(); next(); }, 50);
|
setTimeout(function() { jQuery(self).clearQueue(); next(); }, 50);
|
||||||
}).queue(function(next) {
|
}).queue(function() {
|
||||||
counter++;
|
counter++;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -246,8 +245,8 @@ asyncTest( "fn.promise( \"queue\" ) - waits for animation to complete before res
|
|||||||
test( ".promise(obj)", function() {
|
test( ".promise(obj)", function() {
|
||||||
expect(2);
|
expect(2);
|
||||||
|
|
||||||
var obj = {};
|
var obj = {},
|
||||||
var promise = jQuery( "#foo" ).promise( "promise", obj );
|
promise = jQuery( "#foo" ).promise( "promise", obj );
|
||||||
|
|
||||||
ok( jQuery.isFunction( promise.promise ), ".promise(type, obj) returns a promise" );
|
ok( jQuery.isFunction( promise.promise ), ".promise(type, obj) returns a promise" );
|
||||||
strictEqual( promise, obj, ".promise(type, obj) returns obj" );
|
strictEqual( promise, obj, ".promise(type, obj) returns obj" );
|
||||||
|
@ -3,9 +3,11 @@ module("serialize", { teardown: moduleTeardown });
|
|||||||
test("jQuery.param()", function() {
|
test("jQuery.param()", function() {
|
||||||
expect(22);
|
expect(22);
|
||||||
|
|
||||||
|
var params, settings;
|
||||||
|
|
||||||
equal( !( jQuery.ajaxSettings && jQuery.ajaxSettings.traditional ), true, "traditional flag, falsy by default" );
|
equal( !( jQuery.ajaxSettings && jQuery.ajaxSettings.traditional ), true, "traditional flag, falsy by default" );
|
||||||
|
|
||||||
var params = {"foo":"bar", "baz":42, "quux":"All your base are belong to us"};
|
params = {"foo":"bar", "baz":42, "quux":"All your base are belong to us"};
|
||||||
equal( jQuery.param(params), "foo=bar&baz=42&quux=All+your+base+are+belong+to+us", "simple" );
|
equal( jQuery.param(params), "foo=bar&baz=42&quux=All+your+base+are+belong+to+us", "simple" );
|
||||||
|
|
||||||
params = {"string":"foo","null":null,"undefined":undefined};
|
params = {"string":"foo","null":null,"undefined":undefined};
|
||||||
@ -37,7 +39,7 @@ test("jQuery.param()", function() {
|
|||||||
// #7945
|
// #7945
|
||||||
equal( jQuery.param({"jquery": "1.4.2"}), "jquery=1.4.2", "Check that object with a jQuery property get serialized correctly" );
|
equal( jQuery.param({"jquery": "1.4.2"}), "jquery=1.4.2", "Check that object with a jQuery property get serialized correctly" );
|
||||||
|
|
||||||
var settings = { traditional: true };
|
settings = { traditional: true };
|
||||||
|
|
||||||
if ( jQuery.ajaxSettings ) {
|
if ( jQuery.ajaxSettings ) {
|
||||||
jQuery.ajaxSetup( settings );
|
jQuery.ajaxSetup( settings );
|
||||||
|
@ -143,10 +143,11 @@ test("is() with :has() selectors", function() {
|
|||||||
test("is() with positional selectors", function() {
|
test("is() with positional selectors", function() {
|
||||||
expect(24);
|
expect(24);
|
||||||
|
|
||||||
var html = jQuery(
|
jQuery(
|
||||||
"<p id='posp'><a class='firsta' href='#'><em>first</em></a><a class='seconda' href='#'><b>test</b></a><em></em></p>"
|
"<p id='posp'><a class='firsta' href='#'><em>first</em></a><a class='seconda' href='#'><b>test</b></a><em></em></p>"
|
||||||
).appendTo( "#qunit-fixture" ),
|
).appendTo( "#qunit-fixture" );
|
||||||
isit = function(sel, match, expect) {
|
|
||||||
|
var isit = function(sel, match, expect) {
|
||||||
equal( jQuery( sel ).is( match ), expect, "jQuery('" + sel + "').is('" + match + "')" );
|
equal( jQuery( sel ).is( match ), expect, "jQuery('" + sel + "').is('" + match + "')" );
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -271,7 +272,7 @@ test("filter(jQuery)", function() {
|
|||||||
test("filter() with positional selectors", function() {
|
test("filter() with positional selectors", function() {
|
||||||
expect(19);
|
expect(19);
|
||||||
|
|
||||||
var html = jQuery( "" +
|
jQuery( "" +
|
||||||
"<p id='posp'>" +
|
"<p id='posp'>" +
|
||||||
"<a class='firsta' href='#'>" +
|
"<a class='firsta' href='#'>" +
|
||||||
"<em>first</em>" +
|
"<em>first</em>" +
|
||||||
@ -280,8 +281,9 @@ test("filter() with positional selectors", function() {
|
|||||||
"<b>test</b>" +
|
"<b>test</b>" +
|
||||||
"</a>" +
|
"</a>" +
|
||||||
"<em></em>" +
|
"<em></em>" +
|
||||||
"</p>" ).appendTo( "#qunit-fixture" ),
|
"</p>" ).appendTo( "#qunit-fixture" );
|
||||||
filterit = function(sel, filter, length) {
|
|
||||||
|
var filterit = function(sel, filter, length) {
|
||||||
equal( jQuery( sel ).filter( filter ).length, length, "jQuery( " + sel + " ).filter( " + filter + " )" );
|
equal( jQuery( sel ).filter( filter ).length, length, "jQuery( " + sel + " ).filter( " + filter + " )" );
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -416,50 +418,55 @@ test("not(jQuery)", function() {
|
|||||||
|
|
||||||
test("has(Element)", function() {
|
test("has(Element)", function() {
|
||||||
expect(3);
|
expect(3);
|
||||||
|
var obj, detached, multipleParent;
|
||||||
|
|
||||||
var obj = jQuery("#qunit-fixture").has(jQuery("#sndp")[0]);
|
obj = jQuery("#qunit-fixture").has(jQuery("#sndp")[0]);
|
||||||
deepEqual( obj.get(), q("qunit-fixture"), "Keeps elements that have the element as a descendant" );
|
deepEqual( obj.get(), q("qunit-fixture"), "Keeps elements that have the element as a descendant" );
|
||||||
|
|
||||||
var detached = jQuery("<a><b><i/></b></a>");
|
detached = jQuery("<a><b><i/></b></a>");
|
||||||
deepEqual( detached.has( detached.find("i")[0] ).get(), detached.get(), "...Even when detached" );
|
deepEqual( detached.has( detached.find("i")[0] ).get(), detached.get(), "...Even when detached" );
|
||||||
|
|
||||||
var multipleParent = jQuery("#qunit-fixture, #header").has(jQuery("#sndp")[0]);
|
multipleParent = jQuery("#qunit-fixture, #header").has(jQuery("#sndp")[0]);
|
||||||
deepEqual( obj.get(), q("qunit-fixture"), "Does not include elements that do not have the element as a descendant" );
|
deepEqual( multipleParent.get(), q("qunit-fixture"), "Does not include elements that do not have the element as a descendant" );
|
||||||
});
|
});
|
||||||
|
|
||||||
test("has(Selector)", function() {
|
test("has(Selector)", function() {
|
||||||
expect( 5 );
|
expect( 5 );
|
||||||
|
|
||||||
var obj = jQuery("#qunit-fixture").has("#sndp");
|
var obj, detached, multipleParent, multipleHas;
|
||||||
|
|
||||||
|
obj = jQuery("#qunit-fixture").has("#sndp");
|
||||||
deepEqual( obj.get(), q("qunit-fixture"), "Keeps elements that have any element matching the selector as a descendant" );
|
deepEqual( obj.get(), q("qunit-fixture"), "Keeps elements that have any element matching the selector as a descendant" );
|
||||||
|
|
||||||
var detached = jQuery("<a><b><i/></b></a>");
|
detached = jQuery("<a><b><i/></b></a>");
|
||||||
deepEqual( detached.has("i").get(), detached.get(), "...Even when detached" );
|
deepEqual( detached.has("i").get(), detached.get(), "...Even when detached" );
|
||||||
|
|
||||||
var multipleParent = jQuery("#qunit-fixture, #header").has("#sndp");
|
multipleParent = jQuery("#qunit-fixture, #header").has("#sndp");
|
||||||
deepEqual( multipleParent.get(), q("qunit-fixture"), "Does not include elements that do not have the element as a descendant" );
|
deepEqual( multipleParent.get(), q("qunit-fixture"), "Does not include elements that do not have the element as a descendant" );
|
||||||
|
|
||||||
multipleParent = jQuery("#select1, #select2, #select3").has("#option1a, #option3a");
|
multipleParent = jQuery("#select1, #select2, #select3").has("#option1a, #option3a");
|
||||||
deepEqual( multipleParent.get(), q("select1", "select3"), "Multiple contexts are checks correctly" );
|
deepEqual( multipleParent.get(), q("select1", "select3"), "Multiple contexts are checks correctly" );
|
||||||
|
|
||||||
var multipleHas = jQuery("#qunit-fixture").has("#sndp, #first");
|
multipleHas = jQuery("#qunit-fixture").has("#sndp, #first");
|
||||||
deepEqual( multipleHas.get(), q("qunit-fixture"), "Only adds elements once" );
|
deepEqual( multipleHas.get(), q("qunit-fixture"), "Only adds elements once" );
|
||||||
});
|
});
|
||||||
|
|
||||||
test("has(Arrayish)", function() {
|
test("has(Arrayish)", function() {
|
||||||
expect(4);
|
expect(4);
|
||||||
|
|
||||||
var simple = jQuery("#qunit-fixture").has(jQuery("#sndp"));
|
var simple, detached, multipleParent, multipleHas;
|
||||||
|
|
||||||
|
simple = jQuery("#qunit-fixture").has(jQuery("#sndp"));
|
||||||
deepEqual( simple.get(), q("qunit-fixture"), "Keeps elements that have any element in the jQuery list as a descendant" );
|
deepEqual( simple.get(), q("qunit-fixture"), "Keeps elements that have any element in the jQuery list as a descendant" );
|
||||||
|
|
||||||
var detached = jQuery("<a><b><i/></b></a>");
|
detached = jQuery("<a><b><i/></b></a>");
|
||||||
deepEqual( detached.has( detached.find("i") ).get(), detached.get(), "...Even when detached" );
|
deepEqual( detached.has( detached.find("i") ).get(), detached.get(), "...Even when detached" );
|
||||||
|
|
||||||
var multipleParent = jQuery("#qunit-fixture, #header").has(jQuery("#sndp"));
|
multipleParent = jQuery("#qunit-fixture, #header").has(jQuery("#sndp"));
|
||||||
deepEqual( multipleParent.get(), q("qunit-fixture"), "Does not include elements that do not have an element in the jQuery list as a descendant" );
|
deepEqual( multipleParent.get(), q("qunit-fixture"), "Does not include elements that do not have an element in the jQuery list as a descendant" );
|
||||||
|
|
||||||
var multipleHas = jQuery("#qunit-fixture").has(jQuery("#sndp, #first"));
|
multipleHas = jQuery("#qunit-fixture").has(jQuery("#sndp, #first"));
|
||||||
deepEqual( simple.get(), q("qunit-fixture"), "Only adds elements once" );
|
deepEqual( multipleHas.get(), q("qunit-fixture"), "Only adds elements once" );
|
||||||
});
|
});
|
||||||
|
|
||||||
test("addBack()", function() {
|
test("addBack()", function() {
|
||||||
@ -476,6 +483,7 @@ test("siblings([String])", function() {
|
|||||||
deepEqual( jQuery("#en").siblings().get(), q("sndp", "sap"), "Check for siblings" );
|
deepEqual( jQuery("#en").siblings().get(), q("sndp", "sap"), "Check for siblings" );
|
||||||
deepEqual( jQuery("#nonnodes").contents().eq(1).siblings().get(), q("nonnodesElement"), "Check for text node siblings" );
|
deepEqual( jQuery("#nonnodes").contents().eq(1).siblings().get(), q("nonnodesElement"), "Check for text node siblings" );
|
||||||
deepEqual( jQuery("#foo").siblings("form, b").get(), q("form", "floatTest", "lengthtest", "name-tests", "testForm"), "Check for multiple filters" );
|
deepEqual( jQuery("#foo").siblings("form, b").get(), q("form", "floatTest", "lengthtest", "name-tests", "testForm"), "Check for multiple filters" );
|
||||||
|
|
||||||
var set = q("sndp", "en", "sap");
|
var set = q("sndp", "en", "sap");
|
||||||
deepEqual( jQuery("#en, #sndp").siblings().get(), set, "Check for unique results from siblings" );
|
deepEqual( jQuery("#en, #sndp").siblings().get(), set, "Check for unique results from siblings" );
|
||||||
deepEqual( jQuery("#option5a").siblings("option[data-attr]").get(), q("option5c"), "Has attribute selector in siblings (#9261)" );
|
deepEqual( jQuery("#option5a").siblings("option[data-attr]").get(), q("option5c"), "Has attribute selector in siblings (#9261)" );
|
||||||
@ -624,9 +632,11 @@ test("prevUntil([String])", function() {
|
|||||||
|
|
||||||
test("contents()", function() {
|
test("contents()", function() {
|
||||||
expect(12);
|
expect(12);
|
||||||
|
var ibody, c;
|
||||||
|
|
||||||
equal( jQuery("#ap").contents().length, 9, "Check element contents" );
|
equal( jQuery("#ap").contents().length, 9, "Check element contents" );
|
||||||
ok( jQuery("#iframe").contents()[0], "Check existence of IFrame document" );
|
ok( jQuery("#iframe").contents()[0], "Check existence of IFrame document" );
|
||||||
var ibody = jQuery("#loadediframe").contents()[0].body;
|
ibody = jQuery("#loadediframe").contents()[0].body;
|
||||||
ok( ibody, "Check existence of IFrame body" );
|
ok( ibody, "Check existence of IFrame body" );
|
||||||
|
|
||||||
equal( jQuery("span", ibody).text(), "span text", "Find span in IFrame and check its text" );
|
equal( jQuery("span", ibody).text(), "span text", "Find span in IFrame and check its text" );
|
||||||
@ -649,13 +659,16 @@ test("contents()", function() {
|
|||||||
equal( jQuery("div", ibody).length, 1, "Check for JS error on add and delete of a table in IFrame" );
|
equal( jQuery("div", ibody).length, 1, "Check for JS error on add and delete of a table in IFrame" );
|
||||||
|
|
||||||
// using contents will get comments regular, text, and comment nodes
|
// using contents will get comments regular, text, and comment nodes
|
||||||
var c = jQuery("#nonnodes").contents().contents();
|
c = jQuery("#nonnodes").contents().contents();
|
||||||
equal( c.length, 1, "Check node,textnode,comment contents is just one" );
|
equal( c.length, 1, "Check node,textnode,comment contents is just one" );
|
||||||
equal( c[0].nodeValue, "hi", "Check node,textnode,comment contents is just the one from span" );
|
equal( c[0].nodeValue, "hi", "Check node,textnode,comment contents is just the one from span" );
|
||||||
});
|
});
|
||||||
|
|
||||||
test("add(String|Element|Array|undefined)", function() {
|
test("add(String|Element|Array|undefined)", function() {
|
||||||
expect( 15 );
|
expect( 15 );
|
||||||
|
|
||||||
|
var divs, tmp, x, notDefined;
|
||||||
|
|
||||||
deepEqual( jQuery("#sndp").add("#en").add("#sap").get(), q("sndp", "en", "sap"), "Check elements from document" );
|
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" );
|
deepEqual( jQuery("#sndp").add( jQuery("#en")[0] ).add( jQuery("#sap") ).get(), q("sndp", "en", "sap"), "Check elements from document" );
|
||||||
|
|
||||||
@ -669,15 +682,15 @@ test("add(String|Element|Array|undefined)", function() {
|
|||||||
// use jQuery([]).add(form.elements) instead.
|
// use jQuery([]).add(form.elements) instead.
|
||||||
//equal( jQuery([]).add(jQuery("#form")[0].elements).length, jQuery(jQuery("#form")[0].elements).length, "Array in constructor must equals array in add()" );
|
//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");
|
divs = jQuery("<div/>").add("#sndp");
|
||||||
ok( divs[0].parentNode, "Sort with the disconnected node last (started with disconnected first)." );
|
ok( divs[0].parentNode, "Sort with the disconnected node last (started with disconnected first)." );
|
||||||
|
|
||||||
divs = jQuery("#sndp").add("<div/>");
|
divs = jQuery("#sndp").add("<div/>");
|
||||||
ok( !divs[1].parentNode, "Sort with the disconnected node last." );
|
ok( !divs[1].parentNode, "Sort with the disconnected node last." );
|
||||||
|
|
||||||
var tmp = jQuery("<div/>");
|
tmp = jQuery("<div/>");
|
||||||
|
|
||||||
var x = jQuery([]).add(jQuery("<p id='x1'>xxx</p>").appendTo(tmp)).add(jQuery("<p id='x2'>xxx</p>").appendTo(tmp));
|
x = jQuery([]).add(jQuery("<p id='x1'>xxx</p>").appendTo(tmp)).add(jQuery("<p id='x2'>xxx</p>").appendTo(tmp));
|
||||||
equal( x[0].id, "x1", "Check on-the-fly element1" );
|
equal( x[0].id, "x1", "Check on-the-fly element1" );
|
||||||
equal( x[1].id, "x2", "Check on-the-fly element2" );
|
equal( x[1].id, "x2", "Check on-the-fly element2" );
|
||||||
|
|
||||||
@ -693,7 +706,6 @@ test("add(String|Element|Array|undefined)", function() {
|
|||||||
equal( x[0].id, "x1", "Check on-the-fly element1" );
|
equal( x[0].id, "x1", "Check on-the-fly element1" );
|
||||||
equal( x[1].id, "x2", "Check on-the-fly element2" );
|
equal( x[1].id, "x2", "Check on-the-fly element2" );
|
||||||
|
|
||||||
var notDefined;
|
|
||||||
equal( jQuery([]).add(notDefined).length, 0, "Check that undefined adds nothing" );
|
equal( jQuery([]).add(notDefined).length, 0, "Check that undefined adds nothing" );
|
||||||
|
|
||||||
equal( jQuery([]).add( document.getElementById("form") ).length, 1, "Add a form" );
|
equal( jQuery([]).add( document.getElementById("form") ).length, 1, "Add a form" );
|
||||||
@ -723,12 +735,18 @@ test("eq('-1') #10616", function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test("index(no arg) #10977", function() {
|
test("index(no arg) #10977", function() {
|
||||||
expect(1);
|
expect(2);
|
||||||
|
var $list, fragment, div;
|
||||||
|
|
||||||
var $list = jQuery("<ul id='indextest'><li class='zero'>THIS ONE</li><li class='one'>a</li><li class='two'>b</li><li class='three'>c</li></ul>");
|
$list = jQuery("<ul id='indextest'><li class='zero'>THIS ONE</li><li class='one'>a</li><li class='two'>b</li><li class='three'>c</li></ul>");
|
||||||
jQuery("#qunit-fixture").append( $list );
|
jQuery("#qunit-fixture").append( $list );
|
||||||
strictEqual ( jQuery( "#indextest li.zero" ).first().index() , 0, "No Argument Index Check" );
|
strictEqual ( jQuery( "#indextest li.zero" ).first().index() , 0, "No Argument Index Check" );
|
||||||
$list.remove();
|
$list.remove();
|
||||||
|
|
||||||
|
fragment = document.createDocumentFragment();
|
||||||
|
div = fragment.appendChild( document.createElement("div") );
|
||||||
|
|
||||||
|
equal( jQuery( div ).index(), 0, "If jQuery#index called on element whose parent is fragment, it still should work correctly" );
|
||||||
});
|
});
|
||||||
|
|
||||||
test("traversing non-elements with attribute filters (#12523)", function() {
|
test("traversing non-elements with attribute filters (#12523)", function() {
|
||||||
|
Loading…
Reference in New Issue
Block a user