summaryrefslogtreecommitdiff
path: root/packages/markdown/remark/test
diff options
context:
space:
mode:
Diffstat (limited to 'packages/markdown/remark/test')
-rw-r--r--packages/markdown/remark/test/autolinking.test.js22
-rw-r--r--packages/markdown/remark/test/entities.test.js12
-rw-r--r--packages/markdown/remark/test/plugins.test.js12
-rw-r--r--packages/markdown/remark/test/remark-collect-images.test.js31
-rw-r--r--packages/markdown/remark/test/test-utils.js4
5 files changed, 38 insertions, 43 deletions
diff --git a/packages/markdown/remark/test/autolinking.test.js b/packages/markdown/remark/test/autolinking.test.js
index b1e567bb4..79d3ea767 100644
--- a/packages/markdown/remark/test/autolinking.test.js
+++ b/packages/markdown/remark/test/autolinking.test.js
@@ -1,14 +1,12 @@
-import { renderMarkdown } from '../dist/index.js';
+import { createMarkdownProcessor } from '../dist/index.js';
import chai from 'chai';
-import { mockRenderMarkdownParams } from './test-utils.js';
describe('autolinking', () => {
- describe('plain md', () => {
+ describe('plain md', async () => {
+ const processor = await createMarkdownProcessor();
+
it('autolinks URLs starting with a protocol in plain text', async () => {
- const { code } = await renderMarkdown(
- `See https://example.com for more.`,
- mockRenderMarkdownParams
- );
+ const { code } = await processor.render(`See https://example.com for more.`);
chai
.expect(code.replace(/\n/g, ''))
@@ -16,10 +14,7 @@ describe('autolinking', () => {
});
it('autolinks URLs starting with "www." in plain text', async () => {
- const { code } = await renderMarkdown(
- `See www.example.com for more.`,
- mockRenderMarkdownParams
- );
+ const { code } = await processor.render(`See www.example.com for more.`);
chai
.expect(code.trim())
@@ -27,9 +22,8 @@ describe('autolinking', () => {
});
it('does not autolink URLs in code blocks', async () => {
- const { code } = await renderMarkdown(
- 'See `https://example.com` or `www.example.com` for more.',
- mockRenderMarkdownParams
+ const { code } = await processor.render(
+ 'See `https://example.com` or `www.example.com` for more.'
);
chai
diff --git a/packages/markdown/remark/test/entities.test.js b/packages/markdown/remark/test/entities.test.js
index acaf71be1..b2dacb79f 100644
--- a/packages/markdown/remark/test/entities.test.js
+++ b/packages/markdown/remark/test/entities.test.js
@@ -1,13 +1,11 @@
-import { renderMarkdown } from '../dist/index.js';
+import { createMarkdownProcessor } from '../dist/index.js';
import { expect } from 'chai';
-import { mockRenderMarkdownParams } from './test-utils.js';
-describe('entities', () => {
+describe('entities', async () => {
+ const processor = await createMarkdownProcessor();
+
it('should not unescape entities in regular Markdown', async () => {
- const { code } = await renderMarkdown(
- `<i>This should NOT be italic</i>`,
- mockRenderMarkdownParams
- );
+ const { code } = await processor.render(`<i>This should NOT be italic</i>`);
expect(code).to.equal(`<p>&#x3C;i>This should NOT be italic&#x3C;/i></p>`);
});
diff --git a/packages/markdown/remark/test/plugins.test.js b/packages/markdown/remark/test/plugins.test.js
index 35e5dcaf8..ce2401047 100644
--- a/packages/markdown/remark/test/plugins.test.js
+++ b/packages/markdown/remark/test/plugins.test.js
@@ -1,5 +1,4 @@
-import { renderMarkdown } from '../dist/index.js';
-import { mockRenderMarkdownParams } from './test-utils.js';
+import { createMarkdownProcessor } from '../dist/index.js';
import chai from 'chai';
import { fileURLToPath } from 'node:url';
@@ -8,9 +7,8 @@ describe('plugins', () => {
// https://github.com/withastro/astro/issues/3264
it('should be able to get file path when passing fileURL', async () => {
let context;
- await renderMarkdown(`test`, {
- ...mockRenderMarkdownParams,
- fileURL: new URL('virtual.md', import.meta.url),
+
+ const processor = await createMarkdownProcessor({
remarkPlugins: [
function () {
const transformer = (tree, file) => {
@@ -22,6 +20,10 @@ describe('plugins', () => {
],
});
+ await processor.render(`test`, {
+ fileURL: new URL('virtual.md', import.meta.url),
+ });
+
chai.expect(typeof context).to.equal('object');
chai.expect(context.path).to.equal(fileURLToPath(new URL('virtual.md', import.meta.url)));
});
diff --git a/packages/markdown/remark/test/remark-collect-images.test.js b/packages/markdown/remark/test/remark-collect-images.test.js
index d5c743e20..a55336953 100644
--- a/packages/markdown/remark/test/remark-collect-images.test.js
+++ b/packages/markdown/remark/test/remark-collect-images.test.js
@@ -1,28 +1,33 @@
-import { renderMarkdown } from '../dist/index.js';
-import { mockRenderMarkdownParams } from './test-utils.js';
+import { createMarkdownProcessor } from '../dist/index.js';
import chai from 'chai';
-describe('collect images', () => {
+describe('collect images', async () => {
+ const processor = await createMarkdownProcessor();
+
it('should collect inline image paths', async () => {
- const { code, vfile } = await renderMarkdown(
- `Hello ![inline image url](./img.png)`,
- mockRenderMarkdownParams
- );
+ const {
+ code,
+ metadata: { imagePaths },
+ } = await processor.render(`Hello ![inline image url](./img.png)`, {
+ fileURL: 'file.md',
+ });
chai
.expect(code)
.to.equal('<p>Hello <img alt="inline image url" __ASTRO_IMAGE_="./img.png"></p>');
- chai.expect(Array.from(vfile.data.imagePaths)).to.deep.equal(['./img.png']);
+ chai.expect(Array.from(imagePaths)).to.deep.equal(['./img.png']);
});
it('should add image paths from definition', async () => {
- const { code, vfile } = await renderMarkdown(
- `Hello ![image ref][img-ref]\n\n[img-ref]: ./img.webp`,
- mockRenderMarkdownParams
- );
+ const {
+ code,
+ metadata: { imagePaths },
+ } = await processor.render(`Hello ![image ref][img-ref]\n\n[img-ref]: ./img.webp`, {
+ fileURL: 'file.md',
+ });
chai.expect(code).to.equal('<p>Hello <img alt="image ref" __ASTRO_IMAGE_="./img.webp"></p>');
- chai.expect(Array.from(vfile.data.imagePaths)).to.deep.equal(['./img.webp']);
+ chai.expect(Array.from(imagePaths)).to.deep.equal(['./img.webp']);
});
});
diff --git a/packages/markdown/remark/test/test-utils.js b/packages/markdown/remark/test/test-utils.js
deleted file mode 100644
index 76b593deb..000000000
--- a/packages/markdown/remark/test/test-utils.js
+++ /dev/null
@@ -1,4 +0,0 @@
-export const mockRenderMarkdownParams = {
- fileURL: 'file.md',
- contentDir: new URL('file:///src/content/'),
-};