WordPress.org

Make WordPress Core

Ticket #30256: 30256.2.diff

File 30256.2.diff, 7.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        /**
  • tests/phpunit/tests/post/attachments.php

     
    8888
    8989                $filename = ( DIR_TESTDATA.'/images/a2-small.jpg' );
    9090                $contents = file_get_contents($filename);
    91 
    92                 $upload = wp_upload_bits(basename($filename), null, $contents);
     91                $prefix = rand_str( 5 );
     92                $upload = wp_upload_bits( $prefix . basename($filename), null, $contents);
    9393                $this->assertTrue( empty($upload['error']) );
    9494
    9595                $id = $this->_make_attachment($upload);
    9696
    9797                // intermediate copies should exist: thumbnail only
    9898                $thumb = image_get_intermediate_size($id, 'thumbnail');
    99                 $this->assertEquals( 'a2-small-150x150.jpg', $thumb['file'] );
     99                $this->assertEquals( $prefix . 'a2-small-150x150.jpg', $thumb['file'] );
    100100
    101101                $uploads = wp_upload_dir();
    102102                $this->assertTrue( is_file($uploads['basedir'] . DIRECTORY_SEPARATOR . $thumb['path']) );
     
    108108
    109109                // image_downsize() should return the correct images and sizes
    110110                $downsize = image_downsize($id, 'thumbnail');
    111                 $this->assertEquals( 'a2-small-150x150.jpg', basename($downsize[0]) );
     111                $this->assertEquals( $prefix . 'a2-small-150x150.jpg', basename($downsize[0]) );
    112112                $this->assertEquals( 150, $downsize[1] );
    113113                $this->assertEquals( 150, $downsize[2] );
    114114
    115115                // medium and full will both point to the original
    116116                $downsize = image_downsize($id, 'medium');
    117                 $this->assertEquals( 'a2-small.jpg', basename($downsize[0]) );
     117                $this->assertEquals( $prefix . 'a2-small.jpg', basename($downsize[0]) );
    118118                $this->assertEquals( 400, $downsize[1] );
    119119                $this->assertEquals( 300, $downsize[2] );
    120120
    121121                $downsize = image_downsize($id, 'full');
    122                 $this->assertEquals( 'a2-small.jpg', basename($downsize[0]) );
     122                $this->assertEquals( $prefix . 'a2-small.jpg', basename($downsize[0]) );
    123123                $this->assertEquals( 400, $downsize[1] );
    124124                $this->assertEquals( 300, $downsize[2] );
    125125