Make WordPress Core

Changeset 55321


Ignore:
Timestamp:
02/13/2023 07:11:15 PM (2 years ago)
Author:
SergeyBiryukov
Message:

Tests: Move wp_comments_personal_data_exporter() tests to their own file.

This aims to make the tests more discoverable and easier to expand.

Follow-up to [42987], [55319].

See #56793.

Location:
trunk/tests/phpunit/tests
Files:
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/comment.php

    r55320 r55321  
    12371237        $this->assertSame( '1', $comment->comment_approved );
    12381238    }
    1239 
    1240     /**
    1241      * Testing the `wp_comments_personal_data_exporter()` function.
    1242      *
    1243      * @group privacy
    1244      * @ticket 43440
    1245      *
    1246      * @covers ::wp_comments_personal_data_exporter
    1247      */
    1248     public function test_wp_comments_personal_data_exporter() {
    1249         $args = array(
    1250             'comment_post_ID'      => self::$post_id,
    1251             'comment_author'       => 'Comment Author',
    1252             'comment_author_email' => 'personal@local.host',
    1253             'comment_author_url'   => 'https://local.host/',
    1254             'comment_author_IP'    => '192.168.0.1',
    1255             'comment_agent'        => 'SOME_AGENT',
    1256             'comment_date'         => '2018-03-28 20:05:00',
    1257             'comment_content'      => 'Comment',
    1258         );
    1259 
    1260         $comment_id = self::factory()->comment->create( $args );
    1261 
    1262         $actual   = wp_comments_personal_data_exporter( $args['comment_author_email'] );
    1263         $expected = $args;
    1264 
    1265         $this->assertTrue( $actual['done'] );
    1266 
    1267         // Number of exported comments.
    1268         $this->assertCount( 1, $actual['data'] );
    1269 
    1270         // Number of exported comment properties.
    1271         $this->assertCount( 8, $actual['data'][0]['data'] );
    1272 
    1273         // Exported group.
    1274         $this->assertSame( 'comments', $actual['data'][0]['group_id'] );
    1275         $this->assertSame( 'Comments', $actual['data'][0]['group_label'] );
    1276 
    1277         // Exported comment properties.
    1278         $this->assertSame( $expected['comment_author'], $actual['data'][0]['data'][0]['value'] );
    1279         $this->assertSame( $expected['comment_author_email'], $actual['data'][0]['data'][1]['value'] );
    1280         $this->assertSame( $expected['comment_author_url'], $actual['data'][0]['data'][2]['value'] );
    1281         $this->assertSame( $expected['comment_author_IP'], $actual['data'][0]['data'][3]['value'] );
    1282         $this->assertSame( $expected['comment_agent'], $actual['data'][0]['data'][4]['value'] );
    1283         $this->assertSame( $expected['comment_date'], $actual['data'][0]['data'][5]['value'] );
    1284         $this->assertSame( $expected['comment_content'], $actual['data'][0]['data'][6]['value'] );
    1285         $this->assertSame( esc_html( get_comment_link( $comment_id ) ), strip_tags( $actual['data'][0]['data'][7]['value'] ) );
    1286     }
    1287 
    1288     /**
    1289      * Testing the `wp_comments_personal_data_exporter()` function for no comments found.
    1290      *
    1291      * @group privacy
    1292      * @ticket 43440
    1293      *
    1294      * @covers ::wp_comments_personal_data_exporter
    1295      */
    1296     public function test_wp_comments_personal_data_exporter_no_comments_found() {
    1297 
    1298         $actual = wp_comments_personal_data_exporter( 'nocommentsfound@local.host' );
    1299 
    1300         $expected = array(
    1301             'data' => array(),
    1302             'done' => true,
    1303         );
    1304 
    1305         $this->assertSame( $expected, $actual );
    1306     }
    1307 
    1308     /**
    1309      * Testing the `wp_comments_personal_data_exporter()` function for an empty comment property.
    1310      *
    1311      * @group privacy
    1312      * @ticket 43440
    1313      *
    1314      * @covers ::wp_comments_personal_data_exporter
    1315      */
    1316     public function test_wp_comments_personal_data_exporter_empty_comment_prop() {
    1317         $args = array(
    1318             'comment_post_ID'      => self::$post_id,
    1319             'comment_author'       => 'Comment Author',
    1320             'comment_author_email' => 'personal@local.host',
    1321             'comment_author_url'   => 'https://local.host/',
    1322             'comment_author_IP'    => '192.168.0.1',
    1323             'comment_date'         => '2018-03-28 20:05:00',
    1324             'comment_agent'        => '',
    1325             'comment_content'      => 'Comment',
    1326         );
    1327 
    1328         $c = self::factory()->comment->create( $args );
    1329 
    1330         $actual = wp_comments_personal_data_exporter( $args['comment_author_email'] );
    1331 
    1332         $this->assertTrue( $actual['done'] );
    1333 
    1334         // Number of exported comments.
    1335         $this->assertCount( 1, $actual['data'] );
    1336 
    1337         // Number of exported comment properties.
    1338         $this->assertCount( 7, $actual['data'][0]['data'] );
    1339     }
    1340 
    1341     /**
    1342      * Testing the `wp_comments_personal_data_exporter()` function with an empty second page.
    1343      *
    1344      * @group privacy
    1345      * @ticket 43440
    1346      *
    1347      * @covers ::wp_comments_personal_data_exporter
    1348      */
    1349     public function test_wp_comments_personal_data_exporter_empty_second_page() {
    1350         $args = array(
    1351             'comment_post_ID'      => self::$post_id,
    1352             'comment_author'       => 'Comment Author',
    1353             'comment_author_email' => 'personal@local.host',
    1354             'comment_author_url'   => 'https://local.host/',
    1355             'comment_author_IP'    => '192.168.0.1',
    1356             'comment_date'         => '2018-03-28 20:05:00',
    1357             'comment_agent'        => 'SOME_AGENT',
    1358             'comment_content'      => 'Comment',
    1359         );
    1360 
    1361         $c = self::factory()->comment->create( $args );
    1362 
    1363         $actual = wp_comments_personal_data_exporter( $args['comment_author_email'], 2 );
    1364 
    1365         $this->assertTrue( $actual['done'] );
    1366 
    1367         // Number of exported comments.
    1368         $this->assertCount( 0, $actual['data'] );
    1369     }
    13701239}
  • trunk/tests/phpunit/tests/comment/wpCommentsPersonalDataExporter.php

    r55320 r55321  
    33/**
    44 * @group comment
     5 * @group privacy
     6 *
     7 * @covers ::wp_comments_personal_data_exporter
    58 */
    6 class Tests_Comment extends WP_UnitTestCase {
    7     protected static $user_id;
    8     protected static $post_id;
    9     protected static $notify_message = '';
    10 
    11     protected $preprocess_comment_data = array();
    12 
    13     public function set_up() {
    14         parent::set_up();
    15         reset_phpmailer_instance();
    16     }
    17 
    18     public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) {
    19         self::$user_id = $factory->user->create(
    20             array(
    21                 'role'       => 'author',
    22                 'user_login' => 'test_wp_user_get',
    23                 'user_pass'  => 'password',
    24                 'user_email' => 'test@test.com',
    25             )
    26         );
    27 
    28         self::$post_id = $factory->post->create(
    29             array(
    30                 'post_author' => self::$user_id,
    31             )
    32         );
    33     }
    34 
    35     /**
    36      * @covers ::wp_update_comment
    37      */
    38     public function test_wp_update_comment() {
    39         $post  = self::factory()->post->create_and_get(
    40             array(
    41                 'post_title' => 'some-post',
    42                 'post_type'  => 'post',
    43             )
    44         );
    45         $post2 = self::factory()->post->create_and_get(
    46             array(
    47                 'post_title' => 'some-post-2',
    48                 'post_type'  => 'post',
    49             )
    50         );
    51 
    52         $comments = self::factory()->comment->create_post_comments( $post->ID, 5 );
    53 
    54         $result = wp_update_comment(
    55             array(
    56                 'comment_ID'     => $comments[0],
    57                 'comment_parent' => $comments[1],
    58             )
    59         );
    60         $this->assertSame( 1, $result );
    61 
    62         $comment = get_comment( $comments[0] );
    63         $this->assertEquals( $comments[1], $comment->comment_parent );
    64 
    65         $result = wp_update_comment(
    66             array(
    67                 'comment_ID'     => $comments[0],
    68                 'comment_parent' => $comments[1],
    69             )
    70         );
    71         $this->assertSame( 0, $result );
    72 
    73         $result = wp_update_comment(
    74             array(
    75                 'comment_ID'      => $comments[0],
    76                 'comment_post_ID' => $post2->ID,
    77             )
    78         );
    79 
    80         $comment = get_comment( $comments[0] );
    81         $this->assertEquals( $post2->ID, $comment->comment_post_ID );
    82     }
    83 
    84     public function test_update_comment_from_privileged_user_by_privileged_user() {
    85         $admin_id_1 = self::factory()->user->create( array( 'role' => 'administrator' ) );
    86         wp_set_current_user( $admin_id_1 );
    87 
    88         $comment_id = wp_new_comment(
    89             array(
    90                 'comment_post_ID'      => self::$post_id,
    91                 'comment_author'       => 'Author',
    92                 'comment_author_url'   => 'http://example.localhost/',
    93                 'comment_author_email' => 'test@test.com',
    94                 'user_id'              => $admin_id_1,
    95                 'comment_content'      => 'This is a comment',
    96             )
    97         );
    98 
    99         wp_set_current_user( 0 );
    100 
    101         $admin_id_2 = self::factory()->user->create(
    102             array(
    103                 'role'       => 'administrator',
    104                 'user_login' => 'test_wp_admin_get',
    105                 'user_pass'  => 'password',
    106                 'user_email' => 'testadmin@test.com',
    107             )
    108         );
    109 
    110         wp_set_current_user( $admin_id_2 );
    111 
    112         wp_update_comment(
    113             array(
    114                 'comment_ID'      => $comment_id,
    115                 'comment_content' => 'new comment <img onerror=demo src=x>',
    116             )
    117         );
    118 
    119         $comment          = get_comment( $comment_id );
    120         $expected_content = is_multisite()
    121             ? 'new comment '
    122             : 'new comment <img onerror=demo src=x>';
    123 
    124         $this->assertSame( $expected_content, $comment->comment_content );
    125 
    126         wp_set_current_user( 0 );
    127     }
    128 
    129     public function test_update_comment_from_unprivileged_user_by_privileged_user() {
    130         wp_set_current_user( self::$user_id );
    131 
    132         $comment_id = wp_new_comment(
    133             array(
    134                 'comment_post_ID'      => self::$post_id,
    135                 'comment_author'       => 'Author',
    136                 'comment_author_url'   => 'http://example.localhost/',
    137                 'comment_author_email' => 'test@test.com',
    138                 'user_id'              => self::$user_id,
    139                 'comment_content'      => '<a href="http://example.localhost/something.html">click</a>',
    140             )
    141         );
    142 
    143         wp_set_current_user( 0 );
    144 
    145         $admin_id = self::factory()->user->create(
    146             array(
    147                 'role'       => 'administrator',
    148                 'user_login' => 'test_wp_admin_get',
    149                 'user_pass'  => 'password',
    150                 'user_email' => 'testadmin@test.com',
    151             )
    152         );
    153 
    154         wp_set_current_user( $admin_id );
    155 
    156         wp_update_comment(
    157             array(
    158                 'comment_ID'      => $comment_id,
    159                 'comment_content' => '<a href="http://example.localhost/something.html" disallowed=attribute>click</a>',
    160             )
    161         );
    162 
    163         $comment = get_comment( $comment_id );
    164         $this->assertEquals( '<a href="http://example.localhost/something.html" rel="nofollow ugc">click</a>', $comment->comment_content, 'Comment: ' . $comment->comment_content );
    165         wp_set_current_user( 0 );
    166     }
    167 
    168     /**
    169      * @ticket 30627
    170      *
    171      * @covers ::wp_update_comment
    172      */
    173     public function test_wp_update_comment_updates_comment_type() {
    174         $comment_id = self::factory()->comment->create( array( 'comment_post_ID' => self::$post_id ) );
    175 
    176         wp_update_comment(
    177             array(
    178                 'comment_ID'   => $comment_id,
    179                 'comment_type' => 'pingback',
    180             )
    181         );
    182 
    183         $comment = get_comment( $comment_id );
    184         $this->assertSame( 'pingback', $comment->comment_type );
    185     }
    186 
    187     /**
    188      * @ticket 36784
    189      *
    190      * @covers ::wp_update_comment
    191      */
    192     public function test_wp_update_comment_updates_comment_meta() {
    193         $comment_id = self::factory()->comment->create( array( 'comment_post_ID' => self::$post_id ) );
    194 
    195         wp_update_comment(
    196             array(
    197                 'comment_ID'   => $comment_id,
    198                 'comment_meta' => array(
    199                     'food'  => 'taco',
    200                     'sauce' => 'fire',
    201                 ),
    202             )
    203         );
    204 
    205         $this->assertSame( 'fire', get_comment_meta( $comment_id, 'sauce', true ) );
    206     }
    207 
    208     /**
    209      * @ticket 30307
    210      *
    211      * @covers ::wp_update_comment
    212      */
    213     public function test_wp_update_comment_updates_user_id() {
    214         $comment_id = self::factory()->comment->create( array( 'comment_post_ID' => self::$post_id ) );
    215 
    216         wp_update_comment(
    217             array(
    218                 'comment_ID' => $comment_id,
    219                 'user_id'    => 1,
    220             )
    221         );
    222 
    223         $comment = get_comment( $comment_id );
    224         $this->assertEquals( 1, $comment->user_id );
    225     }
    226 
    227     /**
    228      * @ticket 34954
    229      *
    230      * @covers ::wp_update_comment
    231      */
    232     public function test_wp_update_comment_with_no_post_id() {
    233         $comment_id = self::factory()->comment->create( array( 'comment_post_ID' => 0 ) );
    234 
    235         $updated_comment_text = 'I should be able to update a comment with a Post ID of zero';
    236 
    237         $update = wp_update_comment(
    238             array(
    239                 'comment_ID'      => $comment_id,
    240                 'comment_content' => $updated_comment_text,
    241                 'comment_post_ID' => 0,
    242             )
    243         );
    244         $this->assertSame( 1, $update );
    245 
    246         $comment = get_comment( $comment_id );
    247         $this->assertSame( $updated_comment_text, $comment->comment_content );
    248     }
    249 
    250     /**
    251      * @ticket 39732
    252      *
    253      * @covers ::wp_update_comment
    254      */
    255     public function test_wp_update_comment_returns_false_for_invalid_comment_or_post_id() {
    256         $comment_id = self::factory()->comment->create( array( 'comment_post_ID' => self::$post_id ) );
    257 
    258         $update = wp_update_comment(
    259             array(
    260                 'comment_ID'      => -1,
    261                 'comment_post_ID' => self::$post_id,
    262             )
    263         );
    264         $this->assertFalse( $update );
    265 
    266         $update = wp_update_comment(
    267             array(
    268                 'comment_ID'      => $comment_id,
    269                 'comment_post_ID' => -1,
    270             )
    271         );
    272         $this->assertFalse( $update );
    273     }
    274 
    275     /**
    276      * @ticket 39732
    277      *
    278      * @covers ::wp_update_comment
    279      */
    280     public function test_wp_update_comment_is_wp_error() {
    281         $comment_id = self::factory()->comment->create( array( 'comment_post_ID' => self::$post_id ) );
    282 
    283         add_filter( 'wp_update_comment_data', array( $this, 'wp_update_comment_data_filter' ), 10, 3 );
    284 
    285         $result = wp_update_comment(
    286             array(
    287                 'comment_ID'   => $comment_id,
    288                 'comment_type' => 'pingback',
    289             ),
    290             true
    291         );
    292 
    293         remove_filter( 'wp_update_comment_data', array( $this, 'wp_update_comment_data_filter' ), 10, 3 );
    294 
    295         $this->assertWPError( $result );
    296     }
    297 
    298     /**
    299      * Blocks comments from being updated by returning WP_Error.
    300      */
    301     public function wp_update_comment_data_filter( $data, $comment, $commentarr ) {
    302         return new WP_Error( 'comment_wrong', 'wp_update_comment_data filter fails for this comment.', 500 );
    303     }
    304 
    305     /**
    306      * @covers ::get_approved_comments
    307      */
    308     public function test_get_approved_comments() {
    309         $ca1 = self::factory()->comment->create(
    310             array(
    311                 'comment_post_ID'  => self::$post_id,
    312                 'comment_approved' => '1',
    313             )
    314         );
    315         $ca2 = self::factory()->comment->create(
    316             array(
    317                 'comment_post_ID'  => self::$post_id,
    318                 'comment_approved' => '1',
    319             )
    320         );
    321         $ca3 = self::factory()->comment->create(
    322             array(
    323                 'comment_post_ID'  => self::$post_id,
    324                 'comment_approved' => '0',
    325             )
    326         );
    327         $c2  = self::factory()->comment->create(
    328             array(
    329                 'comment_post_ID'  => self::$post_id,
    330                 'comment_approved' => '1',
    331                 'comment_type'     => 'pingback',
    332             )
    333         );
    334         $c3  = self::factory()->comment->create(
    335             array(
    336                 'comment_post_ID'  => self::$post_id,
    337                 'comment_approved' => '1',
    338                 'comment_type'     => 'trackback',
    339             )
    340         );
    341         $c4  = self::factory()->comment->create(
    342             array(
    343                 'comment_post_ID'  => self::$post_id,
    344                 'comment_approved' => '1',
    345                 'comment_type'     => 'mario',
    346             )
    347         );
    348         $c5  = self::factory()->comment->create(
    349             array(
    350                 'comment_post_ID'  => self::$post_id,
    351                 'comment_approved' => '1',
    352                 'comment_type'     => 'luigi',
    353             )
    354         );
    355 
    356         $found = get_approved_comments( self::$post_id );
    357 
    358         // All comment types will be returned.
    359         $this->assertEquals( array( $ca1, $ca2, $c2, $c3, $c4, $c5 ), wp_list_pluck( $found, 'comment_ID' ) );
    360     }
    361 
    362     /**
    363      * @ticket 30412
    364      *
    365      * @covers ::get_approved_comments
    366      */
    367     public function test_get_approved_comments_with_post_id_0_should_return_empty_array() {
    368         $ca1 = self::factory()->comment->create(
    369             array(
    370                 'comment_post_ID'  => self::$post_id,
    371                 'comment_approved' => '1',
    372             )
    373         );
    374 
    375         $found = get_approved_comments( 0 );
    376 
    377         $this->assertSame( array(), $found );
    378     }
    379 
    380     /**
    381      * @ticket 14279
    382      *
    383      * @covers ::wp_new_comment
    384      */
    385     public function test_wp_new_comment_respects_dates() {
    386         $data = array(
    387             'comment_post_ID'      => self::$post_id,
    388             'comment_author'       => 'Comment Author',
    389             'comment_author_url'   => '',
    390             'comment_author_email' => '',
    391             'comment_type'         => '',
    392             'comment_content'      => 'Comment',
    393             'comment_date'         => '2011-01-01 10:00:00',
    394             'comment_date_gmt'     => '2011-01-01 10:00:00',
    395         );
    396 
    397         $id = wp_new_comment( $data );
    398 
    399         $comment = get_comment( $id );
    400 
    401         $this->assertSame( $data['comment_date'], $comment->comment_date );
    402         $this->assertSame( $data['comment_date_gmt'], $comment->comment_date_gmt );
    403     }
    404 
    405     /**
    406      * @ticket 14601
    407      *
    408      * @covers ::wp_new_comment
    409      */
    410     public function test_wp_new_comment_respects_author_ip() {
    411         $data = array(
    412             'comment_post_ID'      => self::$post_id,
    413             'comment_author'       => 'Comment Author',
    414             'comment_author_IP'    => '192.168.1.1',
    415             'comment_author_url'   => '',
    416             'comment_author_email' => '',
    417             'comment_type'         => '',
    418             'comment_content'      => 'Comment',
    419         );
    420 
    421         $id = wp_new_comment( $data );
    422 
    423         $comment = get_comment( $id );
    424 
    425         $this->assertSame( $data['comment_author_IP'], $comment->comment_author_IP );
    426     }
    427 
    428     /**
    429      * @ticket 14601
    430      *
    431      * @covers ::wp_new_comment
    432      */
    433     public function test_wp_new_comment_respects_author_ip_empty_string() {
    434         $data = array(
    435             'comment_post_ID'      => self::$post_id,
    436             'comment_author'       => 'Comment Author',
    437             'comment_author_IP'    => '',
    438             'comment_author_url'   => '',
    439             'comment_author_email' => '',
    440             'comment_type'         => '',
    441             'comment_content'      => 'Comment',
    442         );
    443 
    444         $id = wp_new_comment( $data );
    445 
    446         $comment = get_comment( $id );
    447 
    448         $this->assertSame( $data['comment_author_IP'], $comment->comment_author_IP );
    449     }
    450 
    451     /**
    452      * @ticket 14601
    453      *
    454      * @covers ::wp_new_comment
    455      */
    456     public function test_wp_new_comment_respects_comment_agent() {
    457         $data = array(
    458             'comment_post_ID'      => self::$post_id,
    459             'comment_author'       => 'Comment Author',
    460             'comment_author_IP'    => '',
    461             'comment_author_url'   => '',
    462             'comment_author_email' => '',
    463             'comment_agent'        => 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53',
    464             'comment_type'         => '',
    465             'comment_content'      => 'Comment',
    466         );
    467 
    468         $id = wp_new_comment( $data );
    469 
    470         $comment = get_comment( $id );
    471 
    472         $this->assertSame( $data['comment_agent'], $comment->comment_agent );
    473     }
    474 
    475     /**
    476      * @ticket 14601
    477      *
    478      * @covers ::wp_new_comment
    479      */
    480     public function test_wp_new_comment_should_trim_provided_comment_agent_to_254_chars() {
    481         $data = array(
    482             'comment_post_ID'      => self::$post_id,
    483             'comment_author'       => 'Comment Author',
    484             'comment_author_IP'    => '',
    485             'comment_author_url'   => '',
    486             'comment_author_email' => '',
    487             'comment_agent'        => 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53 Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16 Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en; rv:1.8.1.4pre) Gecko/20070511 Camino/1.6pre',
    488             'comment_type'         => '',
    489             'comment_content'      => 'Comment',
    490         );
    491 
    492         $id = wp_new_comment( $data );
    493 
    494         $comment = get_comment( $id );
    495 
    496         $this->assertSame( 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53 Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16 Mozilla/5.0 (Macintosh; U; PPC Mac OS ', $comment->comment_agent );
    497     }
    498 
    499     /**
    500      * @ticket 14601
    501      *
    502      * @covers ::wp_new_comment
    503      */
    504     public function test_wp_new_comment_respects_comment_agent_empty_string() {
    505         $data = array(
    506             'comment_post_ID'      => self::$post_id,
    507             'comment_author'       => 'Comment Author',
    508             'comment_author_IP'    => '',
    509             'comment_author_url'   => '',
    510             'comment_author_email' => '',
    511             'comment_agent'        => '',
    512             'comment_type'         => '',
    513             'comment_content'      => 'Comment',
    514         );
    515 
    516         $id = wp_new_comment( $data );
    517 
    518         $comment = get_comment( $id );
    519 
    520         $this->assertSame( $data['comment_agent'], $comment->comment_agent );
    521     }
    522 
    523     /**
    524      * @covers ::wp_new_comment
    525      */
    526     public function test_wp_new_comment_respects_comment_field_lengths() {
    527         $data = array(
    528             'comment_post_ID'      => self::$post_id,
    529             'comment_author'       => 'Comment Author',
    530             'comment_author_url'   => '',
    531             'comment_author_email' => '',
    532             'comment_type'         => '',
    533             'comment_content'      => str_repeat( 'A', 65536 ),
    534             'comment_date'         => '2011-01-01 10:00:00',
    535             'comment_date_gmt'     => '2011-01-01 10:00:00',
    536         );
    537 
    538         $id = wp_new_comment( $data );
    539 
    540         $comment = get_comment( $id );
    541 
    542         $this->assertSame( 65535, strlen( $comment->comment_content ) );
    543     }
    544 
    545     /**
    546      * @ticket 56244
    547      *
    548      * @covers ::wp_new_comment
    549      */
    550     public function test_wp_new_comment_sends_all_expected_parameters_to_preprocess_comment_filter() {
    551         $user = get_userdata( self::$user_id );
    552         wp_set_current_user( $user->ID );
    553 
    554         $data = array(
    555             'comment_post_ID'      => self::$post_id,
    556             'comment_author'       => $user->display_name,
    557             'comment_author_email' => $user->user_email,
    558             'comment_author_url'   => $user->user_url,
    559             'comment_content'      => 'Comment',
    560             'comment_type'         => '',
    561             'comment_parent'       => 0,
    562             'user_id'              => $user->ID,
    563         );
    564 
    565         add_filter( 'preprocess_comment', array( $this, 'filter_preprocess_comment' ) );
    566 
    567         $comment = wp_new_comment( $data );
    568 
    569         $this->assertNotWPError( $comment );
    570         $this->assertSameSetsWithIndex(
    571             array(
    572                 'comment_post_ID'      => self::$post_id,
    573                 'comment_author'       => $user->display_name,
    574                 'comment_author_email' => $user->user_email,
    575                 'comment_author_url'   => $user->user_url,
    576                 'comment_content'      => $data['comment_content'],
    577                 'comment_type'         => '',
    578                 'comment_parent'       => 0,
    579                 'user_ID'              => $user->ID,
    580                 'user_id'              => $user->ID,
    581                 'comment_author_IP'    => '127.0.0.1',
    582                 'comment_agent'        => '',
    583             ),
    584             $this->preprocess_comment_data
    585         );
    586 
    587     }
    588 
    589     public function filter_preprocess_comment( $commentdata ) {
    590         $this->preprocess_comment_data = $commentdata;
    591         return $commentdata;
    592     }
    593 
    594     /**
    595      * @ticket 32566
    596      *
    597      * @covers ::wp_notify_moderator
    598      */
    599     public function test_wp_notify_moderator_should_not_throw_notice_when_post_author_is_0() {
    600         $p = self::factory()->post->create(
    601             array(
    602                 'post_author' => 0,
    603             )
    604         );
    605 
    606         $c = self::factory()->comment->create(
    607             array(
    608                 'comment_post_ID' => $p,
    609             )
    610         );
    611 
    612         $this->assertTrue( wp_notify_moderator( $c ) );
    613     }
    614 
    615     /**
    616      * @covers ::wp_new_comment_notify_postauthor
    617      */
    618     public function test_wp_new_comment_notify_postauthor_should_send_email_when_comment_is_approved() {
    619         $c = self::factory()->comment->create(
    620             array(
    621                 'comment_post_ID' => self::$post_id,
    622             )
    623         );
    624 
    625         $sent = wp_new_comment_notify_postauthor( $c );
    626         $this->assertTrue( $sent );
    627     }
    628 
    629     /**
    630      * @covers ::wp_new_comment_notify_postauthor
    631      */
    632     public function test_wp_new_comment_notify_postauthor_should_not_send_email_when_comment_is_unapproved() {
    633         $c = self::factory()->comment->create(
    634             array(
    635                 'comment_post_ID'  => self::$post_id,
    636                 'comment_approved' => '0',
    637             )
    638         );
    639 
    640         $sent = wp_new_comment_notify_postauthor( $c );
    641         $this->assertFalse( $sent );
    642     }
    643 
    644     /**
    645      * @ticket 33587
    646      *
    647      * @covers ::wp_new_comment_notify_postauthor
    648      */
    649     public function test_wp_new_comment_notify_postauthor_should_not_send_email_when_comment_has_been_marked_as_spam() {
    650         $c = self::factory()->comment->create(
    651             array(
    652                 'comment_post_ID'  => self::$post_id,
    653                 'comment_approved' => 'spam',
    654             )
    655         );
    656 
    657         $sent = wp_new_comment_notify_postauthor( $c );
    658         $this->assertFalse( $sent );
    659     }
    660 
    661     /**
    662      * @ticket 35006
    663      *
    664      * @covers ::wp_new_comment_notify_postauthor
    665      */
    666     public function test_wp_new_comment_notify_postauthor_should_not_send_email_when_comment_has_been_trashed() {
    667         $c = self::factory()->comment->create(
    668             array(
    669                 'comment_post_ID'  => self::$post_id,
    670                 'comment_approved' => 'trash',
    671             )
    672         );
    673 
    674         $sent = wp_new_comment_notify_postauthor( $c );
    675         $this->assertFalse( $sent );
    676     }
    677 
    678     /**
    679      * @ticket 43805
    680      *
    681      * @covers ::wp_new_comment_notify_postauthor
    682      */
    683     public function test_wp_new_comment_notify_postauthor_content_should_include_link_to_parent() {
    684         $c1 = self::factory()->comment->create(
    685             array(
    686                 'comment_post_ID' => self::$post_id,
    687             )
    688         );
    689 
    690         $c2 = self::factory()->comment->create(
    691             array(
    692                 'comment_post_ID' => self::$post_id,
    693                 'comment_parent'  => $c1,
    694             )
    695         );
    696 
    697         add_filter( 'comment_notification_text', array( $this, 'save_comment_notification_text' ) );
    698         wp_new_comment_notify_postauthor( $c2 );
    699         remove_filter( 'comment_notification_text', array( $this, 'save_comment_notification_text' ) );
    700 
    701         $this->assertStringContainsString( admin_url( "comment.php?action=editcomment&c={$c1}" ), self::$notify_message );
    702     }
    703 
    704     /**
    705      * @ticket 43805
    706      *
    707      * @covers ::wp_new_comment_notify_moderator
    708      */
    709     public function test_wp_new_comment_notify_moderator_content_should_include_link_to_parent() {
    710         $c1 = self::factory()->comment->create(
    711             array(
    712                 'comment_post_ID' => self::$post_id,
    713             )
    714         );
    715 
    716         $c2 = self::factory()->comment->create(
    717             array(
    718                 'comment_post_ID'  => self::$post_id,
    719                 'comment_parent'   => $c1,
    720                 'comment_approved' => '0',
    721             )
    722         );
    723 
    724         add_filter( 'comment_moderation_text', array( $this, 'save_comment_notification_text' ) );
    725         wp_new_comment_notify_moderator( $c2 );
    726         remove_filter( 'comment_moderation_text', array( $this, 'save_comment_notification_text' ) );
    727 
    728         $this->assertStringContainsString( admin_url( "comment.php?action=editcomment&c={$c1}" ), self::$notify_message );
    729     }
    730 
    731     /**
    732      * Callback for the `comment_notification_text` & `comment_moderation_text` filters.
    733      *
    734      * @param string $notify_message The comment notification or moderation email text.
    735      * @return string
    736      */
    737     public function save_comment_notification_text( $notify_message = '' ) {
    738         self::$notify_message = $notify_message;
    739         return $notify_message;
    740     }
    741 
    742     /**
    743      * @ticket 12431
    744      *
    745      * @covers ::get_comment_meta
    746      */
    747     public function test_wp_new_comment_with_meta() {
    748         $c = self::factory()->comment->create(
    749             array(
    750                 'comment_approved' => '1',
    751                 'comment_meta'     => array(
    752                     'food'  => 'taco',
    753                     'sauce' => 'fire',
    754                 ),
    755             )
    756         );
    757 
    758         $this->assertSame( 'fire', get_comment_meta( $c, 'sauce', true ) );
    759     }
    760 
    761     /**
    762      * @ticket 8071
    763      *
    764      * @covers WP_Comment::get_children
    765      */
    766     public function test_wp_comment_get_children_should_fill_children() {
    767         $c1 = self::factory()->comment->create(
    768             array(
    769                 'comment_post_ID'  => self::$post_id,
    770                 'comment_approved' => '1',
    771             )
    772         );
    773 
    774         $c2 = self::factory()->comment->create(
    775             array(
    776                 'comment_post_ID'  => self::$post_id,
    777                 'comment_approved' => '1',
    778                 'comment_parent'   => $c1,
    779             )
    780         );
    781 
    782         $c3 = self::factory()->comment->create(
    783             array(
    784                 'comment_post_ID'  => self::$post_id,
    785                 'comment_approved' => '1',
    786                 'comment_parent'   => $c2,
    787             )
    788         );
    789 
    790         $c4 = self::factory()->comment->create(
    791             array(
    792                 'comment_post_ID'  => self::$post_id,
    793                 'comment_approved' => '1',
    794                 'comment_parent'   => $c1,
    795             )
    796         );
    797 
    798         $c5 = self::factory()->comment->create(
    799             array(
    800                 'comment_post_ID'  => self::$post_id,
    801                 'comment_approved' => '1',
    802             )
    803         );
    804 
    805         $c6 = self::factory()->comment->create(
    806             array(
    807                 'comment_post_ID'  => self::$post_id,
    808                 'comment_approved' => '1',
    809                 'comment_parent'   => $c5,
    810             )
    811         );
    812 
    813         $comment  = get_comment( $c1 );
    814         $children = $comment->get_children();
    815 
    816         // Direct descendants of $c1.
    817         $this->assertEqualSets( array( $c2, $c4 ), array_values( wp_list_pluck( $children, 'comment_ID' ) ) );
    818 
    819         // Direct descendants of $c2.
    820         $this->assertEqualSets( array( $c3 ), array_values( wp_list_pluck( $children[ $c2 ]->get_children(), 'comment_ID' ) ) );
    821     }
    822 
    823     /**
    824      * @ticket 27571
    825      *
    826      * @covers ::get_comment
    827      */
    828     public function test_post_properties_should_be_lazyloaded() {
    829         $c = self::factory()->comment->create( array( 'comment_post_ID' => self::$post_id ) );
    830 
    831         $post    = get_post( self::$post_id );
    832         $comment = get_comment( $c );
    833 
    834         $post_fields = array( 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_excerpt', 'post_status', 'comment_status', 'ping_status', 'post_name', 'to_ping', 'pinged', 'post_modified', 'post_modified_gmt', 'post_content_filtered', 'post_parent', 'guid', 'menu_order', 'post_type', 'post_mime_type', 'comment_count' );
    835 
    836         foreach ( $post_fields as $pf ) {
    837             $this->assertTrue( isset( $comment->$pf ), $pf );
    838             $this->assertSame( $post->$pf, $comment->$pf, $pf );
    839         }
    840     }
    841 
    842 
    843     /**
    844      * Helper function to set up comment for 761 tests.
    845      *
    846      * @since 4.4.0
    847      * @access public
    848      */
    849     public function setup_notify_comment() {
    850         /**
    851          * Prevent flood alert from firing.
    852          */
    853         add_filter( 'comment_flood_filter', '__return_false' );
    854 
    855         /**
    856          * Set up a comment for testing.
    857          */
    858         $post = self::factory()->post->create(
    859             array(
    860                 'post_author' => self::$user_id,
    861             )
    862         );
    863 
    864         $comment = self::factory()->comment->create(
    865             array(
    866                 'comment_post_ID' => $post,
    867             )
    868         );
    869 
    870         return array(
    871             'post'    => $post,
    872             'comment' => $comment,
    873         );
    874     }
    875 
    876     /**
    877      * @ticket 761
    878      *
    879      * @covers ::wp_new_comment
    880      */
    881     public function test_wp_notify_moderator_filter_moderation_notify_option_true_filter_false() {
    882         $comment_data = $this->setup_notify_comment();
    883 
    884         /**
    885          * Test with moderator notification setting on, filter set to off.
    886          * Should not send a notification.
    887          */
    888         update_option( 'moderation_notify', 1 );
    889         add_filter( 'notify_moderator', '__return_false' );
    890 
    891         $notification_sent = $this->try_sending_moderator_notification( $comment_data['comment'], $comment_data['post'] );
    892 
    893         $this->assertFalse( $notification_sent, 'Moderator notification setting on, filter set to off' );
    894 
    895         remove_filter( 'notify_moderator', '__return_false' );
    896         remove_filter( 'comment_flood_filter', '__return_false' );
    897     }
    898 
    899     /**
    900      * @ticket 761
    901      *
    902      * @covers ::wp_new_comment
    903      */
    904     public function test_wp_notify_moderator_filter_moderation_notify_option_false_filter_true() {
    905         $comment_data = $this->setup_notify_comment();
    906 
    907         /**
    908          * Test with moderator notification setting off, filter set to on.
    909          * Should send a notification.
    910          */
    911         update_option( 'moderation_notify', 0 );
    912         add_filter( 'notify_moderator', '__return_true' );
    913 
    914         $notification_sent = $this->try_sending_moderator_notification( $comment_data['comment'], $comment_data['post'] );
    915 
    916         $this->assertTrue( $notification_sent, 'Moderator notification setting off, filter set to on' );
    917 
    918         remove_filter( 'notify_moderator', '__return_true' );
    919         remove_filter( 'comment_flood_filter', '__return_false' );
    920     }
    921 
    922     /**
    923      * @ticket 761
    924      *
    925      * @covers ::wp_new_comment
    926      */
    927     public function test_wp_notify_post_author_filter_comments_notify_option_true_filter_false() {
    928 
    929         $comment_data = $this->setup_notify_comment();
    930 
    931         /**
    932          * Test with author notification setting on, filter set to off.
    933          * Should not send a notification.
    934          */
    935         update_option( 'comments_notify', 1 );
    936         add_filter( 'notify_post_author', '__return_false' );
    937 
    938         $notification_sent = $this->try_sending_author_notification( $comment_data['comment'], $comment_data['post'] );
    939 
    940         $this->assertFalse( $notification_sent, 'Test with author notification setting on, filter set to off' );
    941 
    942         remove_filter( 'notify_post_author', '__return_false' );
    943         remove_filter( 'comment_flood_filter', '__return_false' );
    944     }
    945 
    946     /**
    947      * @ticket 761
    948      *
    949      * @covers ::wp_new_comment
    950      */
    951     public function test_wp_notify_post_author_filter_comments_notify_option_false_filter_true() {
    952         $comment_data = $this->setup_notify_comment();
    953 
    954         /**
    955          * Test with author notification setting off, filter set to on.
    956          * Should send a notification.
    957          */
    958         update_option( 'comments_notify', 0 );
    959         add_filter( 'notify_post_author', '__return_true' );
    960 
    961         $notification_sent = $this->try_sending_author_notification( $comment_data['comment'], $comment_data['post'] );
    962 
    963         $this->assertTrue( $notification_sent, 'Test with author notification setting off, filter set to on' );
    964 
    965         remove_filter( 'notify_post_author', '__return_true' );
    966         remove_filter( 'comment_flood_filter', '__return_false' );
    967     }
    968 
    969     /**
    970      * Helper function to test moderator notifications.
    971      *
    972      * @since 4.4.0
    973      * @access public
    974      */
    975     public function try_sending_moderator_notification( $comment, $post ) {
    976 
    977         // Don't approve comments, triggering notifications.
    978         add_filter( 'pre_comment_approved', '__return_false' );
    979 
    980         // Moderators are notified when a new comment is added.
    981         $data = array(
    982             'comment_post_ID'      => $post,
    983             'comment_author'       => 'Comment Author',
    984             'comment_author_url'   => '',
    985             'comment_author_email' => '',
    986             'comment_type'         => '',
    987             'comment_content'      => 'Comment',
    988         );
    989         wp_new_comment( $data );
    990 
    991         // Check to see if a notification email was sent to the moderator `admin@example.org`.
    992         if ( isset( $GLOBALS['phpmailer']->mock_sent )
    993             && ! empty( $GLOBALS['phpmailer']->mock_sent )
    994             && WP_TESTS_EMAIL === $GLOBALS['phpmailer']->mock_sent[0]['to'][0][0]
    995         ) {
    996             $email_sent_when_comment_added = true;
    997             reset_phpmailer_instance();
    998         } else {
    999             $email_sent_when_comment_added = false;
    1000         }
    1001 
    1002         return $email_sent_when_comment_added;
    1003     }
    1004 
    1005     /**
    1006      * Helper function to test sending author notifications.
    1007      *
    1008      * @since 4.4.0
    1009      * @access public
    1010      */
    1011     public function try_sending_author_notification( $comment, $post ) {
    1012 
    1013         // Approve comments, triggering notifications.
    1014         add_filter( 'pre_comment_approved', '__return_true' );
    1015 
    1016         // Post authors possibly notified when a comment is approved on their post.
    1017         wp_set_comment_status( $comment, 'approve' );
    1018 
    1019         // Check to see if a notification email was sent to the post author `test@test.com`.
    1020         if ( isset( $GLOBALS['phpmailer']->mock_sent )
    1021             && ! empty( $GLOBALS['phpmailer']->mock_sent )
    1022             && 'test@test.com' === $GLOBALS['phpmailer']->mock_sent[0]['to'][0][0]
    1023         ) {
    1024             $email_sent_when_comment_approved = true;
    1025         } else {
    1026             $email_sent_when_comment_approved = false;
    1027         }
    1028         reset_phpmailer_instance();
    1029 
    1030         // Post authors are notified when a new comment is added to their post.
    1031         $data = array(
    1032             'comment_post_ID'      => $post,
    1033             'comment_author'       => 'Comment Author',
    1034             'comment_author_url'   => '',
    1035             'comment_author_email' => '',
    1036             'comment_type'         => '',
    1037             'comment_content'      => 'Comment',
    1038         );
    1039         wp_new_comment( $data );
    1040 
    1041         // Check to see if a notification email was sent to the post author `test@test.com`.
    1042         if ( isset( $GLOBALS['phpmailer']->mock_sent ) &&
    1043             ! empty( $GLOBALS['phpmailer']->mock_sent ) &&
    1044             'test@test.com' === $GLOBALS['phpmailer']->mock_sent[0]['to'][0][0] ) {
    1045                 $email_sent_when_comment_added = true;
    1046                 reset_phpmailer_instance();
    1047         } else {
    1048             $email_sent_when_comment_added = false;
    1049         }
    1050 
    1051         return $email_sent_when_comment_approved || $email_sent_when_comment_added;
    1052     }
    1053 
    1054     /**
    1055      * @covers ::_close_comments_for_old_post
    1056      */
    1057     public function test_close_comments_for_old_post() {
    1058         update_option( 'close_comments_for_old_posts', true );
    1059         // Close comments more than one day old.
    1060         update_option( 'close_comments_days_old', 1 );
    1061 
    1062         $old_date    = date_create( '-25 hours' );
    1063         $old_post_id = self::factory()->post->create( array( 'post_date' => date_format( $old_date, 'Y-m-d H:i:s' ) ) );
    1064 
    1065         $old_post_comment_status = _close_comments_for_old_post( true, $old_post_id );
    1066         $this->assertFalse( $old_post_comment_status );
    1067 
    1068         $new_post_comment_status = _close_comments_for_old_post( true, self::$post_id );
    1069         $this->assertTrue( $new_post_comment_status );
    1070     }
    1071 
    1072     /**
    1073      * @covers ::_close_comments_for_old_post
    1074      */
    1075     public function test_close_comments_for_old_post_undated_draft() {
    1076         $draft_id             = self::factory()->post->create(
    1077             array(
    1078                 'post_status' => 'draft',
    1079                 'post_type'   => 'post',
    1080             )
    1081         );
    1082         $draft_comment_status = _close_comments_for_old_post( true, $draft_id );
    1083 
    1084         $this->assertTrue( $draft_comment_status );
    1085     }
    1086 
    1087     /**
    1088      * @ticket 35276
    1089      *
    1090      * @covers ::wp_update_comment
    1091      */
    1092     public function test_wp_update_comment_author_id_and_agent() {
    1093 
    1094         $default_data = array(
    1095             'comment_post_ID'      => self::$post_id,
    1096             'comment_author'       => 'Comment Author',
    1097             'comment_author_IP'    => '192.168.0.1',
    1098             'comment_agent'        => 'WRONG_AGENT',
    1099             'comment_author_url'   => '',
    1100             'comment_author_email' => '',
    1101             'comment_type'         => '',
    1102             'comment_content'      => 'Comment',
    1103         );
    1104 
    1105         $comment_id = wp_new_comment( $default_data );
    1106 
    1107         // Confirm that the IP and Agent are correct on initial save.
    1108         $save = get_comment( $comment_id );
    1109         $this->assertSame( $default_data['comment_author_IP'], $save->comment_author_IP );
    1110         $this->assertSame( $default_data['comment_agent'], $save->comment_agent );
    1111 
    1112         // Update the comment.
    1113         wp_update_comment(
    1114             array(
    1115                 'comment_ID'        => $comment_id,
    1116                 'comment_author_IP' => '111.111.1.1',
    1117                 'comment_agent'     => 'SHIELD_AGENT',
    1118             )
    1119         );
    1120 
    1121         // Retrieve and check the new values.
    1122         $updated = get_comment( $comment_id );
    1123         $this->assertSame( '111.111.1.1', $updated->comment_author_IP );
    1124         $this->assertSame( 'SHIELD_AGENT', $updated->comment_agent );
    1125     }
    1126 
    1127     /**
    1128      * @covers ::wp_get_comment_fields_max_lengths
    1129      */
    1130     public function test_wp_get_comment_fields_max_lengths() {
    1131         $expected = array(
    1132             'comment_author'       => 245,
    1133             'comment_author_email' => 100,
    1134             'comment_author_url'   => 200,
    1135             'comment_content'      => 65525,
    1136         );
    1137 
    1138         $lengths = wp_get_comment_fields_max_lengths();
    1139 
    1140         foreach ( $lengths as $field => $length ) {
    1141             $this->assertSame( $expected[ $field ], $length );
    1142         }
    1143     }
    1144 
    1145     /**
    1146      * @covers ::wp_update_comment
    1147      */
    1148     public function test_update_should_invalidate_comment_cache() {
    1149         global $wpdb;
    1150 
    1151         $c = self::factory()->comment->create( array( 'comment_author' => 'Foo' ) );
    1152 
    1153         $comment = get_comment( $c );
    1154         $this->assertSame( 'Foo', $comment->comment_author );
    1155 
    1156         wp_update_comment(
    1157             array(
    1158                 'comment_ID'     => $c,
    1159                 'comment_author' => 'Bar',
    1160             )
    1161         );
    1162 
    1163         $comment = get_comment( $c );
    1164 
    1165         $this->assertSame( 'Bar', $comment->comment_author );
    1166     }
    1167 
    1168     /**
    1169      * @covers ::wp_trash_comment
    1170      */
    1171     public function test_trash_should_invalidate_comment_cache() {
    1172         global $wpdb;
    1173 
    1174         $c = self::factory()->comment->create();
    1175 
    1176         $comment = get_comment( $c );
    1177 
    1178         wp_trash_comment( $c );
    1179 
    1180         $comment = get_comment( $c );
    1181 
    1182         $this->assertSame( 'trash', $comment->comment_approved );
    1183     }
    1184 
    1185     /**
    1186      * @covers ::wp_untrash_comment
    1187      */
    1188     public function test_untrash_should_invalidate_comment_cache() {
    1189         global $wpdb;
    1190 
    1191         $c = self::factory()->comment->create();
    1192         wp_trash_comment( $c );
    1193 
    1194         $comment = get_comment( $c );
    1195         $this->assertSame( 'trash', $comment->comment_approved );
    1196 
    1197         wp_untrash_comment( $c );
    1198 
    1199         $comment = get_comment( $c );
    1200 
    1201         $this->assertSame( '1', $comment->comment_approved );
    1202     }
    1203 
    1204     /**
    1205      * @covers ::wp_spam_comment
    1206      */
    1207     public function test_spam_should_invalidate_comment_cache() {
    1208         global $wpdb;
    1209 
    1210         $c = self::factory()->comment->create();
    1211 
    1212         $comment = get_comment( $c );
    1213 
    1214         wp_spam_comment( $c );
    1215 
    1216         $comment = get_comment( $c );
    1217 
    1218         $this->assertSame( 'spam', $comment->comment_approved );
    1219     }
    1220 
    1221     /**
    1222      * @covers ::wp_unspam_comment
    1223      */
    1224     public function test_unspam_should_invalidate_comment_cache() {
    1225         global $wpdb;
    1226 
    1227         $c = self::factory()->comment->create();
    1228         wp_spam_comment( $c );
    1229 
    1230         $comment = get_comment( $c );
    1231         $this->assertSame( 'spam', $comment->comment_approved );
    1232 
    1233         wp_unspam_comment( $c );
    1234 
    1235         $comment = get_comment( $c );
    1236 
    1237         $this->assertSame( '1', $comment->comment_approved );
    1238     }
     9class Tests_Comment_wpCommentsPersonalDataExporter extends WP_UnitTestCase {
    123910
    124011    /**
    124112     * Testing the `wp_comments_personal_data_exporter()` function.
    124213     *
    1243      * @group privacy
    124414     * @ticket 43440
    1245      *
    1246      * @covers ::wp_comments_personal_data_exporter
    124715     */
    124816    public function test_wp_comments_personal_data_exporter() {
     
    128957     * Testing the `wp_comments_personal_data_exporter()` function for no comments found.
    129058     *
    1291      * @group privacy
    129259     * @ticket 43440
    1293      *
    1294      * @covers ::wp_comments_personal_data_exporter
    129560     */
    129661    public function test_wp_comments_personal_data_exporter_no_comments_found() {
     
    130974     * Testing the `wp_comments_personal_data_exporter()` function for an empty comment property.
    131075     *
    1311      * @group privacy
    131276     * @ticket 43440
    1313      *
    1314      * @covers ::wp_comments_personal_data_exporter
    131577     */
    131678    public function test_wp_comments_personal_data_exporter_empty_comment_prop() {
     
    1342104     * Testing the `wp_comments_personal_data_exporter()` function with an empty second page.
    1343105     *
    1344      * @group privacy
    1345106     * @ticket 43440
    1346      *
    1347      * @covers ::wp_comments_personal_data_exporter
    1348107     */
    1349108    public function test_wp_comments_personal_data_exporter_empty_second_page() {
Note: See TracChangeset for help on using the changeset viewer.