| Index: LayoutTests/imported/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol.html
|
| diff --git a/LayoutTests/imported/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol.html b/LayoutTests/imported/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..27dc8fe451dd386fce2f6ebd9ce27c9223126723
|
| --- /dev/null
|
| +++ b/LayoutTests/imported/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol.html
|
| @@ -0,0 +1,314 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| +<head>
|
| + <meta charset="utf-8">
|
| + <title>the ol element</title>
|
| + <link rel="author" title="dzenana" href="mailto:dzenana.trenutak@gmail.com">
|
| + <link rel="help" href="https://html.spec.whatwg.org/multipage/#the-ol-element">
|
| + <script src="../../../../../../resources/testharness.js"></script>
|
| + <script src="../../../../../../resources/testharnessreport.js"></script>
|
| +</head>
|
| +<body>
|
| + <h1>Description</h1>
|
| + <p>This test validates the ol element.</p>
|
| +
|
| + <div id="log"></div>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="basic">
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="allAtts" reversed start="3" type="A">
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="justRev" reversed>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="basicRevGoodName" reversed="reversed">
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="basicRevNameWithSpace" reversed=" reversed ">
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="basicRevEmpty" reversed="" start="A">
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="basicRevTrue" reversed="true">
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="basicRevFalse" reversed="false">
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="start2" start="2">
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="negative" start="-10">
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="posFloatDown" start="4.03">
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="negFloatDown" start="-4.03">
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="posFloatUp" start="4.9">
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="negFloatUp" start="-4.9">
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="exponent" start="7e2">
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="decimal" start=".5">
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="letter" start="A">
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="middle50">
|
| + <li>list item</li>
|
| + <li value="50">list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="middleneg50">
|
| + <li>list item</li>
|
| + <li value="-50">list item</li>
|
| + <li>list item</li>
|
| + </ol>
|
| +
|
| + <p>Ordered List</p>
|
| + <ol id="lots" reversed="reversed">
|
| + <li value="10">list item</li>
|
| + <li value="20">list item</li>
|
| +<a></a><abbr></abbr><address></address><area></area><article></article><aside></aside><audio></audio><b></b><base></base><bdi></bdi><bdo></bdo><blockquote></blockquote><body></body><br></br><button></button><canvas></canvas><caption></caption><cite></cite><code></code><col></col><colgroup></colgroup><command></command><datalist></datalist><dd></dd><del></del><details></details><dfn></dfn><dialog></dialog><div></div><dl></dl><dt></dt><em></em><embed></embed><fieldset></fieldset><figcaption></figcaption><figure></figure><footer></footer><form></form><h1></h1><h2></h2><h3></h3><h4></h4><h5></h5><h6></h6><head></head><header></header><hgroup></hgroup><hr></hr><html></html><i></i><iframe></iframe><img></img><input></input><ins></ins><kbd></kbd><keygen></keygen><label></label><legend></legend><link></link><map></map><mark></mark><menu></menu><meta></meta><meter></meter><nav></nav><noscript></noscript><object></object><ol><li></li><li></li></ol><optgroup></optgroup><option></option><output></output><p></p><param></param><pre></pre><progress></progress><q></q><rp></rp><rt></rt><ruby></ruby><s></s><samp></samp><script></script><section></section><select></select><small></small><source></source><span></span><strong></strong><style></style><sub></sub><summary></summary><sup></sup><table></table><tbody></tbody><td></td><textarea></textarea><tfoot></tfoot><th></th><thead></thead><time></time><title></title><tr></tr><track></track><u></u><ul><li></li><li></li></ul><var></var><video></video><wbr></wbr>
|
| + <li value="-99">list item</li>
|
| + </ol>
|
| +
|
| + <script>
|
| + "use strict";
|
| +
|
| + var testList;
|
| +
|
| + // check that prototype matches spec's DOM interface
|
| + test(function () {
|
| + testList = document.getElementById("basic");
|
| + assert_equals(Object.getPrototypeOf(testList), HTMLOListElement.prototype, "HTMLOListElement.prototype should be used for OL");
|
| + }, "The prototype for OL is HTMLOListElement.prototype");
|
| +
|
| + // check that "own" properties reversed, start, and type are present
|
| + test(function () {
|
| + testList = document.getElementById("basic");
|
| + assert_own_property(testList, "reversed");
|
| + }, "'reversed' property should be defined on OL.");
|
| +
|
| + test(function () {
|
| + testList = document.getElementById("basic");
|
| + assert_own_property(testList, "start");
|
| + }, "'start' property should be defined on OL.");
|
| +
|
| + test(function () {
|
| + testList = document.getElementById("basic");
|
| + assert_own_property(testList, "type");
|
| + }, "'type' property should be defined on OL.");
|
| +
|
| + // "The reversed, start, and type IDL attributes must reflect the respective content attributes of the same name."
|
| + test(function () {
|
| + testList = document.getElementById("allAtts");
|
| + assert_true(testList.reversed);
|
| + }, "OL's 'reversed' IDL property reflects content attribute.");
|
| +
|
| + test(function () {
|
| + testList = document.getElementById("allAtts");
|
| + assert_equals(testList.start, 3);
|
| + }, "OL's 'start' IDL property reflects content attribute.");
|
| +
|
| + test(function () {
|
| + testList = document.getElementById("allAtts");
|
| + assert_equals(testList.type, "A");
|
| + }, "OL's 'type' IDL property reflects content attribute.");
|
| +
|
| +
|
| + // "The reversed attribute is a boolean attribute."
|
| +
|
| + // check lists for which reversed value should be false
|
| + test(function() {
|
| + assert_false(document.getElementById("basic").reversed, "IDL 'reversed' attribute value false when content attribute absent");
|
| + }, "IDL 'reversed' attribute value false when content attribute absent");
|
| +
|
| + // check lists for which reversed value should be true
|
| + test(function() {
|
| + assert_true(document.getElementById("justRev").reversed);
|
| + assert_true(document.getElementById("basicRevGoodName").reversed);
|
| + assert_true(document.getElementById("basicRevNameWithSpace").reversed);
|
| + assert_true(document.getElementById("basicRevEmpty").reversed);
|
| + assert_true(document.getElementById("basicRevTrue").reversed);
|
| + assert_true(document.getElementById("basicRevFalse").reversed);
|
| + }, "IDL 'reversed' attribute value true when content attribute exists");
|
| +
|
| + // check that IDL property works to change reversed value
|
| + test(function() {
|
| + document.getElementById("justRev").reversed = false;
|
| + assert_false(document.getElementById("justRev").reversed, "Changing IDL 'reversed' property changes list's reversed property.");
|
| + }, "Changing IDL 'reversed' property changes list's reversed property.");
|
| +
|
| +
|
| + // If the start attribute is present, user agents must parse it as an integer, in order to determine the attribute's value.
|
| + // The default value, used if the attribute is missing or
|
| + // if the value cannot be converted to a number according to the referenced algorithm,
|
| + // is 1 if the element has no reversed attribute, and
|
| + // is the number of child li elements otherwise."
|
| + // "The start IDL attribute has the same default as its content attribute."
|
| +
|
| + // basic - default should be 1
|
| + test(function() {
|
| + assert_equals(document.getElementById("basic").start, 1, "no start attribute provided -> 1");
|
| + }, "Default start value for non-reversed list should be 1");
|
| +
|
| + // decimal's first element has value of .5 which should return 1
|
| + test(function() {
|
| + assert_equals(document.getElementById("decimal").start, 1, "start of .5 -> 1 (default)");
|
| + }, "IDL and content attribute parse start of '.5' correctly.");
|
| +
|
| + // letter's first element has value of A which should return 1
|
| + test(function() {
|
| + assert_equals(document.getElementById("letter").start, 1, "start of A -> 1 (default)");
|
| + }, "IDL and content attribute parse start of 'A' correctly.");
|
| +
|
| + // basicRevGoodName - default should be 3
|
| + test(function() {
|
| + assert_equals(document.getElementById("basicRevGoodName").start, 3, "no start attribute provided -> 3");
|
| + }, "Default start value (if none provided) for reversed list = child li elements.");
|
| +
|
| + // basicRevEmpty - default should be 3
|
| + test(function() {
|
| + assert_equals(document.getElementById("basicRevEmpty").start, 3, "start of A -> 3 (default)");
|
| + }, "Default start value (if failed to parse) for reversed list = child li elements.");
|
| +
|
| + // lots - default should be 3
|
| + test(function() {
|
| + assert_equals(document.getElementById("lots").start, 3, "no start attribute -> 3 (default)");
|
| + }, "Default start value for reversed list = child li elements (even with tons of other child elements).");
|
| +
|
| + // adding child element changes default start value for reversed list
|
| + test(function() {
|
| + var myList = document.getElementById("basicRevGoodName"), myLI = document.createElement("li");
|
| + myList.appendChild(myLI);
|
| + assert_equals(document.getElementById("basicRevGoodName").start, 4, "Adding child element to reversed list adds 1 to start value");
|
| + }, "Adding child element to reversed list adds 1 to start value");
|
| +
|
| + // removing child element changes default start value for reversed list
|
| + test(function() {
|
| + var myList = document.getElementById("basicRevTrue");
|
| + myList.removeChild(myList.children[0]);
|
| + assert_equals(document.getElementById("basicRevTrue").start, 2, "Deleting child element from reversed list reduces start value by 1");
|
| + }, "Deleting child element from reversed list reduces start value by 1");
|
| +
|
| + // start2's first element has value of 2
|
| + test(function() {
|
| + assert_equals(document.getElementById("start2").start, 2, "start of 2 -> 2");
|
| + }, "IDL and content attribute parse start of '2' correctly.");
|
| +
|
| + // negative's first element has value of -10
|
| + test(function() {
|
| + assert_equals(document.getElementById("negative").start, -10, "start of -10 -> -10");
|
| + }, "IDL and content attribute parse start of '-10' correctly.");
|
| +
|
| + // posFloatDown's first element has value of 4.03 which should return 4
|
| + test(function() {
|
| + assert_equals(document.getElementById("posFloatDown").start, 4, "start of 4.03 -> 4");
|
| + }, "IDL and content attribute parse start of '4.03' correctly.");
|
| +
|
| + // negFloatDown's first element has value of -4.03 which should return -4
|
| + test(function() {
|
| + assert_equals(document.getElementById("negFloatDown").start, -4, "start of -4.03 -> -4");
|
| + }, "IDL and content attribute parse start of '-4.03' correctly.");
|
| +
|
| + // posFloatUp's first element has value of 4.9 which should return 4
|
| + test(function() {
|
| + assert_equals(document.getElementById("posFloatUp").start, 4, "start of 4.9 -> 4");
|
| + }, "IDL and content attribute parse start of '4.9' correctly.");
|
| +
|
| + // negFloatUp's first element has value of -4.9 which should return -4
|
| + test(function() {
|
| + assert_equals(document.getElementById("negFloatUp").start, -4, "start of -4.9 -> -4");
|
| + }, "IDL and content attribute parse start of '-4.9' correctly.");
|
| +
|
| + // exponent's first element has value of 7e2 which should return 7
|
| + test(function() {
|
| + assert_equals(document.getElementById("exponent").start, 7, "start of 7e2 -> 7");
|
| + }, "IDL and content attribute parse start of '7e2' correctly.");
|
| +
|
| + </script>
|
| +</body>
|
| +</html>
|
|
|