Sh3ll
OdayForums


Server : LiteSpeed
System : Linux premium84.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
User : claqxcrl ( 523)
PHP Version : 8.1.32
Disable Function : NONE
Directory :  /home/claqxcrl/public_html/wp-content/plugins/extendify/src/Launch/lib/__tests__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/claqxcrl/public_html/wp-content/plugins/extendify/src/Launch/lib/__tests__/blocks.test.js
import { removeBlocks, addIdAttributeToBlock } from '@launch/lib/blocks';

describe('removeBlocks', () => {
	const sampleBlocks = [
		{ name: 'core/paragraph', innerBlocks: [] },
		{
			name: 'core/group',
			innerBlocks: [
				{ name: 'core/image', innerBlocks: [] },
				{ name: 'core/button', innerBlocks: [] },
			],
		},
		{ name: 'core/html', innerBlocks: [] },
	];

	it('removes top-level blocks by name', () => {
		const result = removeBlocks(sampleBlocks, ['core/html']);
		expect(result.some((b) => b.name === 'core/html')).toBe(false);
	});

	it('removes nested blocks by name', () => {
		const result = removeBlocks(sampleBlocks, ['core/image']);
		const group = result.find((b) => b.name === 'core/group');
		expect(group.innerBlocks.some((b) => b.name === 'core/image')).toBe(false);
	});

	it('keeps structure of remaining blocks', () => {
		const result = removeBlocks(sampleBlocks, ['core/html']);
		const group = result.find((b) => b.name === 'core/group');
		expect(Array.isArray(group.innerBlocks)).toBe(true);
	});
});

describe('addIdAttributeToBlock', () => {
	const blockCode = '<div class="wp-block-group something">Content</div>';

	it('adds id attribute to block with wp-block-group class', () => {
		const result = addIdAttributeToBlock(blockCode, 'test-id');
		expect(result).toContain('id="test-id"');
	});

	it('does not break other parts of the HTML', () => {
		const result = addIdAttributeToBlock(blockCode, 'unique-id');
		expect(result).toContain(
			'<div class="wp-block-group something" id="unique-id">',
		);
	});

	it('does nothing if blockCode doesn’t match the expected pattern', () => {
		const input = '<div class="something-else">Hello</div>';
		const result = addIdAttributeToBlock(input, 'abc');
		expect(result).toBe(input);
	});
});

ZeroDay Forums Mini