Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keep used whitespace instead of always inserting space #158

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6,509 changes: 4,712 additions & 1,797 deletions package-lock.json

Large diffs are not rendered by default.

26 changes: 13 additions & 13 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -121,19 +121,19 @@
"generateTest": "ts-node ./src/test/generator.ts"
},
"devDependencies": {
"@types/glob": "^7.1.3",
"@types/mocha": "^8.0.0",
"@types/node": "^12.11.7",
"@types/vscode": "^1.50.0",
"@typescript-eslint/eslint-plugin": "^4.1.1",
"@typescript-eslint/parser": "^4.1.1",
"chalk": "^4.1.0",
"eslint": "^7.9.0",
"eslint-plugin-prettier": "^3.1.4",
"glob": "^7.1.6",
"mocha": "^8.1.3",
"typescript": "^4.0.2",
"vscode-test": "^1.4.0"
"@types/glob": "^7.2.0",
"@types/mocha": "^8.2.3",
"@types/node": "^12.20.47",
"@types/vscode": "^1.65.0",
"@typescript-eslint/eslint-plugin": "^4.33.0",
"@typescript-eslint/parser": "^4.33.0",
"chalk": "^4.1.2",
"eslint": "^7.32.0",
"eslint-plugin-prettier": "^3.4.1",
"glob": "^7.2.0",
"mocha": "^8.4.0",
"typescript": "^4.6.2",
"vscode-test": "^1.6.1"
},
"license": "SEE LICENSE IN LICENSE.txt",
"bugs": {
Expand Down
28 changes: 8 additions & 20 deletions src/debug-message/js/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -427,50 +427,38 @@ export class JSDebugMessage extends DebugMessage {
currentLine.firstNonWhitespaceCharacterIndex
) {
if (
nextLineTextChars[nextLine.firstNonWhitespaceCharacterIndex - 1] ===
"\t"
nextLineTextChars[nextLine.firstNonWhitespaceCharacterIndex - 1] === "\t"
) {
return " ".repeat(
nextLine.firstNonWhitespaceCharacterIndex * tabSize
);
return "\t".repeat(nextLine.firstNonWhitespaceCharacterIndex);
} else {
return " ".repeat(nextLine.firstNonWhitespaceCharacterIndex);
}
} else {
if (
currentLineTextChars[
currentLine.firstNonWhitespaceCharacterIndex - 1
] === "\t"
currentLine.firstNonWhitespaceCharacterIndex - 1] === "\t"
) {
return " ".repeat(
currentLine.firstNonWhitespaceCharacterIndex * tabSize
);
return "\t".repeat(currentLine.firstNonWhitespaceCharacterIndex);
} else {
return " ".repeat(currentLine.firstNonWhitespaceCharacterIndex);
}
}
} else {
if (
currentLineTextChars[
currentLine.firstNonWhitespaceCharacterIndex - 1
] === "\t"
currentLine.firstNonWhitespaceCharacterIndex - 1] === "\t"
) {
return " ".repeat(
currentLine.firstNonWhitespaceCharacterIndex * tabSize
);
return "\t".repeat(currentLine.firstNonWhitespaceCharacterIndex);
} else {
return " ".repeat(currentLine.firstNonWhitespaceCharacterIndex);
}
}
} else {
if (
currentLineTextChars[
currentLine.firstNonWhitespaceCharacterIndex - 1
] === "\t"
currentLine.firstNonWhitespaceCharacterIndex - 1] === "\t"
) {
return " ".repeat(
currentLine.firstNonWhitespaceCharacterIndex * tabSize
);
return "\t".repeat(currentLine.firstNonWhitespaceCharacterIndex);
} else {
return " ".repeat(currentLine.firstNonWhitespaceCharacterIndex);
}
Expand Down
1 change: 1 addition & 0 deletions src/test/generator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ const testLaunchConfig = {
type: "extensionHost",
request: "launch",
args: [
"--disable-extensions",
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/suite/testFileName",
],
Expand Down
3 changes: 2 additions & 1 deletion src/test/helpers/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
import openDocument from "./openDocument";
export { openDocument };
import sleep from "./sleep";
export { openDocument, sleep };
5 changes: 5 additions & 0 deletions src/test/helpers/sleep.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export default async function sleep(ms: number): Promise<void> {
return new Promise(resolve => {
setTimeout(resolve, ms)
})
}
5 changes: 3 additions & 2 deletions src/test/js/classConstructor.test.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import * as path from "path";
import * as assert from "assert";
import * as vscode from "vscode";
import { openDocument } from "../helpers";
import { openDocument, sleep } from "../helpers";
import Mocha from "mocha";

test("Insert log message related to a class constructor param", async () => {
// first test give VSCode some time to be ready
await sleep(500);
await openDocument("../files/js/classConstructor.js");
const { activeTextEditor } = vscode.window;
if (activeTextEditor) {
Expand Down
4 changes: 2 additions & 2 deletions src/test/js/classFunction.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ test("Insert log message related to a class function param", async () => {
if (activeTextEditor) {
activeTextEditor.selections = [
new vscode.Selection(
new vscode.Position(1, 14),
new vscode.Position(1, 22)
new vscode.Position(1, 11),
new vscode.Position(1, 19)
),
];
await vscode.commands.executeCommand(
Expand Down
159 changes: 158 additions & 1 deletion src/test/launch.json
Original file line number Diff line number Diff line change
@@ -1 +1,158 @@
{"version":"0.2.0","configurations":[{"name":"Extension","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}"],"outFiles":["${workspaceFolder}/out/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: All","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/index"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: Block closing brace","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/lineOfBlockClosingBrace"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: Class constructor","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/classConstructor"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: Class function","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/classFunction"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: Class nested functions","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/classNestedFunctions"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: Deconstruction var assignment","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/deconstructionVarAssignment"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: Function Multiline params","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/functionMultiLineParameters"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: Function parameter","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/functionParam"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: Function with decorators","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/functionWithDecorators"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: JS loc processing","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/lineOfBlockClosingBrace"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: Obj function call no assignment","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/objFunctionCallNoAssignment"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: Obj with type","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/objWithTest"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: Object function call","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/objFunctionCall"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: Object variable","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/objectVariable"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: One line function param","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/oneLineFunctionParam"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: Parameter of empty function Ex1","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/emptyFunc"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: Parameter of empty function Ex2","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/emptyFuncExp2"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: Primitive variable","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/primitiveVariable"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"},{"name":"Test: Variable function assignment","type":"extensionHost","request":"launch","args":["--extensionDevelopmentPath=${workspaceFolder}","--extensionTestsPath=${workspaceFolder}/out/test/suite/functionAssignedToVariable"],"outFiles":["${workspaceFolder}/out/test/**/*.js"],"preLaunchTask":"${defaultBuildTask}"}]}
{
"version": "0.2.0",
"configurations": [
{ "name": "Extension", "type": "extensionHost", "request": "launch", "args": ["--extensionDevelopmentPath=${workspaceFolder}"], "outFiles": ["${workspaceFolder}/out/**/*.js"], "preLaunchTask": "${defaultBuildTask}" },
{
"name": "Test: All",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/index"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: Block closing brace",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/lineOfBlockClosingBrace"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: Class constructor",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/classConstructor"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: Class function",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/classFunction"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: Class nested functions",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/classNestedFunctions"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: Deconstruction var assignment",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/deconstructionVarAssignment"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: Function Multiline params",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/functionMultiLineParameters"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: Function parameter",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/functionParam"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: Function with decorators",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/functionWithDecorators"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: JS loc processing",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/lineOfBlockClosingBrace"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: Obj function call no assignment",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/objFunctionCallNoAssignment"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: Obj with type",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/objWithTest"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: Object function call",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/objFunctionCall"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: Object variable",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/objectVariable"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: One line function param",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/oneLineFunctionParam"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: Parameter of empty function Ex1",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/emptyFunc"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: Parameter of empty function Ex2",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/emptyFuncExp2"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: Primitive variable",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/primitiveVariable"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Test: Variable function assignment",
"type": "extensionHost",
"request": "launch",
"args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}", "--extensionTestsPath=${workspaceFolder}/out/test/suite/functionAssignedToVariable"],
"outFiles": ["${workspaceFolder}/out/test/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
}
]
}
3 changes: 1 addition & 2 deletions src/test/suite/classConstructor.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import * as path from "path";
import Mocha from "mocha";

Expand All @@ -16,7 +15,7 @@ export function run(): Promise<void> {
// Run the mocha test
mocha.run((failures) => {
if (failures > 0) {
reject(new Error('Test failed'));
reject(new Error("Test failed"));
} else {
resolve();
}
Expand Down
Loading