From 4241eb7a378d8d8e529c6b5ef6f2bf07e9647c7b Mon Sep 17 00:00:00 2001 From: Alessio Perugini Date: Tue, 4 Jul 2023 11:00:53 +0200 Subject: [PATCH 1/3] print empty table if no platform are installed --- internal/cli/core/list.go | 4 ---- 1 file changed, 4 deletions(-) diff --git a/internal/cli/core/list.go b/internal/cli/core/list.go index 23b92f1befc..51984fca5ff 100644 --- a/internal/cli/core/list.go +++ b/internal/cli/core/list.go @@ -82,10 +82,6 @@ func (ir installedResult) Data() interface{} { } func (ir installedResult) String() string { - if ir.platforms == nil || len(ir.platforms) == 0 { - return "" - } - t := table.New() t.SetHeader(tr("ID"), tr("Installed"), tr("Latest"), tr("Name")) for _, p := range ir.platforms { From 098f6053c2730e88d27a506e24328e8f9af088e8 Mon Sep 17 00:00:00 2001 From: Alessio Perugini Date: Tue, 4 Jul 2023 11:37:13 +0200 Subject: [PATCH 2/3] add tests --- internal/integrationtest/core/core_test.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/internal/integrationtest/core/core_test.go b/internal/integrationtest/core/core_test.go index d979603a3e0..de4e30337d8 100644 --- a/internal/integrationtest/core/core_test.go +++ b/internal/integrationtest/core/core_test.go @@ -1058,3 +1058,16 @@ func TestCoreUpgradeWarningWithPackageInstalledButNotIndexed(t *testing.T) { requirejson.Query(t, jsonStdout, ".warnings[]", `"missing package index for test:x86, future updates cannot be guaranteed"`) }) } + +func TestCoreListWhenNoPlatformAreInstalled(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + stdout, _, err := cli.Run("core", "list", "--format", "json") + require.NoError(t, err) + requirejson.Empty(t, stdout) + + stdout, _, err = cli.Run("core", "list") + require.NoError(t, err) + require.Equal(t, "ID Installed Latest Name\n\n", string(stdout)) +} From 9039dd26605f6b9a71cf99bc925cbc9dbc77a56e Mon Sep 17 00:00:00 2001 From: Alessio Perugini Date: Wed, 5 Jul 2023 10:05:18 +0200 Subject: [PATCH 3/3] change message --- internal/cli/core/list.go | 3 +++ internal/integrationtest/core/core_test.go | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/cli/core/list.go b/internal/cli/core/list.go index 51984fca5ff..4645295b063 100644 --- a/internal/cli/core/list.go +++ b/internal/cli/core/list.go @@ -82,6 +82,9 @@ func (ir installedResult) Data() interface{} { } func (ir installedResult) String() string { + if len(ir.platforms) == 0 { + return tr("No platforms installed.") + } t := table.New() t.SetHeader(tr("ID"), tr("Installed"), tr("Latest"), tr("Name")) for _, p := range ir.platforms { diff --git a/internal/integrationtest/core/core_test.go b/internal/integrationtest/core/core_test.go index de4e30337d8..4b75dba08fc 100644 --- a/internal/integrationtest/core/core_test.go +++ b/internal/integrationtest/core/core_test.go @@ -1069,5 +1069,5 @@ func TestCoreListWhenNoPlatformAreInstalled(t *testing.T) { stdout, _, err = cli.Run("core", "list") require.NoError(t, err) - require.Equal(t, "ID Installed Latest Name\n\n", string(stdout)) + require.Equal(t, "No platforms installed.\n", string(stdout)) }