|
@@ -97,6 +97,12 @@ suite('Extension Test Suite', function () {
|
|
|
await testrefs(refsdoc1);
|
|
await testrefs(refsdoc1);
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
+ // Tests for rename
|
|
|
|
|
+ this.timeout(20000);
|
|
|
|
|
+ const renamedoc1 = getDocUri('rename.sol');
|
|
|
|
|
+ test('Testing for Rename', async () => {
|
|
|
|
|
+ await testrename(renamedoc1);
|
|
|
|
|
+ });
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
function toRange(lineno1: number, charno1: number, lineno2: number, charno2: number) {
|
|
function toRange(lineno1: number, charno1: number, lineno2: number, charno2: number) {
|
|
@@ -290,25 +296,25 @@ async function testrefs(docUri: vscode.Uri) {
|
|
|
assert.strictEqual(loc01.range.start.line, 30);
|
|
assert.strictEqual(loc01.range.start.line, 30);
|
|
|
assert.strictEqual(loc01.range.start.character, 16);
|
|
assert.strictEqual(loc01.range.start.character, 16);
|
|
|
assert.strictEqual(loc01.range.end.line, 30);
|
|
assert.strictEqual(loc01.range.end.line, 30);
|
|
|
- assert.strictEqual(loc01.range.end.character, 22);
|
|
|
|
|
|
|
+ assert.strictEqual(loc01.range.end.character, 21);
|
|
|
assert.strictEqual(loc01.uri.path, docUri.path);
|
|
assert.strictEqual(loc01.uri.path, docUri.path);
|
|
|
const loc02 = actualref0[2] as vscode.Location;
|
|
const loc02 = actualref0[2] as vscode.Location;
|
|
|
assert.strictEqual(loc02.range.start.line, 33);
|
|
assert.strictEqual(loc02.range.start.line, 33);
|
|
|
assert.strictEqual(loc02.range.start.character, 16);
|
|
assert.strictEqual(loc02.range.start.character, 16);
|
|
|
assert.strictEqual(loc02.range.end.line, 33);
|
|
assert.strictEqual(loc02.range.end.line, 33);
|
|
|
- assert.strictEqual(loc02.range.end.character, 22);
|
|
|
|
|
|
|
+ assert.strictEqual(loc02.range.end.character, 21);
|
|
|
assert.strictEqual(loc02.uri.path, docUri.path);
|
|
assert.strictEqual(loc02.uri.path, docUri.path);
|
|
|
const loc03 = actualref0[3] as vscode.Location;
|
|
const loc03 = actualref0[3] as vscode.Location;
|
|
|
assert.strictEqual(loc03.range.start.line, 36);
|
|
assert.strictEqual(loc03.range.start.line, 36);
|
|
|
assert.strictEqual(loc03.range.start.character, 16);
|
|
assert.strictEqual(loc03.range.start.character, 16);
|
|
|
assert.strictEqual(loc03.range.end.line, 36);
|
|
assert.strictEqual(loc03.range.end.line, 36);
|
|
|
- assert.strictEqual(loc03.range.end.character, 22);
|
|
|
|
|
|
|
+ assert.strictEqual(loc03.range.end.character, 21);
|
|
|
assert.strictEqual(loc03.uri.path, docUri.path);
|
|
assert.strictEqual(loc03.uri.path, docUri.path);
|
|
|
const loc04 = actualref0[4] as vscode.Location;
|
|
const loc04 = actualref0[4] as vscode.Location;
|
|
|
assert.strictEqual(loc04.range.start.line, 39);
|
|
assert.strictEqual(loc04.range.start.line, 39);
|
|
|
assert.strictEqual(loc04.range.start.character, 16);
|
|
assert.strictEqual(loc04.range.start.character, 16);
|
|
|
assert.strictEqual(loc04.range.end.line, 39);
|
|
assert.strictEqual(loc04.range.end.line, 39);
|
|
|
- assert.strictEqual(loc04.range.end.character, 22);
|
|
|
|
|
|
|
+ assert.strictEqual(loc04.range.end.character, 21);
|
|
|
assert.strictEqual(loc04.uri.path, docUri.path);
|
|
assert.strictEqual(loc04.uri.path, docUri.path);
|
|
|
|
|
|
|
|
const pos1 = new vscode.Position(28, 12);
|
|
const pos1 = new vscode.Position(28, 12);
|
|
@@ -328,34 +334,76 @@ async function testrefs(docUri: vscode.Uri) {
|
|
|
assert.strictEqual(loc11.range.start.line, 28);
|
|
assert.strictEqual(loc11.range.start.line, 28);
|
|
|
assert.strictEqual(loc11.range.start.character, 12);
|
|
assert.strictEqual(loc11.range.start.character, 12);
|
|
|
assert.strictEqual(loc11.range.end.line, 28);
|
|
assert.strictEqual(loc11.range.end.line, 28);
|
|
|
- assert.strictEqual(loc11.range.end.character, 14);
|
|
|
|
|
|
|
+ assert.strictEqual(loc11.range.end.character, 13);
|
|
|
assert.strictEqual(loc11.uri.path, docUri.path);
|
|
assert.strictEqual(loc11.uri.path, docUri.path);
|
|
|
const loc12 = actualref1[2] as vscode.Location;
|
|
const loc12 = actualref1[2] as vscode.Location;
|
|
|
assert.strictEqual(loc12.range.start.line, 29);
|
|
assert.strictEqual(loc12.range.start.line, 29);
|
|
|
assert.strictEqual(loc12.range.start.character, 16);
|
|
assert.strictEqual(loc12.range.start.character, 16);
|
|
|
assert.strictEqual(loc12.range.end.line, 29);
|
|
assert.strictEqual(loc12.range.end.line, 29);
|
|
|
- assert.strictEqual(loc12.range.end.character, 18);
|
|
|
|
|
|
|
+ assert.strictEqual(loc12.range.end.character, 17);
|
|
|
assert.strictEqual(loc12.uri.path, docUri.path);
|
|
assert.strictEqual(loc12.uri.path, docUri.path);
|
|
|
const loc13 = actualref1[3] as vscode.Location;
|
|
const loc13 = actualref1[3] as vscode.Location;
|
|
|
assert.strictEqual(loc13.range.start.line, 32);
|
|
assert.strictEqual(loc13.range.start.line, 32);
|
|
|
assert.strictEqual(loc13.range.start.character, 16);
|
|
assert.strictEqual(loc13.range.start.character, 16);
|
|
|
assert.strictEqual(loc13.range.end.line, 32);
|
|
assert.strictEqual(loc13.range.end.line, 32);
|
|
|
- assert.strictEqual(loc13.range.end.character, 18);
|
|
|
|
|
|
|
+ assert.strictEqual(loc13.range.end.character, 17);
|
|
|
assert.strictEqual(loc13.uri.path, docUri.path);
|
|
assert.strictEqual(loc13.uri.path, docUri.path);
|
|
|
const loc14 = actualref1[4] as vscode.Location;
|
|
const loc14 = actualref1[4] as vscode.Location;
|
|
|
assert.strictEqual(loc14.range.start.line, 35);
|
|
assert.strictEqual(loc14.range.start.line, 35);
|
|
|
assert.strictEqual(loc14.range.start.character, 16);
|
|
assert.strictEqual(loc14.range.start.character, 16);
|
|
|
assert.strictEqual(loc14.range.end.line, 35);
|
|
assert.strictEqual(loc14.range.end.line, 35);
|
|
|
- assert.strictEqual(loc14.range.end.character, 18);
|
|
|
|
|
|
|
+ assert.strictEqual(loc14.range.end.character, 17);
|
|
|
assert.strictEqual(loc14.uri.path, docUri.path);
|
|
assert.strictEqual(loc14.uri.path, docUri.path);
|
|
|
const loc15 = actualref1[5] as vscode.Location;
|
|
const loc15 = actualref1[5] as vscode.Location;
|
|
|
assert.strictEqual(loc15.range.start.line, 38);
|
|
assert.strictEqual(loc15.range.start.line, 38);
|
|
|
assert.strictEqual(loc15.range.start.character, 16);
|
|
assert.strictEqual(loc15.range.start.character, 16);
|
|
|
assert.strictEqual(loc15.range.end.line, 38);
|
|
assert.strictEqual(loc15.range.end.line, 38);
|
|
|
- assert.strictEqual(loc15.range.end.character, 18);
|
|
|
|
|
|
|
+ assert.strictEqual(loc15.range.end.character, 17);
|
|
|
assert.strictEqual(loc15.uri.path, docUri.path);
|
|
assert.strictEqual(loc15.uri.path, docUri.path);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+async function testrename(docUri: vscode.Uri) {
|
|
|
|
|
+ await activate(docUri);
|
|
|
|
|
+
|
|
|
|
|
+ const pos0 = new vscode.Position(9, 8);
|
|
|
|
|
+ const newname0 = "changed";
|
|
|
|
|
+ const rename0 = (await vscode.commands.executeCommand(
|
|
|
|
|
+ 'vscode.executeDocumentRenameProvider',
|
|
|
|
|
+ docUri,
|
|
|
|
|
+ pos0,
|
|
|
|
|
+ newname0,
|
|
|
|
|
+ )) as vscode.WorkspaceEdit;
|
|
|
|
|
+
|
|
|
|
|
+ assert(rename0.has(docUri));
|
|
|
|
|
+
|
|
|
|
|
+ const loc0 = rename0.get(docUri);
|
|
|
|
|
+
|
|
|
|
|
+ const loc00 = loc0[0] as vscode.TextEdit;
|
|
|
|
|
+ assert.strictEqual(loc00.range.start.line, 0);
|
|
|
|
|
+ assert.strictEqual(loc00.range.start.character, 41);
|
|
|
|
|
+ assert.strictEqual(loc00.range.end.line, 0);
|
|
|
|
|
+ assert.strictEqual(loc00.range.end.character, 42);
|
|
|
|
|
+ assert.strictEqual(loc00.newText, newname0);
|
|
|
|
|
+ const loc01 = loc0[1] as vscode.TextEdit;
|
|
|
|
|
+ assert.strictEqual(loc01.range.start.line, 1);
|
|
|
|
|
+ assert.strictEqual(loc01.range.start.character, 4);
|
|
|
|
|
+ assert.strictEqual(loc01.range.end.line, 1);
|
|
|
|
|
+ assert.strictEqual(loc01.range.end.character, 5);
|
|
|
|
|
+ assert.strictEqual(loc01.newText, newname0);
|
|
|
|
|
+ const loc02 = loc0[2] as vscode.TextEdit;
|
|
|
|
|
+ assert.strictEqual(loc02.range.start.line, 9);
|
|
|
|
|
+ assert.strictEqual(loc02.range.start.character, 8);
|
|
|
|
|
+ assert.strictEqual(loc02.range.end.line, 9);
|
|
|
|
|
+ assert.strictEqual(loc02.range.end.character, 9);
|
|
|
|
|
+ assert.strictEqual(loc02.newText, newname0);
|
|
|
|
|
+ const loc03 = loc0[3] as vscode.TextEdit;
|
|
|
|
|
+ assert.strictEqual(loc03.range.start.line, 9);
|
|
|
|
|
+ assert.strictEqual(loc03.range.start.character, 12);
|
|
|
|
|
+ assert.strictEqual(loc03.range.end.line, 9);
|
|
|
|
|
+ assert.strictEqual(loc03.range.end.character, 13);
|
|
|
|
|
+ assert.strictEqual(loc03.newText, newname0);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
async function testhover(docUri: vscode.Uri) {
|
|
async function testhover(docUri: vscode.Uri) {
|
|
|
await activate(docUri);
|
|
await activate(docUri);
|
|
|
|
|
|