diff --git a/test/pageTest.php b/test/pageTest.php index 3a0d4a0..eeeab9c 100644 --- a/test/pageTest.php +++ b/test/pageTest.php @@ -482,4 +482,126 @@ class PageTest extends PHPUnit_Framework_TestCase $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; + } } \ No newline at end of file