'use strict'; var common = require('../common'); describe('TopNav', function () { describe('showViewButtons & hideViewButtons', function () { before(function () { cleanup(); }); it( 'displays & hides navigation elements for viewing an existing paste', function () { var results = []; $('body').html( '' ); $.PrivateBin.TopNav.init(); results.push( $('#newbutton').hasClass('hidden') && $('#clonebutton').hasClass('hidden') && $('#rawtextbutton').hasClass('hidden') && $('#qrcodelink').hasClass('hidden') ); $.PrivateBin.TopNav.showViewButtons(); results.push( !$('#newbutton').hasClass('hidden') && !$('#clonebutton').hasClass('hidden') && !$('#rawtextbutton').hasClass('hidden') && !$('#qrcodelink').hasClass('hidden') ); $.PrivateBin.TopNav.hideViewButtons(); results.push( $('#newbutton').hasClass('hidden') && $('#clonebutton').hasClass('hidden') && $('#rawtextbutton').hasClass('hidden') && $('#qrcodelink').hasClass('hidden') ); cleanup(); assert.ok(results.every(element => element)); } ); }); describe('showCreateButtons & hideCreateButtons', function () { before(function () { cleanup(); }); it( 'displays & hides navigation elements for creating a paste', function () { var results = []; $('body').html( '' ); $.PrivateBin.TopNav.init(); results.push( $('#sendbutton').hasClass('hidden') && $('#expiration').hasClass('hidden') && $('#formatter').hasClass('hidden') && $('#burnafterreadingoption').hasClass('hidden') && $('#opendiscussionoption').hasClass('hidden') && $('#newbutton').hasClass('hidden') && $('#password').hasClass('hidden') && $('#attach').hasClass('hidden') ); $.PrivateBin.TopNav.showCreateButtons(); results.push( !$('#sendbutton').hasClass('hidden') && !$('#expiration').hasClass('hidden') && !$('#formatter').hasClass('hidden') && !$('#burnafterreadingoption').hasClass('hidden') && !$('#opendiscussionoption').hasClass('hidden') && !$('#newbutton').hasClass('hidden') && !$('#password').hasClass('hidden') && !$('#attach').hasClass('hidden') ); $.PrivateBin.TopNav.hideCreateButtons(); results.push( $('#sendbutton').hasClass('hidden') && $('#expiration').hasClass('hidden') && $('#formatter').hasClass('hidden') && $('#burnafterreadingoption').hasClass('hidden') && $('#opendiscussionoption').hasClass('hidden') && $('#newbutton').hasClass('hidden') && $('#password').hasClass('hidden') && $('#attach').hasClass('hidden') ); cleanup(); assert.ok(results.every(element => element)); } ); }); describe('showNewPasteButton', function () { before(function () { cleanup(); }); it( 'displays the button for creating a paste', function () { var results = []; $('body').html( '' ); $.PrivateBin.TopNav.init(); results.push( $('#newbutton').hasClass('hidden') ); $.PrivateBin.TopNav.showNewPasteButton(); results.push( !$('#newbutton').hasClass('hidden') ); cleanup(); assert.ok(results.every(element => element)); } ); }); describe('hideCloneButton', function () { before(function () { cleanup(); }); it( 'hides the button for cloning a paste', function () { var results = []; $('body').html( '' ); $.PrivateBin.TopNav.init(); results.push( !$('#clonebutton').hasClass('hidden') ); $.PrivateBin.TopNav.hideCloneButton(); results.push( $('#clonebutton').hasClass('hidden') ); cleanup(); assert.ok(results.every(element => element)); } ); }); describe('hideRawButton', function () { before(function () { cleanup(); }); it( 'hides the raw text button', function () { var results = []; $('body').html( '' ); $.PrivateBin.TopNav.init(); results.push( !$('#rawtextbutton').hasClass('hidden') ); $.PrivateBin.TopNav.hideRawButton(); results.push( $('#rawtextbutton').hasClass('hidden') ); cleanup(); assert.ok(results.every(element => element)); } ); }); describe('hideFileSelector', function () { before(function () { cleanup(); }); it( 'hides the file attachment selection button', function () { var results = []; $('body').html( '' ); $.PrivateBin.TopNav.init(); results.push( !$('#filewrap').hasClass('hidden') ); $.PrivateBin.TopNav.hideFileSelector(); results.push( $('#filewrap').hasClass('hidden') ); cleanup(); assert.ok(results.every(element => element)); } ); }); describe('showCustomAttachment', function () { before(function () { cleanup(); }); it( 'display the custom file attachment', function () { var results = []; $('body').html( '' ); $.PrivateBin.TopNav.init(); results.push( $('#customattachment').hasClass('hidden') ); $.PrivateBin.TopNav.showCustomAttachment(); results.push( !$('#customattachment').hasClass('hidden') ); cleanup(); assert.ok(results.every(element => element)); } ); }); describe('collapseBar', function () { before(function () { cleanup(); }); it( 'collapses the navigation when displayed on a small screen', function () { var results = []; $('body').html( '' ); $.PrivateBin.TopNav.init(); results.push( $('.navbar-toggle').hasClass('collapsed') && $('#navbar').attr('aria-expanded') != 'true' ); $.PrivateBin.TopNav.collapseBar(); results.push( $('.navbar-toggle').hasClass('collapsed') && $('#navbar').attr('aria-expanded') != 'true' ); $('.navbar-toggle').click(); results.push( !$('.navbar-toggle').hasClass('collapsed') && $('#navbar').attr('aria-expanded') == 'true' ); $.PrivateBin.TopNav.collapseBar(); results.push( $('.navbar-toggle').hasClass('collapsed') && $('#navbar').attr('aria-expanded') == 'false' ); cleanup(); assert.ok(results.every(element => element)); } ); }); });