1: <?php
2: 3: 4: 5:
6:
7: use Mapbender\WmsBundle\Component\WmsCapabilitiesParser;
8: 9: 10: 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:
30:
31:
32: }
33:
34: public function testMinimalInvalidNoName(){
35:
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:
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:
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: