diff --git a/test/class/setting.class.php b/test/class/setting.class.php index 7c6639ea28..a2b6576de4 100644 --- a/test/class/setting.class.php +++ b/test/class/setting.class.php @@ -7,15 +7,30 @@ class settingTest $this->objectModel = $tester->loadModel('setting'); } + /** + * Get value of an item. + * + * @param string $paramString see parseItemParam(); + * @access public + * @return misc + */ public function getItemTest($paramString) { $objects = $this->objectModel->getItem($paramString); if(dao::isError()) return dao::getError(); - return $objects; + if($objects or $objects === 0 or $objects === '0') return true; + return false; } + /** + * Get some items. + * + * @param string $paramString see parseItemParam(); + * @access public + * @return array + */ public function getItemsTest($paramString) { $objects = $this->objectModel->getItems($paramString); @@ -25,15 +40,48 @@ class settingTest return $objects; } + /** + * Set value of an item. + * + * @param string $path system.common.global.sn | system.common.sn | system.common.global.sn@rnd + * @param string $value + * @access public + * @return void + */ public function setItemTest($path, $value = '') { - $objects = $this->objectModel->setItem($path, $value = ''); + $this->objectModel->setItem($path, $value); if(dao::isError()) return dao::getError(); + /* Determine vision of config item. */ + $pathVision = explode('@', $path); + $vision = isset($pathVision[1]) ? $pathVision[1] : ''; + $path = $pathVision[0]; + $level = substr_count($path, '.'); + $section = ''; + + if($level <= 1) return false; + if($level == 2) list($owner, $module, $key) = explode('.', $path); + if($level == 3) list($owner, $module, $section, $key) = explode('.', $path); + $paramString = "vision=$vision&owner=$owner&module=$module§ion=$section&key=$key"; + $objects = $this->objectModel->getItem($paramString); + return $objects; } + /** + * Batch set items, the example: + * + * $path = 'system.mail'; + * $items->turnon = true; + * $items->smtp->host = 'localhost'; + * + * @param string $path like system.mail + * @param array|object $items the items array or object, can be mixed by one level or two levels. + * @access public + * @return bool + */ public function setItemsTest($path, $items) { $objects = $this->objectModel->setItems($path, $items); @@ -43,15 +91,30 @@ class settingTest return $objects; } + /** + * Delete items. + * + * @param string $paramString see parseItemParam(); + * @access public + * @return void + */ public function deleteItemsTest($paramString) { - $objects = $this->objectModel->deleteItems($paramString); + $this->objectModel->deleteItems($paramString); if(dao::isError()) return dao::getError(); - return $objects; + $object = $this->getItemTest($paramString); + return $object; } + /** + * Parse the param string for select or delete items. + * + * @param string $paramString owner=xxx&key=sn and so on. + * @access public + * @return array + */ public function parseItemParamTest($paramString) { $objects = $this->objectModel->parseItemParam($paramString); diff --git a/test/model/setting/deleteitems.php b/test/model/setting/deleteitems.php index f4e098ab30..bffcdaa3fe 100644 --- a/test/model/setting/deleteitems.php +++ b/test/model/setting/deleteitems.php @@ -10,8 +10,51 @@ title=测试 settingModel->deleteItems(); cid=1 pid=1 +删除键是version的common模块下的系统数据 >> 0 +删除键是hourPoint的common模块下的系统数据 >> 0 +删除键是mode的common模块下的系统数据 >> 0 +删除键是CRProduct的common模块下的系统数据 >> 0 +删除键是sn的common模块下的数据 >> 0 +删除键是CRExection的common模块下的数据 >> 0 +删除键是mode、附件条件是safe的数据 >> 0 +删除键是URSR的数据 >> 0 +删除模块是story的数据 >> 0 +删除附加条件是xuanxuan的数据 >> 0 +删除所有者是admin的数据 >> 0 +删除视图是rnd的数据 >> 0 +删除所有的数据 >> 0 + */ $setting = new settingTest(); -r($setting->deleteItemsTest()) && p() && e(); \ No newline at end of file +$params = array(); +$params[0] = "vision=rnd&owner=system&module=common§ion=global&key=version"; +$params[1] = "vision=rnd&owner=system&module=common&key=hourPoint"; +$params[2] = "owner=system&module=common§ion=global&key=mode"; +$params[3] = "owner=system&module=common&key=CRProduct"; +$params[4] = "module=common§ion=global&key=sn"; +$params[5] = "module=common&key=CRExection"; +$params[6] = "section=safe&key=mode"; +$params[7] = "key=URSR"; +$params[8] = "module=story"; +$params[9] = "section=xuanxuan"; +$params[10] = "owner=admin"; +$params[11] = "vision=rnd"; +$params[12] = ""; + +r($setting->deleteItemsTest($params[0])) && p() && e('0'); // 删除键是version的common模块下的系统数据 +r($setting->deleteItemsTest($params[1])) && p() && e('0'); // 删除键是hourPoint的common模块下的系统数据 +r($setting->deleteItemsTest($params[2])) && p() && e('0'); // 删除键是mode的common模块下的系统数据 +r($setting->deleteItemsTest($params[3])) && p() && e('0'); // 删除键是CRProduct的common模块下的系统数据 +r($setting->deleteItemsTest($params[4])) && p() && e('0'); // 删除键是sn的common模块下的数据 +r($setting->deleteItemsTest($params[5])) && p() && e('0'); // 删除键是CRExection的common模块下的数据 +r($setting->deleteItemsTest($params[6])) && p() && e('0'); // 删除键是mode、附件条件是safe的数据 +r($setting->deleteItemsTest($params[7])) && p() && e('0'); // 删除键是URSR的数据 +r($setting->deleteItemsTest($params[8])) && p() && e('0'); // 删除模块是story的数据 +r($setting->deleteItemsTest($params[9])) && p() && e('0'); // 删除附加条件是xuanxuan的数据 +r($setting->deleteItemsTest($params[10])) && p() && e('0'); // 删除所有者是admin的数据 +r($setting->deleteItemsTest($params[11])) && p() && e('0'); // 删除视图是rnd的数据 +r($setting->deleteItemsTest($params[12])) && p() && e('0'); // 删除所有的数据 + +system("./ztest init"); diff --git a/test/model/setting/getitem.php b/test/model/setting/getitem.php index 5f225edb7e..02b4bd84e7 100644 --- a/test/model/setting/getitem.php +++ b/test/model/setting/getitem.php @@ -10,8 +10,79 @@ title=测试 settingModel->getItem(); cid=1 pid=1 +查询所有数据的第一条 >> 1 +查询所有者是系统的第一条数据 >> 1 +查询所有者是系统的第一条数据 >> 1 +查询所属模块是custom的第一条数据 >> 1 +查询附加条件是global的第一条数据 >> 1 +查询值是CRProduct的第一条数据 >> 1 +查询研发界面中所有者是系统的第一条数据 >> 1 +查询研发界面中所属模块是custom的第一条数据 >> 1 +查询研发界面中附加条件是global的第一条数据 >> 1 +查询研发界面中值是CRProduct的第一条数据 >> 1 +查询所有者是系统并且所属模块是custom的第一条数据 >> 1 +查询所有者是系统并且附加条件是global的第一条数据 >> 1 +查询所有者是系统并且值是CRProduct的第一条数据 >> 1 +查询所有者是系统并且所属模块是common、附加条件是global的第一条数据 >> 1 +查询所有者是系统并且所属模块是common、值是CRProduct的第一条数据 >> 1 +查询所有者是系统并且所属模块是common、附加条件是global、值是version的第一条数据 >> 1 +查询所有者是admin并且所属模块是common、值是URSR的第一条数据 >> 1 +查询所有者是admin并且所属模块是common、附加条件是block、值是initVersion的第一条数据 >> 1 +查询不存在的界面配置 >> 0 +查询不存在的所有者配置 >> 0 +查询不存在的模块配置 >> 0 +查询不存在的附加条件配置 >> 0 +查询不存在的值配置 >> 0 + */ $setting = new settingTest(); -r($setting->getItemTest()) && p() && e(); \ No newline at end of file +$items = array(); +$items[0] = ""; +$items[1] = "vision=rnd"; +$items[2] = "owner=system"; +$items[3] = "module=custom"; +$items[4] = "section=global"; +$items[5] = "key=CRProduct"; +$items[6] = "vision=rnd&owner=system"; +$items[7] = "vision=rnd&module=custom"; +$items[8] = "vision=rnd§ion=global"; +$items[9] = "vision=rnd&key=CRProduct"; +$items[10] = "owner=system&module=custom"; +$items[11] = "owner=system§ion=global"; +$items[12] = "owner=system&key=CRProduct"; +$items[13] = "owner=system&module=common§ion=global"; +$items[14] = "owner=system&module=common&key=CRExecution"; +$items[15] = "owner=system&module=common§ion=global&key=version"; +$items[16] = "owner=admin&module=common&key=URSR"; +$items[17] = "owner=admin&module=my§ion=block&key=initVersion"; +$items[18] = "vision=test"; +$items[19] = "owner=test"; +$items[20] = "module=test"; +$items[21] = "section=test"; +$items[22] = "key=test"; + +r($setting->getItemTest($items[0])) && p() && e('1'); // 查询所有数据的第一条 +r($setting->getItemTest($items[1])) && p() && e('1'); // 查询所有者是系统的第一条数据 +r($setting->getItemTest($items[2])) && p() && e('1'); // 查询所有者是系统的第一条数据 +r($setting->getItemTest($items[3])) && p() && e('1'); // 查询所属模块是custom的第一条数据 +r($setting->getItemTest($items[4])) && p() && e('1'); // 查询附加条件是global的第一条数据 +r($setting->getItemTest($items[5])) && p() && e('1'); // 查询值是CRProduct的第一条数据 +r($setting->getItemTest($items[6])) && p() && e('1'); // 查询研发界面中所有者是系统的第一条数据 +r($setting->getItemTest($items[7])) && p() && e('1'); // 查询研发界面中所属模块是custom的第一条数据 +r($setting->getItemTest($items[8])) && p() && e('1'); // 查询研发界面中附加条件是global的第一条数据 +r($setting->getItemTest($items[9])) && p() && e('1'); // 查询研发界面中值是CRProduct的第一条数据 +r($setting->getItemTest($items[10])) && p() && e('1'); // 查询所有者是系统并且所属模块是custom的第一条数据 +r($setting->getItemTest($items[11])) && p() && e('1'); // 查询所有者是系统并且附加条件是global的第一条数据 +r($setting->getItemTest($items[12])) && p() && e('1'); // 查询所有者是系统并且值是CRProduct的第一条数据 +r($setting->getItemTest($items[13])) && p() && e('1'); // 查询所有者是系统并且所属模块是common、附加条件是global的第一条数据 +r($setting->getItemTest($items[14])) && p() && e('1'); // 查询所有者是系统并且所属模块是common、值是CRProduct的第一条数据 +r($setting->getItemTest($items[15])) && p() && e('1'); // 查询所有者是系统并且所属模块是common、附加条件是global、值是version的第一条数据 +r($setting->getItemTest($items[16])) && p() && e('1'); // 查询所有者是admin并且所属模块是common、值是URSR的第一条数据 +r($setting->getItemTest($items[17])) && p() && e('1'); // 查询所有者是admin并且所属模块是my、附加条件是block、值是initVersion的第一条数据 +r($setting->getItemTest($items[18])) && p() && e('0'); // 查询不存在的界面配置 +r($setting->getItemTest($items[19])) && p() && e('0'); // 查询不存在的所有者配置 +r($setting->getItemTest($items[20])) && p() && e('0'); // 查询不存在的模块配置 +r($setting->getItemTest($items[21])) && p() && e('0'); // 查询不存在的附加条件配置 +r($setting->getItemTest($items[22])) && p() && e('0'); // 查询不存在的值配置 diff --git a/test/model/setting/getitems.php b/test/model/setting/getitems.php index 26a599d319..a9850988c5 100644 --- a/test/model/setting/getitems.php +++ b/test/model/setting/getitems.php @@ -10,8 +10,79 @@ title=测试 settingModel->getItems(); cid=1 pid=1 +查询所有数据中的第一条数据 >> 0 +查询所有者是系统的第一条数据 >> 0 +查询所有者是系统的第一条数据 >> 0 +查询所属模块是custom的第一条数据 >> 0 +查询附加条件是global的第一条数据 >> new +查询值是CRProduct的第一条数据 >> 1 +查询研发界面中所有者是系统的第一条数据 >> 1 +查询研发界面中所属模块是custom的第一条数据 >> 0 +查询研发界面中附加条件是global的第一条数据 >> new +查询研发界面中值是CRProduct的第一条数据 >> 1 +查询所有者是系统并且所属模块是custom的第一条数据 >> 0 +查询所有者是系统并且附加条件是global的第一条数据 >> new +查询所有者是系统并且值是CRProduct的第一条数据 >> 1 +查询所有者是系统并且所属模块是common、附加条件是global的第一条数据 >> new +查询所有者是系统并且所属模块是common、值是CRProduct的第一条数据 >> 1 +查询所有者是系统并且所属模块是common、附加条件是global、值是version的第一条数据 >> 16.5 +查询所有者是admin并且所属模块是common、值是URSR的第一条数据 >> 2 +查询所有者是admin并且所属模块是my、附加条件是block、值是initVersion的第一条数据 >> 2 +查询不存在的界面配置 >> 0 +查询不存在的所有者配置 >> 0 +查询不存在的模块配置 >> 0 +查询不存在的附加条件配置 >> 0 +查询不存在的值配置 >> 0 + */ $setting = new settingTest(); -r($setting->getItemsTest()) && p() && e(); \ No newline at end of file +$items = array(); +$items[0] = ""; +$items[1] = "vision=rnd"; +$items[2] = "owner=system"; +$items[3] = "module=custom"; +$items[4] = "section=global"; +$items[5] = "key=CRProduct"; +$items[6] = "vision=rnd&owner=system"; +$items[7] = "vision=rnd&module=custom"; +$items[8] = "vision=rnd§ion=global"; +$items[9] = "vision=rnd&key=CRProduct"; +$items[10] = "owner=system&module=custom"; +$items[11] = "owner=system§ion=global"; +$items[12] = "owner=system&key=CRProduct"; +$items[13] = "owner=system&module=common§ion=global"; +$items[14] = "owner=system&module=common&key=CRExecution"; +$items[15] = "owner=system&module=common§ion=global&key=version"; +$items[16] = "owner=admin&module=common&key=URSR"; +$items[17] = "owner=admin&module=my§ion=block&key=initVersion"; +$items[18] = "vision=test"; +$items[19] = "owner=test"; +$items[20] = "module=test"; +$items[21] = "section=test"; +$items[22] = "key=test"; + +r($setting->getItemsTest($items[0])) && p('1:value') && e('0'); // 查询所有数据中的第一条数据 +r($setting->getItemsTest($items[1])) && p('1:value') && e('0'); // 查询所有者是系统的第一条数据 +r($setting->getItemsTest($items[2])) && p('1:value') && e('0'); // 查询所有者是系统的第一条数据 +r($setting->getItemsTest($items[3])) && p('1:value') && e('0'); // 查询所属模块是custom的第一条数据 +r($setting->getItemsTest($items[4])) && p('9:value') && e('new'); // 查询附加条件是global的第一条数据 +r($setting->getItemsTest($items[5])) && p('2:value') && e('1'); // 查询值是CRProduct的第一条数据 +r($setting->getItemsTest($items[6])) && p('3:value') && e('1'); // 查询研发界面中所有者是系统的第一条数据 +r($setting->getItemsTest($items[7])) && p('1:value') && e('0'); // 查询研发界面中所属模块是custom的第一条数据 +r($setting->getItemsTest($items[8])) && p('9:value') && e('new'); // 查询研发界面中附加条件是global的第一条数据 +r($setting->getItemsTest($items[9])) && p('2:value') && e('1'); // 查询研发界面中值是CRProduct的第一条数据 +r($setting->getItemsTest($items[10])) && p('1:value') && e('0'); // 查询所有者是系统并且所属模块是custom的第一条数据 +r($setting->getItemsTest($items[11])) && p('9:value') && e('new'); // 查询所有者是系统并且附加条件是global的第一条数据 +r($setting->getItemsTest($items[12])) && p('2:value') && e('1'); // 查询所有者是系统并且值是CRProduct的第一条数据 +r($setting->getItemsTest($items[13])) && p('9:value') && e('new'); // 查询所有者是系统并且所属模块是common、附加条件是global的第一条数据 +r($setting->getItemsTest($items[14])) && p('3:value') && e('1'); // 查询所有者是系统并且所属模块是common、值是CRProduct的第一条数据 +r($setting->getItemsTest($items[15])) && p('10:value') && e('16.5'); // 查询所有者是系统并且所属模块是common、附加条件是global、值是version的第一条数据 +r($setting->getItemsTest($items[16])) && p('25:value') && e('2'); // 查询所有者是admin并且所属模块是common、值是URSR的第一条数据 +r($setting->getItemsTest($items[17])) && p('32:value') && e('2'); // 查询所有者是admin并且所属模块是my、附加条件是block、值是initVersion的第一条数据 +r($setting->getItemsTest($items[18])) && p() && e('0'); // 查询不存在的界面配置 +r($setting->getItemsTest($items[19])) && p() && e('0'); // 查询不存在的所有者配置 +r($setting->getItemsTest($items[20])) && p() && e('0'); // 查询不存在的模块配置 +r($setting->getItemsTest($items[21])) && p() && e('0'); // 查询不存在的附加条件配置 +r($setting->getItemsTest($items[22])) && p() && e('0'); // 查询不存在的值配置 diff --git a/test/model/setting/parseitemparam.php b/test/model/setting/parseitemparam.php index a121884eb0..d38369bf72 100644 --- a/test/model/setting/parseitemparam.php +++ b/test/model/setting/parseitemparam.php @@ -10,8 +10,49 @@ title=测试 settingModel->parseItemParam(); cid=1 pid=1 +解析参数包含vision、owner、module、section、key的数据 >> rnd,system,common,global,version +解析参数包含vision、owner、module、key的数据 >> rnd,system,common,,hourPoint +解析参数包含owner、module、section、key的数据 >> ,system,common,global,mode +解析参数包含owner、module、key的数据 >> ,system,common,,CRProduct +解析参数包含module、section、key的数据 >> ,,common,global,sn +解析参数包含module、key的数据 >> ,,common,,CRExection +解析参数包含section、key的数据 >> ,,,safe,mode +解析参数包含key的数据 >> ,,,,URSR +解析参数包含module的数据 >> ,,story,, +解析参数包含section的数据 >> ,,,xuanxuan, +解析参数包含owner的数据 >> ,admin,,, +解析参数包含vision的数据 >> rnd,,,, +解析空数据 >> ,,,, + */ $setting = new settingTest(); -r($setting->parseItemParamTest()) && p() && e(); \ No newline at end of file +$params = array(); +$params[0] = "vision=rnd&owner=system&module=common§ion=global&key=version"; +$params[1] = "vision=rnd&owner=system&module=common&key=hourPoint"; +$params[2] = "owner=system&module=common§ion=global&key=mode"; +$params[3] = "owner=system&module=common&key=CRProduct"; +$params[4] = "module=common§ion=global&key=sn"; +$params[5] = "module=common&key=CRExection"; +$params[6] = "section=safe&key=mode"; +$params[7] = "key=URSR"; +$params[8] = "module=story"; +$params[9] = "section=xuanxuan"; +$params[10] = "owner=admin"; +$params[11] = "vision=rnd"; +$params[12] = ""; + +r($setting->parseItemParamTest($params[0])) && p('vision,owner,module,section,key') && e('rnd,system,common,global,version'); // 解析参数包含vision、owner、module、section、key的数据 +r($setting->parseItemParamTest($params[1])) && p('vision,owner,module,section,key') && e('rnd,system,common,,hourPoint'); // 解析参数包含vision、owner、module、key的数据 +r($setting->parseItemParamTest($params[2])) && p('vision,owner,module,section,key') && e(',system,common,global,mode'); // 解析参数包含owner、module、section、key的数据 +r($setting->parseItemParamTest($params[3])) && p('vision,owner,module,section,key') && e(',system,common,,CRProduct'); // 解析参数包含owner、module、key的数据 +r($setting->parseItemParamTest($params[4])) && p('vision,owner,module,section,key') && e(',,common,global,sn'); // 解析参数包含module、section、key的数据 +r($setting->parseItemParamTest($params[5])) && p('vision,owner,module,section,key') && e(',,common,,CRExection'); // 解析参数包含module、key的数据 +r($setting->parseItemParamTest($params[6])) && p('vision,owner,module,section,key') && e(',,,safe,mode'); // 解析参数包含section、key的数据 +r($setting->parseItemParamTest($params[7])) && p('vision,owner,module,section,key') && e(',,,,URSR'); // 解析参数包含key的数据 +r($setting->parseItemParamTest($params[8])) && p('vision,owner,module,section,key') && e(',,story,,'); // 解析参数包含module的数据 +r($setting->parseitemparamtest($params[9])) && p('vision,owner,module,section,key') && e(',,,xuanxuan,'); // 解析参数包含section的数据 +r($setting->parseitemparamtest($params[10])) && p('vision,owner,module,section,key') && e(',admin,,,'); // 解析参数包含owner的数据 +r($setting->parseitemparamtest($params[11])) && p('vision,owner,module,section,key') && e('rnd,,,,'); // 解析参数包含vision的数据 +r($setting->parseitemparamtest($params[12])) && p('vision,owner,module,section,key') && e(',,,,'); // 解析空数据 diff --git a/test/model/setting/setitem.php b/test/model/setting/setitem.php index 698edea9f0..4109182225 100644 --- a/test/model/setting/setitem.php +++ b/test/model/setting/setitem.php @@ -10,8 +10,66 @@ title=测试 settingModel->setItem(); cid=1 pid=1 +设置没有vision的空数据 >> 0 +设置没有vision的只有视图的数据 >> 0 +设置没有vision的所有者是system的数据 >> 0 +设置没有vision的my模块的系统数据 >> 0 +设置没有vision的project模块的系统数据 >> test4 +设置没有vision的product模块的系统数据 >> test5 +设置没有vision的所有者是admin的数据 >> 0 +设置没有vision的common模块的admin配置数据 >> 0 +设置没有vision的project模块的admin配置数据 >> test8 +设置没有vision的product模块的admin配置数据 >> test9 +设置有vision的所有者是system的数据 >> 0 +设置有vision的my模块的系统数据 >> 0 +设置有vision的project模块的系统数据 >> test12 +设置有vision的product模块的系统数据 >> test13 +设置有vision的所有者是admin的数据 >> 0 +设置有vision的common模块的admin配置数据 >> 0 +设置有vision的project模块的admin配置数据 >> test16 +设置有vision的product模块的admin配置数据 >> test17 + */ $setting = new settingTest(); -r($setting->setItemTest()) && p() && e(); \ No newline at end of file +$pathList = array(); +$pathList[0] = ""; +$pathList[1] = "@rnd"; +$pathList[2] = "system"; +$pathList[3] = "system.my"; +$pathList[4] = "system.project.list"; +$pathList[5] = "system.product.global.story"; +$pathList[6] = "admin"; +$pathList[7] = "admin.common"; +$pathList[8] = "admin.project.list"; +$pathList[9] = "admin.product.global.story"; +$pathList[10] = "system@rnd"; +$pathList[11] = "system.my@rnd"; +$pathList[12] = "system.project.list@rnd"; +$pathList[13] = "system.product.global.story@rnd"; +$pathList[14] = "admin@rnd"; +$pathList[15] = "admin.common@rnd"; +$pathList[16] = "admin.project.list@rnd"; +$pathList[17] = "admin.product.global.story@rnd"; + +r($setting->setItemTest($pathList[0], 'test0')) && p() && e('0'); // 设置没有vision的空数据 +r($setting->setItemTest($pathList[1], 'test1')) && p() && e('0'); // 设置没有vision的只有视图的数据 +r($setting->setItemTest($pathList[2], 'test2')) && p() && e('0'); // 设置没有vision的所有者是system的数据 +r($setting->setItemTest($pathList[3], 'test3')) && p() && e('0'); // 设置没有vision的my模块的系统数据 +r($setting->setItemTest($pathList[4], 'test4')) && p() && e('test4'); // 设置没有vision的project模块的系统数据 +r($setting->setItemTest($pathList[5], 'test5')) && p() && e('test5'); // 设置没有vision的product模块的系统数据 +r($setting->setItemTest($pathList[6], 'test6')) && p() && e('0'); // 设置没有vision的所有者是admin的数据 +r($setting->setItemTest($pathList[7], 'test7')) && p() && e('0'); // 设置没有vision的common模块的admin配置数据 +r($setting->setItemTest($pathList[8], 'test8')) && p() && e('test8'); // 设置没有vision的project模块的admin配置数据 +r($setting->setItemTest($pathList[9], 'test9')) && p() && e('test9'); // 设置没有vision的product模块的admin配置数据 +r($setting->setItemTest($pathList[10], 'test10')) && p() && e('0'); // 设置有vision的所有者是system的数据 +r($setting->setItemTest($pathList[11], 'test11')) && p() && e('0'); // 设置有vision的my模块的系统数据 +r($setting->setItemTest($pathList[12], 'test12')) && p() && e('test12'); // 设置有vision的project模块的系统数据 +r($setting->setItemTest($pathList[13], 'test13')) && p() && e('test13'); // 设置有vision的product模块的系统数据 +r($setting->setItemTest($pathList[14], 'test14')) && p() && e('0'); // 设置有vision的所有者是admin的数据 +r($setting->setItemTest($pathList[15], 'test15')) && p() && e('0'); // 设置有vision的common模块的admin配置数据 +r($setting->setItemTest($pathList[16], 'test16')) && p() && e('test16'); // 设置有vision的project模块的admin配置数据 +r($setting->setItemTest($pathList[17], 'test17')) && p() && e('test17'); // 设置有vision的product模块的admin配置数据 + +system("./ztest init"); diff --git a/test/model/setting/setitems.php b/test/model/setting/setitems.php index 90161bb8d3..ef4c662e38 100644 --- a/test/model/setting/setitems.php +++ b/test/model/setting/setitems.php @@ -10,8 +10,84 @@ title=测试 settingModel->setItems(); cid=1 pid=1 +创建空数据 >> 1 +创建没有vision,只有视图且值为空的数据 >> 1 +创建没有vision,只有所有者且值为空的数据 >> 1 +创建没有vision,my模块且值为空的数据 >> 1 +创建没有vision,只有所有者且值为空的数据 >> 1 +创建没有vision,common模块且值为空的数据 >> 1 +创建有vision,只有所有者且值为空的数据 >> 1 +创建有vision,my模块且值为空的数据 >> 1 +创建有vision,只有所有者且值为空的数据 >> 1 +创建有vision,common模块且值为空的数据 >> 1 +创建没有vision,只有视图且值project的数据 >> 1 +创建没有vision,只有所有者且值为project的数据 >> 1 +创建没有vision,my模块且值为project的数据 >> 1 +创建没有vision,只有所有者且值为project的数据 >> 1 +创建没有vision,common模块且值为project的数据 >> 1 +创建有vision,只有所有者且值为project的数据 >> 1 +创建有vision,my模块且值为project的数据 >> 1 +创建有vision,只有所有者且值为project的数据 >> 1 +创建有vision,common模块且值为project的数据 >> 1 +创建没有vision,只有视图且值project和story的数据 >> 1 +创建没有vision,只有所有者且值为project和story的数据 >> 1 +创建没有vision,my模块且值为project和story的数据 >> 1 +创建没有vision,只有所有者且值为project和story的数据 >> 1 +创建没有vision,common模块且值为project和story的数据 >> 1 +创建有vision,只有所有者且值为project和story的数据 >> 1 +创建有vision,my模块且值为project和story的数据 >> 1 +创建有vision,只有所有者且值为project和story的数据 >> 1 +创建有vision,common模块且值为project和story的数据 >> 1 + */ $setting = new settingTest(); -r($setting->setItemsTest()) && p() && e(); \ No newline at end of file +$pathList = array(); +$pathList[0] = ""; +$pathList[1] = "@rnd"; +$pathList[2] = "system"; +$pathList[3] = "system.my"; +$pathList[4] = "admin"; +$pathList[5] = "admin.common"; +$pathList[6] = "system@rnd"; +$pathList[7] = "system.my@rnd"; +$pathList[8] = "admin@rnd"; +$pathList[9] = "admin.common@rnd"; + +$items = new stdclass(); +r($setting->setItemsTest($pathList[0], $items)) && p() && e('1'); // 创建空数据 +r($setting->setItemsTest($pathList[1], $items)) && p() && e('1'); // 创建没有vision,只有视图且值为空的数据 +r($setting->setItemsTest($pathList[2], $items)) && p() && e('1'); // 创建没有vision,只有所有者且值为空的数据 +r($setting->setItemsTest($pathList[3], $items)) && p() && e('1'); // 创建没有vision,my模块且值为空的数据 +r($setting->setItemsTest($pathList[4], $items)) && p() && e('1'); // 创建没有vision,只有所有者且值为空的数据 +r($setting->setItemsTest($pathList[5], $items)) && p() && e('1'); // 创建没有vision,common模块且值为空的数据 +r($setting->setItemsTest($pathList[6], $items)) && p() && e('1'); // 创建有vision,只有所有者且值为空的数据 +r($setting->setItemsTest($pathList[7], $items)) && p() && e('1'); // 创建有vision,my模块且值为空的数据 +r($setting->setItemsTest($pathList[8], $items)) && p() && e('1'); // 创建有vision,只有所有者且值为空的数据 +r($setting->setItemsTest($pathList[9], $items)) && p() && e('1'); // 创建有vision,common模块且值为空的数据 + +$items->projectList = 'project'; +r($setting->setItemsTest($pathList[1], $items)) && p() && e('1'); // 创建没有vision,只有视图且值project的数据 +r($setting->setItemsTest($pathList[2], $items)) && p() && e('1'); // 创建没有vision,只有所有者且值为project的数据 +r($setting->setItemsTest($pathList[3], $items)) && p() && e('1'); // 创建没有vision,my模块且值为project的数据 +r($setting->setItemsTest($pathList[4], $items)) && p() && e('1'); // 创建没有vision,只有所有者且值为project的数据 +r($setting->setItemsTest($pathList[5], $items)) && p() && e('1'); // 创建没有vision,common模块且值为project的数据 +r($setting->setItemsTest($pathList[6], $items)) && p() && e('1'); // 创建有vision,只有所有者且值为project的数据 +r($setting->setItemsTest($pathList[7], $items)) && p() && e('1'); // 创建有vision,my模块且值为project的数据 +r($setting->setItemsTest($pathList[8], $items)) && p() && e('1'); // 创建有vision,只有所有者且值为project的数据 +r($setting->setItemsTest($pathList[9], $items)) && p() && e('1'); // 创建有vision,common模块且值为project的数据 + +$items->global = new stdclass(); +$items->global->productList = 'story'; +r($setting->setItemsTest($pathList[1], $items)) && p() && e('1'); // 创建没有vision,只有视图且值project和story的数据 +r($setting->setItemsTest($pathList[2], $items)) && p() && e('1'); // 创建没有vision,只有所有者且值为project和story的数据 +r($setting->setItemsTest($pathList[3], $items)) && p() && e('1'); // 创建没有vision,my模块且值为project和story的数据 +r($setting->setItemsTest($pathList[4], $items)) && p() && e('1'); // 创建没有vision,只有所有者且值为project和story的数据 +r($setting->setItemsTest($pathList[5], $items)) && p() && e('1'); // 创建没有vision,common模块且值为project和story的数据 +r($setting->setItemsTest($pathList[6], $items)) && p() && e('1'); // 创建有vision,只有所有者且值为project和story的数据 +r($setting->setItemsTest($pathList[7], $items)) && p() && e('1'); // 创建有vision,my模块且值为project和story的数据 +r($setting->setItemsTest($pathList[8], $items)) && p() && e('1'); // 创建有vision,只有所有者且值为project和story的数据 +r($setting->setItemsTest($pathList[9], $items)) && p() && e('1'); // 创建有vision,common模块且值为project和story的数据 + +system("./ztest init");