Index: third_party/WebKit/LayoutTests/typedcssom/inlinestyle/inlineStylePropertyMap_iteration.html |
diff --git a/third_party/WebKit/LayoutTests/typedcssom/inlinestyle/inlineStylePropertyMap_iteration.html b/third_party/WebKit/LayoutTests/typedcssom/inlinestyle/inlineStylePropertyMap_iteration.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1e98a7274307e47b2d6887bc76be54ada6e9ed03 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/typedcssom/inlinestyle/inlineStylePropertyMap_iteration.html |
@@ -0,0 +1,96 @@ |
+<!DOCTYPE html> |
Timothy Loh
2016/04/15 05:27:53
Can we have a test (multiple tests?) where we modi
meade_UTC10
2016/04/27 05:39:01
Done.
|
+<script src="../../resources/testharness.js"></script> |
+<script src="../../resources/testharnessreport.js"></script> |
+ |
+<div id="testElement"></div> |
+ |
+<script> |
+ |
+test(function() { |
+ testElement.style = ""; |
+ |
+ var entryIterator = testElement.styleMap.entries(); |
+ var keyIterator = testElement.styleMap.keys(); |
+ var valueIterator = testElement.styleMap.values(); |
+ |
+ assert_true(entryIterator.next().done); |
+ assert_true(keyIterator.next().done); |
+ assert_true(valueIterator.next().done); |
+}, "Iteration over empty StyleMap"); |
+ |
+test(function() { |
+ testElement.style = "width: 50px"; |
+ |
+ var iterator = testElement.styleMap.entries(); |
+ var entry = iterator.next(); |
+ assert_false(entry.done); |
+ // Should only be one entry. |
+ assert_true(iterator.next().done); |
+ |
+ assert_equals(entry.value[0], 'width'); |
+ assert_true(entry.value[1] instanceof SimpleLength); |
+ assert_equals(entry.value[1].cssString, '50px'); |
+}, "Iterator for single entry"); |
+ |
+test(function() { |
+ testElement.style = "width: 60px"; |
+ |
+ var iterator = testElement.styleMap.keys(); |
+ var entry = iterator.next(); |
+ assert_false(entry.done); |
+ // Should only be one entry. |
+ assert_true(iterator.next().done); |
+ |
+ assert_equals(entry.value, 'width'); |
+}, "Iterator for single key"); |
+ |
+test(function() { |
+ testElement.style = "width: 70px"; |
+ |
+ var iterator = testElement.styleMap.values(); |
+ var entry = iterator.next(); |
+ assert_false(entry.done); |
+ // Should only be one entry. |
+ assert_true(iterator.next().done); |
+ |
+ assert_true(entry.value instanceof SimpleLength); |
+ assert_equals(entry.value.cssString, '70px'); |
+}, "Iterator for single value"); |
+ |
+test(function() { |
+ testElement.style = "border: 5px solid lightcoral"; |
+ |
+ var iterator = testElement.styleMap.entries(); |
+ var entries = {}; |
+ var numEntries = 0; |
+ var entry = iterator.next(); |
+ while (!entry.done) { |
Timothy Loh
2016/04/15 05:27:53
Can this one just be
for (let value of testElemen
meade_UTC10
2016/04/27 05:39:01
Done.
|
+ numEntries++; |
+ entries[entry.value[0]] = entry.value[1]; |
+ var entry = iterator.next(); |
+ } |
+ assert_equals(numEntries, 17); |
+ |
+ assert_equals(entries['border-top-width'].cssString, '5px'); |
+ assert_equals(entries['border-right-width'].cssString, '5px'); |
+ assert_equals(entries['border-bottom-width'].cssString, '5px'); |
+ assert_equals(entries['border-left-width'].cssString, '5px'); |
+ // TODO(meade): These will change to StyleValues once those values are supported. |
Timothy Loh
2016/04/15 05:27:53
IMO it's better to just write the tests to fail no
meade_UTC10
2016/04/27 05:39:01
Done.
|
+ assert_array_equals(entries['border-top-style'], []); |
+ assert_array_equals(entries['border-right-style'], []); |
+ assert_array_equals(entries['border-bottom-style'], []); |
+ assert_array_equals(entries['border-left-style'], []); |
+ |
+ assert_array_equals(entries['border-top-color'], []); |
+ assert_array_equals(entries['border-right-color'], []); |
+ assert_array_equals(entries['border-bottom-color'], []); |
+ assert_array_equals(entries['border-left-color'], []); |
+ |
+ assert_array_equals(entries['border-image-source'], []); |
+ assert_array_equals(entries['border-image-slice'], []); |
+ assert_array_equals(entries['border-image-width'], []); |
+ assert_array_equals(entries['border-image-outset'], []); |
+ assert_array_equals(entries['border-image-repeat'], []); |
+}, "Iterating entries over border element expansion"); |
+ |
+</script> |