mirror of
https://github.com/tiennm99/serena.git
synced 2026-10-12 22:14:54 +00:00
TypeScript: stop ignoring source directories named coverage
Both TypeScript language servers hard-ignored any directory named `coverage` in `is_ignored_dirname`, intending to skip coverage-report output but matching by bare dirname — which also hid legitimate source directories named `coverage` (e.g. `src/routes/coverage/`) from symbol tools. Generated report dirs are already covered by gitignore, so the hardcoded entry is removed. Adds a regression test asserting `coverage`/`src`/`lib`/`routes` are not ignored while `node_modules`/`dist`/`build`/`.git` still are. Fixes #1523.
This commit is contained in:
1 parent
c57b7f2b7d
commit
c3fe7cf00d
4 files changed
+39
-2
No files matched your search
@@ -7,6 +7,10 @@ Status of the `main` branch. Changes prior to the next official version change w
|
||||
The dict is forwarded to vtsls via `initializationOptions`, `workspace/didChangeConfiguration`,
|
||||
and `workspace/configuration` pulls. Enables Yarn PnP setups with `typescript.tsdk` pointing
|
||||
at the Yarn-generated SDK.
|
||||
- `typescript` / `typescript_vts`: No longer ignore directories named `coverage`. This was intended to skip
|
||||
coverage-report output, but matched by bare dirname and so also hid legitimate source directories named
|
||||
`coverage` (e.g. `src/routes/coverage/`) from symbol tools. Generated report dirs are already covered by
|
||||
gitignore. Fixes #1523.
|
||||
|
||||
* Dashboard:
|
||||
- Fix: Host validation required a local host regardless of the listen address (regression introduced in v1.5.2),
|
||||
|
||||
@@ -132,7 +132,6 @@ class TypeScriptLanguageServer(SolidLanguageServer):
|
||||
"node_modules",
|
||||
"dist",
|
||||
"build",
|
||||
"coverage",
|
||||
]
|
||||
|
||||
@staticmethod
|
||||
|
||||
@@ -71,7 +71,6 @@ class VtsLanguageServer(SolidLanguageServer):
|
||||
"node_modules",
|
||||
"dist",
|
||||
"build",
|
||||
"coverage",
|
||||
]
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
"""
|
||||
Tests for TypeScript language server directory-ignoring behavior.
|
||||
|
||||
Regression test for the case where a *source* directory named `coverage`
|
||||
(e.g. `src/routes/coverage/`) was hard-ignored by `is_ignored_dirname`,
|
||||
hiding it from symbol tools. Only generated coverage-report dirs should be
|
||||
excluded, and those are handled by gitignore.
|
||||
"""
|
||||
|
||||
import pytest
|
||||
|
||||
from solidlsp import SolidLanguageServer
|
||||
from solidlsp.ls_config import Language
|
||||
|
||||
pytestmark = pytest.mark.typescript
|
||||
|
||||
|
||||
@pytest.mark.parametrize("language_server", [Language.TYPESCRIPT], indirect=True)
|
||||
class TestTypescriptIgnoredDirectories:
|
||||
"""TypeScript-specific directory ignoring behavior."""
|
||||
|
||||
def test_generated_dirs_still_ignored(self, language_server: SolidLanguageServer) -> None:
|
||||
assert language_server.is_ignored_dirname("node_modules"), "node_modules should be ignored"
|
||||
assert language_server.is_ignored_dirname("dist"), "dist should be ignored"
|
||||
assert language_server.is_ignored_dirname("build"), "build should be ignored"
|
||||
# VCS dir handled by the base class
|
||||
assert language_server.is_ignored_dirname(".git"), ".git should be ignored"
|
||||
|
||||
def test_source_dirs_not_ignored(self, language_server: SolidLanguageServer) -> None:
|
||||
# `coverage` is a legitimate source/module name; only generated
|
||||
# coverage-report dirs (which are gitignored) should be excluded.
|
||||
assert not language_server.is_ignored_dirname("coverage"), "coverage source dir should not be ignored"
|
||||
assert not language_server.is_ignored_dirname("src"), "src should not be ignored"
|
||||
assert not language_server.is_ignored_dirname("lib"), "lib should not be ignored"
|
||||
assert not language_server.is_ignored_dirname("routes"), "routes should not be ignored"
|
||||
Reference in new issue
Block a user