Changeset 14850
- Timestamp:
- 04/28/2026 04:18:45 PM (4 months ago)
- Location:
- sites/trunk/wordpress.org/public_html/wp-content/plugins/phpunit-test-reporter/src
- Files:
-
- 2 edited
-
class-content-model.php (modified) (3 diffs)
-
class-restapi.php (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/phpunit-test-reporter/src/class-content-model.php
r14828 r14850 55 55 'show_in_rest' => true, 56 56 'hierarchical' => false, 57 'map_meta_cap' => true, 58 'capabilities' => array( 59 'edit_post' => 'edit_rtc_perf_result', 60 'edit_posts' => 'edit_rtc_perf_results', 61 'edit_others_posts' => 'edit_others_rtc_perf_results', 62 'publish_posts' => 'publish_rtc_perf_results', 63 'read_post' => 'read_rtc_perf_result', 64 'read_private_posts' => 'read_private_rtc_perf_results', 65 'delete_post' => 'delete_rtc_perf_result', 66 ), 57 67 'supports' => array( 58 68 'title', … … 136 146 $role->add_cap( 'edit_results' ); 137 147 $role->add_cap( 'publish_results' ); 148 $role->add_cap( 'edit_rtc_perf_results' ); 149 $role->add_cap( 'publish_rtc_perf_results' ); 138 150 } 139 151 $role = get_role( 'administrator' ); … … 143 155 $role->add_cap( 'publish_results' ); 144 156 $role->add_cap( 'read_private_results' ); 157 $role->add_cap( 'edit_rtc_perf_results' ); 158 $role->add_cap( 'edit_others_rtc_perf_results' ); 159 $role->add_cap( 'publish_rtc_perf_results' ); 160 $role->add_cap( 'read_private_rtc_perf_results' ); 145 161 } 146 162 } -
sites/trunk/wordpress.org/public_html/wp-content/plugins/phpunit-test-reporter/src/class-restapi.php
r14828 r14850 19 19 'callback' => array( __CLASS__, 'add_performance_results_callback' ), 20 20 'args' => array( 21 'results' => array(21 'results' => array( 22 22 'required' => true, 23 'description' => 'Performance test results in JSON format.', 23 'description' => 'Performance test results keyed by approach and scenario.', 24 'type' => 'object', 25 'validate_callback' => array( __CLASS__, 'validate_callback' ), 26 ), 27 'env' => array( 28 'required' => true, 29 'description' => 'Environment information for the test run.', 30 'type' => 'object', 31 'validate_callback' => array( __CLASS__, 'validate_callback' ), 32 ), 33 'environment_name' => array( 34 'required' => false, 35 'description' => 'Human-readable label for the environment under test.', 24 36 'type' => 'string', 25 'validate_callback' => array( __CLASS__, 'validate_callback' ), 26 ), 27 'env' => array( 28 'required' => true, 29 'description' => 'JSON blob containing environment information.', 30 'type' => 'string', 31 'validate_callback' => array( __CLASS__, 'validate_callback' ), 37 'sanitize_callback' => 'sanitize_text_field', 32 38 ), 33 39 ), … … 87 93 case 'env': 88 94 case 'results': 89 if ( null === json_decode( $value ) ) {95 if ( is_string( $value ) && null === json_decode( $value ) ) { 90 96 return new WP_Error( 91 97 'rest_invalid', … … 123 129 $parameters = $data->get_params(); 124 130 125 $env = json_decode( $parameters['env'], true ); 126 $results = json_decode( $parameters['results'], true ); 131 // env and results are decoded by the REST API when Content-Type is application/json. 132 $env = is_array( $parameters['env'] ) ? $parameters['env'] : (array) json_decode( $parameters['env'], true ); 133 $results = is_array( $parameters['results'] ) ? $parameters['results'] : (array) json_decode( $parameters['results'], true ); 127 134 128 135 $php_version = ''; … … 133 140 134 141 $db_version = ! empty( $env['mysql_version'] ) ? $env['mysql_version'] : ''; 135 $wp_version = ! empty( $env['wp_version'] ) ? wp_kses( $env['wp_version'], [] ) : ''; 136 $env_name = ! empty( $env['label'] ) ? wp_kses( $env['label'], [] ) : ''; 142 $wp_version = ! empty( $env['wp_version'] ) ? strip_tags( $env['wp_version'] ) : ''; 143 144 $env_name = ! empty( $parameters['environment_name'] ) ? strip_tags( $parameters['environment_name'] ) : ''; 137 145 138 146 $current_user = wp_get_current_user();
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)