@wordpress/blocks
Version:
Block API for WordPress.
57 lines (48 loc) • 1.62 kB
JavaScript
/**
* Internal dependencies
*/
import normaliseBlocks from '../normalise-blocks';
describe( 'normaliseBlocks', () => {
it( 'should convert double line breaks to paragraphs', () => {
expect( normaliseBlocks( 'test<br><br>test' ) ).toEqual(
'<p>test</p><p>test</p>'
);
} );
it( 'should not convert single line break to paragraphs', () => {
expect( normaliseBlocks( 'test<br>test' ) ).toEqual(
'<p>test<br>test</p>'
);
} );
it( 'should not add extra line at the start', () => {
expect( normaliseBlocks( 'test<br><br><br>test' ) ).toEqual(
'<p>test</p><p>test</p>'
);
expect( normaliseBlocks( '<br>test<br><br>test' ) ).toEqual(
'<p>test</p><p>test</p>'
);
} );
it( 'should preserve non-inline content', () => {
const HTML = '<p>test</p><div>test<br>test</div>';
expect( normaliseBlocks( HTML ) ).toEqual( HTML );
} );
it( 'should remove empty paragraphs', () => {
expect( normaliseBlocks( '<p> </p>' ) ).toEqual( '' );
} );
it( 'should wrap lose inline elements', () => {
expect( normaliseBlocks( '<a href="#">test</a>' ) ).toEqual(
'<p><a href="#">test</a></p>'
);
} );
it( 'should not break between inline siblings', () => {
expect(
normaliseBlocks(
'<strong>test</strong> is a test of <a href="#">test</a> using a <a href="#">test</a>.'
)
).toEqual(
'<p><strong>test</strong> is a test of <a href="#">test</a> using a <a href="#">test</a>.</p>'
);
} );
it( 'should not append empty text nodes', () => {
expect( normaliseBlocks( '<p>test</p>\n' ) ).toEqual( '<p>test</p>' );
} );
} );