diff --git a/module/dev/model.php b/module/dev/model.php index b2f34b1d5c..d762e49751 100644 --- a/module/dev/model.php +++ b/module/dev/model.php @@ -305,7 +305,7 @@ class devModel extends model */ public function getNavLang($type, $module, $method, $language = 'zh-cn', $defaultLang = null) { - if(empty($defaultLang)) $defaultLang = $this->loadDefaultLang(); + if(empty($defaultLang)) $defaultLang = $this->loadDefaultLang($language); $menus = new stdclass(); if($type == 'second') @@ -339,7 +339,7 @@ class devModel extends model } else { - $menus = $type == 'third' ? $defaultLang->$module->menu->{$method}['subMenu'] : $defaultLang->mainNav; + $menus = ($type == 'third' and isset($defaultLang->$module->menu->{$method}['subMenu'])) ? $defaultLang->$module->menu->{$method}['subMenu'] : $defaultLang->mainNav; } return $menus; @@ -505,7 +505,7 @@ class devModel extends model public function loadDefaultLang($language = 'zh-cn', $module = 'common') { $clientLang = $this->app->clientLang; - if($language != $clientLang) $this->app->clientLang = $language; + if($language and $language != $clientLang) $this->app->clientLang = $language; $langFilesToLoad = $this->app->getMainAndExtFiles($module); if($language != $clientLang) $this->app->clientLang = $clientLang; diff --git a/test/class/dev.class.php b/test/class/dev.class.php index 2795c672bd..75beb956bf 100644 --- a/test/class/dev.class.php +++ b/test/class/dev.class.php @@ -57,4 +57,20 @@ class devTest $result = $this->objectModel->getModules(); return $result; } + + /** + * Get nav lang. + * + * @param string $type + * @param string $module + * @param string $method + * @param string $language + * @param object $defaultLang + * @access public + * @return object + */ + public function getNavLangTest($type, $module, $method, $language = 'zh-cn', $defaultLang = null) + { + return $this->objectModel->getNavLang($type, $module, $method, $language, $defaultLang); + } } diff --git a/test/model/dev/getmoduleextpath.php b/test/model/dev/getmoduleextpath.php new file mode 100644 index 0000000000..40b8c7031d --- /dev/null +++ b/test/model/dev/getmoduleextpath.php @@ -0,0 +1,19 @@ +#!/usr/bin/env php +> xuan + +*/ + +global $tester; +$tester->loadModel('dev'); +$extPath = $tester->dev->getModuleExtPath(); + +r(key($extPath)) && p() && e('xuan'); // 获取扩展的模块路径 diff --git a/test/model/dev/getnavlang.php b/test/model/dev/getnavlang.php new file mode 100644 index 0000000000..e713e80c71 --- /dev/null +++ b/test/model/dev/getnavlang.php @@ -0,0 +1,43 @@ +#!/usr/bin/env php +> 地盘|my|index| +检查获取一级导航 >> 项目集|program|browse| +检查获取地盘二级导航 >> 仪表盘|my|index +检查获取敏捷项目二级英文导航 >> Dashboard|project|index|project=%s +检查获取瀑布项目二级中文导航 >> 仪表盘|project|index|project=%s +检查获取测试二级英文导航 >> Dashboard|qa|index +检查获取三级导航 >> 地盘|my|index| +检查获取地盘待处理三级导航 >> 任务|my|work|mode=task +检查获取项目设置三级导航 >> 概况|project|view|project=%s +检查获取项目测试英文三级导航 >> Bug|project|bug|projectID=%s +检查传入不存在的type >> 地盘|my|index| + +*/ + + +$typeList = array('', 'first', 'second', 'third', 'tag'); +$moduleList = array('', 'my', 'scrum', 'waterfall', 'qa'); +$methodList = array('', 'work', 'settings', 'qa', 'bug'); +$languageList = array('', 'zh-cn', 'en'); + +$devTester = new devTest(); +r($devTester->getNavLangTest($typeList[0], $moduleList[0], $methodList[0], $languageList[0])) && p('my') && e(" 地盘|my|index|"); // 检查传入空值时的情况 +r($devTester->getNavLangTest($typeList[1], $moduleList[0], $methodList[0], $languageList[1])) && p('program') && e(" 项目集|program|browse|"); // 检查获取一级导航 +r($devTester->getNavLangTest($typeList[2], $moduleList[1], $methodList[0], $languageList[1])) && p('menu_index:link') && e("仪表盘|my|index"); // 检查获取地盘二级导航 +r($devTester->getNavLangTest($typeList[2], $moduleList[2], $methodList[0], $languageList[2])) && p('menu_index:link') && e("Dashboard|project|index|project=%s"); // 检查获取敏捷项目二级英文导航 +r($devTester->getNavLangTest($typeList[2], $moduleList[3], $methodList[0], $languageList[1])) && p('menu_index:link') && e("仪表盘|project|index|project=%s"); // 检查获取瀑布项目二级中文导航 +r($devTester->getNavLangTest($typeList[2], $moduleList[4], $methodList[0], $languageList[2])) && p('menu_index:link') && e("Dashboard|qa|index"); // 检查获取测试二级英文导航 +r($devTester->getNavLangTest($typeList[3], $moduleList[0], $methodList[0], $languageList[0])) && p('my') && e(" 地盘|my|index|"); // 检查获取三级导航 +r($devTester->getNavLangTest($typeList[3], $moduleList[1], $methodList[1], $languageList[0])) && p('task:link') && e("任务|my|work|mode=task"); // 检查获取地盘待处理三级导航 +r($devTester->getNavLangTest($typeList[3], $moduleList[2], $methodList[2], $languageList[0])) && p('view:link') && e("概况|project|view|project=%s"); // 检查获取项目设置三级导航 +r($devTester->getNavLangTest($typeList[3], $moduleList[3], $methodList[3], $languageList[2])) && p('bug:link') && e("Bug|project|bug|projectID=%s"); // 检查获取项目测试英文三级导航 +r($devTester->getNavLangTest($typeList[4], $moduleList[0], $methodList[0], $languageList[0])) && p('my') && e(" 地盘|my|index|"); // 检查传入不存在的type