is-iso-date.spec.js 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. import {expect} from 'chai';
  2. import {isIsoDate} from './is-iso-date.js';
  3. describe('isIsoDate', function () {
  4. it('returns false for an empty value', function () {
  5. expect(isIsoDate('')).to.be.false;
  6. expect(isIsoDate(0)).to.be.false;
  7. expect(isIsoDate(false)).to.be.false;
  8. expect(isIsoDate(undefined)).to.be.false;
  9. expect(isIsoDate(null)).to.be.false;
  10. });
  11. it('returns false for invalid values', function () {
  12. expect(isIsoDate(10)).to.be.false;
  13. expect(isIsoDate([])).to.be.false;
  14. expect(isIsoDate({})).to.be.false;
  15. expect(isIsoDate(new Map())).to.be.false;
  16. expect(isIsoDate(NaN)).to.be.false;
  17. expect(isIsoDate(Infinity)).to.be.false;
  18. });
  19. it('returns true for the Date instance', function () {
  20. expect(isIsoDate(new Date())).to.be.true;
  21. });
  22. it('validates ISO string', function () {
  23. expect(isIsoDate('2011-10-05T14:48:00.000Z')).to.be.true;
  24. expect(isIsoDate('2018-11-10T11:22:33+00:00')).to.be.false;
  25. expect(isIsoDate('2011-10-05T14:99:00.000Z')).to.be.false;
  26. });
  27. });