bypass Chrome "focus" event bugs and prevent Turbolinks from triggering
This commit is contained in:
parent
5ffbb5dee5
commit
d2649bf8e3
1 changed files with 8 additions and 6 deletions
|
@ -112,13 +112,15 @@ require('vendor/fuzzaldrin-plus');
|
||||||
preloadFixtures('static/search_autocomplete.html.raw');
|
preloadFixtures('static/search_autocomplete.html.raw');
|
||||||
beforeEach(function() {
|
beforeEach(function() {
|
||||||
loadFixtures('static/search_autocomplete.html.raw');
|
loadFixtures('static/search_autocomplete.html.raw');
|
||||||
return widget = new gl.SearchAutocomplete;
|
widget = new gl.SearchAutocomplete;
|
||||||
|
// Prevent turbolinks from triggering within gl_dropdown
|
||||||
|
spyOn(window.Turbolinks, 'visit').and.returnValue(true);
|
||||||
});
|
});
|
||||||
it('should show Dashboard specific dropdown menu', function() {
|
it('should show Dashboard specific dropdown menu', function() {
|
||||||
var list;
|
var list;
|
||||||
addBodyAttributes();
|
addBodyAttributes();
|
||||||
mockDashboardOptions();
|
mockDashboardOptions();
|
||||||
widget.searchInput.focus();
|
widget.searchInput.triggerHandler('focus');
|
||||||
list = widget.wrap.find('.dropdown-menu').find('ul');
|
list = widget.wrap.find('.dropdown-menu').find('ul');
|
||||||
return assertLinks(list, dashboardIssuesPath, dashboardMRsPath);
|
return assertLinks(list, dashboardIssuesPath, dashboardMRsPath);
|
||||||
});
|
});
|
||||||
|
@ -126,7 +128,7 @@ require('vendor/fuzzaldrin-plus');
|
||||||
var list;
|
var list;
|
||||||
addBodyAttributes('group');
|
addBodyAttributes('group');
|
||||||
mockGroupOptions();
|
mockGroupOptions();
|
||||||
widget.searchInput.focus();
|
widget.searchInput.triggerHandler('focus');
|
||||||
list = widget.wrap.find('.dropdown-menu').find('ul');
|
list = widget.wrap.find('.dropdown-menu').find('ul');
|
||||||
return assertLinks(list, groupIssuesPath, groupMRsPath);
|
return assertLinks(list, groupIssuesPath, groupMRsPath);
|
||||||
});
|
});
|
||||||
|
@ -134,7 +136,7 @@ require('vendor/fuzzaldrin-plus');
|
||||||
var list;
|
var list;
|
||||||
addBodyAttributes('project');
|
addBodyAttributes('project');
|
||||||
mockProjectOptions();
|
mockProjectOptions();
|
||||||
widget.searchInput.focus();
|
widget.searchInput.triggerHandler('focus');
|
||||||
list = widget.wrap.find('.dropdown-menu').find('ul');
|
list = widget.wrap.find('.dropdown-menu').find('ul');
|
||||||
return assertLinks(list, projectIssuesPath, projectMRsPath);
|
return assertLinks(list, projectIssuesPath, projectMRsPath);
|
||||||
});
|
});
|
||||||
|
@ -143,7 +145,7 @@ require('vendor/fuzzaldrin-plus');
|
||||||
addBodyAttributes('project');
|
addBodyAttributes('project');
|
||||||
mockProjectOptions();
|
mockProjectOptions();
|
||||||
widget.searchInput.val('help');
|
widget.searchInput.val('help');
|
||||||
widget.searchInput.focus();
|
widget.searchInput.triggerHandler('focus');
|
||||||
list = widget.wrap.find('.dropdown-menu').find('ul');
|
list = widget.wrap.find('.dropdown-menu').find('ul');
|
||||||
link = "a[href='" + projectIssuesPath + "/?assignee_id=" + userId + "']";
|
link = "a[href='" + projectIssuesPath + "/?assignee_id=" + userId + "']";
|
||||||
return expect(list.find(link).length).toBe(0);
|
return expect(list.find(link).length).toBe(0);
|
||||||
|
@ -154,7 +156,7 @@ require('vendor/fuzzaldrin-plus');
|
||||||
addBodyAttributes();
|
addBodyAttributes();
|
||||||
mockDashboardOptions(true);
|
mockDashboardOptions(true);
|
||||||
var submitSpy = spyOnEvent('form', 'submit');
|
var submitSpy = spyOnEvent('form', 'submit');
|
||||||
widget.searchInput.focus();
|
widget.searchInput.triggerHandler('focus');
|
||||||
widget.wrap.trigger($.Event('keydown', { which: DOWN }));
|
widget.wrap.trigger($.Event('keydown', { which: DOWN }));
|
||||||
var enterKeyEvent = $.Event('keydown', { which: ENTER });
|
var enterKeyEvent = $.Event('keydown', { which: ENTER });
|
||||||
widget.searchInput.trigger(enterKeyEvent);
|
widget.searchInput.trigger(enterKeyEvent);
|
||||||
|
|
Loading…
Reference in a new issue