| // Copyright (c) 2011, 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. |
| |
| /// @assertion Throws a FormatException if the input cannot be parsed |
| /// @description Checks that a FormatException exception is thrown if the input |
| /// cannot be parsed. |
| /// @author msyabro |
| /// @author sgrekhov@unipro.ru |
| |
| import "../../../Utils/expect.dart"; |
| |
| dynamic getNull() => null; |
| |
| main() { |
| Expect.throws(() { |
| DateTime.parse(getNull()); |
| }, (e) => e is TypeError || e is ArgumentError); |
| |
| Expect.throws(() { |
| DateTime.parse("just text"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse(""); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("2000/01/01 00/00/00/0"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("2000 01 01 00 00 00 0"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("23:23:23.23 2001-01-01"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("2001-01-01 00:00:00.###"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("2001-s-01 00:00:00.0"); |
| }, (e) => e is FormatException); |
| |
| //Incorrect number of digits |
| Expect.throws(() { |
| DateTime.parse("95-01-01 00:00:00.0"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("2001-1-01 00:00:00.0"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("2001-01-1 00:00:00.0"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("2001-01-01 0:00:00.0"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("2001-01-01 00:0:00.0"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("2001-01-01 00:00:0.0"); |
| }, (e) => e is FormatException); |
| |
| //Missing components |
| Expect.throws(() { |
| DateTime.parse("2000"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("2000-01"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("-01-01 00:00:00.0"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("2000-01-01 :00:00.0"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("2000-01-01 00::00.0"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("2000-01-01 00:00:.0"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("2000-01-01 00:00:00."); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("2000--1 0:0:0.0"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("2000-1- 0:0:0.0"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("--- ::."); |
| }, (e) => e is FormatException); |
| |
| // wrong characters |
| Expect.throws(() { |
| DateTime.parse("1985-W11-11 00:05:23"); |
| }, (e) => e is FormatException); |
| Expect.throws(() { |
| DateTime.parse("1985-01-01 00:05:23.123F"); |
| }, (e) => e is FormatException); |
| } |