@@ -100,7 +100,7 @@ suite('UserDataProfilesManifestSync', () => {
100100 assert . deepStrictEqual ( testObject . conflicts . conflicts , [ ] ) ;
101101
102102 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 } ] ) ;
104104 } ) ;
105105
106106 test ( 'first time sync when profiles exists' , async ( ) => {
@@ -113,7 +113,7 @@ suite('UserDataProfilesManifestSync', () => {
113113 assert . deepStrictEqual ( testObject . conflicts . conflicts , [ ] ) ;
114114
115115 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 } ] ) ;
117117
118118 const { content } = await testClient . read ( testObject . resource ) ;
119119 assert . ok ( content !== null ) ;
@@ -132,7 +132,7 @@ suite('UserDataProfilesManifestSync', () => {
132132 assert . deepStrictEqual ( testObject . conflicts . conflicts , [ ] ) ;
133133
134134 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 } ] ) ;
136136
137137 const { content } = await testClient . read ( testObject . resource ) ;
138138 assert . ok ( content !== null ) ;
@@ -149,10 +149,10 @@ suite('UserDataProfilesManifestSync', () => {
149149 await testObject . sync ( await testClient . getResourceManifest ( ) ) ;
150150 assert . strictEqual ( testObject . status , SyncStatus . Idle ) ;
151151 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 } ] ) ;
153153
154154 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 } ] ) ;
156156
157157 const { content } = await testClient . read ( testObject . resource ) ;
158158 assert . ok ( content !== null ) ;
@@ -169,10 +169,10 @@ suite('UserDataProfilesManifestSync', () => {
169169 await testObject . sync ( await testClient . getResourceManifest ( ) ) ;
170170 assert . strictEqual ( testObject . status , SyncStatus . Idle ) ;
171171 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 } ] ) ;
173173
174174 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 } ] ) ;
176176
177177 const { content } = await testClient . read ( testObject . resource ) ;
178178 assert . ok ( content !== null ) ;
@@ -190,17 +190,33 @@ suite('UserDataProfilesManifestSync', () => {
190190 await testObject . sync ( await testClient . getResourceManifest ( ) ) ;
191191 assert . strictEqual ( testObject . status , SyncStatus . Idle ) ;
192192 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 } ] ) ;
194194
195195 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 } ] ) ;
197197
198198 const { content } = await testClient . read ( testObject . resource ) ;
199199 assert . ok ( content !== null ) ;
200200 const actual = parseRemoteProfiles ( content ! ) ;
201201 assert . deepStrictEqual ( actual , [ { id : '2' , name : 'name 2' , collection : '2' } ] ) ;
202202 } ) ;
203203
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+
204220 function parseRemoteProfiles ( content : string ) : ISyncUserDataProfile [ ] {
205221 const syncData : ISyncData = JSON . parse ( content ) ;
206222 return JSON . parse ( syncData . content ) ;
@@ -209,7 +225,7 @@ suite('UserDataProfilesManifestSync', () => {
209225 function getLocalProfiles ( client : UserDataSyncClient ) : { id : string ; name : string ; shortName ?: string } [ ] {
210226 return client . instantiationService . get ( IUserDataProfilesService ) . profiles
211227 . 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 } ) ) ;
213229 }
214230
215231
0 commit comments