diff --git a/tests/SpecRunner.html b/tests/SpecRunner.html index 0c1d3e4b..02d8b369 100644 --- a/tests/SpecRunner.html +++ b/tests/SpecRunner.html @@ -46,6 +46,9 @@ + + + @@ -75,6 +78,7 @@ + diff --git a/tests/spec/DateUtilsSpec.js b/tests/spec/DateUtilsSpec.js new file mode 100644 index 00000000..2008a15d --- /dev/null +++ b/tests/spec/DateUtilsSpec.js @@ -0,0 +1,117 @@ +describe("DateUtils", function () { + + beforeEach(function () { + this.addMatchers(selectorMatchers); + }); + + it("'SimpleDateFormatter.format' pattern 'yyyy/MM/dd'", function(){ + var pattern = "yyyy/MM/dd"; + var date = new Date("1979-02-01T00:00:00.000Z"); + var expected = "1979/02/01"; + var df = new SimpleDateFormatter(pattern); + expect(df.format(date)).toEqual(expected); + }); + + it("'SimpleDateFormatter.format' pattern 'dd/MM/yy'", function(){ + var pattern = "dd/MM/yy"; + var date = new Date("1979-02-01T00:00:00.000Z"); + var expected = "01/02/79"; + var df = new SimpleDateFormatter(pattern); + expect(df.format(date)).toEqual(expected); + }); + + it("'SimpleDateFormatter.format' pattern 'dd MMM yy'", function(){ + var pattern = "dd MMM yy"; + var date = new Date("1979-02-01T00:00:00.000Z"); + var expected = "01 Feb 79"; + var df = new SimpleDateFormatter(pattern); + expect(df.format(date)).toEqual(expected); + }); + + it("'SimpleDateFormatter.format' pattern 'dd MMM yyyy'", function(){ + var pattern = "dd MMM yyyy"; + var date = new Date("1979-02-01T00:00:00.000Z"); + var expected = "01 Feb 1979"; + var df = new SimpleDateFormatter(pattern); + expect(df.format(date)).toEqual(expected); + }); + + it("'SimpleDateFormatter.parse' pattern 'dd.MMM.yy'", function(){ + var pattern = "dd.MMM.yy"; + var date = "15.Aug.16"; + var expected = new Date("2016-08-15T00:00:00.000Z"); + var df = new SimpleDateFormatter(pattern); + expect(df.parse(date)).toEqual(expected); + }); + + it("'SimpleDateFormatter.parse' pattern 'MM/dd/yyyy'", function(){ + var pattern = "MM/dd/yyyy"; + var date = "02.29.2016"; + var expected = new Date("2016-02-29T00:00:00.000Z"); + var df = new SimpleDateFormatter(pattern); + expect(df.parse(date)).toEqual(expected); + }); + + it("'SimpleDateFormatter.parse' pattern 'dd.MM.yyyy'", function(){ + var pattern = "dd.MM.yyyy"; + var date = "16.06.2016"; + var expected = new Date("2016-06-16T00:00:00.000Z"); + var df = new SimpleDateFormatter(pattern); + expect(df.parse(date)).toEqual(expected); + }); + + it("'DateRoller.days' should return one day", function(){ + var from = new Date("1979-02-01T00:00:00.000Z"); + var to = new Date("1979-02-01T00:00:00.000Z"); + var roller = DateRoller.days(from, to); + var expectedDays = 1; + expect(roller.length).toEqual(expectedDays); + }); + + it("'DateRoller.days' should return 366 days", function(){ + var from = new Date("2016-12-31T00:00:00.000Z"); + var to = new Date("2016-01-01T00:00:00.000Z"); + var roller = DateRoller.days(from, to); + var expectedDays = 366; + expect(roller.length).toEqual(expectedDays); + }); + + it("'DateRoller.days' should return multiple days increasing", function(){ + var from = new Date("1979-02-01T00:00:00.000Z"); + var to = new Date("1979-02-03T00:00:00.000Z"); + var roller = DateRoller.days(from, to); + var expectedDays = [ + new Date("1979-02-01T00:00:00.000Z"), + new Date("1979-02-02T00:00:00.000Z"), + new Date("1979-02-03T00:00:00.000Z") + ]; + expect(roller).toEqual(expectedDays); + }); + + it("'DateRoller.days' should return multiple days decreasing", function(){ + var from = new Date("2017-05-02T00:00:00.000Z"); + var to = new Date("2017-04-30T00:00:00.000Z"); + var roller = DateRoller.days(from, to); + var expectedDays = [ + new Date("2017-05-02T00:00:00.000Z"), + new Date("2017-05-01T00:00:00.000Z"), + new Date("2017-04-30T00:00:00.000Z") + ]; + expect(roller).toEqual(expectedDays); + }); + + it("'DatePatternSupport.expandUrl' should return one url", function(){ + var url = "http://example.com/[date