| Index: LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-underline-position.js
|
| diff --git a/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-underline-position.js b/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-underline-position.js
|
| index 73363eaa60228839c15d8cc162e15c0d37b68064..9c97358dabfd6bfc688978d849c928669ae297b1 100644
|
| --- a/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-underline-position.js
|
| +++ b/LayoutTests/fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-underline-position.js
|
| @@ -1,22 +1,14 @@
|
| -function testElementStyle(propertyJS, propertyCSS, type, value)
|
| -{
|
| - if (type != null) {
|
| - shouldBe("e.style." + propertyJS, "'" + value + "'");
|
| - shouldBe("e.style.getPropertyCSSValue('" + propertyCSS + "').toString()", "'" + type + "'");
|
| - shouldBe("e.style.getPropertyCSSValue('" + propertyCSS + "').cssText", "'" + value + "'");
|
| - } else
|
| - shouldBeNull("e.style.getPropertyCSSValue('" + propertyCSS + "')");
|
| -}
|
| -
|
| -function testComputedStyle(propertyJS, propertyCSS, type, value)
|
| +function test(value, inlineValue, computedValue)
|
| {
|
| + if (value !== null)
|
| + e.style.textUnderlinePosition = value;
|
| + shouldBeEqualToString("e.style.textUnderlinePosition", inlineValue);
|
| computedStyle = window.getComputedStyle(e, null);
|
| - shouldBe("computedStyle." + propertyJS, "'" + value + "'");
|
| - shouldBe("computedStyle.getPropertyCSSValue('" + propertyCSS + "').toString()", "'" + type + "'");
|
| - shouldBe("computedStyle.getPropertyCSSValue('" + propertyCSS + "').cssText", "'" + value + "'");
|
| + shouldBeEqualToString("computedStyle.textUnderlinePosition", computedValue);
|
| + debug('');
|
| }
|
|
|
| -description("Test to make sure text-underline-position property returns values properly.")
|
| +description("Test to make sure text-underline-position is computed properly.")
|
|
|
| // FIXME: This test tests property values 'auto' and 'under'. We don't fully match
|
| // the specification as we don't support [ left | right ] and this is left for another implementation
|
| @@ -30,54 +22,32 @@ testContainer.innerHTML = '<div id="test">hello world</div>';
|
|
|
| debug("Initial value:");
|
| e = document.getElementById('test');
|
| -testElementStyle("textUnderlinePosition", "text-underline-position", null, '');
|
| -testComputedStyle("textUnderlinePosition", "text-underline-position", "[object CSSPrimitiveValue]", "auto");
|
| -debug('');
|
| +test(null, "", "auto");
|
|
|
| debug("Value '':");
|
| -e.style.textUnderlinePosition = '';
|
| -testElementStyle("textUnderlinePosition", "text-underline-position", null, '');
|
| -testComputedStyle("textUnderlinePosition", "text-underline-position", "[object CSSPrimitiveValue]", "auto");
|
| -debug('');
|
| +test("", "", "auto");
|
|
|
| debug("Initial value (explicit):");
|
| -e.style.textUnderlinePosition = 'initial';
|
| -testElementStyle("textUnderlinePosition", "text-underline-position", "[object CSSValue]", "initial");
|
| -testComputedStyle("textUnderlinePosition", "text-underline-position", "[object CSSPrimitiveValue]", "auto");
|
| -debug('');
|
| +test("initial", "initial", "auto");
|
|
|
| debug("Value 'auto':");
|
| -e.style.textUnderlinePosition = 'auto';
|
| -testElementStyle("textUnderlinePosition", "text-underline-position", "[object CSSPrimitiveValue]", "auto");
|
| -testComputedStyle("textUnderlinePosition", "text-underline-position", "[object CSSPrimitiveValue]", "auto");
|
| -debug('');
|
| +test("auto", "auto", "auto");
|
|
|
| debug("Value 'under':");
|
| -e.style.textUnderlinePosition = 'under';
|
| -testElementStyle("textUnderlinePosition", "text-underline-position", "[object CSSPrimitiveValue]", "under");
|
| -testComputedStyle("textUnderlinePosition", "text-underline-position", "[object CSSPrimitiveValue]", "under");
|
| -debug('');
|
| +test("under", "under", "under");
|
|
|
| testContainer.innerHTML = '<div id="test-parent" style="text-underline-position: under;">hello <span id="test-ancestor">world</span></div>';
|
| debug("Ancestor inherits values from parent:");
|
| e = document.getElementById('test-ancestor');
|
| -testElementStyle("textUnderlinePosition", "text-underline-position", null, "");
|
| -testComputedStyle("textUnderlinePosition", "text-underline-position", "[object CSSPrimitiveValue]", "under");
|
| -debug('');
|
| +test(null, "", "under");
|
|
|
| debug("Value 'auto under':");
|
| -e.style.textUnderlinePosition = 'auto under';
|
| -testElementStyle("textUnderlinePosition", "text-underline-position", null, "");
|
| -debug('');
|
| +test("auto under", "", "under");
|
|
|
| debug("Value 'under under':");
|
| -e.style.textUnderlinePosition = 'under under';
|
| -testElementStyle("textUnderlinePosition", "text-underline-position", null, "");
|
| -debug('');
|
| +test("under under", "", "under");
|
|
|
| -debug("Value 'under under under':");
|
| -e.style.textUnderlinePosition = 'auto alphabetic under';
|
| -testElementStyle("textUnderlinePosition", "text-underline-position", null, "");
|
| -debug('');
|
| +debug("Value 'auto alphabetic under':");
|
| +test("auto alphabetic under", "", "under");
|
|
|
| document.body.removeChild(testContainer);
|
|
|