| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <?php
- /**
- * Admin Ajax functions to be tested.
- */
- require_once ABSPATH . 'wp-admin/includes/ajax-actions.php';
- /**
- * Testing Ajax media editing.
- *
- * @package WordPress
- * @subpackage UnitTests
- * @since 3.5.0
- * @group ajax
- */
- class Tests_Ajax_MediaEdit extends WP_Ajax_UnitTestCase {
- /**
- * Tear down the test fixture.
- */
- public function tearDown() {
- // Cleanup.
- $this->remove_added_uploads();
- parent::tearDown();
- }
- /**
- * @ticket 22985
- * @requires function imagejpeg
- */
- public function testCropImageThumbnail() {
- require_once ABSPATH . 'wp-admin/includes/image-edit.php';
- $filename = DIR_TESTDATA . '/images/canola.jpg';
- $contents = file_get_contents( $filename );
- $upload = wp_upload_bits( wp_basename( $filename ), null, $contents );
- $id = $this->_make_attachment( $upload );
- $_REQUEST['action'] = 'image-editor';
- $_REQUEST['context'] = 'edit-attachment';
- $_REQUEST['postid'] = $id;
- $_REQUEST['target'] = 'thumbnail';
- $_REQUEST['do'] = 'save';
- $_REQUEST['history'] = '[{"c":{"x":5,"y":8,"w":289,"h":322}}]';
- $media_meta = wp_get_attachment_metadata( $id );
- $this->assertArrayHasKey( 'sizes', $media_meta, 'attachment should have size data' );
- $this->assertArrayHasKey( 'medium', $media_meta['sizes'], 'attachment should have data for medium size' );
- $ret = wp_save_image( $id );
- $media_meta = wp_get_attachment_metadata( $id );
- $this->assertArrayHasKey( 'sizes', $media_meta, 'cropped attachment should have size data' );
- $this->assertArrayHasKey( 'medium', $media_meta['sizes'], 'cropped attachment should have data for medium size' );
- }
- /**
- * @ticket 32171
- * @requires function imagejpeg
- */
- public function testImageEditOverwriteConstant() {
- define( 'IMAGE_EDIT_OVERWRITE', true );
- require_once ABSPATH . 'wp-admin/includes/image-edit.php';
- $filename = DIR_TESTDATA . '/images/canola.jpg';
- $contents = file_get_contents( $filename );
- $upload = wp_upload_bits( wp_basename( $filename ), null, $contents );
- $id = $this->_make_attachment( $upload );
- $_REQUEST['action'] = 'image-editor';
- $_REQUEST['context'] = 'edit-attachment';
- $_REQUEST['postid'] = $id;
- $_REQUEST['target'] = 'all';
- $_REQUEST['do'] = 'save';
- $_REQUEST['history'] = '[{"c":{"x":5,"y":8,"w":289,"h":322}}]';
- $ret = wp_save_image( $id );
- $media_meta = wp_get_attachment_metadata( $id );
- $sizes1 = $media_meta['sizes'];
- $_REQUEST['history'] = '[{"c":{"x":5,"y":8,"w":189,"h":322}}]';
- $ret = wp_save_image( $id );
- $media_meta = wp_get_attachment_metadata( $id );
- $sizes2 = $media_meta['sizes'];
- $file_path = dirname( get_attached_file( $id ) );
- foreach ( $sizes1 as $key => $size ) {
- if ( $sizes2[ $key ]['file'] !== $size['file'] ) {
- $files_that_shouldnt_exist[] = $file_path . '/' . $size['file'];
- }
- }
- foreach ( $files_that_shouldnt_exist as $file ) {
- $this->assertFileNotExists( $file, 'IMAGE_EDIT_OVERWRITE is leaving garbage image files behind.' );
- }
- }
- }
|