项目文件夹

文件
2026-07-13 12:48:55 +08:00

78 行
1.8 KiB
JavaScript

import test from 'tape'
import nlp from '../_lib.js'
const here = '[one/safe-contractions] '
test('safe-apostrophe-s', function (t) {
const arr = [
// yes
// [`She's got me`, 4],
[`Let’s not`, 3],
[`that's it!`, 3],
[`what’s going on?`, 4],
[`There's a row`, 4],
// [`It's unbelievable`, 3],
// no
[`Luke's Diner`, 2],
[`Murphy's law`, 2],
[`Gandhi's philosophy `, 2],
// tricky-yes
// [`Gandhi's cool `, 3],
// [`Gandhi's so early `, 4],
// toronto's massive party
// toronto's massive
// toronto's trying
// ['',]
]
arr.forEach(a => {
const terms = nlp(a[0]).terms()
t.equal(terms.length, a[1], here + a[0])
})
t.end()
})
test('safe-apostrophe-d', function (t) {
const arr = [
// [`she'd say`, 'she would say'],
[`she'd go`, 'she would go'],
[`we'd go`, 'we would go'],
[`we'd gone`, 'we had gone'],
// [`i'd phoned`, `i had phoned`],
]
arr.forEach(a => {
const str = nlp(a[0]).text('machine')
t.equal(str, a[1], here + a[0])
})
t.end()
})
test('theres', function (t) {
const arr = [
[`there's a`, 'there is'],
[`there's no going back`, 'there is'],
[`there's no honor`, 'there is'],
[`where there's a job`, 'there is'],
[`and there's a little old man`, 'there is'],
[`there's always`, 'there is'],
[`there's one`, 'there is'],
[`there’s gonna be strippers`, 'there is'],
[`There's something strange`, 'there is'],
[`guess there's not much to do `, 'there is'],
[`There's never been a more important moment`, 'there has'],
[`there's been`, 'there has'],
[`there's never been`, 'there has'],
[`There's hardly been any progress`, 'there has'],
]
arr.forEach(a => {
const doc = nlp(a[0])
t.ok(doc.has(a[1]), a[0])
})
t.end()
})