diff --git a/packages/block-editor/src/hooks/block-rename.js b/packages/block-editor/src/hooks/block-rename.js index d8f414a3e9ae80..60d13760f2baa5 100644 --- a/packages/block-editor/src/hooks/block-rename.js +++ b/packages/block-editor/src/hooks/block-rename.js @@ -16,7 +16,11 @@ export const withBlockRenameControl = createHigherOrderComponent( ( BlockEdit ) => ( props ) => { const { name, attributes, setAttributes, isSelected } = props; - const supportsBlockNaming = hasBlockSupport( name, 'renaming', true ); + const supportsBlockNaming = hasBlockSupport( + name, + '__experimentalMetadata', + false + ); return ( <> diff --git a/test/e2e/specs/editor/various/block-renaming.spec.js b/test/e2e/specs/editor/various/block-renaming.spec.js index 1c8a958b23fd41..71b7b50cf2752f 100644 --- a/test/e2e/specs/editor/various/block-renaming.spec.js +++ b/test/e2e/specs/editor/various/block-renaming.spec.js @@ -145,6 +145,42 @@ test.describe( 'Block Renaming', () => { }, ] ); } ); + + test( 'does not allow renaming of blocks that do not support the feature', async ( { + editor, + page, + pageUtils, + } ) => { + await pageUtils.pressKeys( 'access+o' ); + + const listView = page.getByRole( 'treegrid', { + name: 'Block navigation structure', + } ); + + // Only Group supports renaming. + await editor.insertBlock( { + name: 'core/paragraph', + attributes: { content: 'First Paragraph' }, + } ); + + // Multiselect via keyboard. + await pageUtils.pressKeys( 'primary+a' ); + + const listViewParagraphNode = listView.getByRole( 'gridcell', { + name: 'Paragraph', + exact: true, + selected: true, + } ); + + await expect( listViewParagraphNode ).toBeVisible(); + + // Expect the Rename control not to exist at all. + await expect( + listViewParagraphNode.getByRole( 'menuitem', { + name: 'Rename', + } ) + ).toBeHidden(); + } ); } ); test.describe( 'Block inspector renaming', () => { @@ -219,5 +255,40 @@ test.describe( 'Block Renaming', () => { }, ] ); } ); + + test( 'does now allow renaming of blocks that do not support the feature', async ( { + editor, + page, + pageUtils, + } ) => { + // Only Group supports renaming. + await editor.insertBlock( { + name: 'core/paragraph', + attributes: { content: 'First Paragraph' }, + } ); + + // Multiselect via keyboard. + await pageUtils.pressKeys( 'primary+a' ); + + await editor.openDocumentSettingsSidebar(); + + const advancedPanelToggle = page + .getByRole( 'region', { + name: 'Editor settings', + } ) + .getByRole( 'button', { + name: 'Advanced', + expanded: false, + } ); + + await advancedPanelToggle.click(); + + // Expect the Rename control not to exist at all. + await expect( + page.getByRole( 'textbox', { + name: 'Block name', + } ) + ).toBeHidden(); + } ); } ); } );