Skip to content

Commit 04d7e47

Browse files
committed
CSS: workaround trim whitespace #4926
1 parent 175db73 commit 04d7e47

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

src/css/curCSS.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ function curCSS( elem, name, computed ) {
99

1010
// getPropertyValue is needed for `.css('--customProperty')` (gh-3144)
1111
if ( computed ) {
12-
ret = computed.getPropertyValue( name ) || computed[ name ];
12+
ret = computed.getPropertyValue( name );
13+
14+
// trim whitespace (issue #4926)
15+
ret = ( ret && ret.trim() ) || computed[ name ];
1316

1417
if ( ret === "" && !isAttached( elem ) ) {
1518
ret = jQuery.style( elem, name );

test/unit/css.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1739,8 +1739,9 @@ QUnit.testUnlessIE( "css(--customProperty)", function( assert ) {
17391739
" --prop1:val1;\n" +
17401740
" --prop2: val2;\n" +
17411741
" --prop3:val3 ;\n" +
1742-
" --prop4:\"val4\";\n" +
1743-
" --prop5:'val5';\n" +
1742+
" --prop4: val4 ;\n" +
1743+
" --prop5:\"val5\";\n" +
1744+
" --prop6:'val6';\n" +
17441745
" }\n" +
17451746
"</style>"
17461747
);
@@ -1749,7 +1750,7 @@ QUnit.testUnlessIE( "css(--customProperty)", function( assert ) {
17491750
$elem = jQuery( "<div>" ).addClass( "test__customProperties" )
17501751
.appendTo( "#qunit-fixture" ),
17511752
webkitOrBlink = /\bsafari\b/i.test( navigator.userAgent ),
1752-
expected = 10;
1753+
expected = 11;
17531754

17541755
if ( webkitOrBlink ) {
17551756
expected -= 2;
@@ -1777,15 +1778,16 @@ QUnit.testUnlessIE( "css(--customProperty)", function( assert ) {
17771778

17781779
assert.equal( $elem.css( "--prop1" ), "val1", "Basic CSS custom property" );
17791780

1780-
assert.equal( $elem.css( "--prop2" ), " val2", "Preceding whitespace maintained" );
1781-
assert.equal( $elem.css( "--prop3" ), "val3 ", "Following whitespace maintained" );
1781+
assert.equal( $elem.css( "--prop2" ), "val2", "Preceding whitespace trimmed" );
1782+
assert.equal( $elem.css( "--prop3" ), "val3", "Following whitespace trimmed" );
1783+
assert.equal( $elem.css( "--prop4" ), "val4", "Preceding and Following whitespace trimmed" );
17821784

17831785
// Support: Chrome <=49 - 73+, Safari <=9.1 - 12.1+
17841786
// Chrome treats single quotes as double ones.
17851787
// Safari treats double quotes as single ones.
17861788
if ( !webkitOrBlink ) {
1787-
assert.equal( $elem.css( "--prop4" ), "\"val4\"", "Works with double quotes" );
1788-
assert.equal( $elem.css( "--prop5" ), "'val5'", "Works with single quotes" );
1789+
assert.equal( $elem.css( "--prop5" ), "\"val5\"", "Works with double quotes" );
1790+
assert.equal( $elem.css( "--prop6" ), "'val6'", "Works with single quotes" );
17891791
}
17901792
} );
17911793

0 commit comments

Comments
 (0)