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.
ibx/branches/udr/testsuite/Test12.pas (file contents), Revision 379 by tony, Mon Jan 10 10:08:03 2022 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;
112    end;
113 +  writeln(Outfile,'Show Param Values');
114 +  ParamInfo(Statement.SQLParams);
115    Statement.Execute;
116   end;
117  
# Line 81 | Line 125 | begin
125    ReportResults(Statement);
126   end;
127  
128 < function TTest12.TestTitle: string;
128 > function TTest12.TestTitle: AnsiString;
129   begin
130    Result := 'Test 12: Character Sets';
131   end;
132  
133 < procedure TTest12.RunTest(CharSet: string; SQLDialect: integer);
133 > procedure TTest12.RunTest(CharSet: AnsiString; SQLDialect: integer);
134   var DPB: IDPB;
135      Attachment: IAttachment;
136   begin

Comparing:
ibx/trunk/fbintf/testsuite/Test12.pas (property svn:eol-style), Revision 45 by tony, Tue Dec 6 10:33:46 2016 UTC vs.
ibx/branches/udr/testsuite/Test12.pas (property svn:eol-style), Revision 379 by tony, Mon Jan 10 10:08:03 2022 UTC

# Line 0 | Line 1
1 + native

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines