diff --git a/module/file/test/lib/filezen.unittest.class.php b/module/file/test/lib/filezen.unittest.class.php new file mode 100644 index 0000000000..33da764bac --- /dev/null +++ b/module/file/test/lib/filezen.unittest.class.php @@ -0,0 +1,33 @@ +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; + } +} \ No newline at end of file diff --git a/module/file/test/zen/getdownloadmode.php b/module/file/test/zen/getdownloadmode.php new file mode 100755 index 0000000000..5b5356c9a9 --- /dev/null +++ b/module/file/test/zen/getdownloadmode.php @@ -0,0 +1,49 @@ +#!/usr/bin/env php +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:不支持文件类型左键点击 \ No newline at end of file