/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/EditorFeatures/Test/Extensions/ITextExtensionsTests.cs
132 строки
4 KB
Cyrus Najmabadi
Make sealed
26 мар 2025, 22:21
26 мар 2025, 22:21
d99b771
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. #nullable disable using Microsoft.CodeAnalysis.Shared.Extensions; using Microsoft.CodeAnalysis.Text; using Xunit; namespace Microsoft.CodeAnalysis.Editor.UnitTests.Extensions; public sealed class ITextExtensionsTests { [Fact] public void GetLeadingWhitespaceOfLineAtPosition_EmptyLineReturnsEmptyString() { var leadingWhitespace = GetLeadingWhitespaceOfLineAtPosition(string.Empty, 0); Assert.Equal(string.Empty, leadingWhitespace); } [Fact] public void GetLeadingWhitespaceOfLineAtPosition_WhitespaceLineReturnsWhitespace1() { var leadingWhitespace = GetLeadingWhitespaceOfLineAtPosition(" ", 0); Assert.Equal(" ", leadingWhitespace); } [Fact] public void GetLeadingWhitespaceOfLineAtPosition_WhitespaceLineReturnsWhitespace2() { var leadingWhitespace = GetLeadingWhitespaceOfLineAtPosition("\t\t", 0); Assert.Equal("\t\t", leadingWhitespace); } [Fact] public void GetLeadingWhitespaceOfLineAtPosition_WhitespaceLineReturnsWhitespace3() { var leadingWhitespace = GetLeadingWhitespaceOfLineAtPosition(" \t ", 0); Assert.Equal(" \t ", leadingWhitespace); } [Fact] public void GetLeadingWhitespaceOfLineAtPosition_TextLine() { var leadingWhitespace = GetLeadingWhitespaceOfLineAtPosition("Goo", 0); Assert.Equal(string.Empty, leadingWhitespace); } [Fact] public void GetLeadingWhitespaceOfLineAtPosition_TextLineStartingWithWhitespace1() { var leadingWhitespace = GetLeadingWhitespaceOfLineAtPosition(" Goo", 0); Assert.Equal(" ", leadingWhitespace); } [Fact] public void GetLeadingWhitespaceOfLineAtPosition_TextLineStartingWithWhitespace2() { var leadingWhitespace = GetLeadingWhitespaceOfLineAtPosition("\t\tGoo", 0); Assert.Equal("\t\t", leadingWhitespace); } [Fact] public void GetLeadingWhitespaceOfLineAtPosition_TextLineStartingWithWhitespace3() { var leadingWhitespace = GetLeadingWhitespaceOfLineAtPosition(" \t Goo", 0); Assert.Equal(" \t ", leadingWhitespace); } [Fact] public void GetLeadingWhitespaceOfLineAtPosition_EmptySecondLineReturnsEmptyString() { var leadingWhitespace = GetLeadingWhitespaceOfLineAtPosition("Goo\r\n", 5); Assert.Equal(string.Empty, leadingWhitespace); } [Fact] public void GetLeadingWhitespaceOfLineAtPosition_WhitespaceSecondLineReturnsWhitespace1() { var leadingWhitespace = GetLeadingWhitespaceOfLineAtPosition("Goo\r\n ", 5); Assert.Equal(" ", leadingWhitespace); } [Fact] public void GetLeadingWhitespaceOfLineAtPosition_WhitespaceSecondLineReturnsWhitespace2() { var leadingWhitespace = GetLeadingWhitespaceOfLineAtPosition("Goo\r\n\t\t", 5); Assert.Equal("\t\t", leadingWhitespace); } [Fact] public void GetLeadingWhitespaceOfLineAtPosition_WhitespaceSecondLineReturnsWhitespace3() { var leadingWhitespace = GetLeadingWhitespaceOfLineAtPosition("Goo\r\n \t ", 5); Assert.Equal(" \t ", leadingWhitespace); } [Fact] public void GetLeadingWhitespaceOfLineAtPosition_TextSecondLine() { var leadingWhitespace = GetLeadingWhitespaceOfLineAtPosition("Goo\r\nGoo", 5); Assert.Equal(string.Empty, leadingWhitespace); } [Fact] public void GetLeadingWhitespaceOfLineAtPosition_TextSecondLineStartingWithWhitespace1() { var leadingWhitespace = GetLeadingWhitespaceOfLineAtPosition("Goo\r\n Goo", 5); Assert.Equal(" ", leadingWhitespace); } [Fact] public void GetLeadingWhitespaceOfLineAtPosition_TextSecondLineStartingWithWhitespace2() { var leadingWhitespace = GetLeadingWhitespaceOfLineAtPosition("Goo\r\n\t\tGoo", 5); Assert.Equal("\t\t", leadingWhitespace); } [Fact] public void GetLeadingWhitespaceOfLineAtPosition_TextSecondLineStartingWithWhitespace3() { var leadingWhitespace = GetLeadingWhitespaceOfLineAtPosition("Goo\r\n \t Goo", 5); Assert.Equal(" \t ", leadingWhitespace); } private static string GetLeadingWhitespaceOfLineAtPosition(string code, int position) { var text = SourceText.From(code); return text.GetLeadingWhitespaceOfLineAtPosition(position); } }