public void CheckStatus_SingleIssue_SupportedRepo_ConnectedMode_HasExpectedEnabledStatus(string errorCode, SonarLintMode bindingMode, bool expectedEnabled) { // Arrange var issueHandle = CreateIssueHandle(111, new Dictionary <string, object> { { StandardTableKeyNames.BuildTool, "SonarLint" }, { StandardTableKeyNames.ErrorCode, errorCode } }); var errorList = CreateErrorList(issueHandle); var mockUserSettingsProvider = new Mock <IUserSettingsProvider>(); var solutionTracker = CreateSolutionTracker(bindingMode); var command = CreateDisableRuleMenuCommand(errorList, mockUserSettingsProvider.Object, solutionTracker, new TestLogger()); // Act. Trigger the query status check ThreadHelper.SetCurrentThreadAsUIThread(); var result = command.OleStatus; var expectedOleStatus = expectedEnabled ? VisibleAndEnabled : VisibleButDisabled; result.Should().Be(expectedOleStatus); // Should always be visible, but not necessarily enabled command.Visible.Should().BeTrue(); command.Enabled.Should().Be(expectedEnabled); }
public void CheckStatusAndExecute_SingleIssue_SupportedRepo_StandaloneMode_VisibleAndEnabled(string errorCode) { // Arrange var issueHandle = CreateIssueHandle(111, new Dictionary <string, object> { { StandardTableKeyNames.BuildTool, "SonarLint" }, { StandardTableKeyNames.ErrorCode, errorCode } }); var errorList = CreateErrorList(issueHandle); var mockUserSettingsProvider = new Mock <IUserSettingsProvider>(); var solutionTracker = CreateSolutionTracker(SonarLintMode.Standalone); // Act var command = CreateDisableRuleMenuCommand(errorList, mockUserSettingsProvider.Object, solutionTracker, new TestLogger()); // 1. Trigger the query status check ThreadHelper.SetCurrentThreadAsUIThread(); var result = command.OleStatus; result.Should().Be(VisibleAndEnabled); command.Enabled.Should().BeTrue(); command.Visible.Should().BeTrue(); // 2. Invoke the command command.Invoke(); mockUserSettingsProvider.Verify(x => x.DisableRule(errorCode), Times.Once); }
public void TestInitialize() { ThreadHelper.SetCurrentThreadAsUIThread(); mockTextView = Mock.Of <ITextView>(); var mockSnapshot = new Mock <ITextSnapshot>(); mockSnapshot.Setup(x => x.Length).Returns(100); mockSnapshotSpan = new SnapshotSpan(mockSnapshot.Object, 1, 10); outliningManagerServiceMock = new Mock <IOutliningManagerService>(); editorOperationsMock = new Mock <IEditorOperations>(); var editorOperationsFactoryMock = new Mock <IEditorOperationsFactoryService>(); editorOperationsFactoryMock .Setup(x => x.GetEditorOperations(mockTextView)) .Returns(editorOperationsMock.Object); testSubject = new DocumentNavigator(Mock.Of <IServiceProvider>(), Mock.Of <IVsEditorAdaptersFactoryService>(), outliningManagerServiceMock.Object, editorOperationsFactoryMock.Object); }
public void CheckStatus_NoActiveDocument_NotEnabled() { // Arrange SetActiveDocument(null); ThreadHelper.SetCurrentThreadAsUIThread(); // Act var result = testSubject.OleStatus; // Assert result.Should().Be((int)(OLECMDF.OLECMDF_SUPPORTED | OLECMDF.OLECMDF_INVISIBLE)); testSubject.Enabled.Should().BeFalse(); testSubject.Visible.Should().BeFalse(); VerifyDocumentLocatorCalled(); VerifyLanguageRecognizerNotCalled(); VerifyAnalysisNotRequested(); }
public void CheckStatus_ActiveDocument_IsCFamilyDocument_Enabled() { // Arrange SetActiveDocument(ValidTextDocument, AnalysisLanguage.Javascript, AnalysisLanguage.CFamily); ThreadHelper.SetCurrentThreadAsUIThread(); // Act var result = testSubject.OleStatus; // Assert result.Should().Be((int)(OLECMDF.OLECMDF_SUPPORTED | OLECMDF.OLECMDF_INVISIBLE | OLECMDF.OLECMDF_ENABLED)); testSubject.Enabled.Should().BeTrue(); testSubject.Visible.Should().BeFalse(); VerifyDocumentLocatorCalled(); VerifyLanguageRecognizerCalled(); VerifyAnalysisNotRequested(); }
public void CheckStatus_SingleCFamilyIssue_ConnectedMode_VisibleButNotEnabled(SonarLintMode bindingMode) { // Arrange var issueHandle = CreateIssueHandle(111, new Dictionary <string, object> { { StandardTableKeyNames.BuildTool, "SonarLint" }, { StandardTableKeyNames.ErrorCode, "cpp:S123" } }); var errorList = CreateErrorList(issueHandle); var mockUserSettingsProvider = new Mock <IUserSettingsProvider>(); var solutionTracker = CreateSolutionTracker(bindingMode); var command = CreateDisableRuleMenuCommand(errorList, mockUserSettingsProvider.Object, solutionTracker, new TestLogger()); // Act. Trigger the query status check ThreadHelper.SetCurrentThreadAsUIThread(); var result = command.OleStatus; result.Should().Be((int)OLECMDF.OLECMDF_SUPPORTED); command.Enabled.Should().BeFalse(); command.Visible.Should().BeTrue(); }
public void TestInitialize() { ThreadHelper.SetCurrentThreadAsUIThread(); }