123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import {
- addSpace,
- getLastTermIndex,
- getQueryTerms,
- removeSpace,
- } from 'sentry/components/smartSearchBar/utils';
- describe('addSpace()', function () {
- it('should add a space when there is no trailing space', function () {
- expect(addSpace('one')).toEqual('one ');
- });
- it('should not add another space when there is already one', function () {
- expect(addSpace('one ')).toEqual('one ');
- });
- it('should leave the empty string alone', function () {
- expect(addSpace('')).toEqual('');
- });
- });
- describe('removeSpace()', function () {
- it('should remove a trailing space', function () {
- expect(removeSpace('one ')).toEqual('one');
- });
- it('should not remove the last character if it is not a space', function () {
- expect(removeSpace('one')).toEqual('one');
- });
- it('should leave the empty string alone', function () {
- expect(removeSpace('')).toEqual('');
- });
- });
- describe('getQueryTerms()', function () {
- it('should extract query terms from a query string', function () {
- let query = 'tagname: ';
- expect(getQueryTerms(query, query.length)).toEqual(['tagname:']);
- query = 'tagname:derp browser:';
- expect(getQueryTerms(query, query.length)).toEqual(['tagname:derp', 'browser:']);
- query = ' browser:"Chrome 33.0" ';
- expect(getQueryTerms(query, query.length)).toEqual(['browser:"Chrome 33.0"']);
- });
- });
- describe('getLastTermIndex()', function () {
- it('should provide the index of the last query term, given cursor index', function () {
- let query = 'tagname:';
- expect(getLastTermIndex(query, 0)).toEqual(8);
- query = 'tagname:foo'; // 'f' (index 9)
- expect(getLastTermIndex(query, 9)).toEqual(11);
- query = 'tagname:foo anothertag:bar'; // 'f' (index 9)
- expect(getLastTermIndex(query, 9)).toEqual(11);
- });
- });
|