示例#1
0
        public void ApplyContentChanges_MultipleChanges()
        {
            // Arrange
            var endpoint   = new RazorDocumentSynchronizationEndpoint(Dispatcher, DocumentResolver, ProjectService, LoggerFactory);
            var sourceText = SourceText.From("Hello World");
            var changes    = new[] {
                new TextDocumentContentChangeEvent()
                {
                    Range       = new Range(new Position(0, 5), new Position(0, 5)),
                    RangeLength = 0,
                    Text        = Environment.NewLine
                },
                // Hello
                //  World

                new TextDocumentContentChangeEvent()
                {
                    Range       = new Range(new Position(1, 0), new Position(1, 0)),
                    RangeLength = 0,
                    Text        = "!"
                },
                // Hello
                // ! World

                new TextDocumentContentChangeEvent()
                {
                    Range       = new Range(new Position(0, 1), new Position(0, 1)),
                    RangeLength = 4,
                    Text        = "i!" + Environment.NewLine
                },
                // Hi!
                //
                // ! World
            };

            // Act
            var result = endpoint.ApplyContentChanges(changes, sourceText);

            // Assert
            var resultString = GetString(result);

            Assert.Equal(@"Hi!

! World", resultString);
        }
示例#2
0
        public void ApplyContentChanges_SingleChange()
        {
            // Arrange
            var endpoint   = new RazorDocumentSynchronizationEndpoint(Dispatcher, DocumentResolver, ProjectService, LoggerFactory);
            var sourceText = SourceText.From("Hello World");
            var change     = new TextDocumentContentChangeEvent()
            {
                Range       = new Range(new Position(0, 5), new Position(0, 5)),
                RangeLength = 0,
                Text        = "!"
            };

            // Act
            var result = endpoint.ApplyContentChanges(new[] { change }, sourceText);

            // Assert
            var resultString = GetString(result);

            Assert.Equal("Hello! World", resultString);
        }