WordPress.org

Make WordPress Core

Ticket #48025: 48025.2.patch

File 48025.2.patch, 1.5 KB (added by Toro_Unit, 2 months ago)

added unit test

  • src/wp-includes/canonical.php

     
    5656                }
    5757        }
    5858
    59         if ( is_trackback() || is_search() || is_admin() || is_preview() || is_robots() || ( $is_IIS && ! iis7_supports_permalinks() ) ) {
     59        if ( is_trackback() || is_search() || is_admin() || is_preview() || ( $is_IIS && ! iis7_supports_permalinks() ) ) {
    6060                return;
    6161        }
    6262
     
    530530                $redirect['host'] = $original['host'];
    531531        }
    532532
     533        //Even if the permalink structure ends with a slash, remove slash robots.txt.
     534        if ( is_robots() ) {
     535                $redirect['path'] = untrailingslashit( $redirect['path'] );
     536        }
     537
    533538        $compare_original = array( $original['host'], $original['path'] );
    534539
    535540        if ( ! empty( $original['port'] ) ) {
  • tests/phpunit/tests/canonical/robots.php

     
     1<?php
     2
     3/**
     4 * @group canonical
     5 * @group rewrite
     6 * @group query
     7 */
     8class Tests_Canonical_Robots extends WP_Canonical_UnitTestCase {
     9
     10        function setUp() {
     11                parent::setUp();
     12        }
     13
     14        function test_robots_url() {
     15                $this->set_permalink_structure( '/%year%/%monthnum%/%day%/%postname%/' );
     16                $this->assertCanonical('/robots.txt', '/robots.txt' );
     17                $this->assertCanonical('/robots.txt/', '/robots.txt' );
     18        }
     19
     20}