diff --git modules/book/book.pages.inc modules/book/book.pages.inc index 3e682ef..f6f7b0e 100644 --- modules/book/book.pages.inc +++ modules/book/book.pages.inc @@ -77,9 +77,11 @@ function book_export_html($nid) { if (isset($node->book)) { $tree = book_menu_subtree_data($node->book); $contents = book_export_traverse($tree, 'book_node_export'); + return theme('book_export_html', array('title' => $node->title, 'contents' => $contents, 'depth' => $node->book['depth'])); + } + else { + drupal_not_found(); } - - return theme('book_export_html', array('title' => $node->title, 'contents' => $contents, 'depth' => $node->book['depth'])); } else { drupal_access_denied(); diff --git modules/book/book.test modules/book/book.test index c797b7b..6ac63f0 100644 --- modules/book/book.test +++ modules/book/book.test @@ -237,6 +237,10 @@ class BookTestCase extends DrupalWebTestCase { $this->drupalGet('book/export/foobar/' . $this->book->nid); $this->assertResponse('404', t('Unsupported export format returned "not found".')); + // Make sure we get a 404 on a not existing book node. + $this->drupalGet('book/export/html/123'); + $this->assertResponse('404', t('Not existing book node returned "not found".')); + // Make sure an anonymous user cannot view printer-friendly version. $this->drupalLogout();