ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/branches/udr/testsuite/Test12.pas
(Generate patch)

Comparing ibx/trunk/fbintf/testsuite/Test12.pas (file contents):
Revision 45 by tony, Tue Dec 6 10:33:46 2016 UTC vs.
Revision 341 by tony, Wed Jul 7 13:11:53 2021 UTC

# Line 1 | Line 1
1 + (*
2 + *  Firebird Interface (fbintf) Test suite. This program is used to
3 + *  test the Firebird Pascal Interface and provide a semi-automated
4 + *  pass/fail check for each test.
5 + *
6 + *  The contents of this file are subject to the Initial Developer's
7 + *  Public License Version 1.0 (the "License"); you may not use this
8 + *  file except in compliance with the License. You may obtain a copy
9 + *  of the License here:
10 + *
11 + *    http://www.firebirdsql.org/index.php?op=doc&id=idpl
12 + *
13 + *  Software distributed under the License is distributed on an "AS
14 + *  IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
15 + *  implied. See the License for the specific language governing rights
16 + *  and limitations under the License.
17 + *
18 + *  The Initial Developer of the Original Code is Tony Whyman.
19 + *
20 + *  The Original Code is (C) 2016 Tony Whyman, MWA Software
21 + *  (http://www.mwasoftware.co.uk).
22 + *
23 + *  All Rights Reserved.
24 + *
25 + *  Contributor(s): ______________________________________.
26 + *
27 + *)
28 +
29   unit Test12;
30 + {$IFDEF MSWINDOWS}
31 + {$DEFINE WINDOWS}
32 + {$ENDIF}
33  
34 < {$mode objfpc}{$H+}
34 > {$IFDEF FPC}
35 > {$mode delphi}
36  
37   {$codepage UTF8}
38 + {$ENDIF}
39  
40   interface
41  
# Line 15 | Line 48 | interface
48   }
49  
50   uses
51 <  Classes, SysUtils, TestManager, IB;
51 >  Classes, SysUtils, TestApplication, FBTestApp, IB;
52  
53   type
54  
55    { TTest12 }
56  
57 <  TTest12 = class(TTestBase)
57 >  TTest12 = class(TFBTestBase)
58    private
59      procedure UpdateDatabase(Attachment: IAttachment);
60      procedure QueryDatabase(Attachment: IAttachment);
61    public
62 <    function TestTitle: string; override;
63 <    procedure RunTest(CharSet: string; SQLDialect: integer); override;
62 >    function TestTitle: AnsiString; override;
63 >    procedure RunTest(CharSet: AnsiString; SQLDialect: integer); override;
64    end;
65  
66   implementation
# Line 37 | Line 70 | const
70      'Create Table TestData ('+
71      'RowID Integer not null,'+
72      'Title VarChar(32) Character Set UTF8,'+
73 <    'Notes VarChar(64) Character Set ISO8859_1,'+
73 >    'Notes VarChar(64) Character Set ISO8859_1 collate FR_FR,'+
74      'BlobData Blob sub_type 1 Character Set WIN1252, '+
75      'BlobData2 Blob sub_type 1 Character Set UTF8, '+
76 <    'InClear VarChar(16) Character Set NONE, '+
76 >    'InClear VarChar(16) Character Set OCTETS, '+
77 >    'FixedWidth Char(4) Character set UTF8, '+
78      'Primary Key(RowID)'+
79      ')';
80  
81    sqlGetCharSets = 'Select RDB$CHARACTER_SET_NAME,RDB$CHARACTER_SET_ID from RDB$CHARACTER_SETS order by 2';
82  
83 <  sqlInsert = 'Insert into TestData(RowID,Title,Notes, BlobData,BlobData2,InClear) Values(:RowID,:Title,:Notes,:BlobData,:BlobData2,:InClear)';
83 >  sqlInsert = 'Insert into TestData(RowID,Title,Notes, BlobData,BlobData2,InClear,FixedWidth) '+
84 >              'Values(:RowID,:Title,:Notes,:BlobData,:BlobData2,:InClear,:FixedWidth)';
85  
86  
87   { TTest12 }
# Line 62 | Line 97 | begin
97    with Statement.GetSQLParams do
98    begin
99      ByName('rowid').AsInteger := 1;
100 +    {$IFDEF DCC}
101 +    ByName('title').AsString := UTF8Encode('Blob Test ©€');
102 +    ByName('Notes').AsString := UTF8Encode('Écoute moi');
103 +    ByName('FixedWidth').AsString := UTF8Encode('É');
104 +    {$ELSE}
105      ByName('title').AsString := 'Blob Test ©€';
106      ByName('Notes').AsString := 'Écoute moi';
107 +    ByName('FixedWidth').AsString := 'É';
108 +    {$ENDIF}
109      ByName('BlobData').AsString := 'Some German Special Characters like ÖÄÜöäüß';
110      ByName('BlobData2').AsBlob := Attachment.CreateBlob(Transaction,'TestData','BlobData').SetString('Some German Special Characters like ÖÄÜöäüß');
111      ByName('InClear').AsString := #$01'Test'#$0D#$C3;
# Line 81 | Line 123 | begin
123    ReportResults(Statement);
124   end;
125  
126 < function TTest12.TestTitle: string;
126 > function TTest12.TestTitle: AnsiString;
127   begin
128    Result := 'Test 12: Character Sets';
129   end;
130  
131 < procedure TTest12.RunTest(CharSet: string; SQLDialect: integer);
131 > procedure TTest12.RunTest(CharSet: AnsiString; SQLDialect: integer);
132   var DPB: IDPB;
133      Attachment: IAttachment;
134   begin

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines