In practice, this allOverlays example displays the terms of service element. In this test, it appears that the google script is hiding it again after we make it visible - perhaps because it is not actually displayed. And this is not always consistent. I can get this test to pass by making the timeout shorter. In any case, a simpler test is to confirm that repositionMapElements is getting called (see #2493).
git-svn-id: http://svn.openlayers.org/trunk/openlayers@10477 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -175,13 +175,13 @@
|
||||
|
||||
function test_Layer_Google_setGMapVisibility(t) {
|
||||
t.plan(4);
|
||||
|
||||
|
||||
var map = new OpenLayers.Map('map');
|
||||
var gmap = new OpenLayers.Layer.Google("Google Streets");
|
||||
var dummy = new OpenLayers.Layer("Dummy", {isBaseLayer: true});
|
||||
map.addLayers([dummy, gmap]);
|
||||
map.zoomToMaxExtent();
|
||||
|
||||
|
||||
// In v3, the terms of use and powered by elements are not available
|
||||
// until the layer loads. This can occur before the layer is visible,
|
||||
// but we don't try to access these elements until after the layer is
|
||||
@@ -200,7 +200,7 @@
|
||||
}
|
||||
|
||||
function test_Layer_Google_setGMapVisibility_allOverlays(t) {
|
||||
t.plan(4);
|
||||
t.plan(3);
|
||||
|
||||
var map = new OpenLayers.Map('map', {allOverlays: true});
|
||||
var gmap = new OpenLayers.Layer.Google("Google Streets", {visibility: false});
|
||||
@@ -216,11 +216,15 @@
|
||||
t.ok(!cache.termsOfUse, "termsOfUse is not yet cached");
|
||||
t.ok(!cache.poweredBy, "poweredBy is not yet cached");
|
||||
|
||||
gmap.setVisibility(true);
|
||||
t.delay_call(4, function() {
|
||||
var cache = OpenLayers.Layer.Google.cache[map.id];
|
||||
t.eq(cache.termsOfUse.style.display, "", "termsOfUse is visible");
|
||||
t.eq(cache.poweredBy.style.display, "", "poweredBy is visible");
|
||||
var called = 0;
|
||||
var original = gmap.repositionMapElements;
|
||||
gmap.repositionMapElements = function() {
|
||||
++called;
|
||||
original.apply(gmap, arguments);
|
||||
}
|
||||
gmap.setVisibility(true);
|
||||
t.delay_call(2, function() {
|
||||
t.ok(called > 1, "repositionMapElements called");
|
||||
map.destroy();
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user