Overview

Namespaces

  • Mapbender
    • Component
      • HTTP
    • CoreBundle
      • Command
      • Component
        • Exception
      • Controller
      • DataFixtures
        • ORM
      • DependencyInjection
      • Element
        • Type
      • Entity
      • EventListener
      • Extension
      • Form
        • DataTransformer
        • EventListener
        • Type
      • Security
      • Template
    • DrupalIntegrationBundle
      • DependencyInjection
      • Security
        • Authentication
          • Provider
          • Token
        • Authorization
          • Voter
        • Factory
        • Firewall
        • User
      • Session
    • KmlBundle
      • Element
    • ManagerBundle
      • Controller
      • Form
        • DataTransformer
        • Type
    • MonitoringBundle
      • Command
      • Component
      • Controller
      • DependencyInjection
      • Entity
      • EventListener
      • Form
    • PrintBundle
      • Component
      • Controller
    • WmcBundle
      • Component
        • Exception
      • Element
        • Type
      • Entity
      • Form
        • EventListener
        • Type
    • WmsBundle
      • Component
        • Exception
      • Controller
      • DependencyInjection
      • Element
        • Type
      • Entity
      • Event
      • Form
        • EventListener
        • Type
    • WmtsBundle
      • Component
        • Exception
      • Controller
      • Entity
      • Form
        • Type
  • None
  • PHP

Classes

  • WmsCapabilitiesParserTest
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated
  • Todo
  • Download
 1: <?php
 2: /*
 3: * @package bkg_testing
 4: * @author Karim Malhas <karim@malhas.de>
 5: */
 6: 
 7: use Mapbender\WmsBundle\Component\WmsCapabilitiesParser;
 8: /**
 9:  *   Tests the WmsCapabilitiesParser. Note that te tests are coupled to the testdata somewhaty tightly. This is on purpose
10:  *   to keep the tests simple
11:  */
12: class WmsCapabilitiesParserTest extends PHPUnit_Framework_TestCase {
13: 
14: 
15:     public function testMinimal(){
16: 
17:         $keyword = new Mapbender\CoreBundle\Entity\Keyword();
18:         $data = file_get_contents((dirname(__FILE__) ."/testdata/wms-1.1.1-getcapabilities.minimal.singlelayer.xml"));
19:         $doc = WmsCapabilitiesParser::createDocument($data);
20:         $parser  = WmsCapabilitiesParser::getParser($doc);
21:         $wms = $parser->parse();
22:         $this->assertSame("OGC:WMS",$wms->getName(),"Name is wrong");
23:         $this->assertSame("The example.com Test WMS",$wms->getTitle(),  "title is wrong");
24:         $this->assertEquals(1,count($wms->getLayers()),"layercount is wrong");
25: 
26:         $layer = $wms->getLayers()->first();
27:         $this->assertSame("The Title",$layer->getTitle(), "layertitle is wrong");
28:         $this->assertSame("TheLayer",$layer->getName(),"layername is wrong");
29: //not implemented yet        $this->assertSame("EPSG:4326",$layer->getSRS(),"epsg is wrong");
30: //not implemented yet        $this->assertSame(null,$layer->getBBox(),"BBOx is wrong");
31: 
32:     }
33: 
34:     public function testMinimalInvalidNoName(){
35:         // names are important but if they are missing they should not cause problems 
36:         $data = file_get_contents((dirname(__FILE__) ."/testdata/wms-1.1.1-getcapabilities.minimalinvalid.noname.xml"));
37:         $doc = WmsCapabilitiesParser::createDocument($data);
38:         $parser  = WmsCapabilitiesParser::getParser($doc);
39:         try {
40:             $wms = $parser->parse();
41:         }
42:         catch(Exception $E){
43:             $this->assertSame("",$wms->getName());
44:         }
45: 
46:     }
47: 
48:     public function testLayersRootLayerOnly(){
49:         $data = file_get_contents((dirname(__FILE__) ."/testdata/wms-1.1.1-getcapabilities.minimal.singlelayer.xml"));
50:         $doc = WmsCapabilitiesParser::createDocument($data);
51:         $parser  = WmsCapabilitiesParser::getParser($doc);
52:         $wms = $parser->parse();
53:         $this->assertEquals(1,$wms->getLayers()->count());
54: 
55:         $rootLayer = $wms->getRootLayer();
56:         $this->assertSame("The Title",$rootLayer->getTitle(),"Root layer title irsd wrong"); 
57:         $this->assertSame("TheLayer",$rootLayer->getName(), "Root Layer Name is wrong"); 
58:         $this->assertSame("A Layerabstract",$rootLayer->getAbstract(),"Root Layer abstract is wrong" );
59:         # The root layer itself has no sublayers
60:         $this->assertEquals(0,$rootLayer->getSublayer()->count(), "Root Layer does not have 0 sub layers");
61:     }
62: 
63:     public function testGetMap(){
64:         $data = file_get_contents((dirname(__FILE__) ."/testdata/wms-1.1.1-getcapabilities.minimal.singlelayer.xml"));
65:         $doc = WmsCapabilitiesParser::createDocument($data);
66:         $parser  = WmsCapabilitiesParser::getParser($doc);
67:         $wms = $parser->parse();
68:         $this->assertEquals(1,$wms->getLayers()->count());
69: 
70:         //$this->assertSame("image/png",$wms->getDefaultRequestGetMapFormat());
71:         $array = $wms->getGetMap()->getFormats();
72:         $this->assertSame("image/png",$array[0]);
73:         $this->assertSame("http://example.com/ohmyawms",$wms->getGetMap()->getHttpGet());
74: 
75:         $rootLayer = $wms->getRootLayer();
76:         $array = $rootLayer->getSrs();
77: 
78:         $rootLayer = $wms->getRootLayer();
79:         $this->assertEquals("EPSG:4326", $array[0]);
80:         $bb = $rootLayer->getLatLonBounds();
81:         $strbb = $bb->getMinx()." ".$bb->getMiny()." ".$bb->getMaxx()." ".$bb->getMaxy();
82:         $this->assertEquals("-10.4 35.7 -180 180",$strbb);
83:     }
84:     
85: }
86: 
Mapbender3 API documenation API documentation generated by ApiGen 2.8.0