use of com.github._1c_syntax.bsl.languageserver.jsonrpc.Diagnostics in project bsl-language-server by 1c-syntax.
the class TimeoutsInExternalResourcesDiagnosticTest method testCompatibilityMode8310.
@SneakyThrows
@Test
void testCompatibilityMode8310() {
// when
Path testFile = Paths.get("./src/test/resources/diagnostics/TimeoutsInExternalResourcesDiagnostic.bsl").toAbsolutePath();
initServerContext(Paths.get("./src/test/resources/metadata").toAbsolutePath());
DocumentContext newDocumentContext = TestUtils.getDocumentContext(testFile.toUri(), FileUtils.readFileToString(testFile.toFile(), StandardCharsets.UTF_8), context);
List<Diagnostic> diagnostics = getDiagnostics(newDocumentContext);
// then
assertThat(newDocumentContext.getServerContext().getConfiguration().getCompatibilityMode()).isNotNull();
assertThat(CompatibilityMode.compareTo(newDocumentContext.getServerContext().getConfiguration().getCompatibilityMode(), DiagnosticCompatibilityMode.COMPATIBILITY_MODE_8_3_10.getCompatibilityMode())).isZero();
assertThat(diagnostics).hasSize(9);
// check ranges
assertThat(diagnostics, true).hasRange(3, 20, 3, 75).hasRange(5, 20, 5, 92).hasRange(9, 18, 9, 72).hasRange(13, 16, 13, 80).hasRange(21, 21, 21, 65).hasRange(34, 14, 34, 43).hasRange(71, 26, 71, 114).hasRange(78, 10, 78, 39).hasRange(80, 47, 80, 76);
}
use of com.github._1c_syntax.bsl.languageserver.jsonrpc.Diagnostics in project bsl-language-server by 1c-syntax.
the class UsingModalWindowsDiagnosticTest method testUseWithForce.
@Test
void testUseWithForce() {
DocumentContext documentContext = getDocumentContextWithUseFlag(UseMode.USE);
Map<String, Object> configuration = diagnosticInstance.getInfo().getDefaultConfiguration();
configuration.put("forceModalityMode", true);
diagnosticInstance.configure(configuration);
List<Diagnostic> diagnostics = getDiagnostics(documentContext);
assertDiagnosticList(diagnostics);
}
use of com.github._1c_syntax.bsl.languageserver.jsonrpc.Diagnostics in project bsl-language-server by 1c-syntax.
the class UsingThisFormDiagnosticTest method runQuickFixTest.
@Test
void runQuickFixTest() {
final DocumentContext documentContext = getDocumentContext();
List<Diagnostic> diagnostics = getDiagnostics();
final Diagnostic firstDiagnostic = diagnostics.get(0);
List<CodeAction> quickFixes = getQuickFixes(firstDiagnostic);
assertThat(quickFixes).hasSize(1);
final CodeAction quickFix = quickFixes.get(0);
assertThat(quickFix).of(diagnosticInstance).in(documentContext).fixes(firstDiagnostic);
assertThat(quickFix).in(documentContext).hasChanges(1).hasNewText(THIS_OBJECT);
}
use of com.github._1c_syntax.bsl.languageserver.jsonrpc.Diagnostics in project bsl-language-server by 1c-syntax.
the class UsingModalWindowsDiagnosticTest method testUse.
@Test
void testUse() {
DocumentContext documentContext = getDocumentContextWithUseFlag(UseMode.USE);
List<Diagnostic> diagnostics = getDiagnostics(documentContext);
assertThat(diagnostics).isEmpty();
}
use of com.github._1c_syntax.bsl.languageserver.jsonrpc.Diagnostics in project bsl-language-server by 1c-syntax.
the class GenerateStandardRegionsSupplierTest method testGetCodeActions.
@Test
void testGetCodeActions() {
// given
String filePath = "./src/test/resources/suppliers/generateRegion.bsl";
DocumentContext documentContext = TestUtils.getDocumentContextFromFile(filePath);
List<Diagnostic> diagnostics = new ArrayList<>();
TextDocumentIdentifier textDocumentIdentifier = new TextDocumentIdentifier(documentContext.getUri().toString());
CodeActionContext codeActionContext = new CodeActionContext();
codeActionContext.setDiagnostics(diagnostics);
CodeActionParams params = new CodeActionParams();
params.setRange(new Range());
params.setTextDocument(textDocumentIdentifier);
params.setContext(codeActionContext);
// when
List<CodeAction> codeActions = codeActionSupplier.getCodeActions(params, documentContext);
assertThat(codeActions).hasSize(1).anyMatch(codeAction -> codeAction.getTitle().equals("Generate missing regions"));
}
Aggregations