- Timestamp:
- 11/30/2017 11:09:33 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/multisite/isUploadSpaceAvailable.php
r35016 r42343 3 3 if ( is_multisite() ) : 4 4 5 /**6 * Tests specific to `is_upload_space_available()` in multisite.7 *8 * These tests filter `pre_get_space_used` so that we can ignore the local9 * environment. Tests for `get_space_used()` are handled elsewhere.10 *11 * @group multisite12 */13 class Tests_Multisite_Is_Upload_Space_Available extends WP_UnitTestCase {14 protected $suppress = false;5 /** 6 * Tests specific to `is_upload_space_available()` in multisite. 7 * 8 * These tests filter `pre_get_space_used` so that we can ignore the local 9 * environment. Tests for `get_space_used()` are handled elsewhere. 10 * 11 * @group multisite 12 */ 13 class Tests_Multisite_Is_Upload_Space_Available extends WP_UnitTestCase { 14 protected $suppress = false; 15 15 16 protected static $original_site_blog_upload_space;17 protected static $original_blog_upload_space;16 protected static $original_site_blog_upload_space; 17 protected static $original_blog_upload_space; 18 18 19 public static function setUpBeforeClass() {20 parent::setUpBeforeClass();19 public static function setUpBeforeClass() { 20 parent::setUpBeforeClass(); 21 21 22 self::$original_site_blog_upload_space = get_site_option( 'blog_upload_space' ); 23 self::$original_blog_upload_space = get_option( 'blog_upload_space' ); 22 self::$original_site_blog_upload_space = get_site_option( 'blog_upload_space' ); 23 self::$original_blog_upload_space = get_option( 'blog_upload_space' ); 24 } 25 26 public function setUp() { 27 global $wpdb; 28 parent::setUp(); 29 $this->suppress = $wpdb->suppress_errors(); 30 31 update_site_option( 'upload_space_check_disabled', false ); 32 } 33 34 public function tearDown() { 35 global $wpdb; 36 37 /** 38 * Reset the two `blog_upload_space` options to their original values so 39 * they can be relied on in other test classes. 40 */ 41 update_site_option( 'blog_upload_space', self::$original_site_blog_upload_space ); 42 update_option( 'blog_upload_space', self::$original_blog_upload_space ); 43 44 $wpdb->suppress_errors( $this->suppress ); 45 parent::tearDown(); 46 } 47 48 /** 49 * A default of 100MB is used when no `blog_upload_space` option 50 * exists at the site or network level. 51 */ 52 public function test_is_upload_space_available_default() { 53 delete_option( 'blog_upload_space' ); 54 delete_site_option( 'blog_upload_space' ); 55 56 add_filter( 'pre_get_space_used', array( $this, '_filter_space_used_small' ) ); 57 $available = is_upload_space_available(); 58 remove_filter( 'pre_get_space_used', array( $this, '_filter_space_used_small' ) ); 59 60 $this->assertTrue( $available ); 61 } 62 63 public function test_is_upload_space_available_check_disabled() { 64 update_site_option( 'blog_upload_space', 10 ); 65 update_site_option( 'upload_space_check_disabled', true ); 66 67 add_filter( 'pre_get_space_used', array( $this, '_filter_space_used_large' ) ); 68 $available = is_upload_space_available(); 69 remove_filter( 'pre_get_space_used', array( $this, '_filter_space_used_large' ) ); 70 71 $this->assertTrue( $available ); 72 } 73 74 public function test_is_upload_space_available_space_used_is_less_then_allowed() { 75 update_option( 'blog_upload_space', 350 ); 76 77 add_filter( 'pre_get_space_used', array( $this, '_filter_space_used_small' ) ); 78 $available = is_upload_space_available(); 79 remove_filter( 'pre_get_space_used', array( $this, '_filter_space_used_small' ) ); 80 81 $this->assertTrue( $available ); 82 } 83 84 function test_is_upload_space_available_space_used_is_more_than_allowed() { 85 update_option( 'blog_upload_space', 350 ); 86 87 add_filter( 'pre_get_space_used', array( $this, '_filter_space_used_large' ) ); 88 $available = is_upload_space_available(); 89 remove_filter( 'pre_get_space_used', array( $this, '_filter_space_used_large' ) ); 90 91 $this->assertFalse( $available ); 92 } 93 94 /** 95 * More comprehensive testing a 0 condition is handled in the tests 96 * for `get_space_allowed()`. We cover one scenario here. 97 */ 98 function test_is_upload_space_available_upload_space_0_defaults_to_100() { 99 update_option( 'blog_upload_space', 0 ); 100 101 add_filter( 'pre_get_space_used', array( $this, '_filter_space_used_small' ) ); 102 $available = is_upload_space_available(); 103 remove_filter( 'pre_get_space_used', array( $this, '_filter_space_used_small' ) ); 104 105 $this->assertFalse( $available ); 106 } 107 108 function test_is_upload_space_available_upload_space_negative() { 109 update_site_option( 'blog_upload_space', -1 ); 110 111 add_filter( 'pre_get_space_used', array( $this, '_filter_space_used_small' ) ); 112 $available = is_upload_space_available(); 113 remove_filter( 'pre_get_space_used', array( $this, '_filter_space_used_small' ) ); 114 115 $this->assertFalse( $available ); 116 } 117 118 function _filter_space_used_large() { 119 return 10000000; 120 } 121 122 function _filter_space_used_small() { 123 return 10; 124 } 24 125 } 25 126 26 public function setUp() {27 global $wpdb;28 parent::setUp();29 $this->suppress = $wpdb->suppress_errors();30 31 update_site_option( 'upload_space_check_disabled', false );32 }33 34 public function tearDown() {35 global $wpdb;36 37 /**38 * Reset the two `blog_upload_space` options to their original values so39 * they can be relied on in other test classes.40 */41 update_site_option( 'blog_upload_space', self::$original_site_blog_upload_space );42 update_option( 'blog_upload_space', self::$original_blog_upload_space );43 44 $wpdb->suppress_errors( $this->suppress );45 parent::tearDown();46 }47 48 /**49 * A default of 100MB is used when no `blog_upload_space` option50 * exists at the site or network level.51 */52 public function test_is_upload_space_available_default() {53 delete_option( 'blog_upload_space' );54 delete_site_option( 'blog_upload_space' );55 56 add_filter( 'pre_get_space_used', array( $this, '_filter_space_used_small' ) );57 $available = is_upload_space_available();58 remove_filter( 'pre_get_space_used', array( $this, '_filter_space_used_small' ) );59 60 $this->assertTrue( $available );61 }62 63 public function test_is_upload_space_available_check_disabled() {64 update_site_option( 'blog_upload_space', 10 );65 update_site_option( 'upload_space_check_disabled', true );66 67 add_filter( 'pre_get_space_used', array( $this, '_filter_space_used_large' ) );68 $available = is_upload_space_available();69 remove_filter( 'pre_get_space_used', array( $this, '_filter_space_used_large' ) );70 71 $this->assertTrue( $available );72 }73 74 public function test_is_upload_space_available_space_used_is_less_then_allowed() {75 update_option( 'blog_upload_space', 350 );76 77 add_filter( 'pre_get_space_used', array( $this, '_filter_space_used_small' ) );78 $available = is_upload_space_available();79 remove_filter( 'pre_get_space_used', array( $this, '_filter_space_used_small' ) );80 81 $this->assertTrue( $available );82 }83 84 function test_is_upload_space_available_space_used_is_more_than_allowed() {85 update_option( 'blog_upload_space', 350 );86 87 add_filter( 'pre_get_space_used', array( $this, '_filter_space_used_large' ) );88 $available = is_upload_space_available();89 remove_filter( 'pre_get_space_used', array( $this, '_filter_space_used_large' ) );90 91 $this->assertFalse( $available );92 }93 94 /**95 * More comprehensive testing a 0 condition is handled in the tests96 * for `get_space_allowed()`. We cover one scenario here.97 */98 function test_is_upload_space_available_upload_space_0_defaults_to_100() {99 update_option( 'blog_upload_space', 0 );100 101 add_filter( 'pre_get_space_used', array( $this, '_filter_space_used_small' ) );102 $available = is_upload_space_available();103 remove_filter( 'pre_get_space_used', array( $this, '_filter_space_used_small' ) );104 105 $this->assertFalse( $available );106 }107 108 function test_is_upload_space_available_upload_space_negative() {109 update_site_option( 'blog_upload_space', -1 );110 111 add_filter( 'pre_get_space_used', array( $this, '_filter_space_used_small' ) );112 $available = is_upload_space_available();113 remove_filter( 'pre_get_space_used', array( $this, '_filter_space_used_small' ) );114 115 $this->assertFalse( $available );116 }117 118 function _filter_space_used_large() {119 return 10000000;120 }121 122 function _filter_space_used_small() {123 return 10;124 }125 }126 127 127 endif;
Note: See TracChangeset
for help on using the changeset viewer.