describe('import indents functionality', function () { beforeEach(function (cb) { helper.newPad(cb); // creates a new pad this.timeout(60000); }); function getinnertext() { const inner = helper.padInner$; let newtext = ''; inner('div').each((line, el) => { newtext += `${el.innerHTML}\n`; }); return newtext; } function importrequest(data, importurl, type) { let success; let error; const result = $.ajax({ url: importurl, type: 'post', processData: false, async: false, contentType: 'multipart/form-data; boundary=boundary', accepts: { text: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', }, data: `Content-Type: multipart/form-data; boundary=--boundary\r\n\r\n--boundary\r\nContent-Disposition: form-data; name="file"; filename="import.${type}"\r\nContent-Type: text/plain\r\n\r\n${data}\r\n\r\n--boundary`, error(res) { error = res; }, }); expect(error).to.be(undefined); return result; } function exportfunc(link) { const exportresults = []; $.ajaxSetup({ async: false, }); $.get(`${link}/export/html`, (data) => { const start = data.indexOf(''); const end = data.indexOf(''); const html = data.substr(start + 6, end - start - 6); exportresults.push(['html', html]); }); $.get(`${link}/export/txt`, (data) => { exportresults.push(['txt', data]); }); return exportresults; } xit('import a pad with indents from html', function (done) { const importurl = `${helper.padChrome$.window.location.href}/import`; const htmlWithIndents = ''; importrequest(htmlWithIndents, importurl, 'html'); helper.waitFor(() => expect(getinnertext()).to.be('\ \n\ \n\ \n\ \n\
\n')); const results = exportfunc(helper.padChrome$.window.location.href); expect(results[0][1]).to.be('
'); expect(results[1][1]).to.be('\tindent line 1\n\tindent line 2\n\t\tindent2 line 1\n\t\tindent2 line 2\n\n'); done(); }); xit('import a pad with indented lists and newlines from html', function (done) { const importurl = `${helper.padChrome$.window.location.href}/import`; const htmlWithIndents = '

'; importrequest(htmlWithIndents, importurl, 'html'); helper.waitFor(() => expect(getinnertext()).to.be('\ \n\
\n\ \n\ \n\
\n\ \n\
\n')); const results = exportfunc(helper.padChrome$.window.location.href); expect(results[0][1]).to.be('


'); expect(results[1][1]).to.be('\tindent line 1\n\n\tindent 1 line 2\n\t\tindent 2 times line 1\n\n\t\tindent 2 times line 2\n\n'); done(); }); xit('import a pad with 8 levels of indents and newlines and attributes from html', function (done) { const importurl = `${helper.padChrome$.window.location.href}/import`; const htmlWithIndents = '