| 228 | | <!DOCTYPE html> |
|---|
| 229 | | <html debug="true"> |
|---|
| 230 | | <head> |
|---|
| 231 | | <link rel="stylesheet" type="text/css" href="../../../ext/resources/css/ext-all.css" /> |
|---|
| 232 | | |
|---|
| 233 | | <script type="text/javascript" src="../../../../openlayers/lib/Firebug/firebug.js"></script> |
|---|
| 234 | | <script type="text/javascript" src="../../../../openlayers/lib/OpenLayers.js"></script> |
|---|
| 235 | | |
|---|
| 236 | | <script type="text/javascript" src="../../../../ext/adapter/ext/ext-base.js"></script> |
|---|
| 237 | | <script type="text/javascript" src="../../../../ext/ext-all-debug.js"></script> |
|---|
| 238 | | |
|---|
| 239 | | <script type="text/javascript"> |
|---|
| 240 | | // Because of a bug in Firefox 2 we need to specify the MapFish base path. |
|---|
| 241 | | // See https://bugzilla.mozilla.org/show_bug.cgi?id=351282 |
|---|
| 242 | | var gMfLocation = "../../../../mapfish/"; |
|---|
| 243 | | </script> |
|---|
| 244 | | <script type="text/javascript" src="../../../../mapfish/MapFish.js"></script> |
|---|
| 245 | | |
|---|
| 246 | | <script type="text/javascript"><!-- |
|---|
| 247 | | function test_MergeFilterDecorator_initialize(t) { |
|---|
| 248 | | t.plan(1); |
|---|
| 249 | | |
|---|
| 250 | | // setup |
|---|
| 251 | | |
|---|
| 252 | | var decorator; |
|---|
| 253 | | |
|---|
| 254 | | decorator = new mapfish.Protocol.MergeFilterDecorator({ |
|---|
| 255 | | protocol: new OpenLayers.Protocol() |
|---|
| 256 | | }); |
|---|
| 257 | | |
|---|
| 258 | | // 1 test |
|---|
| 259 | | t.eq(decorator.searchers, [], |
|---|
| 260 | | "initialize correctly sets searchers property"); |
|---|
| 261 | | } |
|---|
| 262 | | function test_MergeFilterDecorator_register(t) { |
|---|
| 263 | | t.plan(2); |
|---|
| 264 | | |
|---|
| 265 | | // setup |
|---|
| 266 | | |
|---|
| 267 | | var decorator, searcher; |
|---|
| 268 | | |
|---|
| 269 | | decorator = new mapfish.Protocol.MergeFilterDecorator({ |
|---|
| 270 | | protocol: new OpenLayers.Protocol() |
|---|
| 271 | | }); |
|---|
| 272 | | |
|---|
| 273 | | // 2 tests |
|---|
| 274 | | searcher = new mapfish.Searcher({ |
|---|
| 275 | | protocol: decorator |
|---|
| 276 | | }); |
|---|
| 277 | | decorator.register(searcher); |
|---|
| 278 | | t.eq(decorator.searchers.length, 1, |
|---|
| 279 | | "register registers one searcher"); |
|---|
| 280 | | t.ok(decorator.searchers[0] == searcher, |
|---|
| 281 | | "register registers expected searcher"); |
|---|
| 282 | | } |
|---|
| 283 | | function test_MergeFilterDecorator_toFilter(t) { |
|---|
| 284 | | t.plan(14); |
|---|
| 285 | | |
|---|
| 286 | | // setup |
|---|
| 287 | | |
|---|
| 288 | | var decorator, filter0, filter1, obj; |
|---|
| 289 | | |
|---|
| 290 | | decorator = new mapfish.Protocol.MergeFilterDecorator({ |
|---|
| 291 | | protocol: new OpenLayers.Protocol() |
|---|
| 292 | | }); |
|---|
| 293 | | |
|---|
| 294 | | // 1 test |
|---|
| 295 | | filter0 = decorator.toFilter(); |
|---|
| 296 | | t.eq(filter0, undefined, |
|---|
| 297 | | "toFilter returns undefined if it is not passed args"); |
|---|
| 298 | | |
|---|
| 299 | | // 4 tests |
|---|
| 300 | | obj = {a: "a", b: "b"}; |
|---|
| 301 | | filter0 = decorator.toFilter(obj); |
|---|
| 302 | | t.eq(filter0.CLASS_NAME, "OpenLayers.Filter.Logical", |
|---|
| 303 | | "toFilter returns a logical filter"); |
|---|
| 304 | | t.eq(filter0.filters.length, 2, |
|---|
| 305 | | "toFilter returns a logical filter with expected " + |
|---|
| 306 | | "number of filters"); |
|---|
| 307 | | t.eq(filter0.filters[0].CLASS_NAME, "OpenLayers.Filter.Comparison", |
|---|
| 308 | | "toFilter returns a logical filter whose first filter " + |
|---|
| 309 | | "is a comparison filter"); |
|---|
| 310 | | t.eq(filter0.filters[1].CLASS_NAME, "OpenLayers.Filter.Comparison", |
|---|
| 311 | | "toFilter returns a logical filter whose second filter " + |
|---|
| 312 | | "is a comparison filter"); |
|---|
| 313 | | |
|---|
| 314 | | // 3 tests |
|---|
| 315 | | obj = new OpenLayers.Filter(); |
|---|
| 316 | | filter0 = decorator.toFilter(obj); |
|---|
| 317 | | t.eq(filter0.CLASS_NAME, "OpenLayers.Filter.Logical", |
|---|
| 318 | | "toFilter returns a logical filter"); |
|---|
| 319 | | t.eq(filter0.filters.length, 1, |
|---|
| 320 | | "toFilter returns a logical filter with expected " + |
|---|
| 321 | | "number of filters"); |
|---|
| 322 | | t.ok(filter0.filters[0] == obj, |
|---|
| 323 | | "toFilter returns a logical filter whose first filter " + |
|---|
| 324 | | "is the expected one"); |
|---|
| 325 | | |
|---|
| 326 | | // 3 tests |
|---|
| 327 | | filter0 = new OpenLayers.Filter.Logical( |
|---|
| 328 | | {type: OpenLayers.Filter.Logical.AND}); |
|---|
| 329 | | obj = new OpenLayers.Filter(); |
|---|
| 330 | | filter1 = decorator.toFilter(obj, filter0); |
|---|
| 331 | | t.ok(filter1 == filter0, |
|---|
| 332 | | "toFilter returns expected filter"); |
|---|
| 333 | | t.eq(filter1.filters.length, 1, |
|---|
| 334 | | "toFilter returns a logical filter with expected " + |
|---|
| 335 | | "number of filters"); |
|---|
| 336 | | t.ok(filter1.filters[0] == obj, |
|---|
| 337 | | "toFilter returns a logical filter whose first filter " + |
|---|
| 338 | | "is the expected one"); |
|---|
| 339 | | |
|---|
| 340 | | // 3 tests |
|---|
| 341 | | filter0 = new OpenLayers.Filter(); |
|---|
| 342 | | obj = new OpenLayers.Filter(); |
|---|
| 343 | | filter1 = decorator.toFilter(obj, filter0); |
|---|
| 344 | | t.ok(filter1.CLASS_NAME, "OpenLayers.Filter.Logical", |
|---|
| 345 | | "toFilter returns a logical filter"); |
|---|
| 346 | | t.eq(filter1.filters.length, 2, |
|---|
| 347 | | "toFilter returns a logical filter with expected " + |
|---|
| 348 | | "number of filters"); |
|---|
| 349 | | t.ok(filter1.filters[0] == filter0 && filter1.filters[1] == obj, |
|---|
| 350 | | "toFilter returns a logical filter whose filters " + |
|---|
| 351 | | "are the expected ones"); |
|---|
| 352 | | } |
|---|
| 353 | | function test_MergeFilterDecorator_isLogicalFilter(t) { |
|---|
| 354 | | t.plan(4); |
|---|
| 355 | | |
|---|
| 356 | | // setup |
|---|
| 357 | | |
|---|
| 358 | | var decorator, obj, bool; |
|---|
| 359 | | |
|---|
| 360 | | decorator = new mapfish.Protocol.MergeFilterDecorator({ |
|---|
| 361 | | protocol: new OpenLayers.Protocol() |
|---|
| 362 | | }); |
|---|
| 363 | | |
|---|
| 364 | | // 1 test |
|---|
| 365 | | obj = {fake: "object"}; |
|---|
| 366 | | bool = decorator.isLogicalFilter(obj); |
|---|
| 367 | | t.eq(bool, false, |
|---|
| 368 | | "isLogicalFilter returns expected value"); |
|---|
| 369 | | |
|---|
| 370 | | // 1 test |
|---|
| 371 | | obj = new OpenLayers.Filter(); |
|---|
| 372 | | bool = decorator.isLogicalFilter(obj); |
|---|
| 373 | | t.eq(bool, false, |
|---|
| 374 | | "isLogicalFilter returns expected value"); |
|---|
| 375 | | |
|---|
| 376 | | // 1 test |
|---|
| 377 | | obj = new OpenLayers.Filter.Spatial(); |
|---|
| 378 | | bool = decorator.isLogicalFilter(obj); |
|---|
| 379 | | t.eq(bool, false, |
|---|
| 380 | | "isLogicalFilter returns expected value"); |
|---|
| 381 | | |
|---|
| 382 | | // 1 test |
|---|
| 383 | | obj = new OpenLayers.Filter.Logical(); |
|---|
| 384 | | bool = decorator.isLogicalFilter(obj); |
|---|
| 385 | | t.eq(bool, true, |
|---|
| 386 | | "isLogicalFilter returns expected value"); |
|---|
| 387 | | } |
|---|
| 388 | | function test_MergeFilterDecorator_isFilter(t) { |
|---|
| 389 | | t.plan(3); |
|---|
| 390 | | |
|---|
| 391 | | // setup |
|---|
| 392 | | |
|---|
| 393 | | var decorator, obj, bool; |
|---|
| 394 | | |
|---|
| 395 | | decorator = new mapfish.Protocol.MergeFilterDecorator({ |
|---|
| 396 | | protocol: new OpenLayers.Protocol() |
|---|
| 397 | | }); |
|---|
| 398 | | |
|---|
| 399 | | // 1 test |
|---|
| 400 | | obj = {fake: "object"}; |
|---|
| 401 | | bool = decorator.isFilter(obj); |
|---|
| 402 | | t.eq(bool, false, |
|---|
| 403 | | "isFilter returns expected value"); |
|---|
| 404 | | |
|---|
| 405 | | // 1 test |
|---|
| 406 | | obj = new OpenLayers.Filter(); |
|---|
| 407 | | bool = decorator.isFilter(obj); |
|---|
| 408 | | t.eq(bool, true, |
|---|
| 409 | | "isFilter returns expected value"); |
|---|
| 410 | | |
|---|
| 411 | | // 1 test |
|---|
| 412 | | obj = new OpenLayers.Filter.Spatial(); |
|---|
| 413 | | bool = decorator.isFilter(obj); |
|---|
| 414 | | t.eq(bool, true, |
|---|
| 415 | | "isFilter returns expected value"); |
|---|
| 416 | | } |
|---|
| 417 | | --></script> |
|---|
| 418 | | |
|---|
| 419 | | </head> |
|---|
| 420 | | <body> |
|---|
| 421 | | </body> |
|---|
| 422 | | </html> |
|---|