Changeset 32812
- Timestamp:
- 06/17/2015 12:04:08 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/user/capabilities.php
r32177 r32812 39 39 } 40 40 41 // test the default roles 42 43 function test_user_administrator() { 44 $id = $this->factory->user->create( array( 'role' => 'administrator' ) ); 45 $user = new WP_User($id); 46 $this->assertTrue($user->exists(), "Problem getting user $id"); 47 48 // make sure the role name is correct 49 $this->assertEquals(array('administrator'), $user->roles); 50 51 // check a few of the main capabilities 52 $this->assertTrue($user->has_cap('switch_themes')); 53 $this->assertTrue($user->has_cap('list_users')); 54 $this->assertTrue($user->has_cap('manage_options')); 55 $this->assertTrue($user->has_cap('level_10')); 56 } 57 58 function test_user_editor() { 59 $id = $this->factory->user->create( array( 'role' => 'editor' ) ); 60 $user = new WP_User($id); 61 $this->assertTrue($user->exists(), "Problem getting user $id"); 62 63 // make sure the role name is correct 64 $this->assertEquals(array('editor'), $user->roles); 65 66 // check a few of the main capabilities 67 $this->assertTrue($user->has_cap('moderate_comments')); 68 $this->assertTrue($user->has_cap('manage_categories')); 69 $this->assertTrue($user->has_cap('upload_files')); 70 $this->assertTrue($user->has_cap('level_7')); 71 72 // and a few capabilities this user doesn't have 73 $this->assertFalse($user->has_cap('switch_themes')); 74 $this->assertFalse($user->has_cap('edit_users')); 75 $this->assertFalse($user->has_cap('level_8')); 76 } 77 78 function test_user_author() { 79 $id = $this->factory->user->create( array( 'role' => 'author' ) ); 80 $user = new WP_User($id); 81 $this->assertTrue($user->exists(), "Problem getting user $id"); 82 83 // make sure the role name is correct 84 $this->assertEquals(array('author'), $user->roles); 85 86 // check a few of the main capabilities 87 $this->assertTrue($user->has_cap('edit_posts')); 88 $this->assertTrue($user->has_cap('edit_published_posts')); 89 $this->assertTrue($user->has_cap('upload_files')); 90 $this->assertTrue($user->has_cap('level_2')); 91 92 // and a few capabilities this user doesn't have 93 $this->assertFalse($user->has_cap('moderate_comments')); 94 $this->assertFalse($user->has_cap('manage_categories')); 95 $this->assertFalse($user->has_cap('level_3')); 96 } 97 98 function test_user_contributor() { 99 $id = $this->factory->user->create( array( 'role' => 'contributor' ) ); 100 $user = new WP_User($id); 101 $this->assertTrue($user->exists(), "Problem getting user $id"); 102 103 // make sure the role name is correct 104 $this->assertEquals(array('contributor'), $user->roles); 105 106 // check a few of the main capabilities 107 $this->assertTrue($user->has_cap('edit_posts')); 108 $this->assertTrue($user->has_cap('read')); 109 $this->assertTrue($user->has_cap('level_1')); 110 $this->assertTrue($user->has_cap('level_0')); 111 112 // and a few capabilities this user doesn't have 113 $this->assertFalse($user->has_cap('upload_files')); 114 $this->assertFalse($user->has_cap('edit_published_posts')); 115 $this->assertFalse($user->has_cap('level_2')); 116 } 117 118 function test_user_subscriber() { 119 $id = $this->factory->user->create( array( 'role' => 'subscriber' ) ); 120 $user = new WP_User($id); 121 $this->assertTrue($user->exists(), "Problem getting user $id"); 122 123 // make sure the role name is correct 124 $this->assertEquals(array('subscriber'), $user->roles); 125 126 // check a few of the main capabilities 127 $this->assertTrue($user->has_cap('read')); 128 $this->assertTrue($user->has_cap('level_0')); 129 130 // and a few capabilities this user doesn't have 131 $this->assertFalse($user->has_cap('upload_files')); 132 $this->assertFalse($user->has_cap('edit_posts')); 133 $this->assertFalse($user->has_cap('level_1')); 41 protected function _getSingleSiteCaps() { 42 return array( 43 44 'unfiltered_html' => array( 'administrator', 'editor' ), 45 46 'manage_network' => array(), 47 'manage_sites' => array(), 48 'manage_network_users' => array(), 49 'manage_network_plugins' => array(), 50 'manage_network_themes' => array(), 51 'manage_network_options' => array(), 52 53 'activate_plugins' => array( 'administrator' ), 54 'create_users' => array( 'administrator' ), 55 'delete_plugins' => array( 'administrator' ), 56 'delete_themes' => array( 'administrator' ), 57 'delete_users' => array( 'administrator' ), 58 'edit_files' => array( 'administrator' ), 59 'edit_plugins' => array( 'administrator' ), 60 'edit_themes' => array( 'administrator' ), 61 'edit_users' => array( 'administrator' ), 62 'install_plugins' => array( 'administrator' ), 63 'install_themes' => array( 'administrator' ), 64 'update_core' => array( 'administrator' ), 65 'update_plugins' => array( 'administrator' ), 66 'update_themes' => array( 'administrator' ), 67 'edit_theme_options' => array( 'administrator' ), 68 'export' => array( 'administrator' ), 69 'import' => array( 'administrator' ), 70 'list_users' => array( 'administrator' ), 71 'manage_options' => array( 'administrator' ), 72 'promote_users' => array( 'administrator' ), 73 'remove_users' => array( 'administrator' ), 74 'switch_themes' => array( 'administrator' ), 75 'edit_dashboard' => array( 'administrator' ), 76 77 'moderate_comments' => array( 'administrator', 'editor' ), 78 'manage_categories' => array( 'administrator', 'editor' ), 79 'edit_others_posts' => array( 'administrator', 'editor' ), 80 'edit_pages' => array( 'administrator', 'editor' ), 81 'edit_others_pages' => array( 'administrator', 'editor' ), 82 'edit_published_pages' => array( 'administrator', 'editor' ), 83 'publish_pages' => array( 'administrator', 'editor' ), 84 'delete_pages' => array( 'administrator', 'editor' ), 85 'delete_others_posts' => array( 'administrator', 'editor' ), 86 'delete_published_pages' => array( 'administrator', 'editor' ), 87 'delete_others_posts' => array( 'administrator', 'editor' ), 88 'delete_private_posts' => array( 'administrator', 'editor' ), 89 'edit_private_posts' => array( 'administrator', 'editor' ), 90 'read_private_posts' => array( 'administrator', 'editor' ), 91 'delete_private_pages' => array( 'administrator', 'editor' ), 92 'edit_private_pages' => array( 'administrator', 'editor' ), 93 'read_private_pages' => array( 'administrator', 'editor' ), 94 95 'edit_published_posts' => array( 'administrator', 'editor', 'author' ), 96 'upload_files' => array( 'administrator', 'editor', 'author' ), 97 'publish_posts' => array( 'administrator', 'editor', 'author' ), 98 'delete_published_posts' => array( 'administrator', 'editor', 'author' ), 99 100 'edit_posts' => array( 'administrator', 'editor', 'author', 'contributor' ), 101 'delete_posts' => array( 'administrator', 'editor', 'author', 'contributor' ), 102 103 'read' => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ), 104 105 'level_10' => array( 'administrator' ), 106 'level_9' => array( 'administrator' ), 107 'level_8' => array( 'administrator' ), 108 'level_7' => array( 'administrator', 'editor' ), 109 'level_6' => array( 'administrator', 'editor' ), 110 'level_5' => array( 'administrator', 'editor' ), 111 'level_4' => array( 'administrator', 'editor' ), 112 'level_3' => array( 'administrator', 'editor' ), 113 'level_2' => array( 'administrator', 'editor', 'author' ), 114 'level_1' => array( 'administrator', 'editor', 'author', 'contributor' ), 115 'level_0' => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ), 116 117 ); 118 119 } 120 121 protected function _getMultiSiteCaps() { 122 return array( 123 124 'unfiltered_html' => array(), 125 126 'manage_network' => array(), 127 'manage_sites' => array(), 128 'manage_network_users' => array(), 129 'manage_network_plugins' => array(), 130 'manage_network_themes' => array(), 131 'manage_network_options' => array(), 132 'activate_plugins' => array(), 133 'create_users' => array(), 134 'delete_plugins' => array(), 135 'delete_themes' => array(), 136 'delete_users' => array(), 137 'edit_files' => array(), 138 'edit_plugins' => array(), 139 'edit_themes' => array(), 140 'edit_users' => array(), 141 'install_plugins' => array(), 142 'install_themes' => array(), 143 'update_core' => array(), 144 'update_plugins' => array(), 145 'update_themes' => array(), 146 147 'edit_theme_options' => array( 'administrator' ), 148 'export' => array( 'administrator' ), 149 'import' => array( 'administrator' ), 150 'list_users' => array( 'administrator' ), 151 'manage_options' => array( 'administrator' ), 152 'promote_users' => array( 'administrator' ), 153 'remove_users' => array( 'administrator' ), 154 'switch_themes' => array( 'administrator' ), 155 'edit_dashboard' => array( 'administrator' ), 156 157 'moderate_comments' => array( 'administrator', 'editor' ), 158 'manage_categories' => array( 'administrator', 'editor' ), 159 'edit_others_posts' => array( 'administrator', 'editor' ), 160 'edit_pages' => array( 'administrator', 'editor' ), 161 'edit_others_pages' => array( 'administrator', 'editor' ), 162 'edit_published_pages' => array( 'administrator', 'editor' ), 163 'publish_pages' => array( 'administrator', 'editor' ), 164 'delete_pages' => array( 'administrator', 'editor' ), 165 'delete_others_posts' => array( 'administrator', 'editor' ), 166 'delete_published_pages' => array( 'administrator', 'editor' ), 167 'delete_others_posts' => array( 'administrator', 'editor' ), 168 'delete_private_posts' => array( 'administrator', 'editor' ), 169 'edit_private_posts' => array( 'administrator', 'editor' ), 170 'read_private_posts' => array( 'administrator', 'editor' ), 171 'delete_private_pages' => array( 'administrator', 'editor' ), 172 'edit_private_pages' => array( 'administrator', 'editor' ), 173 'read_private_pages' => array( 'administrator', 'editor' ), 174 175 'edit_published_posts' => array( 'administrator', 'editor', 'author' ), 176 'upload_files' => array( 'administrator', 'editor', 'author' ), 177 'publish_posts' => array( 'administrator', 'editor', 'author' ), 178 'delete_published_posts' => array( 'administrator', 'editor', 'author' ), 179 180 'edit_posts' => array( 'administrator', 'editor', 'author', 'contributor' ), 181 'delete_posts' => array( 'administrator', 'editor', 'author', 'contributor' ), 182 183 'read' => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ), 184 185 'level_10' => array( 'administrator' ), 186 'level_9' => array( 'administrator' ), 187 'level_8' => array( 'administrator' ), 188 'level_7' => array( 'administrator', 'editor' ), 189 'level_6' => array( 'administrator', 'editor' ), 190 'level_5' => array( 'administrator', 'editor' ), 191 'level_4' => array( 'administrator', 'editor' ), 192 'level_3' => array( 'administrator', 'editor' ), 193 'level_2' => array( 'administrator', 'editor', 'author' ), 194 'level_1' => array( 'administrator', 'editor', 'author', 'contributor' ), 195 'level_0' => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ), 196 197 ); 198 199 } 200 201 protected function getCapsAndRoles() { 202 if ( is_multisite() ) { 203 return $this->_getMultiSiteCaps(); 204 } else { 205 return $this->_getSingleSiteCaps(); 206 } 207 } 208 209 // test the tests 210 function test_single_and_multisite_cap_tests_match() { 211 $single = $this->_getSingleSiteCaps(); 212 $multi = $this->_getMultiSiteCaps(); 213 $this->assertEquals( array_keys( $single ), array_keys( $multi ) ); 214 } 215 216 // test the default roles and caps 217 function test_all_roles_and_caps() { 218 $users = array( 219 'administrator' => $this->factory->user->create_and_get( array( 'role' => 'administrator' ) ), 220 'editor' => $this->factory->user->create_and_get( array( 'role' => 'editor' ) ), 221 'author' => $this->factory->user->create_and_get( array( 'role' => 'author' ) ), 222 'contributor' => $this->factory->user->create_and_get( array( 'role' => 'contributor' ) ), 223 'subscriber' => $this->factory->user->create_and_get( array( 'role' => 'subscriber' ) ), 224 ); 225 $caps = $this->getCapsAndRoles(); 226 227 foreach ( $users as $role => $user ) { 228 229 // make sure the user is valid 230 $this->assertTrue( $user->exists(), "User with {$role} role does not exist" ); 231 232 // make sure the role name is correct 233 $this->assertEquals( array( $role ), $user->roles, "User should only have the {$role} role" ); 234 235 foreach ( $caps as $cap => $roles ) { 236 if ( in_array( $role, $roles, true ) ) { 237 $this->assertTrue( $user->has_cap( $cap ), "User with the {$role} role should have the {$cap} capability" ); 238 $this->assertTrue( user_can( $user, $cap ), "User with the {$role} role should have the {$cap} capability" ); 239 } else { 240 $this->assertFalse( $user->has_cap( $cap ), "User with the {$role} role should not have the {$cap} capability" ); 241 $this->assertFalse( user_can( $user, $cap ), "User with the {$role} role should not have the {$cap} capability" ); 242 } 243 } 244 245 } 246 } 247 248 // special case for the link manager 249 function test_link_manager_caps() { 250 $users = array( 251 'administrator' => $this->factory->user->create_and_get( array( 'role' => 'administrator' ) ), 252 'editor' => $this->factory->user->create_and_get( array( 'role' => 'editor' ) ), 253 'author' => $this->factory->user->create_and_get( array( 'role' => 'author' ) ), 254 'contributor' => $this->factory->user->create_and_get( array( 'role' => 'contributor' ) ), 255 'subscriber' => $this->factory->user->create_and_get( array( 'role' => 'subscriber' ) ), 256 ); 257 $caps = array( 258 'manage_links' => array( 'administrator', 'editor' ), 259 ); 260 261 $this->assertSame( '0', get_option( 'link_manager_enabled' ) ); 262 263 // no-one should have access to the link manager by default 264 foreach ( $users as $role => $user ) { 265 foreach ( $caps as $cap => $roles ) { 266 $this->assertFalse( $user->has_cap( $cap ), "User with the {$role} role should not have the {$cap} capability" ); 267 $this->assertFalse( user_can( $user, $cap ), "User with the {$role} role should not have the {$cap} capability" ); 268 } 269 } 270 271 update_option( 'link_manager_enabled', '1' ); 272 $this->assertSame( '1', get_option( 'link_manager_enabled' ) ); 273 274 foreach ( $users as $role => $user ) { 275 foreach ( $caps as $cap => $roles ) { 276 if ( in_array( $role, $roles, true ) ) { 277 $this->assertTrue( $user->has_cap( $cap ), "User with the {$role} role should have the {$cap} capability" ); 278 $this->assertTrue( user_can( $user, $cap ), "User with the {$role} role should have the {$cap} capability" ); 279 } else { 280 $this->assertFalse( $user->has_cap( $cap ), "User with the {$role} role should not have the {$cap} capability" ); 281 $this->assertFalse( user_can( $user, $cap ), "User with the {$role} role should not have the {$cap} capability" ); 282 } 283 } 284 } 285 286 update_option( 'link_manager_enabled', '0' ); 287 $this->assertSame( '0', get_option( 'link_manager_enabled' ) ); 288 289 } 290 291 function test_super_admin_caps() { 292 if ( ! is_multisite() ) { 293 $this->markTestSkipped( 'Test only runs in multisite' ); 294 return; 295 } 296 $caps = $this->getCapsAndRoles(); 297 298 $user = $this->factory->user->create_and_get( array( 'role' => 'administrator' ) ); 299 grant_super_admin( $user->ID ); 300 301 $this->assertTrue( is_super_admin( $user->ID ) ); 302 303 foreach ( $caps as $cap => $roles ) { 304 $this->assertTrue( $user->has_cap( $cap ), "Super Admins should have the {$cap} capability" ); 305 $this->assertTrue( user_can( $user, $cap ), "Super Admins should have the {$cap} capability" ); 306 } 134 307 } 135 308 136 309 // a role that doesn't exist 137 310 function test_bogus_role() { 138 _disable_wp_die(); 139 $id = $this->factory->user->create( array( 'role' => rand_str() ) ); 140 $user = new WP_User($id); 141 $this->assertTrue($user->exists(), "Problem getting user $id"); 142 143 // user has no role and no capabilities 144 $this->assertEquals(array(), $user->roles); 145 $this->assertFalse($user->has_cap('level_0')); 146 _enable_wp_die(); 311 $user = $this->factory->user->create_and_get( array( 'role' => 'invalid_role' ) ); 312 313 // make sure the user is valid 314 $this->assertTrue( $user->exists(), "User does not exist" ); 315 316 // make sure the role name is correct 317 $this->assertEquals( array(), $user->roles, "User should not have any roles" ); 318 319 $caps = $this->getCapsAndRoles(); 320 321 foreach ( $caps as $cap => $roles ) { 322 $this->assertFalse( $user->has_cap( $cap ), "User with an invalid role should not have the {$cap} capability" ); 323 $this->assertFalse( user_can( $user, $cap ), "User with an invalid role should not have the {$cap} capability" ); 324 } 147 325 } 148 326 149 327 // a user with multiple roles 150 328 function test_user_subscriber_contributor() { 151 $id = $this->factory->user->create( array( 'role' => 'subscriber' ) ); 152 $user = new WP_User($id); 153 $this->assertTrue($user->exists(), "Problem getting user $id"); 154 $user->add_role('contributor'); 155 156 // nuke and re-fetch the object to make sure it was stored 157 $user = NULL; 158 $user = new WP_User($id); 159 $this->assertTrue($user->exists(), "Problem getting user $id"); 329 $user = $this->factory->user->create_and_get( array( 'role' => 'subscriber' ) ); 330 331 // make sure the user is valid 332 $this->assertTrue( $user->exists(), "User does not exist" ); 333 334 $user->add_role( 'contributor' ); 160 335 161 336 // user should have two roles now 162 $this->assertEquals(array('subscriber', 'contributor'), $user->roles); 163 164 // with contributor capabilities 165 $this->assertTrue($user->has_cap('edit_posts')); 166 $this->assertTrue($user->has_cap('read')); 167 $this->assertTrue($user->has_cap('level_1')); 168 $this->assertTrue($user->has_cap('level_0')); 169 170 // but not these 171 $this->assertFalse($user->has_cap('upload_files')); 172 $this->assertFalse($user->has_cap('edit_published_posts')); 173 $this->assertFalse($user->has_cap('level_2')); 174 } 175 337 $this->assertEquals( array( 'subscriber', 'contributor' ), $user->roles ); 338 339 $caps = $this->getCapsAndRoles(); 340 341 foreach ( $caps as $cap => $roles ) { 342 if ( array_intersect( $user->roles, $roles ) ) { 343 $this->assertTrue( $user->has_cap( $cap ), "User should have the {$cap} capability" ); 344 $this->assertTrue( user_can( $user, $cap ), "User should have the {$cap} capability" ); 345 } else { 346 $this->assertFalse( $user->has_cap( $cap ), "User should not have the {$cap} capability" ); 347 $this->assertFalse( user_can( $user, $cap ), "User should not have the {$cap} capability" ); 348 } 349 } 350 } 351 352 // newly added empty role 176 353 function test_add_empty_role() { 177 // add_role($role, $display_name, $capabilities = '')178 // randomly named role with no capabilities179 354 global $wp_roles; 180 $role_name = rand_str(); 181 add_role($role_name, 'Janitor', array()); 182 $this->_flush_roles(); 183 $this->assertTrue($wp_roles->is_role($role_name)); 184 185 $id = $this->factory->user->create( array( 'role' => $role_name ) ); 186 187 $user = new WP_User($id); 188 $this->assertTrue($user->exists(), "Problem getting user $id"); 189 190 $this->assertEquals(array($role_name), $user->roles); 191 192 // user shouldn't have any capabilities; test a quick sample 193 $this->assertFalse($user->has_cap('upload_files')); 194 $this->assertFalse($user->has_cap('edit_published_posts')); 195 $this->assertFalse($user->has_cap('level_1')); 196 $this->assertFalse($user->has_cap('level_0')); 355 356 $role_name = 'janitor'; 357 add_role( $role_name, 'Janitor', array() ); 358 359 $this->_flush_roles(); 360 $this->assertTrue( $wp_roles->is_role( $role_name ) ); 361 362 $user = $this->factory->user->create_and_get( array( 'role' => $role_name ) ); 363 364 // make sure the user is valid 365 $this->assertTrue( $user->exists(), "User does not exist" ); 366 367 // make sure the role name is correct 368 $this->assertEquals( array( $role_name ), $user->roles ); 369 370 $caps = $this->getCapsAndRoles(); 371 372 foreach ( $caps as $cap => $roles ) { 373 $this->assertFalse( $user->has_cap( $cap ), "User should not have the {$cap} capability" ); 374 $this->assertFalse( user_can( $user, $cap ), "User should not have the {$cap} capability" ); 375 } 197 376 198 377 // clean up 199 remove_role( $role_name);200 $this->_flush_roles(); 201 $this->assertFalse( $wp_roles->is_role($role_name));202 } 203 204 378 remove_role( $role_name ); 379 $this->_flush_roles(); 380 $this->assertFalse( $wp_roles->is_role( $role_name ) ); 381 } 382 383 // newly added role 205 384 function test_add_role() { 206 // add_role($role, $display_name, $capabilities = '')207 // randomly named role with a few capabilities208 385 global $wp_roles; 209 $role_name = rand_str(); 210 add_role($role_name, 'Janitor', array('edit_posts'=>true, 'edit_pages'=>true, 'level_0'=>true, 'level_1'=>true, 'level_2'=>true)); 211 $this->_flush_roles(); 212 $this->assertTrue($wp_roles->is_role($role_name)); 213 214 $id = $this->factory->user->create( array( 'role' => $role_name ) ); 215 216 $user = new WP_User($id); 217 $this->assertTrue($user->exists(), "Problem getting user $id"); 218 219 $this->assertEquals(array($role_name), $user->roles); 220 221 // the user should have all the above caps 222 $this->assertTrue($user->has_cap($role_name)); 223 $this->assertTrue($user->has_cap('edit_posts')); 224 $this->assertTrue($user->has_cap('edit_pages')); 225 $this->assertTrue($user->has_cap('level_0')); 226 $this->assertTrue($user->has_cap('level_1')); 227 $this->assertTrue($user->has_cap('level_2')); 228 229 // shouldn't have any other caps 230 $this->assertFalse($user->has_cap('upload_files')); 231 $this->assertFalse($user->has_cap('edit_published_posts')); 232 $this->assertFalse($user->has_cap('upload_files')); 233 $this->assertFalse($user->has_cap('level_3')); 386 387 $role_name = 'janitor'; 388 $expected_caps = array( 389 'edit_posts' => true, 390 'edit_pages' => true, 391 'level_0' => true, 392 'level_1' => true, 393 'level_2' => true, 394 ); 395 add_role( $role_name, 'Janitor', $expected_caps ); 396 $this->_flush_roles(); 397 $this->assertTrue( $wp_roles->is_role( $role_name ) ); 398 399 $user = $this->factory->user->create_and_get( array( 'role' => $role_name ) ); 400 401 // make sure the user is valid 402 $this->assertTrue( $user->exists(), "User does not exist" ); 403 404 // make sure the role name is correct 405 $this->assertEquals( array( $role_name ), $user->roles ); 406 407 $caps = $this->getCapsAndRoles(); 408 409 foreach ( $caps as $cap => $roles ) { 410 // the user should have all the above caps 411 if ( isset( $expected_caps[ $cap ] ) ) { 412 $this->assertTrue( $user->has_cap( $cap ), "User should have the {$cap} capability" ); 413 $this->assertTrue( user_can( $user, $cap ), "User should have the {$cap} capability" ); 414 } else { 415 $this->assertFalse( $user->has_cap( $cap ), "User should not have the {$cap} capability" ); 416 $this->assertFalse( user_can( $user, $cap ), "User should not have the {$cap} capability" ); 417 } 418 } 234 419 235 420 // clean up 236 remove_role( $role_name);237 $this->_flush_roles(); 238 $this->assertFalse( $wp_roles->is_role($role_name));421 remove_role( $role_name ); 422 $this->_flush_roles(); 423 $this->assertFalse( $wp_roles->is_role( $role_name ) ); 239 424 } 240 425
Note: See TracChangeset
for help on using the changeset viewer.