summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Bennett <lukeeeebennettplus@gmail.com>2016-07-28 17:32:43 +0100
committerLuke Bennett <lukeeeebennettplus@gmail.com>2016-08-18 18:17:56 +0100
commit49c7ca2a27639809dd84975d7595787ab5f60647 (patch)
tree642528560e1accae7e689d3cc667f786af82fe5a
parentf91fd18f25626dc3e76c9aefef2841f685fab26c (diff)
downloadgitlab-ce-49c7ca2a27639809dd84975d7595787ab5f60647.tar.gz
Fixed spec and improved formatting
-rw-r--r--app/assets/javascripts/gl_dropdown.js4
-rw-r--r--app/assets/javascripts/search_autocomplete.js2
-rw-r--r--spec/javascripts/gl_dropdown_spec.js.es653
3 files changed, 28 insertions, 31 deletions
diff --git a/app/assets/javascripts/gl_dropdown.js b/app/assets/javascripts/gl_dropdown.js
index aacc49be1ac..58e27acf2f1 100644
--- a/app/assets/javascripts/gl_dropdown.js
+++ b/app/assets/javascripts/gl_dropdown.js
@@ -690,8 +690,8 @@
if (!index) {
$dropdownContent.scrollTop(0)
} else if (index === ($listItems.length - 1)) {
- $dropdownContent.scrollTop $dropdownContent.prop('scrollHeight');
- } else if (listItemBottom > (dropdownContentBottom + dropdownScrollTop))
+ $dropdownContent.scrollTop($dropdownContent.prop('scrollHeight'));
+ } else if (listItemBottom > (dropdownContentBottom + dropdownScrollTop)) {
$dropdownContent.scrollTop(listItemBottom - dropdownContentBottom + CURSOR_SELECT_SCROLL_PADDING);
} else if (listItemTop < (dropdownContentTop + dropdownScrollTop)) {
return $dropdownContent.scrollTop(listItemTop - dropdownContentTop - CURSOR_SELECT_SCROLL_PADDING);
diff --git a/app/assets/javascripts/search_autocomplete.js b/app/assets/javascripts/search_autocomplete.js
index cd39f5f94e2..4579214bd2f 100644
--- a/app/assets/javascripts/search_autocomplete.js
+++ b/app/assets/javascripts/search_autocomplete.js
@@ -228,7 +228,7 @@
case KEYCODE.ENTER:
this.disableAutocomplete();
break;
- case KEYCODE.UP,
+ case KEYCODE.UP:
case KEYCODE.DOWN:
return;
default:
diff --git a/spec/javascripts/gl_dropdown_spec.js.es6 b/spec/javascripts/gl_dropdown_spec.js.es6
index 2dda566beb6..4ed194f5179 100644
--- a/spec/javascripts/gl_dropdown_spec.js.es6
+++ b/spec/javascripts/gl_dropdown_spec.js.es6
@@ -16,12 +16,13 @@
ESC: 27
};
- var navigateWithKeys = function navigateWithKeys(direction, steps, cb, i) {
+ let navigateWithKeys = function navigateWithKeys(direction, steps, cb, i) {
i = i || 0;
+ if (!i) direction = direction.toUpperCase();
$('body').trigger({
type: 'keydown',
- which: ARROW_KEYS[direction.toUpperCase()],
- keyCode: ARROW_KEYS[direction.toUpperCase()]
+ which: ARROW_KEYS[direction],
+ keyCode: ARROW_KEYS[direction]
});
i++;
if (i <= steps) {
@@ -31,35 +32,31 @@
}
};
- var initDropdown = function initDropdown() {
- this.dropdownContainerElement = $('.dropdown.inline');
- this.dropdownMenuElement = $('.dropdown-menu', this.dropdownContainerElement);
- this.projectsData = fixture.load('projects.json')[0];
- this.dropdownButtonElement = $('#js-project-dropdown', this.dropdownContainerElement).glDropdown({
- selectable: true,
- data: this.projectsData,
- text: (project) => {
- (project.name_with_namespace || project.name)
- },
- id: (project) => {
- project.id
- }
- });
- };
-
describe('Dropdown', function describeDropdown() {
fixture.preload('gl_dropdown.html');
fixture.preload('projects.json');
- function beforeEach() {
+ beforeEach(() => {
fixture.load('gl_dropdown.html');
- initDropdown.call(this);
- }
+ this.dropdownContainerElement = $('.dropdown.inline');
+ this.dropdownMenuElement = $('.dropdown-menu', this.dropdownContainerElement);
+ this.projectsData = fixture.load('projects.json')[0];
+ this.dropdownButtonElement = $('#js-project-dropdown', this.dropdownContainerElement).glDropdown({
+ selectable: true,
+ data: this.projectsData,
+ text: (project) => {
+ (project.name_with_namespace || project.name)
+ },
+ id: (project) => {
+ project.id
+ }
+ });
+ });
- function afterEach() {
+ afterEach(() => {
$('body').unbind('keydown');
this.dropdownContainerElement.unbind('keyup');
- }
+ });
it('should open on click', () => {
expect(this.dropdownContainerElement).not.toHaveClass('open');
@@ -67,10 +64,10 @@
expect(this.dropdownContainerElement).toHaveClass('open');
});
- describe('that is open', function describeThatIsOpen() {
- function beforeEach() {
+ describe('that is open', () => {
+ beforeEach(() => {
this.dropdownButtonElement.click();
- }
+ });
it('should select a following item on DOWN keypress', () => {
expect($(FOCUSED_ITEM_SELECTOR, this.dropdownMenuElement).length).toBe(0);
@@ -119,4 +116,4 @@
});
});
});
-})(window);
+})();