This commit is contained in:
Sébastien Lucas 2013-10-22 16:53:16 +02:00
commit 7443730044

View file

@ -482,4 +482,126 @@ class PageTest extends PHPUnit_Framework_TestCase
$this->assertFalse ($currentPage->ContainsBook ()); $this->assertFalse ($currentPage->ContainsBook ());
} }
public function testPageSearch ()
{
global $config;
$page = Base::PAGE_OPENSEARCH_QUERY;
$query = "alice";
$search = NULL;
$qid = NULL;
$n = "1";
$database = NULL;
// Only books returned
$currentPage = Page::getPage ($page, $qid, $query, $n);
$currentPage->InitializeContent ();
$this->assertEquals ("Search result for *alice*", $currentPage->title);
$this->assertCount (2, $currentPage->entryArray);
$this->assertEquals ("Alice's Adventures in Wonderland", $currentPage->entryArray [0]->title);
$this->assertEquals ("Through the Looking Glass (And What Alice Found There)", $currentPage->entryArray [1]->title);
$this->assertTrue ($currentPage->ContainsBook ());
// Match Lewis Caroll & Scarlet
$query = "car";
$currentPage = Page::getPage ($page, $qid, $query, $n);
$currentPage->InitializeContent ();
$this->assertEquals ("Search result for *car*", $currentPage->title);
$this->assertCount (3, $currentPage->entryArray);
$this->assertEquals ("Alice's Adventures in Wonderland", $currentPage->entryArray [0]->title);
$this->assertEquals ("A Study in Scarlet", $currentPage->entryArray [1]->title);
$this->assertEquals ("Through the Looking Glass (And What Alice Found There)", $currentPage->entryArray [2]->title);
$this->assertTrue ($currentPage->ContainsBook ());
}
public function testPageSearchScopeAuthors ()
{
global $config;
$page = Base::PAGE_OPENSEARCH_QUERY;
$search = NULL;
$qid = NULL;
$n = "1";
$database = NULL;
$_GET ["scope"] = "author";
// Match Lewis Carroll
$query = "car";
$currentPage = Page::getPage ($page, $qid, $query, $n);
$currentPage->InitializeContent ();
$this->assertEquals ("Search result for *car* in authors", $currentPage->title);
$this->assertCount (1, $currentPage->entryArray);
$this->assertEquals ("Carroll, Lewis", $currentPage->entryArray [0]->title);
$this->assertFalse ($currentPage->ContainsBook ());
$_GET ["scope"] = NULL;
}
public function testPageSearchScopeSeries ()
{
global $config;
$page = Base::PAGE_OPENSEARCH_QUERY;
$search = NULL;
$qid = NULL;
$n = "1";
$database = NULL;
$_GET ["scope"] = "series";
// Match Holmes
$query = "hol";
$currentPage = Page::getPage ($page, $qid, $query, $n);
$currentPage->InitializeContent ();
$this->assertEquals ("Search result for *hol* in series", $currentPage->title);
$this->assertCount (1, $currentPage->entryArray);
$this->assertEquals ("Sherlock Holmes", $currentPage->entryArray [0]->title);
$this->assertFalse ($currentPage->ContainsBook ());
$_GET ["scope"] = NULL;
}
public function testPageSearchScopeBooks ()
{
global $config;
$page = Base::PAGE_OPENSEARCH_QUERY;
$search = NULL;
$qid = NULL;
$n = "1";
$database = NULL;
$_GET ["scope"] = "book";
// Match Holmes
$query = "hol";
$currentPage = Page::getPage ($page, $qid, $query, $n);
$currentPage->InitializeContent ();
$this->assertEquals ("Search result for *hol* in books", $currentPage->title);
$this->assertCount (4, $currentPage->entryArray);
$this->assertTrue ($currentPage->ContainsBook ());
$_GET ["scope"] = NULL;
}
public function testPageSearchScopeTags ()
{
global $config;
$page = Base::PAGE_OPENSEARCH_QUERY;
$search = NULL;
$qid = NULL;
$n = "1";
$database = NULL;
$_GET ["scope"] = "tag";
// Match Holmes
$query = "fic";
$currentPage = Page::getPage ($page, $qid, $query, $n);
$currentPage->InitializeContent ();
$this->assertEquals ("Search result for *fic* in tags", $currentPage->title);
$this->assertCount (2, $currentPage->entryArray);
$this->assertFalse ($currentPage->ContainsBook ());
$_GET ["scope"] = NULL;
}
} }