summaryrefslogtreecommitdiff
path: root/misc/openlayers/tests/Control/ZoomToMaxExtent.html
blob: 8ed5512b068426b799942961a77df26dd55e234d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<!DOCTYPE html>
<html>
    <head>
        <script src="../OLLoader.js"></script>
        <script type="text/javascript">
        
function test_ZoomToMaxExtent_constructor (t) {
    t.plan( 2 );
    
    // setup
    var control = new OpenLayers.Control.ZoomToMaxExtent();
    
    // tests
    //
    t.ok( 
        control instanceof OpenLayers.Control.ZoomToMaxExtent, 
        "new OpenLayers.Control.ZoomToMaxExtent returns object"
    );
    t.eq( 
        control.displayClass, "olControlZoomToMaxExtent", 
        "displayClass is correct"
    );
    
    // tear down
    control.destroy();
}

function test_ZoomToMaxExtent_type (t) {
    t.plan( 1 );
    
    // setup
    var control = new OpenLayers.Control.ZoomToMaxExtent();
    
    // check that the type of the control equals OpenLayers.Control.TYPE_BUTTON
    t.eq(
        control.type,
        OpenLayers.Control.TYPE_BUTTON,
        'ZoomToMaxExtent-control is of type "OpenLayers.Control.TYPE_BUTTON".'
    );
    
    // tear down
    control.destroy();
}

function test_ZoomToMaxExtent_trigger (t) {
    t.plan( 2 );
    
    // set up
    var mapsMaxExtent = new OpenLayers.Bounds(0, 0, 45, 45),
        mapsInitialExtent = new OpenLayers.Bounds(5, 5, 7, 7),
        control = new OpenLayers.Control.ZoomToMaxExtent(),
        map = new OpenLayers.Map("map", {
            maxExtent: mapsMaxExtent,
            allOverlays: true,
            fractionalZoom: true,
            layers: [
                new OpenLayers.Layer.Vector()
            ]
        }),
        oldExtent;
    
    map.zoomToExtent(mapsInitialExtent);
    
    oldExtent = map.getExtent().toString();
    
    // tests
    //
    // trigger the control before it is being added,
    // nothing should change
    control.trigger();
    t.eq(
        oldExtent, 
        map.getExtent().toString(),
        'Calling trigger on a non added control doesn\'t do anything ' +
            '(map extent is "' + oldExtent + '").'
    );
            
    // now lets add the control
    map. addControl(control);
    
    // trigger it again, now the map should have a different extent
    control.trigger();
    
    t.eq(
        map.getExtent().toString(),
        mapsMaxExtent.toString(),
        'Calling trigger on a added control changes the map extent ' +
            '(map extent was "' + oldExtent + '"' + 
            ' and is now "' + mapsMaxExtent.toString() + '").'
    );
    
    // tear down
    control.destroy();
    map.destroy();
}
    
        </script>
    </head>
    <body>
        <div id="map" style="width: 1000px; height: 1000px;"></div>
    </body>
</html>