4
<link rel="stylesheet" type="text/css" href="../../../ext/resources/css/ext-all.css" />
6
<script type="text/javascript" src="../../../../openlayers/lib/Firebug/firebug.js"></script>
7
<script type="text/javascript" src="../../../../openlayers/lib/OpenLayers.js"></script>
9
<script type="text/javascript" src="../../../../ext/adapter/ext/ext-base.js"></script>
10
<script type="text/javascript" src="../../../../ext/ext-all-debug.js"></script>
12
<script type="text/javascript">
13
// Because of a bug in Firefox 2 we need to specify the MapFish base path.
14
// See https://bugzilla.mozilla.org/show_bug.cgi?id=351282
15
var gMfLocation = "../../../../mapfish/";
17
<script type="text/javascript" src="../../../../mapfish/MapFish.js"></script>
19
<script type="text/javascript"><!--
20
function test_MergeFilterDecorator_initialize(t) {
27
decorator = new mapfish.Protocol.MergeFilterDecorator({
28
protocol: new OpenLayers.Protocol()
32
t.eq(decorator.searchers, [],
33
"initialize correctly sets searchers property");
35
function test_MergeFilterDecorator_register(t) {
40
var decorator, searcher;
42
decorator = new mapfish.Protocol.MergeFilterDecorator({
43
protocol: new OpenLayers.Protocol()
47
searcher = new mapfish.Searcher({
50
decorator.register(searcher);
51
t.eq(decorator.searchers.length, 1,
52
"register registers one searcher");
53
t.ok(decorator.searchers[0] == searcher,
54
"register registers expected searcher");
56
function test_MergeFilterDecorator_toFilter(t) {
61
var decorator, filter0, filter1, obj;
63
decorator = new mapfish.Protocol.MergeFilterDecorator({
64
protocol: new OpenLayers.Protocol()
68
filter0 = decorator.toFilter();
69
t.eq(filter0, undefined,
70
"toFilter returns undefined if it is not passed args");
73
obj = {a: "a", b: "b"};
74
filter0 = decorator.toFilter(obj);
75
t.eq(filter0.CLASS_NAME, "OpenLayers.Filter.Logical",
76
"toFilter returns a logical filter");
77
t.eq(filter0.filters.length, 1,
78
"toFilter returns a logical filter with expected " +
80
t.eq(filter0.filters[0].CLASS_NAME, "OpenLayers.Filter.Logical",
81
"toFilter returns a logical filter whose first filter " +
82
"is a logical filter");
83
t.eq(filter0.filters[0].filters[0].CLASS_NAME,
84
"OpenLayers.Filter.Comparison",
85
"toFilter returns a logical filter whose first filter " +
86
"includes a comparison filter");
87
t.eq(filter0.filters[0].filters[1].CLASS_NAME,
88
"OpenLayers.Filter.Comparison",
89
"toFilter returns a logical filter whose first filter " +
90
"includes a comparison filter");
93
obj = new OpenLayers.Filter();
94
filter0 = decorator.toFilter(obj);
95
t.eq(filter0.CLASS_NAME, "OpenLayers.Filter.Logical",
96
"toFilter returns a logical filter");
97
t.eq(filter0.filters.length, 1,
98
"toFilter returns a logical filter with expected " +
100
t.ok(filter0.filters[0] == obj,
101
"toFilter returns a logical filter whose first filter " +
102
"is the expected one");
105
filter0 = new OpenLayers.Filter.Logical(
106
{type: OpenLayers.Filter.Logical.AND});
107
obj = new OpenLayers.Filter();
108
filter1 = decorator.toFilter(obj, filter0);
109
t.ok(filter1 == filter0,
110
"toFilter returns expected filter");
111
t.eq(filter1.filters.length, 1,
112
"toFilter returns a logical filter with expected " +
113
"number of filters");
114
t.ok(filter1.filters[0] == obj,
115
"toFilter returns a logical filter whose first filter " +
116
"is the expected one");
119
filter0 = new OpenLayers.Filter();
120
obj = new OpenLayers.Filter();
121
filter1 = decorator.toFilter(obj, filter0);
122
t.eq(filter1.CLASS_NAME, "OpenLayers.Filter.Logical",
123
"toFilter returns a logical filter");
124
t.eq(filter1.filters.length, 2,
125
"toFilter returns a logical filter with expected " +
126
"number of filters");
127
t.ok(filter1.filters[0] == filter0 && filter1.filters[1] == obj,
128
"toFilter returns a logical filter whose filters " +
129
"are the expected ones");
131
function test_MergeFilterDecorator_fromObjToFilter(t) {
136
var decorator, filter, obj;
138
decorator = new mapfish.Protocol.MergeFilterDecorator({
139
protocol: new OpenLayers.Protocol()
142
obj = {a: "a", b: "b"};
145
filter = decorator.fromObjToFilter(obj);
146
t.eq(filter.CLASS_NAME, "OpenLayers.Filter.Logical",
147
"fromObjToFilter returns a logical filter");
148
t.eq(filter.filters.length, 2,
149
"fromObjToFilter returns a filter with expected " +
150
"number of filters");
151
t.eq(filter.filters[0].CLASS_NAME, "OpenLayers.Filter.Comparison",
152
"fromObjToFilter returns a filter whose first filter " +
153
"is a comparison filter");
154
t.eq(filter.filters[1].CLASS_NAME, "OpenLayers.Filter.Comparison",
155
"fromObjToFilter returns a filter whose second filter " +
156
"is a comparison filter");
158
function test_MergeFilterDecorator_isLogicalFilter(t) {
163
var decorator, obj, bool;
165
decorator = new mapfish.Protocol.MergeFilterDecorator({
166
protocol: new OpenLayers.Protocol()
170
obj = {fake: "object"};
171
bool = decorator.isLogicalFilter(obj);
173
"isLogicalFilter returns expected value");
176
obj = new OpenLayers.Filter();
177
bool = decorator.isLogicalFilter(obj);
179
"isLogicalFilter returns expected value");
182
obj = new OpenLayers.Filter.Spatial();
183
bool = decorator.isLogicalFilter(obj);
185
"isLogicalFilter returns expected value");
188
obj = new OpenLayers.Filter.Logical();
189
bool = decorator.isLogicalFilter(obj);
191
"isLogicalFilter returns expected value");
193
function test_MergeFilterDecorator_isFilter(t) {
198
var decorator, obj, bool;
200
decorator = new mapfish.Protocol.MergeFilterDecorator({
201
protocol: new OpenLayers.Protocol()
205
obj = {fake: "object"};
206
bool = decorator.isFilter(obj);
208
"isFilter returns expected value");
211
obj = new OpenLayers.Filter();
212
bool = decorator.isFilter(obj);
214
"isFilter returns expected value");
217
obj = new OpenLayers.Filter.Spatial();
218
bool = decorator.isFilter(obj);
220
"isFilter returns expected value");