From 04d43306318f9d91baba1d0322b9b02735a3213d Mon Sep 17 00:00:00 2001 From: pbearne Date: Mon, 22 Nov 2021 19:22:54 -0500 Subject: [PATCH 01/18] added test for get_num_queries and wp_get_nocache_headers --- .../tests/functions/get_num_queries.php | 21 ++++++++++++ .../functions/wp_get_nocache_headers.php | 32 +++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 tests/phpunit/tests/functions/get_num_queries.php create mode 100644 tests/phpunit/tests/functions/wp_get_nocache_headers.php diff --git a/tests/phpunit/tests/functions/get_num_queries.php b/tests/phpunit/tests/functions/get_num_queries.php new file mode 100644 index 0000000000000..0a5effea6daff --- /dev/null +++ b/tests/phpunit/tests/functions/get_num_queries.php @@ -0,0 +1,21 @@ +assertIsInt( $current_count ); + // do a single db query + $wpdb->query( "select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='tableName'" ); + + // check the count updated by 1 + $this->assertEquals( $current_count + 1, get_num_queries() ); + } + +} diff --git a/tests/phpunit/tests/functions/wp_get_nocache_headers.php b/tests/phpunit/tests/functions/wp_get_nocache_headers.php new file mode 100644 index 0000000000000..159ed13f2f541 --- /dev/null +++ b/tests/phpunit/tests/functions/wp_get_nocache_headers.php @@ -0,0 +1,32 @@ +assertIsArray( $headers, 'array returned' ); + $this->assertContains( 'no-cache, must-revalidate, max-age=0', $headers, 'has no cache header' ); + $this->assertArrayHasKey( 'Expires', $headers, 'has Expires key' ); + $this->assertArrayHasKey( 'Cache-Control', $headers, 'has Expires key' ); + $this->assertArrayHasKey( 'Last-Modified', $headers, 'has Last-Modified key' ); + $this->assertFalse( $headers['Last-Modified'], 'Last-Modified key is false' ); + + + add_filter( + 'nocache_headers', + function ( $header ) { + + return array( 'filter_name' => 'nocache_headers' ); + } + ); + + $headers = wp_get_nocache_headers(); + $this->assertEquals( 'nocache_headers', $headers['filter_name'], 'filter was applied' ); + } + +} From 796b7424eb532e8b0749fe3b982bfa24e3751da5 Mon Sep 17 00:00:00 2001 From: pbearne Date: Mon, 22 Nov 2021 19:31:26 -0500 Subject: [PATCH 02/18] fixed phpcs --- tests/phpunit/tests/functions/get_num_queries.php | 2 +- tests/phpunit/tests/functions/wp_get_nocache_headers.php | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/tests/phpunit/tests/functions/get_num_queries.php b/tests/phpunit/tests/functions/get_num_queries.php index 0a5effea6daff..80a0098f03113 100644 --- a/tests/phpunit/tests/functions/get_num_queries.php +++ b/tests/phpunit/tests/functions/get_num_queries.php @@ -11,11 +11,11 @@ public function test_wp_get_num_queries() { $current_count = get_num_queries(); $this->assertIsInt( $current_count ); + // do a single db query $wpdb->query( "select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='tableName'" ); // check the count updated by 1 $this->assertEquals( $current_count + 1, get_num_queries() ); } - } diff --git a/tests/phpunit/tests/functions/wp_get_nocache_headers.php b/tests/phpunit/tests/functions/wp_get_nocache_headers.php index 159ed13f2f541..5a15c2844f347 100644 --- a/tests/phpunit/tests/functions/wp_get_nocache_headers.php +++ b/tests/phpunit/tests/functions/wp_get_nocache_headers.php @@ -16,10 +16,7 @@ public function test_wp_get_nocache_headers() { $this->assertArrayHasKey( 'Last-Modified', $headers, 'has Last-Modified key' ); $this->assertFalse( $headers['Last-Modified'], 'Last-Modified key is false' ); - - add_filter( - 'nocache_headers', - function ( $header ) { + add_filter( 'nocache_headers', function () { return array( 'filter_name' => 'nocache_headers' ); } From 61849ab6c342bd637e7ff7a59cd6effddf0dbd15 Mon Sep 17 00:00:00 2001 From: pbearne Date: Mon, 22 Nov 2021 19:37:36 -0500 Subject: [PATCH 03/18] phpcs --- tests/phpunit/tests/functions/wp_get_nocache_headers.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/phpunit/tests/functions/wp_get_nocache_headers.php b/tests/phpunit/tests/functions/wp_get_nocache_headers.php index 5a15c2844f347..95b127b9985a8 100644 --- a/tests/phpunit/tests/functions/wp_get_nocache_headers.php +++ b/tests/phpunit/tests/functions/wp_get_nocache_headers.php @@ -16,7 +16,9 @@ public function test_wp_get_nocache_headers() { $this->assertArrayHasKey( 'Last-Modified', $headers, 'has Last-Modified key' ); $this->assertFalse( $headers['Last-Modified'], 'Last-Modified key is false' ); - add_filter( 'nocache_headers', function () { + add_filter( + 'nocache_headers', + function () { return array( 'filter_name' => 'nocache_headers' ); } From 51ab9bd34ff752200720c7a5eccefc9db740adca Mon Sep 17 00:00:00 2001 From: Paul Bearne Date: Tue, 23 Nov 2021 08:58:33 -0500 Subject: [PATCH 04/18] Update tests/phpunit/tests/functions/get_num_queries.php Co-authored-by: Colin Stewart <79332690+costdev@users.noreply.github.com> --- tests/phpunit/tests/functions/get_num_queries.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/phpunit/tests/functions/get_num_queries.php b/tests/phpunit/tests/functions/get_num_queries.php index 80a0098f03113..282c916cdca9f 100644 --- a/tests/phpunit/tests/functions/get_num_queries.php +++ b/tests/phpunit/tests/functions/get_num_queries.php @@ -4,7 +4,7 @@ * @group functions.php * @covers ::get_num_queries */ -class Tests_Functions_get_num_queries extends WP_UnitTestCase { +class Tests_Functions_getNumQueries extends WP_UnitTestCase { public function test_wp_get_num_queries() { global $wpdb; From ceb912bfc68712abe876985dff832568429f0473 Mon Sep 17 00:00:00 2001 From: Paul Bearne Date: Tue, 23 Nov 2021 08:58:44 -0500 Subject: [PATCH 05/18] Update tests/phpunit/tests/functions/get_num_queries.php Co-authored-by: Colin Stewart <79332690+costdev@users.noreply.github.com> --- tests/phpunit/tests/functions/get_num_queries.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/phpunit/tests/functions/get_num_queries.php b/tests/phpunit/tests/functions/get_num_queries.php index 282c916cdca9f..e5f07b862d0dc 100644 --- a/tests/phpunit/tests/functions/get_num_queries.php +++ b/tests/phpunit/tests/functions/get_num_queries.php @@ -10,7 +10,7 @@ public function test_wp_get_num_queries() { global $wpdb; $current_count = get_num_queries(); - $this->assertIsInt( $current_count ); + $this->assertIsInt( $current_count, 'get_num_queries() did not return an integer.' ); // do a single db query $wpdb->query( "select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='tableName'" ); From b3bb21b09f1bbb7a27a75e73103bda73db564800 Mon Sep 17 00:00:00 2001 From: Paul Bearne Date: Tue, 23 Nov 2021 08:58:52 -0500 Subject: [PATCH 06/18] Update tests/phpunit/tests/functions/get_num_queries.php Co-authored-by: Colin Stewart <79332690+costdev@users.noreply.github.com> --- tests/phpunit/tests/functions/get_num_queries.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/phpunit/tests/functions/get_num_queries.php b/tests/phpunit/tests/functions/get_num_queries.php index e5f07b862d0dc..331208b105930 100644 --- a/tests/phpunit/tests/functions/get_num_queries.php +++ b/tests/phpunit/tests/functions/get_num_queries.php @@ -16,6 +16,6 @@ public function test_wp_get_num_queries() { $wpdb->query( "select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='tableName'" ); // check the count updated by 1 - $this->assertEquals( $current_count + 1, get_num_queries() ); + $this->assertSame( $current_count + 1, get_num_queries(), 'The number of queries did not increase by 1.' ); } } From a18b3bdcd1e129b2e4b9a1c6184a7e482da027a1 Mon Sep 17 00:00:00 2001 From: Paul Bearne Date: Tue, 23 Nov 2021 08:58:59 -0500 Subject: [PATCH 07/18] Update tests/phpunit/tests/functions/wp_get_nocache_headers.php Co-authored-by: Colin Stewart <79332690+costdev@users.noreply.github.com> --- tests/phpunit/tests/functions/wp_get_nocache_headers.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/phpunit/tests/functions/wp_get_nocache_headers.php b/tests/phpunit/tests/functions/wp_get_nocache_headers.php index 95b127b9985a8..849eff9bdc45e 100644 --- a/tests/phpunit/tests/functions/wp_get_nocache_headers.php +++ b/tests/phpunit/tests/functions/wp_get_nocache_headers.php @@ -4,7 +4,7 @@ * @group functions.php * @covers ::wp_get_nocache_headers */ -class Tests_Functions_wp_get_nocache_headers extends WP_UnitTestCase { +class Tests_Functions_wpGetNocacheHeaders extends WP_UnitTestCase { public function test_wp_get_nocache_headers() { $headers = wp_get_nocache_headers(); From 1cb9b3eaf317bcf2ddeb3f005df6817b911ef45b Mon Sep 17 00:00:00 2001 From: Paul Bearne Date: Tue, 23 Nov 2021 08:59:07 -0500 Subject: [PATCH 08/18] Update tests/phpunit/tests/functions/get_num_queries.php Co-authored-by: Colin Stewart <79332690+costdev@users.noreply.github.com> --- tests/phpunit/tests/functions/get_num_queries.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/phpunit/tests/functions/get_num_queries.php b/tests/phpunit/tests/functions/get_num_queries.php index 331208b105930..bdc77b6bc6431 100644 --- a/tests/phpunit/tests/functions/get_num_queries.php +++ b/tests/phpunit/tests/functions/get_num_queries.php @@ -5,7 +5,9 @@ * @covers ::get_num_queries */ class Tests_Functions_getNumQueries extends WP_UnitTestCase { - + /** + * @ticket 54490 + */ public function test_wp_get_num_queries() { global $wpdb; From d30ee68162d676244eef766d03d7f758358ed65f Mon Sep 17 00:00:00 2001 From: Paul Bearne Date: Tue, 23 Nov 2021 09:00:04 -0500 Subject: [PATCH 09/18] Update tests/phpunit/tests/functions/wp_get_nocache_headers.php Co-authored-by: Colin Stewart <79332690+costdev@users.noreply.github.com> --- .../functions/wp_get_nocache_headers.php | 36 ++++++++++++------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/tests/phpunit/tests/functions/wp_get_nocache_headers.php b/tests/phpunit/tests/functions/wp_get_nocache_headers.php index 849eff9bdc45e..e56f3b88dee1a 100644 --- a/tests/phpunit/tests/functions/wp_get_nocache_headers.php +++ b/tests/phpunit/tests/functions/wp_get_nocache_headers.php @@ -6,26 +6,38 @@ */ class Tests_Functions_wpGetNocacheHeaders extends WP_UnitTestCase { + /** + * @ticket 54490 + */ public function test_wp_get_nocache_headers() { - $headers = wp_get_nocache_headers(); - - $this->assertIsArray( $headers, 'array returned' ); - $this->assertContains( 'no-cache, must-revalidate, max-age=0', $headers, 'has no cache header' ); - $this->assertArrayHasKey( 'Expires', $headers, 'has Expires key' ); - $this->assertArrayHasKey( 'Cache-Control', $headers, 'has Expires key' ); - $this->assertArrayHasKey( 'Last-Modified', $headers, 'has Last-Modified key' ); - $this->assertFalse( $headers['Last-Modified'], 'Last-Modified key is false' ); + $this->assertSameSetsWithIndex( + array( + 'Expires' => 'Wed, 11 Jan 1984 05:00:00 GMT', + 'Cache-Control' => 'no-cache, must-revalidate, max-age=0', + 'Last-Modified' => false, + ), + wp_get_nocache_headers() + ); + } + /** + * @ticket 54490 + */ + public function test_filter_nocache_headers() { add_filter( 'nocache_headers', - function () { - + static function() { return array( 'filter_name' => 'nocache_headers' ); } ); - $headers = wp_get_nocache_headers(); - $this->assertEquals( 'nocache_headers', $headers['filter_name'], 'filter was applied' ); + $this->assertSameSetsWithIndex( + array( + 'filter_name' => 'nocache_headers', + 'Last-Modified' => false, + ), + wp_get_nocache_headers() + ); } } From 561b2baedfa890f3160d8ccf95f942a060e16ca1 Mon Sep 17 00:00:00 2001 From: Peter Wilson <519727+peterwilsoncc@users.noreply.github.com> Date: Mon, 6 Nov 2023 09:27:30 +1100 Subject: [PATCH 10/18] Rename file. --- .../tests/functions/{get_num_queries.php => getNumQueries.php} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/phpunit/tests/functions/{get_num_queries.php => getNumQueries.php} (100%) diff --git a/tests/phpunit/tests/functions/get_num_queries.php b/tests/phpunit/tests/functions/getNumQueries.php similarity index 100% rename from tests/phpunit/tests/functions/get_num_queries.php rename to tests/phpunit/tests/functions/getNumQueries.php From 6534d177fd91022cb5c48650aaf45b8fa3aa8e01 Mon Sep 17 00:00:00 2001 From: Peter Wilson <519727+peterwilsoncc@users.noreply.github.com> Date: Mon, 6 Nov 2023 09:32:48 +1100 Subject: [PATCH 11/18] Various changes to get_num_queries test. --- .../phpunit/tests/functions/getNumQueries.php | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/tests/phpunit/tests/functions/getNumQueries.php b/tests/phpunit/tests/functions/getNumQueries.php index bdc77b6bc6431..adc94668c044f 100644 --- a/tests/phpunit/tests/functions/getNumQueries.php +++ b/tests/phpunit/tests/functions/getNumQueries.php @@ -1,23 +1,27 @@ assertIsInt( $current_count, 'get_num_queries() did not return an integer.' ); - // do a single db query - $wpdb->query( "select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='tableName'" ); + // Do a single database query. + $wpdb->query( 'SELECT NOW();' ); - // check the count updated by 1 - $this->assertSame( $current_count + 1, get_num_queries(), 'The number of queries did not increase by 1.' ); + // Check the count increased by one. + $this->assertSame( $current_count + 1, get_num_queries(), 'The number of queries did not increase by one.' ); } } From a9389e3cd68851f19ae2fc89b44e28f8ea74623e Mon Sep 17 00:00:00 2001 From: Peter Wilson <519727+peterwilsoncc@users.noreply.github.com> Date: Mon, 6 Nov 2023 09:33:29 +1100 Subject: [PATCH 12/18] Add to wpdb group as it ensures wpdb->num_queries increases. --- tests/phpunit/tests/functions/getNumQueries.php | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/phpunit/tests/functions/getNumQueries.php b/tests/phpunit/tests/functions/getNumQueries.php index adc94668c044f..9b8fef0805497 100644 --- a/tests/phpunit/tests/functions/getNumQueries.php +++ b/tests/phpunit/tests/functions/getNumQueries.php @@ -3,6 +3,7 @@ * Test get_num_queries(). * * @group functions + * @group wpdb * * @covers ::get_num_queries */ From 10b76cce99b0fee3fca63cdc70bd1eaaf8d65655 Mon Sep 17 00:00:00 2001 From: Peter Wilson <519727+peterwilsoncc@users.noreply.github.com> Date: Mon, 6 Nov 2023 09:34:34 +1100 Subject: [PATCH 13/18] Rename file. --- .../{wp_get_nocache_headers.php => wpGetNocacheHeaders.php} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/phpunit/tests/functions/{wp_get_nocache_headers.php => wpGetNocacheHeaders.php} (100%) diff --git a/tests/phpunit/tests/functions/wp_get_nocache_headers.php b/tests/phpunit/tests/functions/wpGetNocacheHeaders.php similarity index 100% rename from tests/phpunit/tests/functions/wp_get_nocache_headers.php rename to tests/phpunit/tests/functions/wpGetNocacheHeaders.php From 3400bd11d22ef1c14af8240daa8ea50b53474738 Mon Sep 17 00:00:00 2001 From: Peter Wilson <519727+peterwilsoncc@users.noreply.github.com> Date: Mon, 6 Nov 2023 09:50:03 +1100 Subject: [PATCH 14/18] Various test changes. --- .../tests/functions/wpGetNocacheHeaders.php | 42 +++++++++++++++++-- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/tests/phpunit/tests/functions/wpGetNocacheHeaders.php b/tests/phpunit/tests/functions/wpGetNocacheHeaders.php index e56f3b88dee1a..42bc31203629f 100644 --- a/tests/phpunit/tests/functions/wpGetNocacheHeaders.php +++ b/tests/phpunit/tests/functions/wpGetNocacheHeaders.php @@ -1,15 +1,32 @@ user->create(); + } /** * @ticket 54490 */ - public function test_wp_get_nocache_headers() { + public function test_wp_get_nocache_headers_for_logged_out_user() { $this->assertSameSetsWithIndex( array( 'Expires' => 'Wed, 11 Jan 1984 05:00:00 GMT', @@ -20,13 +37,30 @@ public function test_wp_get_nocache_headers() { ); } + /** + * @ticket 21938 + * @ticket 54490 + */ + public function test_wp_get_nocache_headers_for_logged_in_user() { + wp_set_current_user( self::$user_id ); + + $this->assertSameSetsWithIndex( + array( + 'Expires' => 'Wed, 11 Jan 1984 05:00:00 GMT', + 'Cache-Control' => 'no-cache, must-revalidate, max-age=0, no-store, private', + 'Last-Modified' => false, + ), + wp_get_nocache_headers() + ); + } + /** * @ticket 54490 */ public function test_filter_nocache_headers() { add_filter( 'nocache_headers', - static function() { + static function () { return array( 'filter_name' => 'nocache_headers' ); } ); From 61509cd07d565db06846709cacfe1ce88832b835 Mon Sep 17 00:00:00 2001 From: Peter Wilson <519727+peterwilsoncc@users.noreply.github.com> Date: Mon, 6 Nov 2023 09:54:27 +1100 Subject: [PATCH 15/18] CS: Remove excessive line break. --- tests/phpunit/tests/functions/wpGetNocacheHeaders.php | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/phpunit/tests/functions/wpGetNocacheHeaders.php b/tests/phpunit/tests/functions/wpGetNocacheHeaders.php index 42bc31203629f..6064c35cda60d 100644 --- a/tests/phpunit/tests/functions/wpGetNocacheHeaders.php +++ b/tests/phpunit/tests/functions/wpGetNocacheHeaders.php @@ -73,5 +73,4 @@ static function () { wp_get_nocache_headers() ); } - } From d3f563e44ab18364d44df395045afc43c0807fe0 Mon Sep 17 00:00:00 2001 From: Peter Wilson <519727+peterwilsoncc@users.noreply.github.com> Date: Mon, 6 Nov 2023 10:34:09 +1100 Subject: [PATCH 16/18] Apply suggestions from code review Co-authored-by: Colin Stewart <79332690+costdev@users.noreply.github.com> --- tests/phpunit/tests/functions/getNumQueries.php | 4 ++-- tests/phpunit/tests/functions/wpGetNocacheHeaders.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/phpunit/tests/functions/getNumQueries.php b/tests/phpunit/tests/functions/getNumQueries.php index 9b8fef0805497..c23a525141eae 100644 --- a/tests/phpunit/tests/functions/getNumQueries.php +++ b/tests/phpunit/tests/functions/getNumQueries.php @@ -1,6 +1,6 @@ Date: Mon, 6 Nov 2023 12:45:28 +1100 Subject: [PATCH 17/18] Descriptions I somehow missed out committing earliuer. --- tests/phpunit/tests/functions/wpGetNocacheHeaders.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/phpunit/tests/functions/wpGetNocacheHeaders.php b/tests/phpunit/tests/functions/wpGetNocacheHeaders.php index 24502d9ec2f89..cd2929e749989 100644 --- a/tests/phpunit/tests/functions/wpGetNocacheHeaders.php +++ b/tests/phpunit/tests/functions/wpGetNocacheHeaders.php @@ -24,6 +24,8 @@ public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) { } /** + * Tests nocache headers are as expected for a logged out user. + * * @ticket 54490 */ public function test_wp_get_nocache_headers_for_logged_out_user() { @@ -38,6 +40,8 @@ public function test_wp_get_nocache_headers_for_logged_out_user() { } /** + * Tests nocache headers are as expected for a logged in user. + * * @ticket 21938 * @ticket 54490 */ @@ -55,6 +59,8 @@ public function test_wp_get_nocache_headers_for_logged_in_user() { } /** + * Tests the `nocache_headers` filter fires and filters the headers. + * * @ticket 54490 */ public function test_filter_nocache_headers() { From 7ed0a598b5d7ed531762ab20f6cac7d6f6f4543a Mon Sep 17 00:00:00 2001 From: Paul Bearne Date: Fri, 26 Jun 2026 13:31:17 -0400 Subject: [PATCH 18/18] Update `wp_get_nocache_headers` test to reflect added `no-store, private` directive --- tests/phpunit/tests/functions/wpGetNocacheHeaders.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/phpunit/tests/functions/wpGetNocacheHeaders.php b/tests/phpunit/tests/functions/wpGetNocacheHeaders.php index cd2929e749989..0f2b5eb4fa202 100644 --- a/tests/phpunit/tests/functions/wpGetNocacheHeaders.php +++ b/tests/phpunit/tests/functions/wpGetNocacheHeaders.php @@ -32,7 +32,7 @@ public function test_wp_get_nocache_headers_for_logged_out_user() { $this->assertSameSetsWithIndex( array( 'Expires' => 'Wed, 11 Jan 1984 05:00:00 GMT', - 'Cache-Control' => 'no-cache, must-revalidate, max-age=0', + 'Cache-Control' => 'no-cache, must-revalidate, max-age=0, no-store, private', 'Last-Modified' => false, ), wp_get_nocache_headers()