Add RobotsTXT test

git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@5341 bf3deb0d-5f1a-0410-827f-c0cc1f45334c
This commit is contained in:
2019-06-10 16:02:27 +00:00
parent da4215dbf2
commit 2cfe3f4d17

166
Tests/robotstxtTest.php Normal file
View File

@@ -0,0 +1,166 @@
<?php
/** Test the models/robots.txt file
*/
class test_model extends PHPUnit_Framework_TestCase
{
// Empty Robots
public function test_Construct_1 ()
{
$robots = new \models\robots ("");
$res = $robots->allow ();
$this->assertSame ($res, ["/"]);
}
public function test_Construct_2 ()
{
$robots = new \models\robots ("");
$res = $robots->disallow ();
$this->assertSame ($res, array ());
}
public function test_Construct_3 ()
{
$robots = new \models\robots ("");
$res = $robots->sitemaps ();
$this->assertSame ($res, array ());
}
public function test_Construct_4 ()
{
$robots = new \models\robots ("");
$res = $robots->crawldelay ();
$this->assertSame ($res, 3);
}
// Allow
public function test_allow_1 ()
{
$robots = new \models\robots (
"User-Agent: *\nDisallow:\n");
$res = $robots->allow ();
$this->assertSame ($res, ["/"]);
}
public function test_allow_2 ()
{
$robots = new \models\robots (
"User-Agent: *\nDisallow:\n\nUser-Agent: DomSearch\nDisallow:\n");
$res = $robots->allow ();
$this->assertSame ($res, ["/"]);
}
public function test_allow_3 ()
{
$robots = new \models\robots (
"User-Agent: DomSearch\nDisallow:\n\nUser-Agent: *\nDisallow:\n");
$res = $robots->allow ();
$this->assertSame ($res, ["/"]);
}
// Disallow
public function test_disallow_1 ()
{
$robots = new \models\robots (
"User-Agent: *\nDisallow: /\n");
$res = $robots->disallow ();
$this->assertSame ($res, ["/"]);
}
public function test_disallow_2 ()
{
$robots = new \models\robots (
"User-Agent: *\nDisallow: /\n\nUser-Agent: DomSearch\nDisallow: /\n");
$res = $robots->disallow ();
$this->assertSame ($res, ["/"]);
}
public function test_disallow_3 ()
{
$robots = new \models\robots (
"User-Agent: DomSearch\nDisallow: /\n\nUser-Agent: *\nDisallow: /\n");
$res = $robots->disallow ();
$this->assertSame ($res, ["/"]);
}
// Sitemaps
public function test_sitemaps_1 ()
{
$robots = new \models\robots (
"User-Agent: DomSearch\nDisallow: /\n\nUser-Agent: *\nDisallow: /\n");
$res = $robots->sitemaps ();
$this->assertSame ($res, []);
}
public function test_sitemaps_2 ()
{
$robots = new \models\robots (
"User-Agent: *\nDisallow: /\nSitemap: /sitemap.xml");
$res = $robots->sitemaps ();
$this->assertSame ($res, ["/sitemap.xml"]);
}
public function test_sitemaps_3 ()
{
$robots = new \models\robots (
"User-Agent: *\nDisallow: /\nSitemap: /sitemap.xml\nSitemap: /SITEMAP.XML");
$res = $robots->sitemaps ();
$this->assertSame ($res, ["/sitemap.xml", "/SITEMAP.XML"]);
}
// Host
public function test_host_1 ()
{
$robots = new \models\robots (
"User-Agent: *\nDisallow: /\n");
$res = $robots->host ();
$this->assertSame ($res, null);
}
public function test_host_2 ()
{
$robots = new \models\robots (
"User-Agent: *\nDisallow: /\n\nHost: localhost");
$res = $robots->host ();
$this->assertSame ($res, "localhost");
}
// URLAllow
public function test_urlallow_1 ()
{
$robots = new \models\robots ("");
$res = $robots->URLAllow ("/");
$this->assertSame ($res, true);
}
public function test_urlallow_2 ()
{
$robots = new \models\robots (
"User-Agent: *\nDisallow: /");
$res = $robots->URLAllow ("/");
$this->assertSame ($res, false);
}
public function test_urlallow_3 ()
{
$robots = new \models\robots (
"User-Agent: *\nDisallow: /\nAllow: /allow/");
$res = $robots->URLAllow ("/");
$this->assertSame ($res, false);
}
public function test_urlallow_4 ()
{
$robots = new \models\robots (
"User-Agent: *\nDisallow: /\nAllow: /allow/");
$res = $robots->URLAllow ("/allow/file");
$this->assertSame ($res, true);
}
public function test_urlallow_5 ()
{
$robots = new \models\robots (
"User-Agent: *\nDisallow: /\nAllow: /allow/*.gif$");
$res = $robots->URLAllow ("/allow/file.gif");
$this->assertSame ($res, true);
}
public function test_urlallow_6 ()
{
$robots = new \models\robots (
"User-Agent: *\nDisallow: /\nAllow: /allow/*.gif$");
$res = $robots->URLAllow ("/allow/.gif");
$this->assertSame ($res, false);
}
public function test_urlallow_7 ()
{
$robots = new \models\robots (
"User-Agent: *\nDisallow: /\nAllow: /allow/*.gif\$");
$res = $robots->URLAllow ("/allow/file.png");
$this->assertSame ($res, false);
}
}