Add DateTime string attribute to Time

Also handle datetime content attribute when attribute is absent.

Rephrase terms used in the test: dateTime IDL property, datetime
attribute and datetime content attribute.

Remove failure expectations for time element.
This commit is contained in:
In-Ho Yi 2016-11-24 11:42:56 -08:00
parent 99c4821485
commit 25f0317a82
6 changed files with 33 additions and 247 deletions

View file

@ -1533,12 +1533,6 @@
[HTMLAnchorElement interface: document.createElement("a") must inherit property "charset" with the proper type (9)]
expected: FAIL
[HTMLTimeElement interface: attribute dateTime]
expected: FAIL
[HTMLTimeElement interface: document.createElement("time") must inherit property "dateTime" with the proper type (0)]
expected: FAIL
[HTMLBRElement interface: attribute clear]
expected: FAIL

View file

@ -8550,135 +8550,6 @@
[time.tabIndex: IDL set to -2147483648 followed by getAttribute()]
expected: FAIL
[time.dateTime: typeof IDL attribute]
expected: FAIL
[time.dateTime: IDL get with DOM attribute unset]
expected: FAIL
[time.dateTime: setAttribute() to "" followed by IDL get]
expected: FAIL
[time.dateTime: setAttribute() to " \\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07 \\b\\t\\n\\v\\f\\r\\x0e\\x0f \\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17 \\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f foo " followed by IDL get]
expected: FAIL
[time.dateTime: setAttribute() to undefined followed by IDL get]
expected: FAIL
[time.dateTime: setAttribute() to 7 followed by IDL get]
expected: FAIL
[time.dateTime: setAttribute() to 1.5 followed by IDL get]
expected: FAIL
[time.dateTime: setAttribute() to true followed by IDL get]
expected: FAIL
[time.dateTime: setAttribute() to false followed by IDL get]
expected: FAIL
[time.dateTime: setAttribute() to object "[object Object\]" followed by IDL get]
expected: FAIL
[time.dateTime: setAttribute() to NaN followed by IDL get]
expected: FAIL
[time.dateTime: setAttribute() to Infinity followed by IDL get]
expected: FAIL
[time.dateTime: setAttribute() to -Infinity followed by IDL get]
expected: FAIL
[time.dateTime: setAttribute() to "\\0" followed by IDL get]
expected: FAIL
[time.dateTime: setAttribute() to null followed by IDL get]
expected: FAIL
[time.dateTime: setAttribute() to object "test-toString" followed by IDL get]
expected: FAIL
[time.dateTime: setAttribute() to object "test-valueOf" followed by IDL get]
expected: FAIL
[time.dateTime: IDL set to "" followed by getAttribute()]
expected: FAIL
[time.dateTime: IDL set to " \\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07 \\b\\t\\n\\v\\f\\r\\x0e\\x0f \\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17 \\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f foo " followed by getAttribute()]
expected: FAIL
[time.dateTime: IDL set to undefined followed by getAttribute()]
expected: FAIL
[time.dateTime: IDL set to undefined followed by IDL get]
expected: FAIL
[time.dateTime: IDL set to 7 followed by getAttribute()]
expected: FAIL
[time.dateTime: IDL set to 7 followed by IDL get]
expected: FAIL
[time.dateTime: IDL set to 1.5 followed by getAttribute()]
expected: FAIL
[time.dateTime: IDL set to 1.5 followed by IDL get]
expected: FAIL
[time.dateTime: IDL set to true followed by getAttribute()]
expected: FAIL
[time.dateTime: IDL set to true followed by IDL get]
expected: FAIL
[time.dateTime: IDL set to false followed by getAttribute()]
expected: FAIL
[time.dateTime: IDL set to false followed by IDL get]
expected: FAIL
[time.dateTime: IDL set to object "[object Object\]" followed by getAttribute()]
expected: FAIL
[time.dateTime: IDL set to object "[object Object\]" followed by IDL get]
expected: FAIL
[time.dateTime: IDL set to NaN followed by getAttribute()]
expected: FAIL
[time.dateTime: IDL set to NaN followed by IDL get]
expected: FAIL
[time.dateTime: IDL set to Infinity followed by getAttribute()]
expected: FAIL
[time.dateTime: IDL set to Infinity followed by IDL get]
expected: FAIL
[time.dateTime: IDL set to -Infinity followed by getAttribute()]
expected: FAIL
[time.dateTime: IDL set to -Infinity followed by IDL get]
expected: FAIL
[time.dateTime: IDL set to "\\0" followed by getAttribute()]
expected: FAIL
[time.dateTime: IDL set to null followed by getAttribute()]
expected: FAIL
[time.dateTime: IDL set to null followed by IDL get]
expected: FAIL
[time.dateTime: IDL set to object "test-toString" followed by getAttribute()]
expected: FAIL
[time.dateTime: IDL set to object "test-toString" followed by IDL get]
expected: FAIL
[time.dateTime: IDL set to object "test-valueOf" followed by IDL get]
expected: FAIL
[time.itemScope: typeof IDL attribute]
expected: FAIL
@ -28788,96 +28659,6 @@
[time.tabIndex: IDL set to -2147483648]
expected: FAIL
[time.dateTime: setAttribute() to ""]
expected: FAIL
[time.dateTime: setAttribute() to " \\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07 \\b\\t\\n\\v\\f\\r\\x0e\\x0f \\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17 \\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f foo "]
expected: FAIL
[time.dateTime: setAttribute() to undefined]
expected: FAIL
[time.dateTime: setAttribute() to 7]
expected: FAIL
[time.dateTime: setAttribute() to 1.5]
expected: FAIL
[time.dateTime: setAttribute() to true]
expected: FAIL
[time.dateTime: setAttribute() to false]
expected: FAIL
[time.dateTime: setAttribute() to object "[object Object\]"]
expected: FAIL
[time.dateTime: setAttribute() to NaN]
expected: FAIL
[time.dateTime: setAttribute() to Infinity]
expected: FAIL
[time.dateTime: setAttribute() to -Infinity]
expected: FAIL
[time.dateTime: setAttribute() to "\\0"]
expected: FAIL
[time.dateTime: setAttribute() to null]
expected: FAIL
[time.dateTime: setAttribute() to object "test-toString"]
expected: FAIL
[time.dateTime: setAttribute() to object "test-valueOf"]
expected: FAIL
[time.dateTime: IDL set to ""]
expected: FAIL
[time.dateTime: IDL set to " \\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07 \\b\\t\\n\\v\\f\\r\\x0e\\x0f \\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17 \\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f foo "]
expected: FAIL
[time.dateTime: IDL set to undefined]
expected: FAIL
[time.dateTime: IDL set to 7]
expected: FAIL
[time.dateTime: IDL set to 1.5]
expected: FAIL
[time.dateTime: IDL set to true]
expected: FAIL
[time.dateTime: IDL set to false]
expected: FAIL
[time.dateTime: IDL set to object "[object Object\]"]
expected: FAIL
[time.dateTime: IDL set to NaN]
expected: FAIL
[time.dateTime: IDL set to Infinity]
expected: FAIL
[time.dateTime: IDL set to -Infinity]
expected: FAIL
[time.dateTime: IDL set to "\\0"]
expected: FAIL
[time.dateTime: IDL set to null]
expected: FAIL
[time.dateTime: IDL set to object "test-toString"]
expected: FAIL
[time.dateTime: IDL set to object "test-valueOf"]
expected: FAIL
[code.dir: setAttribute() to ""]
expected: FAIL

View file

@ -1,14 +0,0 @@
[001.html]
type: testharness
[the datetime attribute should be reflected by the .dateTime property]
expected: FAIL
[the dateTime IDL property should default to an empty string]
expected: FAIL
[the datetime attribute should be reflected by the .dateTime property even if it is invalid]
expected: FAIL
[the datetime attribute should not reflect the textContent]
expected: FAIL

View file

@ -47,21 +47,23 @@ test(function () {
//dateTime
test(function () {
assert_equals( makeTime('2000-02-01T03:04:05Z','2001-02-01T03:04:05Z').dateTime, '2000-02-01T03:04:05Z' );
}, 'the datetime attribute should be reflected by the .dateTime property');
}, 'the datetime attribute should be reflected by the dateTime IDL property');
test(function () {
assert_equals( typeof makeTime().dateTime, 'string', 'typeof test' );
assert_equals( makeTime().dateTime, '', 'value test' );
}, 'the dateTime IDL property should default to an empty string');
test(function () {
assert_equals( makeTime(false,false,'2000-02-01T03:04:05Z').dateTime, '2000-02-01T03:04:05Z' );
}, 'the dateTime property should be read/write');
}, 'the dateTime IDL property should be read/write');
test(function () {
assert_equals( makeTime('go fish').dateTime, 'go fish' );
}, 'the datetime attribute should be reflected by the .dateTime property even if it is invalid');
test(function () {
assert_equals( makeTime(false,'2000-02-01T03:04:05Z').dateTime, '' );
}, 'the datetime attribute should not reflect the textContent');
assert_equals( makeTime(false,'2000-02-01T03:04:05Z', '2000-02-01').dateTime, '2000-02-01' );
}, 'the datetime content attribute should not reflect the textContent when datetime attribute is present.');
test(function () {
assert_equals( makeTime(false,'2000-02-01T03:04:05Z').dateTime, '2000-02-01T03:04:05Z' );
}, 'the datetime content attribute should reflect the textContent when datetime attribute is absent.');
</script>
</body>