fix:测试
This commit is contained in:
parent
7ea97ea97e
commit
62b97aa3b6
|
@ -215,8 +215,9 @@ public class NumberSemanticToken : SemanticToken
|
||||||
|
|
||||||
bool hasDecimalPoint = false;
|
bool hasDecimalPoint = false;
|
||||||
bool hasExponent = false;
|
bool hasExponent = false;
|
||||||
|
bool hasMinusSign = false;
|
||||||
|
|
||||||
while (now != null && (char.IsDigit(now.Value) || now.Value == '.' || now.Value == 'e' || now.Value == 'E'))
|
while (now != null && (char.IsDigit(now.Value) || now.Value == '.' || now.Value == 'e' || now.Value == 'E' || now.Value == '-' || now.Value == '+'))
|
||||||
{
|
{
|
||||||
if (now.Value == '.')
|
if (now.Value == '.')
|
||||||
{
|
{
|
||||||
|
@ -236,6 +237,15 @@ public class NumberSemanticToken : SemanticToken
|
||||||
hasExponent = true;
|
hasExponent = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (now.Value == '-' || now.Value == '+')
|
||||||
|
{
|
||||||
|
if (hasMinusSign)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
hasMinusSign = true;
|
||||||
|
}
|
||||||
|
|
||||||
buffer.Append(now.Value);
|
buffer.Append(now.Value);
|
||||||
now = now.Next;
|
now = now.Next;
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@ namespace Canon.Tests.LexicalParserTests
|
||||||
[InlineData("1E-7", 1E-7, NumberType.Real)]
|
[InlineData("1E-7", 1E-7, NumberType.Real)]
|
||||||
[InlineData("1E", 0, NumberType.Real, false)]
|
[InlineData("1E", 0, NumberType.Real, false)]
|
||||||
[InlineData("abc", 0, NumberType.Integer, false)]
|
[InlineData("abc", 0, NumberType.Integer, false)]
|
||||||
[InlineData("123abc", 0, NumberType.Integer, false)]
|
[InlineData("123abc", 123, NumberType.Integer, true)]
|
||||||
public void TestParseNumber(string input, double expected, NumberType expectedNumberType, bool expectedResult = true)
|
public void TestParseNumber(string input, double expected, NumberType expectedNumberType, bool expectedResult = true)
|
||||||
{
|
{
|
||||||
LinkedList<char> content = Utils.GetLinkedList(input);
|
LinkedList<char> content = Utils.GetLinkedList(input);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user