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
|
||||
m = doc.match('#Person would')
|
||||
setContraction(m, `'d`)
|
||||
// would not -> wouldn't
|
||||
m = doc.match('(is|was|had|would|should|could|do|does|have|has|can) not')
|
||||
// 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').ifNo('@hasContraction')
|
||||
setContraction(m, `n't`)
|
||||
// i have -> i've
|
||||
m = doc.match('(i|we|they) have')
|
||||
|
||||
@@ -41,6 +41,23 @@ test('contract basic', function (t) {
|
||||
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) {
|
||||
let doc = nlp('Tony, is').contract()
|
||||
t.equal(doc.has('is'), true, here + 'avoid-contraction 1')
|
||||
|
||||
Reference in new issue
Block a user