UNPKG

kmp-matcher

Version:

Knut Morris Pratt algorithm's js realisation

33 lines (27 loc) 785 B
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(); });