- Timestamp:
- 04/09/2025 01:29:39 PM (6 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/multisite/isUploadSpaceAvailable.php
r52010 r60148 1 1 <?php 2 2 3 if ( is_multisite() ) : 3 /** 4 * Tests specific to `is_upload_space_available()` in multisite. 5 * 6 * These tests filter `pre_get_space_used` so that we can ignore the local 7 * environment. Tests for `get_space_used()` are handled elsewhere. 8 * 9 * @group ms-required 10 * @group multisite 11 */ 12 class Tests_Multisite_IsUploadSpaceAvailable extends WP_UnitTestCase { 13 14 public function set_up() { 15 parent::set_up(); 16 update_site_option( 'upload_space_check_disabled', false ); 17 } 4 18 5 19 /** 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 20 * A default of 100MB is used when no `blog_upload_space` option 21 * exists at the site or network level. 12 22 */ 13 class Tests_Multisite_IsUploadSpaceAvailable extends WP_UnitTestCase { 23 public function test_is_upload_space_available_default() { 24 delete_option( 'blog_upload_space' ); 25 delete_site_option( 'blog_upload_space' ); 14 26 15 public function set_up() { 16 parent::set_up(); 17 update_site_option( 'upload_space_check_disabled', false ); 18 } 27 add_filter( 'pre_get_space_used', array( $this, 'filter_space_used_small' ) ); 28 $available = is_upload_space_available(); 29 remove_filter( 'pre_get_space_used', array( $this, 'filter_space_used_small' ) ); 19 30 20 /** 21 * A default of 100MB is used when no `blog_upload_space` option 22 * exists at the site or network level. 23 */ 24 public function test_is_upload_space_available_default() { 25 delete_option( 'blog_upload_space' ); 26 delete_site_option( 'blog_upload_space' ); 27 28 add_filter( 'pre_get_space_used', array( $this, 'filter_space_used_small' ) ); 29 $available = is_upload_space_available(); 30 remove_filter( 'pre_get_space_used', array( $this, 'filter_space_used_small' ) ); 31 32 $this->assertTrue( $available ); 33 } 34 35 public function test_is_upload_space_available_check_disabled() { 36 update_site_option( 'blog_upload_space', 10 ); 37 update_site_option( 'upload_space_check_disabled', true ); 38 39 add_filter( 'pre_get_space_used', array( $this, 'filter_space_used_large' ) ); 40 $available = is_upload_space_available(); 41 remove_filter( 'pre_get_space_used', array( $this, 'filter_space_used_large' ) ); 42 43 $this->assertTrue( $available ); 44 } 45 46 public function test_is_upload_space_available_space_used_is_less_then_allowed() { 47 update_option( 'blog_upload_space', 350 ); 48 49 add_filter( 'pre_get_space_used', array( $this, 'filter_space_used_small' ) ); 50 $available = is_upload_space_available(); 51 remove_filter( 'pre_get_space_used', array( $this, 'filter_space_used_small' ) ); 52 53 $this->assertTrue( $available ); 54 } 55 56 public function test_is_upload_space_available_space_used_is_more_than_allowed() { 57 update_option( 'blog_upload_space', 350 ); 58 59 add_filter( 'pre_get_space_used', array( $this, 'filter_space_used_large' ) ); 60 $available = is_upload_space_available(); 61 remove_filter( 'pre_get_space_used', array( $this, 'filter_space_used_large' ) ); 62 63 $this->assertFalse( $available ); 64 } 65 66 /** 67 * More comprehensive testing a 0 condition is handled in the tests 68 * for `get_space_allowed()`. We cover one scenario here. 69 */ 70 public function test_is_upload_space_available_upload_space_0_defaults_to_100() { 71 update_option( 'blog_upload_space', 0 ); 72 73 add_filter( 'pre_get_space_used', array( $this, 'filter_space_used_small' ) ); 74 $available = is_upload_space_available(); 75 remove_filter( 'pre_get_space_used', array( $this, 'filter_space_used_small' ) ); 76 77 $this->assertFalse( $available ); 78 } 79 80 public function test_is_upload_space_available_upload_space_negative() { 81 update_site_option( 'blog_upload_space', -1 ); 82 83 add_filter( 'pre_get_space_used', array( $this, 'filter_space_used_small' ) ); 84 $available = is_upload_space_available(); 85 remove_filter( 'pre_get_space_used', array( $this, 'filter_space_used_small' ) ); 86 87 $this->assertFalse( $available ); 88 } 89 90 public function filter_space_used_large() { 91 return 10000000; 92 } 93 94 public function filter_space_used_small() { 95 return 10; 96 } 31 $this->assertTrue( $available ); 97 32 } 98 33 99 endif; 34 public function test_is_upload_space_available_check_disabled() { 35 update_site_option( 'blog_upload_space', 10 ); 36 update_site_option( 'upload_space_check_disabled', true ); 37 38 add_filter( 'pre_get_space_used', array( $this, 'filter_space_used_large' ) ); 39 $available = is_upload_space_available(); 40 remove_filter( 'pre_get_space_used', array( $this, 'filter_space_used_large' ) ); 41 42 $this->assertTrue( $available ); 43 } 44 45 public function test_is_upload_space_available_space_used_is_less_then_allowed() { 46 update_option( 'blog_upload_space', 350 ); 47 48 add_filter( 'pre_get_space_used', array( $this, 'filter_space_used_small' ) ); 49 $available = is_upload_space_available(); 50 remove_filter( 'pre_get_space_used', array( $this, 'filter_space_used_small' ) ); 51 52 $this->assertTrue( $available ); 53 } 54 55 public function test_is_upload_space_available_space_used_is_more_than_allowed() { 56 update_option( 'blog_upload_space', 350 ); 57 58 add_filter( 'pre_get_space_used', array( $this, 'filter_space_used_large' ) ); 59 $available = is_upload_space_available(); 60 remove_filter( 'pre_get_space_used', array( $this, 'filter_space_used_large' ) ); 61 62 $this->assertFalse( $available ); 63 } 64 65 /** 66 * More comprehensive testing a 0 condition is handled in the tests 67 * for `get_space_allowed()`. We cover one scenario here. 68 */ 69 public function test_is_upload_space_available_upload_space_0_defaults_to_100() { 70 update_option( 'blog_upload_space', 0 ); 71 72 add_filter( 'pre_get_space_used', array( $this, 'filter_space_used_small' ) ); 73 $available = is_upload_space_available(); 74 remove_filter( 'pre_get_space_used', array( $this, 'filter_space_used_small' ) ); 75 76 $this->assertFalse( $available ); 77 } 78 79 public function test_is_upload_space_available_upload_space_negative() { 80 update_site_option( 'blog_upload_space', -1 ); 81 82 add_filter( 'pre_get_space_used', array( $this, 'filter_space_used_small' ) ); 83 $available = is_upload_space_available(); 84 remove_filter( 'pre_get_space_used', array( $this, 'filter_space_used_small' ) ); 85 86 $this->assertFalse( $available ); 87 } 88 89 public function filter_space_used_large() { 90 return 10000000; 91 } 92 93 public function filter_space_used_small() { 94 return 10; 95 } 96 }
Note: See TracChangeset
for help on using the changeset viewer.