| // Copyright (C) 2022 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| import {escapeGlob, escapeQuery, escapeSearchQuery} from './query_utils'; |
| |
| test('escapeQuery', () => { |
| expect(escapeQuery(``)).toEqual(`''`); |
| expect(escapeQuery(`'`)).toEqual(`''''`); |
| expect(escapeQuery(`hello`)).toEqual(`'hello'`); |
| expect(escapeQuery('foo\'bar')).toEqual(`'foo''bar'`); |
| expect(escapeQuery('*_*')).toEqual(`'[*]_[*]'`); |
| expect(escapeQuery('[]?')).toEqual(`'[[]][?]'`); |
| }); |
| |
| test('escapeSearchQuery', () => { |
| expect(escapeSearchQuery(``)).toEqual(`'**'`); |
| expect(escapeSearchQuery(`hello`)).toEqual(`'*[hH][eE][lL][lL][oO]*'`); |
| expect(escapeSearchQuery('a\'b')).toEqual(`'*[aA]''[bB]*'`); |
| expect(escapeSearchQuery('*_*')).toEqual(`'*[*]_[*]*'`); |
| expect(escapeSearchQuery('[]?')).toEqual(`'*[[]][?]*'`); |
| }); |
| |
| test('escapeGlob', () => { |
| expect(escapeGlob(``)).toEqual(`'**'`); |
| expect(escapeGlob(`'`)).toEqual(`'*''*'`); |
| expect(escapeGlob(`hello`)).toEqual(`'*hello*'`); |
| expect(escapeGlob('foo\'bar')).toEqual(`'*foo''bar*'`); |
| expect(escapeGlob('*_*')).toEqual(`'**_**'`); |
| expect(escapeGlob('[]?')).toEqual(`'*[]?*'`); |
| }); |