public function test_validate_schema_type_boolean()
 {
     $this->assertTrue(rest_validate_request_arg(true, $this->request, 'someboolean'));
     $this->assertTrue(rest_validate_request_arg(false, $this->request, 'someboolean'));
     $this->assertTrue(rest_validate_request_arg('true', $this->request, 'someboolean'));
     $this->assertTrue(rest_validate_request_arg('TRUE', $this->request, 'someboolean'));
     $this->assertTrue(rest_validate_request_arg('false', $this->request, 'someboolean'));
     $this->assertTrue(rest_validate_request_arg('False', $this->request, 'someboolean'));
     $this->assertTrue(rest_validate_request_arg('1', $this->request, 'someboolean'));
     $this->assertTrue(rest_validate_request_arg('0', $this->request, 'someboolean'));
     $this->assertTrue(rest_validate_request_arg(1, $this->request, 'someboolean'));
     $this->assertTrue(rest_validate_request_arg(0, $this->request, 'someboolean'));
     // Check sanitize testing.
     $this->assertEquals(false, rest_sanitize_request_arg('false', $this->request, 'someboolean'));
     $this->assertEquals(false, rest_sanitize_request_arg('0', $this->request, 'someboolean'));
     $this->assertEquals(false, rest_sanitize_request_arg(0, $this->request, 'someboolean'));
     $this->assertEquals(false, rest_sanitize_request_arg('FALSE', $this->request, 'someboolean'));
     $this->assertEquals(true, rest_sanitize_request_arg('true', $this->request, 'someboolean'));
     $this->assertEquals(true, rest_sanitize_request_arg('1', $this->request, 'someboolean'));
     $this->assertEquals(true, rest_sanitize_request_arg(1, $this->request, 'someboolean'));
     $this->assertEquals(true, rest_sanitize_request_arg('TRUE', $this->request, 'someboolean'));
     $this->assertErrorResponse('rest_invalid_param', rest_validate_request_arg('123', $this->request, 'someboolean'));
 }
 /**
  * Parse a request argument based on details registered to the route.
  *
  * Runs a validation check and sanitizes the value, primarily to be used via
  * the `sanitize_callback` arguments in the endpoint args registration.
  *
  * @param  mixed            $value
  * @param  WP_REST_Request  $request
  * @param  string           $param
  * @return mixed
  */
 function rest_parse_request_arg($value, $request, $param)
 {
     $is_valid = rest_validate_request_arg($value, $request, $param);
     if (is_wp_error($is_valid)) {
         return $is_valid;
     }
     $value = rest_sanitize_request_arg($value, $request, $param);
     return $value;
 }