Project

General

Profile

1
<html>
2
<head>
3
  <script src="../lib/OpenLayers.js"></script>
4
  <script type="text/javascript"><!--
5
    var isMozilla = (navigator.userAgent.indexOf("compatible") == -1);
6
    var layer; 
7

    
8
    function test_01_Layer_EventPane_constructor (t) {
9
        t.plan( 5 );
10
        
11
        var layer = new OpenLayers.Layer.EventPane('Test Layer');
12
        
13
        t.ok( layer instanceof OpenLayers.Layer.EventPane, "new OpenLayers.Layer.EventPane returns object" );
14
        t.eq( layer.CLASS_NAME, "OpenLayers.Layer.EventPane", "CLASS_NAME variable set correctly");
15
        t.eq( layer.name, "Test Layer", "layer.name is correct" );
16
        t.eq( layer.isBaseLayer, true, "EventPane layer is always base layer" );
17
        if (!isMozilla) {
18
            t.ok( true, "skipping element test outside of Mozilla");
19
        } else {
20
            t.ok( layer.pane instanceof HTMLDivElement, "layer.pane is an HTMLDivElement" );
21
        }
22
    }
23

    
24
    function test_02_Layer_EventPane_clone (t) {
25
        t.plan( 1 );
26
        t.ok( true, "need to actually write some tests here" );
27
        return;
28
        
29
        /// FIX ME FIX ME: fix this later
30

    
31
        var map = new OpenLayers.Map('map'); 
32
        var options = { chicken: 151, foo: "bar" };
33
        var layer = new OpenLayers.Layer('Test Layer', options);
34
        map.addLayer(layer);
35

    
36
        // randomly assigned property
37
        layer.chocolate = 5;
38

    
39
        var clone = layer.clone();
40

    
41
        t.ok( clone instanceof OpenLayers.Layer, "new OpenLayers.Layer returns object" );
42
        t.eq( clone.name, "Test Layer", "default clone.name is correct" );
43
        t.ok( ((clone.options["chicken"] == 151) && (clone.options["foo"] == "bar")), "clone.options correctly set" );
44
        t.eq(clone.chocolate, 5, "correctly copied randomly assigned property");
45

    
46
        layer.addOptions({chicken:152});
47
        t.eq(clone.options["chicken"], 151, "made a clean copy of options");        
48

    
49
        
50
        t.ok( clone.map == null, "cloned layer has map property set to null")
51
        
52
    }
53

    
54
    function test_10_Layer_EventPane_setMap (t) {
55

    
56
// MOUSEMOVE test does not seem to work... 
57
//         t.plan( 2 );    
58

    
59
        if (document.createEventObject) {
60
          t.plan(3);
61
        } else {
62
          t.plan(1);
63
        }
64
        var map = new OpenLayers.Map('map');
65
        
66
        layer = new OpenLayers.Layer.EventPane('Test Layer');
67

    
68
        map.addLayer(layer);
69
        t.eq( parseInt(layer.pane.style.zIndex) - parseInt(layer.div.style.zIndex),
70
            1, "layer pane is 1 z-level above its div" );
71

    
72
        map.events.register("mousemove", map, function () {
73
            t.ok(true, "got mouse move");
74
        });
75
        
76
        if( document.createEvent ) { // Mozilla
77
          var evObj = document.createEvent('MouseEvents');
78
          evObj.initEvent( 'mousemove', true, false );
79
          layer.pane.dispatchEvent(evObj);
80
        } else if( document.createEventObject ) { // IE
81
          layer.pane.fireEvent('onmousemove');
82
        }
83
    }
84

    
85
    function test_20_Layer_EventPane_setVisibility (t) {
86
        t.plan( 2 );    
87
        layer = new OpenLayers.Layer.EventPane('Test Layer');
88
        layer.setVisibility(false);
89
        t.eq(layer.pane.style.display, "none", "layer pane is now invisible");
90
        layer.setVisibility(true);
91
        t.eq(layer.pane.style.display, "block", "layer pane is now visible");
92
    }
93
  // -->
94
  </script>
95
</head>
96
<body>
97
  <div id="map"></div>
98
</body>
99
</html>
(17-17/35)