Contract 'he is not' to he's not instead of he'sn't
This commit is contained in:
1 parent
3af928964b
commit
8b01e1240a
2 files changed
+19
-2
No files matched your search
@@ -45,8 +45,8 @@ const contract = function () {
|
|||||||
// spencer would -> spencer'd
|
// spencer would -> spencer'd
|
||||||
m = doc.match('#Person would')
|
m = doc.match('#Person would')
|
||||||
setContraction(m, `'d`)
|
setContraction(m, `'d`)
|
||||||
// would not -> wouldn't
|
// would not -> wouldn't (skip words already contracted above, like he's)
|
||||||
m = doc.match('(is|was|had|would|should|could|do|does|have|has|can) not')
|
m = doc.match('(is|was|had|would|should|could|do|does|have|has|can) not').ifNo('@hasContraction')
|
||||||
setContraction(m, `n't`)
|
setContraction(m, `n't`)
|
||||||
// i have -> i've
|
// i have -> i've
|
||||||
m = doc.match('(i|we|they) have')
|
m = doc.match('(i|we|they) have')
|
||||||
|
|||||||
@@ -41,6 +41,23 @@ test('contract basic', function (t) {
|
|||||||
t.end()
|
t.end()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('contract before not', function (t) {
|
||||||
|
let doc = nlp('he is not here')
|
||||||
|
doc.contract()
|
||||||
|
t.equal(doc.text(), `he's not here`, here + 'he is not')
|
||||||
|
doc.contractions().expand()
|
||||||
|
t.equal(doc.text(), 'he is not here', here + 'he is not expand')
|
||||||
|
|
||||||
|
doc = nlp('spencer is not here')
|
||||||
|
doc.contract()
|
||||||
|
t.equal(doc.text(), `spencer's not here`, here + 'spencer is not')
|
||||||
|
|
||||||
|
doc = nlp('that is not true')
|
||||||
|
doc.contract()
|
||||||
|
t.equal(doc.text(), `that isn't true`, here + 'that is not')
|
||||||
|
t.end()
|
||||||
|
})
|
||||||
|
|
||||||
test('avoid contraction messes', function (t) {
|
test('avoid contraction messes', function (t) {
|
||||||
let doc = nlp('Tony, is').contract()
|
let doc = nlp('Tony, is').contract()
|
||||||
t.equal(doc.has('is'), true, here + 'avoid-contraction 1')
|
t.equal(doc.has('is'), true, here + 'avoid-contraction 1')
|
||||||
|
|||||||
Reference in new issue
Block a user