Index: tests/phpunit/tests/multisite/network.php
===================================================================
--- tests/phpunit/tests/multisite/network.php	(revision 35626)
+++ tests/phpunit/tests/multisite/network.php	(working copy)
@@ -249,6 +249,54 @@
 		$dashboard_blog = get_dashboard_blog();
 		$this->assertEquals( $blog_id, $dashboard_blog->blog_id );
 	}
+
+	/**
+	 * @ticket 30594
+	 */
+	function test_network_enable_themes() {
+		// Test one theme
+		$theme = 'testtheme-1';
+		wp_network_enable_theme( $theme );
+		$enabled = get_site_option( 'allowedthemes' );
+		$this->assertArrayHasKey( 'testtheme-1', $enabled );
+
+		// Test an array of themes
+		$themes = array( 'testtheme-2', 'testtheme-3' );
+		wp_network_enable_theme( $themes );
+		$enabled = get_site_option( 'allowedthemes' );
+		$this->assertArrayHasKey( 'testtheme-1', $enabled );
+		$this->assertArrayHasKey( 'testtheme-2', $enabled );
+		$this->assertArrayHasKey( 'testtheme-3', $enabled );
+
+	}
+
+	/**
+	 * @ticket 30594
+	 */
+	function test_network_disable_theme() {
+		// First, enable a few themes
+		$themes = array( 'testtheme-1', 'testtheme-2', 'testtheme-3', 'testtheme-4' );
+		wp_network_enable_theme( $themes );
+
+		// Disable one only theme
+		wp_network_disable_theme( 'testtheme-2' );
+		$enabled = get_site_option( 'allowedthemes' );
+
+		$this->assertArrayHasKey( 'testtheme-1', $enabled );
+		$this->assertArrayHasKey( 'testtheme-3', $enabled );
+		$this->assertArrayHasKey( 'testtheme-4', $enabled );
+		$this->assertFalse( isset( $enabled['testtheme-2'] ) );
+
+
+		// Disable an array of themes
+		$remove = array( 'testtheme-1', 'testtheme-3' );
+		wp_network_disable_theme( $remove );
+		$enabled = get_site_option( 'allowedthemes' );
+		$this->assertArrayHasKey( 'testtheme-4', $enabled );
+		$this->assertFalse( isset( $enabled['testtheme-1'] ) );
+		$this->assertFalse( isset( $enabled['testtheme-2'] ) );
+		$this->assertFalse( isset( $enabled['testtheme-3'] ) );
+	}
 }
 
 endif;
