blob: b68303adb736966adaba60e47bf9a170ef02fceb [file] [log] [blame]
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
<script>
var initialize_Test = function() {
InspectorTest.preloadModule("inline_editor");
};
function test()
{
InspectorTest.addResult("-----CSSLengths-----");
dumpCSSLength("10px");
dumpCSSLength("10PX");
dumpCSSLength("-10px");
dumpCSSLength("+10px");
dumpCSSLength("10.11px");
dumpCSSLength(".11px");
dumpCSSLength("10e3px");
dumpCSSLength("10E3px");
dumpCSSLength("10.11e3px");
dumpCSSLength("-10.11e-3px");
dumpCSSLength("0px");
dumpCSSLength("0");
dumpCSSLength("-0.0");
dumpCSSLength("+0.0");
dumpCSSLength("0e-3");
// Start invalid lengths.
dumpCSSLength("");
dumpCSSLength("10");
dumpCSSLength("10 px");
dumpCSSLength("10.px");
dumpCSSLength("10pxx");
dumpCSSLength("10.10.10px");
dumpCSSLength("hello10pxhello");
InspectorTest.addResult("\n-----Text Shadows-----");
dumpTextShadow("0 0");
dumpTextShadow("1px 2px");
dumpTextShadow("1px 2px black");
dumpTextShadow("1px 2px 2px");
dumpTextShadow("rgb(0, 0, 0) 1px 2px 2px");
dumpTextShadow("1px 2px 2px rgb(0, 0, 0)");
dumpTextShadow("1px 2px black, 0 0 #ffffff");
dumpTextShadow("1px -2px black, 0 0 rgb(0, 0, 0), 3px 3.5px 3px");
// Start invalid text shadows.
dumpTextShadow("");
dumpTextShadow("0");
dumpTextShadow("1 2 black");
dumpTextShadow("1px black 2px");
dumpTextShadow("1px 2px 2px 3px");
dumpTextShadow("inset 1px 2px 2px");
dumpTextShadow("red 1px 2px 2px red");
dumpTextShadow("1px 2px rgb(0, 0, 0) 2px");
dumpTextShadow("hello 1px 2px");
dumpTextShadow("1px 2px black 0 0 #ffffff");
dumpTextShadow("1px2px");
dumpTextShadow("1px 2pxrgb(0, 0, 0)");
dumpTextShadow("1px 2px black,, 0 0 #ffffff");
InspectorTest.addResult("\n-----Box Shadows-----");
dumpBoxShadow("0 0");
dumpBoxShadow("1px 2px");
dumpBoxShadow("1px 2px black");
dumpBoxShadow("1px 2px 2px");
dumpBoxShadow("1px 2px 2px 3px");
dumpBoxShadow("inset 1px 2px");
dumpBoxShadow("1px 2px inset");
dumpBoxShadow("INSET 1px 2px 2px 3px");
dumpBoxShadow("rgb(0, 0, 0) 1px 2px 2px");
dumpBoxShadow("inset rgb(0, 0, 0) 1px 2px 2px");
dumpBoxShadow("inset 1px 2px 2px 3px rgb(0, 0, 0)");
dumpBoxShadow("1px 2px 2px 3px rgb(0, 0, 0) inset");
dumpBoxShadow("1px 2px black, inset 0 0 #ffffff");
dumpBoxShadow("1px -2px black, inset 0 0 rgb(0, 0, 0), 3px 3.5px 3px 4px");
// Start invalid box shadows.
dumpBoxShadow("");
dumpBoxShadow("0");
dumpBoxShadow("1 2 black");
dumpBoxShadow("1px black 2px");
dumpBoxShadow("1px 2px 2px 3px 4px");
dumpBoxShadow("1px 2px 2px inset 3px");
dumpBoxShadow("inset 1px 2px 2px inset");
dumpBoxShadow("1px 2px rgb(0, 0, 0) 2px");
dumpBoxShadow("hello 1px 2px");
dumpBoxShadow("1px 2px black 0 0 #ffffff");
dumpBoxShadow("1px2px");
dumpBoxShadow("1px 2pxrgb(0, 0, 0)");
dumpBoxShadow("1px 2px black,, 0 0 #ffffff");
InspectorTest.completeTest();
function dumpCSSLength(lengthText)
{
var length = InlineEditor.CSSLength.parse(lengthText);
var statusText = length !== null ? "Succeeded: " + length.asCSSText() : "Failed";
InspectorTest.addResult("\"" + lengthText + "\", Parsing " + statusText);
}
function dumpTextShadow(shadowText)
{
dumpShadow(shadowText, false);
}
function dumpBoxShadow(shadowText)
{
dumpShadow(shadowText, true);
}
function dumpShadow(shadowText, isBoxShadow)
{
var shadows = isBoxShadow ? InlineEditor.CSSShadowModel.parseBoxShadow(shadowText) : InlineEditor.CSSShadowModel.parseTextShadow(shadowText);
var output = [];
for (var i = 0; i < shadows.length; i++)
output.push(shadows[i].asCSSText());
var statusText = shadows.length !== 0 ? "Succeeded: " + output.join(", ") : "Failed";
InspectorTest.addResult("\"" + shadowText + "\", Parsing " + statusText);
}
}
</script>
</head>
<body onload="runTest()">
<p>Tests CSSLength.parse, CSSShadowModel.parseTextShadow, and CSSShadowModel.parseBoxShadow.</p>
</body>
</html>