@@ -1745,28 +1745,27 @@ QUnit.test( "Do not throw on frame elements from css method (#15098)", function(
17451745 " .test__customProperties {\n" +
17461746 " --prop1:val1;\n" +
17471747 " --prop2: val2;\n" +
1748- " --prop3:val3 ;\n" +
1749- " --prop4:\"val4\";\n" +
1750- " --prop5:'val5';\n" +
1748+ " --prop3: val3;\n" +
1749+ " --prop4:val4 ;\n" +
1750+ " --prop5:val5 ;\n" +
1751+ " --prop6: val6 ;\n" +
1752+ " --prop7: val7 ;\n" +
1753+ " --prop8:\"val8\";\n" +
1754+ " --prop9:'val9';\n" +
1755+ " --prop10:\f\r\n\t val10 \f\r\n\t;\n" +
1756+ " --prop11:\u000C\u000D\u000A\u0009\u0020val11\u0020\u0009\u000A\u000D\u000C;\n" +
1757+ " --prop12:\u000Bval12\u000B;\n" +
17511758 " }\n" +
17521759 "</style>"
17531760 ) ;
17541761
17551762 var div = jQuery ( "<div>" ) . appendTo ( "#qunit-fixture" ) ,
17561763 $elem = jQuery ( "<div>" ) . addClass ( "test__customProperties" )
17571764 . appendTo ( "#qunit-fixture" ) ,
1758- webkit = / \b s a f a r i \b / i. test ( navigator . userAgent ) &&
1759- ! / \f i r e f o x \b / i. test ( navigator . userAgent ) &&
1760- ! / \e d g e \b / i. test ( navigator . userAgent ) ,
1761- oldSafari = webkit && ( / \b 9 \. \d ( \. \d + ) * s a f a r i / i. test ( navigator . userAgent ) ||
1762- / \b 1 0 \. 0 ( \. \d + ) * s a f a r i / i. test ( navigator . userAgent ) ||
1763- / i p h o n e o s (?: 9 | 1 0 ) _ / i. test ( navigator . userAgent ) ) ,
1764- expected = 10 ;
1765-
1766- if ( webkit ) {
1767- expected -= 2 ;
1768- }
1769- if ( oldSafari ) {
1765+ webkitOrBlink = / \b s a f a r i \b / i. test ( navigator . userAgent ) ,
1766+ expected = 17 ;
1767+
1768+ if ( webkitOrBlink ) {
17701769 expected -= 2 ;
17711770 }
17721771 assert . expect ( expected ) ;
@@ -1792,20 +1791,24 @@ QUnit.test( "Do not throw on frame elements from css method (#15098)", function(
17921791
17931792 assert . equal ( $elem . css ( "--prop1" ) , "val1" , "Basic CSS custom property" ) ;
17941793
1795- // Support: Safari 9.1-10.0 only
1796- // Safari collapses whitespaces & quotes. Ignore it.
1797- if ( ! oldSafari ) {
1798- assert . equal ( $elem . css ( "--prop2 " ) , " val2 " , "Preceding whitespace maintained " ) ;
1799- assert . equal ( $elem . css ( "--prop3 " ) , "val3 " , "Following whitespace maintained " ) ;
1800- }
1794+ assert . equal ( $elem . css ( "--prop2" ) , "val2" , "Preceding whitespace trimmed" ) ;
1795+ assert . equal ( $elem . css ( "--prop3" ) , "val3" , "Multiple preceding whitespace trimmed" ) ;
1796+ assert . equal ( $elem . css ( "--prop4" ) , "val4" , "Following whitespace trimmed" ) ;
1797+ assert . equal ( $elem . css ( "--prop5 " ) , "val5 " , "Multiple Following whitespace trimmed " ) ;
1798+ assert . equal ( $elem . css ( "--prop6 " ) , "val6 " , "Preceding and Following whitespace trimmed " ) ;
1799+ assert . equal ( $elem . css ( "--prop7" ) , "val7" , "Multiple preceding and following whitespace trimmed" ) ;
18011800
1802- // Support: Chrome 49-55 , Safari 9.1-10.0
1801+ // Support: Chrome <=49 - 73+ , Safari <= 9.1 - 12.1+
18031802 // Chrome treats single quotes as double ones.
18041803 // Safari treats double quotes as single ones.
1805- if ( ! webkit ) {
1806- assert . equal ( $elem . css ( "--prop4 " ) , "\"val4 \"" , "Works with double quotes" ) ;
1807- assert . equal ( $elem . css ( "--prop5 " ) , "'val5 '" , "Works with single quotes" ) ;
1804+ if ( ! webkitOrBlink ) {
1805+ assert . equal ( $elem . css ( "--prop8 " ) , "\"val8 \"" , "Works with double quotes" ) ;
1806+ assert . equal ( $elem . css ( "--prop9 " ) , "'val9 '" , "Works with single quotes" ) ;
18081807 }
1808+
1809+ assert . equal ( $elem . css ( "--prop10" ) , "val10" , "Multiple preceding and following escaped unicode whitespace trimmed" ) ;
1810+ assert . equal ( $elem . css ( "--prop11" ) , "val11" , "Multiple preceding and following unicode whitespace trimmed" ) ;
1811+ assert . equal ( $elem . css ( "--prop12" ) , "\u000Bval12\u000B" , "Multiple preceding and following non-CSS whitespace reserved" ) ;
18091812 } ) ;
18101813
18111814 QUnit [ supportsCssVars ? "test" : "skip" ] ( "Don't append px to CSS vars" , function ( assert ) {
0 commit comments