Comments: When a comment is submitted, ensure the user_ID element in the array that's passed to the preprocess_comment filter gets populated.

Fixes #34997


git-svn-id: https://develop.svn.wordpress.org/trunk@36038 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
John Blackbourn
2015-12-21 02:46:44 +00:00
parent 59b8f0da7c
commit 4024cb673a
2 changed files with 46 additions and 2 deletions
@@ -5,6 +5,8 @@
*/
class Tests_Comment_Submission extends WP_UnitTestCase {
protected $preprocess_comment_data = array();
function setUp() {
parent::setUp();
require_once ABSPATH . WPINC . '/class-phpass.php';
@@ -590,4 +592,46 @@ class Tests_Comment_Submission extends WP_UnitTestCase {
}
/**
* @ticket 34997
*/
public function test_comment_submission_sends_all_expected_parameters_to_preprocess_comment_filter() {
$user = self::factory()->user->create_and_get( array(
'role' => 'author',
) );
wp_set_current_user( $user->ID );
$post = self::factory()->post->create_and_get();
$data = array(
'comment_post_ID' => $post->ID,
'comment' => 'Comment',
);
add_filter( 'preprocess_comment', array( $this, 'filter_preprocess_comment' ) );
$comment = wp_handle_comment_submission( $data );
remove_filter( 'preprocess_comment', array( $this, 'filter_preprocess_comment' ) );
$this->assertNotWPError( $comment );
$this->assertEquals( array(
'comment_post_ID' => $post->ID,
'comment_author' => $user->display_name,
'comment_author_email' => $user->user_email,
'comment_author_url' => $user->user_url,
'comment_content' => $data['comment'],
'comment_type' => '',
'comment_parent' => '0',
'user_ID' => $user->ID,
'user_id' => $user->ID,
), $this->preprocess_comment_data );
}
public function filter_preprocess_comment( $commentdata ) {
$this->preprocess_comment_data = $commentdata;
return $commentdata;
}
}