]> source.dussan.org Git - jquery-ui.git/commitdiff
Labels: Handle empty sets
authorScott González <scott.gonzalez@gmail.com>
Tue, 2 May 2017 16:42:49 +0000 (12:42 -0400)
committerScott González <scott.gonzalez@gmail.com>
Tue, 2 May 2017 16:42:49 +0000 (12:42 -0400)
Fixes #15184

tests/unit/core/core.js
ui/labels.js

index 770ea41387407f5fa987fbb82f55aecc10ab4510..b5b6b3b81def471020c61ae71d873af5a709fbd2 100644 (file)
@@ -142,7 +142,7 @@ QUnit.test( "uniqueId / removeUniqueId", function( assert ) {
 } );
 
 QUnit.test( "Labels", function( assert ) {
-       assert.expect( 2 );
+       assert.expect( 3 );
 
        var expected = [ "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" ];
        var dom = $( "#labels-fragment" );
@@ -165,6 +165,8 @@ QUnit.test( "Labels", function( assert ) {
        // Detach the dom to test on a fragment
        dom.detach();
        testLabels( "document fragments" );
+
+       assert.equal( $().labels().length, 0, "No element" );
 } );
 
 ( function() {
index 2a78d886b933f1a59ec3ea868505425578c5306d..1bf56ac4146e5d47548cd5084291873dca01140e 100644 (file)
 return $.fn.labels = function() {
        var ancestor, selector, id, labels, ancestors;
 
+       if ( !this.length ) {
+               return this.pushStack( [] );
+       }
+
        // Check control.labels first
        if ( this[ 0 ].labels && this[ 0 ].labels.length ) {
                return this.pushStack( this[ 0 ].labels );