diff --git a/module/convert/test/lib/convert.unittest.class.php b/module/convert/test/lib/convert.unittest.class.php index 1416bc7ac1..52e5ec94fa 100644 --- a/module/convert/test/lib/convert.unittest.class.php +++ b/module/convert/test/lib/convert.unittest.class.php @@ -1998,4 +1998,30 @@ class convertTest return 'error: ' . $e->getMessage(); } } + + /** + * Test buildFieldScreenLayoutItemData method. + * + * @param array $data + * @access public + * @return mixed + */ + public function buildFieldScreenLayoutItemDataTest($data = array()) + { + try { + // 使用反射来访问protected方法 + $reflection = new ReflectionClass($this->objectTao); + $method = $reflection->getMethod('buildFieldScreenLayoutItemData'); + $method->setAccessible(true); + + $result = $method->invoke($this->objectTao, $data); + if(dao::isError()) return dao::getError(); + + return $result; + } catch (Exception $e) { + return 'exception: ' . $e->getMessage(); + } catch (Error $e) { + return 'error: ' . $e->getMessage(); + } + } } diff --git a/module/convert/test/tao/buildfieldscreenlayoutitemdata.php b/module/convert/test/tao/buildfieldscreenlayoutitemdata.php new file mode 100755 index 0000000000..7ed44ecf61 --- /dev/null +++ b/module/convert/test/tao/buildfieldscreenlayoutitemdata.php @@ -0,0 +1,33 @@ +#!/usr/bin/env php +buildFieldScreenLayoutItemDataTest(array('id' => '1001', 'fieldidentifier' => 'field_summary', 'fieldscreentab' => 'main_tab'))) && p('id') && e('1001'); // 步骤1:正常完整数据ID检查 +r($convertTest->buildFieldScreenLayoutItemDataTest(array('id' => '1001', 'fieldidentifier' => 'field_summary', 'fieldscreentab' => 'main_tab'))) && p('fieldidentifier') && e('field_summary'); // 步骤1:正常完整数据字段标识符检查 +r($convertTest->buildFieldScreenLayoutItemDataTest(array('id' => '1001', 'fieldidentifier' => 'field_summary', 'fieldscreentab' => 'main_tab'))) && p('fieldscreentab') && e('main_tab'); // 步骤1:正常完整数据屏幕选项卡检查 +r($convertTest->buildFieldScreenLayoutItemDataTest(array('id' => '1002', 'fieldidentifier' => 'field_description'))) && p('fieldscreentab') && e('~~'); // 步骤2:缺少可选字段时返回空字符串 +r($convertTest->buildFieldScreenLayoutItemDataTest(array('id' => 2001, 'fieldidentifier' => 'field_assignee', 'fieldscreentab' => 'detail_tab'))) && p('id') && e('2001'); // 步骤3:数字ID输入处理 \ No newline at end of file