| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>CSSOM: getComputedStyle property order</title> |
| <link rel="help" href="https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle"> |
| <link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com"> |
| <meta name="assert" content="This test checks that in a computed style, properties are sorted in lexicographical order." /> |
| <script src=/resources/testharness.js></script> |
| <script src=/resources/testharnessreport.js></script> |
| <script> |
| test(function() { |
| const properties = [...getComputedStyle(document.documentElement)]; |
| const sorted = properties.slice().sort(function(a,b) { |
| if (a === b) { |
| assert_unreached("There shouldn't be repeated properties"); |
| return 0; |
| } |
| // Sort vendor-prefixed properties after standard ones |
| if (a.startsWith("-") != b.startsWith("-")) { |
| return b.startsWith("-") ? -1 : 1; |
| } |
| // Sort with lexicographical order |
| return a < b ? -1 : 1; |
| }); |
| assert_array_equals(properties, sorted); |
| }, "Computed style properties should be sorted lexicographically"); |
| </script> |