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/
coverage/
.DS_Store
*.pot

View File

@ -430,15 +430,17 @@ class ComicPressStoryline {
$children = array($parent);
do {
$found_children = false;
foreach ($this->_structure as $category_id => $info) {
if (!in_array($category_id, $children)) {
if (isset($info['parent'])) {
if (in_array($info['parent'], $children)) {
$children[] = $category_id;
$found_children = true;
}
}
}
if (is_array($this->_structure)) {
foreach ($this->_structure as $category_id => $info) {
if (!in_array($category_id, $children)) {
if (isset($info['parent'])) {
if (in_array($info['parent'], $children)) {
$children[] = $category_id;
$found_children = true;
}
}
}
}
}
// @codeCoverageIgnoreStart
} 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));
}
function testFindChildrenEmptyStructure() {
$this->css->_structure = false;
$this->assertEquals(array(2), $this->css->_find_children(2));
}
function testFindLevelOrAbove() {
$this->css->_structure = array(
'1' => array('next' => 2, 'level' => 1),