- Timestamp:
- 03/12/2021 01:33:21 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/rest-api/rest-block-type-controller.php
r49603 r50527 225 225 'render_callback' => 'invalid_callback', 226 226 'textdomain' => true, 227 'variations' => 'invalid_variations', 227 228 ); 228 229 register_block_type( $block_type, $settings ); … … 250 251 $this->assertNull( $data['textdomain'] ); 251 252 $this->assertFalse( $data['is_dynamic'] ); 253 $this->assertSameSets( array( array() ), $data['variations'] ); 252 254 } 253 255 … … 276 278 'textdomain' => false, 277 279 'example' => false, 280 'variations' => false, 278 281 ); 279 282 register_block_type( $block_type, $settings ); … … 302 305 $this->assertNull( $data['textdomain'] ); 303 306 $this->assertFalse( $data['is_dynamic'] ); 307 $this->assertSameSets( array(), $data['variations'] ); 308 } 309 310 public function test_get_variation() { 311 $block_type = 'fake/variations'; 312 $settings = array( 313 'title' => 'variations block test', 314 'description' => 'a variations block test', 315 'attributes' => array( 'kind' => array( 'type' => 'string' ) ), 316 'variations' => array( 317 array( 318 'name' => 'variation', 319 'title' => 'variation title', 320 'description' => 'variation description', 321 'category' => 'media', 322 'icon' => 'checkmark', 323 'attributes' => array( 'kind' => 'foo' ), 324 'isDefault' => true, 325 'example' => array( 'attributes' => array( 'kind' => 'example' ) ), 326 'scope' => array( 'inserter', 'block' ), 327 'keywords' => array( 'dogs', 'cats', 'mice' ), 328 'innerBlocks' => array( 329 array( 330 'name' => 'fake/bar', 331 'attributes' => array( 'label' => 'hi' ), 332 ), 333 ), 334 ), 335 ), 336 ); 337 register_block_type( $block_type, $settings ); 338 wp_set_current_user( self::$admin_id ); 339 $request = new WP_REST_Request( 'GET', '/wp/v2/block-types/' . $block_type ); 340 $response = rest_get_server()->dispatch( $request ); 341 $data = $response->get_data(); 342 $this->assertSame( $block_type, $data['name'] ); 343 $this->assertArrayHasKey( 'variations', $data ); 344 $this->assertSame( 1, count( $data['variations'] ) ); 345 $variation = $data['variations'][0]; 346 $this->assertSame( 'variation title', $variation['title'] ); 347 $this->assertSame( 'variation description', $variation['description'] ); 348 $this->assertSame( 'media', $variation['category'] ); 349 $this->assertSame( 'checkmark', $variation['icon'] ); 350 $this->assertSameSets( array( 'inserter', 'block' ), $variation['scope'] ); 351 $this->assertSameSets( array( 'dogs', 'cats', 'mice' ), $variation['keywords'] ); 352 $this->assertSameSets( array( 'attributes' => array( 'kind' => 'example' ) ), $variation['example'] ); 353 $this->assertSameSets( 354 array( 355 array( 356 'name' => 'fake/bar', 357 'attributes' => array( 'label' => 'hi' ), 358 ), 359 ), 360 $variation['innerBlocks'] 361 ); 362 $this->assertSameSets( 363 array( 'kind' => 'foo' ), 364 $variation['attributes'] 365 ); 304 366 } 305 367 … … 313 375 $data = $response->get_data(); 314 376 $properties = $data['schema']['properties']; 315 $this->assertCount( 2 0, $properties );377 $this->assertCount( 21, $properties ); 316 378 $this->assertArrayHasKey( 'api_version', $properties ); 317 379 $this->assertArrayHasKey( 'title', $properties ); … … 334 396 $this->assertArrayHasKey( 'uses_context', $properties ); 335 397 $this->assertArrayHasKey( 'provides_context', $properties ); 398 $this->assertArrayHasKey( 'variations', $properties ); 336 399 } 337 400
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)