Skip to content

Commit b8d87e0

Browse files
Merge pull request #81 from agoel111/ts_fail_tests
Added Failing Test For TS Language Server with Cross File Definitions…
2 parents 55a0ca5 + a4d9547 commit b8d87e0

2 files changed

Lines changed: 50 additions & 1 deletion

File tree

src/multilspy/language_servers/typescript_language_server/initialize_params.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -894,7 +894,8 @@
894894
"scope": "workspace"
895895
}
896896
}
897-
}
897+
},
898+
"tsserver": { "useSyntaxServer": "never" }
898899
},
899900
"trace": "verbose",
900901
"workspaceFolders": [

tests/multilspy/test_sync_multilspy_javascript.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,51 @@ def test_sync_multilspy_javascript_exceljs() -> None:
4747
{'range': {'start': {'line': 180, 'character': 16}, 'end': {'line': 180, 'character': 21}}, 'relativePath': path},
4848
{'range': {'start': {'line': 185, 'character': 15}, 'end': {'line': 185, 'character': 20}}, 'relativePath': path}
4949
]
50+
51+
def test_sync_multilspy_javascript_violentmonkey_cross_file() -> None:
52+
"""
53+
Test the working of multilspy with javascript repository - violentmonkey
54+
"""
55+
code_language = Language.JAVASCRIPT
56+
params = {
57+
"code_language": code_language,
58+
"repo_url": "https://github.com/violentmonkey/violentmonkey/",
59+
"repo_commit": "e2930510b4fb5f59848ecafcd533d06fc41d4187"
60+
}
61+
with create_test_context(params) as context:
62+
lsp = SyncLanguageServer.create(context.config, context.logger, context.source_directory)
63+
64+
# All the communication with the language server must be performed inside the context manager
65+
# The server process is started when the context manager is entered and is terminated when the context manager is exited.
66+
with lsp.start_server():
67+
result = lsp.request_definition("src/common/util.js", 335, 55)
68+
assert isinstance(result, list)
69+
assert len(result) == 1
70+
71+
item = result[0]
72+
assert item["relativePath"] == "src/common/consts.js"
73+
assert item["range"] == {
74+
"start": {"line": 46, "character": 13},
75+
"end": {"line": 46, "character": 21},
76+
}
77+
78+
result = lsp.request_references("src/common/consts.js", 46, 13)
79+
assert isinstance(result, list)
80+
assert len(result) == 10
81+
82+
for item in result:
83+
del item["uri"]
84+
del item["absolutePath"]
85+
86+
assert result == [
87+
{"range": {"start": {"line": 2, "character": 9}, "end": {"line": 2, "character": 17}}, "relativePath": "src/common/util.js"},
88+
{"range": {"start": {"line": 335, "character": 51}, "end": {"line": 335, "character": 59}}, "relativePath": "src/common/util.js"},
89+
{"range": {"start": {"line": 5, "character": 16}, "end": {"line": 5, "character": 24}}, "relativePath": "src/background/sync/base.js"},
90+
{"range": {"start": {"line": 342, "character": 34}, "end": {"line": 342, "character": 42}}, "relativePath": "src/background/sync/base.js"},
91+
{"range": {"start": {"line": 4, "character": 36}, "end": {"line": 4, "character": 44}}, "relativePath": "src/background/utils/update.js"},
92+
{"range": {"start": {"line": 15, "character": 5}, "end": {"line": 15, "character": 13}}, "relativePath": "src/background/utils/update.js"},
93+
{"range": {"start": {"line": 40, "character": 11}, "end": {"line": 40, "character": 19}}, "relativePath": "src/background/utils/update.js"},
94+
{"range": {"start": {"line": 123, "character": 48}, "end": {"line": 123, "character": 56}}, "relativePath": "src/background/utils/update.js"},
95+
{"range": {"start": {"line": 1, "character": 9}, "end": {"line": 1, "character": 17}}, "relativePath": "src/background/utils/storage-fetch.js"},
96+
{"range": {"start": {"line": 70, "character": 26}, "end": {"line": 70, "character": 34}}, "relativePath": "src/background/utils/storage-fetch.js"}
97+
]

0 commit comments

Comments
 (0)