Modified: branches/safari-601-branch/LayoutTests/css3/font-feature-settings-parsing.html (195746 => 195747)
--- branches/safari-601-branch/LayoutTests/css3/font-feature-settings-parsing.html 2016-01-28 17:44:05 UTC (rev 195746)
+++ branches/safari-601-branch/LayoutTests/css3/font-feature-settings-parsing.html 2016-01-28 17:46:36 UTC (rev 195747)
@@ -168,23 +168,32 @@
<script>
description('Test parsing of the CSS3 font-feature-settings property.');
+function canonicalize(fontFeatureSettingsString) {
+ var pieces = fontFeatureSettingsString.split(", ");
+ var lowered = pieces.map(function(piece) {
+ return piece.toLowerCase();
+ });
+ var sorted = lowered.sort();
+ return sorted.join(", ");
+}
+
function parseResultOf(id) {
var element = document.getElementById(id);
return window.getComputedStyle(element)['font-feature-settings'];
}
debug('- Tests valid inputs.');
-shouldBeEqualToString('parseResultOf("valid_normal")', "normal");
-shouldBeEqualToString('parseResultOf("valid_value_1")', "'dlig' 1");
-shouldBeEqualToString('parseResultOf("valid_value_2")', "'swsh' 2");
-shouldBeEqualToString('parseResultOf("valid_value_on")', "'smcp' 1");
-shouldBeEqualToString('parseResultOf("valid_value_off")', "'liga' 0");
-shouldBeEqualToString('parseResultOf("valid_value_omit")', "'c2sc' 1");
-shouldBeEqualToString('parseResultOf("valid_valuelist")', "'tnum' 1, 'hist' 1");
-shouldBeEqualToString('parseResultOf("valid_singlequote")', "'PKRN' 1");
-shouldBeEqualToString('parseResultOf("valid_unusual_tag")', "'!@#$' 1");
-shouldBeEqualToString('parseResultOf("valid_tag_space")', "'a bc' 1");
-shouldBeEqualToString('parseResultOf("valid_composite")', "'dlig' 1, 'smcp' 1, 'lig ' 0");
+shouldBeEqualToString('canonicalize(parseResultOf("valid_normal"))', canonicalize("normal"));
+shouldBeEqualToString('canonicalize(parseResultOf("valid_value_1"))', canonicalize("'dlig' 1"));
+shouldBeEqualToString('canonicalize(parseResultOf("valid_value_2"))', canonicalize("'swsh' 2"));
+shouldBeEqualToString('canonicalize(parseResultOf("valid_value_on"))', canonicalize("'smcp' 1"));
+shouldBeEqualToString('canonicalize(parseResultOf("valid_value_off"))', canonicalize("'liga' 0"));
+shouldBeEqualToString('canonicalize(parseResultOf("valid_value_omit"))', canonicalize("'c2sc' 1"));
+shouldBeEqualToString('canonicalize(parseResultOf("valid_valuelist"))', canonicalize("'tnum' 1, 'hist' 1"));
+shouldBeEqualToString('canonicalize(parseResultOf("valid_singlequote"))', canonicalize("'PKRN' 1"));
+shouldBeEqualToString('canonicalize(parseResultOf("valid_unusual_tag"))', canonicalize("'!@#$' 1"));
+shouldBeEqualToString('canonicalize(parseResultOf("valid_tag_space"))', canonicalize("'a bc' 1"));
+shouldBeEqualToString('canonicalize(parseResultOf("valid_composite"))', canonicalize("'dlig' 1, 'smcp' 1, 'lig ' 0"));
debug('- Tests invalid inputs. Results should be "normal".');
shouldBe('parseResultOf("invalid_ident")', '"normal"');
@@ -206,13 +215,13 @@
shouldBe('parseResultOf("invalid_0")', '"normal"');
debug('- Tests inherit.');
-shouldBeEqualToString('parseResultOf("outer")', "'dlig' 1");
-shouldBeEqualToString('parseResultOf("inner")', "'dlig' 1");
+shouldBeEqualToString('canonicalize(parseResultOf("outer"))', canonicalize("'dlig' 1"));
+shouldBeEqualToString('canonicalize(parseResultOf("inner"))', canonicalize("'dlig' 1"));
debug('- Tests @font-face.');
var fontFaceRuleValid = document.styleSheets[1].cssRules[0].style['font-feature-settings'];
var fontFaceRuleInvalid = document.styleSheets[1].cssRules[1].style['font-feature-settings'];
-shouldBeEqualToString('fontFaceRuleValid', "'liga' 1");
+shouldBeEqualToString('canonicalize(fontFaceRuleValid)', canonicalize("'liga' 1"));
shouldBeEqualToString('fontFaceRuleInvalid', "");
</script>