Browse Source

* Test case for undefine and define

git-svn-id: trunk@21931 -
michael 13 years ago
parent
commit
60022280f0
1 changed files with 16 additions and 0 deletions
  1. 16 0
      packages/fcl-passrc/tests/tcscanner.pas

+ 16 - 0
packages/fcl-passrc/tests/tcscanner.pas

@@ -181,6 +181,7 @@ type
     Procedure TestTokenSeriesNoWhiteSpace;
     Procedure TestTokenSeriesNoWhiteSpace;
     Procedure TestTokenSeriesComments;
     Procedure TestTokenSeriesComments;
     Procedure TestTokenSeriesNoComments;
     Procedure TestTokenSeriesNoComments;
+    Procedure TestDefine0;
     Procedure TestDefine1;
     Procedure TestDefine1;
     Procedure TestDefine2;
     Procedure TestDefine2;
     Procedure TestDefine3;
     Procedure TestDefine3;
@@ -195,6 +196,7 @@ type
     Procedure TestDefine12;
     Procedure TestDefine12;
     Procedure TestInclude;
     Procedure TestInclude;
     Procedure TestInclude2;
     Procedure TestInclude2;
+    Procedure TestUnDefine1;
     Procedure TestMacro1;
     Procedure TestMacro1;
     procedure TestMacro2;
     procedure TestMacro2;
     procedure TestMacro3;
     procedure TestMacro3;
@@ -1202,6 +1204,13 @@ begin
   TestTokens([tkin,tkWhitespace,tkOf,tkWhiteSpace,tkWhiteSpace,tkIdentifier],'in of {then} aninteger')
   TestTokens([tkin,tkWhitespace,tkOf,tkWhiteSpace,tkWhiteSpace,tkIdentifier],'in of {then} aninteger')
 end;
 end;
 
 
+procedure TTestScanner.TestDefine0;
+begin
+  TestTokens([tkComment],'{$DEFINE NEVER}');
+  If FSCanner.Defines.IndexOf('NEVER')=-1 then
+    Fail('Define not defined');
+end;
+
 procedure TTestScanner.TestDefine1;
 procedure TTestScanner.TestDefine1;
 begin
 begin
   TestTokens([tkComment],'{$IFDEF NEVER} of {$ENDIF}');
   TestTokens([tkComment],'{$IFDEF NEVER} of {$ENDIF}');
@@ -1297,6 +1306,13 @@ begin
   TestTokens([tkIf,tkTrue,tkThen,tkElse],'{$I myinclude.inc} else',True,False);
   TestTokens([tkIf,tkTrue,tkThen,tkElse],'{$I myinclude.inc} else',True,False);
 end;
 end;
 
 
+procedure TTestScanner.TestUnDefine1;
+begin
+  FSCanner.Defines.Add('ALWAYS');
+  TestTokens([tkComment],'{$UNDEF ALWAYS}');
+  AssertEquals('No more define',-1,FScanner.Defines.INdexOf('ALWAYS'));
+end;
+
 procedure TTestScanner.TestMacro1;
 procedure TTestScanner.TestMacro1;
 begin
 begin
   FScanner.SkipWhiteSpace:=True;
   FScanner.SkipWhiteSpace:=True;