Make WordPress Core


Ignore:
Timestamp:
10/19/2018 08:43:25 AM (8 years ago)
Author:
pento
Message:

Block Editor: Add helper functions for displaying the editor.

use_block_editor_for_post() and use_block_editor_for_post_type() determine if the block editor should be loaded.

get_block_categories() and get_block_editor_server_block_settings() provide data be included while the block editor is loading.

See #45110.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/5.0/tests/phpunit/tests/admin/includesPost.php

    r41187 r43762  
    659659        }
    660660
     661        function test_use_block_editor_for_post() {
     662                $this->assertFalse( use_block_editor_for_post( -1 ) );
     663                $bogus_post_id = $this->factory()->post->create(
     664                        array(
     665                                'post_type' => 'bogus',
     666                        )
     667                );
     668                $this->assertFalse( use_block_editor_for_post( $bogus_post_id ) );
     669
     670                register_post_type(
     671                        'restless',
     672                        array(
     673                                'show_in_rest' => false,
     674                        )
     675                );
     676                $restless_post_id = $this->factory()->post->create(
     677                        array(
     678                                'post_type' => 'restless',
     679                        )
     680                );
     681                $this->assertFalse( use_block_editor_for_post( $restless_post_id ) );
     682
     683                $generic_post_id = $this->factory()->post->create();
     684
     685                add_filter( 'use_block_editor_for_post', '__return_false' );
     686                $this->assertFalse( use_block_editor_for_post( $generic_post_id ) );
     687                remove_filter( 'use_block_editor_for_post', '__return_false' );
     688
     689                add_filter( 'use_block_editor_for_post', '__return_true' );
     690                $this->assertTrue( use_block_editor_for_post( $restless_post_id ) );
     691                remove_filter( 'use_block_editor_for_post', '__return_true' );
     692        }
     693
     694        function test_get_block_editor_server_block_settings() {
     695                $name     = 'core/test';
     696                $settings = array(
     697                        'icon'            => 'text',
     698                        'render_callback' => 'foo',
     699                );
     700
     701                register_block_type( $name, $settings );
     702
     703                $blocks = get_block_editor_server_block_settings();
     704
     705                unregister_block_type( $name );
     706
     707                $this->assertArrayHasKey( $name, $blocks );
     708                $this->assertSame( array( 'icon' => 'text' ), $blocks[ $name ] );
     709        }
    661710}
Note: See TracChangeset for help on using the changeset viewer.