Added 2 of 3 fixes of #164
authorJörn Zaefferer <joern.zaefferer@gmail.com>
Wed, 11 Oct 2006 13:35:05 +0000 (13:35 +0000)
committerJörn Zaefferer <joern.zaefferer@gmail.com>
Wed, 11 Oct 2006 13:35:05 +0000 (13:35 +0000)
build/test/data/dashboard.xml
src/ajax/ajax.js
src/jquery/jquery.js

index 1bcbf8b..d954f27 100644 (file)
@@ -3,12 +3,8 @@
        <locations>\r
                <location>\r
                        <infowindowtab>\r
-                               <tab title="Location">\r
-                                       <![CDATA[blabla]]>\r
-                               </tab>\r
-                               <tab title="Users">\r
-                                       <![CDATA[blublu]]>\r
-                               </tab>\r
+                               <tab title="Location"><![CDATA[blabla]]></tab>\r
+                               <tab title="Users"><![CDATA[blublu]]></tab>\r
                        </infowindowtab>\r
                </location>\r
        </locations>\r
index 896f92d..bcf9472 100644 (file)
@@ -288,6 +288,18 @@ jQuery.extend({
         *   }
         * )
         *
+        * @test stop();
+        * $.get('data/dashboard.xml', function(xml) {
+        *      var content = [];
+        *      $('tab', xml).each(function() {
+        *              content.push($(this).text());
+        *      });
+        *      ok( content[0] == 'blabla', 'Check first tab');
+        *      ok( content[1] == 'blublu', 'Check second tab');
+        *      start();
+        * });
+        * 
+        *
         * @name $.get
         * @type jQuery
         * @param String url The URL of the page to load.
index 9965fd3..965c279 100644 (file)
@@ -50,8 +50,10 @@ jQuery = function(a,c) {
                return new jQuery(a,c);
 
        // Handle HTML strings
-       var m = /^[^<]*(<.+>)[^>]*$/.exec(a);
-       if ( m ) a = jQuery.clean( [ m[1] ] );
+       if (typeof a == "string") {
+               var m = /^[^<]*(<.+>)[^>]*$/.exec(a);
+               if ( m ) a = jQuery.clean( [ m[1] ] );
+       }
 
        // Watch for when an array is passed in
        this.get( a.constructor == Array || a.length && !a.nodeType && a[0] != undefined && a[0].nodeType ?
@@ -446,6 +448,17 @@ jQuery.fn = jQuery.prototype = {
         * $("#check2").attr('checked', false);
         * ok( document.getElementById('check2').checked == false, 'Set checked attribute' );
         *
+        * @test stop();
+        * $.get('data/dashboard.xml', function(xml) { 
+        *   var titles = [];
+        *   $('tab', xml).each(function() {
+        *     titles.push($(this).attr('title'));
+        *   });
+        *   ok( titles[0] == 'Location', 'attr() in XML context: Check first title' );
+        *   ok( titles[1] == 'Users', 'attr() in XML context: Check second title' );
+        *   start();
+        * });
+        *
         * @name attr
         * @type jQuery
         * @param String key The name of the property to set.
@@ -1558,7 +1571,7 @@ jQuery.extend({
                        empty: "!a.childNodes.length",
 
                        // Text Check
-                       contains: "(a.innerText||a.innerHTML).indexOf(m[3])>=0",
+                       contains: "((a.firstChild && a.firstChild.nodeValue)||a.innerText||a.innerHTML).indexOf(m[3])>=0",
 
                        // Visibility
                        visible: "a.type!='hidden'&&jQuery.css(a,'display')!='none'&&jQuery.css(a,'visibility')!='hidden'",