#!/usr/bin/env php loadYaml('lang')->gen(15); zenData('user')->gen(5); ob_end_clean(); su('admin'); $customTester = new customModelTest(); r($customTester->setMenuByConfigTest((object)array('home' => 'Home|index|index', 'project' => 'Project|project|index'), array(), 'main')) && p() && e('array'); // 测试步骤1:使用标准对象菜单和空自定义菜单 r($customTester->setMenuByConfigTest(array('task' => 'Task|task|browse', 'bug' => 'Bug|bug|browse'), '[{"name":"task","order":1},{"name":"bug","order":2}]', 'product')) && p() && e('array'); // 测试步骤2:使用数组菜单和JSON字符串自定义菜单 r($customTester->setMenuByConfigTest(new stdclass(), array(), '')) && p() && e('array'); // 测试步骤3:测试空菜单对象的处理 r($customTester->setMenuByConfigTest(null, null, 'main')) && p() && e('array'); // 测试步骤4:测试null参数的边界情况 r($customTester->setMenuByConfigTest((object)array('index' => 'Home|index|index', 'company' => 'Company|company|index', 'admin' => 'Admin|admin|index'), '', 'main')) && p() && e('array'); // 测试步骤5:测试复杂菜单配置场景 r($customTester->setMenuByConfigTest(array('story' => 'Story|story|browse', 'plan' => 'Plan|productplan|browse'), '{"story":{"order":10},"plan":{"order":20}}', 'product')) && p() && e('array'); // 测试步骤6:测试JSON格式自定义菜单配置 r($customTester->setMenuByConfigTest((object)array('index' => 'Home|index|index', 'project' => 'Project|project|index', 'product' => 'Product|product|index'), array(), 'main')) && p() && e('array'); // 测试步骤7:测试带有分割线的主菜单配置 zenData('lang')->gen(0);