26 lines
813 B
JavaScript
26 lines
813 B
JavaScript
import prettier from "../../config/prettier-entry.js";
|
|
const { group, ifBreak } = prettier.doc.builders;
|
|
const { printDocToString } = prettier.doc.printer;
|
|
const docToString = (doc, options) =>
|
|
printDocToString(doc, { tabSize: 2, ...options }).formatted;
|
|
|
|
// Extra group should not effect `ifBreak` inside
|
|
test("`ifBreak` inside `group`", () => {
|
|
const groupId = Symbol("test-group-id");
|
|
const FLAT_TEXT = "flat";
|
|
const doc = group(ifBreak("break", FLAT_TEXT, { groupId }), {
|
|
id: groupId,
|
|
});
|
|
const docs = [
|
|
doc,
|
|
[group(""), doc],
|
|
[doc, group("")],
|
|
group(doc),
|
|
group(doc, { id: Symbol("wrapper-group-id") }),
|
|
];
|
|
|
|
expect(
|
|
docs.map((doc) => docToString(doc, { printWidth: FLAT_TEXT.length })),
|
|
).toStrictEqual(Array.from({ length: docs.length }, () => FLAT_TEXT));
|
|
});
|