X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fjquery%2Fjquery.js;h=b7715be353ab57e0bdda6c71ab3e8d7b5059a33a;hb=94b0bf5f2b7a4003196a679649567a13d0f13ad0;hp=ac263bcedff45b0fc35822e2437c8ed37d8a37ff;hpb=43d3deb7c81fb4bd35a7f98c5f01f5f653b4c5a2;p=jquery.git
diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js
index ac263bc..b7715be 100644
--- a/src/jquery/jquery.js
+++ b/src/jquery/jquery.js
@@ -667,6 +667,12 @@ jQuery.fn = jQuery.prototype = {
* var result = $('#first').append('buga');
* ok( result.text() == defaultText + 'buga', 'Check if text appending works' );
*
+ * @test reset();
+ * var expected = "Try them out: bla ";
+ * $('#first').append(" ");
+ * $('#first').append("bla ");
+ * ok( expected == $('#first').text(), "Check for appending of spaces" );
+ *
* @name append
* @type jQuery
* @param String html A string of HTML, that will be created on the fly and appended to the target.
@@ -1367,9 +1373,22 @@ jQuery.extend({
o.className += ( o.className ? " " : "" ) + c;
},
remove: function(o,c){
+ /*
o.className = !c ? "" :
o.className.replace(
- new RegExp("(^|\\s*\\b[^-])"+c+"($|\\b(?=[^-]))", "g"), "");
+ new RegExp("(^|\\s*\\b[^-])"+c+"($|\\b(?=[^-]))", "g"), "");*/
+ if( !c ) {
+ o.className = "";
+ } else {
+ var classes = o.className.split(" ");
+ for(var i=0; i
* @private
@@ -1916,15 +1956,17 @@ jQuery.extend({
*/
sibling: function(elem, pos, not) {
var elems = [];
-
- var siblings = elem.parentNode.childNodes;
- for ( var i = 0; i < siblings.length; i++ ) {
- if ( not === true && siblings[i] == elem ) continue;
-
- if ( siblings[i].nodeType == 1 )
- elems.push( siblings[i] );
- if ( siblings[i] == elem )
- elems.n = elems.length - 1;
+
+ if(elem) {
+ var siblings = elem.parentNode.childNodes;
+ for ( var i = 0; i < siblings.length; i++ ) {
+ if ( not === true && siblings[i] == elem ) continue;
+
+ if ( siblings[i].nodeType == 1 )
+ elems.push( siblings[i] );
+ if ( siblings[i] == elem )
+ elems.n = elems.length - 1;
+ }
}
return jQuery.extend( elems, {
@@ -2650,6 +2692,10 @@ jQuery.macros = {
* @before
* @result "test"
*
+ * @test ok( $(document.getElementById('main')).id() == "main", "Check for id" );
+ * @test ok( $("#foo").id() == "foo", "Check for id" );
+ * @test ok( !$("head").id(), "Check for id" );
+ *
* @name id
* @type String
* @cat DOM/Attributes
@@ -2676,6 +2722,9 @@ jQuery.macros = {
* @before
* @result "my image"
*
+ * @test ok( $(document.getElementById('google')).title() == "Google!", "Check for title" );
+ * @test ok( !$("#yahoo").title(), "Check for title" );
+ *
* @name title
* @type String
* @cat DOM/Attributes
@@ -2702,6 +2751,10 @@ jQuery.macros = {
* @before
* @result "username"
*
+ * @test ok( $(document.getElementById('text1')).name() == "action", "Check for name" );
+ * @test ok( $("#hidden1").name() == "hidden", "Check for name" );
+ * @test ok( !$("#area1").name(), "Check for name" );
+ *
* @name name
* @type String
* @cat DOM/Attributes
@@ -2980,7 +3033,7 @@ jQuery.macros = {
* @param String expr An expression to filter the sibling Elements with
* @cat DOM/Traversing
*/
- siblings: jQuery.sibling,
+ siblings: "jQuery.sibling(a, null, true)",
/**
@@ -2991,6 +3044,8 @@ jQuery.macros = {
* @before Hello
Hello Again
And Again
* @result [ Hello Again ]
*
+ * @test isSet( $("#foo").children().get(), q("sndp", "en", "sap"), "Check for children" );
+ *
* @name children
* @type jQuery
* @cat DOM/Traversing
@@ -3004,6 +3059,8 @@ jQuery.macros = {
* @before HelloHello Again
And Again
* @result [ Hello Again
]
*
+ * @test isSet( $("#foo").children("[code]").get(), q("sndp", "sap"), "Check for filtered children" );
+ *
* @name children
* @type jQuery
* @param String expr An expression to filter the child Elements with
@@ -3133,6 +3190,14 @@ jQuery.macros = {
* }
* ok( pass, "Remove Class" );
*
+ * @test var div = $("div").addClass("test").addClass("foo").addClass("bar");
+ * div.removeClass("test").removeClass("bar").removeClass("foo");
+ * var pass = true;
+ * for ( var i = 0; i < div.size(); i++ ) {
+ * if ( div.get(i).className.match(/test|bar|foo/) ) pass = false;
+ * }
+ * ok( pass, "Remove multiple classes" );
+ *
* @name removeClass
* @type jQuery
* @param String class A CSS class to remove from the elements