blob: de11016f37dfafd73c8a4b000431d53d9d5a6d40 [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 Check stepMismatch results for type=date.
*/
import "dart:html";
import "../../../testcommon.dart";
import "../../../../Utils/async_utils.dart";
main() {
var input = document.createElement('input');
document.body.append(input);
stepMismatchFor(value, step, min, [disabled=false]) {
input.min = min;
input.step = step;
input.value = value;
input.disabled = disabled;
return input.validity.stepMismatch;
}
input.type = 'date';
debug('Empty values');
//shouldBeFalse(stepMismatchFor("", null, null));
shouldBeFalse(stepMismatchFor("", "2", "1969-12-31"));
debug('Normal step values');
shouldBeTrue(stepMismatchFor("2010-02-10", "2", "2010-02-09"));
shouldBeFalse(stepMismatchFor("2010-02-09", "2", "2010-02-09"));
shouldBeFalse(stepMismatchFor("2010-02-11", "2", "2010-02-09"));
shouldBeTrue(stepMismatchFor("1800-11-11", "3", "1800-11-09"));
shouldBeFalse(stepMismatchFor("1800-11-09", "3", "1800-11-09"));
shouldBeFalse(stepMismatchFor("1800-11-12", "3", "1800-11-09"));
shouldBeTrue(stepMismatchFor("275760-09-13", "3", "275760-09-11"));
shouldBeFalse(stepMismatchFor("275760-09-13", "2", "275760-09-11"));
debug('Implicit step base');
//shouldBeTrue(stepMismatchFor("1970-01-02", "2", null));
//shouldBeFalse(stepMismatchFor("1970-01-03", "2", null));
debug('Fractional step values');
shouldBeFalse(stepMismatchFor("2010-02-10", "0.1", "2010-02-09"));
shouldBeFalse(stepMismatchFor("2010-02-10", "1.1", "2010-02-09"));
shouldBeTrue(stepMismatchFor("2010-02-10", "1.9", "2010-02-09"));
debug('Invalid or no step values');
//shouldBeFalse(stepMismatchFor("2010-02-10", null, "2010-02-09"));
shouldBeFalse(stepMismatchFor("2010-02-10", "-1", "2010-02-09"));
shouldBeFalse(stepMismatchFor("2010-02-10", "foo", "2010-02-09"));
debug('Special step value');
shouldBeFalse(stepMismatchFor("2010-02-10", "any", "2010-02-09"));
debug('Disabled');
shouldBeFalse(stepMismatchFor("2010-02-10", "2", "2010-02-09", true));
}