ed85702581
* Allow HMX components in markdown This adds support for HMX components in markdown. The mechanism for importing is via frontmatter. We could do this differently (setup script maybe?) but since this was the easiest to implement I thought it was a good first-pass option. * Remove node-fetch from snowpack config * Assert that the runtime is created successfully * Add back in the micromark extension for encoding entities * Encode both codeTextData and codeFlowValue * Install snowpack app's deps
44 lines
No EOL
988 B
JavaScript
44 lines
No EOL
988 B
JavaScript
import { suite } from 'uvu';
|
|
import * as assert from 'uvu/assert';
|
|
import { createRuntime } from '../lib/runtime.js';
|
|
import { loadConfig } from '../lib/config.js';
|
|
import { doc } from './test-utils.js';
|
|
|
|
const React = suite('React Components');
|
|
|
|
let runtime, setupError;
|
|
|
|
React.before(async () => {
|
|
const astroConfig = await loadConfig(new URL('./fixtures/react-component', import.meta.url).pathname);
|
|
|
|
const logging = {
|
|
level: 'error',
|
|
dest: process.stderr
|
|
};
|
|
|
|
try {
|
|
runtime = await createRuntime(astroConfig, logging);
|
|
} catch(err) {
|
|
console.error(err);
|
|
setupError = err;
|
|
}
|
|
});
|
|
|
|
React.after(async () => {
|
|
await runtime.shutdown();
|
|
});
|
|
|
|
React('No error creating the runtime', () => {
|
|
assert.equal(setupError, undefined);
|
|
});
|
|
|
|
React('Can load hmx page', async () => {
|
|
const result = await runtime.load('/');
|
|
|
|
assert.equal(result.statusCode, 200);
|
|
|
|
const $ = doc(result.contents);
|
|
assert.equal($('h2').text(), 'Hello world!');
|
|
});
|
|
|
|
React.run(); |