Skip to content

Commit a3efb87

Browse files
committed
Add fpc test for encoding/decoding $FFFFFFFFFFFFFFFF
1 parent 18f3484 commit a3efb87

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

tests/fpc/encoding.pas

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ TTestEncoding = class(TTestCase)
2424
procedure IdWithInvalidCharacter;
2525
// out-of-range test not implemented:
2626
// compiler enforces that all numbers are within the range of a TNumber
27+
procedure ExtremeValue;
2728
end;
2829

2930
implementation
@@ -189,6 +190,20 @@ procedure TTestEncoding.IdWithInvalidCharacter;
189190
end;
190191
end;
191192

193+
procedure TTestEncoding.ExtremeValue;
194+
const
195+
Number: TNumber = $FFFFFFFFFFFFFFFF;
196+
Id = 'eIkvoXH40Lmd'; // from a previous EncodeSingle
197+
begin
198+
with TSqids.Create do
199+
try
200+
AssertEquals(EncodeSingle(Number), Id);
201+
AssertTrue(DecodeSingle(Id) = Number);
202+
finally
203+
Free;
204+
end;
205+
end;
206+
192207
initialization
193208
RegisterTest(TTestEncoding);
194209

tests/fpc/testsqids.lpi

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<CONFIG>
33
<ProjectOptions>
4-
<Version Value="11"/>
4+
<Version Value="12"/>
55
<PathDelim Value="\"/>
66
<General>
77
<Flags>
88
<MainUnitHasCreateFormStatements Value="False"/>
99
<MainUnitHasTitleStatement Value="False"/>
1010
<MainUnitHasScaledStatement Value="False"/>
11+
<CompatibilityMode Value="True"/>
1112
</Flags>
1213
<SessionStorage Value="InProjectDir"/>
13-
<MainUnit Value="0"/>
1414
<Title Value="testsqids"/>
1515
<UseAppBundle Value="False"/>
1616
<ResourceType Value="res"/>
@@ -24,7 +24,6 @@
2424
</PublishOptions>
2525
<RunParams>
2626
<FormatVersion Value="2"/>
27-
<Modes Count="0"/>
2827
</RunParams>
2928
<RequiredPackages Count="1">
3029
<Item1>

0 commit comments

Comments
 (0)