-
Notifications
You must be signed in to change notification settings - Fork 795
/
QDateTests.cs
109 lines (98 loc) · 5.2 KB
/
QDateTests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
using QUnit;
using Serenity;
using System;
namespace Serenity.Test
{
[TestFixture]
public class QDateTests
{
[Test]
public void FormatDateWorks()
{
var backupDec = Q.Culture.DateSeparator;
var backupDateFormat = Q.Culture.DateFormat;
var backupDateTimeFormat = Q.Culture.DateTimeFormat;
try
{
Q.Culture.DateSeparator = "/";
Q.Culture.DateFormat = "dd/MM/yyyy";
Q.Culture.DateTimeFormat = "dd/MM/yyyy HH:mm:ss";
var date = new JsDate(2029, 0, 2, 3, 4, 5, 6); // 02.01.2029 03:04:05.006
Assert.AreEqual(Q.FormatDate(date, "dd/MM/yyyy"), "02/01/2029", "'/': dd/MM/yyy");
Assert.AreEqual(Q.FormatDate(date, "d/M/yy"), "2/1/29", "'/': d/M/yy");
Assert.AreEqual(Q.FormatDate(date, "d.M.yyyy"), "2.1.2029", "'/': d.M.yyy");
Assert.AreEqual(Q.FormatDate(date, "yyyyMMdd"), "20290102", "'/': yyyyMMdd");
Assert.AreEqual(Q.FormatDate(date, "hh:mm tt"), "03:04 AM", "'/': hh:mm tt");
Assert.AreEqual(Q.FormatDate(date, "yyyy-MM-ddTHH:mm:ss.fff"), "2029-01-02T03:04:05.006", "'/': yyyy-MM-ddTHH:mm:ss.fff");
Assert.AreEqual(Q.FormatDate(date, "d"), "02/01/2029", "'/': d");
Assert.AreEqual(Q.FormatDate(date, "g"), "02/01/2029 03:04", "'/': g");
Assert.AreEqual(Q.FormatDate(date, "G"), "02/01/2029 03:04:05", "'/': G");
Assert.AreEqual(Q.FormatDate(date, "s"), "2029-01-02T03:04:05", "'/': s");
Assert.AreEqual(Q.FormatDate(date, "u"), Q.FormatISODateTimeUTC(date), "'/': u");
Q.Culture.DateSeparator = ".";
Assert.AreEqual(Q.FormatDate(date, "dd/MM/yyyy"), "02.01.2029", "'.': dd/MM/yyy");
Assert.AreEqual(Q.FormatDate(date, "d/M/yy"), "2.1.29", "'.': d/M/yy");
Assert.AreEqual(Q.FormatDate(date, "d-M-yyyy"), "2-1-2029", "'.': d-M-yyy");
Assert.AreEqual(Q.FormatDate(date, "yyyy-MM-ddTHH:mm:ss.fff"), "2029-01-02T03:04:05.006", "'.': yyyy-MM-ddTHH:mm:ss.fff");
Assert.AreEqual(Q.FormatDate(date, "g"), "02.01.2029 03:04", "'.': g");
Assert.AreEqual(Q.FormatDate(date, "G"), "02.01.2029 03:04:05", "'.': G");
Assert.AreEqual(Q.FormatDate(date, "s"), "2029-01-02T03:04:05", "'.': s");
Assert.AreEqual(Q.FormatDate(date, "u"), Q.FormatISODateTimeUTC(date), "'.': u");
}
finally
{
Q.Culture.DecimalSeparator = backupDec;
Q.Culture.DateFormat = backupDateFormat;
Q.Culture.DateTimeFormat = backupDateTimeFormat;
}
}
[Test]
public void FormatDateWorksWithISOString()
{
var backupDec = Q.Culture.DateSeparator;
var backupDateFormat = Q.Culture.DateFormat;
var backupDateTimeFormat = Q.Culture.DateTimeFormat;
try
{
Q.Culture.DateSeparator = "/";
Q.Culture.DateFormat = "dd/MM/yyyy";
Q.Culture.DateTimeFormat = "dd/MM/yyyy HH:mm:ss";
Assert.AreEqual(Q.FormatDate("2029-01-02"), "02/01/2029", "'/': date only, empty format");
Assert.AreEqual(Q.FormatDate("2029-01-02T16:35:24"), "02/01/2029", "'/': date with time, empty format");
Assert.AreEqual(Q.FormatDate("2029-01-02T16:35:24", "g"), "02/01/2029 16:35", "'/': date with time, g format");
Q.Culture.DateSeparator = ".";
Assert.AreEqual(Q.FormatDate("2029-01-02"), "02.01.2029", "'.': date only, empty format");
Assert.AreEqual(Q.FormatDate("2029-01-02T16:35:24"), "02.01.2029", "'.': date with time, empty format");
Assert.AreEqual(Q.FormatDate("2029-01-02T16:35:24", "g"), "02.01.2029 16:35", "'.': date with time, g format");
}
finally
{
Q.Culture.DecimalSeparator = backupDec;
Q.Culture.DateFormat = backupDateFormat;
Q.Culture.DateTimeFormat = backupDateTimeFormat;
}
}
[Test]
public void FormatDateWorksWithDateString()
{
var backupDec = Q.Culture.DateSeparator;
var backupDateFormat = Q.Culture.DateFormat;
var backupDateTimeFormat = Q.Culture.DateTimeFormat;
try
{
Q.Culture.DateSeparator = "/";
Q.Culture.DateFormat = "dd/MM/yyyy";
Q.Culture.DateTimeFormat = "dd/MM/yyyy HH:mm:ss";
Assert.AreEqual(Q.FormatDate("2/1/2029"), "02/01/2029", "'/': date only, empty format");
Q.Culture.DateSeparator = ".";
Assert.AreEqual(Q.FormatDate("2/1/2029"), "02.01.2029", "'.': date only, empty format");
}
finally
{
Q.Culture.DecimalSeparator = backupDec;
Q.Culture.DateFormat = backupDateFormat;
Q.Culture.DateTimeFormat = backupDateTimeFormat;
}
}
}
}