summaryrefslogtreecommitdiff
path: root/packages/pastojs
diff options
context:
space:
mode:
authormattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-02-01 22:12:48 +0000
committermattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-02-01 22:12:48 +0000
commit74f51ede152a874c416ffa969b82d92ce7df2ffc (patch)
tree3b5d5d5966e067f2f067ecc8f4dd46cf3eca8568 /packages/pastojs
parentcc44fd9bde6c964045557ac5afb8627d6b426db2 (diff)
downloadfpc-74f51ede152a874c416ffa969b82d92ce7df2ffc.tar.gz
fcl-passrc: resolver: include(intset,int)
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@48497 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/pastojs')
-rw-r--r--packages/pastojs/tests/tcmodules.pas39
1 files changed, 39 insertions, 0 deletions
diff --git a/packages/pastojs/tests/tcmodules.pas b/packages/pastojs/tests/tcmodules.pas
index 7f68df6b22..ca46edd38b 100644
--- a/packages/pastojs/tests/tcmodules.pas
+++ b/packages/pastojs/tests/tcmodules.pas
@@ -389,6 +389,7 @@ type
Procedure TestSet_Property;
Procedure TestSet_EnumConst;
Procedure TestSet_IntConst;
+ Procedure TestSet_IntRange;
Procedure TestSet_AnonymousEnumType;
Procedure TestSet_AnonymousEnumTypeChar; // ToDo
Procedure TestSet_ConstEnum;
@@ -6420,6 +6421,44 @@ begin
'']));
end;
+procedure TTestModule.TestSet_IntRange;
+begin
+ StartProgram(false);
+ Add([
+ 'type',
+ ' TRange = 1..3;',
+ ' TEnums = set of TRange;',
+ 'const',
+ ' Orange = 2;',
+ 'var',
+ ' Enum: byte;',
+ ' Enums: TEnums;',
+ 'begin',
+ ' Enums:=[];',
+ ' Enums:=[1];',
+ ' Enums:=[2..3];',
+ ' Include(enums,orange);',
+ ' Exclude(enums,orange);',
+ ' if orange in enums then;',
+ ' if orange in [orange,1] then;']);
+ ConvertProgram;
+ CheckSource('TestSet_IntRange',
+ LinesToStr([ // statements
+ 'this.Orange = 2;',
+ 'this.Enum = 0;',
+ 'this.Enums = {};',
+ '']),
+ LinesToStr([
+ '$mod.Enums = {};',
+ '$mod.Enums = rtl.createSet(1);',
+ '$mod.Enums = rtl.createSet(null, 2, 3);',
+ '$mod.Enums = rtl.includeSet($mod.Enums, 2);',
+ '$mod.Enums = rtl.excludeSet($mod.Enums, 2);',
+ 'if (2 in $mod.Enums) ;',
+ 'if (2 in rtl.createSet(2, 1)) ;',
+ '']));
+end;
+
procedure TTestModule.TestSet_AnonymousEnumType;
begin
StartProgram(false);