51 lines
1.7 KiB
JavaScript
51 lines
1.7 KiB
JavaScript
import test from 'tape'
|
|
import nlp from './_lib.js'
|
|
const here = '[three/setTag] '
|
|
|
|
test('custom-tags-persist', function (t) {
|
|
let r = nlp('i am two years older now')
|
|
let two = r.match('#Value').tag('#FunTag')
|
|
two.replaceWith('never')
|
|
t.equal(two.has('#FunTag'), false, here + 'custom tag is forgotten')
|
|
|
|
r = nlp('i am two years older now')
|
|
two = r.match('#Value').tag('#FunTag')
|
|
two.toUpperCase().trim()
|
|
t.equal(two.text(), 'TWO', here + 'term transformed')
|
|
t.equal(two.has('#Value'), true, here + 'original tag stays over transformations')
|
|
t.equal(two.has('#FunTag'), true, here + 'custom tag stays over transformations')
|
|
|
|
r = nlp('i am two years older now')
|
|
two = r.match('#Value').tag('#FunTag')
|
|
two.toUpperCase()
|
|
two.values().toNumber()
|
|
t.equal(two.has('#FunTag'), true, here + 'custom tag stays over transformations')
|
|
|
|
r = nlp('june 1999')
|
|
r.values().toNumber()
|
|
const year = r.match('#Year')
|
|
t.equal(year.out('normal'), '1999', here + 'year-stays-a-year')
|
|
|
|
// not sure if these should pass..
|
|
// r = nlp('i am two years older now')
|
|
// r.match('am').tag('#FunTag')
|
|
// r = r.sentences().toFutureTense().toPresentTense().toPastTense()
|
|
// let verb = r.match('#FunTag')
|
|
// t.equal(verb.out('normal'), 'was', 'tag stays over sentence-change')
|
|
|
|
// r = nlp('walked').tag('#FunTag');
|
|
// r = r.verbs().toFutureTense().toPresentTense().toPastTense();
|
|
// verb = r.match('#FunTag');
|
|
// t.equal(verb.out('normal'), 'walked', 'tag stays over verb-change');
|
|
|
|
t.end()
|
|
})
|
|
|
|
test('untag-soft', function (t) {
|
|
const doc = nlp('$5.32')
|
|
t.equal(doc.has('#Money'), true, here + 'had-money')
|
|
doc.unTag('#Money')
|
|
t.equal(doc.has('#Money'), false, here + 'has-no-money')
|
|
t.end()
|
|
})
|