Changeset 11378
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-groups/classes/class-bp-groups-member.php
r11087 r11378 130 130 * @var WP_User 131 131 */ 132 var$user;132 protected $user; 133 133 134 134 /** … … 198 198 $this->comments = $member->comments; 199 199 $this->invite_sent = (int) $member->invite_sent; 200 200 } 201 } 202 203 /** 204 * Magic getter. 205 * 206 * @since 2.8.0 207 * 208 * @param string $key Key. 209 * @return mixed 210 */ 211 public function __get( $key ) { 212 switch ( $key ) { 213 case 'user' : 214 return $this->get_user_object( $this->user_id ); 215 } 216 } 217 218 /** 219 * Magic issetter. 220 * 221 * @since 2.8.0 222 * 223 * @param string $key Key. 224 * @return mixed 225 */ 226 public function __isset( $key ) { 227 switch ( $key ) { 228 case 'user' : 229 return true; 230 231 default : 232 return isset( $this->{$key} ); 233 } 234 } 235 236 /** 237 * Get the user object corresponding to this membership. 238 * 239 * Used for lazyloading the protected `user` property. 240 * 241 * @since 2.8.0 242 * 243 * @return BP_Core_User 244 */ 245 protected function get_user_object() { 246 if ( empty( $this->user ) ) { 201 247 $this->user = new BP_Core_User( $this->user_id ); 202 248 } 249 250 return $this->user; 203 251 } 204 252 -
trunk/tests/phpunit/testcases/groups/class-bp-groups-member.php
r11091 r11378 1301 1301 $this->assertEqualSets( array( $m0, $m1 ), wp_list_pluck( $found, 'id' ) ); 1302 1302 } 1303 1304 /** 1305 * @ticket BP7382 1306 */ 1307 public function test_user_property_should_be_accessible() { 1308 $user = $this->factory->user->create(); 1309 $group = $this->factory->group->create(); 1310 1311 $this->add_user_to_group( $user, $group ); 1312 1313 $membership = new BP_Groups_Member( $user, $group ); 1314 1315 $user_obj = $membership->user; 1316 1317 $this->assertInstanceOf( 'BP_Core_User', $user_obj ); 1318 $this->assertEquals( $user, $user_obj->id ); 1319 } 1303 1320 }
Note: See TracChangeset
for help on using the changeset viewer.