38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { enablePrintMediaForPreview } from "../src/preview-styles";
|
|
|
|
describe("打印媒体预览", () => {
|
|
it("将打印媒体规则转换为屏幕预览规则", () => {
|
|
const css = `
|
|
html { font-size: 16px; }
|
|
@media print {
|
|
html { font-size: 13px; }
|
|
}
|
|
`;
|
|
|
|
expect(enablePrintMediaForPreview(css)).toContain("@media screen {");
|
|
expect(enablePrintMediaForPreview(css)).toContain(
|
|
"html { font-size: 13px; }"
|
|
);
|
|
});
|
|
|
|
it("支持 only print 和带条件的打印媒体规则", () => {
|
|
const css = [
|
|
"@media only print { body { color: black; } }",
|
|
"@media print and (color) { body { background: white; } }"
|
|
].join("\n");
|
|
|
|
expect(enablePrintMediaForPreview(css)).toBe(
|
|
[
|
|
"@media only screen { body { color: black; } }",
|
|
"@media screen and (color) { body { background: white; } }"
|
|
].join("\n")
|
|
);
|
|
});
|
|
|
|
it("不改变普通屏幕媒体规则", () => {
|
|
const css = "@media screen and (min-width: 800px) { body { margin: 0; } }";
|
|
expect(enablePrintMediaForPreview(css)).toBe(css);
|
|
});
|
|
});
|