diff options
author | mattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-02-01 22:12:48 +0000 |
---|---|---|
committer | mattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-02-01 22:12:48 +0000 |
commit | 74f51ede152a874c416ffa969b82d92ce7df2ffc (patch) | |
tree | 3b5d5d5966e067f2f067ecc8f4dd46cf3eca8568 /packages/pastojs | |
parent | cc44fd9bde6c964045557ac5afb8627d6b426db2 (diff) | |
download | fpc-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.pas | 39 |
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); |