blob: 090a087ae28437ea2890a4f3ca7d8b79ff84ba98 [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.
*/
/*
* Portions of this test are derived from code under the following license:
*
* Web-platform-tests are covered by the dual-licensing approach described in:
* http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html
*/
/**
* after web-platform-tests/html/semantics/selectors/pseudo-classes/inrange-outofrange.html
* @assertion
* http://www.w3.org/html/wg/drafts/html/master/#pseudo-classes
* @description Selector: pseudo-classes (:in-range, :out-of-range)
*/
import 'dart:html';
import "../../../../Utils/expectWeb.dart";
import "utils.dart";
const String htmlEL = r'''
<input type=number value=0 min=0 max=10 id=number1>
<input type=number value=0 min=0 max=10 id=number2 disabled>
<input type=number value=0 min=1 max=10 id=number3>
<input type=number value=11 min=0 max=10 id=number4>
''';
void main() {
document.body.appendHtml(htmlEL);
testSelector(":in-range"
, ["number1"]
, "':in-range' matches all elements that are candidates for constraint validation, have range limitations, and that are neither suffering from an underflow nor suffering from an overflow");
testSelector(":out-of-range"
, ["number3", "number4"]
, "':out-of-range' matches all elements that are candidates for constraint validation, have range limitations, and that are either suffering from an underflow or suffering from an overflow");
InputElement number1=document.getElementById("number1");
number1.value = "-10";
testSelector(":in-range"
, []
, "':in-range' update number1's value < min");
testSelector(":out-of-range"
, ["number1", "number3", "number4"]
, "':out-of-range' update number1's value < min");
InputElement number3=document.getElementById("number3");
number3.min = "0";
testSelector(":in-range"
, ["number3"]
, "':in-range' update number3's min < value");
testSelector(":out-of-range"
, ["number1", "number4"]
, "':out-of-range' update number3's min < value");
checkTestFailures();
}