[geos-commits] r2810 - trunk/tests/unit/capi

svn_geos at osgeo.org svn_geos at osgeo.org
Tue Dec 8 12:40:03 EST 2009


Author: strk
Date: 2009-12-08 12:39:59 -0500 (Tue, 08 Dec 2009)
New Revision: 2810

Modified:
   trunk/tests/unit/capi/GEOSPreparedGeometryTest.cpp
Log:
Add test with Prepared linestrings, for the sake of testing the leak reported in ticket #305


Modified: trunk/tests/unit/capi/GEOSPreparedGeometryTest.cpp
===================================================================
--- trunk/tests/unit/capi/GEOSPreparedGeometryTest.cpp	2009-12-06 01:05:24 UTC (rev 2809)
+++ trunk/tests/unit/capi/GEOSPreparedGeometryTest.cpp	2009-12-08 17:39:59 UTC (rev 2810)
@@ -78,10 +78,6 @@
             geom1_ = GEOSGeomFromWKT("POLYGON EMPTY");
         prepGeom1_ = GEOSPrepare(geom1_);
 
-        // ownership NOT transferred to prepGeom1, despite
-        // docs say so
-        //geom1_ = 0;
-
         ensure(0 != prepGeom1_);
 
     }
@@ -98,10 +94,6 @@
     geom2_ = GEOSGeomFromWKT("POLYGON((2 2, 2 3, 3 3, 3 2, 2 2))");
     prepGeom1_ = GEOSPrepare(geom1_);
 
-    // ownership NOT transferred to prepGeom1, despite
-    // docs say so
-    //geom1_ = 0;
-
     ensure(0 != prepGeom1_);
 
     int ret = GEOSPreparedContainsProperly(prepGeom1_, geom2_);
@@ -121,10 +113,6 @@
     geom2_ = GEOSGeomFromWKT("POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))");
     prepGeom1_ = GEOSPrepare(geom1_);
 
-    // ownership NOT transferred to prepGeom1, despite
-    // docs say so
-    //geom1_ = 0;
-
     ensure(0 != prepGeom1_);
 
     int ret = GEOSPreparedContainsProperly(prepGeom1_, geom2_);
@@ -132,6 +120,25 @@
 
     }
 
+    // Test PreparedIntersects
+    // Also used as a linestring leakage reported
+    // by http://trac.osgeo.org/geos/ticket/305
+    // 
+    template<>
+    template<>
+    void object::test<4>()
+    {
+    geom1_ = GEOSGeomFromWKT("LINESTRING(0 0, 10 10)");
+    geom2_ = GEOSGeomFromWKT("LINESTRING(0 10, 10 0)");
+    prepGeom1_ = GEOSPrepare(geom1_);
+
+    ensure(0 != prepGeom1_);
+
+    int ret = GEOSPreparedIntersects(prepGeom1_, geom2_);
+    ensure_equals(ret, 1);
+
+    }
+
     // TODO: add lots of more tests
     
 } // namespace tut



More information about the geos-commits mailing list