UNPKG

advanced-search-query

Version:

Another parser for advanced search query syntax.

61 lines 2.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("../src/utils"); describe('utils', () => { describe('getQuotePairMap', () => { const emptyQuotePairMap = { single: {}, double: {} }; test('empty', () => { expect(utils_1.getQuotePairMap()).toEqual(emptyQuotePairMap); expect(utils_1.getQuotePairMap('')).toEqual(emptyQuotePairMap); expect(utils_1.getQuotePairMap(' ')).toEqual(emptyQuotePairMap); expect(utils_1.getQuotePairMap(null)).toEqual(emptyQuotePairMap); expect(utils_1.getQuotePairMap(undefined)).toEqual(emptyQuotePairMap); }); test('simple pairs', () => { const singleStr = "This is 'quoted and' this is not"; const doubleStr = 'This is "quoted and" this is not'; const locations = { 8: true, 19: true }; expect(utils_1.getQuotePairMap(singleStr)).toEqual({ single: locations, double: {}, }); expect(utils_1.getQuotePairMap(doubleStr)).toEqual({ single: {}, double: locations, }); }); test('two pairs', () => { const singleStr = "This 'is' 'quoted and' this is not"; const doubleStr = 'This "is" "quoted and" this is not'; const locations = { 5: true, 8: true, 10: true, 21: true }; expect(utils_1.getQuotePairMap(singleStr)).toEqual({ single: locations, double: {}, }); expect(utils_1.getQuotePairMap(doubleStr)).toEqual({ single: {}, double: locations, }); }); test('simple no pairs', () => { const singleStr = "This is quoted and' this is not"; const doubleStr = 'This is quoted and" this is not'; expect(utils_1.getQuotePairMap(singleStr)).toEqual(emptyQuotePairMap); expect(utils_1.getQuotePairMap(doubleStr)).toEqual(emptyQuotePairMap); }); test('intermixed', () => { const singleStr = "This 'is \"'quoted and' this is not"; const doubleStr = 'This "is \'"quoted and" this is not'; const locations = { 5: true, 10: true }; expect(utils_1.getQuotePairMap(singleStr)).toEqual({ single: locations, double: {}, }); expect(utils_1.getQuotePairMap(doubleStr)).toEqual({ single: {}, double: locations, }); }); }); }); //# sourceMappingURL=utils.test.js.map