forked from a64f7bb4-7358-4778-9fbe-3b882c34cc1d/v1
				
			
		
			
				
	
	
		
			57 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| 
 | |
| namespace vipnytt\SitemapParser\Tests;
 | |
| 
 | |
| use PHPUnit\Framework\TestCase;
 | |
| use vipnytt\SitemapParser;
 | |
| 
 | |
| class RecursiveTest extends TestCase
 | |
| {
 | |
|     /**
 | |
|      * @dataProvider generateDataForTest
 | |
|      * @param string $url URL
 | |
|      */
 | |
|     public function testRecursive($url)
 | |
|     {
 | |
|         $parser = new SitemapParser('SitemapParser');
 | |
|         $this->assertInstanceOf('vipnytt\SitemapParser', $parser);
 | |
|         $parser->parseRecursive($url);
 | |
|         $this->assertInternalType('array', $parser->getSitemaps());
 | |
|         $this->assertInternalType('array', $parser->getURLs());
 | |
|         $this->assertTrue(count($parser->getSitemaps()) > 1 || count($parser->getURLs()) > 100);
 | |
|         foreach ($parser->getSitemaps() as $url => $tags) {
 | |
|             $this->assertInternalType('string', $url);
 | |
|             $this->assertInternalType('array', $tags);
 | |
|             $this->assertTrue($url === $tags['loc']);
 | |
|             $this->assertNotFalse(filter_var($url, FILTER_VALIDATE_URL));
 | |
|         }
 | |
|         foreach ($parser->getURLs() as $url => $tags) {
 | |
|             $this->assertInternalType('string', $url);
 | |
|             $this->assertInternalType('array', $tags);
 | |
|             $this->assertTrue($url === $tags['loc']);
 | |
|             $this->assertNotFalse(filter_var($url, FILTER_VALIDATE_URL));
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Generate test data
 | |
|      * @return array
 | |
|      */
 | |
|     public function generateDataForTest()
 | |
|     {
 | |
|         return [
 | |
|             [
 | |
|                 'https://edenapartmentsqueenanne.com/sitemap_index.xml',
 | |
|                 'https://livingnongmo.org/sitemap.xml',
 | |
|                 'https://loganwestom.com/sitemap_index.xml',
 | |
|                 'https://sawyerflats.com/sitemap.xml',
 | |
|                 'https://www.bellinghambaymarathon.org/sitemap_index.xml',
 | |
|                 'https://www.coachforteens.com/sitemap_index.xml',
 | |
|                 'https://www.hallerpostapts.com/sitemap_index.xml',
 | |
|                 'https://www.nongmoproject.org/sitemap.xml',
 | |
|                 'https://www.xml-sitemaps.com/robots.txt',
 | |
|             ]
 | |
|         ];
 | |
|     }
 | |
| }
 |