From ea5e4921014c79ca2116a9aef46e9a0dc49c278f Mon Sep 17 00:00:00 2001 From: Gabriel Schulhof Date: Thu, 23 Oct 2014 20:59:04 +0300 Subject: [PATCH 1/2] Widget: Avoid adding extra spaces to the result of this._classes(...) Closes gh-1372 --- ui/widget.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ui/widget.js b/ui/widget.js index cee9daf2d4e..4ac503654ba 100644 --- a/ui/widget.js +++ b/ui/widget.js @@ -410,7 +410,11 @@ $.Widget.prototype = { while ( i-- ) { out.push( parts[ i ] ); - out.push( classes[ parts[ i ] ] ); + + // Avoid extra spaces in the return value resulting from pushing an empty classes value + if ( classes[ parts[ i ] ] ) { + out.push( classes[ parts[ i ] ] ); + } } return out.join( " " ); From ba302795ca9abd151e6c99d254c30fb5b7f578de Mon Sep 17 00:00:00 2001 From: Gabriel Schulhof Date: Thu, 23 Oct 2014 20:59:43 +0300 Subject: [PATCH 2/2] Widget: Test processing of empty classes key Tests previous commit --- tests/unit/widget/widget_core.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/unit/widget/widget_core.js b/tests/unit/widget/widget_core.js index 49abaff24d1..c63b99afbfc 100644 --- a/tests/unit/widget/widget_core.js +++ b/tests/unit/widget/widget_core.js @@ -608,17 +608,20 @@ test( ".option() - deep option setter", function() { }); test( "_classes", function(){ - expect( 3 ); + expect( 4 ); $.widget( "ui.testWidget", { options: { classes: { "test": "class1 class2", + "testEmpty": "", "test2": "class3" } }, _create: function() { equal( this._classes( "test" ), "test class1 class2" ); equal( this._classes( "test2" ), "test2 class3" ); + equal( this._classes( "testEmpty" ), "testEmpty", + "Computed value of empty-string-valued class key has no extra spaces" ); equal( this._classes( "test test2" ), "test2 class3 test class1 class2" ); } });