| | 1289 | * @ticket 53099 |
| | 1290 | */ |
| | 1291 | public function test_php_warnings() { |
| | 1292 | add_filter( 'get_term_metadata', '__return_false', 11 ); |
| | 1293 | |
| | 1294 | // No PHP warning during GET request |
| | 1295 | add_term_meta( self::$category_id, 'test_single', 'testvalue' ); |
| | 1296 | $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/categories/%d', self::$category_id ) ); |
| | 1297 | $response = rest_get_server()->dispatch( $request ); |
| | 1298 | |
| | 1299 | // No PHP warning during POST request |
| | 1300 | $this->grant_write_permission(); |
| | 1301 | $data = array( |
| | 1302 | 'meta' => array( |
| | 1303 | 'test_multi' => array( 'val1' ), |
| | 1304 | ), |
| | 1305 | ); |
| | 1306 | $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/categories/%d', self::$category_id ) ); |
| | 1307 | $request->set_body_params( $data ); |
| | 1308 | $response = rest_get_server()->dispatch( $request ); |
| | 1309 | |
| | 1310 | // No PHP warning during validation. |
| | 1311 | register_meta( |
| | 1312 | 'term', |
| | 1313 | 'my_meta_key', |
| | 1314 | array( |
| | 1315 | 'show_in_rest' => true, |
| | 1316 | 'single' => true, |
| | 1317 | 'type' => 'integer', |
| | 1318 | ) |
| | 1319 | ); |
| | 1320 | $this->grant_write_permission(); |
| | 1321 | $data = array( |
| | 1322 | 'meta' => array( |
| | 1323 | 'my_meta_key' => '1', // Set to a string. |
| | 1324 | ), |
| | 1325 | ); |
| | 1326 | $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/categories/%d', self::$category_id ) ); |
| | 1327 | $request->set_body_params( $data ); |
| | 1328 | $response = rest_get_server()->dispatch( $request ); |
| | 1329 | |
| | 1330 | // For counting tests purposes, let's do a fake assert. |
| | 1331 | $this->assertTrue( true ); |
| | 1332 | |
| | 1333 | remove_filter( 'get_term_metadata', '__return_false', 11 ); |
| | 1334 | } |
| | 1335 | |
| | 1336 | /** |