This commit is contained in:
James 2020-02-23 18:00:58 +00:00
parent b26bd7c6c5
commit c3cf29848a
3 changed files with 19 additions and 1 deletions

View File

@ -1,6 +1,6 @@
{
"name": "jhodges/sitemap",
"description": "generate full sitemap report",
"description": "Generate full sitemap report using spatie/crawler",
"type": "project",
"require": {
"php": "^7.1",
@ -26,6 +26,9 @@
"patches": {
"spatie/crawler": {
"add crawled again observer": "https://patch-diff.githubusercontent.com/raw/spatie/crawler/pull/280.patch"
},
"guzzlehttp/guzzle": {
"Status code must be an integer value between 1xx and 5xx": "https://patch-diff.githubusercontent.com/raw/guzzle/guzzle/pull/2591.patch"
}
}
}

View File

@ -20,6 +20,7 @@ class CrawlerTest extends TestCase{
'http://localhost:8080/interlinked2' => ['code' => 200],
'http://localhost:8080/interlinked3' => ['code' => 200],
'http://localhost:8080/internalServerError' => ['code' => 500],
'http://localhost:8080/invalidStatusCode' => ['code' => '---'],
'http://localhost:8080/notFound' => ['code' => 404],
'http://localhost:8080/redirect1' => ['code' => 302],
'http://localhost:8080/redirect2' => ['code' => 302],
@ -165,6 +166,15 @@ class CrawlerTest extends TestCase{
], print_r($sitemap,true));
}
public function testInvalidStatusCode(){
$crawler=new Crawler();
$crawler->crawl('http://localhost:8080/invalidStatusCode');
$sitemap=$crawler->getResults();
$this->assertTreeContains($sitemap,[
'http://localhost:8080/invalidStatusCode' => ['code' => '---'],
], print_r($sitemap,true));
}
public function assertTreeContains($haystack, $contains, $crumbs=''){
foreach($contains as $k=>$v){
$this->assertArrayHasKey($k, $haystack, $crumbs);

View File

@ -16,6 +16,7 @@ app.get('/', function (request, response) {
' <li><a href="/redirectLoop">redirectLoop</a></li>',
' <li><a href="/timeout">timeout</a></li>',
' <li><a href="/internalServerError">internalServerError</a></li>',
' <li><a href="/invalidStatusCode">invalidStatusCode</a></li>',
' <li><a href="/twoRedirectsToSameLocation">twoRedirectsToSameLocation</a></li>',
' <li><a href="mailto:test@example.com">mailto</a></li>',
' <li><a href="tel:+4412345678">tel</a></li>',
@ -78,6 +79,10 @@ app.get('/internalServerError', function (request, response) {
response.status(500).end();
});
app.get('/invalidStatusCode', function (request, response) {
response.status(999).end();
});
app.get('/interlinked1', function (request, response) {
response.end('<a href="/interlinked1">1</a><a href="/interlinked2">2</a><a href="/interlinked3">3</a>');
});