Editor.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. 'use strict';
  2. require('../common');
  3. describe('Editor', function () {
  4. describe('show, hide, getText, setText & isPreview', function () {
  5. this.timeout(30000);
  6. jsc.property(
  7. 'returns text fed into the textarea, handles editor tabs',
  8. 'string',
  9. function (text) {
  10. var clean = jsdom(),
  11. results = [];
  12. $('body').html(
  13. '<ul id="editorTabs" class="nav nav-tabs hidden"><li ' +
  14. 'role="presentation" class="active"><a id="messageedit" ' +
  15. 'href="#">Editor</a></li><li role="presentation"><a ' +
  16. 'id="messagepreview" href="#">Preview</a></li></ul><div ' +
  17. 'id="placeholder" class="hidden">+++ no paste text +++</div>' +
  18. '<div id="prettymessage" class="hidden"><pre id="prettyprint" ' +
  19. 'class="prettyprint linenums:1"></pre></div><div ' +
  20. 'id="plaintext" class="hidden"></div><p><textarea ' +
  21. 'id="message" name="message" cols="80" rows="25" ' +
  22. 'class="form-control hidden"></textarea></p>'
  23. );
  24. $.PrivateBin.Editor.init();
  25. results.push(
  26. $('#editorTabs').hasClass('hidden') &&
  27. $('#message').hasClass('hidden')
  28. );
  29. $.PrivateBin.Editor.show();
  30. results.push(
  31. !$('#editorTabs').hasClass('hidden') &&
  32. !$('#message').hasClass('hidden')
  33. );
  34. $.PrivateBin.Editor.hide();
  35. results.push(
  36. $('#editorTabs').hasClass('hidden') &&
  37. $('#message').hasClass('hidden')
  38. );
  39. $.PrivateBin.Editor.show();
  40. $.PrivateBin.Editor.focusInput();
  41. results.push(
  42. $.PrivateBin.Editor.getText().length === 0
  43. );
  44. $.PrivateBin.Editor.setText(text);
  45. results.push(
  46. $.PrivateBin.Editor.getText() === $('#message').val()
  47. );
  48. $.PrivateBin.Editor.setText();
  49. results.push(
  50. !$.PrivateBin.Editor.isPreview() &&
  51. !$('#message').hasClass('hidden')
  52. );
  53. $('#messagepreview').click();
  54. results.push(
  55. $.PrivateBin.Editor.isPreview() &&
  56. $('#message').hasClass('hidden')
  57. );
  58. $('#messageedit').click();
  59. results.push(
  60. !$.PrivateBin.Editor.isPreview() &&
  61. !$('#message').hasClass('hidden')
  62. );
  63. clean();
  64. return results.every(element => element);
  65. }
  66. );
  67. });
  68. });