Merge from vscode a348d103d1256a06a2c9b3f9b406298a9fef6898 (#15681)

* Merge from vscode a348d103d1256a06a2c9b3f9b406298a9fef6898

* Fixes and cleanup

* Distro

* Fix hygiene yarn

* delete no yarn lock changes file

* Fix hygiene

* Fix layer check

* Fix CI

* Skip lib checks

* Remove tests deleted in vs code

* Fix tests

* Distro

* Fix tests and add removed extension point

* Skip failing notebook tests for now

* Disable broken tests and cleanup build folder

* Update yarn.lock and fix smoke tests

* Bump sqlite

* fix contributed actions and file spacing

* Fix user data path

* Update yarn.locks

Co-authored-by: ADS Merger <karlb@microsoft.com>
This commit is contained in:
Charles Gagnon
2021-06-17 08:17:11 -07:00
committed by GitHub
parent fdcb97c7f7
commit 3cb2f552a6
2582 changed files with 124827 additions and 87099 deletions

View File

@@ -28,20 +28,20 @@ class TestSynchroniser extends AbstractSynchroniser {
onDoSyncCall: Emitter<void> = this._register(new Emitter<void>());
failWhenGettingLatestRemoteUserData: boolean = false;
readonly resource: SyncResource = SyncResource.Settings;
override readonly resource: SyncResource = SyncResource.Settings;
protected readonly version: number = 1;
private cancelled: boolean = false;
readonly localResource = joinPath(this.environmentService.userRoamingDataHome, 'testResource.json');
protected getLatestRemoteUserData(manifest: IUserDataManifest | null, lastSyncUserData: IRemoteUserData | null): Promise<IRemoteUserData> {
protected override getLatestRemoteUserData(manifest: IUserDataManifest | null, lastSyncUserData: IRemoteUserData | null): Promise<IRemoteUserData> {
if (this.failWhenGettingLatestRemoteUserData) {
throw new Error();
}
return super.getLatestRemoteUserData(manifest, lastSyncUserData);
}
protected async doSync(remoteUserData: IRemoteUserData, lastSyncUserData: IRemoteUserData | null, apply: boolean): Promise<SyncStatus> {
protected override async doSync(remoteUserData: IRemoteUserData, lastSyncUserData: IRemoteUserData | null, apply: boolean): Promise<SyncStatus> {
this.cancelled = false;
this.onDoSyncCall.fire();
await this.syncBarrier.wait();
@@ -145,18 +145,18 @@ class TestSynchroniser extends AbstractSynchroniser {
await this.updateLastSyncUserData(remoteUserData);
}
async stop(): Promise<void> {
override async stop(): Promise<void> {
this.cancelled = true;
this.syncBarrier.open();
super.stop();
}
async triggerLocalChange(): Promise<void> {
override async triggerLocalChange(): Promise<void> {
super.triggerLocalChange();
}
onDidTriggerLocalChangeCall: Emitter<void> = this._register(new Emitter<void>());
protected async doTriggerLocalChange(): Promise<void> {
protected override async doTriggerLocalChange(): Promise<void> {
await super.doTriggerLocalChange();
this.onDidTriggerLocalChangeCall.fire();
}
@@ -191,8 +191,8 @@ suite('TestSynchronizer - Auto Sync', () => {
testObject.sync(await client.manifest());
await promise;
assert.deepEqual(actual, [SyncStatus.Syncing]);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(actual, [SyncStatus.Syncing]);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
testObject.stop();
});
@@ -205,8 +205,8 @@ suite('TestSynchronizer - Auto Sync', () => {
disposableStore.add(testObject.onDidChangeStatus(status => actual.push(status)));
await testObject.sync(await client.manifest());
assert.deepEqual(actual, [SyncStatus.Syncing, SyncStatus.Idle]);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.deepStrictEqual(actual, [SyncStatus.Syncing, SyncStatus.Idle]);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
});
test('status is set correctly when sync has errors', async () => {
@@ -221,8 +221,8 @@ suite('TestSynchronizer - Auto Sync', () => {
await testObject.sync(await client.manifest());
assert.fail('Should fail');
} catch (e) {
assert.deepEqual(actual, [SyncStatus.Syncing, SyncStatus.Idle]);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.deepStrictEqual(actual, [SyncStatus.Syncing, SyncStatus.Idle]);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
}
});
@@ -233,7 +233,7 @@ suite('TestSynchronizer - Auto Sync', () => {
await testObject.sync(await client.manifest());
assert.deepEqual(testObject.status, SyncStatus.HasConflicts);
assert.deepStrictEqual(testObject.status, SyncStatus.HasConflicts);
assertConflicts(testObject.conflicts, [testObject.localResource]);
});
@@ -248,8 +248,8 @@ suite('TestSynchronizer - Auto Sync', () => {
disposableStore.add(testObject.onDidChangeStatus(status => actual.push(status)));
await testObject.sync(await client.manifest());
assert.deepEqual(actual, []);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(actual, []);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
await testObject.stop();
});
@@ -263,8 +263,8 @@ suite('TestSynchronizer - Auto Sync', () => {
await testObject.sync(await client.manifest());
assert.deepEqual(actual, []);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.deepStrictEqual(actual, []);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
});
test('sync should not run if there are conflicts', async () => {
@@ -277,8 +277,8 @@ suite('TestSynchronizer - Auto Sync', () => {
disposableStore.add(testObject.onDidChangeStatus(status => actual.push(status)));
await testObject.sync(await client.manifest());
assert.deepEqual(actual, []);
assert.deepEqual(testObject.status, SyncStatus.HasConflicts);
assert.deepStrictEqual(actual, []);
assert.deepStrictEqual(testObject.status, SyncStatus.HasConflicts);
});
test('accept preview during conflicts', async () => {
@@ -287,16 +287,16 @@ suite('TestSynchronizer - Auto Sync', () => {
testObject.syncBarrier.open();
await testObject.sync(await client.manifest());
assert.deepEqual(testObject.status, SyncStatus.HasConflicts);
assert.deepStrictEqual(testObject.status, SyncStatus.HasConflicts);
await testObject.accept(testObject.conflicts[0].previewResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertConflicts(testObject.conflicts, []);
await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
const fileService = client.instantiationService.get(IFileService);
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, (await fileService.readFile(testObject.localResource)).value.toString());
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, (await fileService.readFile(testObject.localResource)).value.toString());
});
test('accept remote during conflicts', async () => {
@@ -310,16 +310,16 @@ suite('TestSynchronizer - Auto Sync', () => {
testObject.syncResult = { hasConflicts: true, hasError: false };
await testObject.sync(await client.manifest());
assert.deepEqual(testObject.status, SyncStatus.HasConflicts);
assert.deepStrictEqual(testObject.status, SyncStatus.HasConflicts);
await testObject.accept(testObject.conflicts[0].remoteResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertConflicts(testObject.conflicts, []);
await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, currentRemoteContent);
assert.equal((await fileService.readFile(testObject.localResource)).value.toString(), currentRemoteContent);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, currentRemoteContent);
assert.strictEqual((await fileService.readFile(testObject.localResource)).value.toString(), currentRemoteContent);
});
test('accept local during conflicts', async () => {
@@ -332,16 +332,16 @@ suite('TestSynchronizer - Auto Sync', () => {
testObject.syncResult = { hasConflicts: true, hasError: false };
await testObject.sync(await client.manifest());
assert.deepEqual(testObject.status, SyncStatus.HasConflicts);
assert.deepStrictEqual(testObject.status, SyncStatus.HasConflicts);
await testObject.accept(testObject.conflicts[0].localResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertConflicts(testObject.conflicts, []);
await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, newLocalContent);
assert.equal((await fileService.readFile(testObject.localResource)).value.toString(), newLocalContent);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, newLocalContent);
assert.strictEqual((await fileService.readFile(testObject.localResource)).value.toString(), newLocalContent);
});
test('accept new content during conflicts', async () => {
@@ -354,17 +354,17 @@ suite('TestSynchronizer - Auto Sync', () => {
testObject.syncResult = { hasConflicts: true, hasError: false };
await testObject.sync(await client.manifest());
assert.deepEqual(testObject.status, SyncStatus.HasConflicts);
assert.deepStrictEqual(testObject.status, SyncStatus.HasConflicts);
const mergeContent = 'newContent';
await testObject.accept(testObject.conflicts[0].previewResource, mergeContent);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertConflicts(testObject.conflicts, []);
await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, mergeContent);
assert.equal((await fileService.readFile(testObject.localResource)).value.toString(), mergeContent);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, mergeContent);
assert.strictEqual((await fileService.readFile(testObject.localResource)).value.toString(), mergeContent);
});
test('accept delete during conflicts', async () => {
@@ -377,15 +377,15 @@ suite('TestSynchronizer - Auto Sync', () => {
testObject.syncResult = { hasConflicts: true, hasError: false };
await testObject.sync(await client.manifest());
assert.deepEqual(testObject.status, SyncStatus.HasConflicts);
assert.deepStrictEqual(testObject.status, SyncStatus.HasConflicts);
await testObject.accept(testObject.conflicts[0].previewResource, null);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertConflicts(testObject.conflicts, []);
await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, '');
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, '');
assert.ok(!(await fileService.exists(testObject.localResource)));
});
@@ -398,15 +398,15 @@ suite('TestSynchronizer - Auto Sync', () => {
testObject.syncResult = { hasConflicts: true, hasError: false };
await testObject.sync(await client.manifest());
assert.deepEqual(testObject.status, SyncStatus.HasConflicts);
assert.deepStrictEqual(testObject.status, SyncStatus.HasConflicts);
await testObject.accept(testObject.conflicts[0].localResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertConflicts(testObject.conflicts, []);
await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, '');
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, '');
assert.ok(!(await fileService.exists(testObject.localResource)));
});
@@ -418,15 +418,15 @@ suite('TestSynchronizer - Auto Sync', () => {
testObject.syncResult = { hasConflicts: true, hasError: false };
await testObject.sync(await client.manifest());
assert.deepEqual(testObject.status, SyncStatus.HasConflicts);
assert.deepStrictEqual(testObject.status, SyncStatus.HasConflicts);
await testObject.accept(testObject.conflicts[0].remoteResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertConflicts(testObject.conflicts, []);
await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal((await testObject.getRemoteUserData(null)).syncData, null);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData, null);
assert.ok(!(await fileService.exists(testObject.localResource)));
});
@@ -450,7 +450,7 @@ suite('TestSynchronizer - Auto Sync', () => {
const ref = manifest!.latest![testObject.resource];
await testObject.sync(await client.manifest());
assert.deepEqual(server.requests, [
assert.deepStrictEqual(server.requests, [
{ type: 'POST', url: `${server.url}/v1/resource/${testObject.resource}`, headers: { 'If-Match': ref } },
{ type: 'GET', url: `${server.url}/v1/resource/${testObject.resource}/latest`, headers: {} },
{ type: 'POST', url: `${server.url}/v1/resource/${testObject.resource}`, headers: { 'If-Match': `${parseInt(ref) + 1}` } },
@@ -467,7 +467,7 @@ suite('TestSynchronizer - Auto Sync', () => {
await testObject.triggerLocalChange();
await promise;
assert.deepEqual(server.requests, []);
assert.deepStrictEqual(server.requests, []);
});
test('status is reset when getting latest remote data fails', async () => {
@@ -480,7 +480,7 @@ suite('TestSynchronizer - Auto Sync', () => {
} catch (error) {
}
assert.equal(testObject.status, SyncStatus.Idle);
assert.strictEqual(testObject.status, SyncStatus.Idle);
});
});
@@ -508,7 +508,7 @@ suite('TestSynchronizer - Manual Sync', () => {
const preview = await testObject.preview(await client.manifest());
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assertConflicts(testObject.conflicts, []);
});
@@ -521,9 +521,9 @@ suite('TestSynchronizer - Manual Sync', () => {
let preview = await testObject.preview(await client.manifest());
preview = await testObject.merge(preview!.resourcePreviews[0].previewResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Accepted);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Accepted);
assertConflicts(testObject.conflicts, []);
});
@@ -535,9 +535,9 @@ suite('TestSynchronizer - Manual Sync', () => {
let preview = await testObject.preview(await client.manifest());
preview = await testObject.accept(preview!.resourcePreviews[0].previewResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Accepted);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Accepted);
assertConflicts(testObject.conflicts, []);
});
@@ -550,9 +550,9 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.merge(preview!.resourcePreviews[0].previewResource);
preview = await testObject.accept(preview!.resourcePreviews[0].localResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Accepted);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Accepted);
assertConflicts(testObject.conflicts, []);
});
@@ -567,13 +567,13 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.merge(preview!.resourcePreviews[0].previewResource);
preview = await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal(preview, null);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual(preview, null);
assertConflicts(testObject.conflicts, []);
const expectedContent = manifest!.latest![testObject.resource];
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.equal((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.strictEqual((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
});
test('preview -> accept -> apply', async () => {
@@ -588,12 +588,12 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.accept(preview!.resourcePreviews[0].previewResource);
preview = await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal(preview, null);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual(preview, null);
assertConflicts(testObject.conflicts, []);
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.equal((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.strictEqual((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
});
test('preview -> merge -> accept -> apply', async () => {
@@ -608,12 +608,12 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.accept(preview!.resourcePreviews[0].localResource);
preview = await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal(preview, null);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual(preview, null);
assertConflicts(testObject.conflicts, []);
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.equal(!(await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.strictEqual((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
});
test('preview -> accept', async () => {
@@ -624,7 +624,7 @@ suite('TestSynchronizer - Manual Sync', () => {
let preview = await testObject.preview(await client.manifest());
preview = await testObject.accept(preview!.resourcePreviews[0].previewResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assertConflicts(testObject.conflicts, []);
});
@@ -641,12 +641,12 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.accept(preview!.resourcePreviews[0].previewResource);
preview = await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal(preview, null);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual(preview, null);
assertConflicts(testObject.conflicts, []);
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.equal((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.strictEqual((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
});
test('preivew -> merge -> discard', async () => {
@@ -658,9 +658,9 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.merge(preview!.resourcePreviews[0].previewResource);
preview = await testObject.discard(preview!.resourcePreviews[0].previewResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Preview);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Preview);
assertConflicts(testObject.conflicts, []);
});
@@ -674,9 +674,9 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.discard(preview!.resourcePreviews[0].previewResource);
preview = await testObject.accept(preview!.resourcePreviews[0].remoteResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Accepted);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Accepted);
assertConflicts(testObject.conflicts, []);
});
@@ -689,9 +689,9 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.accept(preview!.resourcePreviews[0].previewResource);
preview = await testObject.discard(preview!.resourcePreviews[0].previewResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Preview);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Preview);
assertConflicts(testObject.conflicts, []);
});
@@ -705,9 +705,9 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.discard(preview!.resourcePreviews[0].previewResource);
preview = await testObject.accept(preview!.resourcePreviews[0].remoteResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Accepted);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Accepted);
assertConflicts(testObject.conflicts, []);
});
@@ -721,9 +721,9 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.discard(preview!.resourcePreviews[0].previewResource);
preview = await testObject.merge(preview!.resourcePreviews[0].remoteResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Accepted);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Accepted);
assertConflicts(testObject.conflicts, []);
});
@@ -737,9 +737,9 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.accept(preview!.resourcePreviews[0].remoteResource);
preview = await testObject.discard(preview!.resourcePreviews[0].previewResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Preview);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Preview);
assertConflicts(testObject.conflicts, []);
});
@@ -756,11 +756,11 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.accept(preview!.resourcePreviews[0].localResource);
preview = await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal(preview, null);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual(preview, null);
assertConflicts(testObject.conflicts, []);
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.equal(!(await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.strictEqual((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
});
test('preivew -> accept -> discard -> accept -> apply', async () => {
@@ -777,11 +777,11 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.accept(preview!.resourcePreviews[0].localResource);
preview = await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal(preview, null);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual(preview, null);
assertConflicts(testObject.conflicts, []);
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.equal(!(await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.strictEqual((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
});
test('preivew -> accept -> discard -> merge -> apply', async () => {
@@ -799,12 +799,12 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.merge(preview!.resourcePreviews[0].localResource);
preview = await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal(preview, null);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual(preview, null);
assertConflicts(testObject.conflicts, []);
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.equal((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.strictEqual((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
});
test('conflicts: preview', async () => {
@@ -814,7 +814,7 @@ suite('TestSynchronizer - Manual Sync', () => {
const preview = await testObject.preview(await client.manifest());
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assertConflicts(testObject.conflicts, []);
});
@@ -827,9 +827,9 @@ suite('TestSynchronizer - Manual Sync', () => {
let preview = await testObject.preview(await client.manifest());
preview = await testObject.merge(preview!.resourcePreviews[0].previewResource);
assert.deepEqual(testObject.status, SyncStatus.HasConflicts);
assert.deepStrictEqual(testObject.status, SyncStatus.HasConflicts);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Conflict);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Conflict);
assertConflicts(testObject.conflicts, [preview!.resourcePreviews[0].localResource]);
});
@@ -842,9 +842,9 @@ suite('TestSynchronizer - Manual Sync', () => {
await testObject.merge(preview!.resourcePreviews[0].previewResource);
await testObject.discard(preview!.resourcePreviews[0].previewResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Preview);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Preview);
assertConflicts(testObject.conflicts, []);
});
@@ -858,9 +858,9 @@ suite('TestSynchronizer - Manual Sync', () => {
const content = await testObject.resolveContent(preview!.resourcePreviews[0].previewResource);
preview = await testObject.accept(preview!.resourcePreviews[0].previewResource, content);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.deepEqual(testObject.conflicts, []);
assert.deepStrictEqual(testObject.conflicts, []);
});
test('conflicts: preview -> merge -> accept -> apply', async () => {
@@ -878,12 +878,12 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.accept(preview!.resourcePreviews[0].previewResource);
preview = await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal(preview, null);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual(preview, null);
assertConflicts(testObject.conflicts, []);
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.equal((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.strictEqual((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
});
test('conflicts: preview -> accept', async () => {
@@ -895,7 +895,7 @@ suite('TestSynchronizer - Manual Sync', () => {
const content = await testObject.resolveContent(preview!.resourcePreviews[0].previewResource);
preview = await testObject.accept(preview!.resourcePreviews[0].previewResource, content);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assertConflicts(testObject.conflicts, []);
});
@@ -914,12 +914,12 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.accept(preview!.resourcePreviews[0].previewResource);
preview = await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal(preview, null);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual(preview, null);
assertConflicts(testObject.conflicts, []);
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.equal((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.strictEqual((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
});
test('conflicts: preivew -> merge -> discard', async () => {
@@ -931,9 +931,9 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.merge(preview!.resourcePreviews[0].previewResource);
preview = await testObject.discard(preview!.resourcePreviews[0].previewResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Preview);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Preview);
assertConflicts(testObject.conflicts, []);
});
@@ -947,9 +947,9 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.discard(preview!.resourcePreviews[0].previewResource);
preview = await testObject.accept(preview!.resourcePreviews[0].remoteResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Accepted);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Accepted);
assertConflicts(testObject.conflicts, []);
});
@@ -962,9 +962,9 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.accept(preview!.resourcePreviews[0].previewResource);
preview = await testObject.discard(preview!.resourcePreviews[0].previewResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Preview);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Preview);
assertConflicts(testObject.conflicts, []);
});
@@ -978,9 +978,9 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.discard(preview!.resourcePreviews[0].previewResource);
preview = await testObject.accept(preview!.resourcePreviews[0].remoteResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Accepted);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Accepted);
assertConflicts(testObject.conflicts, []);
});
@@ -994,9 +994,9 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.discard(preview!.resourcePreviews[0].previewResource);
preview = await testObject.merge(preview!.resourcePreviews[0].remoteResource);
assert.deepEqual(testObject.status, SyncStatus.HasConflicts);
assert.deepStrictEqual(testObject.status, SyncStatus.HasConflicts);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Conflict);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Conflict);
assertConflicts(testObject.conflicts, [preview!.resourcePreviews[0].localResource]);
});
@@ -1010,9 +1010,9 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.discard(preview!.resourcePreviews[0].previewResource);
preview = await testObject.merge(preview!.resourcePreviews[0].remoteResource);
assert.deepEqual(testObject.status, SyncStatus.HasConflicts);
assert.deepStrictEqual(testObject.status, SyncStatus.HasConflicts);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Conflict);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Conflict);
assertConflicts(testObject.conflicts, [preview!.resourcePreviews[0].localResource]);
});
@@ -1026,9 +1026,9 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.accept(preview!.resourcePreviews[0].remoteResource);
preview = await testObject.discard(preview!.resourcePreviews[0].previewResource);
assert.deepEqual(testObject.status, SyncStatus.Syncing);
assert.deepStrictEqual(testObject.status, SyncStatus.Syncing);
assertPreviews(preview!.resourcePreviews, [testObject.localResource]);
assert.equal(preview!.resourcePreviews[0].mergeState, MergeState.Preview);
assert.strictEqual(preview!.resourcePreviews[0].mergeState, MergeState.Preview);
assertConflicts(testObject.conflicts, []);
});
@@ -1045,11 +1045,11 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.accept(preview!.resourcePreviews[0].localResource);
preview = await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal(preview, null);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual(preview, null);
assertConflicts(testObject.conflicts, []);
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.equal(!(await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.strictEqual((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
});
test('conflicts: preivew -> accept -> discard -> accept -> apply', async () => {
@@ -1066,19 +1066,19 @@ suite('TestSynchronizer - Manual Sync', () => {
preview = await testObject.accept(preview!.resourcePreviews[0].localResource);
preview = await testObject.apply(false);
assert.deepEqual(testObject.status, SyncStatus.Idle);
assert.equal(preview, null);
assert.deepStrictEqual(testObject.status, SyncStatus.Idle);
assert.strictEqual(preview, null);
assertConflicts(testObject.conflicts, []);
assert.equal((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.equal(!(await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
assert.strictEqual((await testObject.getRemoteUserData(null)).syncData?.content, expectedContent);
assert.strictEqual((await client.instantiationService.get(IFileService).readFile(testObject.localResource)).value.toString(), expectedContent);
});
});
function assertConflicts(actual: IBaseResourcePreview[], expected: URI[]) {
assert.deepEqual(actual.map(({ localResource }) => localResource.toString()), expected.map(uri => uri.toString()));
assert.deepStrictEqual(actual.map(({ localResource }) => localResource.toString()), expected.map(uri => uri.toString()));
}
function assertPreviews(actual: IBaseResourcePreview[], expected: URI[]) {
assert.deepEqual(actual.map(({ localResource }) => localResource.toString()), expected.map(uri => uri.toString()));
assert.deepStrictEqual(actual.map(({ localResource }) => localResource.toString()), expected.map(uri => uri.toString()));
}