mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
Tests: Add unit tests for the wp_nonce_ays() function.
Update the `wp_die_handler()` method to pass the response into `WPDieException` so that `expectExceptionCode()` calls work as expected. Follow-up to [1221/tests], [3934], [4009], [12309]. Props pbearne, jrf, mukesh27. Fixes #53882. git-svn-id: https://develop.svn.wordpress.org/trunk@51608 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
eb6b517aec
commit
74edebac97
@ -452,11 +452,16 @@ abstract class WP_UnitTestCase_Base extends PHPUnit_Adapter_TestCase {
|
||||
/**
|
||||
* Throws an exception when called.
|
||||
*
|
||||
* @throws WPDieException Exception containing the message.
|
||||
* @since UT (3.7.0)
|
||||
* @since 5.9.0 Added the `$title` and `$args` parameters.
|
||||
*
|
||||
* @param string $message The `wp_die()` message.
|
||||
* @throws WPDieException Exception containing the message and the response code.
|
||||
*
|
||||
* @param string|WP_Error $message The `wp_die()` message or WP_Error object.
|
||||
* @param string $title The `wp_die()` title.
|
||||
* @param string|array $args The `wp_die()` arguments.
|
||||
*/
|
||||
public function wp_die_handler( $message ) {
|
||||
public function wp_die_handler( $message, $title, $args ) {
|
||||
if ( is_wp_error( $message ) ) {
|
||||
$message = $message->get_error_message();
|
||||
}
|
||||
@ -465,7 +470,12 @@ abstract class WP_UnitTestCase_Base extends PHPUnit_Adapter_TestCase {
|
||||
$message = '0';
|
||||
}
|
||||
|
||||
throw new WPDieException( $message );
|
||||
$code = 0;
|
||||
if ( isset( $args['response'] ) ) {
|
||||
$code = $args['response'];
|
||||
}
|
||||
|
||||
throw new WPDieException( $message, $code );
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
34
tests/phpunit/tests/functions/wpNonceAys.php
Normal file
34
tests/phpunit/tests/functions/wpNonceAys.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Tests for the wp_nonce_ays() function.
|
||||
*
|
||||
* @since 5.9.0
|
||||
*
|
||||
* @group functions.php
|
||||
* @covers ::wp_nonce_ays
|
||||
*/
|
||||
class Tests_Functions_wpNonceAys extends WP_UnitTestCase {
|
||||
|
||||
/**
|
||||
* @ticket 53882
|
||||
*/
|
||||
public function test_wp_nonce_ays() {
|
||||
$this->expectException( 'WPDieException' );
|
||||
$this->expectExceptionMessage( 'The link you followed has expired.' );
|
||||
$this->expectExceptionCode( 403 );
|
||||
|
||||
wp_nonce_ays( 'random_string' );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 53882
|
||||
*/
|
||||
public function test_wp_nonce_ays_log_out() {
|
||||
$this->expectException( 'WPDieException' );
|
||||
$this->expectExceptionMessageMatches( '#You are attempting to log out of Test Blog</p><p>Do you really want to <a href="http://example\.org/wp-login\.php\?action=logout&_wpnonce=.{10}">log out</a>\?#m' );
|
||||
$this->expectExceptionCode( 403 );
|
||||
|
||||
wp_nonce_ays( 'log-out' );
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user