js-search
Version:
JS Search is an efficient, client-side search library for JavaScript and JSON objects
51 lines (42 loc) • 1.4 kB
JavaScript
import { SimpleTokenizer } from './SimpleTokenizer';
describe('SimpleTokenizer', function() {
var tokenizer
beforeEach(function() {
tokenizer = new SimpleTokenizer();
});
it('should convert single-token strings', function() {
expect(tokenizer.tokenize('a')).toEqual(['a']);
});
it('should convert multi-token strings', function() {
expect(tokenizer.tokenize('a b c')).toEqual(['a', 'b', 'c']);
});
it('should not return empty tokens', function() {
expect(tokenizer.tokenize(' a ')).toEqual(['a']);
});
it('should remove punctuation', function() {
expect(tokenizer.tokenize('this and, this.')).toEqual(['this', 'and', 'this']);
});
it('should not remove hyphens', function() {
expect(tokenizer.tokenize('billy-bob')).toEqual(['billy-bob']);
});
it('should not remove apostrophes', function() {
expect(tokenizer.tokenize('it\'s')).toEqual(['it\'s']);
});
it('should handle cyrillic', function() {
expect(tokenizer.tokenize('Есть хоть одна девушка, которую ты хочешь? Или ты устал от женщин'))
.toEqual([
'Есть',
'хоть',
'одна',
'девушка',
'которую',
'ты',
'хочешь',
'Или',
'ты',
'устал',
'от',
'женщин'
]);
});
});