Changeset 60253 for trunk/tests/phpunit/tests/meta.php
- Timestamp:
- 05/26/2025 02:34:12 PM (8 months ago)
- File:
-
- 1 edited
-
trunk/tests/phpunit/tests/meta.php (modified) (13 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/meta.php
r60251 r60253 10 10 * @var \WP_User 11 11 */ 12 private $author; 13 14 private $meta_id; 15 private $delete_meta_id; 16 17 public function set_up() { 18 parent::set_up(); 19 $this->author = new WP_User( self::factory()->user->create( array( 'role' => 'author' ) ) ); 20 $this->meta_id = add_metadata( 'user', $this->author->ID, 'meta_key', 'meta_value' ); 21 $this->delete_meta_id = add_metadata( 'user', $this->author->ID, 'delete_meta_key', 'delete_meta_value' ); 12 private static $author; 13 14 private static $meta_id; 15 private static $delete_meta_id; 16 17 public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) { 18 self::$author = new WP_User( $factory->user->create( array( 'role' => 'author' ) ) ); 19 self::$meta_id = add_metadata( 'user', self::$author->ID, 'meta_key', 'meta_value' ); 20 self::$delete_meta_id = add_metadata( 'user', self::$author->ID, 'delete_meta_key', 'delete_meta_value' ); 22 21 } 23 22 … … 38 37 // Let's try and delete a non-existing ID, non existing meta. 39 38 $this->assertFalse( delete_metadata_by_mid( 'user', 0 ) ); 40 $this->assertFalse( delete_metadata_by_mid( 'non_existing_meta', $this->delete_meta_id ) );39 $this->assertFalse( delete_metadata_by_mid( 'non_existing_meta', self::$delete_meta_id ) ); 41 40 42 41 // Now let's delete the real meta data. 43 $this->assertTrue( delete_metadata_by_mid( 'user', $this->delete_meta_id ) );42 $this->assertTrue( delete_metadata_by_mid( 'user', self::$delete_meta_id ) ); 44 43 45 44 // And make sure it's been deleted. 46 $this->assertFalse( get_metadata_by_mid( 'user', $this->delete_meta_id ) );45 $this->assertFalse( get_metadata_by_mid( 'user', self::$delete_meta_id ) ); 47 46 48 47 // Make sure the caches are cleared. 49 $this->assertFalse( (bool) get_user_meta( $this->author->ID, 'delete_meta_key' ) );48 $this->assertFalse( (bool) get_user_meta( self::$author->ID, 'delete_meta_key' ) ); 50 49 } 51 50 52 51 public function test_update_metadata_by_mid() { 53 52 // Setup. 54 $meta = get_metadata_by_mid( 'user', $this->meta_id );53 $meta = get_metadata_by_mid( 'user', self::$meta_id ); 55 54 56 55 // Update the meta value. 57 $this->assertTrue( update_metadata_by_mid( 'user', $this->meta_id, 'meta_new_value' ) );58 $meta = get_metadata_by_mid( 'user', $this->meta_id );56 $this->assertTrue( update_metadata_by_mid( 'user', self::$meta_id, 'meta_new_value' ) ); 57 $meta = get_metadata_by_mid( 'user', self::$meta_id ); 59 58 $this->assertSame( 'meta_new_value', $meta->meta_value ); 60 59 61 60 // Update the meta value. 62 $this->assertTrue( update_metadata_by_mid( 'user', $this->meta_id, 'meta_new_value', 'meta_new_key' ) );63 $meta = get_metadata_by_mid( 'user', $this->meta_id );61 $this->assertTrue( update_metadata_by_mid( 'user', self::$meta_id, 'meta_new_value', 'meta_new_key' ) ); 62 $meta = get_metadata_by_mid( 'user', self::$meta_id ); 64 63 $this->assertSame( 'meta_new_key', $meta->meta_key ); 65 64 66 65 // Update the key and value. 67 $this->assertTrue( update_metadata_by_mid( 'user', $this->meta_id, 'meta_value', 'meta_key' ) );68 $meta = get_metadata_by_mid( 'user', $this->meta_id );66 $this->assertTrue( update_metadata_by_mid( 'user', self::$meta_id, 'meta_value', 'meta_key' ) ); 67 $meta = get_metadata_by_mid( 'user', self::$meta_id ); 69 68 $this->assertSame( 'meta_key', $meta->meta_key ); 70 69 $this->assertSame( 'meta_value', $meta->meta_value ); 71 70 72 71 // Update the value that has to be serialized. 73 $this->assertTrue( update_metadata_by_mid( 'user', $this->meta_id, array( 'first', 'second' ) ) );74 $meta = get_metadata_by_mid( 'user', $this->meta_id );72 $this->assertTrue( update_metadata_by_mid( 'user', self::$meta_id, array( 'first', 'second' ) ) ); 73 $meta = get_metadata_by_mid( 'user', self::$meta_id ); 75 74 $this->assertSame( array( 'first', 'second' ), $meta->meta_value ); 76 75 77 76 // Let's try some invalid meta data. 78 77 $this->assertFalse( update_metadata_by_mid( 'user', 0, 'meta_value' ) ); 79 $this->assertFalse( update_metadata_by_mid( 'user', $this->meta_id, 'meta_value', array( 'invalid', 'key' ) ) );78 $this->assertFalse( update_metadata_by_mid( 'user', self::$meta_id, 'meta_value', array( 'invalid', 'key' ) ) ); 80 79 81 80 // Let's see if caches get cleared after updates. 82 $meta = get_metadata_by_mid( 'user', $this->meta_id );81 $meta = get_metadata_by_mid( 'user', self::$meta_id ); 83 82 $first = get_user_meta( $meta->user_id, $meta->meta_key ); 84 $this->assertTrue( update_metadata_by_mid( 'user', $this->meta_id, 'other_meta_value' ) );83 $this->assertTrue( update_metadata_by_mid( 'user', self::$meta_id, 'other_meta_value' ) ); 85 84 $second = get_user_meta( $meta->user_id, $meta->meta_key ); 86 85 $this->assertFalse( $first === $second ); … … 116 115 117 116 public function test_metadata_exists() { 118 $this->assertFalse( metadata_exists( 'user', $this->author->ID, 'foobarbaz' ) );119 $this->assertTrue( metadata_exists( 'user', $this->author->ID, 'meta_key' ) );117 $this->assertFalse( metadata_exists( 'user', self::$author->ID, 'foobarbaz' ) ); 118 $this->assertTrue( metadata_exists( 'user', self::$author->ID, 'meta_key' ) ); 120 119 $this->assertFalse( metadata_exists( 'user', 1234567890, 'foobarbaz' ) ); 121 120 $this->assertFalse( metadata_exists( 'user', 1234567890, 'meta_key' ) ); … … 128 127 // Let's see if it returns the correct value when adding a filter. 129 128 add_filter( 'get_user_metadata', '__return_zero' ); 130 $this->assertFalse( metadata_exists( 'user', $this->author->ID, 'meta_key' ) ); // Existing meta key.129 $this->assertFalse( metadata_exists( 'user', self::$author->ID, 'meta_key' ) ); // Existing meta key. 131 130 $this->assertFalse( metadata_exists( 'user', 1234567890, 'meta_key' ) ); 132 131 remove_filter( 'get_user_metadata', '__return_zero' ); … … 151 150 152 151 // User found is not locally defined author (it's the admin). 153 $this->assertNotEquals( $this->author->user_login, $u[0]->user_login );152 $this->assertNotEquals( self::$author->user_login, $u[0]->user_login ); 154 153 155 154 // Test EXISTS and NOT EXISTS together, no users should be found. … … 186 185 ); 187 186 188 delete_metadata( 'user', $this->author->ID, 'meta_key' );187 delete_metadata( 'user', self::$author->ID, 'meta_key' ); 189 188 190 189 $this->assertCount( … … 209 208 $value2 = 'Test\\\\doubleslash'; 210 209 $expected2 = 'Test\\doubleslash'; 211 $this->assertFalse( metadata_exists( 'user', $this->author->ID, $key ) );212 $this->assertFalse( delete_metadata( 'user', $this->author->ID, $key ) );213 $this->assertSame( '', get_metadata( 'user', $this->author->ID, $key, true ) );214 $this->assertIsInt( add_metadata( 'user', $this->author->ID, $key, $value ) );215 $this->assertSame( $expected, get_metadata( 'user', $this->author->ID, $key, true ) );216 $this->assertTrue( delete_metadata( 'user', $this->author->ID, $key ) );217 $this->assertSame( '', get_metadata( 'user', $this->author->ID, $key, true ) );218 $this->assertIsInt( update_metadata( 'user', $this->author->ID, $key, $value ) );219 $this->assertSame( $expected, get_metadata( 'user', $this->author->ID, $key, true ) );220 $this->assertTrue( update_metadata( 'user', $this->author->ID, $key, 'blah' ) );221 $this->assertSame( 'blah', get_metadata( 'user', $this->author->ID, $key, true ) );222 $this->assertTrue( delete_metadata( 'user', $this->author->ID, $key ) );223 $this->assertSame( '', get_metadata( 'user', $this->author->ID, $key, true ) );224 $this->assertFalse( metadata_exists( 'user', $this->author->ID, $key ) );210 $this->assertFalse( metadata_exists( 'user', self::$author->ID, $key ) ); 211 $this->assertFalse( delete_metadata( 'user', self::$author->ID, $key ) ); 212 $this->assertSame( '', get_metadata( 'user', self::$author->ID, $key, true ) ); 213 $this->assertIsInt( add_metadata( 'user', self::$author->ID, $key, $value ) ); 214 $this->assertSame( $expected, get_metadata( 'user', self::$author->ID, $key, true ) ); 215 $this->assertTrue( delete_metadata( 'user', self::$author->ID, $key ) ); 216 $this->assertSame( '', get_metadata( 'user', self::$author->ID, $key, true ) ); 217 $this->assertIsInt( update_metadata( 'user', self::$author->ID, $key, $value ) ); 218 $this->assertSame( $expected, get_metadata( 'user', self::$author->ID, $key, true ) ); 219 $this->assertTrue( update_metadata( 'user', self::$author->ID, $key, 'blah' ) ); 220 $this->assertSame( 'blah', get_metadata( 'user', self::$author->ID, $key, true ) ); 221 $this->assertTrue( delete_metadata( 'user', self::$author->ID, $key ) ); 222 $this->assertSame( '', get_metadata( 'user', self::$author->ID, $key, true ) ); 223 $this->assertFalse( metadata_exists( 'user', self::$author->ID, $key ) ); 225 224 226 225 // Test overslashing. 227 $this->assertIsInt( add_metadata( 'user', $this->author->ID, $key, $value2 ) );228 $this->assertSame( $expected2, get_metadata( 'user', $this->author->ID, $key, true ) );229 $this->assertTrue( delete_metadata( 'user', $this->author->ID, $key ) );230 $this->assertSame( '', get_metadata( 'user', $this->author->ID, $key, true ) );231 $this->assertIsInt( update_metadata( 'user', $this->author->ID, $key, $value2 ) );232 $this->assertSame( $expected2, get_metadata( 'user', $this->author->ID, $key, true ) );226 $this->assertIsInt( add_metadata( 'user', self::$author->ID, $key, $value2 ) ); 227 $this->assertSame( $expected2, get_metadata( 'user', self::$author->ID, $key, true ) ); 228 $this->assertTrue( delete_metadata( 'user', self::$author->ID, $key ) ); 229 $this->assertSame( '', get_metadata( 'user', self::$author->ID, $key, true ) ); 230 $this->assertIsInt( update_metadata( 'user', self::$author->ID, $key, $value2 ) ); 231 $this->assertSame( $expected2, get_metadata( 'user', self::$author->ID, $key, true ) ); 233 232 } 234 233 … … 347 346 */ 348 347 public function test_negative_meta_id() { 349 $negative_mid = $this->meta_id * -1;348 $negative_mid = self::$meta_id * -1; 350 349 351 350 $this->assertLessThan( 0, $negative_mid ); … … 359 358 */ 360 359 public function test_floating_meta_id() { 361 $floating_mid = $this->meta_id + 0.1337;360 $floating_mid = self::$meta_id + 0.1337; 362 361 363 362 $this->assertTrue( floor( $floating_mid ) !== $floating_mid ); … … 371 370 */ 372 371 public function test_string_point_zero_meta_id() { 373 $meta_id = add_metadata( 'user', $this->author->ID, 'meta_key', 'meta_value_2' );372 $meta_id = add_metadata( 'user', self::$author->ID, 'meta_key', 'meta_value_2' ); 374 373 375 374 $string_mid = "{$meta_id}.0"; … … 388 387 $data = array( 1, 2 ); 389 388 $value = serialize( $data ); 390 add_metadata( 'user', $this->author->ID, 'foo', $data );391 $found = get_metadata( 'user', $this->author->ID );389 add_metadata( 'user', self::$author->ID, 'foo', $data ); 390 $found = get_metadata( 'user', self::$author->ID ); 392 391 393 392 $this->assertSame( array( $value ), $found['foo'] ); … … 401 400 $data->foo = 'bar'; 402 401 $value = serialize( $data ); 403 add_metadata( 'user', $this->author->ID, 'foo', $data );404 $found = get_metadata( 'user', $this->author->ID );402 add_metadata( 'user', self::$author->ID, 'foo', $data ); 403 $found = get_metadata( 'user', self::$author->ID ); 405 404 406 405 $this->assertSame( array( $value ), $found['foo'] ); … … 416 415 ); 417 416 $value = serialize( $data ); 418 add_metadata( 'user', $this->author->ID, 'foo', $data );419 $found = get_metadata( 'user', $this->author->ID );417 add_metadata( 'user', self::$author->ID, 'foo', $data ); 418 $found = get_metadata( 'user', self::$author->ID ); 420 419 421 420 $this->assertSame( array( $value ), $found['foo'] );
Note: See TracChangeset
for help on using the changeset viewer.