Add test to verify Lit works in SSR (#3158)

This commit is contained in:
Matthew Phillips 2022-04-20 14:16:04 -04:00 committed by GitHub
parent eea9090ed5
commit 12f6b60998
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 36 additions and 0 deletions

View file

@ -24,11 +24,13 @@ export class MyElement extends LitElement {
this.reflectedStr = 'default reflected string';
}
render() {
let typeofwindow = typeof window.Window;
return html`
<div>Testing...</div>
<div id="bool">${this.bool ? 'A' : 'B'}</div>
<div id="str">${this.str}</div>
<div id="data">data: ${this.obj.data}</div>
<div id="win">${typeofwindow}</div>
`;
}
}

View file

@ -0,0 +1,34 @@
import { expect } from 'chai';
import { load as cheerioLoad } from 'cheerio';
import { loadFixture } from './test-utils.js';
import testAdapter from './test-adapter.js';
describe('Lit integration in SSR', () => {
/** @type {import('./test-utils').Fixture} */
let fixture;
before(async () => {
fixture = await loadFixture({
root: './fixtures/lit-element/',
experimental: {
ssr: true,
},
adapter: testAdapter(),
});
await fixture.build();
});
async function fetchHTML(path) {
const app = await fixture.loadTestAdapterApp();
const request = new Request('http://example.com' + path);
const response = await app.render(request);
const html = await response.text();
return html;
}
it('Is able to load', async () => {
const html = await fetchHTML('/');
const $ = cheerioLoad(html);
expect($('#win').text()).to.equal('function');
});
});