You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
from jupyter_lsp.specs.r_languageserver import RLanguageServer
|
|
from jupyter_lsp.specs.utils import PythonModuleSpec
|
|
|
|
|
|
def test_no_detect(manager):
|
|
"""should not enable anything by default"""
|
|
manager.autodetect = False
|
|
manager.initialize()
|
|
assert not manager.language_servers
|
|
assert not manager.sessions
|
|
|
|
|
|
def test_detect(manager):
|
|
manager.initialize()
|
|
assert len(manager.sessions) == len(manager.language_servers)
|
|
|
|
|
|
def test_r_package_detection():
|
|
with_installed_server = RLanguageServer()
|
|
assert with_installed_server.is_installed(mgr=None) is True
|
|
|
|
class NonInstalledRServer(RLanguageServer):
|
|
package = "languageserver-fork"
|
|
|
|
non_installed_server = NonInstalledRServer()
|
|
assert non_installed_server.is_installed(mgr=None) is False
|
|
|
|
|
|
def test_missing_python_module_spec():
|
|
"""Prevent failure in module detection raising error"""
|
|
|
|
class NonInstalledPythonServer(PythonModuleSpec):
|
|
python_module = "not_installed_python_module"
|
|
key = "a_module"
|
|
|
|
not_installed_server = NonInstalledPythonServer()
|
|
|
|
assert not_installed_server.is_installed(mgr=None) is False
|
|
|
|
# we ant the spec even when not installed
|
|
assert "languages" in not_installed_server(mgr=None)["a_module"]
|