@@ -3,6 +3,8 @@ package cli_test
33import (
44 "bytes"
55 "fmt"
6+ "os"
7+ "path/filepath"
68 "testing"
79
810 "github.com/stretchr/testify/require"
@@ -45,7 +47,7 @@ func TestRemove(t *testing.T) {
4547 {
4648 name : "RemoveOne" ,
4749 extension : testutil .Extensions [0 ],
48- version : "a" ,
50+ version : testutil . Extensions [ 0 ]. LatestVersion ,
4951 },
5052 {
5153 name : "All" ,
@@ -67,19 +69,19 @@ func TestRemove(t *testing.T) {
6769 error : "cannot specify both" ,
6870 extension : testutil .Extensions [0 ],
6971 all : true ,
70- version : "a" ,
72+ version : testutil . Extensions [ 0 ]. LatestVersion ,
7173 },
7274 {
7375 name : "NoVersion" ,
7476 error : "does not exist" ,
7577 extension : testutil .Extensions [0 ],
76- version : "d " ,
78+ version : "does-not-exist " ,
7779 },
7880 {
7981 name : "NoVersions" ,
8082 error : "does not exist" ,
8183 extension : testutil .Extensions [1 ],
82- version : "a" ,
84+ version : testutil . Extensions [ 1 ]. LatestVersion ,
8385 },
8486 {
8587 name : "AllNoVersions" ,
@@ -96,9 +98,13 @@ func TestRemove(t *testing.T) {
9698
9799 extdir := t .TempDir ()
98100 ext := testutil .Extensions [0 ]
99- testutil .AddExtension (t , ext , extdir , "a" )
100- testutil .AddExtension (t , ext , extdir , "b" )
101- testutil .AddExtension (t , ext , extdir , "c" )
101+ for _ , version := range ext .Versions {
102+ manifestPath := filepath .Join (extdir , ext .Publisher , ext .Name , version , "extension.vsixmanifest" )
103+ err := os .MkdirAll (filepath .Dir (manifestPath ), 0o755 )
104+ require .NoError (t , err )
105+ err = os .WriteFile (manifestPath , testutil .ConvertExtensionToManifestBytes (t , ext , version ), 0o644 )
106+ require .NoError (t , err )
107+ }
102108
103109 id := fmt .Sprintf ("%s.%s" , test .extension .Publisher , test .extension .Name )
104110 if test .version != "" {
@@ -123,10 +129,10 @@ func TestRemove(t *testing.T) {
123129 } else {
124130 require .NoError (t , err )
125131 if test .all {
126- require .Contains (t , output , "Removed 3 versions" )
127- require . Contains ( t , output , " - a" )
128- require .Contains (t , output , " - b" )
129- require . Contains ( t , output , " - c" )
132+ require .Contains (t , output , fmt . Sprintf ( "Removed %d versions" , len ( test . extension . Versions )) )
133+ for _ , version := range test . extension . Versions {
134+ require .Contains (t , output , fmt . Sprintf ( " - %s" , version ) )
135+ }
130136 } else {
131137 require .Contains (t , output , fmt .Sprintf ("Removed %s" , test .version ))
132138 }
0 commit comments