| 1 | <?php |
|---|
| 2 | /** |
|---|
| 3 | * @group revisions |
|---|
| 4 | */ |
|---|
| 5 | class Tests_Revisions extends WP_UnitTestCase { |
|---|
| 6 | |
|---|
| 7 | /** |
|---|
| 8 | * @ticket 7392 |
|---|
| 9 | */ |
|---|
| 10 | function test_revision_dont_save_revision_if_unchanged() { |
|---|
| 11 | $post_id = $this->factory->post->create( array( 'post_title' => 'some-post', 'post_type' => 'post', 'post_content' => 'some_content' ) ); |
|---|
| 12 | |
|---|
| 13 | wp_update_post( array( 'post_content' => 'some updated content', 'ID' => $post_id ) ); //1st revision |
|---|
| 14 | $this->assertEquals( 1, count( wp_get_post_revisions( $post_id ) ) ); //should be 1 revision so far |
|---|
| 15 | |
|---|
| 16 | //update the post |
|---|
| 17 | wp_update_post( array( 'post_content' => 'new update for some updated content', 'ID' => $post_id ) ); //2nd revision |
|---|
| 18 | $this->assertEquals( 2, count( wp_get_post_revisions( $post_id ) ) ); //should be 2 revision so far |
|---|
| 19 | |
|---|
| 20 | //next try to save another identical update, tests for patch that prevents storing duplicates |
|---|
| 21 | wp_update_post( array( 'post_content' => 'new update for some updated content', 'ID' => $post_id ) ); //content unchanged, shouldn't save |
|---|
| 22 | $this->assertEquals( 2, count( wp_get_post_revisions( $post_id ) ) ); //should still be 2 revision |
|---|
| 23 | |
|---|
| 24 | //next try to save another update, same content, but new ttile, should save revision |
|---|
| 25 | wp_update_post( array( 'post_title' => 'some-post-changed', 'post_content' => 'new update for some updated content', 'ID' => $post_id ) ); |
|---|
| 26 | $this->assertEquals( 3, count( wp_get_post_revisions( $post_id ) ) ); //should be 3 revision |
|---|
| 27 | |
|---|
| 28 | //next try to save another identical update |
|---|
| 29 | wp_update_post( array( 'post_title' => 'some-post-changed', 'post_content' => 'new update for some updated content', 'ID' => $post_id ) ); //content unchanged, shouldn't save |
|---|
| 30 | $this->assertEquals( 3, count( wp_get_post_revisions( $post_id ) ) ); //should still be 3 revision |
|---|
| 31 | } |
|---|
| 32 | } |
|---|