mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
This commit is contained in:
parent
c80bc22728
commit
c68ab270fa
31
README.md
31
README.md
@ -62,6 +62,37 @@ Then, to get a complete, minified (w/ Uglify.js), linted (w/ JSHint) version of
|
||||
The built version of jQuery will be put in the `dist/` subdirectory.
|
||||
|
||||
|
||||
### Modules (new in 1.8)
|
||||
|
||||
Starting in jQuery 1.8, special builds can now be created that optionally exlude or include any of the following modules:
|
||||
|
||||
- dimensions
|
||||
- effects
|
||||
- offset
|
||||
|
||||
|
||||
To create a custom build, use the following special `grunt` commands:
|
||||
|
||||
Exclude `dimensions`:
|
||||
|
||||
#### `grunt build:*:*:-dimensions` ####
|
||||
|
||||
Exclude `effects`:
|
||||
|
||||
#### `grunt build:*:*:-effects` ####
|
||||
|
||||
Exclude `offset`:
|
||||
|
||||
#### `grunt build:*:*:-offset` ####
|
||||
|
||||
|
||||
Exclude **all** optional modules:
|
||||
|
||||
#### `grunt build:*:*:-dimensions:-effects:-offset` ####
|
||||
|
||||
|
||||
|
||||
|
||||
Running the Unit Tests
|
||||
--------------------------------------
|
||||
|
||||
|
2
grunt.js
2
grunt.js
@ -69,7 +69,7 @@ module.exports = function( grunt ) {
|
||||
"src/ajax/script.js",
|
||||
"src/ajax/xhr.js",
|
||||
{ flag: "effects", src: "src/effects.js" },
|
||||
"src/offset.js",
|
||||
{ flag: "offset", src: "src/offset.js" },
|
||||
{ flag: "dimensions", src: "src/dimensions.js" },
|
||||
"src/exports.js",
|
||||
"src/outro.js"
|
||||
|
@ -368,44 +368,55 @@ test("attr(String, Object)", function() {
|
||||
});
|
||||
|
||||
test("attr(jquery_method)", function(){
|
||||
expect(7);
|
||||
|
||||
var $elem = jQuery("<div />"),
|
||||
elem = $elem[0];
|
||||
|
||||
// one at a time
|
||||
$elem.attr({html: "foo"}, true);
|
||||
equal( elem.innerHTML, "foo", "attr(html)");
|
||||
|
||||
$elem.attr({text: "bar"}, true);
|
||||
equal( elem.innerHTML, "bar", "attr(text)");
|
||||
|
||||
$elem.attr({css: {color: "red"}}, true);
|
||||
ok( /^(#ff0000|red)$/i.test(elem.style.color), "attr(css)");
|
||||
elem = $elem[0],
|
||||
expected = 5,
|
||||
attrObj = {
|
||||
css: { paddingLeft: 1, paddingRight: 1 }
|
||||
};
|
||||
|
||||
if ( jQuery.fn.width ) {
|
||||
$elem.attr({height: 10}, true);
|
||||
equal( elem.style.height, "10px", "attr(height)");
|
||||
|
||||
// Multiple attributes
|
||||
$elem.attr({
|
||||
width:10,
|
||||
css:{ paddingLeft:1, paddingRight:1 }
|
||||
}, true);
|
||||
|
||||
equal( elem.style.width, "10px", "attr({...})");
|
||||
} else {
|
||||
|
||||
$elem.attr({
|
||||
css:{ paddingLeft:1, paddingRight:1 }
|
||||
}, true);
|
||||
|
||||
ok( true, "DUMMY: attr(height)" );
|
||||
ok( true, "DUMMY: attr({...})" );
|
||||
expected += 2;
|
||||
attrObj.width = 10;
|
||||
}
|
||||
|
||||
equal( elem.style.paddingLeft, "1px", "attr({...})");
|
||||
equal( elem.style.paddingRight, "1px", "attr({...})");
|
||||
if ( jQuery.fn.offset ) {
|
||||
expected += 2;
|
||||
attrObj.offset = { top: 1, left: 0 };
|
||||
}
|
||||
|
||||
expect( expected );
|
||||
|
||||
// one at a time
|
||||
$elem.attr( { html: "foo" }, true );
|
||||
equal( elem.innerHTML, "foo", "attr(html)" );
|
||||
|
||||
$elem.attr( { text: "bar" }, true );
|
||||
equal( elem.innerHTML, "bar", "attr(text)" );
|
||||
|
||||
$elem.attr( { css: { color: "red" } }, true );
|
||||
ok( /^(#ff0000|red)$/i.test( elem.style.color ), "attr(css)" );
|
||||
|
||||
// Multiple attributes
|
||||
$elem.attr( attrObj, true );
|
||||
|
||||
if ( jQuery.fn.width ) {
|
||||
equal( elem.style.width, "10px", "attr({width:})" );
|
||||
|
||||
$elem.attr( { height: 10 }, true );
|
||||
equal( elem.style.height, "10px", "attr(height)" );
|
||||
}
|
||||
|
||||
if ( jQuery.fn.offset ) {
|
||||
equal( elem.style.top, "1px", "attr({offset:})" );
|
||||
|
||||
$elem.attr( { offset: { top: 1, left: 1 } }, true );
|
||||
equal( elem.style.left, "1px", "attr(offset)" );
|
||||
}
|
||||
|
||||
equal( elem.style.paddingLeft, "1px", "attr({css:})" );
|
||||
equal( elem.style.paddingRight, "1px", "attr({css:})" );
|
||||
});
|
||||
|
||||
test("attr(String, Object) - Loaded via XML document", function() {
|
||||
|
@ -18,24 +18,48 @@ test("Basic requirements", function() {
|
||||
});
|
||||
|
||||
test("jQuery()", function() {
|
||||
expect(29);
|
||||
|
||||
var elem, i,
|
||||
obj = jQuery("div"),
|
||||
main = jQuery("#qunit-fixture"),
|
||||
code = jQuery("<code/>"),
|
||||
img = jQuery("<img/>"),
|
||||
div = jQuery("<div/><hr/><code/><b/>"),
|
||||
exec = false,
|
||||
long = "",
|
||||
expected = 28,
|
||||
attrObj = {
|
||||
css: { paddingLeft: 1, paddingRight: 1 },
|
||||
click: function() { ok( exec, "Click executed." ); },
|
||||
text: "test",
|
||||
"class": "test2",
|
||||
id: "test3"
|
||||
};
|
||||
|
||||
if ( jQuery.fn.width ) {
|
||||
expected++;
|
||||
attrObj.width = 10;
|
||||
}
|
||||
|
||||
if ( jQuery.fn.offset ) {
|
||||
expected++;
|
||||
attrObj.offset = { top: 1, left: 1 };
|
||||
}
|
||||
|
||||
expect( expected );
|
||||
|
||||
// Basic constructor's behavior
|
||||
|
||||
equal( jQuery().length, 0, "jQuery() === jQuery([])" );
|
||||
equal( jQuery(undefined).length, 0, "jQuery(undefined) === jQuery([])" );
|
||||
equal( jQuery(null).length, 0, "jQuery(null) === jQuery([])" );
|
||||
equal( jQuery("").length, 0, "jQuery('') === jQuery([])" );
|
||||
equal( jQuery("#").length, 0, "jQuery('#') === jQuery([])" );
|
||||
|
||||
var obj = jQuery("div");
|
||||
equal( jQuery(obj).selector, "div", "jQuery(jQueryObj) == jQueryObj" );
|
||||
|
||||
// can actually yield more than one, when iframes are included, the window is an array as well
|
||||
// can actually yield more than one, when iframes are included, the window is an array as well
|
||||
equal( jQuery(window).length, 1, "Correct number of elements generated for jQuery(window)" );
|
||||
|
||||
|
||||
var main = jQuery("#qunit-fixture");
|
||||
deepEqual( jQuery("div p", main).get(), q("sndp", "en", "sap"), "Basic selector with jQuery object as context" );
|
||||
|
||||
/*
|
||||
@ -56,13 +80,12 @@ test("jQuery()", function() {
|
||||
}
|
||||
ok( pass, "jQuery('<tag>') needs optional document parameter to ease cross-frame DOM wrangling, see #968" );*/
|
||||
|
||||
var code = jQuery("<code/>");
|
||||
equal( code.length, 1, "Correct number of elements generated for code" );
|
||||
equal( code.parent().length, 0, "Make sure that the generated HTML has no parent." );
|
||||
var img = jQuery("<img/>");
|
||||
|
||||
equal( img.length, 1, "Correct number of elements generated for img" );
|
||||
equal( img.parent().length, 0, "Make sure that the generated HTML has no parent." );
|
||||
var div = jQuery("<div/><hr/><code/><b/>");
|
||||
|
||||
equal( div.length, 4, "Correct number of elements generated for div hr code b" );
|
||||
equal( div.parent().length, 0, "Make sure that the generated HTML has no parent." );
|
||||
|
||||
@ -70,30 +93,14 @@ test("jQuery()", function() {
|
||||
|
||||
equal( jQuery(document.body).get(0), jQuery("body").get(0), "Test passing an html node to the factory" );
|
||||
|
||||
var exec = false,
|
||||
elem;
|
||||
elem = jQuery("<div/>", attrObj );
|
||||
|
||||
if ( jQuery.fn.width ) {
|
||||
elem = jQuery("<div/>", {
|
||||
width: 10,
|
||||
css: { paddingLeft:1, paddingRight:1 },
|
||||
click: function(){ ok(exec, "Click executed."); },
|
||||
text: "test",
|
||||
"class": "test2",
|
||||
id: "test3"
|
||||
});
|
||||
|
||||
equal( elem[0].style.width, "10px", "jQuery() quick setter width");
|
||||
} else {
|
||||
elem = jQuery("<div/>", {
|
||||
css: { paddingLeft:1, paddingRight:1 },
|
||||
click: function(){ ok(exec, "Click executed."); },
|
||||
text: "test",
|
||||
"class": "test2",
|
||||
id: "test3"
|
||||
});
|
||||
}
|
||||
|
||||
ok( true, "DUMMY: jQuery() quick setter width");
|
||||
if ( jQuery.fn.offset ) {
|
||||
equal( elem[0].style.top, "1px", "jQuery() quick setter offset");
|
||||
}
|
||||
|
||||
equal( elem[0].style.paddingLeft, "1px", "jQuery quick setter css");
|
||||
@ -109,7 +116,7 @@ test("jQuery()", function() {
|
||||
// manually clean up detached elements
|
||||
elem.remove();
|
||||
|
||||
for ( var i = 0; i < 3; ++i ) {
|
||||
for ( i = 0; i < 3; ++i ) {
|
||||
elem = jQuery("<input type='text' value='TEST' />");
|
||||
}
|
||||
equal( elem[0].defaultValue, "TEST", "Ensure cached nodes are cloned properly (Bug #6655)" );
|
||||
@ -120,8 +127,7 @@ test("jQuery()", function() {
|
||||
equal( jQuery(" <div/> ").length, 1, "Make sure whitespace is trimmed." );
|
||||
equal( jQuery(" a<div/>b ").length, 1, "Make sure whitespace and other characters are trimmed." );
|
||||
|
||||
var long = "";
|
||||
for ( var i = 0; i < 128; i++ ) {
|
||||
for ( i = 0; i < 128; i++ ) {
|
||||
long += "12345678";
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
if ( jQuery.fn.offset ) {
|
||||
|
||||
module("offset", { teardown: moduleTeardown });
|
||||
|
||||
test("disconnected node", function() {
|
||||
@ -475,3 +477,5 @@ test("fractions (see #7730 and #7885)", function() {
|
||||
|
||||
div.remove();
|
||||
});
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user