From 2e227828c94792716c8292c2a51f965cfb8865db Mon Sep 17 00:00:00 2001 From: Elias Skogevall Date: Fri, 5 Jul 2024 17:41:32 +0000 Subject: [PATCH 1/2] test: add more tests to language service --- .../features/__fixtures__/diagnostics.html | 6 +++ .../{hover.viewmodel.ts => diagnostics.ts} | 0 .../src/features/__fixtures__/hover.html | 2 +- .../src/features/__fixtures__/hover.ts | 3 ++ .../src/features/__fixtures__/tsconfig.json | 1 + .../src/features/definition.spec.ts | 0 .../src/features/diagnostics.spec.ts | 39 +++++++++++++++++++ 7 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 packages/language-service/src/features/__fixtures__/diagnostics.html rename packages/language-service/src/features/__fixtures__/{hover.viewmodel.ts => diagnostics.ts} (100%) create mode 100644 packages/language-service/src/features/__fixtures__/hover.ts create mode 100644 packages/language-service/src/features/__fixtures__/tsconfig.json create mode 100644 packages/language-service/src/features/definition.spec.ts create mode 100644 packages/language-service/src/features/diagnostics.spec.ts diff --git a/packages/language-service/src/features/__fixtures__/diagnostics.html b/packages/language-service/src/features/__fixtures__/diagnostics.html new file mode 100644 index 0000000..0c5d87e --- /dev/null +++ b/packages/language-service/src/features/__fixtures__/diagnostics.html @@ -0,0 +1,6 @@ + +

+ +hello + + diff --git a/packages/language-service/src/features/__fixtures__/hover.viewmodel.ts b/packages/language-service/src/features/__fixtures__/diagnostics.ts similarity index 100% rename from packages/language-service/src/features/__fixtures__/hover.viewmodel.ts rename to packages/language-service/src/features/__fixtures__/diagnostics.ts diff --git a/packages/language-service/src/features/__fixtures__/hover.html b/packages/language-service/src/features/__fixtures__/hover.html index 5c9fd2b..8f33c22 100644 --- a/packages/language-service/src/features/__fixtures__/hover.html +++ b/packages/language-service/src/features/__fixtures__/hover.html @@ -1,3 +1,3 @@ - +

diff --git a/packages/language-service/src/features/__fixtures__/hover.ts b/packages/language-service/src/features/__fixtures__/hover.ts new file mode 100644 index 0000000..f15b597 --- /dev/null +++ b/packages/language-service/src/features/__fixtures__/hover.ts @@ -0,0 +1,3 @@ +export default class { + hello = "hello"; +} diff --git a/packages/language-service/src/features/__fixtures__/tsconfig.json b/packages/language-service/src/features/__fixtures__/tsconfig.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/packages/language-service/src/features/__fixtures__/tsconfig.json @@ -0,0 +1 @@ +{} diff --git a/packages/language-service/src/features/definition.spec.ts b/packages/language-service/src/features/definition.spec.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/language-service/src/features/diagnostics.spec.ts b/packages/language-service/src/features/diagnostics.spec.ts new file mode 100644 index 0000000..0d00374 --- /dev/null +++ b/packages/language-service/src/features/diagnostics.spec.ts @@ -0,0 +1,39 @@ +import { type Diagnostics, LanguageService } from "../index.js"; +import { describe, beforeAll, it, expect } from "@jest/globals"; +import { readFile } from "node:fs/promises"; +import { fileURLToPath } from "node:url"; + +describe("diagnostics", () => { + let diagnostics!: Diagnostics; + + beforeAll(async () => { + const service = new LanguageService({ + worker: false, + }); + const fileName = fileURLToPath( + new URL("__fixtures__/diagnostics.html", import.meta.url), + ); + const text = await readFile(fileName, "utf8"); + await service.openDocument(fileName, text); + diagnostics = await service.getDiagnostics({ + fileName: fileName, + }); + }); + + it("provides standard diagnostics", async () => { + console.dir(diagnostics, { depth: null }); + const diagnostic = diagnostics.find( + (diagnostic) => diagnostic.code === "virtual-element-end-notation", + ); + expect(diagnostic).not.toBe(undefined); + expect(diagnostic!.range.start.line).toBe(4); + }); + + it("provides typescript diagnostics", async () => { + const diagnostic = diagnostics.find( + (diagnostic) => diagnostic.code === "ts/2552", + ); + expect(diagnostic).not.toBe(undefined); + expect(diagnostic!.range.start.line).toBe(1); + }); +}); From de7f5a88c5b824863c2f53dd31bc54cd49ddf0ae Mon Sep 17 00:00:00 2001 From: Elias Skogevall Date: Fri, 5 Jul 2024 18:03:16 +0000 Subject: [PATCH 2/2] refactor: cleanup --- packages/language-service/src/features/definition.spec.ts | 0 packages/language-service/src/features/diagnostics.spec.ts | 1 - 2 files changed, 1 deletion(-) delete mode 100644 packages/language-service/src/features/definition.spec.ts diff --git a/packages/language-service/src/features/definition.spec.ts b/packages/language-service/src/features/definition.spec.ts deleted file mode 100644 index e69de29..0000000 diff --git a/packages/language-service/src/features/diagnostics.spec.ts b/packages/language-service/src/features/diagnostics.spec.ts index 0d00374..7a432db 100644 --- a/packages/language-service/src/features/diagnostics.spec.ts +++ b/packages/language-service/src/features/diagnostics.spec.ts @@ -21,7 +21,6 @@ describe("diagnostics", () => { }); it("provides standard diagnostics", async () => { - console.dir(diagnostics, { depth: null }); const diagnostic = diagnostics.find( (diagnostic) => diagnostic.code === "virtual-element-end-notation", );