diff options
author | Vincent Petry <pvince81@owncloud.com> | 2014-05-17 18:03:00 +0200 |
---|---|---|
committer | Jan-Christoph Borchardt <hey@jancborchardt.net> | 2014-06-04 14:38:24 +0200 |
commit | 52d9e313d18003f842cb4329090727b92a287f8d (patch) | |
tree | ad0722241f89e180d8bf5d3d69fbd7c2e67cf087 | |
parent | 8eadc2fbd7c4c22b199a36b7d8dbe98277a1fb06 (diff) | |
download | nextcloud-server-52d9e313d18003f842cb4329090727b92a287f8d.tar.gz nextcloud-server-52d9e313d18003f842cb4329090727b92a287f8d.zip |
Remove obsoleted code to trigger navigation menu
Now that the navigation menu is always togglable, the media query
dependent code can be removed.
-rw-r--r-- | core/js/js.js | 33 | ||||
-rw-r--r-- | core/js/tests/specs/coreSpec.js | 82 |
2 files changed, 9 insertions, 106 deletions
diff --git a/core/js/js.js b/core/js/js.js index 67da7915cfb..0d255b55e57 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -1115,35 +1115,14 @@ function initCore() { var $toggle = $('#header #owncloud'); var $navigation = $('#navigation'); - function updateMainMenu() { - if (!$toggle.hasClass('menutoggle')) { - // init the menu - OC.registerMenu($toggle, $navigation); - $toggle.data('oldhref', $toggle.attr('href')); - $toggle.attr('href', '#'); - $navigation.hide(); - } - else { - OC.unregisterMenu($toggle, $navigation); - $toggle.attr('href', $toggle.data('oldhref')); - $navigation.show(); - } - } - - updateMainMenu(); - - // TODO: debounce this - $(window).resize(function() { - if (lastMatch !== mq.matches) { - lastMatch = mq.matches; - updateMainMenu(); - } - }); + // init the menu + OC.registerMenu($toggle, $navigation); + $toggle.data('oldhref', $toggle.attr('href')); + $toggle.attr('href', '#'); + $navigation.hide(); } - if (window.matchMedia) { - setupMainMenu(); - } + setupMainMenu(); } $(document).ready(initCore); diff --git a/core/js/tests/specs/coreSpec.js b/core/js/tests/specs/coreSpec.js index 37b5ceeec9e..0efa79a49bc 100644 --- a/core/js/tests/specs/coreSpec.js +++ b/core/js/tests/specs/coreSpec.js @@ -356,18 +356,13 @@ describe('Core base tests', function() { }); }); describe('Main menu mobile toggle', function() { - var oldMatchMedia; + var clock; var $toggle; var $navigation; var clock; beforeEach(function() { clock = sinon.useFakeTimers(); - oldMatchMedia = OC._matchMedia; - // a separate method was needed because window.matchMedia - // cannot be stubbed due to a bug in PhantomJS: - // https://github.com/ariya/phantomjs/issues/12069 - OC._matchMedia = sinon.stub(); $('#testArea').append('<div id="header">' + '<a id="owncloud" href="#"></a>' + '</div>' + @@ -375,43 +370,15 @@ describe('Core base tests', function() { $toggle = $('#owncloud'); $navigation = $('#navigation'); }); - afterEach(function() { - OC._matchMedia = oldMatchMedia; clock.restore(); }); - it('Sets up menu toggle in mobile mode', function() { - OC._matchMedia.returns({matches: true}); + it('Sets up menu toggle', function() { window.initCore(); expect($toggle.hasClass('menutoggle')).toEqual(true); expect($navigation.hasClass('menu')).toEqual(true); }); - it('Does not set up menu toggle in desktop mode', function() { - OC._matchMedia.returns({matches: false}); - window.initCore(); - expect($toggle.hasClass('menutoggle')).toEqual(false); - expect($navigation.hasClass('menu')).toEqual(false); - }); - it('Switches on menu toggle when mobile mode changes', function() { - var mq = {matches: false}; - OC._matchMedia.returns(mq); - window.initCore(); - expect($toggle.hasClass('menutoggle')).toEqual(false); - mq.matches = true; - $(window).trigger('resize'); - expect($toggle.hasClass('menutoggle')).toEqual(true); - }); - it('Switches off menu toggle when mobile mode changes', function() { - var mq = {matches: true}; - OC._matchMedia.returns(mq); - window.initCore(); - expect($toggle.hasClass('menutoggle')).toEqual(true); - mq.matches = false; - $(window).trigger('resize'); - expect($toggle.hasClass('menutoggle')).toEqual(false); - }); - it('Clicking menu toggle toggles navigation in mobile mode', function() { - OC._matchMedia.returns({matches: true}); + it('Clicking menu toggle toggles navigation in', function() { window.initCore(); $navigation.hide(); // normally done through media query triggered CSS expect($navigation.is(':visible')).toEqual(false); @@ -422,49 +389,6 @@ describe('Core base tests', function() { clock.tick(1 * 1000); expect($navigation.is(':visible')).toEqual(false); }); - it('Clicking menu toggle does not toggle navigation in desktop mode', function() { - OC._matchMedia.returns({matches: false}); - window.initCore(); - expect($navigation.is(':visible')).toEqual(true); - $toggle.click(); - expect($navigation.is(':visible')).toEqual(true); - }); - it('Switching to mobile mode hides navigation', function() { - var mq = {matches: false}; - OC._matchMedia.returns(mq); - window.initCore(); - expect($navigation.is(':visible')).toEqual(true); - mq.matches = true; - $(window).trigger('resize'); - expect($navigation.is(':visible')).toEqual(false); - }); - it('Switching to desktop mode shows navigation', function() { - var mq = {matches: true}; - OC._matchMedia.returns(mq); - window.initCore(); - expect($navigation.is(':visible')).toEqual(false); - mq.matches = false; - $(window).trigger('resize'); - expect($navigation.is(':visible')).toEqual(true); - }); - it('Switch to desktop with opened menu then back to mobile resets toggle', function() { - var mq = {matches: true}; - OC._matchMedia.returns(mq); - window.initCore(); - expect($navigation.is(':visible')).toEqual(false); - $toggle.click(); - clock.tick(1 * 1000); - expect($navigation.is(':visible')).toEqual(true); - mq.matches = false; - $(window).trigger('resize'); - expect($navigation.is(':visible')).toEqual(true); - mq.matches = true; - $(window).trigger('resize'); - expect($navigation.is(':visible')).toEqual(false); - $toggle.click(); - clock.tick(1 * 1000); - expect($navigation.is(':visible')).toEqual(true); - }); }); describe('SVG extension replacement', function() { var svgSupportStub; |