<?php

if ( is_multisite() ) :

/**
 * A set of unit tests for WordPress Multisite
 *
 * @group multisite
 */
class Tests_MS_Switch_Interference extends WP_UnitTestCase {

	function test_interference() {
		global $wpdb, $current_site;

		$user1_id = $this->factory->user->create( array( 'role' => 'administrator' ) );
		$blog_ids = array();
		$blog_ids[] = $this->factory->blog->create( array( 'title' => 'site1', 'user_id' => $user1_id ) );
		$blog_ids[] = $this->factory->blog->create( array( 'title' => 'site2' ) );
		$blog_ids[] = $this->factory->blog->create( array( 'title' => 'site3', 'user_id' => $user1_id ) );
		wp_set_current_user( $user1_id );

		$sites = array();
		foreach ( $blog_ids as $blog_id ) {
			if( !current_user_can_for_blog( $blog_id , 'upload_files') ) continue;
			$sites[] = get_blog_option( $blog_id, 'blogname' );
		}

		$this->assertEquals( array( 'site1', 'site3' ), $sites );

		// cleanup
		foreach ( $blog_ids as $blog_id ) {
			wpmu_delete_blog( $blog_id, true );
		}
	}
}
endif;
