Controller.js 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. 'use strict';
  2. require('../common');
  3. describe('Controller', function () {
  4. describe('newPaste', function () {
  5. before(function () {
  6. cleanup();
  7. });
  8. it(
  9. 'resets the formatter to the configured default',
  10. function () {
  11. const clean = jsdom('', {url: 'https://example.com/'});
  12. $('body').html(
  13. '<div id="errormessage" class="hidden"><span></span><div></div></div>' +
  14. '<div id="loadingindicator" class="hidden"><span></span><div></div></div>' +
  15. '<div id="status" class="hidden"><span></span><div></div></div>' +
  16. '<div id="remainingtime" class="hidden"><span></span><div></div></div>' +
  17. '<div id="pastesuccess" class="hidden"></div><button id="shortenbutton"></button>' +
  18. '<ul id="editorTabs"><li id="messagetab"><a></a></li><li id="previewtab"><a></a></li></ul>' +
  19. '<textarea id="message"></textarea><div id="preview" class="hidden"></div>' +
  20. '<div id="placeholder" class="hidden"></div><div id="prettymessage" class="hidden">' +
  21. '<pre id="prettyprint"></pre></div><div id="plaintext" class="hidden"></div>' +
  22. '<div id="attachment" class="hidden"></div><div id="attachmentPreview" class="hidden"></div>' +
  23. '<div id="dragAndDropFileNames"></div><input id="file" type="file">' +
  24. '<div id="discussion" class="hidden"><div id="commentcontainer"></div></div>' +
  25. '<div id="commenttemplate"><div></div></div><div id="replytemplate"><div></div></div>' +
  26. '<div id="attach" class="hidden"></div><input id="burnafterreading" type="checkbox">' +
  27. '<div id="burnafterreadingoption" class="hidden"></div><button id="clonebutton"></button>' +
  28. '<div id="customattachment" class="hidden"></div><div id="expiration" class="hidden"></div>' +
  29. '<button id="fileremovebutton"></button><div id="filewrap"></div>' +
  30. '<div id="formatter" class="hidden"><select id="pasteFormatter">' +
  31. '<option value="plaintext">Plain Text</option>' +
  32. '<option value="markdown" selected="selected">Markdown</option>' +
  33. '</select></div>' +
  34. '<button id="newbutton" class="hidden"></button><input id="opendiscussion" type="checkbox">' +
  35. '<div id="opendiscussionoption" class="hidden"></div><div id="password" class="hidden"></div>' +
  36. '<input id="passwordinput"><button id="rawtextbutton"></button><button id="downloadtextbutton"></button>' +
  37. '<button id="retrybutton"></button><button id="sendbutton" class="hidden"></button>' +
  38. '<button id="qrcodelink"></button><a id="emaillink"></a>' +
  39. '<select id="pasteExpiration"><option value="1week" selected="selected">1 week</option></select>' +
  40. '<span id="pasteExpirationDisplay"></span>'
  41. );
  42. $.PrivateBin.Alert.init();
  43. $.PrivateBin.Model.init();
  44. $.PrivateBin.AttachmentViewer.init();
  45. $.PrivateBin.DiscussionViewer.init();
  46. $.PrivateBin.Editor.init();
  47. $.PrivateBin.PasteStatus.init();
  48. $.PrivateBin.PasteViewer.init();
  49. $.PrivateBin.TopNav.init();
  50. $.PrivateBin.PasteViewer.setFormat('syntaxhighlighting');
  51. $.PrivateBin.Controller.newPaste();
  52. assert.strictEqual($.PrivateBin.PasteViewer.getFormat(), 'markdown');
  53. assert.strictEqual($('#pasteFormatter').val(), 'markdown');
  54. clean();
  55. }
  56. );
  57. });
  58. });