+ [misc] Add unit tests for fileZen::getDownloadMode() 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:09:55 +08:00
co-authored by Claude
parent 10a478ee3d
commit 588849cda4
2 changed files with 82 additions and 0 deletions
@@ -0,0 +1,33 @@
<?php
class fileZenTest
{
public $fileZenTest;
public $tester;
function __construct()
{
global $tester;
$this->tester = $tester;
$tester->app->setModuleName('file');
$tester->loadModel('file');
$this->fileZenTest = initReference('file');
}
/**
* Test getDownloadMode method.
*
* @param object $file 文件对象
* @param string $mouse 鼠标操作类型
* @access public
* @return string
*/
public function getDownloadModeZenTest($file = null, string $mouse = ''): string
{
$method = $this->fileZenTest->getMethod('getDownloadMode');
$method->setAccessible(true);
$result = $method->invokeArgs($this->fileZenTest->newInstance(), array($file, $mouse));
if(dao::isError()) return dao::getError();
return $result;
}
}
+49
View File
@@ -0,0 +1,49 @@
#!/usr/bin/env php
<?php
/**
title=测试 fileZen::getDownloadMode();
timeout=0
cid=0
- 步骤1:图片文件左键点击 @open
- 步骤2:文本文件左键点击 @open
- 步骤3:视频文件左键点击 @open
- 步骤4:图片文件右键点击 @down
- 步骤5:不支持文件类型左键点击 @down
*/
// 1. 导入依赖(路径固定,不可修改)
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/filezen.unittest.class.php';
// 2. 用户登录(选择合适角色)
su('admin');
// 3. 创建测试实例(变量名与模块名一致)
$fileTest = new fileZenTest();
// 4. 创建测试文件对象
$jpgFile = new stdclass();
$jpgFile->extension = 'jpg';
$txtFile = new stdclass();
$txtFile->extension = 'txt';
$mp4File = new stdclass();
$mp4File->extension = 'mp4';
$docFile = new stdclass();
$docFile->extension = 'doc';
$pngFile = new stdclass();
$pngFile->extension = 'png';
// 5. 🔴 强制要求:必须包含至少5个测试步骤
r($fileTest->getDownloadModeZenTest($jpgFile, 'left')) && p() && e('open'); // 步骤1:图片文件左键点击
r($fileTest->getDownloadModeZenTest($txtFile, 'left')) && p() && e('open'); // 步骤2:文本文件左键点击
r($fileTest->getDownloadModeZenTest($mp4File, 'left')) && p() && e('open'); // 步骤3:视频文件左键点击
r($fileTest->getDownloadModeZenTest($jpgFile, 'right')) && p() && e('down'); // 步骤4:图片文件右键点击
r($fileTest->getDownloadModeZenTest($docFile, 'left')) && p() && e('down'); // 步骤5:不支持文件类型左键点击