Tests: Add additional tests covering Block Hooks registration

Props ockham.
See #59346.
Follow-up [56587].



git-svn-id: https://develop.svn.wordpress.org/trunk@56607 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Greg Ziółkowski 2023-09-18 10:33:24 +00:00
parent 3239a8e8f4
commit d47515c274
3 changed files with 37 additions and 3 deletions

View File

@ -0,0 +1,8 @@
{
"name": "tests/hooked-block-error",
"description": "A block that throws an error because it tries to hook a block to itself.",
"blockHooks": {
"tests/hooked-block-error": "before",
"tests/other-block": "after"
}
}

View File

@ -31,7 +31,10 @@
"root": ".wp-block-notice"
},
"blockHooks": {
"core/post-content": "before"
"tests/before": "before",
"tests/after": "after",
"tests/first-child": "firstChild",
"tests/last-child": "lastChild"
},
"supports": {
"align": true,

View File

@ -645,8 +645,13 @@ class Tests_Blocks_Register extends WP_UnitTestCase {
'Block type should contain selectors from metadata.'
);
// @ticket 59346
$this->assertSame(
array( 'core/post-content' => 'before' ),
$this->assertSameSets(
array(
'tests/before' => 'before',
'tests/after' => 'after',
'tests/first-child' => 'first_child',
'tests/last-child' => 'last_child',
),
$result->block_hooks,
'Block type should contain block hooks from metadata.'
);
@ -1069,4 +1074,22 @@ class Tests_Blocks_Register extends WP_UnitTestCase {
$actual = register_block_style( 'core/query', $block_styles );
$this->assertTrue( $actual );
}
/**
* @ticket 59346
*
* @covers ::register_block_type
*
* @expectedIncorrectUsage register_block_type_from_metadata
*/
public function test_register_block_hooks_targeting_itself() {
$block_type = register_block_type(
DIR_TESTDATA . '/blocks/hooked-block-error'
);
$this->assertSame(
array( 'tests/other-block' => 'after' ),
$block_type->block_hooks
);
}
}