fix empty array bug

This commit is contained in:
John Bintz 2009-11-19 21:42:29 -05:00
parent a5d2a62745
commit d8b6c0f859
3 changed files with 18 additions and 9 deletions

2
.gitignore vendored
View File

@ -5,3 +5,5 @@
.settings/ .settings/
coverage/ coverage/
.DS_Store .DS_Store
*.pot

View File

@ -430,15 +430,17 @@ class ComicPressStoryline {
$children = array($parent); $children = array($parent);
do { do {
$found_children = false; $found_children = false;
foreach ($this->_structure as $category_id => $info) { if (is_array($this->_structure)) {
if (!in_array($category_id, $children)) { foreach ($this->_structure as $category_id => $info) {
if (isset($info['parent'])) { if (!in_array($category_id, $children)) {
if (in_array($info['parent'], $children)) { if (isset($info['parent'])) {
$children[] = $category_id; if (in_array($info['parent'], $children)) {
$found_children = true; $children[] = $category_id;
} $found_children = true;
} }
} }
}
}
} }
// @codeCoverageIgnoreStart // @codeCoverageIgnoreStart
} while ($found_children); } while ($found_children);

View File

@ -384,6 +384,11 @@ class ComicPressStorylineTest extends PHPUnit_Framework_TestCase {
$this->assertEquals(array(2,3,4), $this->css->_find_children($search)); $this->assertEquals(array(2,3,4), $this->css->_find_children($search));
} }
function testFindChildrenEmptyStructure() {
$this->css->_structure = false;
$this->assertEquals(array(2), $this->css->_find_children(2));
}
function testFindLevelOrAbove() { function testFindLevelOrAbove() {
$this->css->_structure = array( $this->css->_structure = array(
'1' => array('next' => 2, 'level' => 1), '1' => array('next' => 2, 'level' => 1),