715 | | * @ticket 19373 |
716 | | */ |
717 | | function test_insert_programmatic_sanitized() { |
718 | | $this->_unset_current_user(); |
719 | | |
720 | | register_taxonomy( 'test_tax', 'post' ); |
721 | | |
722 | | $title = rand_str(); |
723 | | $post_data = array( |
724 | | 'post_author' => $this->author_id, |
725 | | 'post_status' => 'public', |
726 | | 'post_content' => rand_str(), |
727 | | 'post_title' => $title, |
728 | | 'tax_input' => array( |
729 | | 'test_tax' => array( 'term', 'term2', 'term3' ) |
730 | | ) |
731 | | ); |
732 | | $insert_post_id = wp_insert_post( $post_data, true, true ); |
733 | | $this->assertTrue( ( is_int($insert_post_id) && $insert_post_id > 0 ) ); |
734 | | |
735 | | $post = get_post( $insert_post_id ); |
736 | | $this->assertEquals( $post->post_author, $this->author_id ); |
737 | | $this->assertEquals( $post->post_title, $title ); |
738 | | } |
739 | | |
740 | | /** |
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 | | /** |