Make WordPress Core

Ticket #24248: 24248.patch

File 24248.patch, 1.8 KB (added by jared_smith, 9 years ago)

Updated patch and unit test

  • src/wp-includes/post.php

     
    31003100                        return 0;
    31013101                }
    31023102
    3103                 $guid = get_post_field( 'guid', $post_ID );
     3103                $guid = get_post_field( 'guid', $post_ID, 'raw' );
    31043104                $previous_status = get_post_field('post_status', $post_ID );
    31053105        } else {
    31063106                $previous_status = 'new';
     
    33933393                }
    33943394        }
    33953395
    3396         $current_guid = get_post_field( 'guid', $post_ID );
     3396        $current_guid = get_post_field( 'guid', $post_ID, 'raw' );
    33973397
    33983398        // Set GUID.
    33993399        if ( ! $update && '' == $current_guid ) {
  • tests/phpunit/tests/post/guid.php

     
     1<?php
     2
     3/**
     4 * @group post
     5 * @ticket TODO
     6 */
     7class Tests_Post_GUID extends WP_UnitTestCase {
     8        function setUp() {
     9                parent::setUp();
     10                $this->author_id = $this->factory->user->create( array( 'role' => 'editor' ) );
     11                $this->old_current_user = get_current_user_id();
     12                wp_set_current_user( $this->author_id );
     13
     14        }
     15
     16        function tearDown() {
     17                wp_set_current_user( $this->old_current_user );
     18                parent::tearDown();
     19        }
     20
     21        /**
     22         * Tests that the GUID is not improperly escaped
     23         *
     24         */
     25        function test_wp_insert_post() {
     26                $guid = 'http://www.wordpress.dev/?post_type=changeset&p=57';
     27                $id = wp_insert_post(array(
     28                        'post_status' => 'publish',
     29                        'post_title' => "Test",
     30                        'post_content' => "Test",
     31                        'post_excerpt' => "Test",
     32                        'guid' => $guid,
     33                        'post_type' => 'post',
     34                        'slashed' => false,
     35                ));
     36                $post = get_post( $id );
     37                $this->assertEquals( $guid, $post->guid);
     38
     39        }
     40
     41}