Make WordPress Core


Ignore:
Timestamp:
06/04/2020 04:41:47 PM (4 years ago)
Author:
whyisjake
Message:

REST API: Ensure that all properties of get_endpoint_args_for_item_schema are listed.

  • Add new var $valid_schema_properties to match rest_validate_value_from_schema()
  • Unit test to ensure all valid properties exists, and non-valid properties are ignored

Fixes: #50301.
Props: pentatonicfunk, TimothyBlynJacobs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/rest-api/rest-test-controller.php

    r47753 r47911  
    4040                    'type'        => 'string',
    4141                    'description' => 'A pretty string.',
     42                    'minLength'   => 3,
     43                    'maxLength'   => 3,
     44                    'pattern'     => '[a-zA-Z]+',
    4245                    'context'     => array( 'view' ),
    4346                ),
    4447                'someinteger'    => array(
    45                     'type'    => 'integer',
    46                     'context' => array( 'view' ),
     48                    'type'             => 'integer',
     49                    'minimum'          => 100,
     50                    'maximum'          => 200,
     51                    'exclusiveMinimum' => true,
     52                    'exclusiveMaximum' => true,
     53                    'context'          => array( 'view' ),
    4754                ),
    4855                'someboolean'    => array(
     
    94101                    'default' => 'a',
    95102                ),
     103                'somearray'      => array(
     104                    'type'    => 'array',
     105                    'items'   => array(
     106                        'type' => 'string',
     107                    ),
     108                    'context' => array( 'view' ),
     109                ),
     110                'someobject'     => array(
     111                    'type'                 => 'object',
     112                    'additionalProperties' => array(
     113                        'type' => 'string',
     114                    ),
     115                    'properties'           => array(
     116                        'object_id' => array(
     117                            'type' => 'integer',
     118                        ),
     119                    ),
     120                    'ignored_prop'         => 'ignored_prop',
     121                    'context'              => array( 'view' ),
     122                ),
    96123            ),
    97124        );
Note: See TracChangeset for help on using the changeset viewer.