mirror of
https://github.com/withastro/astro.git
synced 2024-12-23 21:53:55 -05:00
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
45 lines
No EOL
1.1 KiB
JavaScript
45 lines
No EOL
1.1 KiB
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 HMXMD = suite('HMX Markdown');
|
|
|
|
let runtime, setupError;
|
|
|
|
HMXMD.before(async () => {
|
|
const astroConfig = await loadConfig(new URL('./fixtures/hmx-markdown', import.meta.url).pathname);
|
|
|
|
const logging = {
|
|
level: 'error',
|
|
dest: process.stderr
|
|
};
|
|
|
|
try {
|
|
runtime = await createRuntime(astroConfig, logging);
|
|
} catch(err) {
|
|
console.error(err);
|
|
setupError = err;
|
|
}
|
|
});
|
|
|
|
HMXMD.after(async () => {
|
|
runtime && runtime.shutdown();
|
|
});
|
|
|
|
HMXMD('No errors creating a runtime', () => {
|
|
assert.equal(setupError, undefined);
|
|
});
|
|
|
|
HMXMD('Can load markdown pages with hmx', async () => {
|
|
const result = await runtime.load('/post');
|
|
|
|
assert.equal(result.statusCode, 200);
|
|
|
|
const $ = doc(result.contents);
|
|
assert.ok($('#first').length, 'There is a div added in markdown');
|
|
assert.ok($('#test').length, 'There is a div added via a component from markdown');
|
|
});
|
|
|
|
HMXMD.run(); |