Selaa lähdekoodia

* Ignore spaces in defines

git-svn-id: trunk@39615 -
michael 7 vuotta sitten
vanhempi
commit
27b969b397
2 muutettua tiedostoa jossa 18 lisäystä ja 6 poistoa
  1. 2 2
      packages/fcl-passrc/src/pscanner.pp
  2. 16 4
      packages/fcl-passrc/tests/tcscanner.pas

+ 2 - 2
packages/fcl-passrc/src/pscanner.pp

@@ -4287,9 +4287,9 @@ function TPascalScanner.GetMacroName(const Param: String): String;
 var
   p: Integer;
 begin
-  Result:=Param;
+  Result:=Trim(Param);
   p:=1;
-  while (p<=length(Param)) and (Param[p] in ['a'..'z','A'..'Z','0'..'9','_']) do
+  while (p<=length(Result)) and (Result[p] in ['a'..'z','A'..'Z','0'..'9','_']) do
     inc(p);
   SetLength(Result,p-1);
 end;

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

@@ -200,6 +200,8 @@ type
     Procedure TestTokenSeriesComments;
     Procedure TestTokenSeriesNoComments;
     Procedure TestDefine0;
+    procedure TestDefine0Spaces;
+    procedure TestDefine0Spaces2;
     procedure TestDefine01;
     Procedure TestDefine1;
     Procedure TestDefine2;
@@ -1371,15 +1373,25 @@ end;
 procedure TTestScanner.TestDefine0;
 begin
   TestTokens([tkComment],'{$DEFINE NEVER}');
-  If FSCanner.Defines.IndexOf('NEVER')=-1 then
-    Fail('Define not defined');
+  AssertTrue('Define not defined', FSCanner.Defines.IndexOf('NEVER')<>-1);
+end;
+
+procedure TTestScanner.TestDefine0Spaces;
+begin
+  TestTokens([tkComment],'{$DEFINE  NEVER}');
+  AssertTrue('Define not defined',FSCanner.Defines.IndexOf('NEVER')<>-1);
+end;
+
+procedure TTestScanner.TestDefine0Spaces2;
+begin
+  TestTokens([tkComment],'{$DEFINE NEVER }');
+  AssertTrue('Define not defined',FSCanner.Defines.IndexOf('NEVER')<>-1);
 end;
 
 procedure TTestScanner.TestDefine01;
 begin
   TestTokens([tkComment],'(*$DEFINE NEVER*)');
-  If FSCanner.Defines.IndexOf('NEVER')=-1 then
-    Fail('Define not defined');
+  AssertTrue('Define not defined',FSCanner.Defines.IndexOf('NEVER')<>-1);
 end;
 
 procedure TTestScanner.TestDefine1;