diff --git a/tests/test_types.py b/tests/test_types.py index a66b6a18f..f6eee16a6 100644 --- a/tests/test_types.py +++ b/tests/test_types.py @@ -1,4 +1,5 @@ from LSP.plugin.core.types import diff +from LSP.plugin.core.types import basescope2languageid from LSP.plugin.core.types import DocumentSelector from LSP.plugin.core.typing import List from unittest.mock import MagicMock @@ -145,3 +146,106 @@ def test_pattern_negated_character_range(self) -> None: self.assertFalse(selector.matches(self._make_html_view("example.7"))) self.assertFalse(selector.matches(self._make_html_view("example.8"))) self.assertFalse(selector.matches(self._make_html_view("example.9"))) + + def test_basescope2languageid(self) -> None: + self.assertEqual(basescope2languageid("source.js.vite"), "javascript") + self.assertEqual(basescope2languageid("source.c++"), "cpp") + self.assertEqual(basescope2languageid("source.coffee.gulpfile"), "coffeescript") + self.assertEqual(basescope2languageid("source.cs"), "csharp") + self.assertEqual(basescope2languageid("source.css.tailwind"), "css") + self.assertEqual(basescope2languageid("source.dosbatch"), "bat") + self.assertEqual(basescope2languageid("source.fixedform-fortran"), "fortran") + self.assertEqual(basescope2languageid("source.groovy.gradle"), "groovy") + self.assertEqual(basescope2languageid("source.groovy.jenkins"), "groovy") + self.assertEqual(basescope2languageid("source.js"), "javascript") + self.assertEqual(basescope2languageid("source.js.eslint"), "javascript") + self.assertEqual(basescope2languageid("source.js.gruntfile"), "javascript") + self.assertEqual(basescope2languageid("source.js.gulpfile"), "javascript") + self.assertEqual(basescope2languageid("source.js.postcss"), "javascript") + self.assertEqual(basescope2languageid("source.js.puglint"), "javascript") + self.assertEqual(basescope2languageid("source.js.react"), "javascriptreact") + self.assertEqual(basescope2languageid("source.js.stylelint"), "javascript") + self.assertEqual(basescope2languageid("sourcet.js.unittest"), "javascript") + self.assertEqual(basescope2languageid("source.js.webpack"), "javascript") + self.assertEqual(basescope2languageid("source.json-tmlanguage"), "jsonc") + self.assertEqual(basescope2languageid("source.json.babel"), "json") + self.assertEqual(basescope2languageid("source.json.bower"), "json") + self.assertEqual(basescope2languageid("source.json.composer"), "json") + self.assertEqual(basescope2languageid("source.json.eslint"), "json") + self.assertEqual(basescope2languageid("source.json.npm"), "json") + self.assertEqual(basescope2languageid("source.json.postcss"), "json") + self.assertEqual(basescope2languageid("source.json.puglint"), "json") + self.assertEqual(basescope2languageid("source.json.settings"), "json") + self.assertEqual(basescope2languageid("source.json.stylelint"), "json") + self.assertEqual(basescope2languageid("source.json.sublime"), "jsonc") + self.assertEqual(basescope2languageid("source.json.sublime.build"), "jsonc") + self.assertEqual(basescope2languageid("source.json.sublime.color-scheme"), "jsonc") + self.assertEqual(basescope2languageid("source.json.sublime.commands"), "jsonc") + self.assertEqual(basescope2languageid("source.json.sublime.completions"), "jsonc") + self.assertEqual(basescope2languageid("source.json.sublime.keymap"), "jsonc") + self.assertEqual(basescope2languageid("source.json.sublime.macro"), "jsonc") + self.assertEqual(basescope2languageid("source.json.sublime.menu"), "jsonc") + self.assertEqual(basescope2languageid("source.json.sublime.mousemap"), "jsonc") + self.assertEqual(basescope2languageid("source.json.sublime.project"), "jsonc") + self.assertEqual(basescope2languageid("source.json.sublime.settings"), "jsonc") + self.assertEqual(basescope2languageid("source.json.sublime.theme"), "jsonc") + self.assertEqual(basescope2languageid("source.json.tern"), "json") + self.assertEqual(basescope2languageid("source.jsx"), "javascriptreact") + self.assertEqual(basescope2languageid("source.jsx.unittest"), "javascriptreact") + self.assertEqual(basescope2languageid("source.Kotlin"), "kotlin") + self.assertEqual(basescope2languageid("source.modern-fortran"), "fortran") + self.assertEqual(basescope2languageid("source.objc"), "objective-c") + self.assertEqual(basescope2languageid("source.objc++"), "objective-cpp") + self.assertEqual(basescope2languageid("source.shader"), "shaderlab") + self.assertEqual(basescope2languageid("source.shell.bash"), "shellscript") + self.assertEqual(basescope2languageid("source.shell.docker"), "shellscript") + self.assertEqual(basescope2languageid("source.shell.eslint"), "shellscript") + self.assertEqual(basescope2languageid("source.shell.npm"), "shellscript") + self.assertEqual(basescope2languageid("source.shell.ruby"), "shellscript") + self.assertEqual(basescope2languageid("source.shell.stylelint"), "shellscript") + self.assertEqual(basescope2languageid("source.ts"), "typescript") + self.assertEqual(basescope2languageid("source.ts.react"), "typescriptreact") + self.assertEqual(basescope2languageid("source.ts.unittest"), "typescript") + self.assertEqual(basescope2languageid("source.tsx"), "typescriptreact") + self.assertEqual(basescope2languageid("source.tsx.unittest"), "typescriptreact") + self.assertEqual(basescope2languageid("source.unity.unity_shader"), "shaderlab") + self.assertEqual(basescope2languageid("source.viml.vimrc"), "viml") + self.assertEqual(basescope2languageid("source.yaml-tmlanguage"), "yaml") + self.assertEqual(basescope2languageid("source.yaml.circleci"), "yaml") + self.assertEqual(basescope2languageid("source.yaml.docker"), "yaml") + self.assertEqual(basescope2languageid("source.yaml.eslint"), "yaml") + self.assertEqual(basescope2languageid("source.yaml.lock"), "yaml") + self.assertEqual(basescope2languageid("source.yaml.procfile"), "yaml") + self.assertEqual(basescope2languageid("source.yaml.stylelint"), "yaml") + self.assertEqual(basescope2languageid("source.yaml.sublime.syntax"), "yaml") + self.assertEqual(basescope2languageid("source.yaml.yarn"), "yaml") + self.assertEqual(basescope2languageid("text.advanced_csv"), "csv") + self.assertEqual(basescope2languageid("text.django"), "html") + self.assertEqual(basescope2languageid("text.html.basic"), "html") + self.assertEqual(basescope2languageid("text.html.elixir"), "html") + self.assertEqual(basescope2languageid("text.html.markdown.academicmarkdown"), "markdown") + self.assertEqual(basescope2languageid("text.html.markdown.license"), "markdown") + self.assertEqual(basescope2languageid("text.html.markdown.rmarkdown"), "r") + self.assertEqual(basescope2languageid("text.html.ngx"), "html") + self.assertEqual(basescope2languageid("text.jinja"), "html") + self.assertEqual(basescope2languageid("text.plain"), "plaintext") + self.assertEqual(basescope2languageid("text.plain.buildpacks"), "plaintext") + self.assertEqual(basescope2languageid("text.plain.eslint"), "plaintext") + self.assertEqual(basescope2languageid("text.plain.fastq"), "plaintext") + self.assertEqual(basescope2languageid("text.plain.license"), "plaintext") + self.assertEqual(basescope2languageid("text.plain.lnk"), "plaintext") + self.assertEqual(basescope2languageid("text.plain.log"), "plaintext") + self.assertEqual(basescope2languageid("text.plain.nodejs"), "plaintext") + self.assertEqual(basescope2languageid("text.plain.pcb"), "plaintext") + self.assertEqual(basescope2languageid("text.plain.ps"), "plaintext") + self.assertEqual(basescope2languageid("text.plain.python"), "plaintext") + self.assertEqual(basescope2languageid("text.plain.readme"), "plaintext") + self.assertEqual(basescope2languageid("text.plain.ruby"), "plaintext") + self.assertEqual(basescope2languageid("text.plain.sketch"), "plaintext") + self.assertEqual(basescope2languageid("text.plain.visualstudio"), "plaintext") + self.assertEqual(basescope2languageid("text.plist"), "xml") + self.assertEqual(basescope2languageid("text.xml.plist"), "xml") + self.assertEqual(basescope2languageid("text.xml.plist.textmate.preferences"), "xml") + self.assertEqual(basescope2languageid("text.xml.sublime.snippet"), "xml") + self.assertEqual(basescope2languageid("text.xml.svg"), "xml") + self.assertEqual(basescope2languageid("text.xml.visualstudio"), "xml")