Added tests for children()
[jquery.git] / src / jquery / jquery.js
index dca1867..a0d8775 100644 (file)
@@ -667,6 +667,12 @@ jQuery.fn = jQuery.prototype = {
         * var result = $('#first').append('<b>buga</b>');
         * 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.
@@ -1531,11 +1537,23 @@ jQuery.extend({
                        visible: "a.type!='hidden'&&jQuery.css(a,'display')!='none'&&jQuery.css(a,'visibility')!='hidden'",
                        hidden: "a.type=='hidden'||jQuery.css(a,'display')=='none'||jQuery.css(a,'visibility')=='hidden'",
 
-                       // Form elements
+                       // Form attributes
                        enabled: "!a.disabled",
                        disabled: "a.disabled",
                        checked: "a.checked",
-                       selected: "a.selected"
+                       selected: "a.selected",
+
+                       // Form elements
+                       text: "a.type=='text'",
+                       radio: "a.type=='radio'",
+                       checkbox: "a.type=='checkbox'",
+                       file: "a.type=='file'",
+                       password: "a.type=='password'",
+                       submit: "a.type=='submit'",
+                       image: "a.type=='image'",
+                       reset: "a.type=='reset'",
+                       button: "a.type=='button'",
+                       input: "a.nodeName.toLowerCase()=='input'||a.nodeName.toLowerCase()=='select'||a.nodeName.toLowerCase()=='textarea'"
                },
                ".": "jQuery.className.has(a,m[2])",
                "@": {
@@ -1662,6 +1680,15 @@ jQuery.extend({
         * @test t( "All Children of ID", "#foo/*", ["sndp", "en", "sap"]  );
         * @test t( "All Children of ID with no children", "#firstUL/*", []  );
         *
+        * @test t( "Form element :input", ":input", ["text1", "text2", "radio1", "radio2", "check1", "check2", "hidden1", "hidden2", "name", "area1", "select1", "select2", "select3"] );
+        * @test t( "Form element :radio", ":radio", ["radio1", "radio2"] );
+        * @test t( "Form element :checkbox", ":checkbox", ["check1", "check2"] );
+        * @test t( "Form element :text", ":text", ["text1", "text2", "hidden2", "name"] );
+        *
+        * @test t( ":not() Existing attribute", "input:not([@name])", ["text2", "check2"]);
+        * @test t( ":not() Equals attribute", "select:not([@name=select1])", ["select2", "select3"]);
+        * @test t( ":not() Equals quoted attribute", "select:not([@name='select1'])", ["select2", "select3"]);
+        *
         * @name $.find
         * @type Array<Element>
         * @private
@@ -2652,6 +2679,10 @@ jQuery.macros = {
                 * @before <input type="text" id="test" value="some text"/>
                 * @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
@@ -2678,6 +2709,9 @@ jQuery.macros = {
                 * @before <img src="test.jpg" title="my image"/>
                 * @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
@@ -2704,6 +2738,10 @@ jQuery.macros = {
                 * @before <input type="text" name="username"/>
                 * @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
@@ -2982,7 +3020,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)",
 
 
                /**
@@ -2993,6 +3031,8 @@ jQuery.macros = {
                 * @before <p>Hello</p><div><span>Hello Again</span></div><p>And Again</p>
                 * @result [ <span>Hello Again</span> ]
                 *
+                * @test isSet( $("#foo").children().get(), q("sndp", "en", "sap"), "Check for children" );
+                *
                 * @name children
                 * @type jQuery
                 * @cat DOM/Traversing
@@ -3006,6 +3046,8 @@ jQuery.macros = {
                 * @before <div><span>Hello</span><p class="selected">Hello Again</p><p>And Again</p></div>
                 * @result [ <p class="selected">Hello Again</p> ]
                 *
+                * @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