mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-22 09:38:38 +01:00
joh/plastic fowl (#154275)
* * derive workspace dto with util * be strict when defining reference version ids (must be set to a value or undefined) * relax `ResourceNotebookCellEdit`
This commit is contained in:
@@ -4,13 +4,12 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
import * as assert from 'assert';
|
||||
import * as extHostTypes from 'vs/workbench/api/common/extHostTypes';
|
||||
import { MainContext, IWorkspaceEditDto, WorkspaceEditType, MainThreadBulkEditsShape } from 'vs/workbench/api/common/extHost.protocol';
|
||||
import { MainContext, IWorkspaceEditDto, MainThreadBulkEditsShape, IWorkspaceTextEditDto } from 'vs/workbench/api/common/extHost.protocol';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { mock } from 'vs/base/test/common/mock';
|
||||
import { ExtHostDocumentsAndEditors } from 'vs/workbench/api/common/extHostDocumentsAndEditors';
|
||||
import { SingleProxyRPCProtocol, TestRPCProtocol } from 'vs/workbench/api/test/common/testRPCProtocol';
|
||||
import { NullLogService } from 'vs/platform/log/common/log';
|
||||
import { assertType } from 'vs/base/common/types';
|
||||
import { ExtHostBulkEdits } from 'vs/workbench/api/common/extHostBulkEdits';
|
||||
import { nullExtensionDescription } from 'vs/workbench/services/extensions/common/extensions';
|
||||
|
||||
@@ -50,8 +49,7 @@ suite('ExtHostBulkEdits.applyWorkspaceEdit', () => {
|
||||
await bulkEdits.applyWorkspaceEdit(edit, nullExtensionDescription);
|
||||
assert.strictEqual(workspaceResourceEdits.edits.length, 1);
|
||||
const [first] = workspaceResourceEdits.edits;
|
||||
assertType(first._type === WorkspaceEditType.Text);
|
||||
assert.strictEqual(first.modelVersionId, 1337);
|
||||
assert.strictEqual((<IWorkspaceTextEditDto>first).versionId, 1337);
|
||||
});
|
||||
|
||||
test('does not use version id if document is not available', async () => {
|
||||
@@ -60,8 +58,7 @@ suite('ExtHostBulkEdits.applyWorkspaceEdit', () => {
|
||||
await bulkEdits.applyWorkspaceEdit(edit, nullExtensionDescription);
|
||||
assert.strictEqual(workspaceResourceEdits.edits.length, 1);
|
||||
const [first] = workspaceResourceEdits.edits;
|
||||
assertType(first._type === WorkspaceEditType.Text);
|
||||
assert.ok(typeof first.modelVersionId === 'undefined');
|
||||
assert.ok(typeof (<IWorkspaceTextEditDto>first).versionId === 'undefined');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -266,8 +266,8 @@ suite('ExtHostDocumentSaveParticipant', () => {
|
||||
sub.dispose();
|
||||
|
||||
assert.strictEqual(dto.edits.length, 2);
|
||||
assert.ok((<IWorkspaceTextEditDto>dto.edits[0]).edit);
|
||||
assert.ok((<IWorkspaceTextEditDto>dto.edits[1]).edit);
|
||||
assert.ok((<IWorkspaceTextEditDto>dto.edits[0]).textEdit);
|
||||
assert.ok((<IWorkspaceTextEditDto>dto.edits[1]).textEdit);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -317,7 +317,7 @@ suite('ExtHostDocumentSaveParticipant', () => {
|
||||
for (const edit of dto.edits) {
|
||||
|
||||
const uri = URI.revive((<IWorkspaceTextEditDto>edit).resource);
|
||||
const { text, range } = (<IWorkspaceTextEditDto>edit).edit;
|
||||
const { text, range } = (<IWorkspaceTextEditDto>edit).textEdit;
|
||||
documents.$acceptModelChanged(uri, {
|
||||
changes: [{
|
||||
range,
|
||||
|
||||
@@ -9,7 +9,7 @@ import { TestConfigurationService } from 'vs/platform/configuration/test/common/
|
||||
import { ModelService } from 'vs/editor/common/services/modelService';
|
||||
import { TestCodeEditorService } from 'vs/editor/test/browser/editorTestServices';
|
||||
import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
|
||||
import { IWorkspaceTextEditDto, WorkspaceEditType } from 'vs/workbench/api/common/extHost.protocol';
|
||||
import { IWorkspaceTextEditDto } from 'vs/workbench/api/common/extHost.protocol';
|
||||
import { mock } from 'vs/base/test/common/mock';
|
||||
import { Event } from 'vs/base/common/event';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
@@ -197,10 +197,9 @@ suite('MainThreadEditors', () => {
|
||||
const model = modelService.createModel('something', null, resource);
|
||||
|
||||
const workspaceResourceEdit: IWorkspaceTextEditDto = {
|
||||
_type: WorkspaceEditType.Text,
|
||||
resource: resource,
|
||||
modelVersionId: model.getVersionId(),
|
||||
edit: {
|
||||
versionId: model.getVersionId(),
|
||||
textEdit: {
|
||||
text: 'asdfg',
|
||||
range: new Range(1, 1, 1, 1)
|
||||
}
|
||||
@@ -219,19 +218,17 @@ suite('MainThreadEditors', () => {
|
||||
const model = modelService.createModel('something', null, resource);
|
||||
|
||||
const workspaceResourceEdit1: IWorkspaceTextEditDto = {
|
||||
_type: WorkspaceEditType.Text,
|
||||
resource: resource,
|
||||
modelVersionId: model.getVersionId(),
|
||||
edit: {
|
||||
versionId: model.getVersionId(),
|
||||
textEdit: {
|
||||
text: 'asdfg',
|
||||
range: new Range(1, 1, 1, 1)
|
||||
}
|
||||
};
|
||||
const workspaceResourceEdit2: IWorkspaceTextEditDto = {
|
||||
_type: WorkspaceEditType.Text,
|
||||
resource: resource,
|
||||
modelVersionId: model.getVersionId(),
|
||||
edit: {
|
||||
versionId: model.getVersionId(),
|
||||
textEdit: {
|
||||
text: 'asdfg',
|
||||
range: new Range(1, 1, 1, 1)
|
||||
}
|
||||
@@ -251,9 +248,9 @@ suite('MainThreadEditors', () => {
|
||||
test(`applyWorkspaceEdit with only resource edit`, () => {
|
||||
return bulkEdits.$tryApplyWorkspaceEdit({
|
||||
edits: [
|
||||
{ _type: WorkspaceEditType.File, oldUri: resource, newUri: resource, options: undefined },
|
||||
{ _type: WorkspaceEditType.File, oldUri: undefined, newUri: resource, options: undefined },
|
||||
{ _type: WorkspaceEditType.File, oldUri: resource, newUri: undefined, options: undefined }
|
||||
{ oldResource: resource, newResource: resource, options: undefined },
|
||||
{ oldResource: undefined, newResource: resource, options: undefined },
|
||||
{ oldResource: resource, newResource: undefined, options: undefined }
|
||||
]
|
||||
}).then((result) => {
|
||||
assert.strictEqual(result, true);
|
||||
|
||||
Reference in New Issue
Block a user