Stack Fix

This commit is contained in:
2019-01-02 15:52:49 +03:00
parent b837d46736
commit b2c7619176
2 changed files with 40 additions and 3 deletions

View File

@@ -339,7 +339,7 @@ if Stack.Count<>0 then
Result:=Stack.Peek Result:=Stack.Peek
else else
begin begin
Result:=Get; Result:=Get(Tokenizer);
Stack.Push(Result); Stack.Push(Result);
end; end;
end; end;
@@ -380,7 +380,7 @@ begin
if Stack.Count<>0 then if Stack.Count<>0 then
Result:=Stack.Pop Result:=Stack.Pop
else else
Result:=Get; Result:=Get(Tokenizer);
end; end;
{$ENDIF} {$ENDIF}

View File

@@ -20,6 +20,10 @@ type
procedure Test2; procedure Test2;
[Test] [Test]
procedure Test3; procedure Test3;
[Test]
procedure Test4;
[Test]
procedure Test5;
// Test with TestCase Atribute to supply parameters. // Test with TestCase Atribute to supply parameters.
end; end;
@@ -40,7 +44,6 @@ begin
token:=tokenizer.GetNext; token:=tokenizer.GetNext;
TDUnitX.CurrentRunner.Log(TLogLevel.Information, token.Text); TDUnitX.CurrentRunner.Log(TLogLevel.Information, token.Text);
end; end;
//sleep(10000);
end; end;
procedure TMyTestObject.Test2; procedure TMyTestObject.Test2;
@@ -70,6 +73,40 @@ begin
raise Exception.Create('Is comment error 3'); raise Exception.Create('Is comment error 3');
end; end;
procedure TMyTestObject.Test4;
var
input:TStrings;
tokenizer:TAGPasTokenizerStack;
token:TAGToken;
begin
input:= TStringList.Create();
input.LoadFromFile('..\..\MainTest.pas');
tokenizer:=TAGPasTokenizerStack.Create(input);
token.ended:=False;
while not token.ended do
begin
token:=tokenizer.Pop;
TDUnitX.CurrentRunner.Log(TLogLevel.Information, token.Text);
end;
end;
procedure TMyTestObject.Test5;
var
input:TStrings;
tokenizer:TAGPasTokenizerStack;
token:TAGToken;
begin
input:= TStringList.Create();
input.LoadFromFile('..\..\MainTest.pas');
tokenizer:=TAGPasTokenizerStack.Create(input);
token.ended:=False;
while not token.ended do
begin
token:=tokenizer.Pop;
TDUnitX.CurrentRunner.Log(TLogLevel.Information, token.Text);
end;
end;
initialization initialization
TDUnitX.RegisterTestFixture(TMyTestObject); TDUnitX.RegisterTestFixture(TMyTestObject);
end. end.