const assert = require('assert'); os = require('os'), fs = require('fs'), path = require('path'), TidyHtml = null, Settings = null; const npm = require('../../../../src/node_modules/npm/lib/npm.js'); const nodeify = require('../../../../src/node_modules/nodeify'); describe(__filename, function () { describe('tidyHtml', function () { before(function (done) { npm.load({}, (err) => { assert.ok(!err); TidyHtml = require('../../../../src/node/utils/TidyHtml'); Settings = require('../../../../src/node/utils/Settings'); return done(); }); }); function tidy(file, callback) { return nodeify(TidyHtml.tidy(file), callback); } it('Tidies HTML', function (done) { // If the user hasn't configured Tidy, we skip this tests as it's required for this test if (!Settings.tidyHtml) { this.skip(); } // Try to tidy up a bad HTML file const tmpDir = os.tmpdir(); const tmpFile = path.join(tmpDir, `tmp_${Math.floor(Math.random() * 1000000)}.html`); fs.writeFileSync(tmpFile, '
a paragraph
a paragraph
', '