]> dev.renevier.net Git - syp.git/blob - openlayers/tests/Filter/FeatureId.html
initial commit
[syp.git] / openlayers / tests / Filter / FeatureId.html
1 <html> 
2 <head> 
3     <script src="../../lib/OpenLayers.js"></script> 
4     <script type="text/javascript">
5
6     function test_initialize(t) { 
7         t.plan(3); 
8          
9         var options = {'foo': 'bar'}; 
10         var filter = new OpenLayers.Filter.FeatureId(options); 
11         t.ok(filter instanceof OpenLayers.Filter.FeatureId, 
12              "new OpenLayers.Filter.FeatureId returns object" ); 
13         t.eq(filter.foo, "bar", "constructor sets options correctly"); 
14         t.eq(typeof filter.evaluate, "function", "filter has an evaluate function"); 
15     }
16
17     function test_destroy(t) {
18         t.plan(1);
19         
20         var filter = new OpenLayers.Filter.FeatureId();
21         filter.destroy();
22         t.eq(filter.symbolizer, null, "symbolizer hash nulled properly");
23     }
24     
25     function test_evaluate(t) {
26         t.plan(3);
27         
28         var filter = new OpenLayers.Filter.FeatureId(
29                 {fids: ["fid_1", "fid_3"]});
30
31         var filterResults = {
32                 "fid_1" : true,
33                 "fid_2" : false,
34                 "fid_3" : true};
35         for (var i in filterResults) {
36             var feature = new OpenLayers.Feature.Vector();
37             feature.fid = i;
38             var result = filter.evaluate(feature);
39             t.eq(result, filterResults[i], "feature "+i+" evaluates to "+result.toString()+" correctly.");
40             feature.destroy();
41         }
42     }
43
44     function test_clone(t) {
45         
46         t.plan(1);
47         
48         var filter = new OpenLayers.Filter.FeatureId({
49             fids: [1, 2, 3]
50         });
51         
52         var clone = filter.clone();
53         
54         // modify the original
55         filter.fids.push(4);
56         
57         t.eq(clone.fids.length, 3, "clone has proper fids length");
58         
59         filter.destroy();
60
61     }
62
63     </script> 
64 </head> 
65 <body> 
66 </body> 
67 </html>