Import css/css-syntax WPT tests
[WebKit-https.git] / LayoutTests / imported / w3c / web-platform-tests / css / css-syntax / decimal-points-in-numbers.html
1 <!doctype html>
2 <title>decimal points in numbers</title>
3 <script src="/resources/testharness.js"></script>
4 <script src="/resources/testharnessreport.js"></script>
5
6 <meta name=author title="Tab Atkins-Bittner">
7 <link rel=help href="https://drafts.csswg.org/css-syntax/#consume-number">
8
9 <style>
10
11 .foo {}
12
13 </style>
14 <script>
15
16 function roundTripNumber(input) {
17     const rule = document.styleSheets[0].cssRules[0].style;
18     const fallback = "0";
19     rule.setProperty("line-height", fallback);
20     rule.setProperty("line-height", input);
21     const value = rule.getPropertyValue("line-height");
22     if(value == fallback) return false;
23     return value;
24 }
25
26 test(()=>{
27     assert_equals(roundTripNumber("1.0"), "1");
28 }, "decimal point between digits is valid in a number");
29 test(()=>{
30     assert_equals(roundTripNumber(".1"), "0.1");
31 }, "decimal point before digits is valid in a number");
32 test(()=>{
33     assert_not_equals(roundTripNumber("1."), "1");
34 }, "decimal point after digits is invalid in a number");
35
36 function roundTripDimension(input) {
37     const rule = document.styleSheets[0].cssRules[0].style;
38     const fallback = "0px";
39     rule.setProperty("width", fallback);
40     rule.setProperty("width", input);
41     const value = rule.getPropertyValue("width");
42     if(value == fallback) return false;
43     return value;
44 }
45
46 test(()=>{
47     assert_equals(roundTripDimension("1.0px"), "1px");
48 }, "decimal point between digits is valid in a dimension");
49 test(()=>{
50     assert_equals(roundTripDimension(".1px"), "0.1px");
51 }, "decimal point before digits is valid in a dimension");
52 test(()=>{
53     assert_not_equals(roundTripDimension("1.px"), "1px");
54 }, "decimal point after digits is invalid in a dimension");
55
56 </script>