kmp-matcher
Version:
Knut Morris Pratt algorithm's js realisation
33 lines (27 loc) • 785 B
JavaScript
var t = require('tape');
var kmp = require('./kmp-matcher');
t('test-kmp-1', function(t) {
var result = kmp.kmp('aabbaaccdsbbaab', 'ab');
var need = [1, 13];
t.same(result, need);
t.end();
});
t('test-kmp-2', function(t) {
var result = kmp.kmp('aabbaaccdsbbaab', 'a');
var need = [0, 1, 4, 5, 12, 13];
t.same(result, need);
t.end();
});
t('test-kmp-context', function(t) {
var kmp = require('./kmp-matcher').kmp;
var result = kmp('aabbaaccdsbbaab', 'a');
var need = [0, 1, 4, 5, 12, 13];
t.same(result, need);
t.end();
});
t('test-prefix-function-1', function(t) {
var result = kmp.calcPrefixFunction('aabccaabcdeaac');
var need = [0, 1, 0, 0, 0, 1, 2, 3, 4, 0, 0, 1, 2, 0];
t.same(result, need);
t.end();
});