blob: ac8ec0cc1ed18fe5a3c0ff0b2152e82b3e776230 [file] [log] [blame]
/*
* Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
* for details. All rights reserved. Use of this source code is governed by a
* BSD-style license that can be found in the LICENSE file.
*/
/**
* @description This test performs a check for the :valid CSS selector on
* various input elements and other elements where it shouldn't be applied.
*/
import "dart:html";
import "../../testcommon.dart";
main() {
var style = new Element.html('''
<style>
:valid { background: red; }
:invalid { background: red; }
input { background: lime; }
object { background: lime; }
button { background: lime; }
progress { background: lime; }
meter { background: lime; }
option { background: lime; }
select { background: lime; }
</style>
''', treeSanitizer: new NullTreeSanitizer());
document.head.append(style);
document.body.setInnerHtml('''
<p id="description"></p>
<form method="get">
<input name="input-text-readonly" type="text" value="Lorem ipsum" readonly/>
<input name="input-text-disabled" type="text" value="Lorem ipsum" disabled/>
<input name="input-button" type="button" value="Lorem ipsum">
<input name="input-reset" type="reset" value="Lorem ipsum"/>
<input name="input-hidden" type="hidden" value="Lorem ipsum"/>
<input name="input-image" type="image">
<fieldset name="fieldset"></fieldset>
<object name="object"></object>
<button name="button-button" type="button">Lorem ipsum</button>
<button name="button-reset" type="reset">Lorem ipsum</button>
<progress id="progress" value=50 max=100>50</progress>
<meter id="meter" value=50 max=100>50</meter>
<select id="select" required><option id="option" value="1">One</option></select>
</form>
<div id="console"></div>
''', treeSanitizer: new NullTreeSanitizer());
getBackgroundColor(nameOrId) {
var list = document.getElementsByName(nameOrId);
var element = list.length > 0 ? list[0] : document.getElementById(nameOrId);
return getComputedStyle(element, null).getPropertyValue('background-color');
}
var names = [
"input-text-readonly",
"input-text-disabled",
"input-button",
"input-reset",
"input-hidden",
"input-image",
"object",
"button-button",
"button-reset",
"progress",
"meter",
"option",
];
var normalColor = "rgb(0, 255, 0)";
for (var i = 0; i < names.length; i++)
shouldBeLikeString(getBackgroundColor(names[i]), normalColor,
message: "Failed for: " + names[i]);
}