wordpress-develop/tests/phpunit/tests/blocks/serialization.php
Sergey Biryukov 164b22cf6a Tests: First pass at using assertSame() instead of assertEquals() in most of the unit tests.
This ensures that not only the return values match the expected results, but also that their type is the same.

Going forward, stricter type checking by using `assertSame()` should generally be preferred to `assertEquals()` where appropriate, to make the tests more reliable.

Props johnbillion, jrf, SergeyBiryukov.
See #38266.

git-svn-id: https://develop.svn.wordpress.org/trunk@48937 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-02 00:35:36 +00:00

61 lines
1.6 KiB
PHP

<?php
/**
* Block serialization tests.
*
* @package WordPress
* @subpackage Blocks
* @since 5.3.3
*/
/**
* Tests for block serialization functions
*
* @since 5.3.3
*
* @group blocks
*/
class WP_Test_Block_Serialization extends WP_UnitTestCase {
/**
* @dataProvider data_serialize_identity_from_parsed
*/
function test_serialize_identity_from_parsed( $original ) {
$blocks = parse_blocks( $original );
$actual = serialize_blocks( $blocks );
$expected = $original;
$this->assertSame( $expected, $actual );
}
function data_serialize_identity_from_parsed() {
return array(
// Void block.
array( '<!-- wp:void /-->' ),
// Freeform content ($block_name = null).
array( 'Example.' ),
// Block with content.
array( '<!-- wp:content -->Example.<!-- /wp:content -->' ),
// Block with attributes.
array( '<!-- wp:attributes {"key":"value"} /-->' ),
// Block with inner blocks.
array( "<!-- wp:outer --><!-- wp:inner {\"key\":\"value\"} -->Example.<!-- /wp:inner -->\n\nExample.\n\n<!-- wp:void /--><!-- /wp:outer -->" ),
// Block with attribute values that may conflict with HTML comment.
array( '<!-- wp:attributes {"key":"\\u002d\\u002d\\u003c\\u003e\\u0026\\u0022"} /-->' ),
);
}
function test_serialized_block_name() {
$this->assertNull( strip_core_block_namespace( null ) );
$this->assertSame( 'example', strip_core_block_namespace( 'example' ) );
$this->assertSame( 'example', strip_core_block_namespace( 'core/example' ) );
$this->assertSame( 'plugin/example', strip_core_block_namespace( 'plugin/example' ) );
}
}