'use strict'; describe('import indents functionality', function () { beforeEach(async function () { this.timeout(60000); await helper.aNewPad(); }); const getinnertext = () => { const inner = helper.padInner$; let newtext = ''; inner('div').each((line, el) => { newtext += `${el.innerHTML}\n`; }); return newtext; }; const importrequest = (data, importurl, type) => { 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', '', '--boundary', `Content-Disposition: form-data; name="file"; filename="import.${type}"`, 'Content-Type: text/plain', '', data, '', '--boundary', ].join('\r\n'), error(res) { error = res; }, }); expect(error).to.be(undefined); return result; }; const 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', async function () { const importurl = `${helper.padChrome$.window.location.href}/import`; const htmlWithIndents = '' + ''; importrequest(htmlWithIndents, importurl, 'html'); await helper.waitForPromise(() => getinnertext() === '\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'); }); xit('import a pad with indented lists and newlines from html', async function () { const importurl = `${helper.padChrome$.window.location.href}/import`; const htmlWithIndents = '
' + '
' + ''; importrequest(htmlWithIndents, importurl, 'html'); await helper.waitForPromise(() => getinnertext() === '\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'); }); xit('import with 8 levels of indents and newlines and attributes from html', async function () { const importurl = `${helper.padChrome$.window.location.href}/import`; const htmlWithIndents = '
' + '
' + '