73 lines
2.3 KiB
JavaScript
73 lines
2.3 KiB
JavaScript
import test from 'tape'
|
|
import nlp from '../_lib.js'
|
|
const here = '[three/sentence-misc] '
|
|
|
|
test('misc sentences', function (t) {
|
|
let doc = nlp(`quickly, suddenly`)
|
|
t.equal(doc.sentences().length, 1, here + 'found one sentence')
|
|
|
|
doc = nlp(`john, bill, and joe. Here we go. Must be three now.`)
|
|
t.equal(doc.sentences().length, 3, here + 'found three sentences')
|
|
|
|
const d = nlp(`i am good`)
|
|
const s = d.sentences()
|
|
s.replace('am', 'was')
|
|
t.equal(d.text(), 'i was good', here + 'tricky map replace bug')
|
|
|
|
t.end()
|
|
})
|
|
|
|
test('full sentence', function (t) {
|
|
const doc = nlp(`john, bill, and joe. Here we go. Must be three now.`)
|
|
const m = doc.match('we')
|
|
t.equal(m.sentences().text(), 'Here we go.', here + 'found full sentence')
|
|
t.end()
|
|
})
|
|
|
|
test('sentence prepend', function (t) {
|
|
let doc = nlp('He is cool.')
|
|
doc.sentences().prepend('so i think')
|
|
t.equal(doc.text(), 'So i think he is cool.', here + 'reset titlecase')
|
|
|
|
doc = nlp('Spencer is cool.')
|
|
doc.sentences().prepend('yeah')
|
|
t.equal(doc.text(), 'Yeah Spencer is cool.', here + 'leave propernoun titlecase')
|
|
t.end()
|
|
})
|
|
|
|
test('sentence filters', function (t) {
|
|
const doc = nlp('He is cool? I think not. Yipeee!').sentences()
|
|
|
|
t.equal(doc.isExclamation().length, 1, here + 'has-exclamation')
|
|
t.equal(doc.isQuestion().length, 1, here + 'has-question')
|
|
t.equal(doc.isStatement().length, 1, here + 'has-statement')
|
|
|
|
t.end()
|
|
})
|
|
|
|
test('sentence append', function (t) {
|
|
let doc = nlp('Spencer is cool.')
|
|
doc.sentences().append('i think')
|
|
t.equal(doc.text(), 'Spencer is cool i think.', here + 'move period')
|
|
|
|
doc = nlp('Spencer is cool?')
|
|
doc.sentences().append('i think')
|
|
t.equal(doc.text(), 'Spencer is cool i think?', here + 'move question-mark')
|
|
|
|
doc = nlp('Spencer is cool!')
|
|
doc.sentences().append('i think')
|
|
t.equal(doc.text(), 'Spencer is cool i think!', here + 'move exclamation-mark')
|
|
t.end()
|
|
})
|
|
|
|
// test('sentence append - change', function (t) {
|
|
// let doc = nlp('i am cool. it is raining!')
|
|
// doc.sentences().append('right?')
|
|
// t.equal(doc.text(), 'i am cool right? it is raining right?', 'change ending')
|
|
|
|
// doc = nlp('it is cool? it is raining?')
|
|
// doc.sentences(0).append('for sure. ')
|
|
// t.equal(doc.all().text(), 'it is cool for sure. it is raining?', 'change ending 2')
|
|
// t.end()
|
|
// })
|