From ef2786151e38532536269eea947ae15e7714ed51 Mon Sep 17 00:00:00 2001 From: likui <2218301630@qq.com> Date: Mon, 2 Dec 2019 23:43:30 +0800 Subject: [PATCH] feat(compiler-sfc): handle pad option (#509) --- packages/compiler-sfc/__tests__/parse.spec.ts | 45 +++++++++++++++++++ packages/compiler-sfc/src/parse.ts | 40 +++++++++++++---- 2 files changed, 76 insertions(+), 9 deletions(-) diff --git a/packages/compiler-sfc/__tests__/parse.spec.ts b/packages/compiler-sfc/__tests__/parse.spec.ts index d3b5330a8..a3bd86b7b 100644 --- a/packages/compiler-sfc/__tests__/parse.spec.ts +++ b/packages/compiler-sfc/__tests__/parse.spec.ts @@ -19,6 +19,51 @@ describe('compiler:sfc', () => { }) }) + test('pad content', () => { + const content = ` + + +` + const padFalse = parse(content.trim(), { pad: false }) + expect(padFalse.template!.content).toBe('\n
\n') + expect(padFalse.script!.content).toBe('\nexport default {}\n') + expect(padFalse.styles[0].content).toBe('\nh1 { color: red }\n') + + const padTrue = parse(content.trim(), { pad: true }) + expect(padTrue.script!.content).toBe( + Array(3 + 1).join('//\n') + '\nexport default {}\n' + ) + expect(padTrue.styles[0].content).toBe( + Array(6 + 1).join('\n') + '\nh1 { color: red }\n' + ) + + const padLine = parse(content.trim(), { pad: 'line' }) + expect(padLine.script!.content).toBe( + Array(3 + 1).join('//\n') + '\nexport default {}\n' + ) + expect(padLine.styles[0].content).toBe( + Array(6 + 1).join('\n') + '\nh1 { color: red }\n' + ) + + const padSpace = parse(content.trim(), { pad: 'space' }) + expect(padSpace.script!.content).toBe( + `\n\n