Files
test-repo/tests_integration/__tests__/bundle.js
T
2020-09-17 00:08:44 +08:00

47 lines
1.3 KiB
JavaScript

"use strict";
const path = require("path");
const globby = require("globby");
const { projectRoot } = require("../env");
const coreOptions = require("../../src/main/core-options");
const codeSamples = require("../../website/playground/codeSamples").default;
const parserNames = coreOptions.options.parser.choices.map(
({ value }) => value
);
const distDirectory = path.join(projectRoot, "dist");
describe("standalone", () => {
const standalone = require(path.join(distDirectory, "standalone.js"));
const plugins = globby
.sync(["parser-*.js"], { cwd: distDirectory, absolute: true })
.map((file) => require(file));
const esmStandalone = require(path.join(distDirectory, "esm/standalone.mjs"))
.default;
const esmPlugins = globby
.sync(["esm/parser-*.mjs"], { cwd: distDirectory, absolute: true })
.map((file) => require(file).default);
for (const parser of parserNames) {
test(parser, () => {
const input = codeSamples(parser);
const umdOutput = standalone.format(input, {
parser,
plugins,
});
expect(typeof input).toBe("string");
expect(typeof umdOutput).toBe("string");
expect(umdOutput).not.toBe(input);
const esmOutput = esmStandalone.format(input, {
parser,
plugins: esmPlugins,
});
expect(esmOutput).toBe(umdOutput);
});
}
});