WordPress.org

Make WordPress Core

Ticket #19032: 19032-unit-test.patch

File 19032-unit-test.patch, 2.7 KB (added by kurtpayne, 6 years ago)

Unit test

  • wp-testcase/test_link_functions.php

     
    6666                        null => "/wp-admin/",
    6767                        0 => "/wp-admin/",
    6868                        -1 => "/wp-admin/",
    69                         '../foo/' => "/wp-admin/",
     69                        '../foo/' => "/wp-admin/../foo/",
    7070                        '///' => "/wp-admin/",
    7171                );
    7272                $https = array('on', 'off');
     
    8484        }
    8585}
    8686
     87/**
     88 * Tests for *_url functions
     89 */
     90class TestURLFunctions extends WPTestCase {
     91       
     92        /**
     93         * Test that *_url functions handle ".." and "..." requests properly.
     94         * @see http://core.trac.wordpress.org/ticket/19032
     95         */
     96        public function test_get_home_url() {
     97                $this->knownWPBug( 19032 );
     98                $test_cases = array(
     99                   
     100                        /** Functions that DO NOT return a trailing slash **/
     101                       
     102                        // get_admin_url
     103                        get_admin_url(null, '../')              => get_admin_url() . '../',
     104                        get_admin_url(null, 'something...here') => get_admin_url() . 'something...here',
     105
     106                        // includes_url
     107                        includes_url('../')                     => includes_url() . '../',
     108                        includes_url('something...here')        => includes_url() . 'something...here',
     109
     110                        // network_admin_url
     111                        network_admin_url('../')                => network_admin_url() . '../',
     112                        network_admin_url('something...here')   => network_admin_url() . 'something...here',
     113                   
     114                        // user_admin_url
     115                        user_admin_url('../')                   => user_admin_url() . '../',
     116                        user_admin_url('something...here')      => user_admin_url() . 'something...here',
     117
     118                        /** Functions that return a trailing slash **/
     119                   
     120                        // network_site_url
     121                        network_site_url('../')                 => network_site_url() . '/../',
     122                        network_site_url('something...here')    => network_site_url() . '/something...here',
     123
     124                        // get_home_url
     125                        get_home_url(null, '../')               => get_home_url() . '/../',
     126                        get_home_url(null, 'something...here')  => get_home_url() . '/something...here',
     127                   
     128                        // content_url
     129                        content_url('../')                      => content_url() . '/../',
     130                        content_url('something...here')         => content_url() . '/something...here',
     131                   
     132                        // plugins_url
     133                        plugins_url('../')                      => plugins_url() . '/../',
     134                        plugins_url('something...here')         => plugins_url() . '/something...here',
     135
     136                        // network_home_url
     137                        network_home_url('../')                 => network_home_url() . '/../',
     138                        network_home_url('something...here')    => network_home_url() . '/something...here',
     139
     140                );
     141
     142                foreach ( $test_cases as $actual => $expected ) {
     143                        $this->assertEquals( $expected, $actual );
     144                }
     145        }
     146}
     147
    87148?>