import highlightFuseMatches, {getFuseMatches} from 'sentry/utils/highlightFuseMatches'; describe('highlightFuseMatches', function () { const matchObj = { value: 'Authentication tokens allow you to perform actions', indices: [ [4, 6], [12, 13], [15, 16], ], }; it('handles no matches', function () { expect(getFuseMatches({value: 'My long string', indices: []})).toEqual([ {highlight: false, text: 'My long string'}, ]); }); it('gets the correct tokens', function () { expect(getFuseMatches(matchObj)).toEqual([ { highlight: false, text: 'Auth', }, { highlight: true, text: 'ent', }, { highlight: false, text: 'icati', }, { highlight: true, text: 'on', }, { highlight: false, text: ' ', }, { highlight: true, text: 'to', }, { highlight: false, text: 'kens allow you to perform actions', }, ]); }); it('renders a highlighted string', function () { // eslint-disable-next-line sentry/no-to-match-snapshot expect(highlightFuseMatches(matchObj)).toMatchSnapshot(); }); it('matches whole word', function () { // eslint-disable-next-line sentry/no-to-match-snapshot expect(highlightFuseMatches({value: 'foo', indices: [[0, 2]]})).toMatchSnapshot(); }); });