diff --git a/AG.PascalTokenizer.pas b/AG.PascalTokenizer.pas index 0e0f89d..f2f01a2 100644 --- a/AG.PascalTokenizer.pas +++ b/AG.PascalTokenizer.pas @@ -339,7 +339,7 @@ if Stack.Count<>0 then Result:=Stack.Peek else begin - Result:=Get; + Result:=Get(Tokenizer); Stack.Push(Result); end; end; @@ -380,7 +380,7 @@ begin if Stack.Count<>0 then Result:=Stack.Pop else - Result:=Get; + Result:=Get(Tokenizer); end; {$ENDIF} diff --git a/DelphiTests/MainTest.pas b/DelphiTests/MainTest.pas index 208b1b7..8c2b93d 100644 --- a/DelphiTests/MainTest.pas +++ b/DelphiTests/MainTest.pas @@ -20,6 +20,10 @@ type procedure Test2; [Test] procedure Test3; + [Test] + procedure Test4; + [Test] + procedure Test5; // Test with TestCase Atribute to supply parameters. end; @@ -40,7 +44,6 @@ begin token:=tokenizer.GetNext; TDUnitX.CurrentRunner.Log(TLogLevel.Information, token.Text); end; - //sleep(10000); end; procedure TMyTestObject.Test2; @@ -70,6 +73,40 @@ begin raise Exception.Create('Is comment error 3'); 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 TDUnitX.RegisterTestFixture(TMyTestObject); end.