Files
test-repo/tests_integration/__tests__/normalize-doc.js
T
Sosuke Suzuki b4d1053bb4 Refactor: Use normalizeParts from document/utils in printer-markdown (#8496)
* Use normalizeParts from utils in printer-markdown

* Remove flatting for concat from normalizeDoc

* Fix undef parts

* Move normalizeDoc to doc-utils

* Add test for normalizeDoc

* Modify tests to avoid specllcheck errors
2020-06-05 12:47:24 +03:00

43 lines
1.1 KiB
JavaScript

"use strict";
const prettier = require("prettier/local");
const docBuilders = prettier.doc.builders;
const docUtils = prettier.doc.utils;
const { normalizeDoc } = docUtils;
const { group, concat, fill } = docBuilders;
describe("normalizeDoc", () => {
test.each([
[
"removes empty strings",
concat(["", "foo", fill(["", "bar", ""]), ""]),
concat(["foo", fill(["bar"])]),
],
[
"flattens nested concat",
concat(["foo ", "", concat(["bar ", "", concat(["baz", ""])])]),
concat(["foo bar baz"]),
],
[
"flattens nested concat in other docs",
group(concat(["foo ", concat(["bar ", "", concat(["baz", ""])])])),
group(concat(["foo bar baz"])),
],
[
"keeps groups",
concat([group("foo"), group("bar"), group("baz")]),
concat([group("foo"), group("bar"), group("baz")]),
],
[
"keeps fills",
fill(["foo", fill(["bar", fill(["baz"])])]),
fill(["foo", fill(["bar", fill(["baz"])])]),
],
])("%s", (_, doc, expected) => {
const result = normalizeDoc(doc);
expect(result).toEqual(expected);
});
});