WordPress.org

Make WordPress Core

Ticket #30256: 30256.diff

File 30256.diff, 5.1 KB (added by jeremyfelt, 6 years ago)
  • tests/phpunit/includes/bootstrap.php

     
    132132                        switch ( $option[0] ) {
    133133                                case '--exclude-group' :
    134134                                        $ajax_message = false;
     135                                        $ms_files_message = false;
    135136                                        continue 2;
    136137                                case '--group' :
    137138                                        $groups = explode( ',', $option[1] );
     
    141142                                                }
    142143                                        }
    143144                                        $ajax_message = ! in_array( 'ajax', $groups );
     145                                        $ms_files_message = ! in_array( 'ms-files', $groups );
    144146                                        continue 2;
    145147                        }
    146148                }
    147149                if ( $ajax_message ) {
    148150                        echo "Not running ajax tests... To execute these, use --group ajax." . PHP_EOL;
    149151                }
     152                if ( $ms_files_message ) {
     153                        echo "Not running ms_files_rewriting tests... To execute these, use --group ms-files." . PHP_EOL;
     154                }
    150155    }
    151156}
    152157new WP_PHPUnit_Util_Getopt( $_SERVER['argv'] );
  • tests/phpunit/multisite.xml

     
    2323    <groups>
    2424        <exclude>
    2525            <group>ajax</group>
     26            <group>ms-files</group>
    2627        </exclude>
    2728    </groups>
    2829    <php>
  • tests/phpunit/tests/multisite/ms-files-rewriting.php

     
     1<?php
     2
     3if ( is_multisite() ) :
     4
     5/**
     6 * Tests specific to the ms_files_rewriting option in multisite.
     7 *
     8 * The ms-files group tag must be used for these tests to run as the constants
     9 * set in ms_upload_constants() conflict with a non ms-files configuration.
     10 *
     11 * @group ms-files
     12 * @group multisite
     13 */
     14class Tests_Multisite_MS_Files_Rewriting extends WP_UnitTestCase {
     15        protected $suppress = false;
     16
     17        function setUp() {
     18                global $wpdb;
     19                parent::setUp();
     20                $this->suppress = $wpdb->suppress_errors();
     21
     22                $_SERVER[ 'REMOTE_ADDR' ] = '';
     23
     24                update_site_option( 'ms_files_rewriting', 1 );
     25                ms_upload_constants();
     26        }
     27
     28        function tearDown() {
     29                global $wpdb;
     30                update_site_option( 'ms_files_rewriting', 0 );
     31                parent::tearDown();
     32                $wpdb->suppress_errors( $this->suppress );
     33        }
     34
     35        function test_switch_upload_dir() {
     36                $this->assertTrue( is_main_site() );
     37
     38                $site = get_current_site();
     39
     40                $user_id = $this->factory->user->create( array( 'role' => 'administrator' ) );
     41                $blog_id2 = $this->factory->blog->create( array( 'user_id' => $user_id ) );
     42                $info = wp_upload_dir();
     43                $this->assertEquals( 'http://' . $site->domain . '/wp-content/uploads/' . gmstrftime('%Y/%m'), $info['url'] );
     44                $this->assertEquals( ABSPATH . 'wp-content/uploads/' . gmstrftime('%Y/%m'), $info['path'] );
     45                $this->assertEquals( gmstrftime('/%Y/%m'), $info['subdir'] );
     46                $this->assertEquals( '', $info['error'] );
     47
     48                switch_to_blog( $blog_id2 );
     49                $info2 = wp_upload_dir();
     50                $this->assertNotEquals( $info, $info2 );
     51                $this->assertEquals( get_option( 'siteurl' )  . '/wp-content/blogs.dir/' . get_current_blog_id() . '/files/' . gmstrftime('%Y/%m'), $info2['url'] );
     52                $this->assertEquals( ABSPATH . 'wp-content/blogs.dir/' . get_current_blog_id() . '/files/' . gmstrftime('%Y/%m'), $info2['path'] );
     53                $this->assertEquals( gmstrftime('/%Y/%m'), $info2['subdir'] );
     54                $this->assertEquals( '', $info2['error'] );
     55                restore_current_blog();
     56        }
     57}
     58
     59endif;
     60 No newline at end of file
  • tests/phpunit/tests/multisite/site.php

     
    949949                $this->assertEquals( ABSPATH . 'wp-content/uploads/' . gmstrftime('%Y/%m'), $info['path'] );
    950950                $this->assertEquals( gmstrftime('/%Y/%m'), $info['subdir'] );
    951951                $this->assertEquals( '', $info['error'] );
    952 
    953                 update_site_option( 'ms_files_rewriting', 1 );
    954                 ms_upload_constants();
    955 
    956                 $user_id = $this->factory->user->create( array( 'role' => 'administrator' ) );
    957                 $blog_id2 = $this->factory->blog->create( array( 'user_id' => $user_id ) );
    958                 $info = wp_upload_dir();
    959                 $this->assertEquals( 'http://' . $site->domain . '/wp-content/uploads/' . gmstrftime('%Y/%m'), $info['url'] );
    960                 $this->assertEquals( ABSPATH . 'wp-content/uploads/' . gmstrftime('%Y/%m'), $info['path'] );
    961                 $this->assertEquals( gmstrftime('/%Y/%m'), $info['subdir'] );
    962                 $this->assertEquals( '', $info['error'] );
    963 
    964                 switch_to_blog( $blog_id2 );
    965                 $info2 = wp_upload_dir();
    966                 $this->assertNotEquals( $info, $info2 );
    967                 $this->assertEquals( get_option( 'siteurl' )  . '/wp-content/blogs.dir/' . get_current_blog_id() . '/files/' . gmstrftime('%Y/%m'), $info2['url'] );
    968                 $this->assertEquals( ABSPATH . 'wp-content/blogs.dir/' . get_current_blog_id() . '/files/' . gmstrftime('%Y/%m'), $info2['path'] );
    969                 $this->assertEquals( gmstrftime('/%Y/%m'), $info2['subdir'] );
    970                 $this->assertEquals( '', $info2['error'] );
    971                 restore_current_blog();
    972                 update_site_option( 'ms_files_rewriting', 0 );
    973952        }
    974953
    975954        /**