<!DOCTYPE html>
<html>
<head>
<script src="../../resources/js-test.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<script>
description('Test styleWithCSS command');

function testStyleWithCSS(styleArg, expectedState)
{
    document.execCommand('styleWithCSS', false, styleArg); 
    if (document.queryCommandState('styleWithCSS') === expectedState)
        testPassed('styleWithCSS changed the state successfully');
    else
        testFailed('styleWithCSS failed with the argument ' + styleArg);
}

testStyleWithCSS(true, true);
testStyleWithCSS('false', false);
testStyleWithCSS('FALSE', false);
testStyleWithCSS('random string', true);
testStyleWithCSS(null, true);

document.execCommand('styleWithCSS', false, true);
if (document.queryCommandState('styleWithCSS') === true)
    testPassed("queryCommandState('styleWithCSS') returns true");
else
    testFailed("queryCommandState('styleWithCSS') should return boolean true");

if (document.queryCommandValue('styleWithCSS') === '')
    testPassed("queryCommandValue('styleWithCSS') returns ''");
else
    testFailed("queryCommandValue('styleWithCSS') should return ''");

document.execCommand('styleWithCSS', false, false);
if (document.queryCommandState('styleWithCSS') === false)
    testPassed("queryCommandState('styleWithCSS') returns false");
else
    testFailed("queryCommandState('styleWithCSS') should return boolean false");

if (document.queryCommandValue('styleWithCSS') === '')
    testPassed("queryCommandValue('styleWithCSS') returns ''");
else
    testFailed("queryCommandValue('styleWithCSS') should return ''");

</script>
</body>
</html>
