@@ -101,6 +101,8 @@ TestTFormat_HEX = class(TFormatTestsBase)
101101 public
102102 procedure SetUp ; override;
103103 procedure TearDown ; override;
104+ private
105+ procedure DoTestDecodeException ;
104106 published
105107 procedure TestEncodeBytes ;
106108 procedure TestEncodeRawByteString ;
@@ -113,6 +115,7 @@ TestTFormat_HEX = class(TFormatTestsBase)
113115 procedure TestIsValidRawByteString ;
114116 procedure TestClassByName ;
115117 procedure TestIdentity ;
118+ procedure TestDecodeException ;
116119 end ;
117120
118121 // Test methods for class TFormat_HEXL
@@ -587,6 +590,8 @@ TestTFormat_UU = class(TFormatTestsBase)
587590 public
588591 procedure SetUp ; override;
589592 procedure TearDown ; override;
593+ private
594+ procedure DoTestDecodeException ;
590595 published
591596 procedure TestEncodeBytes ;
592597 procedure TestEncodeRawByteString ;
@@ -599,6 +604,7 @@ TestTFormat_UU = class(TFormatTestsBase)
599604 procedure TestIsValidRawByteString ;
600605 procedure TestClassByName ;
601606 procedure TestIdentity ;
607+ procedure TestDecodeException ;
602608 end ;
603609
604610 // Test methods for class TFormat_XX
@@ -843,6 +849,11 @@ TestTFormat_BigEndian64 = class(TFormatTestsBase)
843849
844850implementation
845851
852+ procedure TestTFormat_HEX.DoTestDecodeException ;
853+ begin
854+ FFormat_HEX.Decode(' ä' );
855+ end ;
856+
846857procedure TestTFormat_HEX.SetUp ;
847858begin
848859 FFormat_HEX := TFormat_HEX.Create;
@@ -867,6 +878,11 @@ procedure TestTFormat_HEX.TestDecodeBytes;
867878 DoTestEncodeDecode(FFormat_HEX.Decode, cTestDataDecode);
868879end ;
869880
881+ procedure TestTFormat_HEX.TestDecodeException ;
882+ begin
883+ CheckException(DoTestDecodeException, EDECFormatException);
884+ end ;
885+
870886procedure TestTFormat_HEX.TestDecodeRawByteString ;
871887begin
872888 DoTestEncodeDecodeRawByteString(FFormat_HEX.Decode, cTestDataDecode);
@@ -1484,6 +1500,11 @@ procedure TestTFormat_Radix64.TestIsValidTypeless;
14841500 ' CRC not present not detected on ' + ' VGVzdAoJqlU=' + #13 + #10 +' ==XtiM' + ' ' );
14851501end ;
14861502
1503+ procedure TestTFormat_UU.DoTestDecodeException ;
1504+ begin
1505+ FFormat_UU.Decode(' ä' );
1506+ end ;
1507+
14871508procedure TestTFormat_UU.SetUp ;
14881509begin
14891510 FFormat_UU := TFormat_UU.Create;
@@ -1508,6 +1529,11 @@ procedure TestTFormat_UU.TestDecodeBytes;
15081529 DoTestEncodeDecode(FFormat_UU.Decode, cTestDataDecode);
15091530end ;
15101531
1532+ procedure TestTFormat_UU.TestDecodeException ;
1533+ begin
1534+ CheckException(DoTestDecodeException, EDECFormatException);
1535+ end ;
1536+
15111537procedure TestTFormat_UU.TestDecodeRawByteString ;
15121538begin
15131539 DoTestEncodeDecodeRawByteString(FFormat_UU.Decode, cTestDataDecode);
0 commit comments