diff options
author | Phil Hughes <me@iamphill.com> | 2017-01-20 18:04:15 +0000 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2017-01-21 16:01:19 +0000 |
commit | 2e7f0c33eb05a8b99cd11bcf542103521334af32 (patch) | |
tree | 16f042229a14678ff3b5ac36f8b7cf92eb1e7b08 | |
parent | 45bc26f3446539abd902ea0e89855cf569b79a90 (diff) | |
download | gitlab-ce-issue-search-token-position.tar.gz |
Fixed failing JS specsissue-search-token-position
3 files changed, 17 insertions, 7 deletions
diff --git a/app/assets/javascripts/filtered_search/dropdown_utils.js.es6 b/app/assets/javascripts/filtered_search/dropdown_utils.js.es6 index f5d2eb9ae76..6910cf171d4 100644 --- a/app/assets/javascripts/filtered_search/dropdown_utils.js.es6 +++ b/app/assets/javascripts/filtered_search/dropdown_utils.js.es6 @@ -76,7 +76,6 @@ } static getSearchInput(filteredSearchInput) { - const selectionStart = filteredSearchInput.selectionStart; const inputValue = filteredSearchInput.value; const { right } = gl.DropdownUtils.getInputSelectionPosition(filteredSearchInput); @@ -88,7 +87,7 @@ let inputValue = input.value; // Replace all spaces inside quote marks with underscores // This helps with matching the beginning & end of a token:key - inputValue = inputValue.replace(/"(.*?)"/g, str => str.replace(/\s/g, '_') ); + inputValue = inputValue.replace(/"(.*?)"/g, str => str.replace(/\s/g, '_')); // Get the right position for the word selected // Regex matches first space diff --git a/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js.es6 b/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js.es6 index 42c673a5106..04873115580 100644 --- a/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js.es6 +++ b/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js.es6 @@ -73,7 +73,6 @@ // Sometimes can end up at end of input input.setSelectionRange(selectionStart, selectionStart); - const inputValue = input.value; const { right } = gl.DropdownUtils.getInputSelectionPosition(input); input.setSelectionRange(right, right); diff --git a/spec/javascripts/filtered_search/dropdown_utils_spec.js.es6 b/spec/javascripts/filtered_search/dropdown_utils_spec.js.es6 index f14583ec7d8..19bd8d53219 100644 --- a/spec/javascripts/filtered_search/dropdown_utils_spec.js.es6 +++ b/spec/javascripts/filtered_search/dropdown_utils_spec.js.es6 @@ -67,20 +67,32 @@ }); describe('filterHint', () => { + let input; + + beforeEach(() => { + setFixtures(` + <input type="text" id="test" /> + `); + + input = document.getElementById('test'); + }); + it('should filter', () => { - let updatedItem = gl.DropdownUtils.filterHint({ + input.value = 'l'; + let updatedItem = gl.DropdownUtils.filterHint(input, { hint: 'label', - }, 'l'); + }); expect(updatedItem.droplab_hidden).toBe(false); - updatedItem = gl.DropdownUtils.filterHint({ + input.value = 'o'; + updatedItem = gl.DropdownUtils.filterHint(input, { hint: 'label', }, 'o'); expect(updatedItem.droplab_hidden).toBe(true); }); it('should return droplab_hidden false when item has no hint', () => { - const updatedItem = gl.DropdownUtils.filterHint({}, ''); + const updatedItem = gl.DropdownUtils.filterHint(input, {}, ''); expect(updatedItem.droplab_hidden).toBe(false); }); }); |