70 lines
2.0 KiB
JavaScript
70 lines
2.0 KiB
JavaScript
import test from 'tape'
|
|
import nlp from './_lib.js'
|
|
|
|
test('dmy option loop', function (t) {
|
|
const arr = [
|
|
['01/02', 'January 2', false],
|
|
['01/12', 'January 12', false],
|
|
['01/24', 'January 24', false],
|
|
|
|
['01/02', 'February 1', true],
|
|
['01/12', 'December 1', true],
|
|
// ['01/24', 'January 24', true], //invalid dmy fallback?
|
|
|
|
['02/03/1999', 'February 3', undefined],
|
|
['02/03/1999', 'February 3', false],
|
|
['02/03/1999', 'March 2', true],
|
|
|
|
// iso unaffected
|
|
['1999-03-02', 'March 2'],
|
|
['1999-03-02', 'March 2', false],
|
|
['1999-03-02', 'March 2', true],
|
|
]
|
|
arr.forEach((a) => {
|
|
const [str, want, bool] = a
|
|
const doc = nlp(str)
|
|
t.equal(doc.has('#Date'), true, str + ' #Date')
|
|
const out = doc.dates({ dmy: bool }).format('{month} {date}').text()
|
|
t.equal(out, want, str)
|
|
})
|
|
t.end()
|
|
})
|
|
|
|
test('dmy option falsy', function (t) {
|
|
t.equal('March 26', nlp('03/26').dates().format('{month} {date}').text(), 'WITHOUT dmy option')
|
|
t.equal('March 26', nlp('03/26').dates({ dmy: false }).format('{month} {date}').text(), 'WITHOUT dmy option')
|
|
t.equal('March 26', nlp('26/03').dates().format('{month} {date}').text(), 'WITHOUT dmy option')
|
|
t.equal('March 26', nlp('26/03').dates({ dmy: false }).format('{month} {date}').text(), 'WITHOUT dmy option')
|
|
t.equal('March 4', nlp('03/04').dates().format('{month} {date}').text(), 'WITHOUT dmy option')
|
|
t.equal('March 4', nlp('03/04').dates({ dmy: false }).format('{month} {date}').text(), 'WITHOUT dmy option')
|
|
t.end()
|
|
})
|
|
|
|
test('dmy option true', function (t) {
|
|
const out = nlp('03/04').dates({ dmy: true }).format('{month} {date}').text()
|
|
t.equal('April 3', out, 'WITH dmy option')
|
|
|
|
t.end()
|
|
})
|
|
|
|
test('dmy invalid', function (t) {
|
|
const arr = [
|
|
'24/24',
|
|
'124/2',
|
|
'2/232',
|
|
'0/2',
|
|
'2/0',
|
|
'2/-2',
|
|
'-2/2',
|
|
'2/2.3',
|
|
'2.3/2',
|
|
]
|
|
arr.forEach((str) => {
|
|
const doc = nlp(str)
|
|
t.equal(doc.dates({ dmy: true }).get().length, 0, str, '-dmy')
|
|
t.equal(doc.dates({ dmy: false }).get().length, 0, str + '-mdy')
|
|
})
|
|
|
|
t.end()
|
|
})
|