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

Comparing ibx/trunk/fbintf/testsuite/Test1.pas (file contents):
Revision 263 by tony, Thu Dec 6 15:55:01 2018 UTC vs.
Revision 315 by tony, Thu Feb 25 11:56:36 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 Test1;
30   {$IFDEF MSWINDOWS}
31   {$DEFINE WINDOWS}
# Line 23 | Line 51 | unit Test1;
51   interface
52  
53   uses
54 <  Classes, SysUtils, TestManager, IB;
54 >  Classes, SysUtils, TestApplication, FBTestApp, IB;
55  
56   type
57  
58    { TTest1 }
59  
60 <  TTest1 = class(TTestBase)
60 >  TTest1 = class(TFBTestBase)
61    private
62      procedure DoQuery(Attachment: IAttachment);
63      procedure WriteAttachmentInfo(Attachment: IAttachment);
64 +    procedure GetFBVersion(Attachment: IAttachment);
65    public
66      function TestTitle: AnsiString; override;
67      procedure RunTest(CharSet: AnsiString; SQLDialect: integer); override;
# Line 56 | Line 85 | begin
85        while ResultSet.FetchNext do
86        begin
87          for i := 0 to ResultSet.getCount - 1 do
88 <          writeln(OutFile,ResultSet[i].Name,' = ',ResultSet[i].AsString);
88 >          writeln(OutFile,ResultSet[i].Name,' = ',Trim(ResultSet[i].AsString));
89        end;
90      finally
91        ResultSet.Close;
# Line 77 | Line 106 | begin
106    writeln(outfile,'DB Client Implementation Version = ',Attachment.getFirebirdAPI.GetImplementationVersion);
107   end;
108  
109 + procedure TTest1.GetFBVersion(Attachment: IAttachment);
110 + var Version: TStrings;
111 +    i: integer;
112 + begin
113 +  Version := TStringList.Create;
114 +  try
115 +    Attachment.getFBVersion(Version);
116 +    for i := 0 to Version.Count - 1 do
117 +      writeln(OutFile,Version[i]);
118 +  finally
119 +    Version.Free;
120 +  end;
121 + end;
122 +
123   function TTest1.TestTitle: AnsiString;
124   begin
125    Result := 'Test 1: Create and Drop a Database';
# Line 98 | Line 141 | begin
141  
142    writeln(OutFile,'Creating a Database using an SQL Statement');
143    createSQL := Format('create database ''%s'' USER ''%s'' PASSWORD ''%s'' DEFAULT CHARACTER SET %s',
144 <                      [Owner.GetNewDatabaseName, Owner.GetUserName, Owner.GetPassword, CharSet]);
144 >                      [ExtractDBName(Owner.GetNewDatabaseName), Owner.GetUserName, Owner.GetPassword, CharSet]);
145    Attachment := FirebirdAPI.CreateDatabase(createSQL,SQLDialect);
146    WriteDBInfo(Attachment.GetDBInformation([isc_info_db_id,isc_info_db_SQL_Dialect]));
147    WriteAttachmentInfo(Attachment);
148    PrintDPB(Attachment.getDPB);
149 +  writeln(OutFile,'Firebird Server Version Info');
150 +  GetFBVersion(Attachment);
151 +  writeln(OutFile);
152  
153    {$IFDEF HASREQEX}
154    {Demonstrate reconnect when database created with SQL Statement}
# Line 125 | Line 171 | begin
171    DPB.Add(isc_dpb_lc_ctype).setAsString(CharSet);
172    DPB.Add(isc_dpb_set_db_SQL_dialect).setAsByte(SQLDialect);
173  
174 <  Attachment := FirebirdAPI.CreateDatabase(Owner.GetNewDatabaseName,DPB);
174 >  Attachment := FirebirdAPI.CreateDatabase(ExtractDBName(Owner.GetNewDatabaseName),DPB);
175  
176    WriteAttachmentInfo(Attachment);
177  
# Line 137 | Line 183 | begin
183  
184    PrintDPB(DPB);
185    writeln(OutFile,'Creating a Database with a DPD');
186 <  Attachment := FirebirdAPI.CreateDatabase(Owner.GetNewDatabaseName,DPB);
186 >  Attachment := FirebirdAPI.CreateDatabase(ExtractDBName(Owner.GetNewDatabaseName),DPB);
187    if Attachment = nil then
188    begin
189      writeln(OutFile,'Create Database Failed');
# Line 158 | Line 204 | begin
204      FBLibrary := LoadFBLibrary(libpath);
205  
206      writeln(OutFile,'Creating a Database with a DPD using Firebird Library in ',libpath);
207 <    Attachment := FBLibrary.GetFirebirdAPI.CreateDatabase(Owner.GetNewDatabaseName,DPB);
207 >    Attachment := FBLibrary.GetFirebirdAPI.CreateDatabase(ExtractDBName(Owner.GetNewDatabaseName),DPB);
208      if Attachment = nil then
209      begin
210        writeln(OutFile,'Create Database Failed');

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines