| Index: LayoutTests/fast/dom/script-tests/unsigned-long-attribute-reflection.js
|
| diff --git a/LayoutTests/fast/dom/script-tests/unsigned-long-attribute-reflection.js b/LayoutTests/fast/dom/script-tests/unsigned-long-attribute-reflection.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..45a35159b1f57aaa43ade3eede78db6591b86ef0
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/dom/script-tests/unsigned-long-attribute-reflection.js
|
| @@ -0,0 +1,49 @@
|
| +// http://whatwg.org/html#reflecting-content-attributes-in-idl-attributes
|
| +// http://whatwg.org/html#rules-for-parsing-non-negative-integers
|
| +function testUnsignedLong(interface, createElement, attribute)
|
| +{
|
| + test(function()
|
| + {
|
| + var element = createElement();
|
| +
|
| + assert_equals(element[attribute], 0);
|
| +
|
| + function t(input, output)
|
| + {
|
| + element.setAttribute(attribute, input);
|
| + assert_equals(element[attribute], output);
|
| + }
|
| +
|
| + t("", 0);
|
| + t("0", 0);
|
| + t("1", 1);
|
| + t("2147483647", 2147483647);
|
| + t("2147483648", 0);
|
| + t("-1", 0);
|
| + t("+42", 42);
|
| + t(" 42", 42);
|
| + t("42!", 42);
|
| + }, "get " + interface + "." + attribute);
|
| +
|
| + test(function()
|
| + {
|
| + var element = createElement();
|
| +
|
| + assert_false(element.hasAttribute(attribute));
|
| +
|
| + function t(input, output)
|
| + {
|
| + element[attribute] = input;
|
| + assert_equals(element.getAttribute(attribute), output);
|
| + }
|
| +
|
| + t(0, "0");
|
| + t(2147483647, "2147483647");
|
| + // per spec:
|
| + //t(2147483648, "0");
|
| + //t(-1, "0");
|
| + // per implementation <http://crbug.com/316122>:
|
| + t(2147483648, "2147483648");
|
| + t(-1, "4294967295");
|
| + }, "set " + interface + "." + attribute);
|
| +}
|
|
|