Added scroll_helper tests

This commit is contained in:
Luke "Jared" Bennett 2017-07-19 19:46:34 +01:00
parent 929c66d620
commit 99193d824f
No known key found for this signature in database
GPG key ID: 402ED51FB5D306C2
3 changed files with 42 additions and 23 deletions

View file

@ -54,7 +54,7 @@ import RefSelectDropdown from './ref_select_dropdown';
import GfmAutoComplete from './gfm_auto_complete'; import GfmAutoComplete from './gfm_auto_complete';
import ShortcutsBlob from './shortcuts_blob'; import ShortcutsBlob from './shortcuts_blob';
import initSettingsPanels from './settings_panels'; import initSettingsPanels from './settings_panels';
import { setScrollWidth } from './helpers/scroll_helper'; import ScrollHelper from './helpers/scroll_helper';
(function() { (function() {
var Dispatcher; var Dispatcher;
@ -77,7 +77,7 @@ import { setScrollWidth } from './helpers/scroll_helper';
return false; return false;
} }
setScrollWidth(); ScrollHelper.setScrollWidth();
path = page.split(':'); path = page.split(':');
shortcut_handler = null; shortcut_handler = null;

View file

@ -1,29 +1,30 @@
function getScrollWidth() { import $ from 'jquery';
const $rulerContainer = $('<div>').css({
visibility: 'hidden',
width: 100,
overflow: 'scroll',
});
const $ruler = $('<div>').css({ const ScrollHelper = {
width: '100%', getScrollWidth() {
}); const $rulerContainer = $('<div>').css({
visibility: 'hidden',
width: 100,
overflow: 'scroll',
});
$ruler.appendTo($rulerContainer); const $ruler = $('<div>').css({
$rulerContainer.appendTo('body'); width: '100%',
});
const scrollWidth = $ruler.outerWidth(); $ruler.appendTo($rulerContainer);
$rulerContainer.appendTo('body');
$rulerContainer.remove(); const scrollWidth = $ruler.outerWidth();
return 100 - scrollWidth; $rulerContainer.remove();
}
function setScrollWidth() { return 100 - scrollWidth;
$('body').attr('data-scroll-width', getScrollWidth()); },
}
export { setScrollWidth() {
getScrollWidth, $('body').attr('data-scroll-width', ScrollHelper.getScrollWidth());
setScrollWidth, },
}; };
export default ScrollHelper;

View file

@ -0,0 +1,18 @@
import $ from 'jquery';
import ScrollHelper from '~/helpers/scroll_helper';
describe('ScrollHelper', () => {
describe('setScrollWidth', () => {
it('calls getScrollWidth and sets data-scroll-width', () => {
const width = 10;
spyOn($.fn, 'attr');
spyOn(ScrollHelper, 'getScrollWidth').and.returnValue(width);
ScrollHelper.setScrollWidth();
expect(ScrollHelper.getScrollWidth).toHaveBeenCalled();
expect($.fn.attr).toHaveBeenCalledWith('data-scroll-width', width);
});
});
});