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

Comparing ibx/trunk/fbintf/testsuite/Test13.pas (file contents):
Revision 45 by tony, Tue Dec 6 10:33:46 2016 UTC vs.
Revision 380 by tony, Mon Jan 10 10:13:17 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 Test13;
30 + {$IFDEF MSWINDOWS}
31 + {$DEFINE WINDOWS}
32 + {$ENDIF}
33  
34 < {$mode objfpc}{$H+}
34 > {$IFDEF FPC}
35 > {$mode delphi}
36   {$codepage UTF8}
37 + {$ENDIF}
38  
39 < {Test 13: Tranasction over two databases}
39 > {Test 13: Transaction over two databases}
40  
41   {
42    The objective of this test is to test multi-database transactions. Two new
# Line 16 | Line 49 | unit Test13;
49   interface
50  
51   uses
52 <  Classes, SysUtils, TestManager, IB;
52 >  Classes, SysUtils, TestApplication, FBTestApp, IB;
53  
54   type
55      { TTest13 }
56  
57 <  TTest13 = class(TTestBase)
57 >  TTest13 = class(TFBTestBase)
58    private
59      procedure UpdateDatabase(Attachment: IAttachment);
60      procedure QueryDatabase(Attachment: IAttachment);
61      procedure ModifyDatabase1(Attachment: IAttachment; Transaction: ITransaction);
62      procedure ModifyDatabase2(Attachment: IAttachment; Transaction: ITransaction);
63    public
64 <    function TestTitle: string; override;
65 <    procedure RunTest(CharSet: string; SQLDialect: integer); override;
64 >    function TestTitle: AnsiString; override;
65 >    procedure RunTest(CharSet: AnsiString; SQLDialect: integer); override;
66    end;
67  
68   implementation
# Line 42 | Line 75 | const
75      'Notes VarChar(64) Character Set ISO8859_1,'+
76      'BlobData Blob sub_type 1 Character Set WIN1252, '+
77      'BlobData2 Blob sub_type 1 Character Set UTF8, '+
78 <    'InClear VarChar(16) Character Set NONE, '+
78 >    'InClear VarChar(16) Character Set OCTETS, '+
79      'Primary Key(RowID)'+
80      ')';
81  
# Line 62 | Line 95 | begin
95    with Statement.GetSQLParams do
96    begin
97      ByName('rowid').AsInteger := 1;
98 +    {$IFDEF DCC}
99 +    ByName('title').AsString := UTF8Encode('Blob Test ©€');
100 +    ByName('Notes').AsString := UTF8Encode('Écoute moi');
101 +    ByName('BlobData').AsString := UTF8Encode('Some German Special Characters like ÖÄÜöäüß');
102 +    ByName('BlobData2').AsBlob := Attachment.CreateBlob(Transaction,'TestData','BlobData').SetString(UTF8Encode('Some German Special Characters like ÖÄÜöäüß'));
103 +    {$ELSE}
104      ByName('title').AsString := 'Blob Test ©€';
105      ByName('Notes').AsString := 'Écoute moi';
106      ByName('BlobData').AsString := 'Some German Special Characters like ÖÄÜöäüß';
107      ByName('BlobData2').AsBlob := Attachment.CreateBlob(Transaction,'TestData','BlobData').SetString('Some German Special Characters like ÖÄÜöäüß');
108 +    {$ENDIF}
109      ByName('InClear').AsString := #$01'Test'#$0D#$C3;
110    end;
111    Statement.Execute;
# Line 74 | Line 114 | end;
114   procedure TTest13.QueryDatabase(Attachment: IAttachment);
115   var Transaction: ITransaction;
116      Statement: IStatement;
77    ResultSet: IResultSet;
117   begin
118    Transaction := Attachment.StartTransaction([isc_tpb_write,isc_tpb_nowait,isc_tpb_concurrency],taCommit);
119    Statement := Attachment.Prepare(Transaction,'Select * from TestData');
# Line 97 | Line 136 | begin
136    Statement.Execute;
137   end;
138  
139 < function TTest13.TestTitle: string;
139 > function TTest13.TestTitle: AnsiString;
140   begin
141    Result := 'Test 13: Transaction over two databases';
142   end;
143  
144 < procedure TTest13.RunTest(CharSet: string; SQLDialect: integer);
144 > procedure TTest13.RunTest(CharSet: AnsiString; SQLDialect: integer);
145   var DPB: IDPB;
146      Attachment, Attachment2: IAttachment;
147      Transaction: ITransaction;

Comparing ibx/trunk/fbintf/testsuite/Test13.pas (property svn:eol-style):
Revision 45 by tony, Tue Dec 6 10:33:46 2016 UTC vs.
Revision 380 by tony, Mon Jan 10 10:13:17 2022 UTC

# Line 0 | Line 1
1 + native

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines