Пример #1
0
        public void GetTracker_ForRazorTextBufferWithTracker_ReturnsTheFirstTracker()
        {
            // Arrange
            var factory = new DefaultVisualStudioDocumentTrackerFactory(Dispatcher, ProjectManager, ProjectService, Workspace);

            var buffers = new Collection <ITextBuffer>()
            {
                Mock.Of <ITextBuffer>(b => b.ContentType == RazorContentType && b.Properties == new PropertyCollection()),
            };

            var bufferGraph = Mock.Of <IBufferGraph>(g => g.GetTextBuffers(It.IsAny <Predicate <ITextBuffer> >()) == buffers);

            var textView = Mock.Of <IWpfTextView>(v => v.BufferGraph == bufferGraph);

            // Preload the buffer's properties with a tracker, so it's like we've already tracked this one.
            var tracker = new DefaultVisualStudioDocumentTracker(ProjectManager, ProjectService, Workspace, buffers[0]);

            tracker.TextViewsInternal.Add(textView);
            buffers[0].Properties.AddProperty(typeof(VisualStudioDocumentTracker), tracker);

            // Act
            var result = factory.GetTracker(textView);

            // Assert
            Assert.Same(tracker, result);
        }
Пример #2
0
        public void GetTracker_WithoutRazorBuffer_ReturnsNull()
        {
            // Arrange
            var factory = new DefaultVisualStudioDocumentTrackerFactory(Dispatcher, ProjectManager, ProjectService, Workspace);

            var buffers = new Collection <ITextBuffer>();

            var bufferGraph = Mock.Of <IBufferGraph>(g => g.GetTextBuffers(It.IsAny <Predicate <ITextBuffer> >()) == buffers);

            var textView = Mock.Of <IWpfTextView>(v => v.BufferGraph == bufferGraph);

            // Act
            var result = factory.GetTracker(textView);

            // Assert
            Assert.Null(result);
        }