Files
openlayers/tests/test_Layer_EventPane.html
crschmidt 760e1ca014 Commit changes for tests to pass in IE.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@1449 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2006-09-14 16:28:24 +00:00

100 lines
3.4 KiB
HTML

<html>
<head>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript"><!--
var isMozilla = (navigator.userAgent.indexOf("compatible") == -1);
var layer;
function test_01_Layer_EventPane_constructor (t) {
t.plan( 5 );
var layer = new OpenLayers.Layer.EventPane('Test Layer');
t.ok( layer instanceof OpenLayers.Layer.EventPane, "new OpenLayers.Layer.EventPane returns object" );
t.eq( layer.CLASS_NAME, "OpenLayers.Layer.EventPane", "CLASS_NAME variable set correctly");
t.eq( layer.name, "Test Layer", "layer.name is correct" );
t.eq( layer.isBaseLayer, true, "EventPane layer is always base layer" );
if (!isMozilla) {
t.ok( true, "skipping element test outside of Mozilla");
} else {
t.ok( layer.pane instanceof HTMLDivElement, "layer.pane is an HTMLDivElement" );
}
}
function test_02_Layer_EventPane_clone (t) {
t.plan( 1 );
t.ok( true, "need to actually write some tests here" );
return;
/// FIX ME FIX ME: fix this later
var map = new OpenLayers.Map('map');
var options = { chicken: 151, foo: "bar" };
var layer = new OpenLayers.Layer('Test Layer', options);
map.addLayer(layer);
// randomly assigned property
layer.chocolate = 5;
var clone = layer.clone();
t.ok( clone instanceof OpenLayers.Layer, "new OpenLayers.Layer returns object" );
t.eq( clone.name, "Test Layer", "default clone.name is correct" );
t.ok( ((clone.options["chicken"] == 151) && (clone.options["foo"] == "bar")), "clone.options correctly set" );
t.eq(clone.chocolate, 5, "correctly copied randomly assigned property");
layer.addOptions({chicken:152});
t.eq(clone.options["chicken"], 151, "made a clean copy of options");
t.ok( clone.map == null, "cloned layer has map property set to null")
}
function test_10_Layer_EventPane_setMap (t) {
// MOUSEMOVE test does not seem to work...
// t.plan( 2 );
if (document.createEventObject) {
t.plan(2);
} else {
t.plan(1);
}
var map = new OpenLayers.Map('map');
layer = new OpenLayers.Layer.EventPane('Test Layer');
map.addLayer(layer);
t.eq( parseInt(layer.pane.style.zIndex) - parseInt(layer.div.style.zIndex),
1, "layer pane is 1 z-level above its div" );
map.events.register("mousemove", map, function () {
t.ok(true, "got mouse move");
});
if( document.createEvent ) { // Mozilla
var evObj = document.createEvent('MouseEvents');
evObj.initEvent( 'mousemove', true, false );
layer.pane.dispatchEvent(evObj);
} else if( document.createEventObject ) { // IE
layer.pane.fireEvent('onmousemove');
}
}
function test_20_Layer_EventPane_setVisibility (t) {
t.plan( 2 );
layer = new OpenLayers.Layer.EventPane('Test Layer');
layer.setVisibility(false);
t.eq(layer.pane.style.display, "none", "layer pane is now invisible");
layer.setVisibility(true);
t.eq(layer.pane.style.display, "block", "layer pane is now visible");
}
// -->
</script>
</head>
<body>
<div id="map"></div>
</body>
</html>