1
0

Controller.js 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. 'use strict';
  2. const { loadTemplateFragment } = require('./TestHelperFunctions');
  3. require('../common');
  4. describe('Controller', function () {
  5. describe('newPaste', function () {
  6. after(function () {
  7. cleanup();
  8. });
  9. it(
  10. 'resets the formatter to the configured default',
  11. function () {
  12. const clean = cleanup('', {url: 'https://example.com/'});
  13. document.body.innerHTML = `
  14. <div id="errormessage" class="hidden"></div>
  15. <div id="loadingindicator" class="hidden"></div>
  16. <div id="status" class="hidden"></div>
  17. <div id="remainingtime" class="hidden"></div>
  18. <div id="pastesuccess" class="hidden"></div>
  19. <button id="shortenbutton"></button>
  20. <ul id="editorTabs">
  21. <li id="messagetab"><a></a></li>
  22. <li id="previewtab"><a></a></li>
  23. </ul>
  24. <textarea id="message"></textarea>
  25. <div id="preview" class="hidden"></div>
  26. <div id="placeholder" class="hidden"></div>
  27. <div id="prettymessage" class="hidden"><pre id="prettyprint"></pre></div>
  28. <div id="plaintext" class="hidden"></div>
  29. <div id="attachment" class="hidden"></div>
  30. <div id="attachmentPreview" class="hidden"></div>
  31. <div id="discussion" class="hidden"><div id="commentcontainer"></div></div>
  32. <div id="templates">
  33. <div id="commenttemplate"><div></div></div>
  34. <div id="commenttailtemplate"><button></button></div>
  35. <div id="replytemplate"><div></div></div>
  36. </div>
  37. <div id="attach" class="hidden"></div>
  38. ${loadTemplateFragment('burnafterreadingoption')}
  39. <button id="clonebutton"></button>
  40. <div id="customattachment" class="hidden"></div>
  41. <div id="expiration" class="hidden"></div>
  42. <button id="fileremovebutton"></button>
  43. <div id="filewrap"></div>
  44. <div id="formatter" class="hidden">
  45. <select id="pasteFormatter">
  46. <option value="plaintext">Plain Text</option>
  47. <option value="markdown" selected="selected">Markdown</option>
  48. </select>
  49. </div>
  50. <button id="newbutton" class="hidden"></button>
  51. ${loadTemplateFragment('opendiscussionoption')}
  52. <div id="password" class="hidden"></div>
  53. <input id="passwordinput">
  54. <button id="rawtextbutton"></button>
  55. <button id="downloadtextbutton"></button>
  56. <button id="retrybutton"></button>
  57. <button id="sendbutton" class="hidden"></button>
  58. <button id="qrcodelink"></button>
  59. <a id="emaillink"></a>
  60. <select id="pasteExpiration">
  61. <option value="1week" selected="selected">1 week</option>
  62. </select>
  63. `;
  64. PrivateBin.Alert.init();
  65. PrivateBin.Model.init();
  66. PrivateBin.AttachmentViewer.init();
  67. PrivateBin.DiscussionViewer.init();
  68. PrivateBin.Editor.init();
  69. PrivateBin.PasteStatus.init();
  70. PrivateBin.PasteViewer.init();
  71. PrivateBin.TopNav.init();
  72. PrivateBin.PasteViewer.setFormat('syntaxhighlighting');
  73. PrivateBin.Controller.newPaste();
  74. assert.strictEqual(PrivateBin.PasteViewer.getFormat(), 'markdown');
  75. assert.strictEqual(document.getElementById('pasteFormatter').value, 'markdown');
  76. clean();
  77. }
  78. );
  79. });
  80. });