1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import { describe, it, before } from 'node:test';
- import * as assert from 'node:assert/strict';
- import { parseHTML } from 'linkedom';
- import { loadFixture } from '../../../astro/test/test-utils.js';
- function hookError() {
- const error = console.error;
- const errors = [];
- console.error = function (...args) {
- errors.push(args);
- };
- return () => {
- console.error = error;
- return errors;
- };
- }
- describe('MDX and React', () => {
- let fixture;
- let unhook;
- before(async () => {
- fixture = await loadFixture({
- root: new URL('./fixtures/mdx-plus-react/', import.meta.url),
- });
- unhook = hookError();
- await fixture.build();
- });
- it('can be used in the same project', async () => {
- const html = await fixture.readFile('/index.html');
- const { document } = parseHTML(html);
- const p = document.querySelector('p');
- assert.equal(p.textContent, 'Hello world');
- });
- it('mdx renders fine', async () => {
- const html = await fixture.readFile('/post/index.html');
- const { document } = parseHTML(html);
- const h = document.querySelector('#testing');
- assert.equal(h.textContent, 'Testing');
- });
- it('does not get a invalid hook call warning', () => {
- const errors = unhook();
- assert.equal(errors.length === 0, true);
- });
- });
|