WordPress.org

Make WordPress Core

Ticket #35600: 35600-3.diff

File 35600-3.diff, 2.7 KB (added by ojrask, 3 years ago)

Fix wording in tests

  • src/wp-includes/post.php

     
    21692169        if ( ! in_array($post_id, $stickies) )
    21702170                $stickies[] = $post_id;
    21712171
    2172         update_option('sticky_posts', $stickies);
     2172        $updated = update_option('sticky_posts', $stickies);
     2173
     2174        if ( $updated ) {
     2175                /**
     2176                 * Fires after a post is successfully stuck.
     2177                 *
     2178                 * @since 4.6.0
     2179                 *
     2180                 * @param int $post_id The ID of the post that was stuck.
     2181                 */
     2182                do_action( 'post_stuck', $post_id );
     2183        }
    21732184}
    21742185
    21752186/**
     
    21962207
    21972208        array_splice($stickies, $offset, 1);
    21982209
    2199         update_option('sticky_posts', $stickies);
     2210        $updated = update_option('sticky_posts', $stickies);
     2211
     2212        if ( $updated ) {
     2213                /**
     2214                 * Fires after a post is successfully unstuck.
     2215                 *
     2216                 * @since 4.6.0
     2217                 *
     2218                 * @param int $post_id The ID of the post that was unstuck.
     2219                 */
     2220                do_action( 'post_unstuck', $post_id );
     2221        }
    22002222}
    22012223
    22022224/**
  • tests/phpunit/tests/post.php

     
    11821182        }
    11831183
    11841184        /**
     1185         * Test that hooks are fired when post is stuck and unstuck.
     1186         *
     1187         * @ticket 35600
     1188         */
     1189        function test_hooks_fire_when_post_is_stuck_and_unstuck() {
     1190                // Create a dummy post.
     1191                $test_post = self::factory()->post->create_and_get( array(
     1192                        'post_title' => 'Dummy post title',
     1193                        'post_content' => 'Dummy post content',
     1194                ) );
     1195
     1196                $this->assertFalse( is_sticky( $test_post->ID ) );
     1197
     1198                // Hook callbacks.
     1199                add_action( 'post_stuck', array( $this, 'stuck_callback' ) );
     1200                add_action( 'post_unstuck', array( $this, 'unstuck_callback' ) );
     1201
     1202                stick_post( $test_post->ID );
     1203
     1204                $this->assertTrue( is_sticky( $test_post->ID ) );
     1205
     1206                unstick_post( $test_post->ID );
     1207
     1208                $this->assertFalse( is_sticky( $test_post->ID ) );
     1209
     1210                // Verify the hooks ran when post was stuck and unstuck.
     1211                $this->assertEquals( 'yes', get_option( '_test_stuck_post_' . $test_post->ID, false ) );
     1212                $this->assertEquals( 'yes', get_option( '_test_unstuck_post_' . $test_post->ID, false ) );
     1213        }
     1214
     1215        /**
     1216         * Helper for `test_hooks_fire_when_post_is_stuck_and_unstuck`.
     1217         */
     1218        function stuck_callback( $post_id ) {
     1219                update_option( '_test_stuck_post_' . $post_id, 'yes' );
     1220        }
     1221
     1222        /**
     1223         * Helper for `test_hooks_fire_when_post_is_stuck_and_unstuck`.
     1224         */
     1225        function unstuck_callback( $post_id ) {
     1226                update_option( '_test_unstuck_post_' . $post_id, 'yes' );
     1227        }
     1228
     1229        /**
    11851230         * If a post is updated without providing a post_name param,
    11861231         * a new slug should not be generated.
    11871232         *