| | 741 | * @ticket 19373 |
| | 742 | */ |
| | 743 | function test_insert_programmatic_without_current_user_success() { |
| | 744 | $this->_unset_current_user(); |
| | 745 | |
| | 746 | register_taxonomy( 'test_tax', 'post' ); |
| | 747 | |
| | 748 | $title = rand_str(); |
| | 749 | $post_data = array( |
| | 750 | 'post_author' => $this->author_id, |
| | 751 | 'post_status' => 'public', |
| | 752 | 'post_content' => rand_str(), |
| | 753 | 'post_title' => $title, |
| | 754 | 'tax_input' => array( |
| | 755 | 'test_tax' => array( 'term', 'term2', 'term3' ) |
| | 756 | ) |
| | 757 | ); |
| | 758 | // with sanitize set to false |
| | 759 | $insert_post_id = wp_insert_post( $post_data, true, false ); |
| | 760 | |
| | 761 | $post = get_post( $insert_post_id ); |
| | 762 | $this->assertEquals( $post->post_author, $this->author_id ); |
| | 763 | $this->assertEquals( $post->post_title, $title ); |
| | 764 | |
| | 765 | $terms = wp_get_object_terms( $insert_post_id, 'test_tax' ); |
| | 766 | $this->assertTrue( ( is_array( $terms ) && count( $terms ) == 3 ) ); |
| | 767 | } |
| | 768 | |
| | 769 | /** |
| | 770 | * @ticket 19373 |
| | 771 | */ |
| | 772 | function test_insert_programmatic_without_current_user_fail() { |
| | 773 | $this->_unset_current_user(); |
| | 774 | |
| | 775 | register_taxonomy( 'test_tax', 'post' ); |
| | 776 | |
| | 777 | $title = rand_str(); |
| | 778 | $post_data = array( |
| | 779 | // post_author not set |
| | 780 | 'post_status' => 'public', |
| | 781 | 'post_content' => rand_str(), |
| | 782 | 'post_title' => $title, |
| | 783 | 'tax_input' => array( |
| | 784 | 'test_tax' => array( 'term', 'term2', 'term3' ) |
| | 785 | ) |
| | 786 | ); |
| | 787 | // with sanitize set to false |
| | 788 | $insert_post_id = wp_insert_post( $post_data, true, false ); |
| | 789 | |
| | 790 | // should error because no default user exists and no post author is passed in |
| | 791 | $this->assertInstanceOf( 'WP_Error', $insert_post_id ); |
| | 792 | $this->assertEquals( 'empty_author', $insert_post_id->get_error_code() ); |
| | 793 | } |
| | 794 | |
| | 795 | /** |