57 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			57 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | 
 | ||
|  | namespace OSS\Tests; | ||
|  | 
 | ||
|  | 
 | ||
|  | use OSS\Model\WebsiteConfig; | ||
|  | 
 | ||
|  | class WebsiteConfigTest extends \PHPUnit\Framework\TestCase | ||
|  | { | ||
|  |     private $validXml = <<<BBBB | ||
|  | <?xml version="1.0" encoding="utf-8"?>
 | ||
|  | <WebsiteConfiguration> | ||
|  | <IndexDocument> | ||
|  | <Suffix>index.html</Suffix> | ||
|  | </IndexDocument> | ||
|  | <ErrorDocument> | ||
|  | <Key>errorDocument.html</Key> | ||
|  | </ErrorDocument> | ||
|  | </WebsiteConfiguration> | ||
|  | BBBB; | ||
|  | 
 | ||
|  |     private $nullXml = <<<BBBB | ||
|  | <?xml version="1.0" encoding="utf-8"?><WebsiteConfiguration><IndexDocument><Suffix/></IndexDocument><ErrorDocument><Key/></ErrorDocument></WebsiteConfiguration>
 | ||
|  | BBBB; | ||
|  |     private $nullXml2 = <<<BBBB | ||
|  | <?xml version="1.0" encoding="utf-8"?><WebsiteConfiguration><IndexDocument><Suffix></Suffix></IndexDocument><ErrorDocument><Key></Key></ErrorDocument></WebsiteConfiguration>
 | ||
|  | BBBB; | ||
|  | 
 | ||
|  |     public function testParseValidXml() | ||
|  |     { | ||
|  |         $websiteConfig = new WebsiteConfig("index"); | ||
|  |         $websiteConfig->parseFromXml($this->validXml); | ||
|  |         $this->assertEquals($this->cleanXml($this->validXml), $this->cleanXml($websiteConfig->serializeToXml())); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function testParsenullXml() | ||
|  |     { | ||
|  |         $websiteConfig = new WebsiteConfig(); | ||
|  |         $websiteConfig->parseFromXml($this->nullXml); | ||
|  |         $this->assertTrue($this->cleanXml($this->nullXml) === $this->cleanXml($websiteConfig->serializeToXml()) || | ||
|  |             $this->cleanXml($this->nullXml2) === $this->cleanXml($websiteConfig->serializeToXml())); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function testWebsiteConstruct() | ||
|  |     { | ||
|  |         $websiteConfig = new WebsiteConfig("index.html", "errorDocument.html"); | ||
|  |         $this->assertEquals('index.html', $websiteConfig->getIndexDocument()); | ||
|  |         $this->assertEquals('errorDocument.html', $websiteConfig->getErrorDocument()); | ||
|  |         $this->assertEquals($this->cleanXml($this->validXml), $this->cleanXml($websiteConfig->serializeToXml())); | ||
|  |     } | ||
|  | 
 | ||
|  |     private function cleanXml($xml) | ||
|  |     { | ||
|  |         return str_replace("\n", "", str_replace("\r", "", $xml)); | ||
|  |     } | ||
|  | } |