Files

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));
});