blob: f2e04cf59fa2d242a6b30ef05f671c630b0e8d2d [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../fast/js/resources/js-test-pre.js"></script>
<style id="style" media="screen">
.non-existent-class {
-webkit-transform: translate(10px)
translateX(10px)
translateY(10px)
rotate(10deg)
rotate(11rad)
rotate(12grad)
rotate(13turn)
scale(2)
scaleX(1.2) /* test uppercase */
scaley(1.2)
skew(10deg, 10rad)
skewX(10deg)
skewy(11grad)
matrix(1, 0, 0, 1, 0, 0);
}
</style>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<script type="text/javascript" charset="utf-8">
var stylesheet = document.getElementById("style").sheet;
var root = document.documentElement;
function jsWrapperClass(node)
{
if (!node)
return "[null]";
var string = Object.prototype.toString.apply(node);
return string.substr(8, string.length - 9);
}
function test(expression, className, prototypeName, constructorName)
{
if (!prototypeName)
prototypeName = className + "Prototype";
if (!constructorName)
constructorName = className + "Constructor";
shouldBe("jsWrapperClass(" + expression + ")", "'" + className + "'");
shouldBe("jsWrapperClass(" + expression + ".__proto__)", "'" + prototypeName + "'");
shouldBe("jsWrapperClass(" + expression + ".constructor)", "'" + constructorName + "'");
}
var transformRule = stylesheet.cssRules.item(0).style.getPropertyCSSValue('-webkit-transform');
test("transformRule", "CSSValueList");
test("transformRule[0]", "WebKitCSSTransformValue");
shouldBe("transformRule[0].operationType", "WebKitCSSTransformValue.CSS_TRANSLATE");
shouldBe("transformRule[0].cssText", "'translate(10px)'");
shouldBe("transformRule[1].operationType", "WebKitCSSTransformValue.CSS_TRANSLATEX");
shouldBe("transformRule[1].cssText", "'translateX(10px)'");
shouldBe("transformRule[2].operationType", "WebKitCSSTransformValue.CSS_TRANSLATEY");
shouldBe("transformRule[2].cssText", "'translateY(10px)'");
shouldBe("transformRule[3].operationType", "WebKitCSSTransformValue.CSS_ROTATE");
shouldBe("transformRule[3].cssText", "'rotate(10deg)'");
shouldBe("transformRule[4].operationType", "WebKitCSSTransformValue.CSS_ROTATE");
shouldBe("transformRule[4].cssText", "'rotate(11rad)'");
shouldBe("transformRule[5].operationType", "WebKitCSSTransformValue.CSS_ROTATE");
shouldBe("transformRule[5].cssText", "'rotate(12grad)'");
shouldBe("transformRule[6].operationType", "WebKitCSSTransformValue.CSS_ROTATE");
shouldBe("transformRule[6].cssText", "'rotate(13turn)'");
shouldBe("transformRule[7].operationType", "WebKitCSSTransformValue.CSS_SCALE");
shouldBe("transformRule[7].cssText", "'scale(2)'");
shouldBe("transformRule[8].operationType", "WebKitCSSTransformValue.CSS_SCALEX");
shouldBe("transformRule[8].cssText", "'scaleX(1.2)'");
shouldBe("transformRule[9].operationType", "WebKitCSSTransformValue.CSS_SCALEY");
shouldBe("transformRule[9].cssText", "'scaleY(1.2)'");
shouldBe("transformRule[10].operationType", "WebKitCSSTransformValue.CSS_SKEW");
shouldBe("transformRule[10].cssText", "'skew(10deg, 10rad)'");
shouldBe("transformRule[11].operationType", "WebKitCSSTransformValue.CSS_SKEWX");
shouldBe("transformRule[11].cssText", "'skewX(10deg)'");
shouldBe("transformRule[12].operationType", "WebKitCSSTransformValue.CSS_SKEWY");
shouldBe("transformRule[12].cssText", "'skewY(11grad)'");
shouldBe("transformRule[13].operationType", "WebKitCSSTransformValue.CSS_MATRIX");
shouldBe("transformRule[13].cssText", "'matrix(1, 0, 0, 1, 0, 0)'");
</script>
<script src="../../fast/js/resources/js-test-post.js"></script>
</body>
</html>