Ticket #44215: 44215.diff
File 44215.diff, 3.7 KB (added by , 7 years ago) |
---|
-
src/wp-includes/comment.php
3370 3370 break; 3371 3371 } 3372 3372 3373 if ( ! empty( $value ) ) { 3374 $comment_data_to_export[] = array( 3375 'name' => $name, 3376 'value' => $value, 3377 ); 3378 } 3373 $comment_data_to_export[] = array( 3374 'name' => $name, 3375 'value' => $value, 3376 ); 3379 3377 } 3380 3378 3381 3379 $data_to_export[] = array( -
src/wp-includes/user.php
2885 2885 $user_data_to_export = array(); 2886 2886 2887 2887 foreach ( $user_prop_to_export as $key => $name ) { 2888 $value = '';2888 $value = false; 2889 2889 2890 2890 switch ( $key ) { 2891 2891 case 'ID': … … 2901 2901 case 'first_name': 2902 2902 case 'last_name': 2903 2903 case 'description': 2904 $value = $user_meta[ $key ][0]; 2904 if ( isset( $user_meta[ $key ] ) ) { 2905 $value = $user_meta[ $key ][0]; 2906 } 2905 2907 break; 2906 2908 } 2907 2909 2908 if ( ! empty( $value )) {2910 if ( false !== $value ) { 2909 2911 $user_data_to_export[] = array( 2910 2912 'name' => $name, 2911 2913 'value' => $value, -
tests/phpunit/tests/comment.php
1210 1210 // Number of exported comments. 1211 1211 $this->assertSame( 1, count( $actual['data'] ) ); 1212 1212 1213 // Number of exported comment properties. 1214 $this->assertSame( 7, count( $actual['data'][0]['data'] ) );1213 // Number of exported comment properties. Empty properties should be included. 1214 $this->assertSame( 8, count( $actual['data'][0]['data'] ) ); 1215 1215 } 1216 1216 1217 1217 /** -
tests/phpunit/tests/user.php
1595 1595 } 1596 1596 1597 1597 /** 1598 * Testing the `wp_user_personal_data_exporter_no_user` function when the requested 1599 * user exists. 1598 * Testing the `wp_user_personal_data_exporter` function when the requested user exists. 1600 1599 * 1601 1600 * @ticket 43547 1602 1601 */ … … 1613 1612 // Number of exported user properties. 1614 1613 $this->assertSame( 11, count( $actual['data'][0]['data'] ) ); 1615 1614 } 1615 1616 /** 1617 * User fields should be included in a data export when empty and excluded when they do not exist. 1618 * 1619 * @ticket 44215 1620 */ 1621 function test_wp_user_personal_data_exporter_removed_meta_fields() { 1622 $test_user = new WP_User( self::$contrib_id ); 1623 1624 $original_data = array( 1625 'description' => get_user_meta( $test_user->ID, 'description', true ), 1626 'first_name' => get_user_meta( $test_user->ID, 'first_name', true ), 1627 'last_name' => get_user_meta( $test_user->ID, 'last_name', true ), 1628 ); 1629 1630 delete_user_meta( $test_user->ID, 'first_name' ); 1631 delete_user_meta( $test_user->ID, 'last_name' ); 1632 update_user_meta( $test_user->ID, 'description', '' ); 1633 1634 $actual = wp_user_personal_data_exporter( $test_user->user_email ); 1635 1636 $this->assertTrue( $actual['done'] ); 1637 1638 // Number of exported users. 1639 $this->assertSame( 1, count( $actual['data'] ) ); 1640 1641 // Number of exported user properties. Empty fields remain, deleted fields do not. 1642 $this->assertSame( 9, count( $actual['data'][0]['data'] ) ); 1643 1644 update_user_meta( $test_user->ID, 'description', $original_data['description'] ); 1645 update_user_meta( $test_user->ID, 'first_name', $original_data['first_name'] ); 1646 update_user_meta( $test_user->ID, 'last_name', $original_data['last_name'] ); 1647 } 1616 1648 }