1
- import { parseISO } from 'date-fns' ;
2
- import { it , expect } from 'vitest' ;
3
- import { createFormatter } from '../../src' ;
1
+ import { parseISO } from 'date-fns' ;
2
+ import { it , expect } from 'vitest' ;
3
+ import { createFormatter } from '../../src' ;
4
4
5
5
it ( 'formats a date and time' , ( ) => {
6
6
const formatter = createFormatter ( {
7
7
locale : 'en' ,
8
- timeZone : 'Europe/Berlin' ,
8
+ timeZone : 'Europe/Berlin'
9
9
} ) ;
10
10
expect (
11
11
formatter . dateTime ( parseISO ( '2020-11-20T10:36:01.516Z' ) , {
12
- dateStyle : 'medium' ,
12
+ dateStyle : 'medium'
13
13
} )
14
14
) . toBe ( 'Nov 20, 2020' ) ;
15
15
} ) ;
16
16
17
17
it ( 'formats an ISO 8601 datetime string' , ( ) => {
18
18
const formatter = createFormatter ( {
19
19
locale : 'en' ,
20
- timeZone : 'Europe/Berlin' ,
20
+ timeZone : 'Europe/Berlin'
21
21
} ) ;
22
22
expect (
23
23
formatter . dateTime ( '2020-11-20T10:36:01.516Z' , {
24
- dateStyle : 'medium' ,
24
+ dateStyle : 'medium'
25
25
} )
26
26
) . toBe ( 'Nov 20, 2020' ) ;
27
27
} ) ;
28
28
29
29
it ( 'formats a number' , ( ) => {
30
30
const formatter = createFormatter ( {
31
31
locale : 'en' ,
32
- timeZone : 'Europe/Berlin' ,
32
+ timeZone : 'Europe/Berlin'
33
33
} ) ;
34
34
expect ( formatter . number ( 123456 ) ) . toBe ( '123,456' ) ;
35
35
} ) ;
36
36
37
37
it ( 'formats a bigint' , ( ) => {
38
38
const formatter = createFormatter ( {
39
39
locale : 'en' ,
40
- timeZone : 'Europe/Berlin' ,
40
+ timeZone : 'Europe/Berlin'
41
41
} ) ;
42
42
expect ( formatter . number ( 123456789123456789n ) ) . toBe ( '123,456,789,123,456,789' ) ;
43
43
} ) ;
44
44
45
45
it ( 'formats a number as currency' , ( ) => {
46
46
const formatter = createFormatter ( {
47
47
locale : 'en' ,
48
- timeZone : 'Europe/Berlin' ,
48
+ timeZone : 'Europe/Berlin'
49
49
} ) ;
50
50
expect (
51
- formatter . number ( 123456.789 , { style : 'currency' , currency : 'USD' } )
51
+ formatter . number ( 123456.789 , { style : 'currency' , currency : 'USD' } )
52
52
) . toBe ( '$123,456.79' ) ;
53
53
} ) ;
54
54
55
55
it ( 'formats a bigint as currency' , ( ) => {
56
56
const formatter = createFormatter ( {
57
57
locale : 'en' ,
58
- timeZone : 'Europe/Berlin' ,
58
+ timeZone : 'Europe/Berlin'
59
59
} ) ;
60
60
expect (
61
61
formatter . number ( 123456789123456789n , {
62
62
style : 'currency' ,
63
- currency : 'USD' ,
63
+ currency : 'USD'
64
64
} )
65
65
) . toBe ( '$123,456,789,123,456,789.00' ) ;
66
66
} ) ;
67
67
68
68
it ( 'formats a relative time with the second unit' , ( ) => {
69
69
const formatter = createFormatter ( {
70
70
locale : 'en' ,
71
- timeZone : 'Europe/Berlin' ,
71
+ timeZone : 'Europe/Berlin'
72
72
} ) ;
73
73
expect (
74
74
formatter . relativeTime (
@@ -81,7 +81,7 @@ it('formats a relative time with the second unit', () => {
81
81
it ( 'formats a relative time with the minute unit' , ( ) => {
82
82
const formatter = createFormatter ( {
83
83
locale : 'en' ,
84
- timeZone : 'Europe/Berlin' ,
84
+ timeZone : 'Europe/Berlin'
85
85
} ) ;
86
86
expect (
87
87
formatter . relativeTime (
@@ -94,7 +94,7 @@ it('formats a relative time with the minute unit', () => {
94
94
it ( 'formats a relative time with the hour unit' , ( ) => {
95
95
const formatter = createFormatter ( {
96
96
locale : 'en' ,
97
- timeZone : 'Europe/Berlin' ,
97
+ timeZone : 'Europe/Berlin'
98
98
} ) ;
99
99
expect (
100
100
formatter . relativeTime (
@@ -107,7 +107,7 @@ it('formats a relative time with the hour unit', () => {
107
107
it ( 'formats a relative time with the day unit' , ( ) => {
108
108
const formatter = createFormatter ( {
109
109
locale : 'en' ,
110
- timeZone : 'Europe/Berlin' ,
110
+ timeZone : 'Europe/Berlin'
111
111
} ) ;
112
112
expect (
113
113
formatter . relativeTime (
@@ -120,7 +120,7 @@ it('formats a relative time with the day unit', () => {
120
120
it ( 'formats a relative time with the month unit' , ( ) => {
121
121
const formatter = createFormatter ( {
122
122
locale : 'en' ,
123
- timeZone : 'Europe/Berlin' ,
123
+ timeZone : 'Europe/Berlin'
124
124
} ) ;
125
125
expect (
126
126
formatter . relativeTime (
@@ -133,7 +133,7 @@ it('formats a relative time with the month unit', () => {
133
133
it ( 'formats a relative time with the year unit' , ( ) => {
134
134
const formatter = createFormatter ( {
135
135
locale : 'en' ,
136
- timeZone : 'Europe/Berlin' ,
136
+ timeZone : 'Europe/Berlin'
137
137
} ) ;
138
138
expect (
139
139
formatter . relativeTime (
@@ -146,7 +146,7 @@ it('formats a relative time with the year unit', () => {
146
146
it ( 'supports the future relative time' , ( ) => {
147
147
const formatter = createFormatter ( {
148
148
locale : 'en' ,
149
- timeZone : 'Europe/Berlin' ,
149
+ timeZone : 'Europe/Berlin'
150
150
} ) ;
151
151
expect (
152
152
formatter . relativeTime (
@@ -159,25 +159,25 @@ it('supports the future relative time', () => {
159
159
it ( 'formats a relative time with options' , ( ) => {
160
160
const formatter = createFormatter ( {
161
161
locale : 'en' ,
162
- timeZone : 'Europe/Berlin' ,
162
+ timeZone : 'Europe/Berlin'
163
163
} ) ;
164
164
expect (
165
165
formatter . relativeTime ( parseISO ( '2020-11-20T08:30:00.000Z' ) , {
166
166
now : parseISO ( '2020-11-20T10:36:00.000Z' ) ,
167
- unit : 'day' ,
167
+ unit : 'day'
168
168
} )
169
169
) . toBe ( 'today' ) ;
170
170
} ) ;
171
171
172
172
it ( 'supports the quarter unit' , ( ) => {
173
173
const formatter = createFormatter ( {
174
174
locale : 'en' ,
175
- timeZone : 'Europe/Berlin' ,
175
+ timeZone : 'Europe/Berlin'
176
176
} ) ;
177
177
expect (
178
178
formatter . relativeTime ( parseISO ( '2020-01-01T00:00:00.000Z' ) , {
179
179
now : parseISO ( '2020-11-01T01:00:00.000Z' ) ,
180
- unit : 'quarter' ,
180
+ unit : 'quarter'
181
181
} )
182
182
) . toBe ( '3 quarters ago' ) ;
183
183
} ) ;
@@ -186,33 +186,33 @@ it('formats a relative time with a globally defined `now`', () => {
186
186
const formatter = createFormatter ( {
187
187
locale : 'en' ,
188
188
now : parseISO ( '2020-11-20T01:00:00.000Z' ) ,
189
- timeZone : 'Europe/Berlin' ,
189
+ timeZone : 'Europe/Berlin'
190
190
} ) ;
191
191
expect (
192
192
formatter . relativeTime ( parseISO ( '2020-11-20T00:00:00.000Z' ) , {
193
- unit : 'day' ,
193
+ unit : 'day'
194
194
} )
195
195
) . toBe ( 'today' ) ;
196
196
} ) ;
197
197
198
198
it ( 'formats a list' , ( ) => {
199
199
const formatter = createFormatter ( {
200
200
locale : 'en' ,
201
- timeZone : 'Europe/Berlin' ,
201
+ timeZone : 'Europe/Berlin'
202
202
} ) ;
203
203
expect (
204
- formatter . list ( [ 'apple' , 'banana' , 'orange' ] , { type : 'disjunction' } )
204
+ formatter . list ( [ 'apple' , 'banana' , 'orange' ] , { type : 'disjunction' } )
205
205
) . toBe ( 'apple, banana, or orange' ) ;
206
206
} ) ;
207
207
208
208
it ( 'formats a set' , ( ) => {
209
209
const formatter = createFormatter ( {
210
210
locale : 'en' ,
211
- timeZone : 'Europe/Berlin' ,
211
+ timeZone : 'Europe/Berlin'
212
212
} ) ;
213
213
expect (
214
214
formatter . list ( new Set ( [ 'apple' , 'banana' , 'orange' ] ) , {
215
- type : 'disjunction' ,
215
+ type : 'disjunction'
216
216
} )
217
217
) . toBe ( 'apple, banana, or orange' ) ;
218
218
} ) ;
0 commit comments