31 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
|  | import { formatTime } from '@/utils/index.js' | ||
|  | 
 | ||
|  | describe('Utils:formatTime', () => { | ||
|  |   const d = new Date('2018-07-13 17:54:01') // "2018-07-13 17:54:01"
 | ||
|  |   const retrofit = 5 * 1000 | ||
|  | 
 | ||
|  |   it('ten digits timestamp', () => { | ||
|  |     expect(formatTime((d / 1000).toFixed(0))).toBe('7月13日17时54分') | ||
|  |   }) | ||
|  |   it('test now', () => { | ||
|  |     expect(formatTime(+new Date() - 1)).toBe('刚刚') | ||
|  |   }) | ||
|  |   it('less two minute', () => { | ||
|  |     expect(formatTime(+new Date() - 60 * 2 * 1000 + retrofit)).toBe('2分钟前') | ||
|  |   }) | ||
|  |   it('less two hour', () => { | ||
|  |     expect(formatTime(+new Date() - 60 * 60 * 2 * 1000 + retrofit)).toBe('2小时前') | ||
|  |   }) | ||
|  |   it('less one day', () => { | ||
|  |     expect(formatTime(+new Date() - 60 * 60 * 24 * 1 * 1000)).toBe('1天前') | ||
|  |   }) | ||
|  |   it('more than one day', () => { | ||
|  |     expect(formatTime(d)).toBe('7月13日17时54分') | ||
|  |   }) | ||
|  |   it('format', () => { | ||
|  |     expect(formatTime(d, '{y}-{m}-{d} {h}:{i}')).toBe('2018-07-13 17:54') | ||
|  |     expect(formatTime(d, '{y}-{m}-{d}')).toBe('2018-07-13') | ||
|  |     expect(formatTime(d, '{y}/{m}/{d} {h}-{i}')).toBe('2018/07/13 17-54') | ||
|  |   }) | ||
|  | }) |