'use strict'; require('../common'); describe('Editor', function () { describe('show, hide, getText, setText & isPreview', function () { this.timeout(30000); jsc.property( 'returns text fed into the textarea, handles editor tabs', 'string', function (text) { var clean = jsdom(), results = []; $('body').html( '<ul id="editorTabs" class="nav nav-tabs hidden"><li ' + 'role="presentation" class="active"><a id="messageedit" ' + 'href="#">Editor</a></li><li role="presentation"><a ' + 'id="messagepreview" href="#">Preview</a></li></ul><div ' + 'id="placeholder" class="hidden">+++ no paste text +++</div>' + '<div id="prettymessage" class="hidden"><pre id="prettyprint" ' + 'class="prettyprint linenums:1"></pre></div><div ' + 'id="plaintext" class="hidden"></div><p><textarea ' + 'id="message" name="message" cols="80" rows="25" ' + 'class="form-control hidden"></textarea></p>' ); $.PrivateBin.Editor.init(); results.push( $('#editorTabs').hasClass('hidden') && $('#message').hasClass('hidden') ); $.PrivateBin.Editor.show(); results.push( !$('#editorTabs').hasClass('hidden') && !$('#message').hasClass('hidden') ); $.PrivateBin.Editor.hide(); results.push( $('#editorTabs').hasClass('hidden') && $('#message').hasClass('hidden') ); $.PrivateBin.Editor.show(); $.PrivateBin.Editor.focusInput(); results.push( $.PrivateBin.Editor.getText().length === 0 ); $.PrivateBin.Editor.setText(text); results.push( $.PrivateBin.Editor.getText() === $('#message').val() ); $.PrivateBin.Editor.setText(); results.push( !$.PrivateBin.Editor.isPreview() && !$('#message').hasClass('hidden') ); $('#messagepreview').trigger('click'); results.push( $.PrivateBin.Editor.isPreview() && $('#message').hasClass('hidden') ); $('#messageedit').trigger('click'); results.push( !$.PrivateBin.Editor.isPreview() && !$('#message').hasClass('hidden') ); clean(); return results.every(element => element); } ); }); });