OpenLayers OpenLayers

root/branches/openlayers/2.5/tests/Tile/test_WFS.html

Revision 4227, 2.4 kB (checked in by euzuro, 1 year ago)

Temporary fix for WFS race condition where a tile is destroy()ed but an associated httprequest has not yet returned. Great report, Pierre G. (Closes #820)

Line 
1 <html>
2 <head>
3   <script src="../../lib/OpenLayers.js"></script>
4   <script type="text/javascript">
5     var tile;
6    
7     function test_01_Tile_WFS_constructor (t) {
8         t.plan( 8 );
9      
10         var layer = {}; // bogus layer
11         var position = new OpenLayers.Pixel(10,20);
12         var bounds = new OpenLayers.Bounds(1,2,3,4);
13         var url = "bobob";
14         var size = new OpenLayers.Size(5,6);
15        
16         tile = new OpenLayers.Tile.WFS(layer, position, bounds, url, size);
17
18         t.ok( tile instanceof OpenLayers.Tile.WFS, "new OpenLayers.Tile.WFS returns Tile.WFS object" );
19         t.eq( tile.layer, layer, "tile.layer set correctly");
20         t.ok( tile.position.equals(position), "tile.position set correctly");
21         t.ok( tile.bounds.equals(bounds), "tile.bounds set correctly");
22         t.eq( tile.url, url, "tile.url set correctly");       
23         t.ok( tile.size.equals(size), "tile.size is set correctly" );
24
25         t.ok( tile.id != null, "tile is given an id");
26         t.ok( tile.events != null, "tile's events intitialized");
27     }
28
29     function test_Tile_WFS_requestSuccess(t) {
30         t.plan(1);
31         var layer = {}; // bogus layer
32         var position = new OpenLayers.Pixel(10,20);
33         var bounds = new OpenLayers.Bounds(1,2,3,4);
34         var url = "bobob";
35         var size = new OpenLayers.Size(5,6);
36        
37         tile = new OpenLayers.Tile.WFS(layer, position, bounds, url, size);
38         tile.destroy();
39         tile.requestSuccess({'requestText': '<xml><foo /></xml>'});
40         t.ok(true, "Didn't fail after calling requestSuccess on destroyed tile.");
41        
42     }
43    
44     function test_99_Tile_WFS_destroy(t) {
45         t.plan( 6 );
46
47         var layer = {}; // bogus layer
48         var position = new OpenLayers.Pixel(10,20);
49         var bounds = new OpenLayers.Bounds(1,2,3,4);
50         var url = "bobob";
51         var size = new OpenLayers.Size(5,6);
52        
53         tile = new OpenLayers.Tile.WFS(layer, position, bounds, url, size);
54         tile.events.destroy = function() {
55             t.ok(true, "tile events destroy() called");
56         };
57
58  
59         tile.destroy();
60
61         t.ok(tile.layer == null, "tile.layer set to null");
62         t.ok(tile.bounds == null, "tile.bounds set to null");
63         t.ok(tile.size == null, "tile.size set to null");
64         t.ok(tile.position == null, "tile.position set to null");
65        
66         t.ok(tile.events == null, "tile.events set to null");
67     }
68
69   </script>
70 </head>
71 <body>
72 </body>
73 </html>
Note: See TracBrowser for help on using the browser.