1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import {twoDigitToFullYear} from '../twoDigitToFullYear.js';
- const expect = require('unexpected');
- const sinon = require('sinon');
- describe('twoDigitToFullYear()', function () {
- it('converts 2-digit year to full year using 50 for the future years range by default', function () {
- let clock = sinon.useFakeTimers({now: new Date().setFullYear(2020)});
- expect(twoDigitToFullYear(0), 'to be', 2000);
- expect(twoDigitToFullYear(20), 'to be', 2020);
- expect(twoDigitToFullYear(70), 'to be', 2070);
- expect(twoDigitToFullYear(71), 'to be', 1971);
- clock.restore();
- clock = sinon.useFakeTimers({now: new Date().setFullYear(2080)});
- expect(twoDigitToFullYear(0), 'to be', 2100);
- expect(twoDigitToFullYear(30), 'to be', 2130);
- expect(twoDigitToFullYear(31), 'to be', 2031);
- expect(twoDigitToFullYear(80), 'to be', 2080);
- clock.restore();
- });
- it('uses sepecified future year range if it is given', function () {
- let clock = sinon.useFakeTimers({now: new Date().setFullYear(2020)});
- expect(twoDigitToFullYear(40, 20), 'to be', 2040);
- expect(twoDigitToFullYear(40, 19), 'to be', 1940);
- expect(twoDigitToFullYear(95, 75), 'to be', 2095);
- expect(twoDigitToFullYear(95, 74), 'to be', 1995);
- clock.restore();
- clock = sinon.useFakeTimers({now: new Date().setFullYear(2080)});
- expect(twoDigitToFullYear(0, 20), 'to be', 2100);
- expect(twoDigitToFullYear(0, 19), 'to be', 2000);
- expect(twoDigitToFullYear(55, 75), 'to be', 2155);
- expect(twoDigitToFullYear(55, 74), 'to be', 2055);
- clock.restore();
- });
- it('uses the century of baseDate for conversion if it is given', function () {
- const year2020 = new Date(2020, 0, 1);
- expect(twoDigitToFullYear(40, 20, year2020), 'to be', 2040);
- expect(twoDigitToFullYear(40, 19, year2020), 'to be', 1940);
- expect(twoDigitToFullYear(95, 75, year2020), 'to be', 2095);
- expect(twoDigitToFullYear(95, 74, year2020), 'to be', 1995);
- const year2280 = new Date(2280, 0, 1);
- expect(twoDigitToFullYear(0, 20, year2280), 'to be', 2300);
- expect(twoDigitToFullYear(0, 19, year2280), 'to be', 2200);
- expect(twoDigitToFullYear(55, 75, year2280), 'to be', 2355);
- expect(twoDigitToFullYear(55, 74, year2280), 'to be', 2255);
- });
- });
|