| // 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. |
| |
| // @dart = 2.9 |
| |
| /// @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"; |
| |
| main(){ |
| Expect.throws(() {DateTime.parse(null);}, (e) => 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); |
| } |