Changeset 54187
- Timestamp:
- 09/16/2022 03:10:58 PM (2 years ago)
- Location:
- trunk/tests/phpunit/tests
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/block-template-utils.php
r54184 r54187 13 13 class Tests_Block_Template_Utils extends WP_UnitTestCase { 14 14 private static $post; 15 private static $custom_single_post_template_post;16 15 private static $template_part_post; 17 16 private static $test_theme = 'block-theme'; … … 52 51 wp_set_post_terms( self::$post->ID, self::$test_theme, 'wp_theme' ); 53 52 54 // Set up template post.55 $args = array(56 'post_type' => 'wp_template',57 'post_name' => 'custom-single-post-template',58 'post_title' => 'Custom Single Post template (modified)',59 'post_content' => 'Content',60 'post_excerpt' => 'Description of custom single post template',61 'tax_input' => array(62 'wp_theme' => array(63 self::$test_theme,64 ),65 ),66 );67 self::$custom_single_post_template_post = self::factory()->post->create_and_get( $args );68 wp_set_post_terms( self::$custom_single_post_template_post->ID, self::$test_theme, 'wp_theme' );69 70 53 // Set up template part post. 71 54 $template_part_args = array( … … 96 79 public static function wpTearDownAfterClass() { 97 80 wp_delete_post( self::$post->ID ); 98 wp_delete_post( self::$custom_single_post_template_post->ID );99 81 } 100 82 … … 338 320 ); 339 321 */ 340 }341 342 /**343 * @dataProvider data_get_block_template_should_respect_posttypes_property344 * @ticket 55881345 * @covers ::get_block_templates346 *347 * @param string $post_type Post type for query.348 * @param array $expected Expected template IDs.349 */350 public function test_get_block_template_should_respect_posttypes_property( $post_type, $expected ) {351 $templates = get_block_templates( array( 'post_type' => $post_type ) );352 353 $this->assertSame(354 $expected,355 $this->get_template_ids( $templates )356 );357 }358 359 /**360 * Data provider.361 *362 * @return array363 */364 public function data_get_block_template_should_respect_posttypes_property() {365 return array(366 'post' => array(367 'post_type' => 'post',368 'expected' => array(369 'block-theme//my_template',370 'block-theme//custom-single-post-template',371 ),372 ),373 'page' => array(374 'post_type' => 'page',375 'expected' => array(376 'block-theme//my_template',377 'block-theme//page-home',378 ),379 ),380 );381 }382 383 /**384 * Gets the template IDs from the given array.385 *386 * @param object[] $templates Array of template objects to parse.387 * @return string[] The template IDs.388 */389 private function get_template_ids( $templates ) {390 return array_map(391 static function( $template ) {392 return $template->id;393 },394 $templates395 );396 322 } 397 323 -
trunk/tests/phpunit/tests/blocks/getBlockTemplates.php
r53927 r54187 13 13 */ 14 14 private static $template; 15 16 /** 17 * @var WP_Post 18 */ 19 private static $custom_single_post_template; 15 20 16 21 /** … … 40 45 wp_set_post_terms( static::$template->ID, static::TEST_THEME, 'wp_theme' ); 41 46 47 static::$custom_single_post_template = self::factory()->post->create_and_get( 48 array( 49 'post_type' => 'wp_template', 50 'post_name' => 'custom-single-post-template', 51 'post_title' => 'Custom Single Post template (modified)', 52 'post_content' => 'Content', 53 'post_excerpt' => 'Description of custom single post template', 54 'tax_input' => array( 55 'wp_theme' => array( 56 static::TEST_THEME, 57 ), 58 ), 59 ) 60 ); 61 62 wp_set_post_terms( static::$custom_single_post_template->ID, static::TEST_THEME, 'wp_theme' ); 63 42 64 /* 43 65 * This template part has to have the same ID ("block-theme/small-header") as the template part … … 65 87 public static function tear_down_after_class() { 66 88 wp_delete_post( static::$template->ID ); 89 wp_delete_post( static::$custom_single_post_template->ID ); 67 90 wp_delete_post( static::$template_part->ID ); 68 91 … … 114 137 ); 115 138 } 139 140 /** 141 * @dataProvider data_get_block_templates_should_respect_posttypes_property 142 * @ticket 55881 143 * 144 * @param string $post_type Post type for query. 145 * @param array $expected Expected template IDs. 146 */ 147 public function test_get_block_templates_should_respect_posttypes_property( $post_type, $expected ) { 148 $templates = get_block_templates( array( 'post_type' => $post_type ) ); 149 150 $this->assertSameSets( 151 $expected, 152 $this->get_template_ids( $templates ) 153 ); 154 } 155 156 /** 157 * Data provider. 158 * 159 * @return array 160 */ 161 public function data_get_block_templates_should_respect_posttypes_property() { 162 return array( 163 'post' => array( 164 'post_type' => 'post', 165 'expected' => array( 166 'block-theme//custom-single-post-template', 167 ), 168 ), 169 'page' => array( 170 'post_type' => 'page', 171 'expected' => array( 172 'block-theme//page-home', 173 ), 174 ), 175 ); 176 } 177 178 /** 179 * Gets the template IDs from the given array. 180 * 181 * @param object[] $templates Array of template objects to parse. 182 * @return string[] The template IDs. 183 */ 184 private function get_template_ids( $templates ) { 185 return array_map( 186 static function( $template ) { 187 return $template->id; 188 }, 189 $templates 190 ); 191 } 116 192 }
Note: See TracChangeset
for help on using the changeset viewer.