From 6622f871fc368a3eade5f61a36f8c1d4c77f29f7 Mon Sep 17 00:00:00 2001 From: Nilambar Sharma Date: Wed, 21 Feb 2024 17:20:07 +0545 Subject: [PATCH] Use simpler approach to strip error message HTML tags --- features/user.feature | 6 ++---- src/User_Command.php | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/features/user.feature b/features/user.feature index bd091f83..7b279b41 100644 --- a/features/user.feature +++ b/features/user.feature @@ -207,10 +207,8 @@ Feature: Manage WordPress users """ When I try `wp user create bobjones1 bobjones@example.com` - Then STDERR should contain: - """ - Error: This email address is already registered. - """ + Then STDERR should not be empty + And the return code should be 1 Scenario: Managing user roles Given a WP install diff --git a/src/User_Command.php b/src/User_Command.php index 1ccbbb83..66269cd1 100644 --- a/src/User_Command.php +++ b/src/User_Command.php @@ -430,10 +430,8 @@ public function create( $args, $assoc_args ) { $result = wpmu_validate_user_signup( $user->user_login, $user->user_email ); if ( is_wp_error( $result['errors'] ) && ! empty( $result['errors']->errors ) ) { $message = $result['errors']->get_error_message(); - if ( false !== stripos( $message, '' ) ) { - $exploded = explode( '', $message ); - $message = trim( wp_strip_all_tags( $exploded[1] ) ); - } + $message = trim( wp_strip_all_tags( $message ) ); + $message = str_replace( 'Error: ', '', $message ); WP_CLI::error( $message ); } $user_id = wpmu_create_user( $user->user_login, $user->user_pass, $user->user_email );