Make WordPress Core

Ticket #45029: 45029.patch

File 45029.patch, 7.3 KB (added by Toro_Unit, 6 years ago)
  • src/wp-includes/widgets/class-wp-widget-media-audio.php

     
    6262         * @return array Schema for properties.
    6363         */
    6464        public function get_instance_schema() {
    65                 $schema = array_merge(
    66                         parent::get_instance_schema(),
    67                         array(
    68                                 'preload' => array(
    69                                         'type'        => 'string',
    70                                         'enum'        => array( 'none', 'auto', 'metadata' ),
    71                                         'default'     => 'none',
    72                                         'description' => __( 'Preload' ),
    73                                 ),
    74                                 'loop'    => array(
    75                                         'type'        => 'boolean',
    76                                         'default'     => false,
    77                                         'description' => __( 'Loop' ),
    78                                 ),
    79                         )
     65                $schema = array(
     66                        'preload' => array(
     67                                'type'        => 'string',
     68                                'enum'        => array( 'none', 'auto', 'metadata' ),
     69                                'default'     => 'none',
     70                                'description' => __( 'Preload' ),
     71                        ),
     72                        'loop'    => array(
     73                                'type'        => 'boolean',
     74                                'default'     => false,
     75                                'description' => __( 'Loop' ),
     76                        ),
    8077                );
    8178
    8279                foreach ( wp_get_audio_extensions() as $audio_extension ) {
     
    8986                        );
    9087                }
    9188
    92                 return $schema;
     89                return array_merge( $schema, parent::get_instance_schema() );
    9390        }
    9491
    9592        /**
  • src/wp-includes/widgets/class-wp-widget-media-image.php

     
    6262         */
    6363        public function get_instance_schema() {
    6464                return array_merge(
    65                         parent::get_instance_schema(),
    6665                        array(
    6766                                'size'              => array(
    6867                                        'type'        => 'string',
     
    161160                                 * - height (redundant when size is not custom)
    162161                                 * - width (redundant when size is not custom)
    163162                                 */
    164                         )
     163                        ),
     164                        parent::get_instance_schema()
    165165                );
    166166        }
    167167
  • src/wp-includes/widgets/class-wp-widget-media-video.php

     
    6363         * @return array Schema for properties.
    6464         */
    6565        public function get_instance_schema() {
    66                 $schema = array_merge(
    67                         parent::get_instance_schema(),
    68                         array(
    69                                 'preload' => array(
    70                                         'type'                  => 'string',
    71                                         'enum'                  => array( 'none', 'auto', 'metadata' ),
    72                                         'default'               => 'metadata',
    73                                         'description'           => __( 'Preload' ),
    74                                         'should_preview_update' => false,
    75                                 ),
    76                                 'loop'    => array(
    77                                         'type'                  => 'boolean',
    78                                         'default'               => false,
    79                                         'description'           => __( 'Loop' ),
    80                                         'should_preview_update' => false,
    81                                 ),
    82                                 'content' => array(
    83                                         'type'                  => 'string',
    84                                         'default'               => '',
    85                                         'sanitize_callback'     => 'wp_kses_post',
    86                                         'description'           => __( 'Tracks (subtitles, captions, descriptions, chapters, or metadata)' ),
    87                                         'should_preview_update' => false,
    88                                 ),
    89                         )
     66
     67                $schema = array(
     68                        'preload' => array(
     69                                'type'                  => 'string',
     70                                'enum'                  => array( 'none', 'auto', 'metadata' ),
     71                                'default'               => 'metadata',
     72                                'description'           => __( 'Preload' ),
     73                                'should_preview_update' => false,
     74                        ),
     75                        'loop'    => array(
     76                                'type'                  => 'boolean',
     77                                'default'               => false,
     78                                'description'           => __( 'Loop' ),
     79                                'should_preview_update' => false,
     80                        ),
     81                        'content' => array(
     82                                'type'                  => 'string',
     83                                'default'               => '',
     84                                'sanitize_callback'     => 'wp_kses_post',
     85                                'description'           => __( 'Tracks (subtitles, captions, descriptions, chapters, or metadata)' ),
     86                                'should_preview_update' => false,
     87                        ),
    9088                );
    9189
    9290                foreach ( wp_get_video_extensions() as $video_extension ) {
     
    9997                        );
    10098                }
    10199
    102                 return $schema;
     100                return array_merge( $schema, parent::get_instance_schema() );
    103101        }
    104102
    105103        /**
  • tests/phpunit/tests/widgets/media-audio-widget.php

     
    2727        }
    2828
    2929        /**
     30         * Filter instance schema.
     31         *
     32         * @param array $schema Schema.
     33         * @param WP_Widget_Media_Audio $widget Widget.
     34         *
     35         * @return array
     36         */
     37        public function filter_instance_schema( $schema, $widget ) {
     38                $schema['loop']['default'] = true;
     39                return $schema;
     40        }
     41
     42        /**
    3043         * Test get_instance_schema method.
    3144         *
    3245         * @covers WP_Widget_Media_Audio::get_instance_schema
     
    4861                        ),
    4962                        array_keys( $schema )
    5063                );
     64
     65                // Check filter usage.
     66                add_filter( 'widget_media_audio_instance_schema', array( $this, 'filter_instance_schema' ), 10, 2 );
     67                $schema = $wp_widget_audio->get_instance_schema();
     68                $this->assertSame( true, $schema['loop']['default'] );
    5169        }
    5270
    5371        /**
  • tests/phpunit/tests/widgets/media-image-widget.php

     
    2727        }
    2828
    2929        /**
     30         * Filter instance schema.
     31         *
     32         * @param array $schema Schema.
     33         * @param WP_Widget_Media_Image $widget Widget.
     34         *
     35         * @return array
     36         */
     37        public function filter_instance_schema( $schema, $widget ) {
     38                $schema['size']['default'] = 'large';
     39
     40                return $schema;
     41        }
     42
     43
     44        /**
    3045         * Test get_instance_schema method.
    3146         *
    3247         * @covers WP_Widget_Media_Image::get_instance_schema
     
    3449        function test_get_instance_schema() {
    3550                $widget = new WP_Widget_Media_Image();
    3651                $schema = $widget->get_instance_schema();
    37 
    3852                $this->assertEqualSets(
    3953                        array(
    4054                                'alt',
     
    5569                        ),
    5670                        array_keys( $schema )
    5771                );
     72
     73                // Check filter usage.
     74                add_filter( 'widget_media_image_instance_schema', array( $this, 'filter_instance_schema' ), 10, 2 );
     75                $schema = $widget->get_instance_schema();
     76                $this->assertSame( 'large', $schema['size']['default'] );
    5877        }
    5978
    6079        /**
  • tests/phpunit/tests/widgets/media-video-widget.php

     
    2727        }
    2828
    2929        /**
     30         * Filter instance schema.
     31         *
     32         * @param array $schema Schema.
     33         * @param WP_Widget_Media_Video $widget Widget.
     34         *
     35         * @return array
     36         */
     37        public function filter_instance_schema( $schema, $widget ) {
     38                $schema['loop']['default'] = true;
     39                return $schema;
     40        }
     41
     42        /**
    3043         * Test get_instance_schema method.
    3144         *
    3245         * @covers WP_Widget_Media_Video::get_instance_schema()
     
    4962                        ),
    5063                        array_keys( $schema )
    5164                );
     65
     66                // Check filter usage.
     67                add_filter( 'widget_media_video_instance_schema', array( $this, 'filter_instance_schema' ), 10, 2 );
     68                $schema = $widget->get_instance_schema();
     69                $this->assertSame( true, $schema['loop']['default'] );
    5270        }
    5371
    5472        /**