Index: third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/resources/text-decoration-skip-css-support.js |
diff --git a/third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/resources/text-decoration-skip-css-support.js b/third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/resources/text-decoration-skip-css-support.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ca7f9d386ce3574b4c5ec5154ee2111156f8ac2b |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/resources/text-decoration-skip-css-support.js |
@@ -0,0 +1,69 @@ |
+var validWriteExpectations = ['ink', |
+ 'objects', |
+ 'objects ink']; |
+ |
+var writeInvalidExpectations = ['none objects', // Combinations with none invalid |
+ 'none', // none currently not supported |
+ 'abc def', |
+ '', |
+ 'objects objects', |
+ 'ink ink', |
+ 'edges'] // not supported yet |
+ |
+setup({ explicit_done: true }); |
+ |
+function styleAndComputedStyleReadback() { |
+ |
+ var testContainer = document.createElement("div"); |
+ document.body.appendChild(testContainer); |
+ |
+ for (validValue of validWriteExpectations) { |
+ testContainer.style.textDecorationSkip = validValue; |
+ test(function() { |
+ assert_equals(testContainer.style.textDecorationSkip, validValue); |
+ assert_equals(getComputedStyle(testContainer).textDecorationSkip, validValue); |
+ }, 'text-decoration-skip value ' + validValue + ' should be equal when reading it back from style and getComputedstyle.'); |
+ } |
+ |
+ document.body.removeChild(testContainer); |
+} |
+ |
+function testInheritance() { |
+ var testContainer = document.createElement('div'); |
+ var testContainerChild = document.createElement('div'); |
+ testContainer.appendChild(testContainerChild); |
+ document.body.appendChild(testContainer); |
+ |
+ for (validValue of validWriteExpectations) { |
+ testContainer.style.textDecorationSkip = validValue; |
+ test(function() { |
+ assert_equals(testContainerChild.style.textDecorationSkip, ''); |
+ assert_equals(getComputedStyle(testContainerChild).textDecorationSkip, validValue); |
+ }, 'text-decoration-skip value ' + validValue + ' should be inherited to computed style of child.'); |
+ } |
+ document.body.removeChild(testContainer); |
+} |
+ |
+function validWriteTests() { |
+ for (validValue of validWriteExpectations) { |
+ test(function() { |
+ assert_true(CSS.supports('text-decoration-skip', validValue)); |
+ }, 'Value ' + validValue + ' valid for property text-decoration-skip'); |
+ } |
+} |
+ |
+function invalidWriteTests() { |
+ for (invalidValue of writeInvalidExpectations) { |
+ test(function() { |
+ assert_false(CSS.supports('text-decoration-skip', invalidValue)); |
+ }, 'Value ' + invalidValue + ' invalid for property text-decoration-skip'); |
+ } |
+} |
+ |
+window.addEventListener('load', function() { |
+ validWriteTests(); |
+ invalidWriteTests(); |
+ styleAndComputedStyleReadback(); |
+ testInheritance(); |
+ done(); |
+}); |