/
githubmirror
/
gutenberg
Обзор
Документация
Войти
/
githubmirror
/
gutenberg
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
trunk
phpunit/blocks/render-block-cover-test.php
131 строка
3 KB
George Mamadashvili
Cover: Merge block and global styles (#49434)
30 мар 2023, 09:01
Не верифицирован
30 мар 2023, 09:01
7547ad4
Код
Авторство
О чём код?
<?php /** * Cover block rendering tests. * * @package WordPress * @subpackage Blocks */ /** * Tests for the Cover block. * * @group blocks */ class Tests_Blocks_Render_Cover extends WP_UnitTestCase { /** * Post object. * * @var object */ protected static $post; /** * Attachment id. * * @var int */ protected static $attachment_id; /** * Setup method. */ public static function wpSetUpBeforeClass() { self::$post = self::factory()->post->create_and_get(); $file = DIR_TESTDATA . '/images/canola.jpg'; self::$attachment_id = self::factory()->attachment->create_upload_object( $file, self::$post->ID, array( 'post_mime_type' => 'image/jpeg', ) ); set_post_thumbnail( self::$post, self::$attachment_id ); } /** * Tear down method. */ public static function wpTearDownAfterClass() { wp_delete_post( self::$post->ID, true ); wp_delete_post( self::$attachment_id, true ); } /** * Test gutenberg_render_block_core_cover() method. * * @covers ::gutenberg_render_block_core_cover */ public function test_gutenberg_render_block_core_cover() { global $wp_query; // Fake being in the loop. $wp_query->in_the_loop = true; $wp_query->post = self::$post; $wp_query->posts = array( self::$post ); $GLOBALS['post'] = self::$post; $attributes = array( 'useFeaturedImage' => true, 'backgroundType' => 'image', 'hasParallax' => true, 'isRepeated' => true, 'minHeight' => '100px', ); $content = '<div class="wp-block-cover" style="min-height:100px"><span></span><div class="wp-block-cover__inner-container"></div></div>'; $rendered = gutenberg_render_block_core_cover( $attributes, $content ); $this->assertStringContainsString( wp_get_attachment_image_url( self::$attachment_id, 'full' ), $rendered ); $this->assertStringContainsString( 'background-image', $rendered ); $this->assertStringContainsString( 'min-height', $rendered ); // If cover background type is not image. $attributes['backgroundType'] = 'color'; $rendered = gutenberg_render_block_core_cover( $attributes, '' ); $this->assertEmpty( $rendered ); // If cover background is not post featured image. $attributes['backgroundType'] = 'image'; $attributes['useFeaturedImage'] = false; $rendered = gutenberg_render_block_core_cover( $attributes, '' ); $this->assertEmpty( $rendered ); } /** * Test gutenberg_render_block_core_cover() method. * * @covers ::gutenberg_render_block_core_cover */ public function test_gutenberg_render_block_core_cover_fixed_or_repeated_background() { global $wp_query; // Fake being in the loop. $wp_query->post = self::$post; $GLOBALS['post'] = self::$post; $attributes = array( 'useFeaturedImage' => true, 'backgroundType' => 'image', 'hasParallax' => false, 'isRepeated' => false, 'minHeight' => '100px', 'focalPoint' => array( 'x' => 10, 'y' => 10, ), ); $content = '<div class="wp-block-cover"><span></span><div class="wp-block-cover__inner-container"></div></div>'; $rendered = gutenberg_render_block_core_cover( $attributes, $content ); $this->assertStringContainsString( wp_get_attachment_image_url( self::$attachment_id, 'full' ), $rendered ); $this->assertStringContainsString( 'object-position', $rendered ); $this->assertStringNotContainsString( 'background-image', $rendered ); $this->assertStringNotContainsString( 'min-height', $rendered ); } }