summaryrefslogtreecommitdiffstats
path: root/core/js/tests/specs
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2014-06-05 10:53:22 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2014-06-05 10:53:22 +0200
commit1c20c72efedfb78cdb770070236438cb33d984a8 (patch)
tree99e6252c88f3b73a26ab2d7bf5982d36a53b720a /core/js/tests/specs
parent09cc7c2d4436f9e85dc70a7cf22a105b63cb53c1 (diff)
parent218131d30d6105d0bcd601ea955b258e3e88bdf1 (diff)
downloadnextcloud-server-1c20c72efedfb78cdb770070236438cb33d984a8.tar.gz
nextcloud-server-1c20c72efedfb78cdb770070236438cb33d984a8.zip
Merge pull request #8620 from owncloud/design-navigation-two
Toggle app navigation not only on mobile, but on desktop as well
Diffstat (limited to 'core/js/tests/specs')
-rw-r--r--core/js/tests/specs/coreSpec.js87
1 files changed, 5 insertions, 82 deletions
diff --git a/core/js/tests/specs/coreSpec.js b/core/js/tests/specs/coreSpec.js
index 37b5ceeec9e..3c62b976779 100644
--- a/core/js/tests/specs/coreSpec.js
+++ b/core/js/tests/specs/coreSpec.js
@@ -356,62 +356,28 @@ 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>' +
+ '<a class="menutoggle" href="#"></a>' +
'</div>' +
'<div id="navigation"></div>');
- $toggle = $('#owncloud');
+ $toggle = $('#header').find('.menutoggle');
$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 +388,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;