WordPress.org

Make WordPress Core

Ticket #35276: 35276.2.diff

File 35276.2.diff, 2.4 KB (added by welcher, 5 years ago)

Adding unit tests so Sally can be sure she won't be sad about something else.

  • src/wp-includes/comment.php

     
    19391939
    19401940        $comment_ID = $data['comment_ID'];
    19411941        $comment_post_ID = $data['comment_post_ID'];
    1942         $keys = array( 'comment_post_ID', 'comment_content', 'comment_author', 'comment_author_email', 'comment_approved', 'comment_karma', 'comment_author_url', 'comment_date', 'comment_date_gmt', 'comment_type', 'comment_parent', 'user_id' );
     1942        $keys = array( 'comment_post_ID', 'comment_content', 'comment_author', 'comment_author_email', 'comment_approved', 'comment_karma', 'comment_author_url', 'comment_date', 'comment_date_gmt', 'comment_type', 'comment_parent', 'user_id', 'comment_agent', 'comment_author_IP' );
    19431943        $data = wp_array_slice_assoc( $data, $keys );
    19441944        $rval = $wpdb->update( $wpdb->comments, $data, compact( 'comment_ID' ) );
    19451945
  • tests/phpunit/tests/comment.php

     
    636636
    637637                $this->assertTrue( $draft_comment_status );
    638638        }
     639
     640
     641        public function test_wp_update_comment_author_id_and_agent() {
     642
     643                $default_data = array(
     644                        'comment_post_ID'      => self::$post_id,
     645                        'comment_author'       => rand_str(),
     646                        'comment_author_IP'    => '192.168.0.1',
     647                        'comment_agent'        => 'WRONG_AGENT',
     648                        'comment_author_url'   => '',
     649                        'comment_author_email' => '',
     650                        'comment_type'         => '',
     651                        'comment_content'      => rand_str(),
     652                );
     653
     654                $comment_id = wp_new_comment( $default_data );
     655
     656                // Confirm that the IP and Agent are correct on initial save.
     657                $save = get_comment( $comment_id );
     658                $this->assertEquals( $default_data['comment_author_IP'], $save->comment_author_IP );
     659                $this->assertEquals( $default_data['comment_agent'], $save->comment_agent );
     660
     661                // Update the comment.
     662                wp_update_comment( array(
     663                        'comment_ID'        => $comment_id,
     664                        'comment_author_IP' => '111.111.1.1',
     665                        'comment_agent'     => 'SHIELD_AGENT',
     666                        )
     667                );
     668
     669                // Retrieve and check the new values.
     670                $updated = get_comment( $comment_id );
     671                $this->assertEquals( '111.111.1.1', $updated->comment_author_IP );
     672                $this->assertEquals( 'SHIELD_AGENT', $updated->comment_agent );
     673        }
    639674}