UNPKG

eleventy-plugin-wcc

Version:

An Eleventy plugin for rendering Web Components with WCC.

59 lines (40 loc) 1.83 kB
import { stripWrappingParagraphs } from '../src/utils.js'; import assert from 'node:assert/strict'; import { describe, it } from 'node:test'; describe('stripWrappingParagraphs', () => { it('removes wrapping p tags', async () => { const input = '<p><x-greeting></x-greeting></p>'; const expected = '<x-greeting></x-greeting>'; const result = stripWrappingParagraphs(input); assert.equal(result, expected); }); it('removes wrapping p tags (inner content)', async () => { const input = '<p><x-greeting>inner content</x-greeting></p>'; const expected = '<x-greeting>inner content</x-greeting>'; const result = stripWrappingParagraphs(input); assert.equal(result, expected); }); it('removes wrapping p tags (inner content, newlines)', async () => { const input = '<p><x-greeting>inner\ncontent</x-greeting></p>'; const expected = '<x-greeting>inner\ncontent</x-greeting>'; const result = stripWrappingParagraphs(input); assert.equal(result, expected); }); it('removes wrapping p tags (whitespace)', async () => { const input = '<p> \n\t<x-greeting></x-greeting> \n</p>'; const expected = '<x-greeting></x-greeting>'; const result = stripWrappingParagraphs(input); assert.equal(result, expected); }); it('does not remove wrapping p tags if it includes other content', async () => { const input = '<p>Hello <x-greeting></x-greeting></p>'; const result = stripWrappingParagraphs(input); assert.equal(result, input); }); it('removes wrapping p tags (multiple)', async () => { const input = '<p><x-greeting></x-greeting></p>\n<p><x-test></x-test></p>'; const expected = '<x-greeting></x-greeting>\n<x-test></x-test>'; const result = stripWrappingParagraphs(input); assert.equal(result, expected); }); });