pull/17597/head
7nik 1 week ago
parent 53cab9608d
commit 216abbcfd8

@ -147,7 +147,6 @@ export function normalize_new_line(html) {
*/
export const assert_html_equal = (actual, expected, message) => {
try {
if (actual === '' && expected === '') return;
assert.deepEqual(normalize_html(window, actual), normalize_html(window, expected), message);
} catch (e) {
if (Error.captureStackTrace)

@ -89,6 +89,7 @@ export interface RuntimeTest<Props extends Record<string, any> = Record<string,
warnings: any[];
assert: Assert;
variant: 'ssr' | 'async-ssr';
html: { body: string; head: string };
}) => void | Promise<void>;
accessors?: boolean;
immutable?: boolean;
@ -356,6 +357,8 @@ async function run_test_variant(
const target = window.document.querySelector('main') as HTMLElement;
let snapshot = undefined;
let body = '',
head = '';
if (variant === 'hydrate' || variant === 'ssr' || variant === 'async-ssr') {
config.before_test?.();
@ -369,7 +372,7 @@ async function run_test_variant(
variant === 'async-ssr' || (variant === 'hydrate' && compileOptions.experimental?.async)
? await render_result
: render_result;
const { body, head } = rendered;
({ body, head } = rendered);
const prefix = variant === 'async-ssr' ? 'async_' : '';
fs.writeFileSync(`${cwd}/_output/${prefix}rendered.html`, body);
@ -416,7 +419,8 @@ async function run_test_variant(
htmlEqual: assert_html_equal,
htmlEqualWithOptions: assert_html_equal_with_options
},
variant
variant,
html: { body, head }
});
}
} else {

@ -1,11 +1,10 @@
import { getSsrHtml, test } from '../../test';
import { test } from '../../test';
export default test({
skip: true,
mode: ['server'],
test_ssr({ assert }) {
const html = getSsrHtml(import.meta.dirname);
assert.htmlEqualWithOptions(html, `<input disabled="" hidden=""/>`, {
test_ssr({ assert, html }) {
assert.htmlEqualWithOptions(html.body, `<input disabled="" hidden=""/>`, {
preserveComments: false,
withoutNormalizeHtml: true
});

@ -1,10 +1,9 @@
import { getSsrHtml, test } from '../../test';
import { test } from '../../test';
export default test({
mode: ['server'],
test_ssr({ assert }) {
const html = getSsrHtml(import.meta.dirname);
assert.htmlEqualWithOptions(html, '<!--[--><!--[-->foo<!--]--><!--]-->', {
test_ssr({ assert, html }) {
assert.htmlEqualWithOptions(html.body, '<!--[--><!--[-->foo<!--]--><!--]-->', {
preserveComments: true,
withoutNormalizeHtml: true
});

@ -1,4 +1,4 @@
import { getSsrHtml, test } from '../../test';
import { test } from '../../test';
const expected = [
`<area alt=""/>`,
@ -21,9 +21,8 @@ const expected = [
export default test({
mode: ['server'],
test_ssr({ assert }) {
const html = getSsrHtml(import.meta.dirname);
assert.htmlEqualWithOptions(html, expected, {
test_ssr({ assert, html }) {
assert.htmlEqualWithOptions(html.body, expected, {
preserveComments: false,
withoutNormalizeHtml: true
});

@ -1,14 +1,9 @@
// @vitest-environment vitest-xhtml-environment.ts
import { readFileSync } from 'fs';
import { runtime_suite, ok } from '../runtime-legacy/shared';
const { test, run } = runtime_suite(true);
function getSsrHtml(folder: string) {
return readFileSync(`${folder}/_output/rendered.html`, 'utf-8');
}
export { test, ok, getSsrHtml };
export { test, ok };
await run(__dirname);

Loading…
Cancel
Save