Changeset 60895
- Timestamp:
- 10/03/2025 11:03:25 AM (5 days ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/auth.php
r60298 r60895 133 133 /** 134 134 * @ticket 23494 135 */ 136 public function test_password_trimming() { 137 $passwords_to_test = array( 138 'a password with no trailing or leading spaces', 139 'a password with trailing spaces ', 140 ' a password with leading spaces', 141 ' a password with trailing and leading spaces ', 142 ); 143 144 foreach ( $passwords_to_test as $password_to_test ) { 145 wp_set_password( $password_to_test, $this->user->ID ); 146 $authed_user = wp_authenticate( $this->user->user_login, $password_to_test ); 147 148 $this->assertNotWPError( $authed_user ); 149 $this->assertInstanceOf( 'WP_User', $authed_user ); 150 $this->assertSame( $this->user->ID, $authed_user->ID ); 151 } 135 * @dataProvider data_passwords_for_trimming 136 */ 137 public function test_password_trimming( $password_to_test ) { 138 wp_set_password( $password_to_test, $this->user->ID ); 139 $authed_user = wp_authenticate( $this->user->user_login, $password_to_test ); 140 141 $this->assertNotWPError( $authed_user ); 142 $this->assertInstanceOf( 'WP_User', $authed_user ); 143 $this->assertSame( $this->user->ID, $authed_user->ID ); 144 } 145 146 public function data_passwords_for_trimming() { 147 return array( 148 'no spaces' => array( 'a password with no trailing or leading spaces' ), 149 'trailing space' => array( 'a password with trailing spaces ' ), 150 'leading space' => array( ' a password with leading spaces' ), 151 'leading and trailing' => array( ' a password with trailing and leading spaces ' ), 152 'multiple leading spaces' => array( ' a password with multiple leading spaces' ), 153 'multiple trailing spaces' => array( 'a password with multiple trailing spaces ' ), 154 ); 152 155 } 153 156 … … 181 184 * 182 185 * @ticket 24973 183 */ 184 public function test_wp_hash_password_trimming() { 185 186 $password = ' pass with leading whitespace'; 187 $this->assertTrue( wp_check_password( 'pass with leading whitespace', wp_hash_password( $password ) ) ); 188 189 $password = 'pass with trailing whitespace '; 190 $this->assertTrue( wp_check_password( 'pass with trailing whitespace', wp_hash_password( $password ) ) ); 191 192 $password = ' pass with whitespace '; 193 $this->assertTrue( wp_check_password( 'pass with whitespace', wp_hash_password( $password ) ) ); 194 195 $password = "pass with new line \n"; 196 $this->assertTrue( wp_check_password( 'pass with new line', wp_hash_password( $password ) ) ); 197 198 $password = "pass with vertical tab o_O\x0B"; 199 $this->assertTrue( wp_check_password( 'pass with vertical tab o_O', wp_hash_password( $password ) ) ); 186 * @dataProvider data_passwords_with_whitespace 187 */ 188 public function test_wp_hash_password_trimming( $password_with_whitespace, $expected_password ) { 189 $this->assertTrue( wp_check_password( $expected_password, wp_hash_password( $password_with_whitespace ) ) ); 190 } 191 192 public function data_passwords_with_whitespace() { 193 return array( 194 'leading whitespace' => array( ' pass with leading whitespace', 'pass with leading whitespace' ), 195 'trailing whitespace' => array( 'pass with trailing whitespace ', 'pass with trailing whitespace' ), 196 'both whitespace' => array( ' pass with whitespace ', 'pass with whitespace' ), 197 'new line' => array( "pass with new line \n", 'pass with new line' ), 198 'vertical tab' => array( "pass with vertical tab o_O\x0B", 'pass with vertical tab o_O' ), 199 ); 200 200 } 201 201
Note: See TracChangeset for help on using the changeset viewer.