0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2024-12-16 21:46:22 -05:00
astro/packages/markdown/remark/test/remark-collect-images.test.js
Bjorn Lu 3ab3b4efbc
Clean up Astro metadata in vfile.data (#11861)
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2024-09-02 21:43:34 +08:00

42 lines
1.2 KiB
JavaScript

import assert from 'node:assert/strict';
import { before, describe, it } from 'node:test';
import { createMarkdownProcessor } from '../dist/index.js';
describe('collect images', async () => {
let processor;
before(async () => {
processor = await createMarkdownProcessor();
});
it('should collect inline image paths', async () => {
const markdown = `Hello ![inline image url](./img.png)`;
const fileURL = 'file.md';
const {
code,
metadata: { imagePaths },
} = await processor.render(markdown, { fileURL });
assert.equal(
code,
'<p>Hello <img __ASTRO_IMAGE_="{&#x22;src&#x22;:&#x22;./img.png&#x22;,&#x22;alt&#x22;:&#x22;inline image url&#x22;,&#x22;index&#x22;:0}"></p>',
);
assert.deepEqual(imagePaths, ['./img.png']);
});
it('should add image paths from definition', async () => {
const markdown = `Hello ![image ref][img-ref]\n\n[img-ref]: ./img.webp`;
const fileURL = 'file.md';
const { code, metadata } = await processor.render(markdown, { fileURL });
assert.equal(
code,
'<p>Hello <img __ASTRO_IMAGE_="{&#x22;src&#x22;:&#x22;./img.webp&#x22;,&#x22;alt&#x22;:&#x22;image ref&#x22;,&#x22;index&#x22;:0}"></p>',
);
assert.deepEqual(metadata.imagePaths, ['./img.webp']);
});
});