11import assert from 'assert' ;
2- import moment from 'moment-timezone ' ;
2+ import dayjs from 'dayjs ' ;
33
44import cleanDatePublished , { cleanDateString } from './date-published' ;
55
66describe ( 'cleanDatePublished(dateString)' , ( ) => {
77 it ( 'returns a date' , ( ) => {
88 const datePublished = cleanDatePublished ( 'published: 1/1/2020' ) ;
99
10- assert . equal ( datePublished , moment ( '1/1/2020' , 'MM/DD /YYYY' ) . toISOString ( ) ) ;
10+ assert . equal ( datePublished , dayjs ( '1/1/2020' , 'M/D /YYYY' ) . toISOString ( ) ) ;
1111 } ) ;
1212
1313 it ( 'returns null if date is invalid' , ( ) => {
@@ -28,37 +28,37 @@ describe('cleanDatePublished(dateString)', () => {
2828 it ( 'accepts a custom date format' , ( ) => {
2929 // The JS date parser is forgiving, but
3030 // it needs am/pm separated from a time
31- const datePublished = cleanDatePublished ( 'Mon Aug 03 12:45:00 EDT 2015' , {
31+ const datePublished = cleanDatePublished ( 'Aug 03 12:45:00 EDT 2015' , {
3232 timezone : 'America/New_York' ,
33- format : 'ddd MMM DD HH:mm:ss zz YYYY' ,
33+ format : 'MMM DD HH:mm:ss z YYYY' ,
3434 } ) ;
3535 assert . equal ( datePublished , '2015-08-03T16:45:00.000Z' ) ;
3636 } ) ;
3737
3838 it ( 'can handle dates formatted as "[just|right] now"' , ( ) => {
3939 const date1 = cleanDatePublished ( 'now' ) ;
40- const newDate1 = moment ( date1 )
40+ const newDate1 = dayjs ( date1 )
4141 . format ( )
4242 . split ( 'T' ) [ 0 ] ;
43- const expectedDate1 = moment ( )
43+ const expectedDate1 = dayjs ( )
4444 . format ( )
4545 . split ( 'T' ) [ 0 ] ;
4646 assert . equal ( newDate1 , expectedDate1 ) ;
4747
4848 const date2 = cleanDatePublished ( 'just now' ) ;
49- const newDate2 = moment ( date2 )
49+ const newDate2 = dayjs ( date2 )
5050 . format ( )
5151 . split ( 'T' ) [ 0 ] ;
52- const expectedDate2 = moment ( )
52+ const expectedDate2 = dayjs ( )
5353 . format ( )
5454 . split ( 'T' ) [ 0 ] ;
5555 assert . equal ( newDate2 , expectedDate2 ) ;
5656
5757 const date3 = cleanDatePublished ( 'right now' ) ;
58- const newDate3 = moment ( date3 )
58+ const newDate3 = dayjs ( date3 )
5959 . format ( )
6060 . split ( 'T' ) [ 0 ] ;
61- const expectedDate3 = moment ( )
61+ const expectedDate3 = dayjs ( )
6262 . format ( )
6363 . split ( 'T' ) [ 0 ] ;
6464 assert . equal ( newDate3 , expectedDate3 ) ;
@@ -69,30 +69,30 @@ describe('cleanDatePublished(dateString)', () => {
6969 // "X days ago" will not be accurate down to the exact time
7070 // "X months ago" will not be accurate down to the exact day
7171 const date1 = cleanDatePublished ( '1 hour ago' ) ;
72- const newDate1 = moment ( date1 )
72+ const newDate1 = dayjs ( date1 )
7373 . format ( )
7474 . split ( 'T' ) [ 0 ] ;
75- const expectedDate1 = moment ( )
75+ const expectedDate1 = dayjs ( )
7676 . subtract ( 1 , 'hour' )
7777 . format ( )
7878 . split ( 'T' ) [ 0 ] ;
7979 assert . equal ( newDate1 , expectedDate1 ) ;
8080
8181 const date2 = cleanDatePublished ( '5 days ago' ) ;
82- const newDate2 = moment ( date2 )
82+ const newDate2 = dayjs ( date2 )
8383 . format ( )
8484 . split ( 'T' ) [ 0 ] ;
85- const expectedDate2 = moment ( )
85+ const expectedDate2 = dayjs ( )
8686 . subtract ( 5 , 'days' )
8787 . format ( )
8888 . split ( 'T' ) [ 0 ] ;
8989 assert . equal ( newDate2 , expectedDate2 ) ;
9090
9191 const date3 = cleanDatePublished ( '10 months ago' ) ;
92- const newDate3 = moment ( date3 )
92+ const newDate3 = dayjs ( date3 )
9393 . format ( )
9494 . split ( 'T' ) [ 0 ] ;
95- const expectedDate3 = moment ( )
95+ const expectedDate3 = dayjs ( )
9696 . subtract ( 10 , 'months' )
9797 . format ( )
9898 . split ( 'T' ) [ 0 ] ;
0 commit comments