Skip to content

Commit

Permalink
Fix format in core check update command
Browse files Browse the repository at this point in the history
  • Loading branch information
ernilambar committed Mar 8, 2024
1 parent d1ef1de commit 2ec2056
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 2 deletions.
22 changes: 22 additions & 0 deletions features/core-check-update.feature
Expand Up @@ -42,3 +42,25 @@ Feature: Check for more recent versions
"""
1
"""

Scenario: Check output of check update in different formats (no updates available)
Given a WP install
And I run `wp eval 'set_site_transient( "update_core", false );'`

When I run `wp core check-update`
Then STDOUT should be:
"""
Success: WordPress is at the latest version.
"""

When I run `wp core check-update --format=json`
Then STDOUT should be:
"""
[]
"""

When I run `wp core check-update --format=yaml`
Then STDOUT should be:
"""
---
"""
6 changes: 4 additions & 2 deletions src/Core_Command.php
Expand Up @@ -77,16 +77,18 @@ class Core_Command extends WP_CLI_Command {
* @subcommand check-update
*/
public function check_update( $_, $assoc_args ) {
$format = Utils\get_flag_value( $assoc_args, 'format', 'table' );

$updates = $this->get_updates( $assoc_args );
if ( $updates ) {

if ( $updates || 'table' !== $format ) {
$updates = array_reverse( $updates );
$formatter = new Formatter(
$assoc_args,
[ 'version', 'update_type', 'package_url' ]
);
$formatter->display_items( $updates );
} elseif ( empty( $assoc_args['format'] ) || 'table' === $assoc_args['format'] ) {
} else {
WP_CLI::success( 'WordPress is at the latest version.' );
}
}
Expand Down

0 comments on commit 2ec2056

Please sign in to comment.