@@ -100,7 +100,7 @@ suite('UserDataProfilesManifestSync', () => {
100
100
assert . deepStrictEqual ( testObject . conflicts . conflicts , [ ] ) ;
101
101
102
102
const profiles = getLocalProfiles ( testClient ) ;
103
- assert . deepStrictEqual ( profiles , [ { id : '1' , name : 'name 1' , shortName : undefined } ] ) ;
103
+ assert . deepStrictEqual ( profiles , [ { id : '1' , name : 'name 1' , shortName : undefined , useDefaultFlags : undefined } ] ) ;
104
104
} ) ;
105
105
106
106
test ( 'first time sync when profiles exists' , async ( ) => {
@@ -113,7 +113,7 @@ suite('UserDataProfilesManifestSync', () => {
113
113
assert . deepStrictEqual ( testObject . conflicts . conflicts , [ ] ) ;
114
114
115
115
const profiles = getLocalProfiles ( testClient ) ;
116
- assert . deepStrictEqual ( profiles , [ { id : '1' , name : 'name 1' , shortName : undefined } , { id : '2' , name : 'name 2' , shortName : undefined } ] ) ;
116
+ assert . deepStrictEqual ( profiles , [ { id : '1' , name : 'name 1' , shortName : undefined , useDefaultFlags : undefined } , { id : '2' , name : 'name 2' , shortName : undefined , useDefaultFlags : undefined } ] ) ;
117
117
118
118
const { content } = await testClient . read ( testObject . resource ) ;
119
119
assert . ok ( content !== null ) ;
@@ -132,7 +132,7 @@ suite('UserDataProfilesManifestSync', () => {
132
132
assert . deepStrictEqual ( testObject . conflicts . conflicts , [ ] ) ;
133
133
134
134
const profiles = getLocalProfiles ( testClient ) ;
135
- assert . deepStrictEqual ( profiles , [ { id : '1' , name : 'name 1' , shortName : undefined } ] ) ;
135
+ assert . deepStrictEqual ( profiles , [ { id : '1' , name : 'name 1' , shortName : undefined , useDefaultFlags : undefined } ] ) ;
136
136
137
137
const { content } = await testClient . read ( testObject . resource ) ;
138
138
assert . ok ( content !== null ) ;
@@ -149,10 +149,10 @@ suite('UserDataProfilesManifestSync', () => {
149
149
await testObject . sync ( await testClient . getResourceManifest ( ) ) ;
150
150
assert . strictEqual ( testObject . status , SyncStatus . Idle ) ;
151
151
assert . deepStrictEqual ( testObject . conflicts . conflicts , [ ] ) ;
152
- assert . deepStrictEqual ( getLocalProfiles ( testClient ) , [ { id : '1' , name : 'name 1' , shortName : 'short 1' } , { id : '2' , name : 'name 2' , shortName : undefined } ] ) ;
152
+ assert . deepStrictEqual ( getLocalProfiles ( testClient ) , [ { id : '1' , name : 'name 1' , shortName : 'short 1' , useDefaultFlags : undefined } , { id : '2' , name : 'name 2' , shortName : undefined , useDefaultFlags : undefined } ] ) ;
153
153
154
154
await client2 . sync ( ) ;
155
- assert . deepStrictEqual ( getLocalProfiles ( client2 ) , [ { id : '1' , name : 'name 1' , shortName : 'short 1' } , { id : '2' , name : 'name 2' , shortName : undefined } ] ) ;
155
+ assert . deepStrictEqual ( getLocalProfiles ( client2 ) , [ { id : '1' , name : 'name 1' , shortName : 'short 1' , useDefaultFlags : undefined } , { id : '2' , name : 'name 2' , shortName : undefined , useDefaultFlags : undefined } ] ) ;
156
156
157
157
const { content } = await testClient . read ( testObject . resource ) ;
158
158
assert . ok ( content !== null ) ;
@@ -169,10 +169,10 @@ suite('UserDataProfilesManifestSync', () => {
169
169
await testObject . sync ( await testClient . getResourceManifest ( ) ) ;
170
170
assert . strictEqual ( testObject . status , SyncStatus . Idle ) ;
171
171
assert . deepStrictEqual ( testObject . conflicts . conflicts , [ ] ) ;
172
- assert . deepStrictEqual ( getLocalProfiles ( testClient ) , [ { id : '1' , name : 'name 2' , shortName : '2' } ] ) ;
172
+ assert . deepStrictEqual ( getLocalProfiles ( testClient ) , [ { id : '1' , name : 'name 2' , shortName : '2' , useDefaultFlags : undefined } ] ) ;
173
173
174
174
await client2 . sync ( ) ;
175
- assert . deepStrictEqual ( getLocalProfiles ( client2 ) , [ { id : '1' , name : 'name 2' , shortName : '2' } ] ) ;
175
+ assert . deepStrictEqual ( getLocalProfiles ( client2 ) , [ { id : '1' , name : 'name 2' , shortName : '2' , useDefaultFlags : undefined } ] ) ;
176
176
177
177
const { content } = await testClient . read ( testObject . resource ) ;
178
178
assert . ok ( content !== null ) ;
@@ -190,17 +190,33 @@ suite('UserDataProfilesManifestSync', () => {
190
190
await testObject . sync ( await testClient . getResourceManifest ( ) ) ;
191
191
assert . strictEqual ( testObject . status , SyncStatus . Idle ) ;
192
192
assert . deepStrictEqual ( testObject . conflicts . conflicts , [ ] ) ;
193
- assert . deepStrictEqual ( getLocalProfiles ( testClient ) , [ { id : '2' , name : 'name 2' , shortName : undefined } ] ) ;
193
+ assert . deepStrictEqual ( getLocalProfiles ( testClient ) , [ { id : '2' , name : 'name 2' , shortName : undefined , useDefaultFlags : undefined } ] ) ;
194
194
195
195
await client2 . sync ( ) ;
196
- assert . deepStrictEqual ( getLocalProfiles ( client2 ) , [ { id : '2' , name : 'name 2' , shortName : undefined } ] ) ;
196
+ assert . deepStrictEqual ( getLocalProfiles ( client2 ) , [ { id : '2' , name : 'name 2' , shortName : undefined , useDefaultFlags : undefined } ] ) ;
197
197
198
198
const { content } = await testClient . read ( testObject . resource ) ;
199
199
assert . ok ( content !== null ) ;
200
200
const actual = parseRemoteProfiles ( content ! ) ;
201
201
assert . deepStrictEqual ( actual , [ { id : '2' , name : 'name 2' , collection : '2' } ] ) ;
202
202
} ) ;
203
203
204
+ test ( 'sync profile that uses default profile' , async ( ) => {
205
+ await client2 . instantiationService . get ( IUserDataProfilesService ) . createProfile ( '1' , 'name 1' , { useDefaultFlags : { keybindings : true } } ) ;
206
+ await client2 . sync ( ) ;
207
+
208
+ await testObject . sync ( await testClient . getResourceManifest ( ) ) ;
209
+ assert . strictEqual ( testObject . status , SyncStatus . Idle ) ;
210
+ assert . deepStrictEqual ( testObject . conflicts . conflicts , [ ] ) ;
211
+
212
+ const { content } = await testClient . read ( testObject . resource ) ;
213
+ assert . ok ( content !== null ) ;
214
+ const actual = parseRemoteProfiles ( content ! ) ;
215
+ assert . deepStrictEqual ( actual , [ { id : '1' , name : 'name 1' , collection : '1' , useDefaultFlags : { keybindings : true } } ] ) ;
216
+
217
+ assert . deepStrictEqual ( getLocalProfiles ( testClient ) , [ { id : '1' , name : 'name 1' , shortName : undefined , useDefaultFlags : { keybindings : true } } ] ) ;
218
+ } ) ;
219
+
204
220
function parseRemoteProfiles ( content : string ) : ISyncUserDataProfile [ ] {
205
221
const syncData : ISyncData = JSON . parse ( content ) ;
206
222
return JSON . parse ( syncData . content ) ;
@@ -209,7 +225,7 @@ suite('UserDataProfilesManifestSync', () => {
209
225
function getLocalProfiles ( client : UserDataSyncClient ) : { id : string ; name : string ; shortName ?: string } [ ] {
210
226
return client . instantiationService . get ( IUserDataProfilesService ) . profiles
211
227
. slice ( 1 ) . sort ( ( a , b ) => a . name . localeCompare ( b . name ) )
212
- . map ( profile => ( { id : profile . id , name : profile . name , shortName : profile . shortName } ) ) ;
228
+ . map ( profile => ( { id : profile . id , name : profile . name , shortName : profile . shortName , useDefaultFlags : profile . useDefaultFlags } ) ) ;
213
229
}
214
230
215
231
0 commit comments