Browse Source

* Fixed mem-leaks in tests

git-svn-id: trunk@15392 -
joost 15 years ago
parent
commit
48567240d0
1 changed files with 52 additions and 44 deletions
  1. 52 44
      packages/fcl-db/tests/testdbbasics.pas

+ 52 - 44
packages/fcl-db/tests/testdbbasics.pas

@@ -224,38 +224,43 @@ var i,count      : integer;
 begin
   aDatasource := TDataSource.Create(nil);
   aDatalink := TTestDataLink.Create;
-  aDatalink.DataSource := aDatasource;
-  ABufferCount := 11;
-  aDatalink.BufferCount := ABufferCount;
-  DataEvents := '';
-  for count := 0 to 32 do
-    begin
-    aDatasource.DataSet := DBConnector.GetNDataset(count);
-    with aDatasource.Dataset do
+  try
+    aDatalink.DataSource := aDatasource;
+    ABufferCount := 11;
+    aDatalink.BufferCount := ABufferCount;
+    DataEvents := '';
+    for count := 0 to 32 do
       begin
-      i := 1;
-      Open;
-      AssertEquals('deUpdateState:0;',DataEvents);
-      DataEvents := '';
-      while not EOF do
+      aDatasource.DataSet := DBConnector.GetNDataset(count);
+      with aDatasource.Dataset do
         begin
-        AssertEquals(i,fields[0].AsInteger);
-        AssertEquals('TestName'+inttostr(i),fields[1].AsString);
-        inc(i);
-
-        Next;
-        if (i > ABufferCount) and not EOF then
-          AssertEquals('deCheckBrowseMode:0;deDataSetScroll:-1;DataSetScrolled:1;',DataEvents)
-        else
-          AssertEquals('deCheckBrowseMode:0;deDataSetScroll:0;DataSetScrolled:0;',DataEvents);
+        i := 1;
+        Open;
+        AssertEquals('deUpdateState:0;',DataEvents);
+        DataEvents := '';
+        while not EOF do
+          begin
+          AssertEquals(i,fields[0].AsInteger);
+          AssertEquals('TestName'+inttostr(i),fields[1].AsString);
+          inc(i);
+
+          Next;
+          if (i > ABufferCount) and not EOF then
+            AssertEquals('deCheckBrowseMode:0;deDataSetScroll:-1;DataSetScrolled:1;',DataEvents)
+          else
+            AssertEquals('deCheckBrowseMode:0;deDataSetScroll:0;DataSetScrolled:0;',DataEvents);
+          DataEvents := '';
+          end;
+        AssertEquals(count,i-1);
+        close;
+        AssertEquals('deUpdateState:0;',DataEvents);
         DataEvents := '';
         end;
-      AssertEquals(count,i-1);
-      close;
-      AssertEquals('deUpdateState:0;',DataEvents);
-      DataEvents := '';
       end;
-    end;
+  finally
+    aDatalink.Free;
+    aDatasource.Free;
+  end;
 end;
 
 procedure TTestDBBasics.TestdeFieldListChange;
@@ -318,23 +323,26 @@ var i,count     : integer;
 begin
   aDatasource := TDataSource.Create(nil);
   aDatalink := TTestDataLink.Create;
-  aDatalink.DataSource := aDatasource;
-  ds := DBConnector.GetNDataset(6);
-  ds.BeforeScroll := DBConnector.DataEvent;
-  with ds do
-    begin
-    aDatasource.DataSet := ds;
-    open;
-    DataEvents := '';
-    Resync([rmExact]);
-    AssertEquals('deDataSetChange:0;',DataEvents);
-    DataEvents := '';
-    next;
-    AssertEquals('deCheckBrowseMode:0;DataEvent;deDataSetScroll:0;DataSetScrolled:1;',DataEvents);
-    close;
-    end;
-  aDatasource.Free;
-  aDatalink.Free;
+  try
+    aDatalink.DataSource := aDatasource;
+    ds := DBConnector.GetNDataset(6);
+    ds.BeforeScroll := DBConnector.DataEvent;
+    with ds do
+      begin
+      aDatasource.DataSet := ds;
+      open;
+      DataEvents := '';
+      Resync([rmExact]);
+      AssertEquals('deDataSetChange:0;',DataEvents);
+      DataEvents := '';
+      next;
+      AssertEquals('deCheckBrowseMode:0;DataEvent;deDataSetScroll:0;DataSetScrolled:1;',DataEvents);
+      close;
+      end;
+  finally
+    aDatasource.Free;
+    aDatalink.Free;
+  end;
 end;
 
 procedure TTestDBBasics.TestLastAppendCancel;