Changeset 42343 for trunk/tests/phpunit/tests/option/multisite.php
- Timestamp:
- 11/30/2017 11:09:33 PM (8 years ago)
- File:
-
- 1 edited
-
trunk/tests/phpunit/tests/option/multisite.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/option/multisite.php
r41242 r42343 3 3 if ( is_multisite() ) : 4 4 5 /**6 * Tests specific to network and site options in Multisite.7 *8 * @group option9 * @group ms-option10 * @group multisite11 */12 class Tests_Multisite_Option extends WP_UnitTestCase {13 protected $suppress = false;14 15 function setUp() {16 global $wpdb;17 parent::setUp();18 $this->suppress = $wpdb->suppress_errors();19 }20 21 function tearDown() {22 global $wpdb;23 $wpdb->suppress_errors( $this->suppress );24 parent::tearDown();25 }26 27 function test_from_same_site() {28 $key = __FUNCTION__ . '_1';29 $key2 = __FUNCTION__ . '_2';30 $value = __FUNCTION__ . '_val1';31 $value2 = __FUNCTION__ . '_val2';32 33 $this->assertFalse( get_blog_option( 1, 'doesnotexist' ) );34 $this->assertFalse( get_option( 'doesnotexist' ) ); // check get_option()35 36 $this->assertTrue( add_blog_option( 1, $key, $value ) );37 // Assert all values of $blog_id that means the current or main blog (the same here).38 $this->assertEquals( $value, get_blog_option( 1, $key ) );39 $this->assertEquals( $value, get_blog_option( null, $key ) );40 $this->assertEquals( $value, get_blog_option( '1', $key ) );41 $this->assertEquals( $value, get_option( $key ) ); // check get_option()42 43 $this->assertFalse( add_blog_option( 1, $key, $value ) ); // Already exists44 $this->assertFalse( update_blog_option( 1, $key, $value ) ); // Value is the same45 $this->assertTrue( update_blog_option( 1, $key, $value2 ) );46 $this->assertEquals( $value2, get_blog_option( 1, $key ) );47 $this->assertEquals( $value2, get_option( $key ) ); // check get_option()48 $this->assertFalse( add_blog_option( 1, $key, $value ) );49 $this->assertEquals( $value2, get_blog_option( 1, $key ) );50 $this->assertEquals( $value2, get_option( $key ) ); // check get_option()51 52 $this->assertTrue( delete_blog_option( 1, $key ) );53 $this->assertFalse( get_blog_option( 1, $key ) );54 $this->assertFalse( get_option( $key ) ); // check get_option()55 $this->assertFalse( delete_blog_option( 1, $key ) );56 $this->assertTrue( update_blog_option( 1, $key2, $value2 ) );57 $this->assertEquals( $value2, get_blog_option( 1, $key2 ) );58 $this->assertEquals( $value2, get_option( $key2 ) ); // check get_option()59 $this->assertTrue( delete_blog_option( 1, $key2 ) );60 $this->assertFalse( get_blog_option( 1, $key2 ) );61 $this->assertFalse( get_option( $key2 ) ); // check get_option()62 }63 64 function test_from_same_site_with_null_blog_id() {65 $key = __FUNCTION__ . '_1';66 $key2 = __FUNCTION__ . '_2';67 $value = __FUNCTION__ . '_val1';68 $value2 = __FUNCTION__ . '_val2';69 70 $this->assertFalse( get_blog_option( null, 'doesnotexist' ) );71 $this->assertFalse( get_option( 'doesnotexist' ) ); // check get_option()72 73 $this->assertTrue( add_blog_option( null, $key, $value ) );74 // Assert all values of $blog_id that means the current or main blog (the same here).75 $this->assertEquals( $value, get_blog_option( null, $key ) );76 $this->assertEquals( $value, get_blog_option( null, $key ) );77 $this->assertEquals( $value, get_option( $key ) ); // check get_option()78 79 $this->assertFalse( add_blog_option( null, $key, $value ) ); // Already exists80 $this->assertFalse( update_blog_option( null, $key, $value ) ); // Value is the same81 $this->assertTrue( update_blog_option( null, $key, $value2 ) );82 $this->assertEquals( $value2, get_blog_option( null, $key ) );83 $this->assertEquals( $value2, get_option( $key ) ); // check get_option()84 $this->assertFalse( add_blog_option( null, $key, $value ) );85 $this->assertEquals( $value2, get_blog_option( null, $key ) );86 $this->assertEquals( $value2, get_option( $key ) ); // check get_option()87 88 $this->assertTrue( delete_blog_option( null, $key ) );89 $this->assertFalse( get_blog_option( null, $key ) );90 $this->assertFalse( get_option( $key ) ); // check get_option()91 $this->assertFalse( delete_blog_option( null, $key ) );92 $this->assertTrue( update_blog_option( null, $key2, $value2 ) );93 $this->assertEquals( $value2, get_blog_option( null, $key2 ) );94 $this->assertEquals( $value2, get_option( $key2 ) ); // check get_option()95 $this->assertTrue( delete_blog_option( null, $key2 ) );96 $this->assertFalse( get_blog_option( null, $key2 ) );97 $this->assertFalse( get_option( $key2 ) ); // check get_option()98 }99 100 function test_with_another_site() {101 $user_id = self::factory()->user->create();102 $this->assertInternalType( 'integer', $user_id );103 104 $blog_id = self::factory()->blog->create( array(105 'user_id' => $user_id,106 'meta' => array(107 'public' => 1,108 ),109 ) );110 $this->assertInternalType( 'integer', $blog_id );111 112 $key = __FUNCTION__ . '_key1';113 $key2 = __FUNCTION__ . '_key2';114 $value = __FUNCTION__ . '_val1';115 $value2 = __FUNCTION__ . '_val2';116 117 $this->assertFalse( get_blog_option( $blog_id, 'doesnotexist' ) );118 //$this->assertFalse( get_option( 'doesnotexist' ) ); // check get_option()119 120 $this->assertTrue( add_blog_option( $blog_id, $key, $value ) );121 // Assert all values of $blog_id that means the current or main blog (the same here).122 $this->assertEquals( $value, get_blog_option( $blog_id, $key ) );123 $this->assertEquals( $value, get_blog_option( "$blog_id", $key ) );124 //$this->assertEquals( $value, get_option( $key ) ); // check get_option()125 126 $this->assertFalse( add_blog_option( $blog_id, $key, $value ) ); // Already exists127 $this->assertFalse( update_blog_option( $blog_id, $key, $value ) ); // Value is the same128 $this->assertTrue( update_blog_option( $blog_id, $key, $value2 ) );129 $this->assertEquals( $value2, get_blog_option( $blog_id, $key ) );130 //$this->assertEquals( $value2, get_option( $key ) ); // check get_option()131 $this->assertFalse( add_blog_option( $blog_id, $key, $value ) );132 $this->assertEquals( $value2, get_blog_option( $blog_id, $key ) );133 //$this->assertEquals( $value2, get_option( $key ) ); // check get_option()134 135 $this->assertTrue( delete_blog_option( $blog_id, $key ) );136 $this->assertFalse( get_blog_option( $blog_id, $key ) );137 //$this->assertFalse( get_option( $key ) ); // check get_option()138 $this->assertFalse( delete_blog_option( $blog_id, $key ) );139 $this->assertTrue( update_blog_option( $blog_id, $key2, $value2 ) );140 $this->assertEquals( $value2, get_blog_option( $blog_id, $key2 ) );141 //$this->assertEquals( $value2, get_option( $key2 ) ); // check get_option()142 $this->assertTrue( delete_blog_option( $blog_id, $key2 ) );143 $this->assertFalse( get_blog_option( $blog_id, $key2 ) );144 //$this->assertFalse( get_option( $key2 ) ); // check get_option()145 }146 147 5 /** 6 * Tests specific to network and site options in Multisite. 7 * 8 * @group option 9 * @group ms-option 148 10 * @group multisite 149 11 */ 150 function test_site_notoptions() { 151 $network_id = get_current_network_id(); 152 $notoptions_key = "{$network_id}:notoptions"; 153 154 $_notoptions = wp_cache_get( 'notoptions', 'site-options' ); 155 $this->assertEmpty( $_notoptions ); 156 $_notoptions1 = wp_cache_get( $notoptions_key, 'site-options' ); 157 $this->assertEmpty( $_notoptions1 ); 158 159 get_site_option( 'burrito' ); 160 161 $notoptions = wp_cache_get( 'notoptions', 'site-options' ); 162 $this->assertEmpty( $notoptions ); 163 $notoptions1 = wp_cache_get( $notoptions_key, 'site-options' ); 164 $this->assertNotEmpty( $notoptions1 ); 12 class Tests_Multisite_Option extends WP_UnitTestCase { 13 protected $suppress = false; 14 15 function setUp() { 16 global $wpdb; 17 parent::setUp(); 18 $this->suppress = $wpdb->suppress_errors(); 19 } 20 21 function tearDown() { 22 global $wpdb; 23 $wpdb->suppress_errors( $this->suppress ); 24 parent::tearDown(); 25 } 26 27 function test_from_same_site() { 28 $key = __FUNCTION__ . '_1'; 29 $key2 = __FUNCTION__ . '_2'; 30 $value = __FUNCTION__ . '_val1'; 31 $value2 = __FUNCTION__ . '_val2'; 32 33 $this->assertFalse( get_blog_option( 1, 'doesnotexist' ) ); 34 $this->assertFalse( get_option( 'doesnotexist' ) ); // check get_option() 35 36 $this->assertTrue( add_blog_option( 1, $key, $value ) ); 37 // Assert all values of $blog_id that means the current or main blog (the same here). 38 $this->assertEquals( $value, get_blog_option( 1, $key ) ); 39 $this->assertEquals( $value, get_blog_option( null, $key ) ); 40 $this->assertEquals( $value, get_blog_option( '1', $key ) ); 41 $this->assertEquals( $value, get_option( $key ) ); // check get_option() 42 43 $this->assertFalse( add_blog_option( 1, $key, $value ) ); // Already exists 44 $this->assertFalse( update_blog_option( 1, $key, $value ) ); // Value is the same 45 $this->assertTrue( update_blog_option( 1, $key, $value2 ) ); 46 $this->assertEquals( $value2, get_blog_option( 1, $key ) ); 47 $this->assertEquals( $value2, get_option( $key ) ); // check get_option() 48 $this->assertFalse( add_blog_option( 1, $key, $value ) ); 49 $this->assertEquals( $value2, get_blog_option( 1, $key ) ); 50 $this->assertEquals( $value2, get_option( $key ) ); // check get_option() 51 52 $this->assertTrue( delete_blog_option( 1, $key ) ); 53 $this->assertFalse( get_blog_option( 1, $key ) ); 54 $this->assertFalse( get_option( $key ) ); // check get_option() 55 $this->assertFalse( delete_blog_option( 1, $key ) ); 56 $this->assertTrue( update_blog_option( 1, $key2, $value2 ) ); 57 $this->assertEquals( $value2, get_blog_option( 1, $key2 ) ); 58 $this->assertEquals( $value2, get_option( $key2 ) ); // check get_option() 59 $this->assertTrue( delete_blog_option( 1, $key2 ) ); 60 $this->assertFalse( get_blog_option( 1, $key2 ) ); 61 $this->assertFalse( get_option( $key2 ) ); // check get_option() 62 } 63 64 function test_from_same_site_with_null_blog_id() { 65 $key = __FUNCTION__ . '_1'; 66 $key2 = __FUNCTION__ . '_2'; 67 $value = __FUNCTION__ . '_val1'; 68 $value2 = __FUNCTION__ . '_val2'; 69 70 $this->assertFalse( get_blog_option( null, 'doesnotexist' ) ); 71 $this->assertFalse( get_option( 'doesnotexist' ) ); // check get_option() 72 73 $this->assertTrue( add_blog_option( null, $key, $value ) ); 74 // Assert all values of $blog_id that means the current or main blog (the same here). 75 $this->assertEquals( $value, get_blog_option( null, $key ) ); 76 $this->assertEquals( $value, get_blog_option( null, $key ) ); 77 $this->assertEquals( $value, get_option( $key ) ); // check get_option() 78 79 $this->assertFalse( add_blog_option( null, $key, $value ) ); // Already exists 80 $this->assertFalse( update_blog_option( null, $key, $value ) ); // Value is the same 81 $this->assertTrue( update_blog_option( null, $key, $value2 ) ); 82 $this->assertEquals( $value2, get_blog_option( null, $key ) ); 83 $this->assertEquals( $value2, get_option( $key ) ); // check get_option() 84 $this->assertFalse( add_blog_option( null, $key, $value ) ); 85 $this->assertEquals( $value2, get_blog_option( null, $key ) ); 86 $this->assertEquals( $value2, get_option( $key ) ); // check get_option() 87 88 $this->assertTrue( delete_blog_option( null, $key ) ); 89 $this->assertFalse( get_blog_option( null, $key ) ); 90 $this->assertFalse( get_option( $key ) ); // check get_option() 91 $this->assertFalse( delete_blog_option( null, $key ) ); 92 $this->assertTrue( update_blog_option( null, $key2, $value2 ) ); 93 $this->assertEquals( $value2, get_blog_option( null, $key2 ) ); 94 $this->assertEquals( $value2, get_option( $key2 ) ); // check get_option() 95 $this->assertTrue( delete_blog_option( null, $key2 ) ); 96 $this->assertFalse( get_blog_option( null, $key2 ) ); 97 $this->assertFalse( get_option( $key2 ) ); // check get_option() 98 } 99 100 function test_with_another_site() { 101 $user_id = self::factory()->user->create(); 102 $this->assertInternalType( 'integer', $user_id ); 103 104 $blog_id = self::factory()->blog->create( 105 array( 106 'user_id' => $user_id, 107 'meta' => array( 108 'public' => 1, 109 ), 110 ) 111 ); 112 $this->assertInternalType( 'integer', $blog_id ); 113 114 $key = __FUNCTION__ . '_key1'; 115 $key2 = __FUNCTION__ . '_key2'; 116 $value = __FUNCTION__ . '_val1'; 117 $value2 = __FUNCTION__ . '_val2'; 118 119 $this->assertFalse( get_blog_option( $blog_id, 'doesnotexist' ) ); 120 //$this->assertFalse( get_option( 'doesnotexist' ) ); // check get_option() 121 122 $this->assertTrue( add_blog_option( $blog_id, $key, $value ) ); 123 // Assert all values of $blog_id that means the current or main blog (the same here). 124 $this->assertEquals( $value, get_blog_option( $blog_id, $key ) ); 125 $this->assertEquals( $value, get_blog_option( "$blog_id", $key ) ); 126 //$this->assertEquals( $value, get_option( $key ) ); // check get_option() 127 128 $this->assertFalse( add_blog_option( $blog_id, $key, $value ) ); // Already exists 129 $this->assertFalse( update_blog_option( $blog_id, $key, $value ) ); // Value is the same 130 $this->assertTrue( update_blog_option( $blog_id, $key, $value2 ) ); 131 $this->assertEquals( $value2, get_blog_option( $blog_id, $key ) ); 132 //$this->assertEquals( $value2, get_option( $key ) ); // check get_option() 133 $this->assertFalse( add_blog_option( $blog_id, $key, $value ) ); 134 $this->assertEquals( $value2, get_blog_option( $blog_id, $key ) ); 135 //$this->assertEquals( $value2, get_option( $key ) ); // check get_option() 136 137 $this->assertTrue( delete_blog_option( $blog_id, $key ) ); 138 $this->assertFalse( get_blog_option( $blog_id, $key ) ); 139 //$this->assertFalse( get_option( $key ) ); // check get_option() 140 $this->assertFalse( delete_blog_option( $blog_id, $key ) ); 141 $this->assertTrue( update_blog_option( $blog_id, $key2, $value2 ) ); 142 $this->assertEquals( $value2, get_blog_option( $blog_id, $key2 ) ); 143 //$this->assertEquals( $value2, get_option( $key2 ) ); // check get_option() 144 $this->assertTrue( delete_blog_option( $blog_id, $key2 ) ); 145 $this->assertFalse( get_blog_option( $blog_id, $key2 ) ); 146 //$this->assertFalse( get_option( $key2 ) ); // check get_option() 147 } 148 149 /** 150 * @group multisite 151 */ 152 function test_site_notoptions() { 153 $network_id = get_current_network_id(); 154 $notoptions_key = "{$network_id}:notoptions"; 155 156 $_notoptions = wp_cache_get( 'notoptions', 'site-options' ); 157 $this->assertEmpty( $_notoptions ); 158 $_notoptions1 = wp_cache_get( $notoptions_key, 'site-options' ); 159 $this->assertEmpty( $_notoptions1 ); 160 161 get_site_option( 'burrito' ); 162 163 $notoptions = wp_cache_get( 'notoptions', 'site-options' ); 164 $this->assertEmpty( $notoptions ); 165 $notoptions1 = wp_cache_get( $notoptions_key, 'site-options' ); 166 $this->assertNotEmpty( $notoptions1 ); 167 } 168 169 function test_users_can_register_signup_filter() { 170 171 $registration = get_site_option( 'registration' ); 172 $this->assertFalse( users_can_register_signup_filter() ); 173 174 update_site_option( 'registration', 'all' ); 175 $this->assertTrue( users_can_register_signup_filter() ); 176 177 update_site_option( 'registration', 'user' ); 178 $this->assertTrue( users_can_register_signup_filter() ); 179 180 update_site_option( 'registration', 'none' ); 181 $this->assertFalse( users_can_register_signup_filter() ); 182 } 183 184 /** 185 * @dataProvider data_illegal_names 186 */ 187 function test_sanitize_network_option_illegal_names( $option_value, $sanitized_option_value ) { 188 update_site_option( 'illegal_names', $option_value ); 189 $this->assertEquals( $sanitized_option_value, get_site_option( 'illegal_names' ) ); 190 } 191 192 function data_illegal_names() { 193 return array( 194 array( array( '', 'Woo', '' ), array( 'Woo' ) ), 195 array( 'foo bar', array( 'foo', 'bar' ) ), 196 array( array(), '' ), 197 ); 198 } 199 200 /** 201 * @dataProvider data_email_domains 202 * 203 * @param $option_value 204 * @param $sanitized_option_value 205 */ 206 function test_sanitize_network_option_limited_email_domains( $option_value, $sanitized_option_value ) { 207 update_site_option( 'limited_email_domains', $option_value ); 208 $this->assertEquals( $sanitized_option_value, get_site_option( 'limited_email_domains' ) ); 209 } 210 211 /** 212 * @dataProvider data_email_domains 213 * 214 * @param $option_value 215 * @param $sanitized_option_value 216 */ 217 function test_sanitize_network_option_banned_email_domains( $option_value, $sanitized_option_value ) { 218 update_site_option( 'banned_email_domains', $option_value ); 219 $this->assertEquals( $sanitized_option_value, get_site_option( 'banned_email_domains' ) ); 220 } 221 222 function data_email_domains() { 223 return array( 224 array( array( 'woo', '', 'boo.com', 'foo.net.biz..' ), array( 'woo', 'boo.com' ) ), 225 array( "foo\nbar", array( 'foo', 'bar' ) ), 226 array( "foo\n\nbar", array( 'foo', 'bar' ) ), 227 array( "\nfoo\nbar\n", array( 'foo', 'bar' ) ), 228 array( "foo\nfoo.net.biz..", array( 'foo' ) ), 229 array( "foo\nfoo.net.biz..\nbar.com", array( 'foo', 'bar.com' ) ), 230 array( 'foo.', array( 'foo.' ) ), 231 array( '.foo', array( '.foo' ) ), 232 array( 'foo^net', '' ), 233 array( array(), '' ), 234 ); 235 } 165 236 } 166 237 167 function test_users_can_register_signup_filter() {168 169 $registration = get_site_option('registration');170 $this->assertFalse( users_can_register_signup_filter() );171 172 update_site_option('registration', 'all');173 $this->assertTrue( users_can_register_signup_filter() );174 175 update_site_option('registration', 'user');176 $this->assertTrue( users_can_register_signup_filter() );177 178 update_site_option('registration', 'none');179 $this->assertFalse( users_can_register_signup_filter() );180 }181 182 /**183 * @dataProvider data_illegal_names184 */185 function test_sanitize_network_option_illegal_names( $option_value, $sanitized_option_value ) {186 update_site_option( 'illegal_names', $option_value );187 $this->assertEquals( $sanitized_option_value, get_site_option( 'illegal_names' ) );188 }189 190 function data_illegal_names() {191 return array(192 array( array( '', 'Woo', '' ), array( 'Woo' ) ),193 array( 'foo bar', array( 'foo', 'bar' ) ),194 array( array(), '' ),195 );196 }197 198 /**199 * @dataProvider data_email_domains200 *201 * @param $option_value202 * @param $sanitized_option_value203 */204 function test_sanitize_network_option_limited_email_domains( $option_value, $sanitized_option_value ) {205 update_site_option( 'limited_email_domains', $option_value );206 $this->assertEquals( $sanitized_option_value, get_site_option( 'limited_email_domains' ) );207 }208 209 /**210 * @dataProvider data_email_domains211 *212 * @param $option_value213 * @param $sanitized_option_value214 */215 function test_sanitize_network_option_banned_email_domains( $option_value, $sanitized_option_value ) {216 update_site_option( 'banned_email_domains', $option_value );217 $this->assertEquals( $sanitized_option_value, get_site_option( 'banned_email_domains' ) );218 }219 220 function data_email_domains() {221 return array(222 array( array( 'woo', '', 'boo.com', 'foo.net.biz..' ), array( 'woo', 'boo.com' ) ),223 array( "foo\nbar", array( 'foo', 'bar' ) ),224 array( "foo\n\nbar", array( 'foo', 'bar' ) ),225 array( "\nfoo\nbar\n", array( 'foo', 'bar' ) ),226 array( "foo\nfoo.net.biz..", array( 'foo' ) ),227 array( "foo\nfoo.net.biz..\nbar.com", array( 'foo', 'bar.com' ) ),228 array( 'foo.', array( 'foo.' ) ),229 array( '.foo', array( '.foo' ) ),230 array( 'foo^net', '' ),231 array( array(), '' ),232 );233 }234 }235 236 238 endif;
Note: See TracChangeset
for help on using the changeset viewer.