diff --git a/module/datatable/test/lib/datatable.unittest.class.php b/module/datatable/test/lib/datatable.unittest.class.php index 5bdfb863ee..addcd2a916 100644 --- a/module/datatable/test/lib/datatable.unittest.class.php +++ b/module/datatable/test/lib/datatable.unittest.class.php @@ -86,4 +86,19 @@ class datatableTest return $result; } + + /** + * Test getOldSetting method. + * + * @param string $module + * @access public + * @return mixed + */ + public function getOldSettingTest($module) + { + $result = $this->objectModel->getOldSetting($module); + if(dao::isError()) return dao::getError(); + + return $result; + } } diff --git a/module/datatable/test/model/getoldsetting.php b/module/datatable/test/model/getoldsetting.php new file mode 100755 index 0000000000..44c2634008 --- /dev/null +++ b/module/datatable/test/model/getoldsetting.php @@ -0,0 +1,73 @@ +#!/usr/bin/env php +config->testmodule = new stdclass(); +$tester->config->testmodule->datatable = new stdclass(); +$tester->config->testmodule->datatable->fieldList = array(); +$tester->config->testmodule->datatable->fieldList['id'] = array('title' => 'id', 'width' => '80', 'fixed' => 'left', 'required' => 'yes', 'sort' => 'yes'); +$tester->config->testmodule->datatable->fieldList['name'] = array('title' => 'name', 'width' => 'auto', 'fixed' => 'left', 'required' => 'yes', 'sort' => 'yes'); +$tester->config->testmodule->datatable->defaultField = array('id', 'name'); + +// 设置语言变量 +$lang->testmodule = new stdclass(); +$lang->testmodule->id = 'ID'; +$lang->testmodule->name = '名称'; +$lang->id = 'ID'; +$lang->name = '名称'; + +// 模拟app对象和方法名 +$tester->app->methodName = 'browse'; + +// 5. 强制要求:必须包含至少5个测试步骤 +r($datatableTest->getOldSettingTest('testmodule')) && p('0:id;0:show') && e('id,1'); // 步骤1:正常模块旧设置获取 +r($datatableTest->getOldSettingTest('testmodule')) && p('0:title;0:width') && e('ID,80'); // 步骤2:验证设置对象结构 +r($datatableTest->getOldSettingTest('testmodule')) && p('0:order;1:order') && e('1,2'); // 步骤3:验证设置排序功能 +r($datatableTest->getOldSettingTest('testmodule')) && p('0:fixed;1:fixed') && e('left,left'); // 步骤4:测试设置fixed属性 +// 创建一个只有基本字段列表但无defaultField的模块用于测试 +$tester->config->emptymodule = new stdclass(); +$tester->config->emptymodule->datatable = new stdclass(); +$tester->config->emptymodule->datatable->fieldList = array(); +$tester->config->emptymodule->datatable->fieldList['id'] = array('title' => 'id', 'width' => '80', 'fixed' => 'left'); +$tester->config->emptymodule->datatable->fieldList['name'] = array('title' => 'name', 'width' => 'auto', 'fixed' => 'left'); +$tester->config->emptymodule->datatable->defaultField = array('id', 'name'); + +// 设置emptymodule的语言变量 +$lang->emptymodule = new stdclass(); +$lang->emptymodule->id = 'ID'; +$lang->emptymodule->name = '名称'; + +r($datatableTest->getOldSettingTest('emptymodule')) && p() && e('Array'); // 步骤5:测试空配置模块返回默认设置 \ No newline at end of file