[Commits] r719 - in core/trunk/geoext: lib/GeoExt/data tests/lib/GeoExt/data

commits at geoext.org commits at geoext.org
Wed May 13 15:56:19 CEST 2009


Author: elemoine
Date: 2009-05-13 15:56:19 +0200 (Wed, 13 May 2009)
New Revision: 719

Modified:
   core/trunk/geoext/lib/GeoExt/data/ScaleStore.js
   core/trunk/geoext/tests/lib/GeoExt/data/ScaleStore.html
Log:
ScaleStore does this.map.register instead of this.map.events.register, r=fredj (closes #62)


Modified: core/trunk/geoext/lib/GeoExt/data/ScaleStore.js
===================================================================
--- core/trunk/geoext/lib/GeoExt/data/ScaleStore.js	2009-05-13 11:50:49 UTC (rev 718)
+++ core/trunk/geoext/lib/GeoExt/data/ScaleStore.js	2009-05-13 13:56:19 UTC (rev 719)
@@ -59,7 +59,7 @@
         if (this.map.baseLayer) {
             this.populateFromMap();
         } else {
-            this.map.register('layeradded', this, this.populateOnAdd);
+            this.map.events.register('addlayer', this, this.populateOnAdd);
         }
     },
 
@@ -70,6 +70,7 @@
      */
     unbind: function() {
         if (this.map) {
+            this.map.events.unregister('addlayer', this, this.populateOnAdd);
             this.map.events.unregister('changebaselayer', this, this.populateFromMap);
             delete this.map;
         }
@@ -86,7 +87,7 @@
     populateOnAdd: function(evt) {
         if (evt.layer.isBaseLayer) {
             this.populateFromMap();
-            this.map.events.unregister('layeradded', this, this.populateOnAdd);
+            this.map.events.unregister('addlayer', this, this.populateOnAdd);
         }
     },
 

Modified: core/trunk/geoext/tests/lib/GeoExt/data/ScaleStore.html
===================================================================
--- core/trunk/geoext/tests/lib/GeoExt/data/ScaleStore.html	2009-05-13 11:50:49 UTC (rev 718)
+++ core/trunk/geoext/tests/lib/GeoExt/data/ScaleStore.html	2009-05-13 13:56:19 UTC (rev 719)
@@ -47,6 +47,45 @@
             t.ok(store.map == map, "ctor sets the passed map in the instance");
         }
 
+        function test_bind_unbind(t) {
+            t.plan(7);
+
+            var map, store;
+
+            map = new OpenLayers.Map({controls: []});
+            store = new GeoExt.data.ScaleStore({});
+
+            // map has no base layer
+            // 4 tests
+
+            store.bind(map);
+            t.ok(map.events.listeners["changebaselayer"][0]["func"] == store.populateFromMap,
+                 "bind registers a changebaselayer listener (map has no base layer)");
+            t.ok(map.events.listeners["addlayer"][0]["func"] == store.populateOnAdd,
+                 "bind registers a addlayer listener (map has no base layer)");
+
+            store.unbind();
+            t.eq(map.events.listeners["changebaselayer"][0], undefined,
+                 "unbind unregisters changebaselayer listener (map has no base layer)");
+            t.eq(map.events.listeners["addlayer"][0], undefined,
+                 "unbind unregisters addlayer listener (map has no base layer)");
+
+            // map has a base layer
+            // 3 tests
+
+            map.addLayer(new OpenLayers.Layer("name", {isBaseLayer: true}));
+
+            store.bind(map);
+            t.ok(map.events.listeners["changebaselayer"][0]["func"] == store.populateFromMap,
+                 "bind registers a changebaselayer listener (map has a base layer)");
+            t.eq(map.events.listeners["addlayer"][0], undefined,
+                 "bind does not register a addlayer listener (map has a base layer)");
+
+            store.unbind();
+            t.eq(map.events.listeners["changebaselayer"][0], undefined,
+                 "unbind unregisters changebaselayer listener (map has a base layer)");
+        }
+
         function test_scalestore(t) {
             t.plan(1);
 



More information about the Commits mailing list