From 09ff2471decc4e116cdef6157a5c62b0bc5e4c23 Mon Sep 17 00:00:00 2001
From: "Edward Z. Yang"
Date: Mon, 28 Jul 2008 09:10:20 -0600
Subject: [PATCH] Improve coverage in News smoketest.
Signed-off-by: Edward Z. Yang
---
XHTMLCompiler/DOMFilter/News.php | 15 ++++++++++++---
smoketests/DOMFilter/News.xhtml | 12 +++++++++++-
smoketests/DOMFilter/News/2008/0101-backdated.xhtml | 1 +
smoketests/DOMFilter/News/2008/0714-item.xhtml | 1 +
4 files changed, 25 insertions(+), 4 deletions(-)
diff --git a/XHTMLCompiler/DOMFilter/News.php b/XHTMLCompiler/DOMFilter/News.php
index e8df9dd..f07c807 100644
--- a/XHTMLCompiler/DOMFilter/News.php
+++ b/XHTMLCompiler/DOMFilter/News.php
@@ -19,8 +19,17 @@ class XHTMLCompiler_DOMFilter_News extends XHTMLCompiler_DOMFilter
$page->attr['news'] = true;
}
- $container = $this->query("//html:div[@news:source]")->item(0);
- if (!$container) return;
+ $containers = $this->query("//html:div[@news:source]");
+ foreach ($containers as $container) {
+ $this->generateNews($container, $dom, $page, $manager);
+ }
+
+ }
+
+ /**
+ * Generates a particular news container.
+ */
+ public function generateNews($container, DOMDocument $dom, $page, $manager) {
// Grab variables
$source = $this->confiscateAttr($container, $this->ns, 'source');
@@ -41,7 +50,7 @@ class XHTMLCompiler_DOMFilter_News extends XHTMLCompiler_DOMFilter
$xc = XHTMLCompiler::getInstance();
$manager = $xc->getFilterManager();
- for ($i = $d = 0, $c = count($result); $i < $c && $d < $limit; $i++) {
+ for ($i = $d = 0, $c = count($result); $i < $c && $d != $limit; $i++) {
$entry = $result[$i];
// :TODO: Add support for nested directories. Also need to modify
diff --git a/smoketests/DOMFilter/News.xhtml b/smoketests/DOMFilter/News.xhtml
index cf2e5ba..b12071d 100644
--- a/smoketests/DOMFilter/News.xhtml
+++ b/smoketests/DOMFilter/News.xhtml
@@ -18,6 +18,16 @@
This is a news page. It displays an aggregation of all previous news
entries. We also have RSS generation enabled.
-
+
+
+ Only one news entry should be shown here:
+
+
+
+Old entries
+
+ All news entries should be shown here, with h3 headings:
+
+