aho-corasick.test.ts 723 B

12345678910111213141516171819202122
  1. // eslint-disable-next-line import-x/no-unresolved -- bun
  2. import { describe, expect, it } from 'bun:test';
  3. import createKeywordFilter from './aho-corasick';
  4. describe('AhoCorasick', () => {
  5. it('basic', () => {
  6. let kwfilter = createKeywordFilter(['ap', 'an']);
  7. expect(kwfilter('bananan')).toBeTrue();
  8. expect(kwfilter('apple')).toBeTrue();
  9. expect(kwfilter('melon')).toBeFalse();
  10. console.log(kwfilter);
  11. kwfilter = createKeywordFilter(['cdn', 'sukka']);
  12. expect(kwfilter('bananan')).toBeFalse();
  13. expect(kwfilter('apple')).toBeFalse();
  14. expect(kwfilter('melon')).toBeFalse();
  15. console.log(kwfilter);
  16. console.log(createKeywordFilter(['skk.moe', 'anotherskk', 'skk.com']));
  17. });
  18. });