+ [misc] Add unit tests for commonModel::sortFeatureMenu() method

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
liugang
2025-09-15 15:06:13 +08:00
co-authored by Claude
parent 2867bfbfdf
commit 31770bdaab
2 changed files with 75 additions and 0 deletions
@@ -1005,6 +1005,52 @@ class commonTest
return $result;
}
/**
* Test sortFeatureMenu method.
*
* @param int $testCase
* @access public
* @return mixed
*/
public function sortFeatureMenuTest($testCase = 1)
{
switch($testCase) {
case 1: // 验证方法存在性
return method_exists('commonModel', 'sortFeatureMenu') ? '1' : '0';
case 2: // 验证方法为静态方法
$reflection = new ReflectionMethod('commonModel', 'sortFeatureMenu');
return $reflection->isStatic() ? '1' : '0';
case 3: // 验证返回类型为bool
$reflection = new ReflectionMethod('commonModel', 'sortFeatureMenu');
$returnType = $reflection->getReturnType();
return ($returnType && $returnType->getName() === 'bool') ? '1' : '0';
case 4: // 验证参数数量
$reflection = new ReflectionMethod('commonModel', 'sortFeatureMenu');
return (string)$reflection->getNumberOfParameters();
case 5: // 验证方法为公共可访问
$reflection = new ReflectionMethod('commonModel', 'sortFeatureMenu');
return $reflection->isPublic() ? '1' : '0';
case 6: // 验证参数类型
$reflection = new ReflectionMethod('commonModel', 'sortFeatureMenu');
$parameters = $reflection->getParameters();
if(count($parameters) >= 1) {
$firstParam = $parameters[0];
$paramType = $firstParam->getType();
return ($paramType && $paramType->getName() === 'string') ? '1' : '0';
} else {
return '0';
}
default:
return '0';
}
}
/**
* Create mock common class for tutorial mode testing.
*
+29
View File
@@ -0,0 +1,29 @@
#!/usr/bin/env php
<?php
/**
title=测试 commonModel::sortFeatureMenu();
timeout=0
cid=0
- 执行commonTest模块的sortFeatureMenuTest方法,参数是1 @1
- 执行commonTest模块的sortFeatureMenuTest方法,参数是2 @1
- 执行commonTest模块的sortFeatureMenuTest方法,参数是3 @1
- 执行commonTest模块的sortFeatureMenuTest方法,参数是4 @2
- 执行commonTest模块的sortFeatureMenuTest方法,参数是5 @1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/common.unittest.class.php';
su('admin');
$commonTest = new commonTest();
r($commonTest->sortFeatureMenuTest(1)) && p() && e('1');
r($commonTest->sortFeatureMenuTest(2)) && p() && e('1');
r($commonTest->sortFeatureMenuTest(3)) && p() && e('1');
r($commonTest->sortFeatureMenuTest(4)) && p() && e('2');
r($commonTest->sortFeatureMenuTest(5)) && p() && e('1');