znt/module/dev/test/model/sortmenus.php

89 lines
3.1 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 devModel::sortMenus();
timeout=0
cid=16020
- 执行devTester模块的sortMenusTest方法参数是array @0
- 执行devTester模块的sortMenusTest方法参数是$menuWithoutOrder @home,product,project,
- 执行devTester模块的sortMenusTest方法参数是$menuWithOrder @product,home,project,menuOrder,
- 执行devTester模块的sortMenusTest方法参数是$menuWithProject @scrum,waterfall,kanbanProject,project,home,menuOrder,
- 执行devTester模块的sortMenusTest方法参数是$menuObject @dashboard,report,menuOrder,
- 执行devTester模块的sortMenusTest方法参数是$complexMenu @dashboard,epic,story,plan,scrum,waterfall,kanbanProject,project,release,menuOrder,
- 执行devTester模块的sortMenusTest方法参数是$menuNumericOrder @a,b,c,menuOrder,
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
su('admin');
$devTester = new devModelTest();
// 步骤1测试空数组输入
r($devTester->sortMenusTest(array())) && p() && e('0');
// 步骤2测试无menuOrder的菜单数组
$menuWithoutOrder = array('home' => 'Home', 'product' => 'Product', 'project' => 'Project');
r($devTester->sortMenusTest($menuWithoutOrder)) && p() && e('home,product,project,');
// 步骤3测试有menuOrder的普通菜单排序
$menuWithOrder = array(
'home' => 'Home',
'product' => 'Product',
'project' => 'Project',
'menuOrder' => array(5 => 'product', 10 => 'home', 15 => 'project')
);
r($devTester->sortMenusTest($menuWithOrder)) && p() && e('product,home,project,menuOrder,');
// 步骤4测试包含project类型的菜单排序和特殊处理
$menuWithProject = array(
'scrum' => 'Scrum Project',
'waterfall' => 'Waterfall Project',
'kanbanProject' => 'Kanban Project',
'home' => 'Home',
'project' => 'Project',
'menuOrder' => array(5 => 'project', 10 => 'home')
);
r($devTester->sortMenusTest($menuWithProject)) && p() && e('scrum,waterfall,kanbanProject,project,home,menuOrder,');
// 步骤5测试对象类型输入转换
$menuObject = (object)array(
'dashboard' => 'Dashboard',
'report' => 'Report',
'menuOrder' => array(10 => 'report', 5 => 'dashboard')
);
r($devTester->sortMenusTest($menuObject)) && p() && e('dashboard,report,menuOrder,');
// 步骤6测试复杂菜单混合排序
$complexMenu = array(
'dashboard' => 'Dashboard',
'epic' => 'Epic',
'story' => 'Story',
'plan' => 'Plan',
'project' => 'Project',
'scrum' => 'Scrum',
'waterfall' => 'Waterfall',
'kanbanProject' => 'Kanban',
'release' => 'Release',
'menuOrder' => array(1 => 'dashboard', 2 => 'epic', 3 => 'story', 4 => 'plan', 5 => 'project', 6 => 'release')
);
r($devTester->sortMenusTest($complexMenu)) && p() && e('dashboard,epic,story,plan,scrum,waterfall,kanbanProject,project,release,menuOrder,');
// 步骤7测试menuOrder数字键排序
$menuNumericOrder = array(
'c' => 'Third',
'a' => 'First',
'b' => 'Second',
'menuOrder' => array(30 => 'c', 10 => 'a', 20 => 'b')
);
r($devTester->sortMenusTest($menuNumericOrder)) && p() && e('a,b,c,menuOrder,');