blob: 8b29aa65ac1d2feaf9eca749e223f61fd9bba372 [file] [log] [blame]
import 'package:convert/src/fixed_datetime_parser.dart';
import 'package:test/test.dart';
void main() {
test('Parse only year', () {
var time = FixedDateTimeParser('YYYY').parseToLocal('1996');
expect(time, DateTime(1996));
});
test('Escaped chars are ignored', () {
var time = FixedDateTimeParser('YYYY kiwi MM').parseToLocal('1996 rnad 01');
expect(time, DateTime(1996, 1));
});
test('Parse two years throws', () {
expect(() => FixedDateTimeParser('YYYY YYYY'), throwsException);
});
test('Parse year and century', () {
var time = FixedDateTimeParser('CCYY').parseToLocal('1996');
expect(time, DateTime(1996));
});
test('Parse year, decade and century', () {
var time = FixedDateTimeParser('CCEY').parseToLocal('1996');
expect(time, DateTime(1996));
});
test('Parse year, century, month', () {
var time = FixedDateTimeParser('CCYY MM').parseToLocal('1996 04');
expect(time, DateTime(1996, 4));
});
test('Parse year, century, month, day', () {
var time = FixedDateTimeParser('CCYY MM-DD').parseToLocal('1996 04-25');
expect(time, DateTime(1996, 4, 25));
});
test('Parse year, century, month, day, hour, minute, second', () {
var time = FixedDateTimeParser('CCYY MM-DD hh:mm:ss')
.parseToLocal('1996 04-25 05:03:22');
expect(time, DateTime(1996, 4, 25, 5, 3, 22));
});
test('Parse YYYYMMDDhhmmss', () {
var time =
FixedDateTimeParser('YYYYMMDDhhmmss').parseToLocal('19960425050322');
expect(time, DateTime(1996, 4, 25, 5, 3, 22));
});
test('Format simple', () {
var time = DateTime(1996, 1);
expect('1996 kiwi 01', FixedDateTimeParser('YYYY kiwi MM').format(time));
});
test('Format YYYYMMDDhhmmss', () {
var str = FixedDateTimeParser('YYYYMMDDhhmmss')
.format(DateTime(1996, 4, 25, 5, 3, 22));
expect('19960425050322', str);
});
}