From 2a03e8c6a37f803b31bcdd019f25d24eafcee1fc Mon Sep 17 00:00:00 2001 From: Nikita Gryzlov Date: Tue, 22 Sep 2020 22:16:19 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=98=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=81=D0=BE=D0=BD=D0=B0?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D1=81=D0=BA=D0=BE=D0=B3=D0=BE=20DI=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D0=B8=D0=BD=D1=81=D1=82=D0=B0=D0=BD=D1=86=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=BA=D0=BE=D0=BC?= =?UTF-8?q?=D0=BF=D0=BE=D0=BD=D0=B5=D0=BD=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_1c_syntax/bsl/sonar/BSLCoreSensor.java | 11 +++++-- .../_1c_syntax/bsl/sonar/BSLHighlighter.java | 4 +++ .../_1c_syntax/bsl/sonar/IssuesLoader.java | 4 +++ ...LanguageServerDiagnosticsLoaderSensor.java | 5 ++- .../bsl/sonar/BSLCoreSensorTest.java | 32 +++++++++++++------ ...uageServerDiagnosticsLoaderSensorTest.java | 9 ++++-- 6 files changed, 47 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensor.java b/src/main/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensor.java index 64dc0abf..a34758d9 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensor.java +++ b/src/main/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensor.java @@ -84,9 +84,16 @@ public class BSLCoreSensor implements Sensor { private final boolean calculateCoverLoc; - public BSLCoreSensor(SensorContext context, FileLinesContextFactory fileLinesContextFactory) { + public BSLCoreSensor( + SensorContext context, + FileLinesContextFactory fileLinesContextFactory, + BSLHighlighter highlighter, + IssuesLoader issuesLoader + ) { this.context = context; this.fileLinesContextFactory = fileLinesContextFactory; + this.highlighter = highlighter; + this.issuesLoader = issuesLoader; langServerEnabled = context.config().getBoolean(BSLCommunityProperties.LANG_SERVER_ENABLED_KEY) .orElse(BSLCommunityProperties.LANG_SERVER_ENABLED_DEFAULT_VALUE); @@ -101,8 +108,6 @@ public BSLCoreSensor(SensorContext context, FileLinesContextFactory fileLinesCon .collect(Collectors.toList())) .orElse(Collections.singletonList(".")); - issuesLoader = new IssuesLoader(context); - highlighter = new BSLHighlighter(context); } @Override diff --git a/src/main/java/com/github/_1c_syntax/bsl/sonar/BSLHighlighter.java b/src/main/java/com/github/_1c_syntax/bsl/sonar/BSLHighlighter.java index 893d1c84..28e5120f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/sonar/BSLHighlighter.java +++ b/src/main/java/com/github/_1c_syntax/bsl/sonar/BSLHighlighter.java @@ -36,6 +36,8 @@ import org.sonar.api.batch.sensor.SensorContext; import org.sonar.api.batch.sensor.highlighting.NewHighlighting; import org.sonar.api.batch.sensor.highlighting.TypeOfText; +import org.sonar.api.scanner.ScannerSide; +import org.sonarsource.api.sonarlint.SonarLintSide; import javax.annotation.Nullable; import java.util.Collection; @@ -49,6 +51,8 @@ import java.util.stream.Collectors; @RequiredArgsConstructor +@ScannerSide +@SonarLintSide public class BSLHighlighter { private static final Set BSL_KEYWORDS = createBslKeywords(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/sonar/IssuesLoader.java b/src/main/java/com/github/_1c_syntax/bsl/sonar/IssuesLoader.java index 65ce401c..739c745f 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/sonar/IssuesLoader.java +++ b/src/main/java/com/github/_1c_syntax/bsl/sonar/IssuesLoader.java @@ -43,8 +43,10 @@ import org.sonar.api.batch.sensor.issue.NewIssueLocation; import org.sonar.api.rule.RuleKey; import org.sonar.api.rules.RuleType; +import org.sonar.api.scanner.ScannerSide; import org.sonar.api.utils.log.Logger; import org.sonar.api.utils.log.Loggers; +import org.sonarsource.api.sonarlint.SonarLintSide; import javax.annotation.CheckForNull; import java.net.URI; @@ -54,6 +56,8 @@ import java.util.List; import java.util.Map; +@ScannerSide +@SonarLintSide public class IssuesLoader { private static final Logger LOGGER = Loggers.get(IssuesLoader.class); diff --git a/src/main/java/com/github/_1c_syntax/bsl/sonar/LanguageServerDiagnosticsLoaderSensor.java b/src/main/java/com/github/_1c_syntax/bsl/sonar/LanguageServerDiagnosticsLoaderSensor.java index 77ed1670..c980fba7 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/sonar/LanguageServerDiagnosticsLoaderSensor.java +++ b/src/main/java/com/github/_1c_syntax/bsl/sonar/LanguageServerDiagnosticsLoaderSensor.java @@ -57,10 +57,9 @@ public class LanguageServerDiagnosticsLoaderSensor implements Sensor { private static final Logger LOGGER = Loggers.get(LanguageServerDiagnosticsLoaderSensor.class); - public LanguageServerDiagnosticsLoaderSensor(final SensorContext context) { + public LanguageServerDiagnosticsLoaderSensor(final SensorContext context, IssuesLoader issueLoader) { this.context = context; - this.issueLoader = new IssuesLoader(context); - + this.issueLoader = issueLoader; } @Override diff --git a/src/test/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensorTest.java b/src/test/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensorTest.java index e564dcb3..31742adb 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensorTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensorTest.java @@ -59,8 +59,10 @@ class BSLCoreSensorTest { @Test void testDescriptor() { FileLinesContextFactory fileLinesContextFactory = mock(FileLinesContextFactory.class); + BSLHighlighter highlighter = mock(BSLHighlighter.class); + IssuesLoader issuesLoader = mock(IssuesLoader.class); - BSLCoreSensor sensor = new BSLCoreSensor(context, fileLinesContextFactory); + BSLCoreSensor sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); DefaultSensorDescriptor sensorDescriptor = new DefaultSensorDescriptor(); sensor.describe(sensorDescriptor); @@ -82,9 +84,12 @@ void testExecute() { FileLinesContextFactory fileLinesContextFactory = mock(FileLinesContextFactory.class); when(fileLinesContextFactory.createFor(any(InputFile.class))).thenReturn(fileLinesContext); + BSLHighlighter highlighter = mock(BSLHighlighter.class); + IssuesLoader issuesLoader = mock(IssuesLoader.class); + context = createSensorContext(); setActiveRules(context, diagnosticName, ruleKey); - sensor = new BSLCoreSensor(context, fileLinesContextFactory); + sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); sensor.execute(context); assertThat(context.isCancelled()).isFalse(); @@ -92,7 +97,7 @@ void testExecute() { context = createSensorContext(); setActiveRules(context, diagnosticName, ruleKey); context.settings().setProperty(BSLCommunityProperties.LANG_SERVER_ENABLED_KEY, false); - sensor = new BSLCoreSensor(context, fileLinesContextFactory); + sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); sensor.execute(context); assertThat(context.isCancelled()).isFalse(); @@ -100,7 +105,7 @@ void testExecute() { context = createSensorContext(); setActiveRules(context, diagnosticName, ruleKey); context.settings().setProperty(BSLCommunityProperties.LANG_SERVER_DIAGNOSTIC_LANGUAGE_KEY, Language.EN.getLanguageCode()); - sensor = new BSLCoreSensor(context, fileLinesContextFactory); + sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); sensor.execute(context); assertThat(context.isCancelled()).isFalse(); @@ -109,7 +114,7 @@ void testExecute() { setActiveRules(context, diagnosticName, ruleKey); context.settings().setProperty(BSLCommunityProperties.LANG_SERVER_OVERRIDE_CONFIGURATION_KEY, Boolean.TRUE.toString()); context.settings().setProperty(BSLCommunityProperties.LANG_SERVER_CONFIGURATION_PATH_KEY, Path.of(BASE_PATH, ".bsl-language-server.json").toString()); - sensor = new BSLCoreSensor(context, fileLinesContextFactory); + sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); sensor.execute(context); assertThat(context.isCancelled()).isFalse(); @@ -118,7 +123,7 @@ void testExecute() { setActiveRules(context, diagnosticName, ruleKey); context.settings().setProperty(BSLCommunityProperties.LANG_SERVER_OVERRIDE_CONFIGURATION_KEY, Boolean.TRUE.toString()); context.settings().setProperty(BSLCommunityProperties.LANG_SERVER_CONFIGURATION_PATH_KEY, "fake.file"); - sensor = new BSLCoreSensor(context, fileLinesContextFactory); + sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); sensor.execute(context); assertThat(context.isCancelled()).isFalse(); @@ -137,6 +142,9 @@ void testExecuteCastDiagnosticParameterValue() { FileLinesContextFactory fileLinesContextFactory = mock(FileLinesContextFactory.class); when(fileLinesContextFactory.createFor(any(InputFile.class))).thenReturn(fileLinesContext); + BSLHighlighter highlighter = mock(BSLHighlighter.class); + IssuesLoader issuesLoader = mock(IssuesLoader.class); + SensorContextTester context = createSensorContext(); ActiveRules activeRules = new ActiveRulesBuilder() .addRule(newActiveRule(diagnosticEmptyCodeBlock, "commentAsCode", "true")) @@ -150,7 +158,7 @@ void testExecuteCastDiagnosticParameterValue() { .build(); context.setActiveRules(activeRules); - BSLCoreSensor sensor = new BSLCoreSensor(context, fileLinesContextFactory); + BSLCoreSensor sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); sensor.execute(context); assertThat(context.isCancelled()).isFalse(); @@ -169,11 +177,14 @@ void testExecuteCoverage() { FileLinesContextFactory fileLinesContextFactory = mock(FileLinesContextFactory.class); when(fileLinesContextFactory.createFor(any(InputFile.class))).thenReturn(fileLinesContext); + BSLHighlighter highlighter = mock(BSLHighlighter.class); + IssuesLoader issuesLoader = mock(IssuesLoader.class); + context = createSensorContext(); context.settings().setProperty(BSLCommunityProperties.LANG_SERVER_ENABLED_KEY, false); context.settings().setProperty(BSLCommunityProperties.BSL_CALCULATE_LINE_TO_COVER_KEY, true); setActiveRules(context, diagnosticName, ruleKey); - sensor = new BSLCoreSensor(context, fileLinesContextFactory); + sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); sensor.execute(context); assertThat(context.isCancelled()).isFalse(); @@ -195,7 +206,10 @@ void testComplexity() { FileLinesContextFactory fileLinesContextFactory = mock(FileLinesContextFactory.class); when(fileLinesContextFactory.createFor(any(InputFile.class))).thenReturn(fileLinesContext); - BSLCoreSensor sensor = new BSLCoreSensor(context, fileLinesContextFactory); + BSLHighlighter highlighter = mock(BSLHighlighter.class); + IssuesLoader issuesLoader = mock(IssuesLoader.class); + + BSLCoreSensor sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); sensor.execute(context); diff --git a/src/test/java/com/github/_1c_syntax/bsl/sonar/LanguageServerDiagnosticsLoaderSensorTest.java b/src/test/java/com/github/_1c_syntax/bsl/sonar/LanguageServerDiagnosticsLoaderSensorTest.java index 653e5ac1..fafca2fd 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/sonar/LanguageServerDiagnosticsLoaderSensorTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/sonar/LanguageServerDiagnosticsLoaderSensorTest.java @@ -37,6 +37,7 @@ import java.io.File; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; class LanguageServerDiagnosticsLoaderSensorTest { @@ -46,9 +47,9 @@ class LanguageServerDiagnosticsLoaderSensorTest { @Test void test_describe() { - SensorContextTester context = SensorContextTester.create(BASE_DIR); - LanguageServerDiagnosticsLoaderSensor diagnosticsLoaderSensor = new LanguageServerDiagnosticsLoaderSensor(context); + IssuesLoader issuesLoader = mock(IssuesLoader.class); + var diagnosticsLoaderSensor = new LanguageServerDiagnosticsLoaderSensor(context, issuesLoader); DefaultSensorDescriptor sensorDescriptor = new DefaultSensorDescriptor(); diagnosticsLoaderSensor.describe(sensorDescriptor); @@ -58,6 +59,8 @@ void test_describe() { @Test void test_execute() { + IssuesLoader issuesLoader = mock(IssuesLoader.class); + InputFile inputFile = Tools.inputFileBSL(FILE_NAME, BASE_DIR); SonarRuntime sonarRuntime = SonarRuntimeImpl.forSonarLint(Version.create(7, 9)); @@ -76,7 +79,7 @@ void test_execute() { .build(); context.setActiveRules(activeRules); - LanguageServerDiagnosticsLoaderSensor diagnosticsLoaderSensor = new LanguageServerDiagnosticsLoaderSensor(context); + var diagnosticsLoaderSensor = new LanguageServerDiagnosticsLoaderSensor(context, issuesLoader); diagnosticsLoaderSensor.execute(context); assertThat(context.isCancelled()).isFalse(); From fb1fc31c23c12fe586a2dc9bb44eed363d6c7c36 Mon Sep 17 00:00:00 2001 From: Nikita Gryzlov Date: Wed, 23 Sep 2020 13:26:18 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=A3=D0=B1=D0=B8=D1=80=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20SensorContext=20=D0=B8=D0=B7=20=D0=BA=D0=BE=D0=BD?= =?UTF-8?q?=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D0=BE=D1=80=D0=B0=20BSLCor?= =?UTF-8?q?eSensor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_1c_syntax/bsl/sonar/BSLCoreSensor.java | 43 ++++++++----------- .../_1c_syntax/bsl/sonar/BSLHighlighter.java | 5 ++- .../_1c_syntax/bsl/sonar/IssuesLoader.java | 17 +++++--- .../bsl/sonar/BSLCoreSensorTest.java | 19 ++++---- .../bsl/sonar/BSLHighlighterTest.java | 6 ++- .../bsl/sonar/IssuesLoaderTest.java | 6 ++- 6 files changed, 47 insertions(+), 49 deletions(-) diff --git a/src/main/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensor.java b/src/main/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensor.java index a34758d9..ecee3e47 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensor.java +++ b/src/main/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensor.java @@ -33,6 +33,7 @@ import com.github._1c_syntax.bsl.sonar.language.BSLLanguage; import com.github._1c_syntax.bsl.sonar.language.BSLLanguageServerRuleDefinition; import com.github._1c_syntax.utils.Absolute; +import lombok.RequiredArgsConstructor; import me.tongfei.progressbar.ProgressBar; import me.tongfei.progressbar.ProgressBarStyle; import org.antlr.v4.runtime.Token; @@ -71,29 +72,29 @@ import java.util.stream.Collectors; import java.util.stream.StreamSupport; +@RequiredArgsConstructor public class BSLCoreSensor implements Sensor { private static final Logger LOGGER = Loggers.get(BSLCoreSensor.class); - private final SensorContext context; private final FileLinesContextFactory fileLinesContextFactory; - - private final boolean langServerEnabled; - private final List sourcesList; - private final IssuesLoader issuesLoader; private final BSLHighlighter highlighter; + private final IssuesLoader issuesLoader; - private final boolean calculateCoverLoc; + private SensorContext context; + private boolean langServerEnabled; + private boolean calculateCoverLoc; - public BSLCoreSensor( - SensorContext context, - FileLinesContextFactory fileLinesContextFactory, - BSLHighlighter highlighter, - IssuesLoader issuesLoader - ) { + @Override + public void describe(SensorDescriptor descriptor) { + descriptor.name("BSL Core Sensor"); + descriptor.onlyOnLanguage(BSLLanguage.KEY); + } + + @Override + public void execute(SensorContext context) { this.context = context; - this.fileLinesContextFactory = fileLinesContextFactory; - this.highlighter = highlighter; - this.issuesLoader = issuesLoader; + highlighter.setContext(context); + issuesLoader.setContext(context); langServerEnabled = context.config().getBoolean(BSLCommunityProperties.LANG_SERVER_ENABLED_KEY) .orElse(BSLCommunityProperties.LANG_SERVER_ENABLED_DEFAULT_VALUE); @@ -101,23 +102,13 @@ public BSLCoreSensor( calculateCoverLoc = context.config().getBoolean(BSLCommunityProperties.BSL_CALCULATE_LINE_TO_COVER_KEY) .orElse(BSLCommunityProperties.BSL_CALCULATE_LINE_TO_COVER_VALUE); - sourcesList = context.config().get("sonar.sources") + List sourcesList = context.config().get("sonar.sources") .map(sources -> Arrays.stream(StringUtils.split(sources, ",")) .map(String::strip) .collect(Collectors.toList())) .orElse(Collections.singletonList(".")); - } - - @Override - public void describe(SensorDescriptor descriptor) { - descriptor.name("BSL Core Sensor"); - descriptor.onlyOnLanguage(BSLLanguage.KEY); - } - - @Override - public void execute(SensorContext context) { LOGGER.info("Parsing files..."); FileSystem fileSystem = context.fileSystem(); diff --git a/src/main/java/com/github/_1c_syntax/bsl/sonar/BSLHighlighter.java b/src/main/java/com/github/_1c_syntax/bsl/sonar/BSLHighlighter.java index 28e5120f..e7cffca8 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/sonar/BSLHighlighter.java +++ b/src/main/java/com/github/_1c_syntax/bsl/sonar/BSLHighlighter.java @@ -29,6 +29,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.RequiredArgsConstructor; +import lombok.Setter; import org.antlr.v4.runtime.Token; import org.eclipse.lsp4j.Position; import org.eclipse.lsp4j.Range; @@ -50,7 +51,6 @@ import java.util.Set; import java.util.stream.Collectors; -@RequiredArgsConstructor @ScannerSide @SonarLintSide public class BSLHighlighter { @@ -73,7 +73,8 @@ public class BSLHighlighter { private static final Set SDBL_COMMENTS = createSdblComments(); private static final Set SDBL_PARAMETERS = createSdblParameters(); - private final SensorContext context; + @Setter + private SensorContext context; public void saveHighlighting(InputFile inputFile, DocumentContext documentContext) { Set highlightingData = new HashSet<>(documentContext.getTokens().size()); diff --git a/src/main/java/com/github/_1c_syntax/bsl/sonar/IssuesLoader.java b/src/main/java/com/github/_1c_syntax/bsl/sonar/IssuesLoader.java index 739c745f..e9ca7a6d 100644 --- a/src/main/java/com/github/_1c_syntax/bsl/sonar/IssuesLoader.java +++ b/src/main/java/com/github/_1c_syntax/bsl/sonar/IssuesLoader.java @@ -62,19 +62,22 @@ public class IssuesLoader { private static final Logger LOGGER = Loggers.get(IssuesLoader.class); - private final SensorContext context; private final Map severityMap; private final Map ruleTypeMap; - private final FileSystem fileSystem; - private final FilePredicates predicates; - private final boolean createExternalIssuesWithACCSources; + private SensorContext context; + private FileSystem fileSystem; + private FilePredicates predicates; + private boolean createExternalIssuesWithACCSources; - public IssuesLoader(SensorContext context) { + public IssuesLoader() { + this.severityMap = createDiagnosticSeverityMap(); + this.ruleTypeMap = createRuleTypeMap(); + } + + public void setContext(SensorContext context) { this.context = context; this.fileSystem = context.fileSystem(); this.predicates = fileSystem.predicates(); - this.severityMap = createDiagnosticSeverityMap(); - this.ruleTypeMap = createRuleTypeMap(); this.createExternalIssuesWithACCSources = context.config().getBoolean(ACCProperties.CREATE_EXTERNAL_ISSUES) .orElse(ACCProperties.CREATE_EXTERNAL_ISSUES_DEFAULT_VALUE); } diff --git a/src/test/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensorTest.java b/src/test/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensorTest.java index 31742adb..8db2609a 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensorTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/sonar/BSLCoreSensorTest.java @@ -54,7 +54,6 @@ class BSLCoreSensorTest { private final File BASE_DIR = new File(BASE_PATH).getAbsoluteFile(); private final String FILE_NAME = "test.bsl"; private final Version SONAR_VERSION = Version.create(7, 9); - private final SensorContextTester context = SensorContextTester.create(BASE_DIR); @Test void testDescriptor() { @@ -62,7 +61,7 @@ void testDescriptor() { BSLHighlighter highlighter = mock(BSLHighlighter.class); IssuesLoader issuesLoader = mock(IssuesLoader.class); - BSLCoreSensor sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); + BSLCoreSensor sensor = new BSLCoreSensor(fileLinesContextFactory, highlighter, issuesLoader); DefaultSensorDescriptor sensorDescriptor = new DefaultSensorDescriptor(); sensor.describe(sensorDescriptor); @@ -89,7 +88,7 @@ void testExecute() { context = createSensorContext(); setActiveRules(context, diagnosticName, ruleKey); - sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); + sensor = new BSLCoreSensor(fileLinesContextFactory, highlighter, issuesLoader); sensor.execute(context); assertThat(context.isCancelled()).isFalse(); @@ -97,7 +96,7 @@ void testExecute() { context = createSensorContext(); setActiveRules(context, diagnosticName, ruleKey); context.settings().setProperty(BSLCommunityProperties.LANG_SERVER_ENABLED_KEY, false); - sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); + sensor = new BSLCoreSensor(fileLinesContextFactory, highlighter, issuesLoader); sensor.execute(context); assertThat(context.isCancelled()).isFalse(); @@ -105,7 +104,7 @@ void testExecute() { context = createSensorContext(); setActiveRules(context, diagnosticName, ruleKey); context.settings().setProperty(BSLCommunityProperties.LANG_SERVER_DIAGNOSTIC_LANGUAGE_KEY, Language.EN.getLanguageCode()); - sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); + sensor = new BSLCoreSensor(fileLinesContextFactory, highlighter, issuesLoader); sensor.execute(context); assertThat(context.isCancelled()).isFalse(); @@ -114,7 +113,7 @@ void testExecute() { setActiveRules(context, diagnosticName, ruleKey); context.settings().setProperty(BSLCommunityProperties.LANG_SERVER_OVERRIDE_CONFIGURATION_KEY, Boolean.TRUE.toString()); context.settings().setProperty(BSLCommunityProperties.LANG_SERVER_CONFIGURATION_PATH_KEY, Path.of(BASE_PATH, ".bsl-language-server.json").toString()); - sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); + sensor = new BSLCoreSensor(fileLinesContextFactory, highlighter, issuesLoader); sensor.execute(context); assertThat(context.isCancelled()).isFalse(); @@ -123,7 +122,7 @@ void testExecute() { setActiveRules(context, diagnosticName, ruleKey); context.settings().setProperty(BSLCommunityProperties.LANG_SERVER_OVERRIDE_CONFIGURATION_KEY, Boolean.TRUE.toString()); context.settings().setProperty(BSLCommunityProperties.LANG_SERVER_CONFIGURATION_PATH_KEY, "fake.file"); - sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); + sensor = new BSLCoreSensor(fileLinesContextFactory, highlighter, issuesLoader); sensor.execute(context); assertThat(context.isCancelled()).isFalse(); @@ -158,7 +157,7 @@ void testExecuteCastDiagnosticParameterValue() { .build(); context.setActiveRules(activeRules); - BSLCoreSensor sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); + BSLCoreSensor sensor = new BSLCoreSensor(fileLinesContextFactory, highlighter, issuesLoader); sensor.execute(context); assertThat(context.isCancelled()).isFalse(); @@ -184,7 +183,7 @@ void testExecuteCoverage() { context.settings().setProperty(BSLCommunityProperties.LANG_SERVER_ENABLED_KEY, false); context.settings().setProperty(BSLCommunityProperties.BSL_CALCULATE_LINE_TO_COVER_KEY, true); setActiveRules(context, diagnosticName, ruleKey); - sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); + sensor = new BSLCoreSensor(fileLinesContextFactory, highlighter, issuesLoader); sensor.execute(context); assertThat(context.isCancelled()).isFalse(); @@ -209,7 +208,7 @@ void testComplexity() { BSLHighlighter highlighter = mock(BSLHighlighter.class); IssuesLoader issuesLoader = mock(IssuesLoader.class); - BSLCoreSensor sensor = new BSLCoreSensor(context, fileLinesContextFactory, highlighter, issuesLoader); + BSLCoreSensor sensor = new BSLCoreSensor(fileLinesContextFactory, highlighter, issuesLoader); sensor.execute(context); diff --git a/src/test/java/com/github/_1c_syntax/bsl/sonar/BSLHighlighterTest.java b/src/test/java/com/github/_1c_syntax/bsl/sonar/BSLHighlighterTest.java index fc34fe72..908aa647 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/sonar/BSLHighlighterTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/sonar/BSLHighlighterTest.java @@ -84,7 +84,8 @@ void testHighlightingSDBL() { void testMergeHighlightingTokens() { // given context = SensorContextTester.create(Path.of(".")); - highlighter = new BSLHighlighter(context); + highlighter = new BSLHighlighter(); + highlighter.setContext(context); String content = "А = \"ВЫБРАТЬ РАЗРЕШЕННЫЕ Поле.Один \n" + "|КАК \n" + "| Один, 2 \n" + @@ -153,7 +154,8 @@ private void checkTokenTypeAtPosition(String componentKey, int line, int charact private void initContext(Vocabulary vocabulary) { context = SensorContextTester.create(Path.of(".")); - highlighter = new BSLHighlighter(context); + highlighter = new BSLHighlighter(); + highlighter.setContext(context); documentContext = mock(DocumentContext.class); List tokens = new ArrayList<>(); diff --git a/src/test/java/com/github/_1c_syntax/bsl/sonar/IssuesLoaderTest.java b/src/test/java/com/github/_1c_syntax/bsl/sonar/IssuesLoaderTest.java index fb30d10f..54408298 100644 --- a/src/test/java/com/github/_1c_syntax/bsl/sonar/IssuesLoaderTest.java +++ b/src/test/java/com/github/_1c_syntax/bsl/sonar/IssuesLoaderTest.java @@ -54,7 +54,8 @@ void test_createExtIssue() { SensorContextTester context = SensorContextTester.create(BASE_DIR); InputFile inputFile = Tools.inputFileBSL(FILE_NAME, BASE_DIR); - IssuesLoader issuesLoader = new IssuesLoader(context); + IssuesLoader issuesLoader = new IssuesLoader(); + issuesLoader.setContext(context); Diagnostic diagnostic = new Diagnostic(); diagnostic.setCode(issueCode); @@ -91,7 +92,8 @@ void test_createIssue() { InputFile inputFile = Tools.inputFileBSL(FILE_NAME, BASE_DIR); context.fileSystem().add(inputFile); - IssuesLoader issuesLoader = new IssuesLoader(context); + IssuesLoader issuesLoader = new IssuesLoader(); + issuesLoader.setContext(context); Diagnostic diagnostic = new Diagnostic(); diagnostic.setCode(diagnosticName);