mirror of
https://github.com/harttle/liquidjs.git
synced 2026-09-16 21:00:40 -07:00
feat: create trie programmatically in options
This commit is contained in:
committed by
Jun Yang
parent
8734e2e6ce
commit
befc33c4eb
@@ -1,26 +1,29 @@
|
||||
import { expect } from 'chai'
|
||||
import { matchOperator } from '../../../src/parser/match-operator'
|
||||
import { defaultOperators } from '../../../src/types'
|
||||
import { createTrie } from '../../../src/util/operator-trie'
|
||||
|
||||
describe('parser/matchOperator()', function () {
|
||||
const trie = createTrie(defaultOperators)
|
||||
it('should match contains', () => {
|
||||
expect(matchOperator('contains', 0)).to.equal(8)
|
||||
expect(matchOperator('contains', 0, trie)).to.equal(8)
|
||||
})
|
||||
it('should match comparision', () => {
|
||||
expect(matchOperator('>', 0)).to.equal(1)
|
||||
expect(matchOperator('>=', 0)).to.equal(2)
|
||||
expect(matchOperator('<', 0)).to.equal(1)
|
||||
expect(matchOperator('<=', 0)).to.equal(2)
|
||||
expect(matchOperator('>', 0, trie)).to.equal(1)
|
||||
expect(matchOperator('>=', 0, trie)).to.equal(2)
|
||||
expect(matchOperator('<', 0, trie)).to.equal(1)
|
||||
expect(matchOperator('<=', 0, trie)).to.equal(2)
|
||||
})
|
||||
it('should match binary logic', () => {
|
||||
expect(matchOperator('and', 0)).to.equal(3)
|
||||
expect(matchOperator('or', 0)).to.equal(2)
|
||||
expect(matchOperator('and', 0, trie)).to.equal(3)
|
||||
expect(matchOperator('or', 0, trie)).to.equal(2)
|
||||
})
|
||||
it('should not match if word not terminate', () => {
|
||||
expect(matchOperator('true1', 0)).to.equal(-1)
|
||||
expect(matchOperator('containsa', 0)).to.equal(-1)
|
||||
expect(matchOperator('true1', 0, trie)).to.equal(-1)
|
||||
expect(matchOperator('containsa', 0, trie)).to.equal(-1)
|
||||
})
|
||||
it('should match if word boundary found', () => {
|
||||
expect(matchOperator('>=1', 0)).to.equal(2)
|
||||
expect(matchOperator('contains b', 0)).to.equal(8)
|
||||
expect(matchOperator('>=1', 0, trie)).to.equal(2)
|
||||
expect(matchOperator('contains b', 0, trie)).to.equal(8)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user