Index: LayoutTests/imported/web-platform-tests/html/semantics/text-level-semantics/the-time-element/001.html |
diff --git a/LayoutTests/imported/web-platform-tests/html/semantics/text-level-semantics/the-time-element/001.html b/LayoutTests/imported/web-platform-tests/html/semantics/text-level-semantics/the-time-element/001.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3518ebb51d62d534e263c5eacaf2c409d849cdd2 |
--- /dev/null |
+++ b/LayoutTests/imported/web-platform-tests/html/semantics/text-level-semantics/the-time-element/001.html |
@@ -0,0 +1,68 @@ |
+<!doctype html> |
+<html> |
+ <head> |
+ <meta charset=utf-8> |
+ <title>HTML time element API</title> |
+ <style> |
+#time { visibility: hidden; } |
+ </style> |
+ <link rel="help" href="https://html.spec.whatwg.org/multipage/#the-time-element"> |
+ <script src="../../../../../../resources/testharness.js"></script> |
+ <script src="../../../../../../resources/testharnessreport.js"></script> |
+ </head> |
+ <body> |
+ <div id="log"></div> |
+ <!-- intentionally nested to test parsing rules --> |
+ <p id="time"><time pubdate datetime="2000-02-01T03:04:05Z">Dummy text <time>2001-06-07T<time>08:09<time></time></time>Z</time></time></p> |
+ <script type="text/javascript"> |
+function makeTime(dateTime,contents,dateTimeProp) { |
+ var timeEl = document.createElement('time'); |
+ if( dateTime ) { |
+ timeEl.setAttribute('datetime',dateTime); |
+ } |
+ if( contents ) { |
+ timeEl.innerHTML = contents; |
+ } |
+ if( dateTimeProp ) { |
+ timeEl.dateTime = dateTimeProp; |
+ } |
+ return timeEl; |
+} |
+ |
+var timep = document.getElementById('time'); |
+var times = timep.getElementsByTagName('time'); |
+ |
+//TIME elements |
+test(function () { |
+ assert_equals( times.length, 4 ); |
+}, 'HTML parsing should locate 4 time elements in this document'); |
+test(function () { |
+ assert_true( !!window.HTMLTimeElement ); |
+}, 'HTMLTimeElement should be exposed for prototyping'); |
+test(function () { |
+ assert_true( makeTime() instanceof window.HTMLTimeElement, 'createElement variant' ); |
+ assert_true( times[0] instanceof window.HTMLTimeElement, 'HTML parsing variant' ); |
+}, 'the time elements should be instanceof HTMLTimeElement'); |
+ |
+//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'); |
+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'); |
+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'); |
+ |
+ </script> |
+ |
+ </body> |
+</html> |