From 47fb516b89386554b96d3de00aab306a76251e6d Mon Sep 17 00:00:00 2001 From: liugang Date: Wed, 17 Sep 2025 10:35:20 +0800 Subject: [PATCH] + [misc] Add unit tests for screenZen::commonAction() method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../screen/test/lib/screen.unittest.class.php | 30 +++++++++++++++++++ module/screen/test/zen/commonaction.php | 29 ++++++++++++++++++ module/screen/zen.php | 2 +- 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100755 module/screen/test/zen/commonaction.php diff --git a/module/screen/test/lib/screen.unittest.class.php b/module/screen/test/lib/screen.unittest.class.php index 789a74ca19..0e0b6ca397 100755 --- a/module/screen/test/lib/screen.unittest.class.php +++ b/module/screen/test/lib/screen.unittest.class.php @@ -1471,4 +1471,34 @@ class screenTest ); } + /** + * Test commonAction method. + * + * @param int $dimensionID + * @param bool $setMenu + * @access public + * @return mixed + */ + public function commonActionTest($dimensionID, $setMenu = true) + { + global $tester; + + // 包含model.php和zen.php文件 + include_once dirname(__FILE__, 3) . '/model.php'; + include_once dirname(__FILE__, 3) . '/zen.php'; + + // 创建zen对象并调用方法 + $screenZen = new screenZen(); + + // 使用反射调用protected方法 + $reflection = new ReflectionClass($screenZen); + $method = $reflection->getMethod('commonAction'); + $method->setAccessible(true); + + $result = $method->invokeArgs($screenZen, array($dimensionID, $setMenu)); + if(dao::isError()) return dao::getError(); + + return $result; + } + } diff --git a/module/screen/test/zen/commonaction.php b/module/screen/test/zen/commonaction.php new file mode 100755 index 0000000000..4886bc159f --- /dev/null +++ b/module/screen/test/zen/commonaction.php @@ -0,0 +1,29 @@ +#!/usr/bin/env php +commonActionTest(1)) && p() && e('1'); +r($screenTest->commonActionTest(0)) && p() && e('1'); +r($screenTest->commonActionTest(-1)) && p() && e('1'); +r($screenTest->commonActionTest(1, false)) && p() && e('1'); +r($screenTest->commonActionTest(999)) && p() && e('1'); \ No newline at end of file diff --git a/module/screen/zen.php b/module/screen/zen.php index 65309b6e4a..a4a15f4ccf 100644 --- a/module/screen/zen.php +++ b/module/screen/zen.php @@ -1,5 +1,5 @@