Index: tests/phpunit/tests/image/dimensions.php
===================================================================
--- tests/phpunit/tests/image/dimensions.php	(revision 49699)
+++ tests/phpunit/tests/image/dimensions.php	(working copy)
@@ -6,6 +6,10 @@
  * @group upload
  */
 class Tests_Image_Dimensions extends WP_UnitTestCase {
+
+	/**
+	 * @covers ::image_resize_dimensions
+	 */
 	function test_400x400_no_crop() {
 		// Landscape: resize 640x480 to fit 400x400: 400x300.
 		$out = image_resize_dimensions( 640, 480, 400, 400, false );
@@ -18,6 +22,9 @@
 		$this->assertSame( array( 0, 0, 0, 0, 300, 400, 480, 640 ), $out );
 	}
 
+	/**
+	 * @covers ::image_resize_dimensions
+	 */
 	function test_400x0_no_crop() {
 		// Landscape: resize 640x480 to fit 400w: 400x300.
 		$out = image_resize_dimensions( 640, 480, 400, 0, false );
@@ -30,6 +37,9 @@
 		$this->assertSame( array( 0, 0, 0, 0, 400, 533, 480, 640 ), $out );
 	}
 
+	/**
+	 * @covers ::image_resize_dimensions
+	 */
 	function test_0x400_no_crop() {
 		// Landscape: resize 640x480 to fit 400h: 533x400.
 		$out = image_resize_dimensions( 640, 480, 0, 400, false );
@@ -42,6 +52,9 @@
 		$this->assertSame( array( 0, 0, 0, 0, 300, 400, 480, 640 ), $out );
 	}
 
+	/**
+	 * @covers ::image_resize_dimensions
+	 */
 	function test_800x800_no_crop() {
 		// Landscape: resize 640x480 to fit 800x800.
 		$out = image_resize_dimensions( 640, 480, 800, 800, false );
@@ -54,6 +67,9 @@
 		$this->assertFalse( $out );
 	}
 
+	/**
+	 * @covers ::image_resize_dimensions
+	 */
 	function test_800x0_no_crop() {
 		// Landscape: resize 640x480 to fit 800w.
 		$out = image_resize_dimensions( 640, 480, 800, 0, false );
@@ -66,6 +82,9 @@
 		$this->assertFalse( $out );
 	}
 
+	/**
+	 * @covers ::image_resize_dimensions
+	 */
 	function test_0x800_no_crop() {
 		// Landscape: resize 640x480 to fit 800h.
 		$out = image_resize_dimensions( 640, 480, 0, 800, false );
@@ -78,8 +97,11 @@
 		$this->assertFalse( $out );
 	}
 
-	// Cropped versions.
-
+	/**
+	 *  Cropped versions.
+	 *
+	 * @covers ::image_resize_dimensions
+	 */
 	function test_400x400_crop() {
 		// Landscape: crop 640x480 to fit 400x400: 400x400 taken from a 480x480 crop at (80. 0).
 		$out = image_resize_dimensions( 640, 480, 400, 400, true );
@@ -92,6 +114,9 @@
 		$this->assertSame( array( 0, 0, 0, 80, 400, 400, 480, 480 ), $out );
 	}
 
+	/**
+	 * @covers ::image_resize_dimensions
+	 */
 	function test_400x0_crop() {
 		// Landscape: resize 640x480 to fit 400w: 400x300.
 		$out = image_resize_dimensions( 640, 480, 400, 0, true );
@@ -104,6 +129,9 @@
 		$this->assertSame( array( 0, 0, 0, 0, 400, 533, 480, 640 ), $out );
 	}
 
+	/**
+	 * @covers ::image_resize_dimensions
+	 */
 	function test_0x400_crop() {
 		// Landscape: resize 640x480 to fit 400h: 533x400.
 		$out = image_resize_dimensions( 640, 480, 0, 400, true );
@@ -116,6 +144,9 @@
 		$this->assertSame( array( 0, 0, 0, 0, 300, 400, 480, 640 ), $out );
 	}
 
+	/**
+	 * @covers ::image_resize_dimensions
+	 */
 	function test_400x500_crop() {
 		// Landscape: crop 640x480 to fit 400x500: 400x400 taken from a 480x480 crop at (80. 0).
 		$out = image_resize_dimensions( 640, 480, 400, 500, true );
@@ -128,6 +159,9 @@
 		$this->assertSame( array( 0, 0, 0, 20, 400, 500, 480, 600 ), $out );
 	}
 
+	/**
+	 * @covers ::image_resize_dimensions
+	 */
 	function test_640x480() {
 		// Crop 640x480 to fit 640x480 (no change).
 		$out = image_resize_dimensions( 640, 480, 640, 480, true );
@@ -155,6 +189,8 @@
 
 	/**
 	 * @ticket 19393
+	 *
+	 * @covers ::image_resize_dimensions
 	 */
 	function test_crop_anchors() {
 		// Landscape: crop 640x480 to fit 400x500: 400x400 taken from a 480x480 crop.
Index: tests/phpunit/tests/image/editor.php
===================================================================
--- tests/phpunit/tests/image/editor.php	(revision 49699)
+++ tests/phpunit/tests/image/editor.php	(working copy)
@@ -26,6 +26,8 @@
 	 * Test wp_get_image_editor() where load returns true
 	 *
 	 * @ticket 6821
+	 *
+	 * @covers ::wp_get_image_editor
 	 */
 	public function test_get_editor_load_returns_true() {
 		$editor = wp_get_image_editor( DIR_TESTDATA . '/images/canola.jpg' );
@@ -37,6 +39,8 @@
 	 * Test wp_get_image_editor() where load returns false
 	 *
 	 * @ticket 6821
+	 *
+	 * @covers ::wp_get_image_editor
 	 */
 	public function test_get_editor_load_returns_false() {
 		WP_Image_Editor_Mock::$load_return = new WP_Error();
@@ -66,6 +70,8 @@
 	 * Test test_quality
 	 *
 	 * @ticket 6821
+	 *
+	 * @covers ::wp_get_image_editor
 	 */
 	public function test_set_quality() {
 
@@ -113,6 +119,8 @@
 	 * Test generate_filename
 	 *
 	 * @ticket 6821
+	 *
+	 * @covers ::wp_get_image_editor
 	 */
 	public function test_generate_filename() {
 
@@ -152,6 +160,8 @@
 	 * Test get_size
 	 *
 	 * @ticket 6821
+	 *
+	 * @covers ::wp_get_image_editor
 	 */
 	public function test_get_size() {
 
@@ -176,6 +186,8 @@
 	 * Test get_suffix
 	 *
 	 * @ticket 6821
+	 *
+	 * @covers ::wp_get_image_editor
 	 */
 	public function test_get_suffix() {
 		$editor = wp_get_image_editor( DIR_TESTDATA . '/images/canola.jpg' );
Index: tests/phpunit/tests/image/editorGd.php
===================================================================
--- tests/phpunit/tests/image/editorGd.php	(revision 49699)
+++ tests/phpunit/tests/image/editorGd.php	(working copy)
@@ -32,6 +32,9 @@
 		parent::tearDown();
 	}
 
+	/**
+	 * @covers WP_Image_Editor_GD::supports_mime_type
+	 */
 	public function test_supports_mime_type_jpeg() {
 		$gd_image_editor = new WP_Image_Editor_GD( null );
 		$expected        = (bool) ( imagetypes() & IMG_JPG );
@@ -38,6 +41,9 @@
 		$this->assertSame( $expected, $gd_image_editor->supports_mime_type( 'image/jpeg' ) );
 	}
 
+	/**
+	 * @covers WP_Image_Editor_GD::supports_mime_type
+	 */
 	public function test_supports_mime_type_png() {
 		$gd_image_editor = new WP_Image_Editor_GD( null );
 		$expected        = (bool) ( imagetypes() & IMG_PNG );
@@ -44,6 +50,9 @@
 		$this->assertSame( $expected, $gd_image_editor->supports_mime_type( 'image/png' ) );
 	}
 
+	/**
+	 * @covers WP_Image_Editor_GD::supports_mime_type
+	 */
 	public function test_supports_mime_type_gif() {
 		$gd_image_editor = new WP_Image_Editor_GD( null );
 		$expected        = (bool) ( imagetypes() & IMG_GIF );
@@ -52,6 +61,8 @@
 
 	/**
 	 * Test resizing an image, not using crop
+	 *
+	 * @covers WP_Image_Editor_GD::resize
 	 */
 	public function test_resize() {
 		$file = DIR_TESTDATA . '/images/waffles.jpg';
@@ -72,6 +83,8 @@
 
 	/**
 	 * Test multi_resize with single image resize and no crop
+	 *
+	 * @covers WP_Image_Editor_GD::multi_resize
 	 */
 	public function test_single_multi_resize() {
 		$file = DIR_TESTDATA . '/images/waffles.jpg';
@@ -114,6 +127,8 @@
 	 * both height and weight are missing, null, or 0.
 	 *
 	 * ticket 26823
+	 *
+	 * @covers WP_Image_Editor_GD::multi_resize
 	 */
 	public function test_multi_resize_does_not_create() {
 		$file = DIR_TESTDATA . '/images/waffles.jpg';
@@ -182,6 +197,8 @@
 	 * Test multi_resize with multiple sizes
 	 *
 	 * ticket 26823
+	 *
+	 * @covers WP_Image_Editor_GD::multi_resize
 	 */
 	public function test_multi_resize() {
 		$file = DIR_TESTDATA . '/images/waffles.jpg';
@@ -386,6 +403,8 @@
 
 	/**
 	 * Test resizing an image with cropping
+	 *
+	 * @covers WP_Image_Editor_GD::resize
 	 */
 	public function test_resize_and_crop() {
 		$file = DIR_TESTDATA . '/images/waffles.jpg';
@@ -406,6 +425,8 @@
 
 	/**
 	 * Test cropping an image
+	 *
+	 * @covers WP_Image_Editor_GD::crop
 	 */
 	public function test_crop() {
 		$file = DIR_TESTDATA . '/images/gradient-square.jpg';
@@ -426,6 +447,8 @@
 
 	/**
 	 * Test rotating an image 180 deg
+	 *
+	 * @covers WP_Image_Editor_GD::rotate
 	 */
 	public function test_rotate() {
 		$file = DIR_TESTDATA . '/images/gradient-square.jpg';
@@ -445,6 +468,8 @@
 
 	/**
 	 * Test flipping an image
+	 *
+	 * @covers WP_Image_Editor_GD::flip
 	 */
 	public function test_flip() {
 		$file = DIR_TESTDATA . '/images/gradient-square.jpg';
@@ -466,6 +491,8 @@
 	 * Test the image created with WP_Image_Editor_GD preserves alpha when resizing
 	 *
 	 * @ticket 23039
+	 *
+	 * @covers WP_Image_Editor_GD::resize
 	 */
 	public function test_image_preserves_alpha_on_resize() {
 		if ( ! ( imagetypes() & IMG_PNG ) ) {
@@ -493,6 +520,8 @@
 	 * Test the image created with WP_Image_Editor_GD preserves alpha with no resizing etc
 	 *
 	 * @ticket 23039
+	 *
+	 * @covers WP_Image_Editor_GD::load
 	 */
 	public function test_image_preserves_alpha() {
 		if ( ! ( imagetypes() & IMG_PNG ) ) {
@@ -518,6 +547,8 @@
 
 	/**
 	 * @ticket 30596
+	 *
+	 * @covers WP_Image_Editor_GD::rotate
 	 */
 	public function test_image_preserves_alpha_on_rotate() {
 		if ( ! ( imagetypes() & IMG_PNG ) ) {
@@ -546,6 +577,8 @@
 	 * Test WP_Image_Editor_GD handles extension-less images
 	 *
 	 * @ticket 39195
+	 *
+	 * @covers WP_Image_Editor_GD::load
 	 */
 	public function test_image_non_existent_extension() {
 		$image_editor = new WP_Image_Editor_GD( DIR_TESTDATA . '/images/test-image-no-extension' );
Index: tests/phpunit/tests/image/editorImagick.php
===================================================================
--- tests/phpunit/tests/image/editorImagick.php	(revision 49699)
+++ tests/phpunit/tests/image/editorImagick.php	(working copy)
@@ -46,6 +46,8 @@
 
 	/**
 	 * Test resizing an image, not using crop
+	 *
+	 * @covers WP_Image_Editor_GD::resize
 	 */
 	public function test_resize() {
 		$file = DIR_TESTDATA . '/images/waffles.jpg';
@@ -66,6 +68,8 @@
 
 	/**
 	 * Test multi_resize with single image resize and no crop
+	 *
+	 * @covers WP_Image_Editor_GD::multi_resize
 	 */
 	public function test_single_multi_resize() {
 		$file = DIR_TESTDATA . '/images/waffles.jpg';
@@ -108,6 +112,8 @@
 	 * both height and weight are missing, null, or 0.
 	 *
 	 * ticket 26823
+	 *
+	 * @covers WP_Image_Editor_GD::multi_resize
 	 */
 	public function test_multi_resize_does_not_create() {
 		$file = DIR_TESTDATA . '/images/waffles.jpg';
@@ -176,6 +182,8 @@
 	 * Test multi_resize with multiple sizes
 	 *
 	 * ticket 26823
+	 *
+	 * @covers WP_Image_Editor_GD::multi_resize
 	 */
 	public function test_multi_resize() {
 		$file = DIR_TESTDATA . '/images/waffles.jpg';
@@ -380,6 +388,8 @@
 
 	/**
 	 * Test resizing an image with cropping
+	 *
+	 * @covers WP_Image_Editor_GD::resize
 	 */
 	public function test_resize_and_crop() {
 		$file = DIR_TESTDATA . '/images/waffles.jpg';
@@ -400,6 +410,8 @@
 
 	/**
 	 * Test cropping an image
+	 *
+	 * @covers WP_Image_Editor_GD::crop
 	 */
 	public function test_crop() {
 		$file = DIR_TESTDATA . '/images/gradient-square.jpg';
@@ -420,6 +432,8 @@
 
 	/**
 	 * Test rotating an image 180 deg
+	 *
+	 * @covers WP_Image_Editor_GD::rotate
 	 */
 	public function test_rotate() {
 		$file = DIR_TESTDATA . '/images/one-blue-pixel-100x100.png';
@@ -439,6 +453,8 @@
 
 	/**
 	 * Test flipping an image
+	 *
+	 * @covers WP_Image_Editor_GD::flip
 	 */
 	public function test_flip() {
 		$file = DIR_TESTDATA . '/images/one-blue-pixel-100x100.png';
@@ -460,6 +476,8 @@
 	 * Test the image created with WP_Image_Editor_Imagick preserves alpha when resizing
 	 *
 	 * @ticket 24871
+	 *
+	 * @covers WP_Image_Editor_GD::resize
 	 */
 	public function test_image_preserves_alpha_on_resize() {
 		$file = DIR_TESTDATA . '/images/transparent.png';
@@ -484,6 +502,8 @@
 	 * Test the image created with WP_Image_Editor_Imagick preserves alpha with no resizing etc
 	 *
 	 * @ticket 24871
+	 *
+	 * @covers WP_Image_Editor_GD::load
 	 */
 	public function test_image_preserves_alpha() {
 		$file = DIR_TESTDATA . '/images/transparent.png';
@@ -506,6 +526,8 @@
 
 	/**
 	 * @ticket 30596
+	 *
+	 * @covers WP_Image_Editor_GD::rotate
 	 */
 	public function test_image_preserves_alpha_on_rotate() {
 		$file = DIR_TESTDATA . '/images/transparent.png';
@@ -530,6 +552,8 @@
 	 * Test WP_Image_Editor_Imagick handles extension-less images
 	 *
 	 * @ticket 39195
+	 *
+	 * @covers WP_Image_Editor_GD::load
 	 */
 	public function test_image_non_existent_extension() {
 		$image_editor = new WP_Image_Editor_Imagick( DIR_TESTDATA . '/images/test-image-no-extension' );
@@ -543,6 +567,8 @@
 	 *
 	 * @ticket 37140
 	 * @requires function exif_read_data
+	 *
+	 * @covers WP_Image_Editor_GD::rotate
 	 */
 	public function test_remove_orientation_data_on_rotate() {
 		$file = DIR_TESTDATA . '/images/test-image-upside-down.jpg';
@@ -570,6 +596,8 @@
 
 	/**
 	 * Test that images can be loaded and written over streams
+	 *
+	 * @covers WP_Image_Editor_GD::load
 	 */
 	public function test_streams() {
 		stream_wrapper_register( 'wptest', 'WP_Test_Stream' );
@@ -600,6 +628,8 @@
 
 	/**
 	 * @ticket 51665
+	 *
+	 * @covers WP_Image_Editor_GD::save
 	 */
 	public function test_directory_creation() {
 		$file      = realpath( DIR_TESTDATA ) . '/images/a2-small.jpg';
Index: tests/phpunit/tests/image/functions.php
===================================================================
--- tests/phpunit/tests/image/functions.php	(revision 49699)
+++ tests/phpunit/tests/image/functions.php	(working copy)
@@ -45,6 +45,9 @@
 		return $mime_type;
 	}
 
+	/**
+	 * @covers ::file_is_valid_image
+	 */
 	function test_is_image_positive() {
 		// These are all image files recognized by PHP.
 		$files = array(
@@ -71,6 +74,9 @@
 		}
 	}
 
+	/**
+	 * @covers ::file_is_valid_image
+	 */
 	function test_is_image_negative() {
 		// These are actually image files but aren't recognized or usable by PHP.
 		$files = array(
@@ -84,6 +90,9 @@
 		}
 	}
 
+	/**
+	 * @covers ::file_is_displayable_image
+	 */
 	function test_is_displayable_image_positive() {
 		// These are all usable in typical web browsers.
 		$files = array(
@@ -102,6 +111,9 @@
 		}
 	}
 
+	/**
+	 * @covers ::file_is_displayable_image
+	 */
 	function test_is_displayable_image_negative() {
 		// These are image files but aren't suitable for web pages because of compatibility or size issues.
 		$files = array(
@@ -126,6 +138,8 @@
 
 	/**
 	 * @ticket 50833
+	 *
+	 * @covers ::is_gd_image
 	 */
 	function test_is_gd_image_invalid_types() {
 		$this->assertFalse( is_gd_image( new stdClass() ) );
@@ -140,6 +154,8 @@
 	/**
 	 * @ticket 50833
 	 * @requires extension gd
+	 *
+	 * @covers ::is_gd_image
 	 */
 	function test_is_gd_image_valid_types() {
 		$this->assertTrue( is_gd_image( imagecreate( 5, 5 ) ) );
@@ -150,6 +166,8 @@
 	 *
 	 * @ticket 6821
 	 * @requires extension fileinfo
+	 *
+	 * @covers ::wp_save_image_file
 	 */
 	public function test_wp_save_image_file() {
 		$classes = array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
@@ -206,6 +224,9 @@
 	 *
 	 * @ticket 6821
 	 * @requires extension fileinfo
+	 *
+	 * @covers WP_Image_Editor_GD::save
+	 * @covers WP_Image_Editor_Imagick::save
 	 */
 	public function test_mime_overrides_filename() {
 		$classes = array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
@@ -248,6 +269,9 @@
 	 *
 	 * @ticket 6821
 	 * @requires extension fileinfo
+	 *
+	 * @covers WP_Image_Editor_GD::save
+	 * @covers WP_Image_Editor_Imagick::save
 	 */
 	public function test_inferred_mime_types() {
 		$classes = array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
@@ -306,6 +330,9 @@
 	 *
 	 * @ticket 17814
 	 * @expectedDeprecated wp_load_image
+	 *
+	 * @covers WP_Image_Editor_GD::load
+	 * @covers WP_Image_Editor_Imagick::load
 	 */
 	public function test_load_directory() {
 
@@ -341,6 +368,8 @@
 
 	/**
 	 * @requires function imagejpeg
+	 *
+	 * @covers ::wp_crop_image
 	 */
 	public function test_wp_crop_image_file() {
 		$file = wp_crop_image(
@@ -365,6 +394,8 @@
 	/**
 	 * @requires function imagejpeg
 	 * @requires extension openssl
+	 *
+	 * @covers ::wp_crop_image
 	 */
 	public function test_wp_crop_image_url() {
 		$file = wp_crop_image(
@@ -393,6 +424,9 @@
 		unlink( $file );
 	}
 
+	/**
+	 * @covers ::wp_crop_image
+	 */
 	public function test_wp_crop_image_file_not_exist() {
 		$file = wp_crop_image(
 			DIR_TESTDATA . '/images/canoladoesnotexist.jpg',
@@ -408,6 +442,8 @@
 
 	/**
 	 * @requires extension openssl
+	 *
+	 * @covers ::wp_crop_image
 	 */
 	public function test_wp_crop_image_url_not_exist() {
 		$file = wp_crop_image(
@@ -428,6 +464,8 @@
 
 	/**
 	 * @ticket 23325
+	 *
+	 * @covers ::wp_crop_image
 	 */
 	public function test_wp_crop_image_error_on_saving() {
 		WP_Image_Editor_Mock::$save_return = new WP_Error();
@@ -450,6 +488,8 @@
 
 	/**
 	 * @ticket 31050
+	 *
+	 * @covers ::wp_generate_attachment_metadata
 	 */
 	public function test_wp_generate_attachment_metadata_pdf() {
 		if ( ! wp_image_editor_supports( array( 'mime_type' => 'application/pdf' ) ) ) {
@@ -518,6 +558,8 @@
 	 * Crop setting for PDF.
 	 *
 	 * @ticket 43226
+	 *
+	 * @covers ::wp_generate_attachment_metadata
 	 */
 	public function test_crop_setting_for_pdf() {
 		if ( ! wp_image_editor_supports( array( 'mime_type' => 'application/pdf' ) ) ) {
@@ -585,6 +627,8 @@
 
 	/**
 	 * @ticket 39231
+	 *
+	 * @covers ::wp_generate_attachment_metadata
 	 */
 	public function test_fallback_intermediate_image_sizes() {
 		if ( ! wp_image_editor_supports( array( 'mime_type' => 'application/pdf' ) ) ) {
@@ -645,6 +689,8 @@
 	 * Test PDF preview doesn't overwrite existing JPEG.
 	 *
 	 * @ticket 39875
+	 *
+	 * @covers ::wp_generate_attachment_metadata
 	 */
 	public function test_pdf_preview_doesnt_overwrite_existing_jpeg() {
 		if ( ! wp_image_editor_supports( array( 'mime_type' => 'application/pdf' ) ) ) {
Index: tests/phpunit/tests/image/header.php
===================================================================
--- tests/phpunit/tests/image/header.php	(revision 49699)
+++ tests/phpunit/tests/image/header.php	(working copy)
@@ -13,6 +13,9 @@
 		$this->custom_image_header = new Custom_Image_Header( '__return_null' );
 	}
 
+	/**
+	 * @covers Custom_Image_Header::get_header_dimensions
+	 */
 	function test_header_image_has_correct_dimensions_with_max_width() {
 		global $_wp_theme_features;
 
@@ -33,6 +36,9 @@
 
 	}
 
+	/**
+	 * @covers Custom_Image_Header::get_header_dimensions
+	 */
 	function test_header_image_has_correct_dimensions_with_fixed() {
 		global $_wp_theme_features;
 
@@ -53,6 +59,9 @@
 
 	}
 
+	/**
+	 * @covers Custom_Image_Header::get_header_dimensions
+	 */
 	function test_header_image_has_correct_dimensions_with_flex_height() {
 		global $_wp_theme_features;
 
@@ -73,6 +82,9 @@
 
 	}
 
+	/**
+	 * @covers Custom_Image_Header::get_header_dimensions
+	 */
 	function test_header_image_has_correct_dimensions_with_flex_width() {
 		global $_wp_theme_features;
 
@@ -93,6 +105,9 @@
 
 	}
 
+	/**
+	 * @covers Custom_Image_Header::get_header_dimensions
+	 */
 	function test_header_image_has_correct_dimensions_with_flex_width_and_height() {
 		global $_wp_theme_features;
 
@@ -113,6 +128,9 @@
 
 	}
 
+	/**
+	 * @covers Custom_Image_Header::create_attachment_object
+	 */
 	function test_create_attachment_object() {
 		$id = wp_insert_attachment(
 			array(
@@ -132,6 +150,10 @@
 		$this->assertSame( 'image/jpeg', $object['post_mime_type'] );
 	}
 
+	/**
+	 * @covers Custom_Image_Header::create_attachment_object
+	 * @covers Custom_Image_Header::insert_attachment
+	 */
 	function test_insert_cropped_attachment() {
 		$id = wp_insert_attachment(
 			array(
@@ -153,6 +175,10 @@
 
 	/**
 	 * @ticket 21819
+	 *
+	 * @covers Custom_Image_Header::create_attachment_object
+	 * @covers Custom_Image_Header::get_previous_crop
+	 * @covers Custom_Image_Header::insert_attachment
 	 */
 	function test_check_get_previous_crop() {
 		$id = wp_insert_attachment(
Index: tests/phpunit/tests/image/intermediateSize.php
===================================================================
--- tests/phpunit/tests/image/intermediateSize.php	(revision 49699)
+++ tests/phpunit/tests/image/intermediateSize.php	(working copy)
@@ -22,6 +22,9 @@
 		return parent::_make_attachment( $upload, $parent_post_id );
 	}
 
+	/**
+	 * @covers ::image_make_intermediate_size
+	 */
 	function test_make_intermediate_size_no_size() {
 		$image = image_make_intermediate_size( DIR_TESTDATA . '/images/a2-small.jpg', 0, 0, false );
 
@@ -30,6 +33,8 @@
 
 	/**
 	 * @requires function imagejpeg
+	 *
+	 * @covers ::image_make_intermediate_size
 	 */
 	function test_make_intermediate_size_width() {
 		$image = image_make_intermediate_size( DIR_TESTDATA . '/images/a2-small.jpg', 100, 0, false );
@@ -39,6 +44,8 @@
 
 	/**
 	 * @requires function imagejpeg
+	 *
+	 * @covers ::image_make_intermediate_size
 	 */
 	function test_make_intermediate_size_height() {
 		$image = image_make_intermediate_size( DIR_TESTDATA . '/images/a2-small.jpg', 0, 75, false );
@@ -48,6 +55,8 @@
 
 	/**
 	 * @requires function imagejpeg
+	 *
+	 * @covers ::image_make_intermediate_size
 	 */
 	function test_make_intermediate_size_successful() {
 		$image = image_make_intermediate_size( DIR_TESTDATA . '/images/a2-small.jpg', 100, 75, true );
@@ -65,6 +74,8 @@
 	/**
 	 * @ticket 17626
 	 * @requires function imagejpeg
+	 *
+	 * @covers ::image_make_intermediate_size
 	 */
 	function test_get_intermediate_sizes_by_name() {
 		add_image_size( 'test-size', 330, 220, true );
@@ -86,6 +97,8 @@
 	/**
 	 * @ticket 17626
 	 * @requires function imagejpeg
+	 *
+	 * @covers ::image_make_intermediate_size
 	 */
 	function test_get_intermediate_sizes_by_array_exact() {
 		// Only one dimention match shouldn't return false positive (see: #17626).
@@ -108,6 +121,8 @@
 	/**
 	 * @ticket 17626
 	 * @requires function imagejpeg
+	 *
+	 * @covers ::image_make_intermediate_size
 	 */
 	function test_get_intermediate_sizes_by_array_nearest() {
 		// If an exact size is not found, it should be returned.
@@ -130,6 +145,8 @@
 
 	/**
 	 * @ticket 17626
+	 *
+	 * @covers ::image_make_intermediate_size
 	 */
 	function test_get_intermediate_sizes_by_array_nearest_false() {
 		// If an exact size is not found, it should be returned.
@@ -152,6 +169,8 @@
 	/**
 	 * @ticket 17626
 	 * @requires function imagejpeg
+	 *
+	 * @covers ::image_make_intermediate_size
 	 */
 	function test_get_intermediate_sizes_by_array_zero_height() {
 		// Generate random width.
@@ -181,6 +200,8 @@
 	 * @ticket 17626
 	 * @ticket 34087
 	 * @requires function imagejpeg
+	 *
+	 * @covers ::image_make_intermediate_size
 	 */
 	function test_get_intermediate_sizes_by_array_zero_width() {
 		// 202 is the smallest height that will trigger a miss for 'false-height'.
@@ -210,6 +231,8 @@
 	 * @ticket 17626
 	 * @ticket 34087
 	 * @requires function imagejpeg
+	 *
+	 * @covers ::image_make_intermediate_size
 	 */
 	public function test_get_intermediate_sizes_should_match_size_with_off_by_one_aspect_ratio() {
 		// Original is 600x400. 300x201 is close enough to match.
@@ -234,6 +257,8 @@
 	/**
 	 * @ticket 34384
 	 * @requires function imagejpeg
+	 *
+	 * @covers ::image_make_intermediate_size
 	 */
 	public function test_get_intermediate_size_with_small_size_array() {
 		// Add a hard cropped size that matches the aspect ratio we're going to test.
@@ -252,6 +277,8 @@
 	/**
 	 * @ticket 34384
 	 * @requires function imagejpeg
+	 *
+	 * @covers ::image_make_intermediate_size
 	 */
 	public function test_get_intermediate_size_with_small_size_array_fallback() {
 		$file = DIR_TESTDATA . '/images/waffles.jpg';
Index: tests/phpunit/tests/image/meta.php
===================================================================
--- tests/phpunit/tests/image/meta.php	(revision 49699)
+++ tests/phpunit/tests/image/meta.php	(working copy)
@@ -9,6 +9,9 @@
  */
 class Tests_Image_Meta extends WP_UnitTestCase {
 
+	/**
+	 * @covers ::wp_read_image_metadata
+	 */
 	function test_exif_d70() {
 		// Exif from a Nikon D70.
 		$out = wp_read_image_metadata( DIR_TESTDATA . '/images/2004-07-22-DSC_0008.jpg' );
@@ -25,6 +28,9 @@
 		$this->assertSame( '', $out['title'] );
 	}
 
+	/**
+	 * @covers ::wp_read_image_metadata
+	 */
 	function test_exif_d70_mf() {
 		// Exif from a Nikon D70 - manual focus lens, so some data is unavailable.
 		$out = wp_read_image_metadata( DIR_TESTDATA . '/images/2007-06-17DSC_4173.JPG' );
@@ -42,6 +48,9 @@
 		// $this->assertSame( array( 'Flowers' ), $out['keywords'] );
 	}
 
+	/**
+	 * @covers ::wp_read_image_metadata
+	 */
 	function test_exif_d70_iptc() {
 		// Exif from a Nikon D70 with IPTC data added later.
 		$out = wp_read_image_metadata( DIR_TESTDATA . '/images/2004-07-22-DSC_0007.jpg' );
@@ -58,6 +67,9 @@
 		$this->assertSame( 'IPTC Headline', $out['title'] );
 	}
 
+	/**
+	 * @covers ::wp_read_image_metadata
+	 */
 	function test_exif_fuji() {
 		// Exif from a Fuji FinePix S5600 (thanks Mark).
 		$out = wp_read_image_metadata( DIR_TESTDATA . '/images/a2-small.jpg' );
@@ -77,6 +89,8 @@
 
 	/**
 	 * @ticket 6571
+	 *
+	 * @covers ::wp_read_image_metadata
 	 */
 	function test_exif_error() {
 		// https://core.trac.wordpress.org/ticket/6571
@@ -95,6 +109,9 @@
 		$this->assertSame( '', $out['title'] );
 	}
 
+	/**
+	 * @covers ::wp_read_image_metadata
+	 */
 	function test_exif_no_data() {
 		// No Exif data in this image (from burningwell.org).
 		$out = wp_read_image_metadata( DIR_TESTDATA . '/images/canola.jpg' );
@@ -113,6 +130,8 @@
 
 	/**
 	 * @ticket 9417
+	 *
+	 * @covers ::wp_read_image_metadata
 	 */
 	function test_utf8_iptc_tags() {
 		// Trilingual UTF-8 text in the ITPC caption-abstract field.
@@ -123,6 +142,8 @@
 
 	/**
 	 * wp_read_image_metadata() should return false if the image file doesn't exist.
+	 *
+	 * @covers ::wp_read_image_metadata
 	 */
 	public function test_missing_image_file() {
 		$out = wp_read_image_metadata( DIR_TESTDATA . '/images/404_image.png' );
@@ -132,6 +153,8 @@
 
 	/**
 	 * @ticket 33772
+	 *
+	 * @covers ::wp_read_image_metadata
 	 */
 	public function test_exif_keywords() {
 		$out = wp_read_image_metadata( DIR_TESTDATA . '/images/33772.jpg' );
Index: tests/phpunit/tests/image/resize.php
===================================================================
--- tests/phpunit/tests/image/resize.php	(revision 49699)
+++ tests/phpunit/tests/image/resize.php	(working copy)
@@ -26,6 +26,9 @@
 		return array( $this->editor_engine );
 	}
 
+	/**
+	 * @covers WP_Image_Editor::resize
+	 */
 	function test_resize_jpg() {
 		$image = $this->resize_helper( DIR_TESTDATA . '/images/test-image.jpg', 25, 25 );
 
@@ -38,6 +41,9 @@
 		unlink( $image );
 	}
 
+	/**
+	 * @covers WP_Image_Editor::resize
+	 */
 	function test_resize_png() {
 		$image = $this->resize_helper( DIR_TESTDATA . '/images/test-image.png', 25, 25 );
 
@@ -54,6 +60,9 @@
 		unlink( $image );
 	}
 
+	/**
+	 * @covers WP_Image_Editor::resize
+	 */
 	function test_resize_gif() {
 		$image = $this->resize_helper( DIR_TESTDATA . '/images/test-image.gif', 25, 25 );
 
@@ -70,6 +79,9 @@
 		unlink( $image );
 	}
 
+	/**
+	 * @covers WP_Image_Editor::resize
+	 */
 	function test_resize_larger() {
 		// image_resize() should refuse to make an image larger.
 		$image = $this->resize_helper( DIR_TESTDATA . '/images/test-image.jpg', 100, 100 );
@@ -78,6 +90,9 @@
 		$this->assertSame( 'error_getting_dimensions', $image->get_error_code() );
 	}
 
+	/**
+	 * @covers WP_Image_Editor::resize
+	 */
 	function test_resize_thumb_128x96() {
 		$image = $this->resize_helper( DIR_TESTDATA . '/images/2007-06-17DSC_4173.JPG', 128, 96 );
 
@@ -90,6 +105,9 @@
 		unlink( $image );
 	}
 
+	/**
+	 * @covers WP_Image_Editor::resize
+	 */
 	function test_resize_thumb_128x0() {
 		$image = $this->resize_helper( DIR_TESTDATA . '/images/2007-06-17DSC_4173.JPG', 128, 0 );
 
@@ -102,6 +120,9 @@
 		unlink( $image );
 	}
 
+	/**
+	 * @covers WP_Image_Editor::resize
+	 */
 	function test_resize_thumb_0x96() {
 		$image = $this->resize_helper( DIR_TESTDATA . '/images/2007-06-17DSC_4173.JPG', 0, 96 );
 
@@ -114,6 +135,9 @@
 		unlink( $image );
 	}
 
+	/**
+	 * @covers WP_Image_Editor::resize
+	 */
 	function test_resize_thumb_150x150_crop() {
 		$image = $this->resize_helper( DIR_TESTDATA . '/images/2007-06-17DSC_4173.JPG', 150, 150, true );
 
@@ -126,6 +150,9 @@
 		unlink( $image );
 	}
 
+	/**
+	 * @covers WP_Image_Editor::resize
+	 */
 	function test_resize_thumb_150x100_crop() {
 		$image = $this->resize_helper( DIR_TESTDATA . '/images/2007-06-17DSC_4173.JPG', 150, 100, true );
 
@@ -138,6 +165,9 @@
 		unlink( $image );
 	}
 
+	/**
+	 * @covers WP_Image_Editor::resize
+	 */
 	function test_resize_thumb_50x150_crop() {
 		$image = $this->resize_helper( DIR_TESTDATA . '/images/2007-06-17DSC_4173.JPG', 50, 150, true );
 
@@ -154,6 +184,8 @@
 	 * Try resizing a non-existent image
 	 *
 	 * @ticket 6821
+	 *
+	 * @covers WP_Image_Editor::resize
 	 */
 	public function test_resize_non_existent_image() {
 		$image = $this->resize_helper( DIR_TESTDATA . '/images/test-non-existent-image.jpg', 25, 25 );
Index: tests/phpunit/tests/image/resizeGd.php
===================================================================
--- tests/phpunit/tests/image/resizeGd.php	(revision 49699)
+++ tests/phpunit/tests/image/resizeGd.php	(working copy)
@@ -28,6 +28,8 @@
 	 * Try resizing a php file (bad image)
 	 *
 	 * @ticket 6821
+	 *
+	 * @covers WP_Image_Editor::resize
 	 */
 	public function test_resize_bad_image() {
 
Index: tests/phpunit/tests/image/resizeImagick.php
===================================================================
--- tests/phpunit/tests/image/resizeImagick.php	(revision 49699)
+++ tests/phpunit/tests/image/resizeImagick.php	(working copy)
@@ -14,6 +14,8 @@
 	 * Use the Imagick image editor engine
 	 *
 	 * @var string
+	 *
+	 * @covers WP_Image_Editor::resize
 	 */
 	public $editor_engine = 'WP_Image_Editor_Imagick';
 
Index: tests/phpunit/tests/image/siteIcon.php
===================================================================
--- tests/phpunit/tests/image/siteIcon.php	(revision 49699)
+++ tests/phpunit/tests/image/siteIcon.php	(working copy)
@@ -28,6 +28,9 @@
 		remove_theme_mod( 'custom_logo' );
 	}
 
+	/**
+	 * @covers WP_Site_Icon::intermediate_image_sizes
+	 */
 	function test_intermediate_image_sizes() {
 		$image_sizes = $this->wp_site_icon->intermediate_image_sizes( array() );
 
@@ -39,6 +42,9 @@
 		$this->assertSame( $sizes, $image_sizes );
 	}
 
+	/**
+	 * @covers WP_Site_Icon::intermediate_image_sizes
+	 */
 	function test_intermediate_image_sizes_with_filter() {
 		add_filter( 'site_icon_image_sizes', array( $this, '_custom_test_sizes' ) );
 		$image_sizes = $this->wp_site_icon->intermediate_image_sizes( array() );
@@ -60,6 +66,9 @@
 		remove_filter( 'site_icon_image_sizes', array( $this, '_custom_test_sizes' ) );
 	}
 
+	/**
+	 * @covers WP_Site_Icon::additional_sizes
+	 */
 	function test_additional_sizes() {
 		$image_sizes = $this->wp_site_icon->additional_sizes( array() );
 
@@ -75,6 +84,9 @@
 		$this->assertSame( $sizes, $image_sizes );
 	}
 
+	/**
+	 * @covers WP_Site_Icon::additional_sizes
+	 */
 	function test_additional_sizes_with_filter() {
 		add_filter( 'site_icon_image_sizes', array( $this, '_custom_test_sizes' ) );
 		$image_sizes = $this->wp_site_icon->additional_sizes( array() );
@@ -98,6 +110,9 @@
 		unset( $this->wp_site_icon->site_icon_sizes[ array_search( 321, $this->wp_site_icon->site_icon_sizes, true ) ] );
 	}
 
+	/**
+	 * @covers WP_Site_Icon::create_attachment_object
+	 */
 	function test_create_attachment_object() {
 		$attachment_id = $this->_insert_attachment();
 		$parent_url    = get_post( $attachment_id )->guid;
@@ -112,6 +127,10 @@
 		$this->assertSame( $object['guid'], $cropped );
 	}
 
+	/**
+	 * @covers WP_Site_Icon::create_attachment_object
+	 * @covers WP_Site_Icon::insert_attachment
+	 */
 	function test_insert_cropped_attachment() {
 		$attachment_id = $this->_insert_attachment();
 		$parent_url    = get_post( $attachment_id )->guid;
@@ -124,6 +143,9 @@
 		$this->assertGreaterThan( 0, $cropped_id );
 	}
 
+	/**
+	 * @covers ::wp_delete_attachment
+	 */
 	function test_delete_attachment_data() {
 		$attachment_id = $this->_insert_attachment();
 		update_option( 'site_icon', $attachment_id );
@@ -135,6 +157,8 @@
 
 	/**
 	 * @ticket 34368
+	 *
+	 * @covers WP_Site_Icon::get_post_metadata
 	 */
 	function test_get_post_metadata() {
 		$attachment_id = $this->_insert_attachment();
Index: tests/phpunit/tests/image/size.php
===================================================================
--- tests/phpunit/tests/image/size.php	(revision 49699)
+++ tests/phpunit/tests/image/size.php	(working copy)
@@ -7,6 +7,9 @@
  */
 class Tests_Image_Size extends WP_UnitTestCase {
 
+	/**
+	 * @covers ::wp_constrain_dimensions
+	 */
 	function test_constrain_dims_zero() {
 		// No constraint - should have no effect.
 		$out = wp_constrain_dimensions( 640, 480, 0, 0 );
@@ -22,6 +25,9 @@
 		$this->assertSame( array( 118, 177 ), $out );
 	}
 
+	/**
+	 * @covers ::wp_constrain_dimensions
+	 */
 	function test_constrain_dims_smaller() {
 		// Image size is smaller than the constraint - no effect.
 		$out = wp_constrain_dimensions( 500, 600, 1024, 768 );
@@ -34,6 +40,9 @@
 		$this->assertSame( array( 500, 600 ), $out );
 	}
 
+	/**
+	 * @covers ::wp_constrain_dimensions
+	 */
 	function test_constrain_dims_equal() {
 		// Image size is equal to the constraint - no effect.
 		$out = wp_constrain_dimensions( 1024, 768, 1024, 768 );
@@ -46,6 +55,9 @@
 		$this->assertSame( array( 1024, 768 ), $out );
 	}
 
+	/**
+	 * @covers ::wp_constrain_dimensions
+	 */
 	function test_constrain_dims_larger() {
 		// Image size is larger than the constraint - result should be constrained.
 		$out = wp_constrain_dimensions( 1024, 768, 500, 600 );
@@ -68,6 +80,9 @@
 		$this->assertSame( array( 200, 533 ), $out );
 	}
 
+	/**
+	 * @covers ::wp_constrain_dimensions
+	 */
 	function test_constrain_dims_boundary() {
 		// One dimension is larger than the constraint, one smaller - result should be constrained.
 		$out = wp_constrain_dimensions( 1024, 768, 500, 800 );
@@ -86,6 +101,8 @@
 
 	/**
 	 * @expectedDeprecated wp_shrink_dimensions
+	 *
+	 * @covers ::wp_shrink_dimensions
 	 */
 	function test_shrink_dimensions_default() {
 		$out = wp_shrink_dimensions( 640, 480 );
@@ -97,6 +114,8 @@
 
 	/**
 	 * @expectedDeprecated wp_shrink_dimensions
+	 *
+	 * @covers ::wp_shrink_dimensions
 	 */
 	function test_shrink_dimensions_smaller() {
 		// Image size is smaller than the constraint - no effect.
@@ -109,6 +128,8 @@
 
 	/**
 	 * @expectedDeprecated wp_shrink_dimensions
+	 *
+	 * @covers ::wp_shrink_dimensions
 	 */
 	function test_shrink_dimensions_equal() {
 		// Image size is equal to the constraint - no effect.
@@ -121,6 +142,8 @@
 
 	/**
 	 * @expectedDeprecated wp_shrink_dimensions
+	 *
+	 * @covers ::wp_shrink_dimensions
 	 */
 	function test_shrink_dimensions_larger() {
 		// Image size is larger than the constraint - result should be constrained.
@@ -133,6 +156,8 @@
 
 	/**
 	 * @expectedDeprecated wp_shrink_dimensions
+	 *
+	 * @covers ::wp_shrink_dimensions
 	 */
 	function test_shrink_dimensions_boundary() {
 		// One dimension is larger than the constraint, one smaller - result should be constrained.
@@ -150,6 +175,9 @@
 		$this->assertSame( array( 525, 700 ), $out );
 	}
 
+	/**
+	 * @covers ::image_constrain_size_for_editor
+	 */
 	function test_constrain_size_for_editor_thumb() {
 		$out = image_constrain_size_for_editor( 600, 400, 'thumb' );
 		$this->assertSame( array( 150, 100 ), $out );
@@ -158,6 +186,9 @@
 		$this->assertSame( array( 64, 64 ), $out );
 	}
 
+	/**
+	 * @covers ::image_constrain_size_for_editor
+	 */
 	function test_constrain_size_for_editor_medium() {
 		// Default max width is 500, no constraint on height.
 		global $content_width;
@@ -185,6 +216,9 @@
 		$content_width = $_content_width;
 	}
 
+	/**
+	 * @covers ::image_constrain_size_for_editor
+	 */
 	function test_constrain_size_for_editor_full() {
 		global $content_width;
 
Index: tests/phpunit/tests/import/import.php
===================================================================
--- tests/phpunit/tests/import/import.php	(revision 49699)
+++ tests/phpunit/tests/import/import.php	(working copy)
@@ -39,6 +39,9 @@
 		parent::tearDown();
 	}
 
+	/**
+	 * @covers WP_Import::import
+	 */
 	function test_small_import() {
 		global $wpdb;
 
@@ -207,6 +210,9 @@
 		$this->assertSame( 1, count( $cats ) );
 	}
 
+	/**
+	 * @covers WP_Import::import
+	 */
 	function test_double_import() {
 		$authors = array(
 			'admin'  => false,
@@ -273,6 +279,8 @@
 
 	/**
 	 * @ticket 21007
+	 *
+	 * @covers WP_Import::import
 	 */
 	public function test_slashes_should_not_be_stripped() {
 		global $wpdb;
Index: tests/phpunit/tests/import/parser.php
===================================================================
--- tests/phpunit/tests/import/parser.php	(revision 49699)
+++ tests/phpunit/tests/import/parser.php	(working copy)
@@ -24,6 +24,10 @@
 		require_once DIR_TESTDATA . '/plugins/wordpress-importer/wordpress-importer.php';
 	}
 
+	/**
+	 * @covers WXR_Parser_SimpleXML::parse
+	 * @covers WXR_Parser_XML::parse
+	 */
 	function test_malformed_wxr() {
 		$file = DIR_TESTDATA . '/export/malformed.xml';
 
@@ -36,6 +40,11 @@
 		}
 	}
 
+	/**
+	 * @covers WXR_Parser_SimpleXML::parse
+	 * @covers WXR_Parser_XML::parse
+	 * @covers WXR_Parser_Regex::parse
+	 */
 	function test_invalid_wxr() {
 		$f1 = DIR_TESTDATA . '/export/missing-version-tag.xml';
 		$f2 = DIR_TESTDATA . '/export/invalid-version-tag.xml';
@@ -50,6 +59,11 @@
 		}
 	}
 
+	/**
+	 * @covers WXR_Parser_SimpleXML::parse
+	 * @covers WXR_Parser_XML::parse
+	 * @covers WXR_Parser_Regex::parse
+	 */
 	function test_wxr_version_1_1() {
 		$file = DIR_TESTDATA . '/export/valid-wxr-1.1.xml';
 
@@ -143,6 +157,11 @@
 		}
 	}
 
+	/**
+	 * @covers WXR_Parser_SimpleXML::parse
+	 * @covers WXR_Parser_XML::parse
+	 * @covers WXR_Parser_Regex::parse
+	 */
 	function test_wxr_version_1_0() {
 		$file = DIR_TESTDATA . '/export/valid-wxr-1.0.xml';
 
@@ -236,6 +255,10 @@
 	 * sections that contain escaped closing tags ("]]>" -> "]]]]><![CDATA[>").
 	 *
 	 * @link https://core.trac.wordpress.org/ticket/15203
+	 *
+	 * @covers WXR_Parser_SimpleXML::parse
+	 * @covers WXR_Parser_XML::parse
+	 * @covers WXR_Parser_Regex::parse
 	 */
 	function test_escaped_cdata_closing_sequence() {
 		$file = DIR_TESTDATA . '/export/crazy-cdata-escaped.xml';
@@ -269,6 +292,8 @@
 	/**
 	 * Ensure that the regex parser can still parse invalid CDATA blocks (i.e. those
 	 * with "]]>" unescaped within a CDATA section).
+	 *
+	 * @covers WXR_Parser_Regex::parse
 	 */
 	function test_unescaped_cdata_closing_sequence() {
 		$file = DIR_TESTDATA . '/export/crazy-cdata.xml';
Index: tests/phpunit/tests/import/postmeta.php
===================================================================
--- tests/phpunit/tests/import/postmeta.php	(revision 49699)
+++ tests/phpunit/tests/import/postmeta.php	(working copy)
@@ -24,6 +24,9 @@
 		require_once DIR_TESTDATA . '/plugins/wordpress-importer/wordpress-importer.php';
 	}
 
+	/**
+	 * @covers WP_Import::import
+	 */
 	function test_serialized_postmeta_no_cdata() {
 		$this->_import_wp( DIR_TESTDATA . '/export/test-serialized-postmeta-no-cdata.xml', array( 'johncoswell' => 'john' ) );
 		$expected['special_post_title'] = 'A special title';
@@ -31,6 +34,9 @@
 		$this->assertSame( $expected, get_post_meta( 122, 'post-options', true ) );
 	}
 
+	/**
+	 * @covers WP_Import::import
+	 */
 	function test_utw_postmeta() {
 		$this->_import_wp( DIR_TESTDATA . '/export/test-utw-post-meta-import.xml', array( 'johncoswell' => 'john' ) );
 
@@ -79,6 +85,8 @@
 
 	/**
 	 * @ticket 9633
+	 *
+	 * @covers WP_Import::import
 	 */
 	function test_serialized_postmeta_with_cdata() {
 		$this->_import_wp( DIR_TESTDATA . '/export/test-serialized-postmeta-with-cdata.xml', array( 'johncoswell' => 'johncoswell' ) );
@@ -93,6 +101,8 @@
 
 	/**
 	 * @ticket 11574
+	 *
+	 * @covers WP_Import::import
 	 */
 	function test_serialized_postmeta_with_evil_stuff_in_cdata() {
 		$this->_import_wp( DIR_TESTDATA . '/export/test-serialized-postmeta-with-cdata.xml', array( 'johncoswell' => 'johncoswell' ) );
Index: tests/phpunit/tests/l10n/getLocale.php
===================================================================
--- tests/phpunit/tests/l10n/getLocale.php	(revision 49699)
+++ tests/phpunit/tests/l10n/getLocale.php	(working copy)
@@ -19,6 +19,8 @@
 
 	/**
 	 * @group ms-required
+	 *
+	 * @covers ::get_locale
 	 */
 	public function test_local_option_should_take_precedence_on_multisite() {
 		global $locale;
@@ -36,6 +38,8 @@
 
 	/**
 	 * @group ms-required
+	 *
+	 * @covers ::get_locale
 	 */
 	public function test_network_option_should_be_fallback_on_multisite() {
 		if ( ! is_multisite() ) {
@@ -56,6 +60,8 @@
 
 	/**
 	 * @group ms-excluded
+	 *
+	 * @covers ::get_locale
 	 */
 	public function test_option_should_be_respected_on_nonmultisite() {
 		if ( is_multisite() ) {
@@ -75,6 +81,9 @@
 
 	}
 
+	/**
+	 * @covers ::get_locale
+	 */
 	public function test_should_fall_back_on_en_US() {
 		global $locale;
 		$old_locale = $locale;
@@ -86,6 +95,9 @@
 		$this->assertSame( 'en_US', $found );
 	}
 
+	/**
+	 * @covers ::get_locale
+	 */
 	public function test_should_respect_get_locale_filter() {
 		add_filter( 'locale', array( $this, 'filter_get_locale' ) );
 		$found = get_locale();
Index: tests/phpunit/tests/l10n/getUserLocale.php
===================================================================
--- tests/phpunit/tests/l10n/getUserLocale.php	(revision 49699)
+++ tests/phpunit/tests/l10n/getUserLocale.php	(working copy)
@@ -27,6 +27,9 @@
 		parent::tearDown();
 	}
 
+	/**
+	 * @covers ::get_user_locale
+	 */
 	public function test_user_locale_property() {
 		set_current_screen( 'dashboard' );
 		$this->assertSame( 'de_DE', get_user_locale() );
@@ -33,6 +36,9 @@
 		$this->assertSame( get_user_by( 'id', $this->user_id )->locale, get_user_locale() );
 	}
 
+	/**
+	 * @covers ::get_user_locale
+	 */
 	public function test_update_user_locale() {
 		set_current_screen( 'dashboard' );
 		update_user_meta( $this->user_id, 'locale', 'fr_FR' );
@@ -39,6 +45,9 @@
 		$this->assertSame( 'fr_FR', get_user_locale() );
 	}
 
+	/**
+	 * @covers ::get_user_locale
+	 */
 	public function test_returns_site_locale_if_empty() {
 		set_current_screen( 'dashboard' );
 		update_user_meta( $this->user_id, 'locale', '' );
@@ -45,25 +54,40 @@
 		$this->assertSame( get_locale(), get_user_locale() );
 	}
 
+	/**
+	 * @covers ::get_user_locale
+	 */
 	public function test_returns_site_locale_if_no_user() {
 		wp_set_current_user( 0 );
 		$this->assertSame( get_locale(), get_user_locale() );
 	}
 
+	/**
+	 * @covers ::get_user_locale
+	 */
 	public function test_returns_correct_user_locale() {
 		set_current_screen( 'dashboard' );
 		$this->assertSame( 'de_DE', get_user_locale() );
 	}
 
+	/**
+	 * @covers ::get_user_locale
+	 */
 	public function test_returns_correct_user_locale_on_frontend() {
 		$this->assertSame( 'de_DE', get_user_locale() );
 	}
 
+	/**
+	 * @covers ::get_user_locale
+	 */
 	public function test_site_locale_is_not_affected() {
 		set_current_screen( 'dashboard' );
 		$this->assertSame( 'en_US', get_locale() );
 	}
 
+	/**
+	 * @covers ::get_user_locale
+	 */
 	public function test_site_locale_is_not_affected_on_frontend() {
 		$this->assertSame( 'en_US', get_locale() );
 	}
@@ -70,6 +94,8 @@
 
 	/**
 	 * @group ms-required
+	 *
+	 * @covers ::get_user_locale
 	 */
 	public function test_user_locale_is_same_across_network() {
 		if ( ! is_multisite() ) {
@@ -86,6 +112,9 @@
 		$this->assertSame( $user_locale, $user_locale_2 );
 	}
 
+	/**
+	 * @covers ::get_user_locale
+	 */
 	public function test_user_id_argument_with_id() {
 		$user_id = $this->factory()->user->create(
 			array(
@@ -103,6 +132,9 @@
 		$this->assertSame( get_locale(), $user_locale2 );
 	}
 
+	/**
+	 * @covers ::get_user_locale
+	 */
 	public function test_user_id_argument_with_wp_user_object() {
 		$user_id = $this->factory()->user->create(
 			array(
@@ -122,6 +154,9 @@
 		$this->assertSame( get_locale(), $user_locale2 );
 	}
 
+	/**
+	 * @covers ::get_user_locale
+	 */
 	public function test_user_id_argument_with_nonexistent_user() {
 		global $wpdb;
 
@@ -132,6 +167,9 @@
 		$this->assertSame( get_locale(), $user_locale );
 	}
 
+	/**
+	 * @covers ::get_user_locale
+	 */
 	public function test_user_id_argument_with_invalid_type() {
 		$user_locale = get_user_locale( 'string' );
 		$this->assertSame( get_locale(), $user_locale );
Index: tests/phpunit/tests/l10n/loadScriptTextdomain.php
===================================================================
--- tests/phpunit/tests/l10n/loadScriptTextdomain.php	(revision 49699)
+++ tests/phpunit/tests/l10n/loadScriptTextdomain.php	(working copy)
@@ -13,6 +13,8 @@
 	 * @ticket 49145
 	 *
 	 * @dataProvider data_test_resolve_relative_path
+	 *
+	 * @covers ::file_get_contents
 	 */
 	public function test_resolve_relative_path( $translation_path, $handle, $src, $textdomain, $filter = array() ) {
 		if ( ! empty( $filter ) ) {
Index: tests/phpunit/tests/l10n/loadTextdomain.php
===================================================================
--- tests/phpunit/tests/l10n/loadTextdomain.php	(revision 49699)
+++ tests/phpunit/tests/l10n/loadTextdomain.php	(working copy)
@@ -39,14 +39,23 @@
 		return $locale;
 	}
 
+	/**
+	 * @covers ::is_textdomain_loaded
+	 */
 	public function test_is_textdomain_loaded() {
 		$this->assertFalse( is_textdomain_loaded( 'wp-tests-domain' ) );
 	}
 
+	/**
+	 * @covers ::unload_textdomain
+	 */
 	public function test_unload_textdomain() {
 		$this->assertFalse( unload_textdomain( 'wp-tests-domain' ) );
 	}
 
+	/**
+	 * @covers ::unload_textdomain
+	 */
 	public function test_load_textdomain() {
 		$loaded = load_textdomain( 'wp-tests-domain', DIR_TESTDATA . '/pomo/simple.mo' );
 
@@ -55,6 +64,9 @@
 		$this->assertTrue( $loaded );
 	}
 
+	/**
+	 * @covers ::unload_textdomain
+	 */
 	public function test_is_textdomain_loaded_after_loading() {
 		load_textdomain( 'wp-tests-domain', DIR_TESTDATA . '/pomo/simple.mo' );
 
@@ -65,6 +77,9 @@
 		$this->assertTrue( $loaded );
 	}
 
+	/**
+	 * @covers ::unload_textdomain
+	 */
 	public function test_unload_textdomain_after_loading() {
 		load_textdomain( 'wp-tests-domain', DIR_TESTDATA . '/pomo/simple.mo' );
 
@@ -71,6 +86,9 @@
 		$this->assertTrue( unload_textdomain( 'wp-tests-domain' ) );
 	}
 
+	/**
+	 * @covers ::is_textdomain_loaded
+	 */
 	public function test_is_textdomain_loaded_after_unloading() {
 		load_textdomain( 'wp-tests-domain', DIR_TESTDATA . '/pomo/simple.mo' );
 
@@ -81,6 +99,8 @@
 
 	/**
 	 * @ticket 21319
+	 *
+	 * @covers ::load_textdomain
 	 */
 	public function test_load_textdomain_non_existent_file() {
 		$this->assertFalse( load_textdomain( 'wp-tests-domain', DIR_TESTDATA . '/non-existent-file' ) );
@@ -88,6 +108,8 @@
 
 	/**
 	 * @ticket 21319
+	 *
+	 * @covers ::is_textdomain_loaded
 	 */
 	public function test_is_textdomain_loaded_non_existent_file() {
 		load_textdomain( 'wp-tests-domain', DIR_TESTDATA . '/non-existent-file' );
@@ -97,6 +119,8 @@
 
 	/**
 	 * @ticket 21319
+	 *
+	 * @covers ::get_translations_for_domain
 	 */
 	public function test_get_translations_for_domain_non_existent_file() {
 		load_textdomain( 'wp-tests-domain', DIR_TESTDATA . '/non-existent-file' );
@@ -106,6 +130,8 @@
 
 	/**
 	 * @ticket 21319
+	 *
+	 * @covers ::unload_textdomain
 	 */
 	public function test_unload_textdomain_non_existent_file() {
 		load_textdomain( 'wp-tests-domain', DIR_TESTDATA . '/non-existent-file' );
@@ -115,6 +141,8 @@
 
 	/**
 	 * @ticket 21319
+	 *
+	 * @covers ::is_textdomain_loaded
 	 */
 	function test_is_textdomain_is_not_loaded_after_gettext_call_with_no_translations() {
 		$this->assertFalse( is_textdomain_loaded( 'wp-tests-domain' ) );
@@ -122,6 +150,9 @@
 		$this->assertFalse( is_textdomain_loaded( 'wp-tests-domain' ) );
 	}
 
+	/**
+	 * @covers ::load_textdomain
+	 */
 	function test_override_load_textdomain_noop() {
 		add_filter( 'override_load_textdomain', '__return_true' );
 		$load_textdomain = load_textdomain( 'wp-tests-domain', DIR_TESTDATA . '/non-existent-file' );
@@ -131,6 +162,9 @@
 		$this->assertFalse( is_textdomain_loaded( 'wp-tests-domain' ) );
 	}
 
+	/**
+	 * @covers ::load_textdomain
+	 */
 	function test_override_load_textdomain_non_existent_mofile() {
 		add_filter( 'override_load_textdomain', array( $this, '_override_load_textdomain_filter' ), 10, 3 );
 		$load_textdomain = load_textdomain( 'wp-tests-domain', WP_LANG_DIR . '/non-existent-file.mo' );
@@ -145,6 +179,9 @@
 		$this->assertFalse( $is_textdomain_loaded_after );
 	}
 
+	/**
+	 * @covers ::load_textdomain
+	 */
 	function test_override_load_textdomain_custom_mofile() {
 		add_filter( 'override_load_textdomain', array( $this, '_override_load_textdomain_filter' ), 10, 3 );
 		$load_textdomain = load_textdomain( 'wp-tests-domain', WP_LANG_DIR . '/plugins/internationalized-plugin-de_DE.mo' );
@@ -187,6 +224,9 @@
 		return true;
 	}
 
+	/**
+	 * @covers ::load_muplugin_textdomain
+	 */
 	public function test_load_muplugin_textdomain_site_locale() {
 		load_muplugin_textdomain( 'wp-tests-domain' );
 
@@ -195,6 +235,8 @@
 
 	/**
 	 * @ticket 38485
+	 *
+	 * @covers ::load_muplugin_textdomain
 	 */
 	public function test_load_muplugin_textdomain_user_locale() {
 		set_current_screen( 'dashboard' );
@@ -207,6 +249,9 @@
 		$this->assertSame( get_user_locale(), $this->locale );
 	}
 
+	/**
+	 * @covers ::load_plugin_textdomain
+	 */
 	public function test_load_plugin_textdomain_site_locale() {
 		load_plugin_textdomain( 'wp-tests-domain' );
 
@@ -215,6 +260,8 @@
 
 	/**
 	 * @ticket 38485
+	 *
+	 * @covers ::load_plugin_textdomain
 	 */
 	public function test_load_plugin_textdomain_user_locale() {
 		set_current_screen( 'dashboard' );
@@ -227,6 +274,9 @@
 		$this->assertSame( get_user_locale(), $this->locale );
 	}
 
+	/**
+	 * @covers ::load_theme_textdomain
+	 */
 	public function test_load_theme_textdomain_site_locale() {
 		load_theme_textdomain( 'wp-tests-domain' );
 
@@ -235,6 +285,8 @@
 
 	/**
 	 * @ticket 38485
+	 *
+	 * @covers ::load_theme_textdomain
 	 */
 	public function test_load_theme_textdomain_user_locale() {
 		set_current_screen( 'dashboard' );
Index: tests/phpunit/tests/l10n/loadTextdomainJustInTime.php
===================================================================
--- tests/phpunit/tests/l10n/loadTextdomainJustInTime.php	(revision 49699)
+++ tests/phpunit/tests/l10n/loadTextdomainJustInTime.php	(working copy)
@@ -65,6 +65,8 @@
 
 	/**
 	 * @ticket 34114
+	 *
+	 * @covers ::is_textdomain_loaded
 	 */
 	public function test_plugin_translation_should_be_translated_without_calling_load_plugin_textdomain() {
 		add_filter( 'locale', array( $this, 'filter_set_locale_to_german' ) );
@@ -84,6 +86,8 @@
 
 	/**
 	 * @ticket 34114
+	 *
+	 * @covers ::is_textdomain_loaded
 	 */
 	public function test_theme_translation_should_be_translated_without_calling_load_theme_textdomain() {
 		add_filter( 'locale', array( $this, 'filter_set_locale_to_german' ) );
@@ -105,6 +109,8 @@
 
 	/**
 	 * @ticket 34114
+	 *
+	 * @covers ::get_translations_for_domain
 	 */
 	public function test_get_translations_for_domain_does_not_return_null_if_override_load_textdomain_is_used() {
 		add_filter( 'locale', array( $this, 'filter_set_locale_to_german' ) );
@@ -118,6 +124,8 @@
 
 	/**
 	 * @ticket 37113
+	 *
+	 * @covers ::is_textdomain_loaded
 	 */
 	public function test_should_allow_unloading_of_text_domain() {
 		add_filter( 'locale', array( $this, 'filter_set_locale_to_german' ) );
@@ -157,6 +165,8 @@
 
 	/**
 	 * @ticket 26511
+	 *
+	 * @covers ::switch_to_locale
 	 */
 	public function test_plugin_translation_after_switching_locale() {
 		require_once DIR_TESTDATA . '/plugins/internationalized-plugin.php';
@@ -170,6 +180,8 @@
 
 	/**
 	 * @ticket 37997
+	 *
+	 * @covers ::switch_to_locale
 	 */
 	public function test_plugin_translation_after_switching_locale_twice() {
 		require_once DIR_TESTDATA . '/plugins/internationalized-plugin.php';
@@ -188,6 +200,8 @@
 
 	/**
 	 * @ticket 26511
+	 *
+	 * @covers ::switch_to_locale
 	 */
 	public function test_theme_translation_after_switching_locale() {
 		switch_theme( 'internationalized-theme' );
@@ -205,6 +219,8 @@
 
 	/**
 	 * @ticket 38485
+	 *
+	 * @covers ::wp_set_current_user
 	 */
 	public function test_plugin_translation_with_user_locale() {
 		require_once DIR_TESTDATA . '/plugins/internationalized-plugin.php';
@@ -221,6 +237,8 @@
 
 	/**
 	 * @ticket 38485
+	 *
+	 * @covers ::wp_set_current_user
 	 */
 	public function test_theme_translation_with_user_locale() {
 		switch_theme( 'internationalized-theme' );
@@ -239,6 +257,8 @@
 
 	/**
 	 * @ticket 37997
+	 *
+	 * @covers ::__
 	 */
 	public function test_get_locale_is_called_only_once_per_textdomain() {
 		$textdomain = 'foo-bar-baz';
Index: tests/phpunit/tests/l10n/localeSwitcher.php
===================================================================
--- tests/phpunit/tests/l10n/localeSwitcher.php	(revision 49699)
+++ tests/phpunit/tests/l10n/localeSwitcher.php	(working copy)
@@ -35,10 +35,16 @@
 		parent::tearDown();
 	}
 
+	/**
+	 * @covers ::switch_to_locale
+	 */
 	public function test_switch_to_non_existent_locale_returns_false() {
 		$this->assertFalse( switch_to_locale( 'foo_BAR' ) );
 	}
 
+	/**
+	 * @covers ::switch_to_locale
+	 */
 	public function test_switch_to_non_existent_locale_does_not_change_locale() {
 		switch_to_locale( 'foo_BAR' );
 
@@ -45,6 +51,9 @@
 		$this->assertSame( 'en_US', get_locale() );
 	}
 
+	/**
+	 * @covers ::switch_to_locale
+	 */
 	public function test_switch_to_locale_returns_true() {
 		$expected = switch_to_locale( 'en_GB' );
 
@@ -54,6 +63,9 @@
 		$this->assertTrue( $expected );
 	}
 
+	/**
+	 * @covers ::switch_to_locale
+	 */
 	public function test_switch_to_locale_changes_the_locale() {
 		switch_to_locale( 'en_GB' );
 
@@ -65,6 +77,9 @@
 		$this->assertSame( 'en_GB', $locale );
 	}
 
+	/**
+	 * @covers ::switch_to_locale
+	 */
 	public function test_switch_to_locale_loads_translation() {
 		switch_to_locale( 'es_ES' );
 
@@ -76,6 +91,9 @@
 		$this->assertSame( 'Parámetro no válido. ', $actual );
 	}
 
+	/**
+	 * @covers ::switch_to_locale
+	 */
 	public function test_switch_to_locale_changes_wp_locale_global() {
 		global $wp_locale;
 
@@ -94,6 +112,9 @@
 		$this->assertSameSetsWithIndex( $expected, $wp_locale_de_de->number_format );
 	}
 
+	/**
+	 * @covers ::switch_to_locale
+	 */
 	public function test_switch_to_locale_en_US() {
 		switch_to_locale( 'en_GB' );
 		$locale_en_gb = get_locale();
@@ -107,6 +128,10 @@
 		$this->assertSame( 'en_US', $locale_en_us );
 	}
 
+	/**
+	 * @covers ::switch_to_locale
+	 * @covers ::restore_previous_locale
+	 */
 	public function test_switch_to_locale_multiple_times() {
 		switch_to_locale( 'en_GB' );
 		switch_to_locale( 'es_ES' );
@@ -119,6 +144,10 @@
 		$this->assertSame( 'es_ES', $locale );
 	}
 
+	/**
+	 * @covers ::switch_to_locale
+	 * @covers ::restore_previous_locale
+	 */
 	public function test_switch_to_locale_multiple_times_loads_translation() {
 		switch_to_locale( 'en_GB' );
 		switch_to_locale( 'de_DE' );
@@ -134,10 +163,17 @@
 		$this->assertSame( 'Parámetro no válido. ', $actual );
 	}
 
+	/**
+	 * @covers ::restore_previous_locale
+	 */
 	public function test_restore_previous_locale_without_switching() {
 		$this->assertFalse( restore_previous_locale() );
 	}
 
+	/**
+	 * @covers ::switch_to_locale
+	 * @covers ::restore_previous_locale
+	 */
 	public function test_restore_previous_locale_changes_the_locale_back() {
 		switch_to_locale( 'en_GB' );
 
@@ -147,6 +183,10 @@
 		$this->assertSame( 'en_US', get_locale() );
 	}
 
+	/**
+	 * @covers ::switch_to_locale
+	 * @covers ::restore_previous_locale
+	 */
 	public function test_restore_previous_locale_after_switching_multiple_times() {
 		switch_to_locale( 'en_GB' );
 		switch_to_locale( 'es_ES' );
@@ -160,6 +200,10 @@
 		$this->assertSame( 'en_GB', $locale );
 	}
 
+	/**
+	 * @covers ::switch_to_locale
+	 * @covers ::restore_previous_locale
+	 */
 	public function test_restore_previous_locale_restores_translation() {
 		switch_to_locale( 'es_ES' );
 		restore_previous_locale();
@@ -169,6 +213,10 @@
 		$this->assertSame( 'Invalid parameter.', $actual );
 	}
 
+	/**
+	 * @covers ::switch_to_locale
+	 * @covers ::restore_previous_locale
+	 */
 	public function test_restore_previous_locale_action_passes_previous_locale() {
 		switch_to_locale( 'en_GB' );
 		switch_to_locale( 'es_ES' );
@@ -185,6 +233,10 @@
 		$this->assertSame( 'es_ES', $previous_locale );
 	}
 
+	/**
+	 * @covers ::switch_to_locale
+	 * @covers ::restore_previous_locale
+	 */
 	public function test_restore_previous_locale_restores_wp_locale_global() {
 		global $wp_locale;
 
@@ -199,10 +251,17 @@
 		$this->assertSameSetsWithIndex( $expected, $wp_locale->number_format );
 	}
 
+	/**
+	 * @covers ::restore_previous_locale
+	 */
 	public function test_restore_current_locale_without_switching() {
 		$this->assertFalse( restore_current_locale() );
 	}
 
+	/**
+	 * @covers ::switch_to_locale
+	 * @covers ::restore_previous_locale
+	 */
 	public function test_restore_current_locale_after_switching_multiple_times() {
 		switch_to_locale( 'en_GB' );
 		switch_to_locale( 'nl_NL' );
@@ -218,10 +277,16 @@
 		$this->previous_locale = $previous_locale;
 	}
 
+	/**
+	 * @covers ::is_locale_switched
+	 */
 	public function test_is_locale_switched_if_not_switched() {
 		$this->assertFalse( is_locale_switched() );
 	}
 
+	/**
+	 * @covers ::is_locale_switched
+	 */
 	public function test_is_locale_switched_original_locale() {
 		$original_locale = get_locale();
 
@@ -235,6 +300,10 @@
 		$this->assertTrue( $is_locale_switched );
 	}
 
+	/**
+	 * @covers ::switch_to_locale
+	 * @covers ::restore_current_locale
+	 */
 	public function test_is_locale_switched() {
 		switch_to_locale( 'en_GB' );
 		switch_to_locale( 'nl_NL' );
@@ -246,6 +315,10 @@
 		$this->assertTrue( $is_locale_switched );
 	}
 
+	/**
+	 * @covers ::wp_set_current_user
+	 * @covers ::restore_current_locale
+	 */
 	public function test_switch_to_site_locale_if_user_locale_is_set() {
 		global $l10n, $wp_locale_switcher;
 
@@ -294,6 +367,10 @@
 		$this->assertSame( 'de_DE', $language_header_after_restore );
 	}
 
+	/**
+	 * @covers ::wp_set_current_user
+	 * @covers ::get_user_locale
+	 */
 	public function test_switch_to_different_site_locale_if_user_locale_is_set() {
 		global $l10n, $wp_locale_switcher;
 
@@ -347,6 +424,10 @@
 		$this->assertSame( 'de_DE', $language_header_after_restore );
 	}
 
+	/**
+	 * @covers ::wp_set_current_user
+	 * @covers ::get_user_locale
+	 */
 	public function test_multiple_switches_to_site_locale_and_user_locale() {
 		global $wp_locale_switcher;
 
