Skip to content

Commit

Permalink
test normalise with preserve comments
Browse files Browse the repository at this point in the history
  • Loading branch information
tanhauhau committed Jun 22, 2021
1 parent 76ef93b commit c09bc95
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 8 deletions.
17 changes: 14 additions & 3 deletions test/helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import glob from 'tiny-glob/sync';
import * as path from 'path';
import * as fs from 'fs';
import * as colors from 'kleur';
export const assert = (assert$1 as unknown) as typeof assert$1 & { htmlEqual: (actual, expected, message?) => void };
export const assert = (assert$1 as unknown) as typeof assert$1 & { htmlEqual: (actual, expected, message?) => void, htmlEqualWithComments: (actual, expected, message?) => void };

// for coverage purposes, we need to test source files,
// but for sanity purposes, we need to test dist files
Expand Down Expand Up @@ -118,6 +118,9 @@ function cleanChildren(node) {
node.removeChild(child);
child = previous;
}
} else if (child.nodeType === 8) {
// comment
// do nothing
} else {
cleanChildren(child);
}
Expand All @@ -137,11 +140,11 @@ function cleanChildren(node) {
}
}

export function normalizeHtml(window, html) {
export function normalizeHtml(window, html, preserveComments = false) {
try {
const node = window.document.createElement('div');
node.innerHTML = html
.replace(/<!--.*?-->/g, '')
.replace(/(<!--.*?-->)/g, preserveComments ? '$1' : '')
.replace(/>[\s\r\n]+</g, '><')
.trim();
cleanChildren(node);
Expand All @@ -162,6 +165,14 @@ export function setupHtmlEqual() {
message
);
};
// eslint-disable-next-line no-import-assign
assert.htmlEqualWithComments = (actual, expected, message) => {
assert.deepEqual(
normalizeHtml(window, actual, true),
normalizeHtml(window, expected, true),
message
);
};
}

export function loadConfig(file) {
Expand Down
8 changes: 3 additions & 5 deletions test/server-side-rendering/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,9 @@ describe('ssr', () => {
if (css.code) fs.writeFileSync(`${dir}/_actual.css`, css.code);

try {
if (compileOptions.preserveComments) {
assert.equal(html.trim(), expectedHtml.trim());
} else {
assert.htmlEqual(html, expectedHtml);
}
(compileOptions.preserveComments
? assert.htmlEqualWithComments
: assert.htmlEqual)(html, expectedHtml);
} catch (error) {
if (shouldUpdateExpected()) {
fs.writeFileSync(`${dir}/_expected.html`, html);
Expand Down

0 comments on commit c09bc95

Please sign in to comment.