Skip to content

Commit 3a1a080

Browse files
author
Codoff
committed
Some unit tests for DateUtils modules
1 parent 7b1f721 commit 3a1a080

File tree

2 files changed

+121
-0
lines changed

2 files changed

+121
-0
lines changed

tests/SpecRunner.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@
4646
<script src="../extension/scripts/Selector/SelectorElementClick.js"></script>
4747
<script type="text/javascript" src="../extension/scripts/Sitemap.js"></script>
4848
<script type="text/javascript" src="../extension/scripts/ChromePopupBrowser.js"></script>
49+
<script type="text/javascript" src="../extension/scripts/DateUtils/DateRoller.js"></script>
50+
<script type="text/javascript" src="../extension/scripts/DateUtils/DatePatternSupport.js"></script>
51+
<script type="text/javascript" src="../extension/scripts/DateUtils/SimpleDateFormatter.js"></script>
4952
<!-- content script -->
5053
<script type="text/javascript" src="../extension/assets/css-selector/lib/CssSelector.js"></script>
5154
<script type="text/javascript" src="../extension/scripts/DataExtractor.js"></script>
@@ -75,6 +78,7 @@
7578
<script type="text/javascript" src="spec/ContentSelectorSpec.js"></script>
7679
<script type="text/javascript" src="spec/SelectorListSpec.js"></script>
7780
<script type="text/javascript" src="spec/SitemapSpec.js"></script>
81+
<script type="text/javascript" src="spec/DateUtilsSpec.js"></script>
7882
<script type="text/javascript" src="spec/BackgroundScriptSpec.js"></script>
7983
<script type="text/javascript" src="spec/ContentScriptSpec.js"></script>
8084
<script type="text/javascript" src="spec/SelectorSpec.js"></script>

tests/spec/DateUtilsSpec.js

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
describe("DateUtils", function () {
2+
3+
beforeEach(function () {
4+
this.addMatchers(selectorMatchers);
5+
});
6+
7+
it("'SimpleDateFormatter.format' pattern 'yyyy/MM/dd'", function(){
8+
var pattern = "yyyy/MM/dd";
9+
var date = new Date("1979-02-01T00:00:00.000Z");
10+
var expected = "1979/02/01";
11+
var df = new SimpleDateFormatter(pattern);
12+
expect(df.format(date)).toEqual(expected);
13+
});
14+
15+
it("'SimpleDateFormatter.format' pattern 'dd/MM/yy'", function(){
16+
var pattern = "dd/MM/yy";
17+
var date = new Date("1979-02-01T00:00:00.000Z");
18+
var expected = "01/02/79";
19+
var df = new SimpleDateFormatter(pattern);
20+
expect(df.format(date)).toEqual(expected);
21+
});
22+
23+
it("'SimpleDateFormatter.format' pattern 'dd MMM yy'", function(){
24+
var pattern = "dd MMM yy";
25+
var date = new Date("1979-02-01T00:00:00.000Z");
26+
var expected = "01 Feb 79";
27+
var df = new SimpleDateFormatter(pattern);
28+
expect(df.format(date)).toEqual(expected);
29+
});
30+
31+
it("'SimpleDateFormatter.format' pattern 'dd MMM yyyy'", function(){
32+
var pattern = "dd MMM yyyy";
33+
var date = new Date("1979-02-01T00:00:00.000Z");
34+
var expected = "01 Feb 1979";
35+
var df = new SimpleDateFormatter(pattern);
36+
expect(df.format(date)).toEqual(expected);
37+
});
38+
39+
it("'SimpleDateFormatter.parse' pattern 'dd.MMM.yy'", function(){
40+
var pattern = "dd.MMM.yy";
41+
var date = "15.Aug.16";
42+
var expected = new Date("2016-08-15T00:00:00.000Z");
43+
var df = new SimpleDateFormatter(pattern);
44+
expect(df.parse(date)).toEqual(expected);
45+
});
46+
47+
it("'SimpleDateFormatter.parse' pattern 'MM/dd/yyyy'", function(){
48+
var pattern = "MM/dd/yyyy";
49+
var date = "02.29.2016";
50+
var expected = new Date("2016-02-29T00:00:00.000Z");
51+
var df = new SimpleDateFormatter(pattern);
52+
expect(df.parse(date)).toEqual(expected);
53+
});
54+
55+
it("'SimpleDateFormatter.parse' pattern 'dd.MM.yyyy'", function(){
56+
var pattern = "dd.MM.yyyy";
57+
var date = "16.06.2016";
58+
var expected = new Date("2016-06-16T00:00:00.000Z");
59+
var df = new SimpleDateFormatter(pattern);
60+
expect(df.parse(date)).toEqual(expected);
61+
});
62+
63+
it("'DateRoller.days' should return one day", function(){
64+
var from = new Date("1979-02-01T00:00:00.000Z");
65+
var to = new Date("1979-02-01T00:00:00.000Z");
66+
var roller = DateRoller.days(from, to);
67+
var expectedDays = 1;
68+
expect(roller.length).toEqual(expectedDays);
69+
});
70+
71+
it("'DateRoller.days' should return 366 days", function(){
72+
var from = new Date("2016-12-31T00:00:00.000Z");
73+
var to = new Date("2016-01-01T00:00:00.000Z");
74+
var roller = DateRoller.days(from, to);
75+
var expectedDays = 366;
76+
expect(roller.length).toEqual(expectedDays);
77+
});
78+
79+
it("'DateRoller.days' should return multiple days increasing", function(){
80+
var from = new Date("1979-02-01T00:00:00.000Z");
81+
var to = new Date("1979-02-03T00:00:00.000Z");
82+
var roller = DateRoller.days(from, to);
83+
var expectedDays = [
84+
new Date("1979-02-01T00:00:00.000Z"),
85+
new Date("1979-02-02T00:00:00.000Z"),
86+
new Date("1979-02-03T00:00:00.000Z")
87+
];
88+
expect(roller).toEqual(expectedDays);
89+
});
90+
91+
it("'DateRoller.days' should return multiple days decreasing", function(){
92+
var from = new Date("2017-05-02T00:00:00.000Z");
93+
var to = new Date("2017-04-30T00:00:00.000Z");
94+
var roller = DateRoller.days(from, to);
95+
var expectedDays = [
96+
new Date("2017-05-02T00:00:00.000Z"),
97+
new Date("2017-05-01T00:00:00.000Z"),
98+
new Date("2017-04-30T00:00:00.000Z")
99+
];
100+
expect(roller).toEqual(expectedDays);
101+
});
102+
103+
it("'DatePatternSupport.expandUrl' should return one url", function(){
104+
var url = "http://example.com/[date<dd/MM/yyyy><24/05/2017><24/05/2017>]/index.html";
105+
var expandedUrls = DatePatternSupport.expandUrl(url);
106+
var expectedDays = ["http://example.com/24/05/2017/index.html"];
107+
expect(expandedUrls).toEqual(expectedDays);
108+
});
109+
110+
it("'DatePatternSupport.expandUrl' should return three urls from 'yesterday' to 'tomorrow'", function(){
111+
var url = "http://example.com/[date<dd/MM/yyyy><tomorrow><yesterday>]/index.html";
112+
var expandedUrls = DatePatternSupport.expandUrl(url);
113+
var expectedDays = 3;
114+
expect(expandedUrls.length).toEqual(expectedDays);
115+
});
116+
117+
});

0 commit comments

Comments
 (0)