@@ -3,6 +3,8 @@ package cli_test
3
3
import (
4
4
"bytes"
5
5
"fmt"
6
+ "os"
7
+ "path/filepath"
6
8
"testing"
7
9
8
10
"github.com/stretchr/testify/require"
@@ -45,7 +47,7 @@ func TestRemove(t *testing.T) {
45
47
{
46
48
name : "RemoveOne" ,
47
49
extension : testutil .Extensions [0 ],
48
- version : "a" ,
50
+ version : testutil . Extensions [ 0 ]. LatestVersion ,
49
51
},
50
52
{
51
53
name : "All" ,
@@ -67,19 +69,19 @@ func TestRemove(t *testing.T) {
67
69
error : "cannot specify both" ,
68
70
extension : testutil .Extensions [0 ],
69
71
all : true ,
70
- version : "a" ,
72
+ version : testutil . Extensions [ 0 ]. LatestVersion ,
71
73
},
72
74
{
73
75
name : "NoVersion" ,
74
76
error : "does not exist" ,
75
77
extension : testutil .Extensions [0 ],
76
- version : "d " ,
78
+ version : "does-not-exist " ,
77
79
},
78
80
{
79
81
name : "NoVersions" ,
80
82
error : "does not exist" ,
81
83
extension : testutil .Extensions [1 ],
82
- version : "a" ,
84
+ version : testutil . Extensions [ 1 ]. LatestVersion ,
83
85
},
84
86
{
85
87
name : "AllNoVersions" ,
@@ -96,9 +98,13 @@ func TestRemove(t *testing.T) {
96
98
97
99
extdir := t .TempDir ()
98
100
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
+ }
102
108
103
109
id := fmt .Sprintf ("%s.%s" , test .extension .Publisher , test .extension .Name )
104
110
if test .version != "" {
@@ -123,10 +129,10 @@ func TestRemove(t *testing.T) {
123
129
} else {
124
130
require .NoError (t , err )
125
131
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
+ }
130
136
} else {
131
137
require .Contains (t , output , fmt .Sprintf ("Removed %s" , test .version ))
132
138
}
0 commit comments