[Wp-unit-tests] [WordPress Unit Tests] #29: Update WPTestAttachments

WordPress Unit Tests noreply at wordpress.org
Mon Mar 26 22:19:37 UTC 2012

#29: Update WPTestAttachments
 Reporter:  kurtpayne     |      Owner:
     Type:  defect        |     Status:  new
 Priority:  major         |  Milestone:  Fix existing Tests
Component:  Capabilities  |    Version:
 Keywords:  attachments   |
 There are several problems with the WPTestUserCapabilities unit test.
 Let's update the test.

 In `test_insert_image_no_thumb`
 // the thumb url should point to the thumbnail intermediate
 $this->assertEquals( $thumb['url'], wp_get_attachment_thumb_url($id) );

 `$thumb` is never declared.  This assertion will always fail.

 Also in `test_insert_image_no_thumb`
 // image_downsize() should return the correct images and sizes
 $this->assertFalse( image_downsize($id, 'thumbnail') );

 The comment and the assertion are out of sync.  `image_downsize` should
 not return false unless the attachment id is not found, or the output is
 hijacked by the `image_downsize` filter, or `$img_url` var is empty
 because of another failure (which is not under test here).

 In several places:
 $filename = ( DIR_TESTDATA.'/images/a2-small.jpg' );
 $upload = wp_upload_bits($filename, 'image/jpeg', $contents);
 $this->assertEquals( 'a2-small-150x150.jpg', $thumb['file'] );

 `wp_upload_bits` expects a file name, not a file path.  The assertion
 fails because `$thumb[file]` contains `wp-testdataimagesa2-small-

 In several places:
 $this->assertTrue( is_file($thumb['path']) );

 The path here is relative to the !WordPress upload location.  `is_file()`
 should be passed the full file path.

 In `test_insert_image_medium`:
 $downsize = image_downsize($id, 'full');
 $this->assertEquals( '2007-06-17dsc_4173.jpg', basename($downsize[0]) );
 $this->assertEquals( 500, $downsize[1] );
 $this->assertEquals( 752, $downsize[2] );

 The file is 680 x 1024 and `image_downsize` will not constrain the size
 when asked for the full image.

 In `test_insert_image_delete`:
 $filename = ( DIR_TESTDATA.'/images/2007-06-17DSC_4173.JPG' );
 $this->assertEquals( '2007-06-17dsc_4173-150x150.jpg', $thumb['file'] );

 The case difference between "DSC" and "dsc" causes the assertion to fail.

Ticket URL: <http://unit-tests.trac.wordpress.org/ticket/29>
WordPress Unit Tests <http://unit-tests.trac.wordpress.org>
My example project

More information about the wp-unit-tests mailing list