From 0eadc40e27e548bff9bb0732e46a3d3e5d67a357 Mon Sep 17 00:00:00 2001 From: euzuro Date: Tue, 26 Aug 2008 17:17:19 +0000 Subject: [PATCH] Keep the 'loadstart' event from firing twice on the Layer.Text. r=elemoine, cr5 (Closes #1696) git-svn-id: http://svn.openlayers.org/trunk/openlayers@7865 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf --- lib/OpenLayers/Layer/Text.js | 1 - tests/Layer/Text.html | 55 ++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) diff --git a/lib/OpenLayers/Layer/Text.js b/lib/OpenLayers/Layer/Text.js index 1a308c23d8..1331c1adcf 100644 --- a/lib/OpenLayers/Layer/Text.js +++ b/lib/OpenLayers/Layer/Text.js @@ -132,7 +132,6 @@ OpenLayers.Layer.Text = OpenLayers.Class(OpenLayers.Layer.Markers, { moveTo:function(bounds, zoomChanged, minor) { OpenLayers.Layer.Markers.prototype.moveTo.apply(this, arguments); if(this.visibility && !this.loaded){ - this.events.triggerEvent("loadstart"); this.loadText(); } }, diff --git a/tests/Layer/Text.html b/tests/Layer/Text.html index bb584c79f8..a287ed1a59 100644 --- a/tests/Layer/Text.html +++ b/tests/Layer/Text.html @@ -58,6 +58,61 @@ */ });; } + + function test_Layer_Text_moveTo(t) { + t.plan(16); + + temp = OpenLayers.Layer.Markers.prototype.moveTo; + + g_Bounds = {}; + g_ZoomChanged = {}; + g_Minor = {}; + var args = [g_Bounds, g_ZoomChanged, g_Minor]; + + OpenLayers.Layer.Markers.prototype.moveTo = + function(bounds, zoomChanged, minor) { + t.ok(bounds == g_Bounds, "correct bounds passed to Markers superclass"); + t.ok(zoomChanged == g_ZoomChanged, "correct zoomChanged passed to Markers superclass"); + t.ok(minor == g_Minor, "correct minor passed to Markers superclass"); + } + + var layer = { + 'loadText': function() { g_TextLoaded = true; } + }; + + //visibility true, loaded true + layer.visibility = true; + layer.loaded = true; + g_TextLoaded = false; + OpenLayers.Layer.Text.prototype.moveTo.apply(layer, args); + t.ok(g_TextLoaded == false, "text not loaded when visibility true, loaded true"); + + //visibility true, loaded false + layer.visibility = true; + layer.loaded = false; + g_TextLoaded = false; + OpenLayers.Layer.Text.prototype.moveTo.apply(layer, args); + t.ok(g_TextLoaded == true, "text is loaded when visibility true, loaded false"); + + //visibility false, loaded true + layer.visibility = false; + layer.loaded = true; + g_TextLoaded = false; + OpenLayers.Layer.Text.prototype.moveTo.apply(layer, args); + t.ok(g_TextLoaded == false, "text not loaded when visibility false, loaded true"); + + //visibility false, loaded false + layer.visibility = false; + layer.loaded = false; + g_TextLoaded = false; + OpenLayers.Layer.Text.prototype.moveTo.apply(layer, args); + t.ok(g_TextLoaded == false, "text not loaded when visibility false, loaded false"); + + OpenLayers.Layer.Markers.prototype.moveTo = temp; + } + + + function test_Layer_Text_events (t) { t.plan( 5 ); layer = new OpenLayers.Layer.Text('Test Layer', { location: datafile2 });