editorconfig
Version:
EditorConfig File Locator and Interpreter for Node.js
51 lines (50 loc) • 1.45 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
require("chai/register-should.js");
const cli_js_1 = __importDefault(require("./cli.js"));
async function exec(...args) {
const out = [];
const err = [];
const res = {
stdout: '',
stderr: '',
};
try {
res.props = await (0, cli_js_1.default)(['node', 'editorconfig', ...args], {
writeOut(s) {
out.push(s);
},
writeErr(s) {
err.push(s);
},
});
}
catch (er) {
res.err = er;
}
if (out.length) {
res.stdout = out.join('');
}
if (err.length) {
res.stderr = err.join('');
}
return res;
}
describe('Command line interface', () => {
it('helps', async () => {
const res = await exec('--help');
res.stdout.should.match(/^Usage:/);
});
it('Lists files', async () => {
const res = await exec('foo.md', '--files');
res.stdout.trim().should.match(/\.editorconfig \[\*\.md\]$/);
});
it('Lists multiple files', async () => {
const res = await exec('foo.md', 'bar.js', '--files');
res.stdout.should.match(/^\[foo\.md\]/);
res.stdout.trim().should.match(/\.editorconfig \[\*\]$/);
});
});