1 book.test | public BookTestCase::testBookNavigationCache() |
Tests book cache functionality through node interfaces.
File
- core/
modules/ book/ tests/ book.test, line 153 - Tests for book.module.
Class
- BookTestCase
- Tests the functionality of the Book module.
Code
public function testBookNavigationCache() {
// Create new book.
$nodes = $this->createBook();
$book = $this->book;
$this->backdropLogin($this->book_author);
// Check that book pages display along with the correct outlines and
// previous/next links.
$outline = array($nodes[0], $nodes[3], $nodes[4]);
$this->checkBookNode($book, $outline, FALSE, FALSE, $nodes[0], array());
$outline = array($nodes[1], $nodes[2]);
$breadcrumb = array($book);
$this->checkBookNode($nodes[0], $outline, $book, $book, $nodes[1], $breadcrumb);
$breadcrumb = array($book, $nodes[0]);
$this->checkBookNode($nodes[1], NULL, $nodes[0], $nodes[0], $nodes[2], $breadcrumb);
$this->checkBookNode($nodes[2], NULL, $nodes[1], $nodes[0], $nodes[3], $breadcrumb);
$breadcrumb = array($book);
$this->checkBookNode($nodes[3], NULL, $nodes[2], $book, $nodes[4], $breadcrumb);
$this->checkBookNode($nodes[4], NULL, $nodes[3], $book, FALSE, $breadcrumb);
// // Add a book page and check for flushed navigation cache and updated
// outlines.
$node5 = $this->createBookNode($book->nid);
debug('node 5 added');
$outline = array($nodes[0], $nodes[3], $nodes[4], $node5);
$this->checkBookNode($book, $outline, FALSE, FALSE, $nodes[0], array());
$outline = array($nodes[1], $nodes[2]);
$breadcrumb = array($book);
$this->checkBookNode($nodes[0], $outline, $book, $book, $nodes[1], $breadcrumb);
$breadcrumb = array($book, $nodes[0]);
$this->checkBookNode($nodes[1], NULL, $nodes[0], $nodes[0], $nodes[2], $breadcrumb);
$this->checkBookNode($nodes[2], NULL, $nodes[1], $nodes[0], $nodes[3], $breadcrumb);
$breadcrumb = array($book);
$this->checkBookNode($nodes[3], NULL, $nodes[2], $book, $nodes[4], $breadcrumb);
$this->checkBookNode($nodes[4], NULL, $nodes[3], $book, $node5, $breadcrumb);
$this->checkBookNode($node5, NULL, $nodes[4], $book, FALSE, $breadcrumb);
// Delete a book page and check for flushed navigation cache and updated
// outlines.
$nodes[3]->delete();
debug('node 3 deleted');
$outline = array($nodes[0], $nodes[4], $node5);
$this->checkBookNode($book, $outline, FALSE, FALSE, $nodes[0], array());
$outline = array($nodes[1], $nodes[2]);
$breadcrumb = array($book);
$this->checkBookNode($nodes[0], $outline, $book, $book, $nodes[1], $breadcrumb);
$breadcrumb = array($book, $nodes[0]);
$this->checkBookNode($nodes[1], NULL, $nodes[0], $nodes[0], $nodes[2], $breadcrumb);
$this->checkBookNode($nodes[2], NULL, $nodes[1], $nodes[0], $nodes[4], $breadcrumb);
$breadcrumb = array($book);
$this->checkBookNode($nodes[4], NULL, $nodes[2], $book, $node5, $breadcrumb);
$this->checkBookNode($node5, NULL, $nodes[4], $book, FALSE, $breadcrumb);
}