+ [misc] Add unit tests for commonModel::checkNotCN() 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:12 +08:00
co-authored by Claude
parent 2450fa4fa9
commit 2ff9481f2b
2 changed files with 75 additions and 0 deletions
@@ -551,4 +551,46 @@ class commonTest
$_SERVER = $originalServer;
}
}
/**
* Test checkNotCN method.
*
* @param string $lang
* @access public
* @return mixed
*/
public function checkNotCNTest($lang = '')
{
global $app;
// 备份原始的app对象
$originalApp = $app;
try {
// 创建一个模拟的app对象
$mockApp = new class($lang) {
private $lang;
public function __construct($lang = 'zh-cn')
{
$this->lang = $lang ?: 'zh-cn';
}
public function getClientLang()
{
return $this->lang;
}
};
// 替换全局的app对象
$app = $mockApp;
// 调用被测试的方法
$result = commonModel::checkNotCN();
return $result ? '1' : '0';
} finally {
// 恢复原始的app对象
$app = $originalApp;
}
}
}
+33
View File
@@ -0,0 +1,33 @@
#!/usr/bin/env php
<?php
/**
title=测试 commonModel::checkNotCN();
timeout=0
cid=0
- 步骤1:中文简体 @0
- 步骤2:中文繁体 @0
- 步骤3:英语 @1
- 步骤4:德语 @1
- 步骤5:法语 @1
- 步骤6:空语言 @0
- 步骤7:未知语言 @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->checkNotCNTest('zh-cn')) && p() && e('0'); // 步骤1:中文简体
r($commonTest->checkNotCNTest('zh-tw')) && p() && e('0'); // 步骤2:中文繁体
r($commonTest->checkNotCNTest('en')) && p() && e('1'); // 步骤3:英语
r($commonTest->checkNotCNTest('de')) && p() && e('1'); // 步骤4:德语
r($commonTest->checkNotCNTest('fr')) && p() && e('1'); // 步骤5:法语
r($commonTest->checkNotCNTest('')) && p() && e('0'); // 步骤6:空语言(默认为zh-cn)
r($commonTest->checkNotCNTest('test')) && p() && e('1'); // 步骤7:未知语言