spencermountain--compromise
102 行
4.3 KiB
JavaScript
102 行
4.3 KiB
JavaScript
import test from 'tape'
|
|
import nlp from '../_lib.js'
|
|
const here = '[three/verb-find] '
|
|
|
|
test('verb-splitter:', function (t) {
|
|
const arr = [
|
|
[`poodles like being pampered`, ['like', 'being pampered']],
|
|
[`i can help fix the tire`, ['can help', 'fix']],
|
|
[`i will help out the team`, ['will help out']],
|
|
[`we breifly studied up on the theory`, ['breifly studied up']],
|
|
[`we studied breifly up in the lobby`, ['studied breifly']],
|
|
[`it waxed and waned`, ['waxed', 'waned']],
|
|
[`he ran, swam, and biked`, ['ran,', 'swam,', 'biked']],
|
|
// [`he ran to get it`, ['ran to get']],
|
|
[`he should have earned or valued it by now`, ['should have earned', 'valued']],
|
|
[`he should not have shown such skill`, ['should not have shown']],
|
|
[`walk faster`, ['walk']],
|
|
[`he professes love`, ['professes']],
|
|
[`we go eat`, ['go eat']],
|
|
[`we will go eat`, ['will go eat']],
|
|
[`we will walk and eat`, ['will walk', 'eat']],
|
|
[`when the rain pours, come have a drink`, ['pours,', 'come have']],
|
|
// [ `poodles like to be pampered`, verbs: ['like', 'be pampered'] ]
|
|
// pastTense-pastTense
|
|
[`i have been told`, ['have been told']],
|
|
[`Everyone he met told him`, ['met', 'told']],
|
|
[`Everyone he met had told him`, ['met', 'had told']],
|
|
[`Particularly sought was information`, ['Particularly sought', 'was']],
|
|
[`The one he invented was expensive`, ['invented', 'was']],
|
|
// [`fans that are blowing feel amazing`, ['are blowing', 'feel amazing']],
|
|
[`fans that were blowing felt amazing`, ['were blowing', 'felt']],
|
|
// [`recognizing written language`, ['recognizing']],
|
|
[`I'm getting written up`, ['getting written up']],
|
|
|
|
// -- verb [to] verb --
|
|
// [`while being rocked to sleep`, ['being rocked to sleep']],
|
|
// [`whilst being rocked to permit even roasting`, ['being rocked', 'permit', 'even roasting']],
|
|
// [`I got to feeling like Superman`, ['got to feeling']],
|
|
// [` I look forward to coming to your city`, ['look forward to coming']],
|
|
[`he would not stop asking questions`, ['would not stop asking']],
|
|
[`he was pissed off for having to wait`, ['was', 'having to wait']],
|
|
[`so I'm not going to walk a mile`, ['not going to walk']],
|
|
// [`Some refused to leave`, ['refused to leave']],
|
|
// [`you mean to do it`, ['mean to do']],
|
|
[`They used to wander around here`, ['used to wander around']],
|
|
// [`it continues to function as a phone`, ['continues to function']],
|
|
// [`i am fully expecting to find the piece of rubber`, ['am fully expecting to find']],
|
|
// [`the kids are not to be allowed to swim`, ['']],
|
|
// [`We have got to do better`, ['have got to do']],
|
|
// [`trying to get loose`, ['']],
|
|
// [` I did not seem to mind`, ['did not seem to mind']],
|
|
// [``, ['']],
|
|
]
|
|
arr.forEach(a => {
|
|
const [str, vbs] = a
|
|
const verbs = nlp(str).verbs().out('array')
|
|
t.deepEqual(verbs, vbs, here + str)
|
|
})
|
|
t.end()
|
|
})
|
|
|
|
//dont take it too-far
|
|
test('verb-greedy:', function (t) {
|
|
let arr = nlp('he would be, had he survived').verbs().json()
|
|
t.equal(arr.length, 2, here + 'split-on-clause')
|
|
|
|
arr = nlp('we walked, talked, and sang').verbs().json()
|
|
t.equal(arr.length, 3, here + 'split-on-list')
|
|
|
|
arr = nlp('we walked, talked, and quickly sang').verbs().json()
|
|
t.equal(arr.length, 3, here + 'split-on-list2')
|
|
|
|
arr = nlp('we suddenly walked, talked, and abruptly sang').verbs().json()
|
|
t.equal(arr.length, 3, here + 'split-on-list3')
|
|
|
|
arr = nlp('we really').verbs().json()
|
|
t.equal(arr.length, 0, here + 'adverb-isnt-a-verb')
|
|
|
|
arr = nlp('we really really').verbs().json()
|
|
t.equal(arr.length, 0, here + 'two-adverbs-isnt-a-verb')
|
|
|
|
arr = nlp('not good').verbs().json()
|
|
t.equal(arr.length, 0, here + 'not-isnt-a-verb')
|
|
|
|
let str = nlp('we must not').verbs().out('normal')
|
|
t.equal(str, 'must not', here + 'verb-not')
|
|
|
|
str = nlp('we must really').verbs().out('normal')
|
|
t.equal(str, 'must really', here + 'verb-adverb')
|
|
|
|
str = nlp('we must really not').verbs().out('normal')
|
|
t.equal(str, 'must really not', here + 'verb-adverb-not')
|
|
|
|
str = nlp('the skill you can sell is your knowledge').verbs().eq(0).out('normal')
|
|
t.equal(str, 'can sell', here + 'can sell is')
|
|
|
|
str = nlp('what you can sell will be').verbs().eq(0).out('normal')
|
|
t.equal(str, 'can sell', here + 'can sell will be')
|
|
|
|
t.end()
|
|
})
|