Make WordPress Core

Ticket #39265: p-folders.patch

File p-folders.patch, 133.7 KB (added by pbearne, 4 years ago)

p folders

  • tests/phpunit/tests/pomo/mo.php

     
    55 */
    66class Tests_POMO_MO extends WP_UnitTestCase {
    77
     8        /**
     9         * @covers MO::headers
     10         * @covers MO::import_from_file
     11         */
    812        function test_mo_simple() {
    913                $mo = new MO();
    1014                $mo->import_from_file( DIR_TESTDATA . '/pomo/simple.mo' );
     
    2024                $this->assertSame( array( 'yes' ), $mo->entries["kuku\nruku"]->translations );
    2125        }
    2226
     27        /**
     28         * @covers MO::translate_plural
     29         */
    2330        function test_mo_plural() {
    2431                $mo = new MO();
    2532                $mo->import_from_file( DIR_TESTDATA . '/pomo/plural.mo' );
     
    4653                $this->assertSame( 'twoey dragoney', $mo->translate_plural( 'one dragon', '%d dragons', -8 ) );
    4754        }
    4855
     56        /**
     57         * @covers Translation_Entry::context
     58         */
    4959        function test_mo_context() {
    5060                $mo = new MO();
    5161                $mo->import_from_file( DIR_TESTDATA . '/pomo/context.mo' );
     
    7383
    7484        }
    7585
     86        /**
     87         * @covers Translation_Entry::merge_with
     88         */
    7689        function test_translations_merge() {
    7790                $host = new Translations();
    7891                $host->add_entry( new Translation_Entry( array( 'singular' => 'pink' ) ) );
     
    8598                $this->assertSame( array(), array_diff( array( 'pink', 'green', 'red' ), array_keys( $host->entries ) ) );
    8699        }
    87100
     101        /**
     102         * @covers MO::export_to_file
     103         */
    88104        function test_export_mo_file() {
    89105                $entries              = array();
    90106                $entries[]            = new Translation_Entry(
     
    143159                }
    144160        }
    145161
     162        /**
     163         * @covers MO::export_to_file
     164         */
    146165        function test_export_should_not_include_empty_translations() {
    147166                $entries = array();
    148167                $mo      = new MO;
     
    162181                $this->assertSame( 0, count( $again->entries ) );
    163182        }
    164183
     184        /**
     185         * @covers MO::translate_plural
     186         */
    165187        function test_nplurals_with_backslashn() {
    166188                $mo = new MO();
    167189                $mo->import_from_file( DIR_TESTDATA . '/pomo/bad_nplurals.mo' );
     
    170192                $this->assertSame( '%d foros', $mo->translate_plural( '%d forum', '%d forums', -1 ) );
    171193        }
    172194
     195        /**
     196         * @covers MO::import_from_file
     197         */
    173198        function disabled_test_performance() {
    174199                $start = microtime( true );
    175200                $mo    = new MO();
     
    177202                // echo "\nPerformance: ".(microtime(true) - $start)."\n";
    178203        }
    179204
     205        /**
     206         * @covers Translation_Entry::translations
     207         */
    180208        function test_overloaded_mb_functions() {
    181209                if ( ( ini_get( 'mbstring.func_overload' ) & 2 ) === 0 ) {
    182210                        $this->markTestSkipped( __METHOD__ . ' only runs when mbstring.func_overload is enabled.' );
     
    187215                $this->assertSame( array( 'Табло' ), $mo->entries['Dashboard']->translations );
    188216        }
    189217
     218        /**
     219         * @covers MO::import_from_file
     220         */
    190221        function test_load_pot_file() {
    191222                $mo = new MO();
    192223                $this->assertFalse( $mo->import_from_file( DIR_TESTDATA . '/pomo/mo.pot' ) );
  • tests/phpunit/tests/pomo/noopTranslations.php

     
    1717                );
    1818        }
    1919
     20        /**
     21         * @covers NOOP_Translations::get_header
     22         */
    2023        function test_get_header() {
    2124                $this->assertFalse( $this->noop->get_header( 'Content-Type' ) );
    2225        }
    2326
     27        /**
     28         * @covers NOOP_Translations::add_entry
     29         */
    2430        function test_add_entry() {
    2531                $this->noop->add_entry( $this->entry );
    2632                $this->assertSame( array(), $this->noop->entries );
    2733        }
    2834
     35        /**
     36         * @covers NOOP_Translations::set_header
     37         */
    2938        function test_set_header() {
    3039                $this->noop->set_header( 'header', 'value' );
    3140                $this->assertSame( array(), $this->noop->headers );
    3241        }
    3342
     43        /**
     44         * @covers NOOP_Translations::translate_entry
     45         */
    3446        function test_translate_entry() {
    3547                $this->noop->add_entry( $this->entry );
    3648                $this->assertFalse( $this->noop->translate_entry( $this->entry ) );
    3749        }
    3850
     51        /**
     52         * @covers NOOP_Translations::translate
     53         */
    3954        function test_translate() {
    4055                $this->noop->add_entry( $this->entry );
    4156                $this->assertSame( 'baba', $this->noop->translate( 'baba' ) );
    4257        }
    4358
     59        /**
     60         * @covers NOOP_Translations::translate_plural
     61         */
    4462        function test_plural() {
    4563                $this->noop->add_entry( $this->plural_entry );
    4664                $this->assertSame( 'dyado', $this->noop->translate_plural( 'dyado', 'dyados', 1 ) );
  • tests/phpunit/tests/pomo/pluralForms.php

     
    4040        /**
    4141         * @ticket 41562
    4242         * @group external-http
     43         *
     44         * @covers GP_Locales::locales
    4345         */
    4446        public function test_locales_provider() {
    4547                $locales = self::locales_provider();
     
    7274         * @ticket 41562
    7375         * @dataProvider locales_provider
    7476         * @group external-http
     77         *
     78         * @covers Plural_Forms::__construct
    7579         */
    7680        public function test_regression( $lang, $nplurals, $expression ) {
    7781                require_once dirname( dirname( __DIR__ ) ) . '/includes/plural-form-function.php';
     
    145149        /**
    146150         * @ticket 41562
    147151         * @dataProvider simple_provider
     152         *
     153         * @covers Plural_Forms::__construct
    148154         */
    149155        public function test_simple( $expression, $expected ) {
    150156                $plural_forms = new Plural_Forms( $expression );
     
    201207         *
    202208         * @ticket 41562
    203209         * @dataProvider data_exceptions
     210         *
     211         * @covers Plural_Forms::__construct
    204212         */
    205213        public function test_exceptions( $expression, $expected_message, $call_get ) {
    206214                $this->expectException( 'Exception' );
  • tests/phpunit/tests/pomo/po.php

     
    4141                $this->po_a90  = "\"$this->a90\"";
    4242        }
    4343
     44        /**
     45         * @covers PO::prepend_each_line
     46         */
    4447        function test_prepend_each_line() {
    4548                $po = new PO();
    4649                $this->assertSame( 'baba_', $po->prepend_each_line( '', 'baba_' ) );
     
    4851                $this->assertSame( "# baba\n# dyado\n# \n", $po->prepend_each_line( "baba\ndyado\n\n", '# ' ) );
    4952        }
    5053
     54        /**
     55         * @covers PO::poify
     56         */
    5157        function test_poify() {
    5258                $po = new PO();
    5359                // Simple.
     
    6773                $this->assertSameIgnoreEOL( $this->po_mail, $po->poify( $this->mail ) );
    6874        }
    6975
     76        /**
     77         * @covers PO::unpoify
     78         */
    7079        function test_unpoify() {
    7180                $po = new PO();
    7281                $this->assertSame( 'baba', $po->unpoify( '"baba"' ) );
     
    7887                $this->assertSameIgnoreEOL( $this->mail, $po->unpoify( $this->po_mail ) );
    7988        }
    8089
     90        /**
     91         * @covers PO::export_entry
     92         */
    8193        function test_export_entry() {
    8294                $po    = new PO();
    8395                $entry = new Translation_Entry( array( 'singular' => 'baba' ) );
     
    203215                );
    204216        }
    205217
     218        /**
     219         * @covers PO::export_entries
     220         */
    206221        function test_export_entries() {
    207222                $entry  = new Translation_Entry( array( 'singular' => 'baba' ) );
    208223                $entry2 = new Translation_Entry( array( 'singular' => 'dyado' ) );
     
    212227                $this->assertSame( "msgid \"baba\"\nmsgstr \"\"\n\nmsgid \"dyado\"\nmsgstr \"\"", $po->export_entries() );
    213228        }
    214229
     230        /**
     231         * @covers PO::export_headers
     232         */
    215233        function test_export_headers() {
    216234                $po = new PO();
    217235                $po->set_header( 'Project-Id-Version', 'WordPress 2.6-bleeding' );
     
    219237                $this->assertSame( "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: WordPress 2.6-bleeding\\n\"\n\"POT-Creation-Date: 2008-04-08 18:00+0000\\n\"", $po->export_headers() );
    220238        }
    221239
     240        /**
     241         * @covers PO::export
     242         */
    222243        function test_export() {
    223244                $po     = new PO();
    224245                $entry  = new Translation_Entry( array( 'singular' => 'baba' ) );
     
    232253        }
    233254
    234255
     256        /**
     257         * @covers PO::export_to_file
     258         */
    235259        function test_export_to_file() {
    236260                $po     = new PO();
    237261                $entry  = new Translation_Entry( array( 'singular' => 'baba' ) );
     
    250274                $this->assertSame( $po->export(), file_get_contents( $temp_fn2 ) );
    251275        }
    252276
     277        /**
     278         * @covers PO::import_from_file
     279         */
    253280        function test_import_from_file() {
    254281                $po  = new PO();
    255282                $res = $po->import_from_file( DIR_TESTDATA . '/pomo/simple.po' );
     
    309336                $this->assertEquals( $end_quote_entry, $po->entries[ $end_quote_entry->key() ] );
    310337        }
    311338
     339        /**
     340         * @covers PO::import_from_file
     341         */
    312342        function test_import_from_entry_file_should_give_false() {
    313343                $po = new PO();
    314344                $this->assertFalse( $po->import_from_file( DIR_TESTDATA . '/pomo/empty.po' ) );
    315345        }
    316346
     347        /**
     348         * @covers PO::import_from_file
     349         */
    317350        function test_import_from_file_with_windows_line_endings_should_work_as_with_unix_line_endings() {
    318351                $po = new PO();
    319352                $this->assertTrue( $po->import_from_file( DIR_TESTDATA . '/pomo/windows-line-endings.po' ) );
  • tests/phpunit/tests/pomo/translationEntry.php

     
    55 */
    66class Tests_POMO_TranslationEntry extends WP_UnitTestCase {
    77
     8        /**
     9         * @covers Translation_Entry::singular
     10         * @covers Translation_Entry::plural
     11         * @covers Translation_Entry::is_plural
     12         * @covers Translation_Entry::translations
     13         * @covers Translation_Entry::references
     14         * @covers Translation_Entry::flags
     15         */
    816        function test_create_entry() {
    917                // No singular => empty object.
    1018                $entry = new Translation_Entry();
     
    2937                $this->assertSame( array(), $entry->flags );
    3038        }
    3139
     40        /**
     41         * @covers Translation_Entry::key
     42         */
    3243        function test_key() {
    3344                $entry_baba        = new Translation_Entry( array( 'singular' => 'baba' ) );
    3445                $entry_dyado       = new Translation_Entry( array( 'singular' => 'dyado' ) );
  • tests/phpunit/tests/pomo/translations.php

     
    55 */
    66class Tests_POMO_Translations extends WP_UnitTestCase {
    77
     8        /**
     9         * @covers Translation_Entry::add_entry
     10         */
    811        function test_add_entry() {
    912                $entry  = new Translation_Entry( array( 'singular' => 'baba' ) );
    1013                $entry2 = new Translation_Entry( array( 'singular' => 'dyado' ) );
     
    4245                $this->assertSame( $entry->key(), $entries[0]->key() );
    4346        }
    4447
     48        /**
     49         * @covers Translation_Entry::translate
     50         */
    4551        function test_translate() {
    4652                $entry1 = new Translation_Entry(
    4753                        array(
     
    6571                $this->assertSame( 'babaz', $domain->translate( 'babaz' ) );
    6672        }
    6773
     74        /**
     75         * @covers Translation_Entry::translate_plural
     76         */
    6877        function test_translate_plural() {
    6978                $entry_incomplete = new Translation_Entry(
    7079                        array(
     
    105114                $this->assertSame( 'dyadoy', $domain->translate_plural( 'dyado', 'dyados', -18881 ) );
    106115        }
    107116
     117        /**
     118         * @covers Translation_Entry::translate
     119         * @covers Translation_Entry::merge_with
     120         */
    108121        function test_digit_and_merge() {
    109122                $entry_digit_1 = new Translation_Entry(
    110123                        array(
  • tests/phpunit/tests/post/attachments.php

     
    1313                parent::tearDown();
    1414        }
    1515
     16        /**
     17         * @covers ::wp_upload_bits
     18         */
    1619        function test_insert_bogus_image() {
    1720                $filename = rand_str() . '.jpg';
    1821                $contents = rand_str();
     
    2124                $this->assertTrue( empty( $upload['error'] ) );
    2225        }
    2326
     27        /**
     28         * @covers ::wp_insert_attachment
     29         */
    2430        function test_insert_image_no_thumb() {
    2531
    2632                // This image is smaller than the thumbnail size so it won't have one.
     
    5662
    5763        /**
    5864         * @requires function imagejpeg
     65         *
     66         * @covers ::wp_insert_attachment
    5967         */
    6068        function test_insert_image_thumb_only() {
    6169                update_option( 'medium_size_w', 0 );
     
    107115
    108116        /**
    109117         * @requires function imagejpeg
     118         *
     119         * @covers ::wp_insert_attachment
    110120         */
    111121        function test_insert_image_medium_sizes() {
    112122                update_option( 'medium_size_w', 400 );
     
    164174
    165175        /**
    166176         * @requires function imagejpeg
     177         *
     178         * @covers ::wp_insert_attachment
    167179         */
    168180        function test_insert_image_delete() {
    169181                update_option( 'medium_size_w', 400 );
     
    212224         *
    213225         * @ticket 18310
    214226         * @ticket 21963
     227         *
     228         * @covers ::wp_insert_attachment
    215229         */
    216230        function test_insert_image_without_guid() {
    217231                // This image is smaller than the thumbnail size so it won't have one.
     
    256270
    257271        /**
    258272         * @ticket 29646
     273         *
     274         * @covers ::wp_insert_attachment
    259275         */
    260276        function test_update_orphan_attachment_parent() {
    261277                $filename = ( DIR_TESTDATA . '/images/test-image.jpg' );
     
    285301
    286302        /**
    287303         * @ticket 15928
     304         *
     305         * @covers ::wp_get_attachment_url
    288306         */
    289307        public function test_wp_get_attachment_url_should_not_force_https_when_current_page_is_non_ssl_and_siteurl_is_non_ssl() {
    290308                $siteurl = get_option( 'siteurl' );
     
    310328         * @ticket 15928
    311329         *
    312330         * This situation (current request is non-SSL but siteurl is https) should never arise.
     331         *
     332         * @covers ::wp_get_attachment_url
    313333         */
    314334        public function test_wp_get_attachment_url_should_not_force_https_when_current_page_is_non_ssl_and_siteurl_is_ssl() {
    315335                $siteurl = get_option( 'siteurl' );
     
    335355         * @ticket 15928
    336356         *
    337357         * Canonical siteurl is non-SSL, but SSL support is available/optional.
     358         *
     359         * @covers ::wp_get_attachment_url
    338360         */
    339361        public function test_wp_get_attachment_url_should_force_https_with_https_on_same_host_when_siteurl_is_non_ssl_but_ssl_is_available() {
    340362                $siteurl = get_option( 'siteurl' );
     
    363385
    364386        /**
    365387         * @ticket 15928
     388         *
     389         * @covers ::wp_get_attachment_url
    366390         */
    367391        public function test_wp_get_attachment_url_with_https_on_same_host_when_siteurl_is_https() {
    368392                $siteurl = get_option( 'siteurl' );
     
    391415
    392416        /**
    393417         * @ticket 15928
     418         *
     419         * @covers ::wp_get_attachment_url
    394420         */
    395421        public function test_wp_get_attachment_url_should_not_force_https_when_administering_over_https_but_siteurl_is_not_https() {
    396422                $siteurl = get_option( 'siteurl' );
     
    418444
    419445        /**
    420446         * @ticket 15928
     447         *
     448         * @covers ::wp_get_attachment_url
    421449         */
    422450        public function test_wp_get_attachment_url_should_force_https_when_administering_over_https_and_siteurl_is_https() {
    423451                // Set https upload URL.
     
    444472                $this->assertSame( 'https', parse_url( $url, PHP_URL_SCHEME ) );
    445473        }
    446474
     475        /**
     476         * @covers ::wp_attachment_is_image
     477         * @covers ::wp_attachment_is
     478         */
    447479        public function test_wp_attachment_is() {
    448480                $filename = DIR_TESTDATA . '/images/test-image.jpg';
    449481                $contents = file_get_contents( $filename );
     
    479511                }
    480512        }
    481513
     514        /**
     515         * @covers ::wp_upload_bits
     516         */
    482517        public function test_upload_mimes_filter_is_applied() {
    483518                $filename = DIR_TESTDATA . '/images/test-image.jpg';
    484519                $contents = file_get_contents( $filename );
     
    508543
    509544        /**
    510545         * @ticket 33012
     546         *
     547         * @covers ::wp_mime_type_icon
    511548         */
    512549        public function test_wp_mime_type_icon() {
    513550                $icon = wp_mime_type_icon();
     
    517554
    518555        /**
    519556         * @ticket 33012
     557         *
     558         * @covers ::wp_mime_type_icon
    520559         */
    521560        public function test_wp_mime_type_icon_video() {
    522561                $icon = wp_mime_type_icon( 'video/mp4' );
  • tests/phpunit/tests/post/bodyClass.php

     
    1212                $this->post_id = self::factory()->post->create();
    1313        }
    1414
     15        /**
     16         * @covers ::get_body_class
     17         */
    1518        public function test_body_class() {
    1619                $expected = 'class="' . implode( ' ', get_body_class( '', $this->post_id ) ) . '"';
    1720                $this->expectOutputString( $expected );
     
    1821                body_class( '', $this->post_id );
    1922        }
    2023
     24        /**
     25         * @covers ::get_body_class
     26         */
    2127        public function test_body_class_extra_esc_attr() {
    2228                $classes              = get_body_class( '', $this->post_id );
    2329                $escaped_again        = array_map( 'esc_attr', $classes );
  • tests/phpunit/tests/post/filtering.php

     
    2222                parent::tearDown();
    2323        }
    2424
    25         // A simple test to make sure unclosed tags are fixed.
     25        /**
     26         * A simple test to make sure unclosed tags are fixed.
     27         *
     28         * @covers ::wp_insert_post
     29         */
    2630        function test_post_content_unknown_tag() {
    2731
    2832                $content = <<<EOF
     
    3943                $this->assertSame( $expected, $post->post_content );
    4044        }
    4145
    42         // A simple test to make sure unbalanced tags are fixed.
     46        /**
     47         * A simple test to make sure unbalanced tags are fixed.
     48         *
     49         * @covers ::wp_insert_post
     50         */
    4351        function test_post_content_unbalanced_tag() {
    4452
    4553                $content = <<<EOF
     
    5664                $this->assertSame( $expected, $post->post_content );
    5765        }
    5866
    59         // Test KSES filtering of disallowed attribute.
     67        /**
     68         * Test KSES filtering of disallowed attribute.
     69         *
     70         * @covers ::wp_insert_post
     71         */
     72
    6073        function test_post_content_disallowed_attr() {
    6174
    6275                $content = <<<EOF
     
    7790         * test kses bug. xhtml does not require space before closing empty element
    7891         *
    7992         * @ticket 12394
     93         *
     94         * @covers ::wp_insert_post
    8095         */
    8196        function test_post_content_xhtml_empty_elem() {
    8297                $content = <<<EOF
     
    93108                $this->assertSame( $expected, $post->post_content );
    94109        }
    95110
    96         // Make sure unbalanced tags are untouched when the balance option is off.
     111        //
     112
     113        /**
     114         * Make sure unbalanced tags are untouched when the balance option is off.
     115         *
     116         *
     117         * @covers ::wp_insert_post
     118         */
    97119        function test_post_content_nobalance_nextpage_more() {
    98120
    99121                update_option( 'use_balanceTags', 0 );
  • tests/phpunit/tests/post/formats.php

     
    88                parent::setUp();
    99        }
    1010
     11        /**
     12         * @covers ::get_post_format
     13         */
    1114        function test_set_get_post_format_for_post() {
    1215                $post_id = self::factory()->post->create();
    1316
     
    3538
    3639        /**
    3740         * @ticket 22473
     41         *
     42         * @covers ::get_post_format
    3843         */
    3944        function test_set_get_post_format_for_page() {
    4045                $post_id = self::factory()->post->create( array( 'post_type' => 'page' ) );
     
    6873                remove_post_type_support( 'page', 'post-formats' );
    6974        }
    7075
     76        /**
     77         * @covers ::has_post_format
     78         */
    7179        function test_has_format() {
    7280                $post_id = self::factory()->post->create();
    7381
     
    96104
    97105        /**
    98106         * @ticket 23570
     107         *
     108         * @covers ::get_url_in_content
    99109         */
    100110        function test_get_url_in_content() {
    101111                $link                 = 'http://nytimes.com';
  • tests/phpunit/tests/post/getBodyClass.php

     
    1414
    1515        /**
    1616         * @ticket 30883
     17         *
     18         * @covers ::get_body_class
    1719         */
    1820        public function test_with_utf8_category_slugs() {
    1921                $cat_id1 = self::factory()->category->create( array( 'name' => 'Первая рубрика' ) );
  • tests/phpunit/tests/post/getLastPostDate.php

     
    77
    88        /**
    99         * @ticket 47777
     10         *
     11         * @covers ::get_lastpostdate
    1012         */
    1113        public function test_get_lastpostdate() {
    1214                $post_post_date_first = '2020-01-30 16:09:28';
  • tests/phpunit/tests/post/getLastPostModified.php

     
    77
    88        /**
    99         * @ticket 47777
     10         *
     11         * @covers ::get_lastpostmodified
    1012         */
    1113        public function test_get_lastpostmodified() {
    1214                global $wpdb;
  • tests/phpunit/tests/post/getPageByPath.php

     
    66class Tests_Post_GetPageByPath extends WP_UnitTestCase {
    77        /**
    88         * @ticket 15665
     9         *
     10         * @covers ::get_page_by_path
    911         */
    1012        public function test_get_page_by_path_priority() {
    1113                global $wpdb;
     
    4446                $this->assertEquals( $other_att, get_page_by_path( 'some-other-page' ) );
    4547        }
    4648
     49        /**
     50         * @covers ::get_page_by_path
     51         */
    4752        public function test_should_match_top_level_page() {
    4853                $page = self::factory()->post->create(
    4954                        array(
     
    5762                $this->assertSame( $page, $found->ID );
    5863        }
    5964
     65        /**
     66         * @covers ::get_page_by_path
     67         */
    6068        public function test_should_obey_post_type() {
    6169                register_post_type( 'wptests_pt' );
    6270
     
    7482                $this->assertSame( $page, $found->ID );
    7583        }
    7684
     85        /**
     86         * @covers ::get_page_by_path
     87         */
    7788        public function test_should_match_nested_page() {
    7889                $p1 = self::factory()->post->create(
    7990                        array(
     
    103114                $this->assertSame( $p3, $found->ID );
    104115        }
    105116
     117        /**
     118         * @covers ::get_page_by_path
     119         */
    106120        public function test_should_not_make_partial_match() {
    107121                $p1 = self::factory()->post->create(
    108122                        array(
     
    132146                $this->assertNull( $found );
    133147        }
    134148
     149        /**
     150         * @covers ::get_page_by_path
     151         */
    135152        public function test_should_not_match_parts_out_of_order() {
    136153                $p1 = self::factory()->post->create(
    137154                        array(
     
    163180
    164181        /**
    165182         * @ticket 36711
     183         *
     184         * @covers ::get_page_by_path
    166185         */
    167186        public function test_should_hit_cache() {
    168187                global $wpdb;
     
    187206
    188207        /**
    189208         * @ticket 36711
     209         *
     210         * @covers ::get_page_by_path
    190211         */
    191212        public function test_bad_path_should_be_cached() {
    192213                global $wpdb;
     
    204225
    205226        /**
    206227         * @ticket 36711
     228         *
     229         * @covers ::get_page_by_path
    207230         */
    208231        public function test_bad_path_served_from_cache_should_not_fall_back_on_current_post() {
    209232                global $wpdb, $post;
     
    226249
    227250        /**
    228251         * @ticket 36711
     252         *
     253         * @covers ::get_page_by_path
    229254         */
    230255        public function test_cache_should_not_match_post_in_different_post_type_with_same_path() {
    231256                global $wpdb;
     
    260285
    261286        /**
    262287         * @ticket 36711
     288         *
     289         * @covers ::get_page_by_path
    263290         */
    264291        public function test_cache_should_be_invalidated_when_post_name_is_edited() {
    265292                global $wpdb;
     
    292319
    293320        /**
    294321         * @ticket 37611
     322         *
     323         * @covers ::get_page_by_path
    295324         */
    296325        public function test_output_param_should_be_obeyed_for_cached_value() {
    297326                $page = self::factory()->post->create(
  • tests/phpunit/tests/post/getPageChildren.php

     
    6565                );
    6666        }
    6767
     68        /**
     69         * @covers ::get_page_children
     70         */
    6871        public function test_page_id_0_should_return_all_pages_in_tree_and_exclude_pages_not_in_tree() {
    6972                $expected = array( 100, 101, 102, 103, 105, 106, 107, 108 );
    7073                $actual   = get_page_children( 0, $this->pages );
     
    7174                $this->assertSameSets( $expected, wp_list_pluck( $actual, 'ID' ) );
    7275        }
    7376
     77        /**
     78         * @covers ::get_page_children
     79         */
    7480        public function test_hierarchical_order_should_be_respected_in_results() {
    7581                $expected = array( 100, 101, 103, 102, 106, 107, 108, 105 );
    7682                $actual   = get_page_children( 0, $this->pages );
     
    7783                $this->assertSame( $expected, wp_list_pluck( $actual, 'ID' ) );
    7884        }
    7985
     86        /**
     87         * @covers ::get_page_children
     88         */
    8089        public function test_not_all_pages_should_be_returned_when_page_id_is_in_the_middle_of_the_tree() {
    8190                $expected = array( 106, 107, 108 );
    8291                $actual   = get_page_children( 102, $this->pages );
     
    8392                $this->assertSame( $expected, wp_list_pluck( $actual, 'ID' ) );
    8493        }
    8594
     95        /**
     96         * @covers ::get_page_children
     97         */
    8698        public function test_page_id_that_is_a_leaf_should_return_empty_array() {
    8799                $actual = get_page_children( 103, $this->pages );
    88100                $this->assertSame( array(), $actual );
    89101        }
    90102
     103        /**
     104         * @covers ::get_page_children
     105         */
    91106        public function test_nonzero_page_id_not_matching_any_actual_post_id_should_return_empty_array() {
    92107                $actual = get_page_children( 200, $this->pages );
    93108                $this->assertSame( array(), $actual );
  • tests/phpunit/tests/post/getPages.php

     
    1111
    1212        /**
    1313         * @ticket 23167
     14         *
     15         * @covers ::get_pages
    1416         */
    1517        function test_get_pages_cache() {
    1618                global $wpdb;
     
    105107
    106108        /**
    107109         * @ticket 40669
     110         *
     111         * @covers ::get_pages
    108112         */
    109113        public function test_cache_should_be_invalidated_by_add_post_meta() {
    110114                $posts = self::factory()->post->create_many(
     
    141145
    142146        /**
    143147         * @ticket 40669
     148         *
     149         * @covers ::get_pages
    144150         */
    145151        public function test_cache_should_be_invalidated_by_update_post_meta() {
    146152                $posts = self::factory()->post->create_many(
     
    178184
    179185        /**
    180186         * @ticket 40669
     187         *
     188         * @covers ::get_pages
    181189         */
    182190        public function test_cache_should_be_invalidated_by_delete_post_meta() {
    183191                $posts = self::factory()->post->create_many(
     
    215223
    216224        /**
    217225         * @ticket 40669
     226         *
     227         * @covers ::get_pages
    218228         */
    219229        public function test_cache_should_be_invalidated_by_delete_post_meta_by_key() {
    220230                $posts = self::factory()->post->create_many(
     
    252262
    253263        /**
    254264         * @ticket 20376
     265         *
     266         * @covers ::get_pages
    255267         */
    256268        function test_get_pages_meta() {
    257269                $posts = self::factory()->post->create_many( 3, array( 'post_type' => 'page' ) );
     
    286298
    287299        /**
    288300         * @ticket 22074
     301         *
     302         * @covers ::get_pages
    289303         */
    290304        function test_get_pages_include_exclude() {
    291305                $page_ids = array();
     
    312326
    313327        /**
    314328         * @ticket 9470
     329         *
     330         * @covers ::get_pages
    315331         */
    316332        function test_get_pages_parent() {
    317333                $page_id1 = self::factory()->post->create( array( 'post_type' => 'page' ) );
     
    370386
    371387        /**
    372388         * @ticket 22389
     389         *
     390         * @covers ::get_pages
    373391         */
    374392        function test_wp_dropdown_pages() {
    375393                self::factory()->post->create_many( 5, array( 'post_type' => 'page' ) );
     
    381399
    382400        /**
    383401         * @ticket 22208
     402         *
     403         * @covers ::get_pages
    384404         */
    385405        function test_get_chidren_fields_ids() {
    386406                $post_id   = self::factory()->post->create();
     
    397417
    398418        /**
    399419         * @ticket 25750
     420         *
     421         * @covers ::get_pages
    400422         */
    401423        function test_get_pages_hierarchical_and_no_parent() {
    402424                global $wpdb;
     
    447469
    448470        /**
    449471         * @ticket 18701
     472         *
     473         * @covers ::get_pages
    450474         */
    451475        public function test_get_pages_hierarchical_empty_child_of() {
    452476                $page_1 = self::factory()->post->create( array( 'post_type' => 'page' ) );
     
    493517
    494518        /**
    495519         * @ticket 18701
     520         *
     521         * @covers ::get_pages
    496522         */
    497523        public function test_get_pages_non_hierarchical_empty_child_of() {
    498524                $page_1 = self::factory()->post->create( array( 'post_type' => 'page' ) );
     
    529555
    530556        /**
    531557         * @ticket 18701
     558         *
     559         * @covers ::get_pages
    532560         */
    533561        public function test_get_pages_hierarchical_non_empty_child_of() {
    534562                $page_1 = self::factory()->post->create( array( 'post_type' => 'page' ) );
     
    572600
    573601        /**
    574602         * @ticket 18701
     603         *
     604         * @covers ::get_pages
    575605         */
    576606        public function test_get_pages_non_hierarchical_non_empty_child_of() {
    577607                $page_1 = self::factory()->post->create( array( 'post_type' => 'page' ) );
     
    622652
    623653        }
    624654
     655        /**
     656         * @covers ::wp_list_pages
     657         */
    625658        function test_wp_list_pages_classes() {
    626659                $type = 'taco';
    627660                register_post_type(
     
    655688                _unregister_post_type( $type );
    656689        }
    657690
     691        /**
     692         * @covers ::get_pages
     693         */
    658694        function test_exclude_tree() {
    659695                $post_id1 = self::factory()->post->create( array( 'post_type' => 'page' ) );
    660696                $post_id2 = self::factory()->post->create(
     
    704740
    705741        /**
    706742         * @ticket 43514
     743         *
     744         * @covers ::get_pages
    707745         */
    708746        function test_get_pages_cache_empty() {
    709747                global $wpdb;
  • tests/phpunit/tests/post/getPageUri.php

     
    77
    88        /**
    99         * @ticket 22883
     10         *
     11         * @covers ::get_page_uri
    1012         */
    1113        function test_get_page_uri_with_stdclass_post_object() {
    1214                $post_id = self::factory()->post->create( array( 'post_name' => 'get-page-uri-post-name' ) );
     
    2123
    2224        /**
    2325         * @ticket 24491
     26         *
     27         * @covers ::get_page_uri
    2428         */
    2529        function test_get_page_uri_with_nonexistent_post() {
    2630                global $wpdb;
     
    3034
    3135        /**
    3236         * @ticket 15963
     37         *
     38         * @covers ::get_page_uri
    3339         */
    3440        function test_get_post_uri_check_orphan() {
    3541                $parent_id = self::factory()->post->create( array( 'post_name' => 'parent' ) );
     
    5359
    5460        /**
    5561         * @ticket 36174
     62         *
     63         * @covers ::get_page_uri
    5664         */
    5765        function test_get_page_uri_with_a_draft_parent_with_empty_slug() {
    5866                $parent_id = self::factory()->post->create( array( 'post_name' => 'parent' ) );
     
    7684
    7785        /**
    7886         * @ticket 26284
     87         *
     88         * @covers ::get_page_uri
    7989         */
    8090        function test_get_page_uri_without_argument() {
    8191                $post_id = self::factory()->post->create(
  • tests/phpunit/tests/post/getPostClass.php

     
    1212                $this->post_id = self::factory()->post->create();
    1313        }
    1414
     15        /**
     16         * @covers ::get_post_class
     17         */
    1518        public function test_with_tags() {
    1619                wp_set_post_terms( $this->post_id, array( 'foo', 'bar' ), 'post_tag' );
    1720
     
    2124                $this->assertContains( 'tag-bar', $found );
    2225        }
    2326
     27        /**
     28         * @covers ::get_post_class
     29         */
    2430        public function test_with_categories() {
    2531                $cats = self::factory()->category->create_many( 2 );
    2632                wp_set_post_terms( $this->post_id, $cats, 'category' );
     
    3440                $this->assertContains( 'category-' . $cat1->slug, $found );
    3541        }
    3642
     43        /**
     44         * @covers ::get_post_class
     45         */
    3746        public function test_with_custom_taxonomy() {
    3847                register_taxonomy( 'wptests_tax', 'post' );
    3948                wp_set_post_terms( $this->post_id, array( 'foo', 'bar' ), 'wptests_tax' );
     
    4655
    4756        /**
    4857         * @ticket 22271
     58         *
     59         * @covers ::get_post_class
    4960         */
    5061        public function test_with_custom_classes_and_no_post() {
    5162                $this->assertSame( array(), get_post_class( '', null ) );
     
    5566
    5667        /**
    5768         * @ticket 30883
     69         *
     70         * @covers ::get_post_class
    5871         */
    5972        public function test_with_utf8_category_slugs() {
    6073                $cat_id1 = self::factory()->category->create( array( 'name' => 'Первая рубрика' ) );
     
    7184
    7285        /**
    7386         * @ticket 30883
     87         *
     88         * @covers ::get_post_class
    7489         */
    7590        public function test_with_utf8_tag_slugs() {
    7691                $tag_id1 = self::factory()->tag->create( array( 'name' => 'Первая метка' ) );
     
    87102
    88103        /**
    89104         * @ticket 30883
     105         *
     106         * @covers ::get_post_class
    90107         */
    91108        public function test_with_utf8_term_slugs() {
    92109                register_taxonomy( 'wptests_tax', 'post' );
     
    119136
    120137        /**
    121138         * @group cache
     139         *
     140         * @covers ::get_post_class
    122141         */
    123142        public function test_taxonomy_classes_hit_cache() {
    124143                global $wpdb;
  • tests/phpunit/tests/post/getPosts.php

     
    55 * @group query
    66 */
    77class Tests_Post_GetPosts extends WP_UnitTestCase {
     8
     9        /**
     10         * @covers ::get_posts
     11         */
    812        public function test_offset_should_be_null_by_default() {
    913                $p1 = self::factory()->post->create(
    1014                        array(
     
    2933                $this->assertSame( array( $p1 ), $found );
    3034        }
    3135
     36        /**
     37         * @covers ::get_posts
     38         */
    3239        public function test_offset_0_should_be_respected() {
    3340                $p1 = self::factory()->post->create(
    3441                        array(
     
    5461                $this->assertSame( array( $p1 ), $found );
    5562        }
    5663
     64        /**
     65         * @covers ::get_posts
     66         */
    5767        public function test_offset_non_0_should_be_respected() {
    5868                $p1 = self::factory()->post->create(
    5969                        array(
     
    8191
    8292        /**
    8393         * @ticket 34060
     94         *
     95         * @covers ::get_posts
    8496         */
    8597        public function test_paged_should_not_be_overridden_by_default_offset() {
    8698                $p1 = self::factory()->post->create(
     
    107119                $this->assertSame( array( $p2 ), $found );
    108120        }
    109121
     122        /**
     123         * @covers ::get_posts
     124         */
    110125        public function test_explicit_offset_0_should_override_paged() {
    111126                $p1 = self::factory()->post->create(
    112127                        array(
     
    133148                $this->assertSame( array( $p1 ), $found );
    134149        }
    135150
     151        /**
     152         * @covers ::get_posts
     153         */
    136154        public function test_explicit_offset_non_0_should_override_paged() {
    137155                $p1 = self::factory()->post->create(
    138156                        array(
  • tests/phpunit/tests/post/getPostsByAuthorSql.php

     
    55 */
    66class Tests_Post_GetPostsByAuthorSql extends WP_UnitTestCase {
    77
     8        /**
     9         * @covers ::get_posts_by_author_sql
     10         */
    811        public function test_post_type_post() {
    912                $maybe_string = get_posts_by_author_sql( 'post' );
    1013                $this->assertContains( "post_type = 'post'", $maybe_string );
    1114        }
    1215
     16        /**
     17         * @covers ::get_posts_by_author_sql
     18         */
    1319        public function test_post_type_page() {
    1420                $maybe_string = get_posts_by_author_sql( 'page' );
    1521                $this->assertContains( "post_type = 'page'", $maybe_string );
    1622        }
    1723
     24        /**
     25         * @covers ::get_posts_by_author_sql
     26         */
    1827        public function test_non_existent_post_type() {
    1928                $maybe_string = get_posts_by_author_sql( 'non_existent_post_type' );
    2029                $this->assertContains( '1 = 0', $maybe_string );
    2130        }
    2231
     32        /**
     33         * @covers ::get_posts_by_author_sql
     34         */
    2335        public function test_multiple_post_types() {
    2436                register_post_type( 'foo' );
    2537                register_post_type( 'bar' );
     
    3244                _unregister_post_type( 'bar' );
    3345        }
    3446
     47        /**
     48         * @covers ::get_posts_by_author_sql
     49         */
    3550        public function test_full_true() {
    3651                $maybe_string = get_posts_by_author_sql( 'post', true );
    3752                $this->assertRegExp( '/^WHERE /', $maybe_string );
    3853        }
    3954
     55        /**
     56         * @covers ::get_posts_by_author_sql
     57         */
    4058        public function test_full_false() {
    4159                $maybe_string = get_posts_by_author_sql( 'post', false );
    4260                $this->assertNotRegExp( '/^WHERE /', $maybe_string );
    4361        }
    4462
     63        /**
     64         * @covers ::get_posts_by_author_sql
     65         */
    4566        public function test_post_type_clause_should_be_included_when_full_is_true() {
    4667                $maybe_string = get_posts_by_author_sql( 'post', true );
    4768                $this->assertContains( "post_type = 'post'", $maybe_string );
    4869        }
    4970
     71        /**
     72         * @covers ::get_posts_by_author_sql
     73         */
    5074        public function test_post_type_clause_should_be_included_when_full_is_false() {
    5175                $maybe_string = get_posts_by_author_sql( 'post', false );
    5276                $this->assertContains( "post_type = 'post'", $maybe_string );
    5377        }
    5478
     79        /**
     80         * @covers ::get_posts_by_author_sql
     81         */
    5582        public function test_post_author_should_create_post_author_clause() {
    5683                $maybe_string = get_posts_by_author_sql( 'post', true, 1 );
    5784                $this->assertContains( 'post_author = 1', $maybe_string );
    5885        }
    5986
     87        /**
     88         * @covers ::get_posts_by_author_sql
     89         */
    6090        public function test_public_only_true_should_not_allow_any_private_posts_for_loggedin_user() {
    6191                $current_user = get_current_user_id();
    6292                $u            = self::factory()->user->create();
     
    6898                wp_set_current_user( $current_user );
    6999        }
    70100
     101        /**
     102         * @covers ::get_posts_by_author_sql
     103         */
    71104        public function test_public_only_should_default_to_false() {
    72105                $current_user = get_current_user_id();
    73106                $u            = self::factory()->user->create();
     
    78111                wp_set_current_user( $current_user );
    79112        }
    80113
     114        /**
     115         * @covers ::get_posts_by_author_sql
     116         */
    81117        public function test_public_only_false_should_allow_current_user_access_to_own_private_posts_when_current_user_matches_post_author() {
    82118                $current_user = get_current_user_id();
    83119                $u            = self::factory()->user->create();
     
    89125                wp_set_current_user( $current_user );
    90126        }
    91127
     128        /**
     129         * @covers ::get_posts_by_author_sql
     130         */
    92131        public function test_public_only_false_should_not_allow_access_to_private_posts_if_current_user_is_not_post_author() {
    93132                $current_user = get_current_user_id();
    94133                $u1           = self::factory()->user->create();
     
    101140                wp_set_current_user( $current_user );
    102141        }
    103142
     143        /**
     144         * @covers ::get_posts_by_author_sql
     145         */
    104146        public function test_public_only_false_should_allow_current_user_access_to_own_private_posts_when_post_author_is_not_provided() {
    105147                $current_user = get_current_user_id();
    106148                $u            = self::factory()->user->create();
     
    113155                wp_set_current_user( $current_user );
    114156        }
    115157
     158        /**
     159         * @covers ::get_posts_by_author_sql
     160         */
    116161        public function test_administrator_should_have_access_to_private_posts_when_public_only_is_false() {
    117162                $current_user = get_current_user_id();
    118163                $u            = self::factory()->user->create( array( 'role' => 'administrator' ) );
     
    125170                wp_set_current_user( $current_user );
    126171        }
    127172
     173        /**
     174         * @covers ::get_posts_by_author_sql
     175         */
    128176        public function test_user_has_access_only_to_private_posts_for_certain_post_types() {
    129177                register_post_type( 'foo', array( 'capabilities' => array( 'read_private_posts' => 'read_private_foo' ) ) );
    130178                register_post_type( 'bar', array( 'capabilities' => array( 'read_private_posts' => 'read_private_bar' ) ) );
  • tests/phpunit/tests/post/getPostTypeLabels.php

     
    44 * @group post
    55 */
    66class Tests_Post_GetPostTypeLabels extends WP_UnitTestCase {
     7
     8        /**
     9         * @covers ::get_post_type_labels
     10         */
    711        public function test_returns_an_object() {
    812                $this->assertInternalType(
    913                        'object',
     
    1721                );
    1822        }
    1923
     24        /**
     25         * @covers ::get_post_type_labels
     26         */
    2027        public function test_returns_hierachical_labels() {
    2128                $labels = get_post_type_labels(
    2229                        (object) array(
     
    2936                $this->assertSame( 'Pages', $labels->name );
    3037        }
    3138
     39        /**
     40         * @covers ::get_post_type_labels
     41         */
    3242        public function test_existing_labels_are_not_overridden() {
    3343                $labels = get_post_type_labels(
    3444                        (object) array(
     
    4353                $this->assertSame( 'Foo', $labels->singular_name );
    4454        }
    4555
     56        /**
     57         * @covers ::get_post_type_labels
     58         */
    4659        public function test_name_admin_bar_label_should_fall_back_to_singular_name() {
    4760                $labels = get_post_type_labels(
    4861                        (object) array(
     
    5871        }
    5972
    6073
     74        /**
     75         * @covers ::get_post_type_labels
     76         */
    6177        public function test_name_admin_bar_label_should_fall_back_to_post_type_name() {
    6278                $labels = get_post_type_labels(
    6379                        (object) array(
     
    7086                $this->assertSame( 'bar', $labels->name_admin_bar );
    7187        }
    7288
     89        /**
     90         * @covers ::get_post_type_labels
     91         */
    7392        public function test_menu_name_should_fall_back_to_name() {
    7493                $labels = get_post_type_labels(
    7594                        (object) array(
     
    84103                $this->assertSame( 'Bar', $labels->menu_name );
    85104        }
    86105
     106        /**
     107         * @covers ::get_post_type_labels
     108         */
    87109        public function test_labels_should_be_added_when_registering_a_post_type() {
    88110                $post_type_object = register_post_type(
    89111                        'foo',
     
    101123                $this->assertObjectHasAttribute( 'not_found_in_trash', $post_type_object->labels );
    102124        }
    103125
     126        /**
     127         * @covers ::get_post_type_labels
     128         */
    104129        public function test_label_should_be_derived_from_labels_when_registering_a_post_type() {
    105130                $post_type_object = register_post_type(
    106131                        'foo',
     
    118143
    119144        /**
    120145         * @ticket 33543
     146         *
     147         * @covers ::get_post_type_labels
    121148         */
    122149        public function test_should_fall_back_on_defaults_when_filtered_labels_do_not_contain_the_keys() {
    123150                add_filter( 'post_type_labels_foo', array( $this, 'filter_post_type_labels' ) );
  • tests/phpunit/tests/post/getTheContent.php

     
    77class Tests_Post_GetTheContent extends WP_UnitTestCase {
    88        /**
    99         * @ticket 42814
     10         *
     11         * @covers ::get_the_content
    1012         */
    1113        public function test_argument_back_compat_more_link_text() {
    1214                $text = 'Foo<!--more-->Bar';
     
    2426
    2527        /**
    2628         * @ticket 42814
     29         *
     30         * @covers ::get_the_content
    2731         */
    2832        public function test_argument_back_compat_strip_teaser() {
    2933                $text = 'Foo<!--more-->Bar';
     
    4347
    4448        /**
    4549         * @ticket 42814
     50         *
     51         * @covers ::get_the_content
    4652         */
    4753        public function test_content_other_post() {
    4854                $text_1 = 'Foo<!--nextpage-->Bar<!--nextpage-->Baz';
     
    5864
    5965        /**
    6066         * @ticket 42814
     67         *
     68         * @covers ::get_the_content
    6169         */
    6270        public function test_should_respect_pagination_of_inner_post() {
    6371                $text_1 = 'Foo<!--nextpage-->Bar<!--nextpage-->Baz';
     
    7886
    7987        /**
    8088         * @ticket 47824
     89         *
     90         * @covers ::get_the_content
    8191         */
    8292        public function test_should_fall_back_to_post_global_outside_of_the_loop() {
    8393                $GLOBALS['post'] = self::factory()->post->create( array( 'post_content' => 'Foo' ) );
  • tests/phpunit/tests/post/getTheExcerpt.php

     
    88
    99        /**
    1010         * @ticket 27246
     11         *
     12         * @covers ::get_the_excerpt
    1113         */
    1214        public function test_the_excerpt_invalid_post() {
    1315                $this->assertSame( '', get_echo( 'the_excerpt' ) );
     
    1719        /**
    1820         * @ticket 27246
    1921         * @expectedDeprecated get_the_excerpt
     22         *
     23         * @covers ::get_the_excerpt
    2024         */
    2125        public function test_the_excerpt_deprecated() {
    2226                $this->assertSame( '', get_the_excerpt( true ) );
     
    2529
    2630        /**
    2731         * @ticket 27246
     32         *
     33         * @covers ::get_the_excerpt
    2834         */
    2935        public function test_the_excerpt() {
    3036                $GLOBALS['post'] = self::factory()->post->create_and_get( array( 'post_excerpt' => 'Post excerpt' ) );
     
    3541        /**
    3642         * @ticket 27246
    3743         * @ticket 35486
     44         *
     45         * @covers ::get_the_excerpt
    3846         */
    3947        public function test_the_excerpt_password_protected_post() {
    4048                $post = self::factory()->post->create_and_get(
     
    5159
    5260        /**
    5361         * @ticket 27246
     62         *
     63         * @covers ::get_the_excerpt
    5464         */
    5565        public function test_the_excerpt_specific_post() {
    5666                $GLOBALS['post'] = self::factory()->post->create_and_get( array( 'post_excerpt' => 'Foo' ) );
     
    6070
    6171        /**
    6272         * @ticket 42814
     73         *
     74         * @covers ::get_the_excerpt
    6375         */
    6476        public function test_should_fall_back_on_post_content_if_excerpt_is_empty_and_post_is_inferred_from_context() {
    6577                $post_id = self::factory()->post->create(
     
    8597
    8698        /**
    8799         * @ticket 42814
     100         *
     101         * @covers ::get_the_excerpt
    88102         */
    89103        public function test_should_fall_back_on_post_content_if_excerpt_is_empty_and_post_is_provided() {
    90104                $GLOBALS['post'] = self::factory()->post->create_and_get(
     
    98112
    99113        /**
    100114         * @ticket 42814
     115         *
     116         * @covers ::get_the_excerpt
    101117         */
    102118        public function test_should_respect_post_parameter_in_the_loop() {
    103119                $p1 = self::factory()->post->create_and_get( array( 'post_excerpt' => 'Foo' ) );
     
    118134
    119135        /**
    120136         * @ticket 42814
     137         *
     138         * @covers ::get_the_excerpt
    121139         */
    122140        public function test_should_respect_post_parameter_in_the_loop_when_falling_back_on_post_content() {
    123141                $p1 = self::factory()->post->create_and_get(
  • tests/phpunit/tests/post/isPostTypeViewable.php

     
    44 * @group post
    55 */
    66class Tests_Post_IsPostTypeViewable extends WP_UnitTestCase {
     7
     8        /**
     9         * @covers ::is_post_type_viewable
     10         */
    711        public function test_should_return_false_for_non_publicly_queryable_types() {
    812                register_post_type(
    913                        'wptests_pt',
     
    1923                $this->assertFalse( is_post_type_viewable( $pt ) );
    2024        }
    2125
     26        /**
     27         * @covers ::is_post_type_viewable
     28         */
    2229        public function test_should_return_true_for_publicly_queryable_types() {
    2330                register_post_type(
    2431                        'wptests_pt',
     
    3441                $this->assertTrue( is_post_type_viewable( $pt ) );
    3542        }
    3643
     44        /**
     45         * @covers ::is_post_type_viewable
     46         */
    3747        public function test_should_return_false_for_builtin_nonpublic_types() {
    3848                register_post_type(
    3949                        'wptests_pt',
     
    4959                $this->assertFalse( is_post_type_viewable( $pt ) );
    5060        }
    5161
     62        /**
     63         * @covers ::is_post_type_viewable
     64         */
    5265        public function test_should_return_false_for_nonbuiltin_public_types() {
    5366                register_post_type(
    5467                        'wptests_pt',
     
    6477                $this->assertFalse( is_post_type_viewable( $pt ) );
    6578        }
    6679
     80        /**
     81         * @covers ::is_post_type_viewable
     82         */
    6783        public function test_should_return_true_for_builtin_public_types() {
    6884                register_post_type(
    6985                        'wptests_pt',
     
    7995                $this->assertTrue( is_post_type_viewable( $pt ) );
    8096        }
    8197
     98        /**
     99         * @covers ::is_post_type_viewable
     100         */
    82101        public function test_postpage_should_be_viewable() {
    83102                $post = get_post_type_object( 'post' );
    84103                $this->assertTrue( is_post_type_viewable( $post ) );
     
    89108
    90109        /**
    91110         * @ticket 35609
     111         *
     112         * @covers ::is_post_type_viewable
    92113         */
    93114        public function test_should_accept_post_type_name() {
    94115                register_post_type(
     
    105126
    106127        /**
    107128         * @ticket 35609
     129         *
     130         * @covers ::is_post_type_viewable
    108131         */
    109132        public function test_should_return_false_for_bad_post_type_name() {
    110133                $this->assertFalse( is_post_type_viewable( 'foo' ) );
  • tests/phpunit/tests/post/meta.php

     
    4444                self::delete_user( self::$author );
    4545        }
    4646
     47        /**
     48         * @covers ::add_post_meta
     49         */
    4750        function test_unique_postmeta() {
    4851                // Add a unique post meta item.
    4952                $this->assertInternalType( 'integer', add_post_meta( self::$post_id, 'unique', 'value', true ) );
     
    6770
    6871        }
    6972
     73        /**
     74         * @covers ::add_post_meta
     75         */
    7076        function test_nonunique_postmeta() {
    7177                // Add two non-unique post meta items.
    7278                $this->assertInternalType( 'integer', add_post_meta( self::$post_id, 'nonunique', 'value' ) );
     
    104110                $this->assertTrue( delete_post_meta_by_key( 'nonunique' ) );
    105111        }
    106112
     113        /**
     114         * @covers ::update_post_meta
     115         */
    107116        function test_update_post_meta() {
    108117                // Add a unique post meta item.
    109118                $this->assertInternalType( 'integer', add_post_meta( self::$post_id, 'unique_update', 'value', true ) );
     
    131140
    132141        }
    133142
     143        /**
     144         * @covers ::delete_post_meta
     145         */
    134146        function test_delete_post_meta() {
    135147                // Add two unique post meta items.
    136148                $this->assertInternalType( 'integer', add_post_meta( self::$post_id, 'unique_delete', 'value', true ) );
     
    148160
    149161        }
    150162
     163        /**
     164         * @covers ::delete_post_meta
     165         */
    151166        function test_delete_post_meta_by_key() {
    152167                // Add two unique post meta items.
    153168                $this->assertInternalType( 'integer', add_post_meta( self::$post_id, 'unique_delete_by_key', 'value', true ) );
     
    165180                $this->assertSame( '', get_post_meta( self::$post_id_2, 'unique_delete_by_key', true ) );
    166181        }
    167182
     183        /**
     184         * @covers ::get_post_meta_by_id
     185         */
    168186        function test_get_post_meta_by_id() {
    169187                $mid = add_post_meta( self::$post_id, 'get_post_meta_by_key', 'get_post_meta_by_key_value', true );
    170188                $this->assertInternalType( 'integer', $mid );
     
    185203                delete_metadata_by_mid( 'post', $mid );
    186204        }
    187205
     206        /**
     207         * @covers ::delete_meta
     208         */
    188209        function test_delete_meta() {
    189210                $mid = add_post_meta( self::$post_id, 'delete_meta', 'delete_meta_value', true );
    190211                $this->assertInternalType( 'integer', $mid );
     
    195216                $this->assertFalse( delete_meta( 123456789 ) );
    196217        }
    197218
     219        /**
     220         * @covers ::update_meta
     221         */
    198222        function test_update_meta() {
    199223                // Add a unique post meta item.
    200224                $this->assertInternalType( 'integer', $mid1 = add_post_meta( self::$post_id, 'unique_update', 'value', true ) );
     
    229253
    230254        /**
    231255         * @ticket 12860
     256         *
     257         * @covers ::add_post_meta
    232258         */
    233259        function test_funky_post_meta() {
    234260                $classy          = new StdClass();
     
    252278        /**
    253279         * @ticket 38323
    254280         * @dataProvider data_register_post_meta
     281         *
     282         * @covers ::register_post_meta
    255283         */
    256284        public function test_register_post_meta( $post_type, $meta_key, $args ) {
    257285                add_filter( 'register_meta_args', array( $this, 'filter_register_meta_args_set_last_register_meta_call' ), 10, 4 );
     
    287315        /**
    288316         * @ticket 38323
    289317         * @dataProvider data_unregister_post_meta
     318         *
     319         * @covers ::unregister_post_meta
    290320         */
    291321        public function test_unregister_post_meta( $post_type, $meta_key ) {
    292322                global $wp_meta_keys;
     
    312342
    313343        /**
    314344         * @ticket 44467
     345         *
     346         * @covers ::add_metadata
    315347         */
    316348        public function test_add_metadata_sets_posts_last_changed() {
    317349                $post_id = self::factory()->post->create();
     
    324356
    325357        /**
    326358         * @ticket 44467
     359         *
     360         * @covers ::update_metadata
    327361         */
    328362        public function test_update_metadata_sets_posts_last_changed() {
    329363                $post_id = self::factory()->post->create();
     
    336370
    337371        /**
    338372         * @ticket 44467
     373         *
     374         * @covers ::delete_metadata
    339375         */
    340376        public function test_delete_metadata_sets_posts_last_changed() {
    341377                $post_id = self::factory()->post->create();
  • tests/phpunit/tests/post/nav-menu.php

     
    1717
    1818        /**
    1919         * @ticket 32464
     20         *
     21         * @covers ::wp_nav_menu
    2022         */
    2123        public function test_wp_nav_menu_empty_container() {
    2224                $tag_id = self::factory()->tag->create();
     
    4345                $this->assertSame( 0, strpos( $menu, '<ul' ) );
    4446        }
    4547
     48        /**
     49         * @covers ::wp_get_associated_nav_menu_items
     50         */
    4651        function test_wp_get_associated_nav_menu_items() {
    4752                $tag_id    = self::factory()->tag->create();
    4853                $cat_id    = self::factory()->category->create();
     
    139144
    140145        /**
    141146         * @ticket 27113
     147         *
     148         * @covers ::wp_get_nav_menu_items
    142149         */
    143150        function test_orphan_nav_menu_item() {
    144151
     
    173180
    174181        }
    175182
     183        /**
     184         * @covers ::wp_get_nav_menu_items
     185         */
    176186        public function test_wp_get_nav_menu_items_with_taxonomy_term() {
    177187                register_taxonomy( 'wptests_tax', 'post', array( 'hierarchical' => true ) );
    178188                $t           = self::factory()->term->create( array( 'taxonomy' => 'wptests_tax' ) );
     
    204214
    205215        /**
    206216         * @ticket 13910
     217         *
     218         * @covers ::wp_get_nav_menu_name
    207219         */
    208220        function test_wp_get_nav_menu_name() {
    209221                // Register a nav menu location.
     
    223235
    224236        /**
    225237         * @ticket 29460
     238         *
     239         * @covers ::wp_get_nav_menus
    226240         */
    227241        function test_orderby_name_by_default() {
    228242                // We are going to create a random number of menus (min 2, max 10).
     
    252266
    253267        /**
    254268         * @ticket 35324
     269         *
     270         * @covers ::wp_setup_nav_menu_item
    255271         */
    256272        function test_wp_setup_nav_menu_item_for_post_type_archive() {
    257273
     
    285301
    286302        /**
    287303         * @ticket 35324
     304         *
     305         * @covers ::wp_setup_nav_menu_item
    288306         */
    289307        function test_wp_setup_nav_menu_item_for_post_type_archive_no_description() {
    290308
     
    316334
    317335        /**
    318336         * @ticket 35324
     337         *
     338         * @covers ::wp_setup_nav_menu_item
    319339         */
    320340        function test_wp_setup_nav_menu_item_for_post_type_archive_custom_description() {
    321341
     
    351371
    352372        /**
    353373         * @ticket 35324
     374         *
     375         * @covers ::wp_setup_nav_menu_item
    354376         */
    355377        function test_wp_setup_nav_menu_item_for_unknown_post_type_archive_no_description() {
    356378
     
    372394
    373395        /**
    374396         * @ticket 19038
     397         *
     398         * @covers ::wp_setup_nav_menu_item
    375399         */
    376400        function test_wp_setup_nav_menu_item_for_trashed_post() {
    377401                $post_id = self::factory()->post->create(
     
    398422
    399423        /**
    400424         * @ticket 35206
     425         *
     426         * @covers ::wp_nav_menu
    401427         */
    402428        function test_wp_nav_menu_whitespace_options() {
    403429                $post_id1 = self::factory()->post->create();
     
    485511         * backward compatibility.
    486512         *
    487513         * @ticket 24587
     514         *
     515         * @covers ::wp_nav_menu
    488516         */
    489517        function test_wp_nav_menu_filters_are_passed_args_object() {
    490518                $tag_id = self::factory()->tag->create();
     
    573601
    574602        /**
    575603         * @ticket 35272
     604         *
     605         * @covers ::wp_get_nav_menu_items
    576606         */
    577607        function test_no_front_page_class_applied() {
    578608                $page_id = self::factory()->post->create(
     
    604634
    605635        /**
    606636         * @ticket 35272
     637         *
     638         * @covers ::wp_get_nav_menu_items
    607639         */
    608640        function test_class_applied_to_front_page_item() {
    609641                $page_id = self::factory()->post->create(
     
    637669
    638670        /**
    639671         * @ticket 35272
     672         *
     673         * @covers ::wp_get_nav_menu_items
    640674         */
    641675        function test_class_not_applied_to_taxonomies_with_same_id_as_front_page_item() {
    642676                global $wpdb;
     
    734768
    735769        /**
    736770         * @ticket 39800
     771         *
     772         * @covers ::wp_get_nav_menu_items
    737773         */
    738774        function test_parent_ancestor_for_post_archive() {
    739775
     
    835871        /**
    836872         * @ticket 43401
    837873         * @dataProvider get_iri_current_menu_items
     874         *
     875         * @covers ::wp_get_nav_menu_items
    838876         */
    839877        function test_iri_current_menu_item( $custom_link, $current = true ) {
    840878                wp_update_nav_menu_item(
     
    864902        /**
    865903         * @ticket 44005
    866904         * @group privacy
     905         *
     906         * @covers ::wp_get_nav_menu_items
    867907         */
    868908        function test_no_privacy_policy_class_applied() {
    869909                $page_id = self::factory()->post->create(
     
    895935        /**
    896936         * @ticket 44005
    897937         * @group privacy
     938         *
     939         * @covers ::wp_get_nav_menu_items
    898940         */
    899941        function test_class_applied_to_privacy_policy_page_item() {
    900942                $page_id = self::factory()->post->create(
     
    929971        /**
    930972         * @ticket 47723
    931973         * @dataProvider data_trim_url_for_custom_item
     974         *
     975         * @covers ::wp_get_nav_menu_items
    932976         */
    933977        function test_trim_url_for_custom_item( $custom_url, $correct_url ) {
    934978                $custom_item_id = wp_update_nav_menu_item(
     
    9631007         * be empty, as the item should get the title from the category object itself.
    9641008         *
    9651009         * @ticket 48011
     1010         *
     1011         * @covers ::wp_get_nav_menu_item
    9661012         */
    9671013        function test_wp_update_nav_menu_item_with_special_characters_in_category_name() {
    9681014                $category_name = 'Test Cat - \"Pre-Slashed\" Cat Name & >';
  • tests/phpunit/tests/post/objects.php

     
    55 */
    66class Tests_Post_Objects extends WP_UnitTestCase {
    77
     8        /**
     9         * @covers ::get_post
     10         */
    811        function test_get_post() {
    912                $id = self::factory()->post->create();
    1013
     
    6669                $this->assertNull( get_post( false ) );
    6770        }
    6871
     72        /**
     73         * @covers ::get_post_ancestors
     74         */
    6975        function test_get_post_ancestors() {
    7076                $parent_id     = self::factory()->post->create();
    7177                $child_id      = self::factory()->post->create();
     
    100106
    101107        /**
    102108         * @ticket 22882
     109         *
     110         * @covers ::get_post_ancestors
    103111         */
    104112        function test_get_post_ancestors_with_falsey_values() {
    105113                foreach ( array( null, 0, false, '0', '' ) as $post_id ) {
     
    108116                }
    109117        }
    110118
     119        /**
     120         * @covers ::get_post
     121         */
    111122        function test_get_post_category_property() {
    112123                $post_id = self::factory()->post->create();
    113124                $post    = get_post( $post_id );
     
    127138                $this->assertSame( array( $term2['term_id'], $term3['term_id'], $term1['term_id'] ), $post['post_category'] );
    128139        }
    129140
     141        /**
     142         * @covers ::get_post
     143         */
    130144        function test_get_tags_input_property() {
    131145                $post_id = self::factory()->post->create();
    132146                $post    = get_post( $post_id );
     
    144158                $this->assertSame( array( 'Bar', 'Baz', 'Foo' ), $post['tags_input'] );
    145159        }
    146160
     161        /**
     162         * @covers ::get_post_meta
     163         */
    147164        function test_get_page_template_property() {
    148165                $post_id = self::factory()->post->create();
    149166                $post    = get_post( $post_id );
     
    157174                $this->assertSame( $template, $post->page_template );
    158175        }
    159176
     177        /**
     178         * @covers ::get_post
     179         */
    160180        function test_get_post_filter() {
    161181                $post = get_post(
    162182                        self::factory()->post->create(
     
    184204                $this->assertSame( esc_js( "Mary's home" ), $raw_post->post_title );
    185205        }
    186206
     207        /**
     208         * @covers ::get_post
     209         */
    187210        function test_get_post_identity() {
    188211                $post = get_post( self::factory()->post->create() );
    189212
     
    193216                $this->assertSame( 'bar', get_post( $post, OBJECT, 'display' )->foo );
    194217        }
    195218
     219        /**
     220         * @covers ::get_post
     221         */
    196222        function test_get_post_array() {
    197223                $id = self::factory()->post->create();
    198224
     
    205231
    206232        /**
    207233         * @ticket 22223
     234         *
     235         * @covers ::get_post
    208236         */
    209237        function test_get_post_cache() {
    210238                global $wpdb;
  • tests/phpunit/tests/post/output.php

     
    3939                return "<p class='{$processed_atts['class']}'>$content</p>\n";
    4040        }
    4141
     42        /**
     43         * @covers ::the_content
     44         */
    4245        function test_the_content() {
    4346                $post_content = <<<EOF
    4447<i>This is the excerpt.</i>
     
    6265                $this->assertSame( strip_ws( $expected ), strip_ws( get_echo( 'the_content' ) ) );
    6366        }
    6467
     68        /**
     69         * @covers ::the_content
     70         */
    6571        function test_the_content_shortcode() {
    6672                $post_content = <<<EOF
    6773[dumptag foo="bar" baz="123"]
     
    128134                $this->assertSame( strip_ws( $expected ), strip_ws( get_echo( 'the_content' ) ) );
    129135        }
    130136
     137        /**
     138         * @covers ::the_content
     139         */
    131140        function test_the_content_attribute_filtering() {
    132141                kses_init_filters();
    133142
     
    152161                kses_remove_filters();
    153162        }
    154163
     164        /**
     165         * @covers ::the_content
     166         */
    155167        function test_the_content_attribute_value_with_colon() {
    156168                kses_init_filters();
    157169
     
    182194         * @ticket 46471
    183195         *
    184196         * @group blocks
     197         *
     198         * @covers ::the_content
    185199         */
    186200        public function test_the_content_should_handle_more_block_on_singular() {
    187201                $post_content = <<<EOF
     
    231245         * @ticket 46471
    232246         *
    233247         * @group blocks
     248         *
     249         * @covers ::the_content
    234250         */
    235251        public function test_the_content_should_handle_more_block_when_noteaser_on_singular() {
    236252                $post_content = <<<EOF
     
    275291         * @ticket 46471
    276292         *
    277293         * @group blocks
     294         *
     295         * @covers ::the_content
    278296         */
    279297        public function test_the_content_should_handle_more_block_when_non_singular() {
    280298                $post_content = <<<EOF
     
    320338         * @ticket 46471
    321339         *
    322340         * @group blocks
     341         *
     342         * @covers ::the_content
    323343         */
    324344        public function test_the_content_should_handle_more_block_when_noteaser_on_non_singular() {
    325345                $post_content = <<<EOF
  • tests/phpunit/tests/post/pings.php

     
    66 */
    77class Tests_Post_Pings extends WP_UnitTestCase {
    88
     9        /**
     10         * @covers ::get_to_ping
     11         */
    912        public function test_returns_to_ping_sites_from_post_id() {
    1013                $post_id = self::factory()->post->create(
    1114                        array(
     
    1619                $this->assertSame( array( 'http://www.example.com', 'http://www.otherexample.com' ), get_to_ping( $post_id ) );
    1720        }
    1821
     22        /**
     23         * @covers ::get_to_ping
     24         */
    1925        public function test_returns_to_ping_sites_from_post_object() {
    2026                $post_id = self::factory()->post->create(
    2127                        array(
     
    2733                $this->assertSame( array( 'http://www.example.com', 'http://www.otherexample.com' ), get_to_ping( $post ) );
    2834        }
    2935
     36        /**
     37         * @covers ::get_pung
     38         */
    3039        public function test_returns_pinged_sites_from_post_id() {
    3140                $post_id = self::factory()->post->create( array( 'pinged' => 'foo bar baz' ) );
    3241                $this->assertSame( array( 'foo', 'bar', 'baz' ), get_pung( $post_id ) );
    3342        }
    3443
     44        /**
     45         * @covers ::get_pung
     46         */
    3547        public function test_returns_pinged_sites_from_post_object() {
    3648                $post_id = self::factory()->post->create( array( 'pinged' => 'foo bar baz' ) );
    3749                $post    = get_post( $post_id );
     
    3850                $this->assertSame( array( 'foo', 'bar', 'baz' ), get_pung( $post ) );
    3951        }
    4052
     53        /**
     54         * @covers ::get_pung
     55         */
    4156        public function test_add_ping_with_post_id() {
    4257                $post_id = self::factory()->post->create();
    4358                add_ping( $post_id, 'foo' );
     
    4661                $this->assertSame( array( 'foo', 'bar', 'baz' ), get_pung( $post_id ) );
    4762        }
    4863
     64        /**
     65         * @covers ::get_pung
     66         */
    4967        public function test_add_ping_array_with_post_id() {
    5068                $post_id = self::factory()->post->create();
    5169                add_ping( $post_id, array( 'foo', 'bar', 'baz' ) );
     
    5270                $this->assertSame( array( 'foo', 'bar', 'baz' ), get_pung( $post_id ) );
    5371        }
    5472
     73        /**
     74         * @covers ::get_pung
     75         */
    5576        public function test_add_ping_with_post_object() {
    5677                $post_id = self::factory()->post->create();
    5778                $post    = get_post( $post_id );
  • tests/phpunit/tests/post/postClass.php

     
    1212                $this->post_id = self::factory()->post->create();
    1313        }
    1414
     15        /**
     16         * @covers ::post_class
     17         */
    1518        public function test_post_class() {
    1619                $expected = 'class="' . implode( ' ', get_post_class( '', $this->post_id ) ) . '"';
    1720                $this->expectOutputString( $expected );
     
    1821                post_class( '', $this->post_id );
    1922        }
    2023
     24        /**
     25         * @covers ::post_class
     26         */
    2127        public function test_post_class_extra_esc_attr() {
    2228                $classes              = get_post_class( '', $this->post_id );
    2329                $escaped_again        = array_map( 'esc_attr', $classes );
  • tests/phpunit/tests/post/query.php

     
    77class Tests_Post_Query extends WP_UnitTestCase {
    88        /**
    99         * @group taxonomy
     10         *
     11         * @covers WP_Query::get
    1012         */
    1113        function test_category__and_var() {
    1214                $q = new WP_Query();
     
    4951        /**
    5052         * @ticket 28099
    5153         * @group taxonomy
     54         *
     55         * @covers WP_Query::get
    5256         */
    5357        function test_empty_category__in() {
    5458                $cat_id  = self::factory()->category->create();
     
    7882
    7983        /**
    8084         * @ticket 22448
     85         *
     86         * @covers WP_Query::__construct
    8187         */
    8288        function test_the_posts_filter() {
    8389                // Create posts and clear their caches.
     
    128134                return $posts;
    129135        }
    130136
     137        /**
     138         * @covers WP_Query::__construct
     139         */
    131140        function test_post__in_ordering() {
    132141                $post_id1 = self::factory()->post->create(
    133142                        array(
     
    176185
    177186        /**
    178187         * @ticket 38034
     188         *
     189         * @covers WP_Query::__construct
    179190         */
    180191        public function test_orderby_post__in_array() {
    181192                $posts = self::factory()->post->create_many( 4 );
     
    194205
    195206        /**
    196207         * @ticket 38034
     208         *
     209         * @covers WP_Query::__construct
    197210         */
    198211        public function test_orderby_post__in_array_with_implied_order() {
    199212                $posts = self::factory()->post->create_many( 4 );
     
    210223                $this->assertSame( $ordered, wp_list_pluck( $q->posts, 'ID' ) );
    211224        }
    212225
     226        /**
     227         * @covers WP_Query::__construct
     228         */
    213229        function test_post__in_attachment_ordering() {
    214230                $post_id    = self::factory()->post->create();
    215231                $att_ids    = array();
     
    273289
    274290        /**
    275291         * @ticket 36515
     292         *
     293         * @covers WP_Query::__construct
    276294         */
    277295        public function test_post_name__in_ordering() {
    278296                $post_id1 = self::factory()->post->create(
     
    308326                $this->assertSame( $ordered, wp_list_pluck( $q->posts, 'post_name' ) );
    309327        }
    310328
     329        /**
     330         * @covers WP_Query::__construct
     331         */
    311332        function test_post_status() {
    312333                $statuses1 = get_post_stati();
    313334                $this->assertContains( 'auto-draft', $statuses1 );
     
    330351
    331352        /**
    332353         * @ticket 17065
     354         *
     355         * @covers WP_Query::__construct
    333356         */
    334357        function test_orderby_array() {
    335358                global $wpdb;
     
    366389
    367390        /**
    368391         * @ticket 17065
     392         *
     393         * @covers WP_Query::__construct
    369394         */
    370395        function test_order() {
    371396                global $wpdb;
     
    406431
    407432        /**
    408433         * @ticket 29629
     434         *
     435         * @covers WP_Query::__construct
    409436         */
    410437        function test_orderby() {
    411438                // 'rand' is a valid value.
     
    441468
    442469        /**
    443470         * @ticket 35692
     471         *
     472         * @covers WP_Query::__construct
    444473         */
    445474        public function test_orderby_rand_with_seed() {
    446475                $q = new WP_Query(
     
    454483
    455484        /**
    456485         * @ticket 35692
     486         *
     487         * @covers WP_Query::__construct
    457488         */
    458489        public function test_orderby_rand_should_ignore_invalid_seed() {
    459490                $q = new WP_Query(
     
    467498
    468499        /**
    469500         * @ticket 35692
     501         *
     502         * @covers WP_Query::__construct
    470503         */
    471504        public function test_orderby_rand_with_seed_should_be_case_insensitive() {
    472505                $q = new WP_Query(
     
    482515         * Tests the post_name__in attribute of WP_Query.
    483516         *
    484517         * @ticket 33065
     518         *
     519         * @covers WP_Query::__construct
    485520         */
    486521        public function test_post_name__in() {
    487522                $q = new WP_Query();
     
    534569
    535570        /**
    536571         * @ticket 36687
     572         *
     573         * @covers WP_Query::__construct
    537574         */
    538575        public function test_posts_pre_query_filter_should_bypass_database_query() {
    539576                global $wpdb;
     
    560597
    561598        /**
    562599         * @ticket 36687
     600         *
     601         * @covers WP_Query::__construct
    563602         */
    564603        public function test_posts_pre_query_filter_should_respect_set_found_posts() {
    565604                global $wpdb;
     
    595634
    596635        /**
    597636         * @ticket 36687
     637         *
     638         * @covers WP_Query::__construct
    598639         */
    599640        public function test_set_found_posts_fields_ids() {
    600641                register_post_type( 'wptests_pt' );
     
    619660
    620661        /**
    621662         * @ticket 36687
     663         *
     664         * @covers WP_Query::__construct
    622665         */
    623666        public function test_set_found_posts_fields_idparent() {
    624667                register_post_type( 'wptests_pt' );
     
    642685
    643686        /**
    644687         * @ticket 36687
     688         *
     689         * @covers WP_Query::__construct
    645690         */
    646691        public function test_set_found_posts_fields_split_the_query() {
    647692                register_post_type( 'wptests_pt' );
     
    668713
    669714        /**
    670715         * @ticket 36687
     716         *
     717         * @covers WP_Query::__construct
    671718         */
    672719        public function test_set_found_posts_fields_not_split_the_query() {
    673720                register_post_type( 'wptests_pt' );
     
    707754         * @ticket 42860
    708755         *
    709756         * @dataProvider set_found_posts_provider
     757         *
     758         * @covers WP_Query::__construct
    710759         */
    711760        public function test_set_found_posts_not_posts_as_an_array( $posts, $expected ) {
    712761                $q = new WP_Query(
     
    727776
    728777        /**
    729778         * @ticket 42469
     779         *
     780         * @covers WP_Query::__construct
    730781         */
    731782        public function test_found_posts_should_be_integer_not_string() {
    732783                $this->post_id = self::factory()->post->create();
     
    742793
    743794        /**
    744795         * @ticket 42469
     796         *
     797         * @covers WP_Query::__construct
    745798         */
    746799        public function test_found_posts_should_be_integer_even_if_found_posts_filter_returns_string_value() {
    747800                $this->post_id = self::factory()->post->create();
  • tests/phpunit/tests/post/revisions.php

     
    3030         *
    3131         * @ticket 20982
    3232         * @ticket 16215
     33         *
     34         * @covers ::wp_restore_post_revision
    3335         */
    3436        function test_revision_restore_updates_edit_last_post_meta() {
    3537                // Create a post as Author.
     
    7375        /**
    7476         * @ticket 7392
    7577         * @ticket 9843
     78         *
     79         * @covers ::wp_update_post
    7680         */
    7781        function test_revision_dont_save_revision_if_unchanged() {
    7882                $post    = get_default_post_to_edit( 'post', true );
     
    143147        /**
    144148         * @ticket 7392
    145149         * @ticket 9843
     150         *
     151         * @covers ::wp_update_post
    146152         */
    147153        function test_revision_force_save_revision_even_if_unchanged() {
    148154                add_filter( 'wp_save_post_revision_check_for_changes', '__return_false' );
     
    218224         * Tests the Caps used in the action=view case of wp-admin/revision.php
    219225         *
    220226         * @ticket 16847
     227         *
     228         * @covers ::user_can
    221229         */
    222230        function test_revision_view_caps_post() {
    223231                $post_id = self::factory()->post->create(
     
    251259         * Tests the Caps used in the action=restore case of wp-admin/revision.php
    252260         *
    253261         * @ticket 16847
     262         *
     263         * @covers ::user_can
    254264         */
    255265        function test_revision_restore_caps_post() {
    256266                $post_id = self::factory()->post->create(
     
    282292         * Tests the Caps used in the action=diff case of wp-admin/revision.php
    283293         *
    284294         * @ticket 16847
     295         *
     296         * @covers ::user_can
    285297         */
    286298        function test_revision_diff_caps_post() {
    287299                $post_id = self::factory()->post->create(
     
    320332         * Tests the Caps used in the action=view case of wp-admin/revision.php with a CPT with Custom Capabilities
    321333         *
    322334         * @ticket 16847
     335         *
     336         * @covers ::user_can
    323337         */
    324338        function test_revision_view_caps_cpt() {
    325339                register_post_type(
     
    362376         * Tests the Caps used in the action=restore case of wp-admin/revision.php
    363377         *
    364378         * @ticket 16847
     379         *
     380         * @covers ::user_can
    365381         */
    366382        function test_revision_restore_caps_cpt() {
    367383                register_post_type(
     
    408424         * Tests the Caps used in the action=restore case of wp-admin/revision.php
    409425         *
    410426         * @ticket 16847
     427         *
     428         * @covers ::user_can
    411429         */
    412430        function test_revision_restore_caps_before_publish() {
    413431                register_post_type(
     
    468486         * Tests the Caps used in the action=diff case of wp-admin/revision.php
    469487         *
    470488         * @ticket 16847
     489         *
     490         * @covers ::user_can
    471491         */
    472492        function test_revision_diff_caps_cpt() {
    473493                register_post_type(
     
    513533
    514534        /**
    515535         * @ticket 26042
     536         *
     537         * @covers ::wp_get_post_revisions
    516538         */
    517539        function test_wp_get_post_revisions_should_order_by_post_date() {
    518540                global $wpdb;
     
    549571
    550572        /**
    551573         * @ticket 26042
     574         *
     575         * @covers ::wp_get_post_revisions
    552576         */
    553577        function test_wp_get_post_revisions_should_order_by_ID_when_post_date_matches() {
    554578                $post = self::factory()->post->create_and_get(
  • tests/phpunit/tests/post/slashes.php

     
    3232
    3333        /**
    3434         * Tests the controller function that expects slashed data.
     35         *
     36         * @covers ::edit_post
    3537         */
    3638        function test_edit_post() {
    3739                $post_id = self::$post_id;
     
    6971
    7072        /**
    7173         * Tests the model function that expects slashed data.
     74         *
     75         * @covers ::wp_insert_post
    7276         */
    7377        function test_wp_insert_post() {
    7478                $post_id = wp_insert_post(
     
    105109
    106110        /**
    107111         * Tests the model function that expects slashed data.
     112         *
     113         * @covers ::wp_update_post
    108114         */
    109115        function test_wp_update_post() {
    110116                $post_id = self::$post_id;
     
    140146
    141147        /**
    142148         * @ticket 27550
     149         *
     150         * @covers ::wp_trash_post
     151         * @covers ::wp_untrash_post
    143152         */
    144153        function test_wp_trash_untrash() {
    145154                $post    = array(
  • tests/phpunit/tests/post/template.php

     
    55 */
    66class Tests_Post_Template extends WP_UnitTestCase {
    77
     8        /**
     9         * @covers ::wp_link_pages
     10         */
    811        function test_wp_link_pages() {
    912                $contents = array( 'One', 'Two', 'Three' );
    1013                $content  = implode( '<!--nextpage-->', $contents );
     
    131134                $this->assertSame( $pagelink, $output );
    132135        }
    133136
     137        /**
     138         * @covers ::wp_dropdown_pages
     139         */
    134140        function test_wp_dropdown_pages() {
    135141                $none = wp_dropdown_pages( array( 'echo' => 0 ) );
    136142                $this->assertEmpty( $none );
     
    222228
    223229        /**
    224230         * @ticket 12494
     231         *
     232         * @covers ::wp_dropdown_pages
    225233         */
    226234        public function test_wp_dropdown_pages_value_field_should_default_to_ID() {
    227235                $p = self::factory()->post->create(
     
    242250
    243251        /**
    244252         * @ticket 12494
     253         *
     254         * @covers ::wp_dropdown_pages
    245255         */
    246256        public function test_wp_dropdown_pages_value_field_ID() {
    247257                $p = self::factory()->post->create(
     
    262272
    263273        /**
    264274         * @ticket 12494
     275         *
     276         * @covers ::wp_dropdown_pages
    265277         */
    266278        public function test_wp_dropdown_pages_value_field_post_name() {
    267279                $p = self::factory()->post->create(
     
    283295
    284296        /**
    285297         * @ticket 12494
     298         *
     299         * @covers ::wp_dropdown_pages
    286300         */
    287301        public function test_wp_dropdown_pages_value_field_should_fall_back_on_ID_when_an_invalid_value_is_provided() {
    288302                $p = self::factory()->post->create(
     
    304318
    305319        /**
    306320         * @ticket 30082
     321         *
     322         * @covers ::wp_dropdown_pages
    307323         */
    308324        public function test_wp_dropdown_pages_should_not_contain_class_attribute_when_no_class_is_passed() {
    309325                $p = self::factory()->post->create(
     
    324340
    325341        /**
    326342         * @ticket 30082
     343         *
     344         * @covers ::wp_dropdown_pages
    327345         */
    328346        public function test_wp_dropdown_pages_should_obey_class_parameter() {
    329347                $p = self::factory()->post->create(
     
    345363
    346364        /**
    347365         * @ticket 31389
     366         *
     367         * @covers ::get_page_template_slug
    348368         */
    349369        public function test_get_page_template_slug_by_id() {
    350370                $page_id = self::factory()->post->create(
     
    364384
    365385        /**
    366386         * @ticket 31389
     387         *
     388         * @covers ::get_page_template_slug
    367389         */
    368390        public function test_get_page_template_slug_from_loop() {
    369391                $page_id = self::factory()->post->create(
     
    381403        /**
    382404         * @ticket 31389
    383405         * @ticket 18375
     406         *
     407         * @covers ::get_page_template_slug
    384408         */
    385409        public function test_get_page_template_slug_non_page() {
    386410                $post_id = self::factory()->post->create();
     
    397421
    398422        /**
    399423         * @ticket 18375
     424         *
     425         * @covers ::get_page_template_slug
    400426         */
    401427        public function test_get_page_template_slug_non_page_from_loop() {
    402428                $post_id = self::factory()->post->create();
     
    411437        /**
    412438         * @ticket 11095
    413439         * @ticket 33974
     440         *
     441         * @covers ::wp_nav_menu
    414442         */
    415443        public function test_wp_page_menu_wp_nav_menu_fallback() {
    416444                $pages = self::factory()->post->create_many( 3, array( 'post_type' => 'page' ) );
  • tests/phpunit/tests/post/thumbnails.php

     
    3131                parent::tearDownAfterClass();
    3232        }
    3333
     34        /**
     35         * @covers ::has_post_thumbnail
     36         */
    3437        function test_has_post_thumbnail() {
    3538                $this->assertFalse( has_post_thumbnail( self::$post ) );
    3639                $this->assertFalse( has_post_thumbnail( self::$post->ID ) );
     
    5356                $this->assertTrue( has_post_thumbnail() );
    5457        }
    5558
     59        /**
     60         * @covers ::get_post_thumbnail_id
     61         */
    5662        function test_get_post_thumbnail_id() {
    5763                $this->assertSame( 0, get_post_thumbnail_id( self::$post ) );
    5864                $this->assertSame( 0, get_post_thumbnail_id( self::$post->ID ) );
     
    6874                $this->assertSame( self::$attachment_id, get_post_thumbnail_id() );
    6975        }
    7076
     77        /**
     78         * @covers ::update_post_thumbnail_cache
     79         */
    7180        function test_update_post_thumbnail_cache() {
    7281                set_post_thumbnail( self::$post, self::$attachment_id );
    7382
     
    8897
    8998        /**
    9099         * @ticket 12235
     100         *
     101         * @covers ::get_the_post_thumbnail_caption
    91102         */
    92103        function test_get_the_post_thumbnail_caption() {
    93104                $this->assertSame( '', get_the_post_thumbnail_caption() );
     
    112123
    113124        /**
    114125         * @ticket 12235
     126         *
     127         * @covers ::get_the_post_thumbnail_caption
    115128         */
    116129        function test_get_the_post_thumbnail_caption_empty() {
    117130                $post_id       = self::factory()->post->create();
     
    132145
    133146        /**
    134147         * @ticket 12235
     148         *
     149         * @covers ::get_the_post_thumbnail_caption
    135150         */
    136151        function test_the_post_thumbnail_caption() {
    137152                $caption = 'This is a caption.';
     
    153168                the_post_thumbnail_caption( $post_id );
    154169        }
    155170
     171        /**
     172         * @covers ::get_the_post_thumbnail
     173         */
    156174        function test_get_the_post_thumbnail() {
    157175                $this->assertSame( '', get_the_post_thumbnail() );
    158176                $this->assertSame( '', get_the_post_thumbnail( self::$post ) );
     
    174192                $this->assertSame( $expected, get_the_post_thumbnail() );
    175193        }
    176194
     195        /**
     196         * @covers ::the_post_thumbnail
     197         */
    177198        function test_the_post_thumbnail() {
    178199
    179200                $this->expectOutputString( '' );
     
    201222
    202223        /**
    203224         * @ticket 33070
     225         *
     226         * @covers ::get_the_post_thumbnail_url
    204227         */
    205228        function test_get_the_post_thumbnail_url() {
    206229                $this->assertFalse( has_post_thumbnail( self::$post ) );
     
    219242
    220243        /**
    221244         * @ticket 33070
     245         *
     246         * @covers ::get_the_post_thumbnail_url
    222247         */
    223248        function test_get_the_post_thumbnail_url_with_invalid_post() {
    224249                set_post_thumbnail( self::$post, self::$attachment_id );
     
    233258
    234259        /**
    235260         * @ticket 33070
     261         *
     262         * @covers ::the_post_thumbnail_url
    236263         */
    237264        function test_the_post_thumbnail_url() {
    238265                $GLOBALS['post'] = self::$post;
     
    248275
    249276        /**
    250277         * @ticket 12922
     278         *
     279         * @covers ::_wp_preview_post_thumbnail_filter
    251280         */
    252281        function test__wp_preview_post_thumbnail_filter() {
    253282                $old_post = isset( $GLOBALS['post'] ) ? $GLOBALS['post'] : null;
     
    268297
    269298        /**
    270299         * @ticket 37697
     300         *
     301         * @covers ::_wp_preview_post_thumbnail_filter
    271302         */
    272303        function test__wp_preview_post_thumbnail_filter_secondary_post() {
    273304                $old_post = isset( $GLOBALS['post'] ) ? $GLOBALS['post'] : null;
     
    294325
    295326        /**
    296327         * @ticket 12922
     328         *
     329         * @covers ::wp_insert_post
    297330         */
    298331        function test_insert_post_with_post_thumbnail() {
    299332                $post_id = wp_insert_post(
     
    325358
    326359        /**
    327360         * @ticket 37658
     361         *
     362         * @covers ::wp_insert_post
    328363         */
    329364        function test_insert_attachment_with_post_thumbnail() {
    330365                // Audio files support featured images.
     
    364399
    365400        /**
    366401         * @ticket 39030
     402         *
     403         * @covers ::get_the_post_thumbnail
    367404         */
    368405        function test_post_thumbnail_size_filter_simple() {
    369406                $this->current_size_filter_data = 'medium';
     
    385422        /**
    386423         * @ticket 39030
    387424         * @dataProvider data_post_thumbnail_size_filter_complex
     425         *
     426         * @covers ::get_the_post_thumbnail
    388427         */
    389428        function test_post_thumbnail_size_filter_complex( $which_post, $expected ) {
    390429                $this->current_size_filter_data = array(
  • tests/phpunit/tests/post/types.php

     
    2424                $this->post_type = rand_str( 20 );
    2525        }
    2626
     27        /**
     28         * @covers ::register_post_type
     29         */
    2730        function test_register_post_type() {
    2831                $this->assertNull( get_post_type_object( 'foo' ) );
    2932                register_post_type( 'foo' );
     
    4144
    4245        /**
    4346         * @ticket 48558
     47         *
     48         * @covers ::register_post_type
    4449         */
    4550        function test_register_post_type_return_value() {
    4651                $this->assertInstanceOf( 'WP_Post_Type', register_post_type( 'foo' ) );
     
    5055         * @ticket 31134
    5156         *
    5257         * @expectedIncorrectUsage register_post_type
     58         *
     59         * @covers ::register_post_type
    5360         */
    5461        function test_register_post_type_with_too_long_name() {
    5562                // Post type too long.
     
    6067         * @ticket 31134
    6168         *
    6269         * @expectedIncorrectUsage register_post_type
     70         *
     71         * @covers ::register_post_type
    6372         */
    6473        function test_register_post_type_with_empty_name() {
    6574                // Post type too short.
     
    6877
    6978        /**
    7079         * @ticket 35985
     80         *
    7181         * @covers ::register_post_type
    7282         */
    7383        function test_register_post_type_exclude_from_search_should_default_to_opposite_value_of_public() {
     
    8292
    8393        /**
    8494         * @ticket 35985
     95         *
    8596         * @covers ::register_post_type
    8697         */
    8798        function test_register_post_type_publicly_queryable_should_default_to_value_of_public() {
     
    96107
    97108        /**
    98109         * @ticket 35985
     110         *
    99111         * @covers ::register_post_type
    100112         */
    101113        function test_register_post_type_show_ui_should_default_to_value_of_public() {
     
    110122
    111123        /**
    112124         * @ticket 35985
     125         *
    113126         * @covers ::register_post_type
    114127         */
    115128        function test_register_post_type_show_in_menu_should_default_to_value_of_show_ui() {
     
    129142
    130143        /**
    131144         * @ticket 35985
     145         *
    132146         * @covers ::register_post_type
    133147         */
    134148        function test_register_post_type_show_in_nav_menus_should_default_to_value_of_public() {
     
    143157
    144158        /**
    145159         * @ticket 35985
     160         *
    146161         * @covers ::register_post_type
    147162         */
    148163        function test_register_post_type_show_in_admin_bar_should_default_to_value_of_show_in_menu() {
     
    163178                $this->assertSame( $public, $args->show_in_admin_bar );
    164179        }
    165180
     181        /**
     182         * @covers ::register_taxonomy_for_object_type
     183         */
    166184        function test_register_taxonomy_for_object_type() {
    167185                global $wp_taxonomies;
    168186
     
    185203                _unregister_post_type( 'bar' );
    186204        }
    187205
     206        /**
     207         * @covers ::post_type_exists
     208         */
    188209        function test_post_type_exists() {
    189210                $this->assertFalse( post_type_exists( 'notaposttype' ) );
    190211                $this->assertTrue( post_type_exists( 'post' ) );
    191212        }
    192213
     214        /**
     215         * @covers ::post_type_supports
     216         */
    193217        function test_post_type_supports() {
    194218                $this->assertTrue( post_type_supports( 'post', 'post-formats' ) );
    195219                $this->assertFalse( post_type_supports( 'page', 'post-formats' ) );
     
    200224
    201225        /**
    202226         * @ticket 21586
     227         *
     228         * @covers ::post_type_supports
    203229         */
    204230        function test_post_type_with_no_support() {
    205231                register_post_type( 'foo', array( 'supports' => array() ) );
     
    215241
    216242        /**
    217243         * @ticket 23302
     244         *
     245         * @covers ::register_post_type
    218246         */
    219247        function test_post_type_with_no_feed() {
    220248                global $wp_rewrite;
     
    228256
    229257        /**
    230258         * @ticket 30013
     259         *
     260         * @covers ::get_post_type_object
    231261         */
    232262        public function test_get_post_type_object_with_non_scalar_values() {
    233263                $this->assertFalse( post_type_exists( 'foo' ) );
     
    248278
    249279        /**
    250280         * @ticket 33023
     281         *
     282         * @covers ::get_post_type_object
    251283         */
    252284        public function test_get_post_type_object_casting() {
    253285                register_post_type( 'foo' );
     
    265297
    266298        /**
    267299         * @ticket 38844
     300         *
     301         * @covers ::get_post_type_object
    268302         */
    269303        public function test_get_post_type_object_includes_menu_icon_for_builtin_post_types() {
    270304                $this->assertSame( 'dashicons-admin-post', get_post_type_object( 'post' )->menu_icon );
     
    274308
    275309        /**
    276310         * @ticket 14761
     311         *
     312         * @covers ::unregister_post_type
    277313         */
    278314        public function test_unregister_post_type() {
    279315                register_post_type( 'foo' );
     
    282318
    283319        /**
    284320         * @ticket 14761
     321         *
     322         * @covers ::unregister_post_type
    285323         */
    286324        public function test_unregister_post_type_unknown_post_type() {
    287325                $this->assertWPError( unregister_post_type( 'foo' ) );
     
    289327
    290328        /**
    291329         * @ticket 14761
     330         *
     331         * @covers ::unregister_post_type
    292332         */
    293333        public function test_unregister_post_type_twice() {
    294334                register_post_type( 'foo' );
     
    298338
    299339        /**
    300340         * @ticket 14761
     341         *
     342         * @covers ::unregister_post_type
    301343         */
    302344        public function test_unregister_post_type_disallow_builtin_post_type() {
    303345                $this->assertWPError( unregister_post_type( 'post' ) );
     
    309351
    310352        /**
    311353         * @ticket 14761
     354         *
     355         * @covers ::unregister_post_type
    312356         */
    313357        public function test_unregister_post_type_removes_query_vars() {
    314358                global $wp;
     
    328372
    329373        /**
    330374         * @ticket 14761
     375         *
     376         * @covers ::unregister_post_type
    331377         */
    332378        public function test_unregister_post_type_removes_rewrite_tags() {
    333379                $this->set_permalink_structure( '/%postname%' );
     
    354400
    355401        /**
    356402         * @ticket 14761
     403         *
     404         * @covers ::unregister_post_type
    357405         */
    358406        public function test_unregister_post_type_removes_rewrite_rules() {
    359407                $this->set_permalink_structure( '/%postname%' );
     
    375423
    376424        /**
    377425         * @ticket 14761
     426         *
     427         * @covers ::unregister_post_type
    378428         */
    379429        public function test_unregister_post_type_removes_custom_meta_capabilities() {
    380430                global $post_type_meta_caps;
     
    401451
    402452        /**
    403453         * @ticket 14761
     454         *
     455         * @covers ::unregister_post_type
    404456         */
    405457        public function test_unregister_post_type_removes_post_type_supports() {
    406458                global $_wp_post_type_features;
     
    427479
    428480        /**
    429481         * @ticket 14761
     482         *
     483         * @covers ::unregister_post_type
    430484         */
    431485        public function test_unregister_post_type_removes_post_type_from_taxonomies() {
    432486                global $wp_taxonomies;
     
    449503
    450504        /**
    451505         * @ticket 14761
     506         *
     507         * @covers ::unregister_post_type
    452508         */
    453509        public function test_unregister_post_type_removes_the_future_post_hooks() {
    454510                global $wp_filter;
     
    468524
    469525        /**
    470526         * @ticket 14761
     527         *
     528         * @covers ::unregister_post_type
    471529         */
    472530        public function test_unregister_post_type_removes_meta_box_callback() {
    473531                global $wp_filter;
     
    488546
    489547        /**
    490548         * @ticket 14761
     549         *
     550         * @covers ::unregister_post_type
    491551         */
    492552        public function test_unregister_post_type_removes_post_type_from_global() {
    493553                global $wp_post_types;
     
    510570
    511571        /**
    512572         * @ticket 14761
     573         *
     574         * @covers ::unregister_post_type
     575         * @covers ::post_type_exists
    513576         */
    514577        public function test_post_type_does_not_exist_after_unregister_post_type() {
    515578                register_post_type(
     
    526589
    527590        /**
    528591         * @ticket 34010
     592         *
     593         * @covers ::get_post_types_by_support
    529594         */
    530595        public function test_get_post_types_by_support_single_feature() {
    531596                $this->assertContains( 'post', get_post_types_by_support( 'title' ) );
     
    536601
    537602        /**
    538603         * @ticket 34010
     604         *
     605         * @covers ::get_post_types_by_support
    539606         */
    540607        public function test_get_post_types_by_support_multiple_features() {
    541608                $this->assertContains( 'post', get_post_types_by_support( array( 'thumbnail', 'author' ) ) );
     
    544611
    545612        /**
    546613         * @ticket 34010
     614         *
     615         * @covers ::get_post_types_by_support
    547616         */
    548617        public function test_get_post_types_by_support_or_operator() {
    549618                $this->assertContains( 'post', get_post_types_by_support( array( 'post-formats', 'page-attributes' ), 'or' ) );
     
    552621
    553622        /**
    554623         * @ticket 34010
     624         *
     625         * @covers ::get_post_types_by_support
    555626         */
    556627        public function test_get_post_types_by_support_not_operator() {
    557628                $this->assertContains( 'attachment', get_post_types_by_support( array( 'thumbnail' ), 'not' ) );
     
    561632
    562633        /**
    563634         * @ticket 34010
     635         *
     636         * @covers ::get_post_types_by_support
    564637         */
    565638        public function test_get_post_types_by_support_excluding_features() {
    566639                $this->assertSameSets( array(), get_post_types_by_support( array( 'post-formats', 'page-attributes' ) ) );
     
    568641
    569642        /**
    570643         * @ticket 34010
     644         *
     645         * @covers ::get_post_types_by_support
    571646         */
    572647        public function test_get_post_types_by_support_non_existant_feature() {
    573648                $this->assertSameSets( array(), get_post_types_by_support( 'somefeature' ) );
  • tests/phpunit/tests/post/walkerPage.php

     
    2525         * @ticket 47720
    2626         *
    2727         * @dataProvider data_start_el_with_empty_attributes
     28         *
     29         * @covers Walker_Page::start_el
    2830         */
    2931        public function test_start_el_with_empty_attributes( $value, $expected ) {
    3032                $output = '';
  • tests/phpunit/tests/post/wpGetPostParentId.php

     
    2323                self::$post_id        = $factory->post->create( array( 'post_parent' => self::$parent_post_id ) );
    2424        }
    2525
     26        /**
     27         * @covers ::wp_get_post_parent_id
     28         */
    2629        public function test_wp_get_post_parent_id_with_post_object() {
    2730                $post = get_post( self::$post_id );
    2831                $this->assertInstanceOf( 'WP_Post', $post );
     
    2932                $this->assertSame( self::$parent_post_id, wp_get_post_parent_id( $post ) );
    3033        }
    3134
     35        /**
     36         * @covers ::wp_get_post_parent_id
     37         */
    3238        public function test_wp_get_post_parent_id_with_post_id() {
    3339                $this->assertSame( self::$parent_post_id, wp_get_post_parent_id( self::$post_id ) );
    3440        }
    3541
     42        /**
     43         * @covers ::wp_get_post_parent_id
     44         */
    3645        public function test_wp_get_post_parent_id_with_non_existing_id_default_to_global_post_id() {
    3746                $GLOBALS['post'] = get_post( self::$post_id );
    3847                $this->assertSame( self::$parent_post_id, wp_get_post_parent_id( 0 ) );
    3948        }
    4049
     50        /**
     51         * @covers ::wp_get_post_parent_id
     52         */
    4153        public function test_wp_get_post_parent_id_with_boolean_default_to_global_post_id() {
    4254                $GLOBALS['post'] = get_post( self::$post_id );
    4355                $this->assertSame( self::$parent_post_id, wp_get_post_parent_id( false ) );
    4456        }
    4557
     58        /**
     59         * @covers ::wp_get_post_parent_id
     60         */
    4661        public function test_wp_get_post_parent_id_with_string_default_to_false() {
    4762                $GLOBALS['post'] = get_post( self::$post_id );
    4863                $this->assertFalse( wp_get_post_parent_id( 'string' ) );
  • tests/phpunit/tests/post/wpInsertPost.php

     
    6767
    6868        /**
    6969         * @ticket 11863
     70         *
     71         * @covers ::wp_trash_post
    7072         */
    7173        function test_trashing_a_post_should_add_trashed_suffix_to_post_name() {
    7274                $trashed_about_page_id = self::factory()->post->create(
     
    7678                                'post_status' => 'publish',
    7779                        )
    7880                );
    79                 wp_trash_post( $trashed_about_page_id );
     81                ( $trashed_about_page_id );
    8082                $this->assertSame( 'about__trashed', get_post( $trashed_about_page_id )->post_name );
    8183        }
    8284
    8385        /**
    8486         * @ticket 11863
     87         *
     88         * @covers ::wp_trash_post
    8589         */
    8690        public function test_trashed_suffix_should_be_added_to_post_with__trashed_in_slug() {
    8791                $trashed_about_page_id = self::factory()->post->create(
     
    98102
    99103        /**
    100104         * @ticket 11863
     105         *
     106         * @covers ::wp_untrash_post
    101107         */
    102108        function test_trashed_posts_original_post_name_should_be_reassigned_after_untrashing() {
    103109                $about_page_id = self::factory()->post->create(
     
    115121
    116122        /**
    117123         * @ticket 11863
     124         *
     125         * @covers ::wp_insert_post
    118126         */
    119127        function test_creating_a_new_post_should_add_trashed_suffix_to_post_name_of_trashed_posts_with_the_desired_slug() {
    120128                $trashed_about_page_id = self::factory()->post->create(
     
    139147
    140148        /**
    141149         * @ticket 11863
     150         *
     151         * @covers ::wp_untrash_post
    142152         */
    143153        function test_untrashing_a_post_with_a_stored_desired_post_name_should_get_its_post_name_suffixed_if_another_post_has_taken_the_desired_post_name() {
    144154                $about_page_id = self::factory()->post->create(
     
    173183        /**
    174184         * @ticket 23022
    175185         * @dataProvider data_various_post_statuses
     186         *
     187         * @covers ::wp_untrash_post
    176188         */
    177189        function test_untrashing_a_post_should_always_restore_it_to_draft_status( $post_status ) {
    178190                $page_id = self::factory()->post->create(
     
    191203        /**
    192204         * @ticket 23022
    193205         * @dataProvider data_various_post_statuses
     206         *
     207         * @covers ::wp_untrash_post
    194208         */
    195209        function test_wp_untrash_post_status_filter_restores_post_to_correct_status( $post_status ) {
    196210                add_filter( 'wp_untrash_post_status', 'wp_untrash_post_set_previous_status', 10, 3 );
     
    256270         *
    257271         * @ticket 42464
    258272         * @dataProvider data_various_post_types
     273         *
     274         * @covers ::wp_insert_post
     275         * @covers ::wp_update_post
    259276         */
    260277        function test_contributor_cannot_set_post_slug( $post_type ) {
    261278                wp_set_current_user( self::$user_ids['contributor'] );
     
    295312         *
    296313         * @ticket 42464
    297314         * @dataProvider data_various_post_types
     315         *
     316         * @covers ::wp_insert_post
     317         * @covers ::wp_update_post
    298318         */
    299319        function test_administrator_can_set_post_slug( $post_type ) {
    300320                wp_set_current_user( self::$user_ids['administrator'] );
     
    336356         * These assertions failed prior to ticket #42464.
    337357         *
    338358         * @ticket 42464
     359         *
     360         * @covers ::wp_insert_post
     361         * @covers ::wp_update_post
    339362         */
    340363        function test_administrator_cannot_set_post_slug_on_post_type_they_cannot_publish() {
    341364                wp_set_current_user( self::$user_ids['administrator'] );
     
    372395
    373396        /**
    374397         * @ticket 25347
     398         *
     399         * @covers ::wp_insert_post
    375400         */
    376401        function test_scheduled_post_with_a_past_date_should_be_published() {
    377402
  • tests/phpunit/tests/post/wpListPages.php

     
    115115                }
    116116        }
    117117
     118        /**
     119         * @covers ::wp_list_pages
     120         */
    118121        function test_wp_list_pages_default() {
    119122                $args = array(
    120123                        'echo' => false,
     
    146149                $this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
    147150        }
    148151
     152        /**
     153         * @covers ::wp_list_pages
     154         */
    149155        function test_wp_list_pages_depth() {
    150156                $args = array(
    151157                        'echo'  => false,
     
    176182                $this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
    177183        }
    178184
     185        /**
     186         * @covers ::wp_list_pages
     187         */
    179188        function test_wp_list_pages_date_format() {
    180189                $args = array(
    181190                        'echo'        => false,
     
    224233                $this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
    225234        }
    226235
     236        /**
     237         * @covers ::wp_list_pages
     238         */
    227239        function test_wp_list_pages_exclude() {
    228240                $args = array(
    229241                        'echo'    => false,
     
    252264                $this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
    253265        }
    254266
     267        /**
     268         * @covers ::wp_list_pages
     269         */
    255270        function test_wp_list_pages_title_li() {
    256271                $args = array(
    257272                        'echo'     => false,
     
    267282                $this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
    268283        }
    269284
     285        /**
     286         * @covers ::wp_list_pages
     287         */
    270288        function test_wp_list_pages_echo() {
    271289                $args = array(
    272290                        'echo'  => true,
     
    282300                wp_list_pages( $args );
    283301        }
    284302
     303        /**
     304         * @covers ::wp_list_pages
     305         */
    285306        function test_wp_list_pages_authors() {
    286307                $args = array(
    287308                        'echo'    => false,
     
    294315                $this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
    295316        }
    296317
     318        /**
     319         * @covers ::wp_list_pages
     320         */
    297321        function test_wp_list_pages_number() {
    298322                $args = array(
    299323                        'echo'        => false,
     
    307331                $this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
    308332        }
    309333
     334        /**
     335         * @covers ::wp_list_pages
     336         */
    310337        function test_wp_list_pages_sort_column() {
    311338                $args = array(
    312339                        'echo'        => false,
     
    323350                $this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
    324351        }
    325352
     353        /**
     354         * @covers ::wp_list_pages
     355         */
    326356        function test_wp_list_pages_link_before() {
    327357                $args = array(
    328358                        'echo'        => false,
     
    355385                $this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
    356386        }
    357387
     388        /**
     389         * @covers ::wp_list_pages
     390         */
    358391        function test_wp_list_pages_link_after() {
    359392                $args = array(
    360393                        'echo'       => false,
     
    388421        }
    389422
    390423
     424        /**
     425         * @covers ::wp_list_pages
     426         */
    391427        function test_wp_list_pages_include() {
    392428                $args = array(
    393429                        'echo'    => false,
     
    401437                $this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
    402438        }
    403439
     440        /**
     441         * @covers ::wp_list_pages
     442         */
    404443        function test_wp_list_pages_exclude_tree() {
    405444                $args = array(
    406445                        'echo'         => false,
     
    419458                $this->assertSameIgnoreEOL( $expected, wp_list_pages( $args ) );
    420459        }
    421460
     461        /**
     462         * @covers ::wp_list_pages
     463         */
    422464        function test_wp_list_pages_discarded_whitespace() {
    423465                $args = array(
    424466                        'echo'         => false,
  • tests/phpunit/tests/post/wpPost.php

     
    2525
    2626        /**
    2727         * @ticket 37738
     28         *
     29         * @covers WP_Post::get_instance
    2830         */
    2931        public function test_get_instance_should_work_for_numeric_string() {
    3032                $found = WP_Post::get_instance( (string) self::$post_id );
     
    3436
    3537        /**
    3638         * @ticket 37738
     39         *
     40         * @covers WP_Post::get_instance
    3741         */
    3842        public function test_get_instance_should_fail_for_negative_number() {
    3943                $found = WP_Post::get_instance( -self::$post_id );
     
    4347
    4448        /**
    4549         * @ticket 37738
     50         *
     51         * @covers WP_Post::get_instance
    4652         */
    4753        public function test_get_instance_should_fail_for_non_numeric_string() {
    4854                $found = WP_Post::get_instance( 'abc' );
     
    5258
    5359        /**
    5460         * @ticket 37738
     61         *
     62         * @covers WP_Post::get_instance
    5563         */
    5664        public function test_get_instance_should_succeed_for_float_that_is_equal_to_post_id() {
    5765                $found = WP_Post::get_instance( 1.0 );
  • tests/phpunit/tests/post/wpPostType.php

     
    1212                }
    1313        }
    1414
     15        /**
     16         * @covers WP_Post_Type::add_supports
     17         * @covers WP_Post_Type::remove_supports
     18         */
    1519        public function test_add_supports_defaults() {
    1620                $post_type        = 'cpt';
    1721                $post_type_object = new WP_Post_Type( $post_type );
     
    3236                $this->assertSameSets( array(), $post_type_supports_after );
    3337        }
    3438
     39        /**
     40         * @covers WP_Post_Type::add_supports
     41         * @covers WP_Post_Type::remove_supports
     42         */
    3543        public function test_add_supports_custom() {
    3644                $post_type        = 'cpt';
    3745                $post_type_object = new WP_Post_Type(
     
    6674         * Test that supports can optionally receive nested args.
    6775         *
    6876         * @ticket 40413
     77         *
     78         * @covers WP_Post_Type::add_supports
     79         * @covers WP_Post_Type::remove_supports
    6980         */
    7081        public function test_add_supports_custom_with_args() {
    7182                $post_type        = 'cpt';
     
    103114                $this->assertSameSets( array(), $post_type_supports_after );
    104115        }
    105116
     117        /**
     118         * @covers WP_Post_Type::__construct
     119         * @covers WP_Post_Type::add_rewrite_rules
     120         */
    106121        public function test_does_not_add_query_var_if_not_public() {
    107122                $this->set_permalink_structure( '/%postname%' );
    108123
     
    122137                $this->assertFalse( in_array( 'foobar', $wp->public_query_vars, true ) );
    123138        }
    124139
     140        /**
     141         * @covers WP_Post_Type::__construct
     142         * @covers WP_Post_Type::add_rewrite_rules
     143         */
    125144        public function test_adds_query_var_if_public() {
    126145                $this->set_permalink_structure( '/%postname%' );
    127146
     
    148167                $this->assertFalse( $in_array_after );
    149168        }
    150169
     170        /**
     171         * @covers WP_Post_Type::add_rewrite_rules
     172         * @covers WP_Post_Type::remove_rewrite_rules
     173         */
    151174        public function test_adds_rewrite_rules() {
    152175                $this->set_permalink_structure( '/%postname%' );
    153176
     
    173196                $this->assertFalse( array_search( "%$post_type%", $rewrite_tags_after, true ) );
    174197        }
    175198
     199        /**
     200         * @covers WP_Post_Type::register_meta_boxes
     201         * @covers WP_Post_Type::unregister_meta_boxes
     202         */
    176203        public function test_register_meta_boxes() {
    177204                $post_type        = 'cpt';
    178205                $post_type_object = new WP_Post_Type( $post_type, array( 'register_meta_box_cb' => '__return_false' ) );
     
    186213                $this->assertFalse( $has_action_after );
    187214        }
    188215
     216        /**
     217         * @covers WP_Post_Type::add_hooks
     218         * @covers WP_Post_Type::remove_hooks
     219         */
    189220        public function test_adds_future_post_hook() {
    190221                $post_type        = 'cpt';
    191222                $post_type_object = new WP_Post_Type( $post_type );
     
    198229                $this->assertFalse( $has_action_after );
    199230        }
    200231
     232        /**
     233         * @covers WP_Post_Type::register_taxonomies
     234         * @covers WP_Post_Type::unregister_taxonomies
     235         */
    201236        public function test_register_taxonomies() {
    202237                global $wp_post_types;
    203238
  • tests/phpunit/tests/post/wpPublishPost.php

     
    2525         * Ensure wp_publish_post does not add default category in error.
    2626         *
    2727         * @ticket 51292
     28         *
     29         * @covers ::wp_publish_post
    2830         */
    2931        function test_wp_publish_post_respects_current_categories() {
    3032                $post_id     = self::$auto_draft_id;
     
    4345
    4446        /**
    4547         * Ensure wp_publish_post adds default category.
     48         * @ticket 51292
    4649         *
    4750         * @covers ::wp_publish_post
    48          * @ticket 51292
    4951         */
    5052        function test_wp_publish_post_adds_default_category() {
    5153                $post_id = self::$auto_draft_id;
     
    6365
    6466        /**
    6567         * Ensure wp_publish_post adds default category when tagged.
     68         * @ticket 51292
    6669         *
    6770         * @covers ::wp_publish_post
    68          * @ticket 51292
    6971         */
    7072        function test_wp_publish_post_adds_default_category_when_tagged() {
    7173                $post_id = self::$auto_draft_id;
     
    8486
    8587        /**
    8688         * Ensure wp_publish_post does not add default term in error.
     89         * @ticket 51292
    8790         *
    8891         * @covers ::wp_publish_post
    89          * @ticket 51292
    9092         */
    9193        function test_wp_publish_post_respects_current_terms() {
    9294                // Create custom taxonomy to test with.
     
    119121
    120122        /**
    121123         * Ensure wp_publish_post adds default term.
     124         * @ticket 51292
    122125         *
    123126         * @covers ::wp_publish_post
    124          * @ticket 51292
    125127         */
    126128        function test_wp_publish_post_adds_default_term() {
    127129                // Create custom taxonomy to test with.
  • tests/phpunit/tests/post/wpUniquePostSlug.php

     
    88
    99        /**
    1010         * @ticket 21013
     11         *
     12         * @covers ::wp_insert_post
    1113         */
    1214        public function test_non_latin_slugs() {
    1315                $author_id = self::factory()->user->create( array( 'role' => 'editor' ) );
     
    4244
    4345        /**
    4446         * @ticket 18962
     47         *
     48         * @covers ::wp_unique_post_slug
    4549         */
    4650        public function test_with_multiple_hierarchies() {
    4751                register_post_type( 'post-type-1', array( 'hierarchical' => true ) );
     
    6872
    6973        /**
    7074         * @ticket 30339
     75         *
     76         * @covers ::wp_unique_post_slug
    7177         */
    7278        public function test_with_hierarchy() {
    7379                register_post_type( 'post-type-1', array( 'hierarchical' => true ) );
     
    9197
    9298        /**
    9399         * @ticket 18962
     100         *
     101         * @covers ::wp_unique_post_slug
    94102         */
    95103        function test_wp_unique_post_slug_with_hierarchy_and_attachments() {
    96104                register_post_type( 'post-type-1', array( 'hierarchical' => true ) );
     
    129137
    130138        /**
    131139         * @dataProvider allowed_post_statuses
     140         *
     141         * @covers ::wp_unique_post_slug
    132142         */
    133143        public function test_allowed_post_statuses_should_not_be_forced_to_be_unique( $status ) {
    134144                $p1 = self::factory()->post->create(
     
    157167                );
    158168        }
    159169
     170        /**
     171         * @covers ::wp_unique_post_slug
     172         */
    160173        public function test_revisions_should_not_be_forced_to_be_unique() {
    161174                $p1 = self::factory()->post->create(
    162175                        array(
     
    178191
    179192        /**
    180193         * @ticket 5305
     194         *
     195         * @covers ::wp_unique_post_slug
    181196         */
    182197        public function test_slugs_resulting_in_permalinks_that_resemble_year_archives_should_be_suffixed() {
    183198                $this->set_permalink_structure( '/%postname%/' );
     
    195210
    196211        /**
    197212         * @ticket 5305
     213         *
     214         * @covers ::wp_unique_post_slug
    198215         */
    199216        public function test_slugs_resulting_in_permalinks_that_resemble_year_archives_should_not_be_suffixed_for_already_published_posts() {
    200217                $this->set_permalink_structure( '/%postname%/' );
     
    213230
    214231        /**
    215232         * @ticket 5305
     233         *
     234         * @covers ::wp_unique_post_slug
    216235         */
    217236        public function test_yearlike_slugs_should_not_be_suffixed_if_permalink_structure_does_not_result_in_a_clash_with_year_archives() {
    218237                $this->set_permalink_structure( '/%year%/%postname%/' );
     
    230249
    231250        /**
    232251         * @ticket 5305
     252         *
     253         * @covers ::wp_unique_post_slug
    233254         */
    234255        public function test_slugs_resulting_in_permalinks_that_resemble_month_archives_should_be_suffixed() {
    235256                $this->set_permalink_structure( '/%year%/%postname%/' );
     
    247268
    248269        /**
    249270         * @ticket 5305
     271         *
     272         * @covers ::wp_unique_post_slug
    250273         */
    251274        public function test_monthlike_slugs_should_not_be_suffixed_if_permalink_structure_does_not_result_in_a_clash_with_month_archives() {
    252275                $this->set_permalink_structure( '/%year%/foo/%postname%/' );
     
    264287
    265288        /**
    266289         * @ticket 5305
     290         *
     291         * @covers ::wp_unique_post_slug
    267292         */
    268293        public function test_monthlike_slugs_should_not_be_suffixed_for_invalid_month_numbers() {
    269294                $this->set_permalink_structure( '/%year%/%postname%/' );
     
    281306
    282307        /**
    283308         * @ticket 5305
     309         *
     310         * @covers ::wp_unique_post_slug
    284311         */
    285312        public function test_slugs_resulting_in_permalinks_that_resemble_day_archives_should_be_suffixed() {
    286313                $this->set_permalink_structure( '/%year%/%monthnum%/%postname%/' );
     
    298325
    299326        /**
    300327         * @ticket 5305
     328         *
     329         * @covers ::wp_unique_post_slug
    301330         */
    302331        public function test_daylike_slugs_should_not_be_suffixed_if_permalink_structure_does_not_result_in_a_clash_with_day_archives() {
    303332                $this->set_permalink_structure( '/%year%/%monthnum%/%day%/%postname%/' );
     
    315344
    316345        /**
    317346         * @ticket 5305
     347         *
     348         * @covers ::wp_unique_post_slug
    318349         */
    319350        public function test_daylike_slugs_should_not_be_suffixed_for_invalid_day_numbers() {
    320351                $this->set_permalink_structure( '/%year%/%monthnum%/%postname%/' );
     
    332363
    333364        /**
    334365         * @ticket 34971
     366         *
     367         * @covers ::wp_unique_post_slug
    335368         */
    336369        public function test_embed_slug_should_be_suffixed_for_posts() {
    337370                $this->set_permalink_structure( '/%postname%/' );
     
    349382
    350383        /**
    351384         * @ticket 34971
     385         *
     386         * @covers ::wp_unique_post_slug
    352387         */
    353388        public function test_embed_slug_should_be_suffixed_for_pages() {
    354389                $this->set_permalink_structure( '/%postname%/' );
     
    366401
    367402        /**
    368403         * @ticket 34971
     404         *
     405         * @covers ::wp_unique_post_slug
    369406         */
    370407        public function test_embed_slug_should_be_suffixed_for_attachments() {
    371408                $this->set_permalink_structure( '/%postname%/' );
  • tests/phpunit/tests/privacy/wpCreateUserRequest.php

     
    8484         * Ensure a WP_Error is returned when an invalid email is passed.
    8585         *
    8686         * @ticket 44707
     87         *
     88         * @covers ::wp_create_user_request
    8789         */
    8890        public function test_invalid_email() {
    8991                $actual = wp_create_user_request( 'not-a-valid-email', 'export_personal_data' );
     
    9698         * Ensure a WP_Error is returned when no action is passed.
    9799         *
    98100         * @ticket 46536
     101         *
     102         * @covers ::wp_create_user_request
    99103         */
    100104        public function test_missing_action() {
    101105                $actual = wp_create_user_request( self::$registered_user_email, false );
     
    109113         *
    110114         * @ticket 44707
    111115         * @ticket 46536
     116         *
     117         * @covers ::wp_create_user_request
    112118         */
    113119        public function test_invalid_action() {
    114120                $actual = wp_create_user_request( self::$registered_user_email, 'invalid_action_name' );
     
    121127         * When there are incomplete requests for a registered user, a WP_Error should be returned.
    122128         *
    123129         * @ticket 44707
     130         *
     131         * @covers ::wp_create_user_request
    124132         */
    125133        public function test_failure_due_to_incomplete_registered_user() {
    126134                // Second request (duplicated).
     
    134142         * When there are incomplete requests for an non-registered user, a WP_Error should be returned.
    135143         *
    136144         * @ticket 44707
     145         *
     146         * @covers ::wp_create_user_request
    137147         */
    138148        public function test_failure_due_to_incomplete_unregistered_user() {
    139149                // Update first request.
     
    156166         * Ensure emails are properly sanitized.
    157167         *
    158168         * @ticket 44707
     169         *
     170         * @covers ::wp_create_user_request
    159171         */
    160172        public function test_sanitized_email() {
    161173                $actual = wp_create_user_request( 'some(email<withinvalid\characters@local.test', 'export_personal_data' );
     
    172184         * Ensure action names are properly sanitized.
    173185         *
    174186         * @ticket 44707
     187         *
     188         * @covers ::wp_create_user_request
    175189         */
    176190        public function test_sanitized_action_name() {
    177191                $actual = wp_create_user_request( self::$non_registered_user_email, 'export[_person*al_\data' );
     
    188202         * Test a user request is created successfully for a registered user.
    189203         *
    190204         * @ticket 44707
     205         *
     206         * @covers ::wp_create_user_request
    191207         */
    192208        public function test_create_request_registered_user() {
    193209                wp_delete_post( self::$request_id, true );
     
    215231         * Test a user request is created successfully for an non-registered user.
    216232         *
    217233         * @ticket 44707
     234         *
     235         * @covers ::wp_create_user_request
    218236         */
    219237        public function test_create_request_unregistered_user() {
    220238                wp_delete_post( self::$request_id, true );
     
    243261         * block a new request.
    244262         *
    245263         * @ticket 44707
     264         *
     265         * @covers ::wp_create_user_request
    246266         */
    247267        public function test_completed_request_does_not_block_new_request() {
    248268                // Update first request.
     
    270290         * block a new request.
    271291         *
    272292         * @ticket 44707
     293         *
     294         * @covers ::wp_create_user_request
    273295         */
    274296        public function test_completed_request_does_not_block_new_request_for_unregistered_user() {
    275297                wp_update_post(
     
    298320         * Test that an error from `wp_insert_post()` is returned.
    299321         *
    300322         * @ticket 44707
     323         *
     324         * @covers ::wp_create_user_request
    301325         */
    302326        public function test_wp_error_returned_from_wp_insert_post() {
    303327                wp_delete_post( self::$request_id, true );
  • tests/phpunit/tests/privacy/wpPrivacyCompletedRequest.php

     
    3838         * The function should return error for invalid request ID.
    3939         *
    4040         * @ticket 43913
     41         *
     42         * @covers ::_wp_privacy_completed_request
    4143         */
    4244        public function test_wp_privacy_completed_request_should_return_error_for_invalid_request_id() {
    4345                $actual = _wp_privacy_completed_request( 0 );
     
    5355         * The function should mark a request as completed.
    5456         *
    5557         * @ticket 43913
     58         *
     59         * @covers ::_wp_privacy_completed_request
    5660         */
    5761        public function test_wp_privacy_completed_request_should_mark_request_completed() {
    5862                $this->assertSame( 'request-pending', get_post_status( self::$request_id ) );
     
    6468         * The function should log the request timestamp.
    6569         *
    6670         * @ticket 43913
     71         *
     72         * @covers ::_wp_privacy_completed_request
    6773         */
    6874        public function test_wp_privacy_completed_request_should_log_request_timestamp() {
    6975                $this->assertEmpty( get_post_meta( self::$request_id, '_wp_user_request_completed_timestamp', true ) );
  • tests/phpunit/tests/privacy/wpPrivacyDeleteOldExportFiles.php

     
    8383         * The function should not throw notices when the exports directory doesn't exist.
    8484         *
    8585         * @since 4.9.6
     86         *
     87         * @covers ::wp_privacy_delete_old_export_files
    8688         */
    8789        public function test_non_existent_folders_should_not_cause_errors() {
    8890                add_filter( 'wp_privacy_exports_dir', array( $this, 'filter_bad_exports_dir' ) );
     
    115117         * The function should delete files that are past the expiration date.
    116118         *
    117119         * @since 4.9.6
     120         *
     121         * @covers ::wp_privacy_delete_old_export_files
    118122         */
    119123        public function test_expired_files_should_be_deleted() {
    120124                wp_privacy_delete_old_export_files();
     
    126130         * The function should not delete files that are not past the expiration date.
    127131         *
    128132         * @since 4.9.6
     133         *
     134         * @covers ::wp_privacy_delete_old_export_files
    129135         */
    130136        public function test_unexpired_files_should_not_be_deleted() {
    131137                wp_privacy_delete_old_export_files();
     
    137143         * The function should never delete the index file, even if it's past the expiration date.
    138144         *
    139145         * @since 4.9.6
     146         *
     147         * @covers ::wp_privacy_delete_old_export_files
    140148         */
    141149        public function test_index_file_should_never_be_deleted() {
    142150                wp_privacy_delete_old_export_files();
     
    148156         * Test the correct files are deleted when the expiration time is filtered.
    149157         *
    150158         * @since 4.9.9
     159         *
     160         * @covers ::wp_privacy_delete_old_export_files
    151161         */
    152162        public function test_filtered_expiration_time() {
    153163                add_filter( 'wp_privacy_export_expiration', array( $this, 'filter_export_file_expiration_time' ) );
  • tests/phpunit/tests/privacy/wpPrivacyGeneratePersonalDataExportFile.php

     
    159159         * When a remove request ID is passed to the export function an error should be displayed.
    160160         *
    161161         * @ticket 44233
     162         *
     163         * @covers ::wp_privacy_generate_personal_data_export_file
    162164         */
    163165        public function test_rejects_remove_requests() {
    164166                $request_id = wp_create_user_request( 'removal-requester@example.com', 'remove_personal_data' );
     
    172174         * When an invalid request ID is passed an error should be displayed.
    173175         *
    174176         * @ticket 44233
     177         *
     178         * @covers ::wp_privacy_generate_personal_data_export_file
    175179         */
    176180        public function test_invalid_request_id() {
    177181                $this->expectException( 'WPDieException' );
     
    183187         * When the request post title is not a valid email an error should be displayed.
    184188         *
    185189         * @ticket 44233
     190         *
     191         * @covers ::wp_privacy_generate_personal_data_export_file
    186192         */
    187193        public function test_rejects_requests_with_bad_email_addresses() {
    188194                $request_id = wp_create_user_request( 'bad-email-requester@example.com', 'export_personal_data' );
     
    203209         * When the export directory fails to be created an error should be displayed.
    204210         *
    205211         * @ticket 44233
     212         *
     213         * @covers ::wp_privacy_generate_personal_data_export_file
    206214         */
    207215        public function test_detect_cannot_create_folder() {
    208216                // Create a file with the folder name to ensure the function cannot create a folder.
     
    217225         * Test that an index.html file can be added to the export directory.
    218226         *
    219227         * @ticket 44233
     228         *
     229         * @covers ::wp_privacy_generate_personal_data_export_file
    220230         */
    221231        public function test_creates_index_in_export_folder() {
    222232                $this->expectOutputString( '' );
     
    229239         * Test that an export file is successfully created.
    230240         *
    231241         * @ticket 44233
     242         *
     243         * @covers ::wp_privacy_generate_personal_data_export_file
    232244         */
    233245        public function test_can_succeed() {
    234246                wp_privacy_generate_personal_data_export_file( self::$export_request_id );
     
    240252         * Test the export HTML file has all the expected parts.
    241253         *
    242254         * @ticket 44233
     255         *
     256         * @covers ::wp_privacy_generate_personal_data_export_file
    243257         */
    244258        public function test_html_contents() {
    245259                $this->expectOutputString( '' );
     
    269283         * Test the export JSON file has all the expected parts.
    270284         *
    271285         * @ticket 49029
     286         *
     287         * @covers ::wp_privacy_generate_personal_data_export_file
    272288         */
    273289        public function test_json_contents() {
    274290                $this->expectOutputString( '' );
     
    299315         * Test the export HTML file containing one export group has no table of contents.
    300316         *
    301317         * @ticket 46894
     318         *
     319         * @covers ::wp_privacy_generate_personal_data_export_file
    302320         */
    303321        public function test_single_group_export_no_toc_or_return_to_top() {
    304322                $this->expectOutputString( '' );
     
    328346         * Test the export HTML file containing ore than one export group has a table of contents.
    329347         *
    330348         * @ticket 46894
     349         *
     350         * @covers ::wp_privacy_generate_personal_data_export_file
    331351         */
    332352        public function test_multiple_group_export_has_toc_and_return_to_top() {
    333353                $this->expectOutputString( '' );
     
    405425         * has a table of contents with group count.
    406426         *
    407427         * @ticket 46894
     428         *
     429         * @covers ::wp_privacy_generate_personal_data_export_file
    408430         */
    409431        public function test_multiple_group_export_multiple_items_group_count_in_toc() {
    410432                $this->expectOutputString( '' );
     
    547569         * has a table of contents without group count.
    548570         *
    549571         * @ticket 46894
     572         *
     573         * @covers ::wp_privacy_generate_personal_data_export_file
    550574         */
    551575        public function test_multiple_group_export_single_items_no_group_count_in_toc() {
    552576                $this->expectOutputString( '' );
  • tests/phpunit/tests/privacy/wpPrivacyGeneratePersonalDataExportGroupHtml.php

     
    2121         * Test when a single data item is passed.
    2222         *
    2323         * @ticket 44044
     24         *
     25         * @covers ::wp_privacy_generate_personal_data_export_group_html
    2426         */
    2527        public function test_group_html_generation_single_data_item() {
    2628                $data = array(
     
    5153         *
    5254         * @ticket 44044
    5355         * @ticket 46895 Updated to remove </h2> from test to avoid Count introducing failure.
     56         *
     57         * @covers ::wp_privacy_generate_personal_data_export_group_html
    5458         */
    5559        public function test_group_html_generation_multiple_data_items() {
    5660                $data = array(
     
    9599         * Values that appear to be links should be wrapped in `<a>` tags.
    96100         *
    97101         * @ticket 44044
     102         *
     103         * @covers ::wp_privacy_generate_personal_data_export_group_html
    98104         */
    99105        public function test_links_become_anchors() {
    100106                $data = array(
     
    128134         * HTML in group labels should be escaped.
    129135         *
    130136         * @ticket 44044
     137         *
     138         * @covers ::wp_privacy_generate_personal_data_export_group_html
    131139         */
    132140        public function test_group_labels_escaped() {
    133141                $data = array(
     
    144152         * Test that the exported data should contain allowed HTML.
    145153         *
    146154         * @ticket 44044
     155         *
     156         * @covers ::wp_privacy_generate_personal_data_export_group_html
    147157         */
    148158        public function test_allowed_html_not_stripped() {
    149159                $data = array(
     
    171181         * Test that the exported data should not contain disallowed HTML.
    172182         *
    173183         * @ticket 44044
     184         *
     185         * @covers ::wp_privacy_generate_personal_data_export_group_html
    174186         */
    175187        public function test_disallowed_html_is_stripped() {
    176188                $data = array(
     
    202214         * Test group count is displayed for multiple items.
    203215         *
    204216         * @ticket 46895
     217         *
     218         * @covers ::wp_privacy_generate_personal_data_export_group_html
    205219         */
    206220        public function test_group_html_generation_should_display_group_count_when_multiple_items() {
    207221                $data = array(
     
    233247         * Test group count is not displayed for a single item.
    234248         *
    235249         * @ticket 46895
     250         *
     251         * @covers ::wp_privacy_generate_personal_data_export_group_html
    236252         */
    237253        public function test_group_html_generation_should_not_display_group_count_when_single_item() {
    238254                $data = array(
  • tests/phpunit/tests/privacy/wpPrivacyProcessPersonalDataExportPage.php

     
    268268         * @dataProvider data_wp_privacy_process_personal_data_export_page
    269269         *
    270270         * @param string|array $expected_response The response from the personal data exporter for the given test.
     271         *
     272         * @covers ::wp_privacy_process_personal_data_export_page
    271273         */
    272274        public function test_wp_privacy_process_personal_data_export_page( $expected_response ) {
    273275                $actual_response = wp_privacy_process_personal_data_export_page(
     
    358360         * @dataProvider data_send_as_email_options
    359361         *
    360362         * @param bool Whether the final results of the export should be emailed to the user.
     363         *
     364         * @covers ::wp_privacy_process_personal_data_export_page
    361365         */
    362366        public function test_send_error_when_invalid_request_id( $send_as_email ) {
    363367                $response           = array(
     
    388392         * @dataProvider data_send_as_email_options
    389393         *
    390394         * @param bool Whether the final results of the export should be emailed to the user.
     395         *
     396         * @covers ::wp_privacy_process_personal_data_export_page
    391397         */
    392398        public function test_send_error_when_invalid_request_action_name( $send_as_email ) {
    393399                $response = array(
     
    421427         *
    422428         * @param bool Whether the final results of the export should be emailed to the user.
    423429         *
     430         * @covers ::wp_privacy_process_personal_data_export_page
     431         *
    424432         */
    425433        public function test_raw_data_post_meta( $send_as_email ) {
    426434                $this->assertEmpty( get_post_meta( self::$request_id, '_export_data_raw', true ) );
     
    461469         * @dataProvider data_send_as_email_options
    462470         *
    463471         * @param bool Whether the final results of the export should be emailed to the user.
     472         *
     473         * @covers ::wp_privacy_process_personal_data_export_page
    464474         */
    465475        public function test_add_post_meta_with_groups_data_only_available_when_export_file_generated( $send_as_email ) {
    466476                // Adds post meta when processing data, given the first exporter on the first page and send as email.
     
    496506         * When mail delivery fails, the function should send a JSON error on the last page of the last exporter.
    497507         *
    498508         * @ticket 44233
     509         *
     510         * @covers ::wp_privacy_process_personal_data_export_page
    499511         */
    500512        public function test_send_error_on_last_page_of_last_exporter_when_mail_delivery_fails() {
    501513                // Cause `wp_mail()` to return false, to simulate mail delivery failure. Filter removed in tearDown.
     
    520532         * for the last exporter on the last page.
    521533         *
    522534         * @ticket 44233
     535         *
     536         * @covers ::wp_privacy_process_personal_data_export_page
    523537         */
    524538        public function test_return_response_with_export_file_url_when_not_sent_as_email_for_last_exporter_on_last_page() {
    525539                update_post_meta( self::$request_id, '_export_file_name', self::$export_file_name );
     
    546560         * for the last exporter on the last page.
    547561         *
    548562         * @ticket 44233
     563         *
     564         * @covers ::wp_privacy_process_personal_data_export_page
    549565         */
    550566        public function test_return_response_without_export_file_url_when_sent_as_email_for_last_exporter_on_last_page() {
    551567                update_post_meta( self::$request_id, '_export_file_name', self::$export_file_name );
     
    579595         * @param string $page_index      The page index to pass. Options are 'first' and 'last'. Default 'first'.
    580596         * @param bool   $send_as_email   If the response should be sent as an email.
    581597         * @param string $exporter_key    The slug (key) of the exporter to pass.
     598         *
     599         * @covers ::wp_privacy_process_personal_data_export_page
    582600         */
    583601        public function test_request_status_transitions_correctly( $expected_status, $response_page, $exporter_index, $page_index, $send_as_email, $exporter_key ) {
    584602                if ( 'first' === $response_page ) {
  • tests/phpunit/tests/privacy/wpPrivacySendErasureFulfillmentNotification.php

     
    108108         * The function should send an email when a valid request ID is passed.
    109109         *
    110110         * @ticket 44234
     111         *
     112         * @covers ::_wp_privacy_send_erasure_fulfillment_notification
    111113         */
    112114        public function test_should_send_email_no_privacy_policy() {
    113115
     
    129131         * The email should include a link to the site's privacy policy when set.
    130132         *
    131133         * @ticket 44234
     134         *
     135         * @covers ::_wp_privacy_send_erasure_fulfillment_notification
    132136         */
    133137        public function test_should_send_email_with_privacy_policy() {
    134138                $privacy_policy = $this->factory->post->create(
     
    154158         * The function should send a fulfillment email only once.
    155159         *
    156160         * @ticket 44234
     161         *
     162         * @covers ::_wp_privacy_send_erasure_fulfillment_notification
    157163         */
    158164        public function test_should_send_email_only_once() {
    159165                // First function call.
     
    182188         * The email address of the recipient of the fulfillment notification should be filterable.
    183189         *
    184190         * @ticket 44234
     191         *
     192         * @covers ::_wp_privacy_send_erasure_fulfillment_notification
    185193         */
    186194        public function test_email_address_of_recipient_should_be_filterable() {
    187195                add_filter( 'user_erasure_fulfillment_email_to', array( $this, 'filter_email_address' ) );
     
    208216         * The email subject of the fulfillment notification should be filterable.
    209217         *
    210218         * @ticket 44234
     219         *
     220         * @covers ::_wp_privacy_send_erasure_fulfillment_notification
    211221         */
    212222        public function test_email_subject_should_be_filterable() {
    213223                add_filter( 'user_erasure_complete_email_subject', array( $this, 'filter_email_subject' ) );
     
    234244         * The email body text of the fulfillment notification should be filterable.
    235245         *
    236246         * @ticket 44234
     247         *
     248         * @covers ::_wp_privacy_send_erasure_fulfillment_notification
    237249         */
    238250        public function test_email_body_text_should_be_filterable() {
    239251                add_filter( 'user_confirmed_action_email_content', array( $this, 'filter_email_body_text' ) );
     
    262274         * @since 5.4.0
    263275         *
    264276         * @ticket 44501
     277         *
     278         * @covers ::_wp_privacy_send_erasure_fulfillment_notification
    265279         */
    266280        public function test_email_headers_should_be_filterable() {
    267281                add_filter( 'user_erasure_complete_email_headers', array( $this, 'modify_email_headers' ) );
     
    292306         * The function should not send an email when the request ID does not exist.
    293307         *
    294308         * @ticket 44234
     309         *
     310         * @covers ::_wp_privacy_send_erasure_fulfillment_notification
    295311         */
    296312        public function test_should_not_send_email_when_passed_invalid_request_id() {
    297313                _wp_privacy_send_erasure_fulfillment_notification( 1234567890 );
     
    305321         * The function should not send an email when the ID passed does not correspond to a user request.
    306322         *
    307323         * @ticket 44234
     324         *
     325         * @covers ::_wp_privacy_send_erasure_fulfillment_notification
    308326         */
    309327        public function test_should_not_send_email_when_not_user_request() {
    310328                $post_id = $this->factory->post->create(
     
    323341         * The function should not send an email when the request is not completed.
    324342         *
    325343         * @ticket 44234
     344         *
     345         * @covers ::_wp_privacy_send_erasure_fulfillment_notification
    326346         */
    327347        public function test_should_not_send_email_when_request_not_completed() {
    328348                wp_update_post(
     
    346366         * @since 5.2.0
    347367         * @ticket 44721
    348368         * @group l10n
     369         *
     370         * @covers ::_wp_privacy_send_erasure_fulfillment_notification
    349371         */
    350372        public function test_should_send_fulfillment_email_in_user_locale() {
    351373                update_user_meta( self::$request_user->ID, 'locale', 'es_ES' );
     
    363385         * @since 5.2.0
    364386         * @ticket 44721
    365387         * @group l10n
     388         *
     389         * @covers ::_wp_privacy_send_erasure_fulfillment_notification
    366390         */
    367391        public function test_should_send_fulfillment_email_in_user_locale_when_site_is_not_en_us() {
    368392                update_option( 'WPLANG', 'es_ES' );
     
    384408         * @since 5.2.0
    385409         * @ticket 44721
    386410         * @group l10n
     411         *
     412         * @covers ::_wp_privacy_send_erasure_fulfillment_notification
    387413         */
    388414        public function test_should_send_fulfillment_email_in_user_locale_when_admin_and_site_have_different_locales() {
    389415                update_option( 'WPLANG', 'es_ES' );
     
    405431         * @since 5.2.0
    406432         * @ticket 44721
    407433         * @group l10n
     434         *
     435         * @covers ::_wp_privacy_send_erasure_fulfillment_notification
    408436         */
    409437        public function test_should_send_fulfillment_email_in_user_locale_when_both_have_different_locales_than_site() {
    410438                update_option( 'WPLANG', 'es_ES' );
     
    428456         * @since 5.2.0
    429457         * @ticket 44721
    430458         * @group l10n
     459         *
     460         * @covers ::_wp_privacy_send_erasure_fulfillment_notification
    431461         */
    432462        public function test_should_send_fulfillment_email_in_site_locale() {
    433463                update_user_meta( self::$admin_user->ID, 'locale', 'es_ES' );
     
    454484         * @since 5.2.0
    455485         * @ticket 44721
    456486         * @group l10n
     487         *
     488         * @covers ::_wp_privacy_send_erasure_fulfillment_notification
    457489         */
    458490        public function test_should_send_fulfillment_email_in_site_locale_when_not_en_us_and_admin_has_different_locale() {
    459491                update_option( 'WPLANG', 'es_ES' );
  • tests/phpunit/tests/privacy/wpPrivacySendPersonalDataExportEmail.php

     
    102102
    103103        /**
    104104         * The function should send an export link to the requester when the user request is confirmed.
     105         *
     106         * @covers ::wp_privacy_send_personal_data_export_email
    105107         */
    106108        public function test_function_should_send_export_link_to_requester() {
    107109                $exports_url      = wp_privacy_exports_url();
     
    124126         * The function should error when the request ID is invalid.
    125127         *
    126128         * @since 4.9.6
     129         *
     130         * @covers ::wp_privacy_send_personal_data_export_email
    127131         */
    128132        public function test_function_should_error_when_request_id_invalid() {
    129133                $request_id = 0;
     
    141145         * The function should error when the email was not sent.
    142146         *
    143147         * @since 4.9.6
     148         *
     149         * @covers ::wp_privacy_send_personal_data_export_email
    144150         */
    145151        public function test_return_wp_error_when_send_fails() {
    146152                add_filter( 'wp_mail_from', '__return_empty_string' ); // Cause `wp_mail()` to return false.
     
    154160         * The export expiration should be filterable.
    155161         *
    156162         * @since 4.9.6
     163         *
     164         * @covers ::wp_privacy_send_personal_data_export_email
    157165         */
    158166        public function test_export_expiration_should_be_filterable() {
    159167                add_filter( 'wp_privacy_export_expiration', array( $this, 'modify_export_expiration' ) );
     
    180188         * The email address of the recipient of the personal data export notification should be filterable.
    181189         *
    182190         * @ticket 46303
     191         *
     192         * @covers ::wp_privacy_send_personal_data_export_email
    183193         */
    184194        public function test_email_address_of_recipient_should_be_filterable() {
    185195                add_filter( 'wp_privacy_personal_data_email_to', array( $this, 'filter_email_address' ) );
     
    206216         * The email subject of the personal data export notification should be filterable.
    207217         *
    208218         * @ticket 46303
     219         *
     220         * @covers ::wp_privacy_send_personal_data_export_email
    209221         */
    210222        public function test_email_subject_should_be_filterable() {
    211223                add_filter( 'wp_privacy_personal_data_email_subject', array( $this, 'filter_email_subject' ) );
     
    232244         * The email content should be filterable.
    233245         *
    234246         * @since 4.9.6
     247         *
     248         * @covers ::wp_privacy_send_personal_data_export_email
    235249         */
    236250        public function test_email_content_should_be_filterable() {
    237251                add_filter( 'wp_privacy_personal_data_email_content', array( $this, 'modify_email_content' ), 10, 2 );
     
    260274         * @since 5.4.0
    261275         *
    262276         * @ticket 44501
     277         *
     278         * @covers ::wp_privacy_send_personal_data_export_email
    263279         */
    264280        public function test_email_headers_should_be_filterable() {
    265281                add_filter( 'wp_privacy_personal_data_email_headers', array( $this, 'modify_email_headers' ) );
     
    290306         * The email content should be filterable using the $email_data
    291307         *
    292308         * @ticket 46303
     309         *
     310         * @covers ::wp_privacy_send_personal_data_export_email
    293311         */
    294312        public function test_email_content_should_be_filterable_using_email_data() {
    295313                add_filter( 'wp_privacy_personal_data_email_content', array( $this, 'modify_email_content_with_email_data' ), 10, 3 );
     
    333351         * @since 5.2.0
    334352         * @ticket 46056
    335353         * @group l10n
     354         *
     355         * @covers ::wp_privacy_send_personal_data_export_email
    336356         */
    337357        public function test_should_send_personal_data_export_email_in_user_locale() {
    338358                update_user_meta( self::$request_user->ID, 'locale', 'es_ES' );
     
    351371         * @since 5.2.0
    352372         * @ticket 46056
    353373         * @group l10n
     374         *
     375         * @covers ::wp_privacy_send_personal_data_export_email
    354376         */
    355377        public function test_should_send_personal_data_export_email_in_user_locale_when_site_is_not_en_us() {
    356378                update_option( 'WPLANG', 'es_ES' );
     
    373395         * @since 5.2.0
    374396         * @ticket 46056
    375397         * @group l10n
     398         *
     399         * @covers ::wp_privacy_send_personal_data_export_email
    376400         */
    377401        public function test_should_send_personal_data_export_email_in_user_locale_when_admin_and_site_have_different_locales() {
    378402                update_option( 'WPLANG', 'es_ES' );
     
    395419         * @since 5.2.0
    396420         * @ticket 46056
    397421         * @group l10n
     422         *
     423         * @covers ::wp_privacy_send_personal_data_export_email
    398424         */
    399425        public function test_should_send_personal_data_export_email_in_user_locale_when_both_have_different_locales_than_site() {
    400426                update_option( 'WPLANG', 'es_ES' );
     
    419445         * @since 5.2.0
    420446         * @ticket 46056
    421447         * @group l10n
     448         *
     449         * @covers ::wp_privacy_send_personal_data_export_email
    422450         */
    423451        public function test_should_send_personal_data_export_email_in_site_locale() {
    424452                update_user_meta( self::$admin_user->ID, 'locale', 'es_ES' );
     
    441469         * @since 5.2.0
    442470         * @ticket 46056
    443471         * @group l10n
     472         *
     473         * @covers ::wp_privacy_send_personal_data_export_email
    444474         */
    445475        public function test_should_send_personal_data_export_email_in_site_locale_when_not_en_us_and_admin_has_different_locale() {
    446476                update_option( 'WPLANG', 'es_ES' );
  • tests/phpunit/tests/privacy/wpPrivacySendRequestConfirmationNotification.php

     
    3939         * The function should not send emails when the request ID does not exist.
    4040         *
    4141         * @ticket 43967
     42         *
     43         * @covers ::_wp_privacy_send_request_confirmation_notification
    4244         */
    4345        public function test_function_should_not_send_email_when_not_a_valid_request_id() {
    4446                _wp_privacy_send_request_confirmation_notification( 1234567890 );
     
    5153         * The function should not send emails when the ID passed is not a WP_User_Request.
    5254         *
    5355         * @ticket 43967
     56         *
     57         * @covers ::_wp_privacy_send_request_confirmation_notification
    5458         */
    5559        public function test_function_should_not_send_email_when_not_a_wp_user_request() {
    5660                $post_id = $this->factory->post->create(
     
    6973         * The function should send an email to the site admin when a user request is confirmed.
    7074         *
    7175         * @ticket 43967
     76         *
     77         * @covers ::_wp_privacy_send_request_confirmation_notification
    7278         */
    7379        public function test_function_should_send_email_to_site_admin_when_user_request_confirmed() {
    7480                $email      = 'export.request.from.unregistered.user@example.com';
     
    9298         * The function should only send an email to the site admin when a user request is confirmed.
    9399         *
    94100         * @ticket 43967
     101         *
     102         * @covers ::_wp_privacy_send_request_confirmation_notification
    95103         */
    96104        public function test_function_should_only_send_email_to_site_admin_when_user_request_is_confirmed() {
    97105                $email      = 'export.request.from.unregistered.user@example.com';
     
    112120         * The function should only send an email once to the site admin when a user request is confirmed.
    113121         *
    114122         * @ticket 43967
     123         *
     124         * @covers ::_wp_privacy_send_request_confirmation_notification
    115125         */
    116126        public function test_function_should_only_send_email_once_to_admin_when_user_request_is_confirmed() {
    117127                $email      = 'export.request.from.unregistered.user@example.com';
     
    136146         * The email address should be filterable.
    137147         *
    138148         * @ticket 43967
     149         *
     150         * @covers ::_wp_privacy_send_request_confirmation_notification
    139151         */
    140152        public function test_email_address_should_be_filterable() {
    141153                $email      = 'export.request.from.unregistered.user@example.com';
     
    169181         * The email content should be filterable.
    170182         *
    171183         * @ticket 43967
     184         *
     185         * @covers ::_wp_privacy_send_request_confirmation_notification
    172186         */
    173187        public function test_email_content_should_be_filterable() {
    174188                $email      = 'export.request.from.unregistered.user@example.com';
     
    213227         * @since 5.4.0
    214228         *
    215229         * @ticket 44501
     230         *
     231         * @covers ::_wp_privacy_send_request_confirmation_notification
    216232         */
    217233        public function test_email_headers_should_be_filterable() {
    218234                $email      = 'export.request.from.unregistered.user@example.com';