Make WordPress Core


Ignore:
Timestamp:
10/19/2018 08:43:25 AM (6 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.