#!/usr/bin/env php isGroup) && $component->isGroup) { // 对于分组组件,递归处理其groupList if(isset($component->groupList)) { $component->groupList = $this->buildComponentListTest($component->groupList); } $components[] = $component; } else { // 对于普通组件,直接添加 $components[] = $component; } } } return $components; } } $screen = new screenModelTest(); // 准备测试数据 $validComponent1 = new stdclass(); $validComponent1->id = 'comp1'; $validComponent1->type = 'text'; $validComponent2 = new stdclass(); $validComponent2->id = 'comp2'; $validComponent2->type = 'text'; $groupComponent = new stdclass(); $groupComponent->id = 'group1'; $groupComponent->isGroup = 1; $groupComponent->groupList = array($validComponent1); $groupComponent->type = 'group'; r(count($screen->buildComponentListTest(array($validComponent1, $validComponent2)))) && p() && e(2); r(count($screen->buildComponentListTest(array()))) && p() && e(0); r(count($screen->buildComponentListTest(array($validComponent1, null, $validComponent2)))) && p() && e(2); r(count($screen->buildComponentListTest(array(null, false, '', 0)))) && p() && e(0); r(count($screen->buildComponentListTest(array($validComponent1, $groupComponent, $validComponent2)))) && p() && e(3);