diff options
author | 2022-10-13 14:15:57 -0500 | |
---|---|---|
committer | 2022-10-13 14:15:57 -0500 | |
commit | d25f54cb9306eea9ed0445af8f77604dacacad43 (patch) | |
tree | b5b1c93b4c9a2685b052e3c39f91f916bf6b086f /packages/integrations/vue/test/app-entrypoint.test.js | |
parent | 6f9a88b31ba0881acd56fcb62c4a554c867b14d6 (diff) | |
download | astro-d25f54cb9306eea9ed0445af8f77604dacacad43.tar.gz astro-d25f54cb9306eea9ed0445af8f77604dacacad43.tar.zst astro-d25f54cb9306eea9ed0445af8f77604dacacad43.zip |
[Vue] add support for `appEntrypoint` (#5075)
* feat(vue): add support for appEntrypoint
* chore: add changeset
* test(vue): add tests for app entrypoint
* docs(vue): update README to include app entrypoint
* fix(vue): prefer resolvedVirtualModuleId
Co-authored-by: Nate Moore <nate@astro.build>
Diffstat (limited to 'packages/integrations/vue/test/app-entrypoint.test.js')
-rw-r--r-- | packages/integrations/vue/test/app-entrypoint.test.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/packages/integrations/vue/test/app-entrypoint.test.js b/packages/integrations/vue/test/app-entrypoint.test.js new file mode 100644 index 000000000..1b53fbd21 --- /dev/null +++ b/packages/integrations/vue/test/app-entrypoint.test.js @@ -0,0 +1,34 @@ +import { loadFixture } from './test-utils.js'; +import { expect } from 'chai'; +import { parseHTML } from 'linkedom'; + +describe('App Entrypoint', () => { + /** @type {import('./test-utils').Fixture} */ + let fixture; + + before(async () => { + fixture = await loadFixture({ + root: './fixtures/app-entrypoint/' + }); + await fixture.build(); + }); + + it('loads during SSR', async () => { + const data = await fixture.readFile('/index.html') + const { document } = parseHTML(data); + const bar = document.querySelector('#foo > #bar'); + expect(bar).not.to.be.undefined; + expect(bar.textContent).to.eq('works'); + }); + + it('setup included in renderer bundle', async () => { + const data = await fixture.readFile('/index.html') + const { document } = parseHTML(data); + const island = document.querySelector('astro-island'); + const client = island.getAttribute('renderer-url'); + expect(client).not.to.be.undefined; + + const js = await fixture.readFile(client); + expect(js).to.match(/\w+\.component\(\"Bar\"/gm) + }); +}); |