Skip to content

Commit 0cec0b0

Browse files
revert unrelated
1 parent 394bec7 commit 0cec0b0

2 files changed

Lines changed: 1 addition & 249 deletions

File tree

tests/phpunit/tests/rest-api/rest-attachments-controller.php

Lines changed: 0 additions & 247 deletions
Original file line numberDiff line numberDiff line change
@@ -3154,251 +3154,4 @@ static function ( $data ) use ( &$captured_data ) {
31543154
// Verify that the data is an array (not an object).
31553155
$this->assertIsArray( $captured_data, 'Data passed to wp_insert_attachment should be an array' );
31563156
}
3157-
3158-
/**
3159-
* Tests sideloading a scaled image for an existing attachment.
3160-
*
3161-
* @ticket 64737
3162-
* @requires function imagejpeg
3163-
*/
3164-
public function test_sideload_scaled_image() {
3165-
wp_set_current_user( self::$author_id );
3166-
3167-
// First, create an attachment.
3168-
$request = new WP_REST_Request( 'POST', '/wp/v2/media' );
3169-
$request->set_header( 'Content-Type', 'image/jpeg' );
3170-
$request->set_header( 'Content-Disposition', 'attachment; filename=canola.jpg' );
3171-
$request->set_body( file_get_contents( self::$test_file ) );
3172-
$response = rest_get_server()->dispatch( $request );
3173-
$data = $response->get_data();
3174-
$attachment_id = $data['id'];
3175-
3176-
$this->assertSame( 201, $response->get_status() );
3177-
3178-
$original_file = get_attached_file( $attachment_id, true );
3179-
3180-
// Sideload a "scaled" version of the image.
3181-
$request = new WP_REST_Request( 'POST', "/wp/v2/media/{$attachment_id}/sideload" );
3182-
$request->set_header( 'Content-Type', 'image/jpeg' );
3183-
$request->set_header( 'Content-Disposition', 'attachment; filename=canola-scaled.jpg' );
3184-
$request->set_param( 'image_size', 'scaled' );
3185-
$request->set_body( file_get_contents( self::$test_file ) );
3186-
$response = rest_get_server()->dispatch( $request );
3187-
3188-
$this->assertSame( 200, $response->get_status(), 'Sideloading scaled image should succeed.' );
3189-
3190-
$metadata = wp_get_attachment_metadata( $attachment_id );
3191-
3192-
// The original file should now be recorded as original_image.
3193-
$this->assertArrayHasKey( 'original_image', $metadata, 'Metadata should contain original_image.' );
3194-
$this->assertSame( wp_basename( $original_file ), $metadata['original_image'], 'original_image should be the basename of the original attached file.' );
3195-
3196-
// The attached file should now point to the scaled version.
3197-
$new_file = get_attached_file( $attachment_id, true );
3198-
$this->assertStringContainsString( 'scaled', wp_basename( $new_file ), 'Attached file should now be the scaled version.' );
3199-
3200-
// Metadata should have width, height, filesize, and file updated.
3201-
$this->assertArrayHasKey( 'width', $metadata, 'Metadata should contain width.' );
3202-
$this->assertArrayHasKey( 'height', $metadata, 'Metadata should contain height.' );
3203-
$this->assertArrayHasKey( 'filesize', $metadata, 'Metadata should contain filesize.' );
3204-
$this->assertArrayHasKey( 'file', $metadata, 'Metadata should contain file.' );
3205-
$this->assertStringContainsString( 'scaled', $metadata['file'], 'Metadata file should reference the scaled version.' );
3206-
$this->assertGreaterThan( 0, $metadata['width'], 'Width should be positive.' );
3207-
$this->assertGreaterThan( 0, $metadata['height'], 'Height should be positive.' );
3208-
$this->assertGreaterThan( 0, $metadata['filesize'], 'Filesize should be positive.' );
3209-
}
3210-
3211-
/**
3212-
* Tests that sideloading scaled image requires authentication.
3213-
*
3214-
* @ticket 64737
3215-
* @requires function imagejpeg
3216-
*/
3217-
public function test_sideload_scaled_image_requires_auth() {
3218-
wp_set_current_user( self::$author_id );
3219-
3220-
// Create an attachment.
3221-
$request = new WP_REST_Request( 'POST', '/wp/v2/media' );
3222-
$request->set_header( 'Content-Type', 'image/jpeg' );
3223-
$request->set_header( 'Content-Disposition', 'attachment; filename=canola.jpg' );
3224-
$request->set_body( file_get_contents( self::$test_file ) );
3225-
$response = rest_get_server()->dispatch( $request );
3226-
$attachment_id = $response->get_data()['id'];
3227-
3228-
// Try sideloading without authentication.
3229-
wp_set_current_user( 0 );
3230-
3231-
$request = new WP_REST_Request( 'POST', "/wp/v2/media/{$attachment_id}/sideload" );
3232-
$request->set_header( 'Content-Type', 'image/jpeg' );
3233-
$request->set_header( 'Content-Disposition', 'attachment; filename=canola-scaled.jpg' );
3234-
$request->set_param( 'image_size', 'scaled' );
3235-
$request->set_body( file_get_contents( self::$test_file ) );
3236-
$response = rest_get_server()->dispatch( $request );
3237-
3238-
$this->assertErrorResponse( 'rest_cannot_edit_image', $response, 401 );
3239-
}
3240-
3241-
/**
3242-
* Tests that the sideload endpoint includes 'scaled' in the image_size enum.
3243-
*
3244-
* @ticket 64737
3245-
*/
3246-
public function test_sideload_route_includes_scaled_enum() {
3247-
$server = rest_get_server();
3248-
$routes = $server->get_routes();
3249-
3250-
$endpoint = '/wp/v2/media/(?P<id>[\d]+)/sideload';
3251-
$this->assertArrayHasKey( $endpoint, $routes, 'Sideload route should exist.' );
3252-
3253-
$route = $routes[ $endpoint ];
3254-
$endpoint = $route[0];
3255-
$args = $endpoint['args'];
3256-
3257-
$param_name = 'image_size';
3258-
$this->assertArrayHasKey( $param_name, $args, 'Route should have image_size arg.' );
3259-
$this->assertContains( 'scaled', $args[ $param_name ]['enum'], 'image_size enum should include scaled.' );
3260-
}
3261-
3262-
/**
3263-
* Tests the filter_wp_unique_filename method handles the -scaled suffix.
3264-
*
3265-
* @ticket 64737
3266-
* @requires function imagejpeg
3267-
*/
3268-
public function test_sideload_scaled_unique_filename() {
3269-
wp_set_current_user( self::$author_id );
3270-
3271-
// Create an attachment.
3272-
$request = new WP_REST_Request( 'POST', '/wp/v2/media' );
3273-
$request->set_header( 'Content-Type', 'image/jpeg' );
3274-
$request->set_header( 'Content-Disposition', 'attachment; filename=canola.jpg' );
3275-
$request->set_body( file_get_contents( self::$test_file ) );
3276-
$response = rest_get_server()->dispatch( $request );
3277-
$attachment_id = $response->get_data()['id'];
3278-
3279-
// Sideload with the -scaled suffix.
3280-
$request = new WP_REST_Request( 'POST', "/wp/v2/media/{$attachment_id}/sideload" );
3281-
$request->set_header( 'Content-Type', 'image/jpeg' );
3282-
$request->set_header( 'Content-Disposition', 'attachment; filename=canola-scaled.jpg' );
3283-
$request->set_param( 'image_size', 'scaled' );
3284-
$request->set_body( file_get_contents( self::$test_file ) );
3285-
$response = rest_get_server()->dispatch( $request );
3286-
3287-
$this->assertSame( 200, $response->get_status(), 'Sideloading scaled image should succeed.' );
3288-
3289-
// The filename should retain the -scaled suffix without numeric disambiguation.
3290-
$new_file = get_attached_file( $attachment_id, true );
3291-
$basename = wp_basename( $new_file );
3292-
$this->assertMatchesRegularExpression( '/canola-scaled\.jpg$/', $basename, 'Scaled filename should not have numeric suffix appended.' );
3293-
}
3294-
3295-
/**
3296-
* Tests that sideloading a scaled image for a different attachment retains the numeric suffix
3297-
* when a file with the same name already exists on disk.
3298-
*
3299-
* @ticket 64737
3300-
* @requires function imagejpeg
3301-
*/
3302-
public function test_sideload_scaled_unique_filename_conflict() {
3303-
wp_set_current_user( self::$author_id );
3304-
3305-
// Create the first attachment.
3306-
$request = new WP_REST_Request( 'POST', '/wp/v2/media' );
3307-
$request->set_header( 'Content-Type', 'image/jpeg' );
3308-
$request->set_header( 'Content-Disposition', 'attachment; filename=canola.jpg' );
3309-
$request->set_body( file_get_contents( self::$test_file ) );
3310-
$response = rest_get_server()->dispatch( $request );
3311-
$attachment_id_a = $response->get_data()['id'];
3312-
3313-
// Sideload a scaled image for attachment A, creating canola-scaled.jpg on disk.
3314-
$request = new WP_REST_Request( 'POST', "/wp/v2/media/{$attachment_id_a}/sideload" );
3315-
$request->set_header( 'Content-Type', 'image/jpeg' );
3316-
$request->set_header( 'Content-Disposition', 'attachment; filename=canola-scaled.jpg' );
3317-
$request->set_param( 'image_size', 'scaled' );
3318-
$request->set_body( file_get_contents( self::$test_file ) );
3319-
$response = rest_get_server()->dispatch( $request );
3320-
3321-
$this->assertSame( 200, $response->get_status(), 'First sideload should succeed.' );
3322-
3323-
// Create a second, different attachment.
3324-
$request = new WP_REST_Request( 'POST', '/wp/v2/media' );
3325-
$request->set_header( 'Content-Type', 'image/jpeg' );
3326-
$request->set_header( 'Content-Disposition', 'attachment; filename=other.jpg' );
3327-
$request->set_body( file_get_contents( self::$test_file ) );
3328-
$response = rest_get_server()->dispatch( $request );
3329-
$attachment_id_b = $response->get_data()['id'];
3330-
3331-
// Sideload scaled for attachment B using the same filename that already exists on disk.
3332-
$request = new WP_REST_Request( 'POST', "/wp/v2/media/{$attachment_id_b}/sideload" );
3333-
$request->set_header( 'Content-Type', 'image/jpeg' );
3334-
$request->set_header( 'Content-Disposition', 'attachment; filename=canola-scaled.jpg' );
3335-
$request->set_param( 'image_size', 'scaled' );
3336-
$request->set_body( file_get_contents( self::$test_file ) );
3337-
$response = rest_get_server()->dispatch( $request );
3338-
3339-
$this->assertSame( 200, $response->get_status(), 'Second sideload should succeed.' );
3340-
3341-
// The filename should have a numeric suffix since the base name does not match this attachment.
3342-
$new_file = get_attached_file( $attachment_id_b, true );
3343-
$basename = wp_basename( $new_file );
3344-
$this->assertMatchesRegularExpression( '/canola-scaled-\d+\.jpg$/', $basename, 'Scaled filename should have numeric suffix when file conflicts with a different attachment.' );
3345-
}
3346-
3347-
/**
3348-
* Tests that sideloading an oversized image for a registered size is rejected.
3349-
*
3350-
* @ticket 63
3351-
* @requires function imagejpeg
3352-
*/
3353-
public function test_sideload_item_rejects_oversized_dimensions() {
3354-
wp_set_current_user( self::$author_id );
3355-
3356-
// Create an attachment.
3357-
$request = new WP_REST_Request( 'POST', '/wp/v2/media' );
3358-
$request->set_header( 'Content-Type', 'image/jpeg' );
3359-
$request->set_header( 'Content-Disposition', 'attachment; filename=canola.jpg' );
3360-
$request->set_body( file_get_contents( self::$test_file ) );
3361-
$response = rest_get_server()->dispatch( $request );
3362-
$attachment_id = $response->get_data()['id'];
3363-
3364-
// canola.jpg is 640x480, which exceeds the default thumbnail size (150x150).
3365-
$request = new WP_REST_Request( 'POST', "/wp/v2/media/{$attachment_id}/sideload" );
3366-
$request->set_header( 'Content-Type', 'image/jpeg' );
3367-
$request->set_header( 'Content-Disposition', 'attachment; filename=canola-150x150.jpg' );
3368-
$request->set_param( 'image_size', 'thumbnail' );
3369-
$request->set_body( file_get_contents( self::$test_file ) );
3370-
$response = rest_get_server()->dispatch( $request );
3371-
3372-
$this->assertSame( 400, $response->get_status(), 'Oversized image should be rejected.' );
3373-
$this->assertSame( 'rest_upload_dimension_mismatch', $response->get_data()['code'], 'Error code should be rest_upload_dimension_mismatch.' );
3374-
}
3375-
3376-
/**
3377-
* Tests that sideloading a correctly sized image for a registered size succeeds.
3378-
*
3379-
* @ticket 63
3380-
* @requires function imagejpeg
3381-
*/
3382-
public function test_sideload_item_accepts_valid_dimensions() {
3383-
wp_set_current_user( self::$author_id );
3384-
3385-
// Create an attachment.
3386-
$request = new WP_REST_Request( 'POST', '/wp/v2/media' );
3387-
$request->set_header( 'Content-Type', 'image/jpeg' );
3388-
$request->set_header( 'Content-Disposition', 'attachment; filename=canola.jpg' );
3389-
$request->set_body( file_get_contents( self::$test_file ) );
3390-
$response = rest_get_server()->dispatch( $request );
3391-
$attachment_id = $response->get_data()['id'];
3392-
3393-
// test-image.jpg is 50x50, which fits within the default thumbnail size (150x150).
3394-
$test_image = DIR_TESTDATA . '/images/test-image.jpg';
3395-
$request = new WP_REST_Request( 'POST', "/wp/v2/media/{$attachment_id}/sideload" );
3396-
$request->set_header( 'Content-Type', 'image/jpeg' );
3397-
$request->set_header( 'Content-Disposition', 'attachment; filename=canola-50x50.jpg' );
3398-
$request->set_param( 'image_size', 'thumbnail' );
3399-
$request->set_body( file_get_contents( $test_image ) );
3400-
$response = rest_get_server()->dispatch( $request );
3401-
3402-
$this->assertSame( 200, $response->get_status(), 'Valid-sized image should be accepted.' );
3403-
}
34043157
}

tests/qunit/fixtures/wp-api-generated.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3703,8 +3703,7 @@ mockedApiResponse.Schema = {
37033703
"1536x1536",
37043704
"2048x2048",
37053705
"original",
3706-
"full",
3707-
"scaled"
3706+
"full"
37083707
],
37093708
"required": true
37103709
},

0 commit comments

Comments
 (0)