WordPress.org

Make WordPress Core

Ticket #19032: 19032-unit-test.patch

File 19032-unit-test.patch, 2.7 KB (added by kurtpayne, 3 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?>