Contract 'can not' to can't, and 'did not' and 'were not' too
This commit is contained in:
1 parent
dc46a6d7eb
commit
59098d75c7
2 files changed
+21
-1
No files matched your search
@@ -46,8 +46,11 @@ const contract = function () {
|
|||||||
m = doc.match('#Person would')
|
m = doc.match('#Person would')
|
||||||
setContraction(m, `'d`)
|
setContraction(m, `'d`)
|
||||||
// would not -> wouldn't
|
// would not -> wouldn't
|
||||||
m = doc.match('(is|was|had|would|should|could|do|does|have|has|can) not')
|
m = doc.match('(is|was|were|had|would|should|could|do|does|did|have|has) not')
|
||||||
setContraction(m, `n't`)
|
setContraction(m, `n't`)
|
||||||
|
// can not -> can't
|
||||||
|
m = doc.match('can not')
|
||||||
|
setContraction(m, `'t`)
|
||||||
// i have -> i've
|
// i have -> i've
|
||||||
m = doc.match('(i|we|they) have')
|
m = doc.match('(i|we|they) have')
|
||||||
setContraction(m, `'ve`)
|
setContraction(m, `'ve`)
|
||||||
|
|||||||
@@ -74,3 +74,20 @@ test('multiple contraction in sentence', function (t) {
|
|||||||
t.equal(doc.match('he is dead').length, 2, here + 'multi-contraction-count')
|
t.equal(doc.match('he is dead').length, 2, here + 'multi-contraction-count')
|
||||||
t.end()
|
t.end()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('contract negatives', function (t) {
|
||||||
|
const arr = [
|
||||||
|
['I can not go', `I can't go`],
|
||||||
|
['You Can not go', `You Can't go`],
|
||||||
|
['i did not go', `i didn't go`],
|
||||||
|
['they were not here', `they weren't here`],
|
||||||
|
]
|
||||||
|
arr.forEach(a => {
|
||||||
|
const doc = nlp(a[0])
|
||||||
|
doc.contract()
|
||||||
|
t.equal(doc.text(), a[1], here + a[0])
|
||||||
|
doc.contractions().expand()
|
||||||
|
t.equal(doc.text(), a[0], here + 'expand ' + a[0])
|
||||||
|
})
|
||||||
|
t.end()
|
||||||
|
})
|
||||||
Reference in new issue
Block a user