From 624968f28d5f18c4e32c9699ba84159225a57c9c Mon Sep 17 00:00:00 2001 From: David Aguilera Date: Tue, 27 Dec 2022 12:12:15 +0100 Subject: [PATCH 1/2] =?UTF-8?q?Add=20=E2=80=9Ccore/unknown=E2=80=9D=20form?= =?UTF-8?q?at=20in=20test=20to=20properly=20flag=20bug.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/rich-text/src/test/register-format-type.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/rich-text/src/test/register-format-type.js b/packages/rich-text/src/test/register-format-type.js index 0d044d28facf..0f5c16eabf23 100644 --- a/packages/rich-text/src/test/register-format-type.js +++ b/packages/rich-text/src/test/register-format-type.js @@ -1,7 +1,7 @@ /** * WordPress dependencies */ -import { select } from '@wordpress/data'; +import { dispatch, select } from '@wordpress/data'; /** * Internal dependencies @@ -11,10 +11,21 @@ import { unregisterFormatType } from '../unregister-format-type'; import { getFormatType } from '../get-format-type'; import { store as richTextStore } from '../store'; +const UNKNOWN_FORMAT = { + name: 'core/unknown', + title: 'Clear Unknown Formatting', + tagName: '*', + className: null, + edit: () => null, +}; + describe( 'registerFormatType', () => { beforeAll( () => { // Initialize the rich-text store. require( '../store' ); + + // Register "core/unknown" format + dispatch( richTextStore ).addFormatTypes( UNKNOWN_FORMAT ); } ); afterEach( () => { From c56d97434efed70ac4792b8dd90c3b46abac7e87 Mon Sep 17 00:00:00 2001 From: David Aguilera Date: Tue, 27 Dec 2022 12:18:48 +0100 Subject: [PATCH 2/2] =?UTF-8?q?Allow=20registration=20of=20a=20bare=20tag?= =?UTF-8?q?=20name=20format=20when=20said=20tag=20is=20handled=20by=20?= =?UTF-8?q?=E2=80=9Ccore/unknown=E2=80=9D.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/rich-text/src/register-format-type.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/rich-text/src/register-format-type.js b/packages/rich-text/src/register-format-type.js index b271091cbe6a..8ea19a97f595 100644 --- a/packages/rich-text/src/register-format-type.js +++ b/packages/rich-text/src/register-format-type.js @@ -82,7 +82,10 @@ export function registerFormatType( name, settings ) { richTextStore ).getFormatTypeForBareElement( settings.tagName ); - if ( formatTypeForBareElement ) { + if ( + formatTypeForBareElement && + formatTypeForBareElement.name !== 'core/unknown' + ) { window.console.error( `Format "${ formatTypeForBareElement.name }" is already registered to handle bare tag name "${ settings.tagName }".` );