From d8a8de5290efe9e6dd01a2261b9894d722ac0940 Mon Sep 17 00:00:00 2001 From: Erick Hitter <git-contrib@ethitter.com> Date: Sun, 5 Jun 2022 15:46:19 -0700 Subject: [PATCH] Tests: cover second parameter for `do_purge_excess` --- tests/test-purges.php | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/tests/test-purges.php b/tests/test-purges.php index 305b3e1..e757071 100755 --- a/tests/test-purges.php +++ b/tests/test-purges.php @@ -108,4 +108,44 @@ class TestPurges extends WP_UnitTestCase { 'Failed to assert that response includes expected count of purged revisions.' ); } + + /** + * Test revision purging with manual override (Gutenberg). + */ + public function test_purge_excess_gutenberg() { + $post_id = $this->factory->post->create(); + $iterations = 10; + $limit = 4; + + for ( $i = 0; $i < $iterations; $i++ ) { + wp_update_post( + array( + 'ID' => $post_id, + 'post_content' => wp_rand(), + ) + ); + } + + $revisions_to_purge = count( wp_get_post_revisions( $post_id ) ); + $this->assertEquals( + $iterations, + $revisions_to_purge, + 'Failed to assert that there are revisions to purge.' + ); + + $purge = WP_Revisions_Control::get_instance()->do_purge_excess( $post_id, $limit ); + $revisions_remaining = count( wp_get_post_revisions( $post_id ) ); + + $this->assertEquals( + 4, + $revisions_remaining, + 'Failed to assert that specified number of revisions were retained.' + ); + + $this->assertEquals( + 6, + $purge['count'], + 'Failed to assert that response includes expected count of purged revisions.' + ); + } } -- GitLab