diff options
Diffstat (limited to 'test/astro-dynamic.test.js')
-rw-r--r-- | test/astro-dynamic.test.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/astro-dynamic.test.js b/test/astro-dynamic.test.js new file mode 100644 index 000000000..41235b6ce --- /dev/null +++ b/test/astro-dynamic.test.js @@ -0,0 +1,30 @@ +import { suite } from 'uvu'; +import * as assert from 'uvu/assert'; +import { doc } from './test-utils.js'; +import { setup } from './helpers.js'; + +const DynamicComponents = suite('Dynamic components tests'); + +setup(DynamicComponents, './fixtures/astro-dynamic'); + +DynamicComponents('Loads client-only packages', async ({ runtime }) => { + let result = await runtime.load('/'); + + assert.equal(result.statusCode, 200); + + // Grab the react-dom import + const exp = /import\("(.+?)"\)/g; + let match, reactDomURL; + while(match = exp.exec(result.contents)) { + if(match[1].includes('react-dom')) { + reactDomURL = match[1]; + } + } + + assert.ok(reactDomURL, 'React dom is on the page'); + + result = await runtime.load(reactDomURL); + assert.equal(result.statusCode, 200, 'Can load react-dom'); +}); + +DynamicComponents.run(); |