Changeset 59630
- Timestamp:
- 01/15/2025 06:34:35 PM (4 weeks ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/rest-api/endpoints/class-wp-rest-global-styles-revisions-controller.php
r58262 r59630 190 190 $revisions = $revisions_query->query( $query_args ); 191 191 $offset = isset( $query_args['offset'] ) ? (int) $query_args['offset'] : 0; 192 $page = (int) $query_args['paged'];192 $page = isset( $query_args['paged'] ) ? (int) $query_args['paged'] : 0; 193 193 $total_revisions = $revisions_query->found_posts; 194 194 -
trunk/src/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php
r59544 r59630 458 458 } 459 459 460 $page = (int) $query_args['paged'];460 $page = isset( $query_args['paged'] ) ? (int) $query_args['paged'] : 0; 461 461 $total_posts = $posts_query->found_posts; 462 462 -
trunk/src/wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php
r57648 r59630 295 295 $revisions = $revisions_query->query( $query_args ); 296 296 $offset = isset( $query_args['offset'] ) ? (int) $query_args['offset'] : 0; 297 $page = (int) $query_args['paged'];297 $page = isset( $query_args['paged'] ) ? (int) $query_args['paged'] : 0; 298 298 $total_revisions = $revisions_query->found_posts; 299 299 -
trunk/tests/phpunit/tests/rest-api/rest-global-styles-revisions-controller.php
r58673 r59630 827 827 } 828 828 829 830 /** 831 * Tests for the pagination. 832 * 833 * @ticket 62292 834 * 835 * @covers WP_REST_Global_Styles_Controller::get_items 836 */ 837 public function test_get_global_styles_revisions_pagination() { 838 wp_set_current_user( self::$admin_id ); 839 840 // Test offset 841 $request = new WP_REST_Request( 'GET', '/wp/v2/global-styles/' . self::$global_styles_id . '/revisions' ); 842 $request->set_param( 'offset', 1 ); 843 $request->set_param( 'per_page', 1 ); 844 $response = rest_get_server()->dispatch( $request ); 845 $this->assertEquals( 200, $response->get_status() ); 846 $data = $response->get_data(); 847 $this->assertCount( 1, $data ); 848 $this->assertEquals( 3, $response->get_headers()['X-WP-Total'] ); 849 $this->assertEquals( 3, $response->get_headers()['X-WP-TotalPages'] ); 850 851 // Test paged 852 $request = new WP_REST_Request( 'GET', '/wp/v2/global-styles/' . self::$global_styles_id . '/revisions' ); 853 $request->set_param( 'page', 2 ); 854 $request->set_param( 'per_page', 2 ); 855 $response = rest_get_server()->dispatch( $request ); 856 $this->assertEquals( 200, $response->get_status() ); 857 $data = $response->get_data(); 858 $this->assertCount( 1, $data ); 859 $this->assertEquals( 3, $response->get_headers()['X-WP-Total'] ); 860 $this->assertEquals( 2, $response->get_headers()['X-WP-TotalPages'] ); 861 862 // Test out of bounds 863 $request = new WP_REST_Request( 'GET', '/wp/v2/global-styles/' . self::$global_styles_id . '/revisions' ); 864 $request->set_param( 'page', 4 ); 865 $request->set_param( 'per_page', 6 ); 866 $response = rest_get_server()->dispatch( $request ); 867 $this->assertErrorResponse( 'rest_revision_invalid_page_number', $response, 400 ); 868 } 869 829 870 /** 830 871 * @doesNotPerformAssertions -
trunk/tests/phpunit/tests/rest-api/rest-posts-controller.php
r59544 r59630 5678 5678 5679 5679 /** 5680 * Tests for the pagination. 5681 * 5682 * @ticket 62292 5683 * 5684 * @covers WP_REST_Posts_Controller::get_items 5685 */ 5686 public function test_get_posts_with_pagination() { 5687 5688 // Test offset 5689 $request = new WP_REST_Request( 'GET', '/wp/v2/posts' ); 5690 $request->set_param( 'offset', 1 ); 5691 $request->set_param( 'per_page', 1 ); 5692 $response = rest_get_server()->dispatch( $request ); 5693 $this->assertEquals( 200, $response->get_status() ); 5694 $data = $response->get_data(); 5695 $this->assertCount( 1, $data ); 5696 $this->assertEquals( 30, $response->get_headers()['X-WP-Total'] ); 5697 $this->assertEquals( 30, $response->get_headers()['X-WP-TotalPages'] ); 5698 5699 // Test paged 5700 $request = new WP_REST_Request( 'GET', '/wp/v2/posts' ); 5701 $request->set_param( 'page', 2 ); 5702 $request->set_param( 'per_page', 2 ); 5703 $response = rest_get_server()->dispatch( $request ); 5704 $this->assertEquals( 200, $response->get_status() ); 5705 $data = $response->get_data(); 5706 $this->assertCount( 2, $data ); 5707 $this->assertEquals( 30, $response->get_headers()['X-WP-Total'] ); 5708 $this->assertEquals( 15, $response->get_headers()['X-WP-TotalPages'] ); 5709 5710 // Test out of bounds 5711 $request = new WP_REST_Request( 'GET', '/wp/v2/posts' ); 5712 $request->set_param( 'page', 4 ); 5713 $request->set_param( 'per_page', 10 ); 5714 $response = rest_get_server()->dispatch( $request ); 5715 $this->assertErrorResponse( 'rest_post_invalid_page_number', $response, 400 ); 5716 } 5717 5718 /** 5680 5719 * Internal function used to disable an insert query which 5681 5720 * will trigger a wpdb error for testing purposes. -
trunk/tests/phpunit/tests/rest-api/rest-revisions-controller.php
r57987 r59630 865 865 $this->assertCount( $expected_count, $response->get_data() ); 866 866 } 867 868 /** 869 * Tests for the pagination. 870 * 871 * @ticket 62292 872 * 873 * @covers WP_REST_Revisions_Controller::get_items 874 */ 875 public function test_get_template_revisions_pagination() { 876 wp_set_current_user( self::$editor_id ); 877 878 // Test offset 879 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions' ); 880 $request->set_param( 'offset', 1 ); 881 $request->set_param( 'per_page', 1 ); 882 $response = rest_get_server()->dispatch( $request ); 883 $this->assertEquals( 200, $response->get_status() ); 884 $data = $response->get_data(); 885 $this->assertCount( 1, $data ); 886 $this->assertEquals( $this->total_revisions, $response->get_headers()['X-WP-Total'] ); 887 $this->assertEquals( $this->total_revisions, $response->get_headers()['X-WP-TotalPages'] ); 888 889 // Test paged 890 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions' ); 891 $request->set_param( 'page', 2 ); 892 $request->set_param( 'per_page', 2 ); 893 $response = rest_get_server()->dispatch( $request ); 894 $this->assertEquals( 200, $response->get_status() ); 895 $data = $response->get_data(); 896 $this->assertCount( 1, $data ); 897 $this->assertEquals( $this->total_revisions, $response->get_headers()['X-WP-Total'] ); 898 $this->assertEquals( (int) ceil( $this->total_revisions / 2 ), $response->get_headers()['X-WP-TotalPages'] ); 899 900 // Test out of bounds 901 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions' ); 902 $request->set_param( 'page', $this->total_revisions + 1 ); 903 $request->set_param( 'per_page', 1 ); 904 $response = rest_get_server()->dispatch( $request ); 905 $this->assertErrorResponse( 'rest_revision_invalid_page_number', $response, 400 ); 906 } 867 907 } -
trunk/tests/phpunit/tests/rest-api/wpRestTemplateRevisionsController.php
r59605 r59630 1066 1066 ); 1067 1067 } 1068 1069 /** 1070 * Tests for the pagination. 1071 * 1072 * @ticket 62292 1073 * 1074 * @covers WP_REST_Template_Revisions_Controller::get_items 1075 */ 1076 public function test_get_template_revisions_pagination() { 1077 wp_set_current_user( self::$admin_id ); 1078 1079 // Test offset 1080 $request = new WP_REST_Request( 'GET', '/wp/v2/templates/' . self::TEST_THEME . '/' . self::TEMPLATE_NAME . '/revisions' ); 1081 $request->set_param( 'offset', 1 ); 1082 $request->set_param( 'per_page', 1 ); 1083 $response = rest_get_server()->dispatch( $request ); 1084 $this->assertEquals( 200, $response->get_status() ); 1085 $data = $response->get_data(); 1086 $this->assertCount( 1, $data ); 1087 $this->assertEquals( 4, $response->get_headers()['X-WP-Total'] ); 1088 $this->assertEquals( 4, $response->get_headers()['X-WP-TotalPages'] ); 1089 1090 // Test paged 1091 $request = new WP_REST_Request( 'GET', '/wp/v2/templates/' . self::TEST_THEME . '/' . self::TEMPLATE_NAME . '/revisions' ); 1092 $request->set_param( 'page', 2 ); 1093 $request->set_param( 'per_page', 2 ); 1094 $response = rest_get_server()->dispatch( $request ); 1095 $this->assertEquals( 200, $response->get_status() ); 1096 $data = $response->get_data(); 1097 $this->assertCount( 2, $data ); 1098 $this->assertEquals( 4, $response->get_headers()['X-WP-Total'] ); 1099 $this->assertEquals( 2, $response->get_headers()['X-WP-TotalPages'] ); 1100 1101 // Test out of bounds 1102 $request = new WP_REST_Request( 'GET', '/wp/v2/templates/' . self::TEST_THEME . '/' . self::TEMPLATE_NAME . '/revisions' ); 1103 $request->set_param( 'page', 4 ); 1104 $request->set_param( 'per_page', 6 ); 1105 $response = rest_get_server()->dispatch( $request ); 1106 $this->assertErrorResponse( 'rest_revision_invalid_page_number', $response, 400 ); 1107 } 1068 1108 }
Note: See TracChangeset
for help on using the changeset viewer.