using XFESystem.Desktop;
using Xunit;
namespace XFESystem.Core.Tests;
public sealed class SyntaxTests
{
[Fact]
public void StringsEscapesCommentsKeywordsAndNumbersHaveDistinctStyles()
{
const string source = "const value = \"escaped \\\" text\" + 42; // comment";
var spans = SyntaxHighlighter.Tokenize(source);
Assert.Equal(source, string.Concat(spans.Select(s => s.Text)));
Assert.Equal(0xB99AEEu, spans.Single(s => s.Text == "const").Color);
Assert.Equal(0xD6BB80u, spans.Single(s => s.Text.StartsWith('"')).Color);
Assert.Equal(0x77D7CEu, spans.Single(s => s.Text == "42").Color);
Assert.Equal(0x739D81u, spans.Single(s => s.Text.StartsWith("//")).Color);
}
}
using XFESystem.Desktop;
using Xunit;
namespace XFESystem.Core.Tests;
public sealed class SyntaxTests
{
[Fact]
public void StringsEscapesCommentsKeywordsAndNumbersHaveDistinctStyles()
{
const string source = "const value = \"escaped \\\" text\" + 42; // comment";
var spans = SyntaxHighlighter.Tokenize(source);
Assert.Equal(source, string.Concat(spans.Select(s => s.Text)));
Assert.Equal(0xB99AEEu, spans.Single(s => s.Text == "const").Color);
Assert.Equal(0xD6BB80u, spans.Single(s => s.Text.StartsWith('"')).Color);
Assert.Equal(0x77D7CEu, spans.Single(s => s.Text == "42").Color);
Assert.Equal(0x739D81u, spans.Single(s => s.Text.StartsWith("//")).Color);
}
}