<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><!-- webkit-test-runner [ enableKeygenElement=true ] -->
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<style>
:required {
    background-color: red;
}
:optional {
    background-color: red;
}
input, fieldset, legend, label, datalist, optgroup, option, keygen, output, meter, progress {
    background-color: lime;
}
</style>
</head>
<body>
<p id="description"></p>

<div id=victims>
<fieldset id=fieldset>
<legend id=legend></legend>
</fieldset>
<label id=label></label>
<datalist id=datalist></datalist>
<select>
<optgroup id=optgroup></optgroup>
<option id=option></option>
</select>
<keygen id=keygen>
<output id=output></output>
<meter id=meter></meter>
<progress id=progress></progress>
</div>

<div id="console"></div>
<script>
description('Check cases that :required/:optional classes are not applied');

function getBackgroundColor(id) {
    var element = document.getElementById(id);
    return document.defaultView.getComputedStyle(element, null).getPropertyValue('background-color')
}

var identifiers = [
    'fieldset',
    'legend',
    'label',
    'datalist',
    'optgroup',
    'option',
    'keygen',
    'output',
    'meter',
    'progress',
];

var normalColor = 'rgb(0, 255, 0)';
for (var i = 0; i < identifiers.length; i++)
    shouldBe('getBackgroundColor("' + identifiers[i] + '")', 'normalColor');

document.getElementById('victims').innerHTML = '';
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>
