Esempio n. 1
0
        public void TextView_MouseHover_TriggersQuickInfo()
        {
            // Arrange
            textSnapshotMock
            .Setup(x => x.CreateTrackingPoint(pointPosition, PointTrackingMode.Positive))
            .Returns(trackingPointMock.Object);

            bufferGraphMock
            .Setup(x => x.MapDownToFirstMatch(It.IsAny <SnapshotPoint>(), PointTrackingMode.Positive,
                                              It.IsAny <Predicate <ITextSnapshot> >(), PositionAffinity.Predecessor))
            .Returns(new SnapshotPoint(textSnapshotMock.Object, pointPosition));

            quickInfoBrokerMock
            .Setup(x => x.IsQuickInfoActive(textView))
            .Returns(false);

            quickInfoBrokerMock
            .Setup(x => x.TriggerQuickInfo(textView, trackingPointMock.Object, true))
            .Returns((IQuickInfoSession)null);

            var controller = new SonarLintQuickInfoController(textView, new List <ITextBuffer>(), provider);

            // Act
            textViewMock.Raise(x => x.MouseHover += null,
                               new MouseHoverEventArgs(textView, snapshotPosition, new Mock <IMappingPoint>().Object));

            // Assert
            Mock.VerifyAll(textSnapshotMock, bufferGraphMock, textViewMock, quickInfoBrokerMock);
        }
Esempio n. 2
0
        public void Detach_Turns_Off_EventHandling()
        {
            // Arrange
            var controller = new SonarLintQuickInfoController(textViewMock.Object, new List <ITextBuffer>(), provider);

            // Act
            controller.Detach(textViewMock.Object);

            // Assert
            Mock.VerifyAll(quickInfoBrokerMock); // Do not verify textViewMock, the setup properties are not called

            // nothing really to verify here
        }
Esempio n. 3
0
        public void ConnectSubjectBuffer_Adds_Buffer()
        {
            // Arrange
            var buffers = new List <ITextBuffer>();

            var controller = new SonarLintQuickInfoController(
                new Mock <ITextView>().Object, buffers, new SonarLintQuickInfoControllerProvider());

            // Act
            controller.ConnectSubjectBuffer(new Mock <ITextBuffer>().Object);

            // Assert
            buffers.Should().HaveCount(1);
        }
Esempio n. 4
0
        public void TextView_MouseHover_No_SnapshotPoint()
        {
            // Arrange
            bufferGraphMock
            .Setup(x => x.MapDownToFirstMatch(It.IsAny <SnapshotPoint>(), PointTrackingMode.Positive,
                                              It.IsAny <Predicate <ITextSnapshot> >(), PositionAffinity.Predecessor))
            .Returns((SnapshotPoint?)null);

            var controller = new SonarLintQuickInfoController(textView, new List <ITextBuffer>(), provider);

            // Act
            textViewMock.Raise(x => x.MouseHover += null,
                               new MouseHoverEventArgs(textView, snapshotPosition, new Mock <IMappingPoint>().Object));

            // Assert
            Mock.VerifyAll(textSnapshotMock, bufferGraphMock, textViewMock, quickInfoBrokerMock);
        }
Esempio n. 5
0
        public void DisconnectSubjectBuffer_Removes_Buffer()
        {
            // Arrange
            var subjectBuffer = new Mock <ITextBuffer>().Object;

            var buffers = new List <ITextBuffer>
            {
                subjectBuffer
            };

            var controller = new SonarLintQuickInfoController(
                new Mock <ITextView>().Object, buffers, new SonarLintQuickInfoControllerProvider());

            // Act
            controller.DisconnectSubjectBuffer(subjectBuffer);

            // Assert
            buffers.Should().BeEmpty();
        }