Browse Source

* Add test for threadvar

Michaël Van Canneyt 3 years ago
parent
commit
5651680930
1 changed files with 14 additions and 1 deletions
  1. 14 1
      packages/fcl-passrc/tests/tcvarparser.pas

+ 14 - 1
packages/fcl-passrc/tests/tcvarparser.pas

@@ -14,18 +14,21 @@ Type
   TTestVarParser = Class(TTestParser)
   TTestVarParser = Class(TTestParser)
   private
   private
     FHint: string;
     FHint: string;
+    FIsThreadVar: Boolean;
     FVar: TPasVariable;
     FVar: TPasVariable;
   Protected
   Protected
     Function ParseVar(ASource : String; Const AHint : String = '') : TPasVariable; virtual; overload;
     Function ParseVar(ASource : String; Const AHint : String = '') : TPasVariable; virtual; overload;
     Procedure AssertVariableType(Const ATypeName : String);
     Procedure AssertVariableType(Const ATypeName : String);
     Procedure AssertVariableType(Const AClass : TClass);
     Procedure AssertVariableType(Const AClass : TClass);
     Procedure AssertParseVarError(ASource : String);
     Procedure AssertParseVarError(ASource : String);
+    Property IsThreadVar : Boolean Read FIsThreadVar Write FIsThreadVar;
     Property TheVar : TPasVariable Read FVar;
     Property TheVar : TPasVariable Read FVar;
     Property Hint : string Read FHint Write FHint;
     Property Hint : string Read FHint Write FHint;
     procedure SetUp; override;
     procedure SetUp; override;
     Procedure TearDown; override;
     Procedure TearDown; override;
   Published
   Published
     Procedure TestSimpleVar;
     Procedure TestSimpleVar;
+    Procedure TestSimpleThreadVar;
     Procedure TestSimpleVarAbsoluteName;
     Procedure TestSimpleVarAbsoluteName;
     Procedure TestSimpleVarHelperName;
     Procedure TestSimpleVarHelperName;
     procedure TestSimpleVarHelperType;
     procedure TestSimpleVarHelperType;
@@ -75,7 +78,10 @@ Var
   D : String;
   D : String;
 begin
 begin
   Hint:=AHint;
   Hint:=AHint;
-  Add('Var');
+  if not IsThreadVar then
+    Add('Var')
+  else
+    Add('Threadvar');
   D:='A : '+ASource;
   D:='A : '+ASource;
   If Hint<>'' then
   If Hint<>'' then
     D:=D+' '+Hint;
     D:=D+' '+Hint;
@@ -133,6 +139,13 @@ begin
   AssertVariableType('b');
   AssertVariableType('b');
 end;
 end;
 
 
+procedure TTestVarParser.TestSimpleThreadVar;
+begin
+  IsThreadVar:=True;
+  ParseVar('b','');
+  AssertVariableType('b');
+end;
+
 procedure TTestVarParser.TestSimpleVarAbsoluteName;
 procedure TTestVarParser.TestSimpleVarAbsoluteName;
 Var
 Var
   R : TPasVariable;
   R : TPasVariable;