blob: 892f3912c566984962319dcac379698836fa79b1 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../js/resources/js-test-pre.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<script>
description("Test the parsing of the cursor property.");
function makeCursorRule(rule)
{
return "cursor: " + rule + ";";
}
function testCursorRule(rule)
{
var cssText = makeCursorRule(rule);
shouldBeEqualToString('roundtripCssRule("' + cssText + '")', cssText);
}
function testInvalidCursorRule(rule)
{
shouldBeEqualToString('roundtripCssRule("' + makeCursorRule(rule) + '")', '');
}
function roundtripCssRule(cssText)
{
var div = document.createElement("div");
div.setAttribute("style", cssText);
document.body.appendChild(div);
var result = div.style.cssText;
document.body.removeChild(div);
return result;
}
// Note that any absolute URL will suffice for these tests (can't use relative URLs
// since they'll be converted to absolute form in the output). I chose file URLs just
// to avoid triggering any network activity.
debug('Test a bunch of cursor rules which should round-trip exactly.');
testCursorRule('auto');
testCursorRule('none');
testCursorRule('copy');
testCursorRule('-webkit-grabbing');
testCursorRule('url(file:///foo.png)'); // IE compatibility
testCursorRule('url(file:///foo.png), crosshair');
testCursorRule('url(file:///foo.png), url(file:///foo2.png), pointer');
testCursorRule('url(file:///foo.png) 12 3, pointer');
testCursorRule('url(file:///foo.png) 0 0, pointer');
testCursorRule('url(file:///foo.png) 12 3, url(file:///foo2.png), url(file:///foo3.png) 6 7, crosshair');
testCursorRule('url(file:///foo.png) -2 3, pointer');
testCursorRule('url(file:///foo.png) 2 -3, pointer');
testCursorRule('url(file:///foo.png) -1 -1, pointer');
debug('');
debug('Test a bunch of invalid cursor rules which shouldn\'t parse at all.');
testInvalidCursorRule('nonexistent');
testInvalidCursorRule('ltr');
testInvalidCursorRule('inline');
testInvalidCursorRule('url(file:///foo.png), url(file:///foo2.png)');
testInvalidCursorRule('url(file:///foo.png) 12');
testInvalidCursorRule('url(file:///foo.png) 12 3 5');
testInvalidCursorRule('url(file:///foo.png) x y');
testInvalidCursorRule('url(file:///foo.png) auto');
successfullyParsed = true;
</script>
<script src="../js/resources/js-test-post.js"></script>
</body>
</html>