]> dev.renevier.net Git - syp.git/blob - openlayers/tests/Filter/Logical.html
initial commit
[syp.git] / openlayers / tests / Filter / Logical.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.Logical(options); 
11         t.ok(filter instanceof OpenLayers.Filter.Logical, 
12              "new OpenLayers.Filter.Logical 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.Logical();
21         filter.destroy();
22         t.eq(filter.filters, null, "filters array nulled properly");
23     }
24     
25     function test_evaluate(t) {
26         t.plan(1);
27         
28         var filter = new OpenLayers.Filter.Logical({
29                 type: OpenLayers.Filter.Logical.NOT});
30         filter.filters.push(new OpenLayers.Filter());
31         
32         var feature = new OpenLayers.Feature.Vector();
33
34         t.eq(filter.evaluate(feature.attributes), false,
35                 "feature evaluates to false correctly.");
36     }
37
38     function test_clone(t) {
39         
40         t.plan(2);
41         
42         var filter = new OpenLayers.Filter.Logical({
43             type: OpenLayers.Filter.Logical.AND,
44             filters: [
45                 new OpenLayers.Filter.Comparison({
46                     type: OpenLayers.Filter.Comparison.EQUAL_TO,
47                     property: "prop1",
48                     value: "val1"
49                 }),
50                 new OpenLayers.Filter.Comparison({
51                     type: OpenLayers.Filter.Comparison.NOT_EQUAL_TO,
52                     property: "prop2",
53                     value: "val2"
54                 })
55             ]
56         });
57
58         var clone = filter.clone();
59         
60         // modify the original
61         filter.type = OpenLayers.Filter.Logical.OR;
62         filter.filters[0].value = "nada";
63         
64         t.eq(clone.type, OpenLayers.Filter.Logical.AND, "clone has proper type");
65         t.eq(clone.filters[0].value, "val1", "clone has cloned child filters");
66         
67         filter.destroy();
68
69     }
70     
71     </script> 
72 </head> 
73 <body> 
74 </body> 
75 </html>