WordPress.org

Make WordPress Core

Ticket #27942: 27942.4.patch

File 27942.4.patch, 1.5 KB (added by BandonRandon, 6 years ago)

Patch With Unit Test

  • src/wp-includes/formatting.php

     
    37063706                        if ( is_wp_error( $value ) ) {
    37073707                                $error = $value->get_error_message();
    37083708                        } else {
    3709                                 $value = wp_kses_post( $value );
    37103709                                $value = esc_html( $value );
    37113710                        }
    37123711                        break;
  • tests/phpunit/tests/formatting/BlogInfo.php

     
    3131                        array( 'pt_PT_ao1990', 'pt-PT-ao1990' ),
    3232                );
    3333        }
     34
     35        /**
     36         * @ticket 27942
     37         */
     38        function test_bloginfo_blogname() {
     39                $old_value = get_option( 'blogname' );
     40
     41                $options = array(
     42                        'foo' => 'foo',
     43                        '<em>foo</em>' => '&lt;em&gt;foo&lt;/em&gt;',
     44                        '<script>foo</script>' => '&lt;script&gt;foo&lt;/script&gt;',
     45                        '&lt;foo&gt;' => '&lt;foo&gt;',
     46                        '<foo' => '&lt;foo',
     47                );
     48
     49                foreach ( $options as $value => $expected ) {
     50                        $sanitized_value = sanitize_option( 'blogname', $value );
     51                        update_option( 'blogname', $sanitized_value );
     52
     53                        $this->assertEquals( $expected, $sanitized_value );
     54                        $this->assertEquals( $expected, get_bloginfo( 'blogname' ) );
     55                        $this->assertEquals( $expected, get_bloginfo( 'blogname', 'display' ) );
     56                }
     57
     58                update_option( 'blogname', $old_value );
     59        }
    3460}