* @link http://www.netcommons.org NetCommons Project
* @license http://www.netcommons.org/license.txt NetCommons License
* @copyright Copyright 2014, NetCommons Project
*/
/**
* Current::initialize()のControllerテスト
*
* @package NetCommons\Test\Fixture\CurrentLib
* @codeCoverageIgnore
* @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
*/
class CurrentLibControllerTestExpectedData {
/**
* お知らせ
*
* @param array $keys 当メソッドで内部的に処理するキーリスト
* @return array assertContains(assertNotContains)の結果配列
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public function getExpectedAnnouncement($keys) {
$results = [];
foreach ($keys as $key) {
switch ($key) {
case 'toppage':
$results[] = 'Top page Announcement Content
';
break;
case 'private':
$results[] = 'Private Announcement Content
';
break;
case 'public_1':
$results[] = 'Public Announcement Content 1
';
break;
case 'public_2':
$results[] = 'Public Announcement Content 2
';
break;
case 'public_3':
$results[] = 'Public Announcement Content 3
';
break;
case 'community_1':
$results[] = 'Community Room 1 Announcement Content 1
';
break;
case 'community_1_edit':
$results[] = 'name="data[Frame][id]" value="16"';
$results[] = 'name="data[Block][id]" value="11"';
$results[] = 'name="data[Block][key]" value="block_key_8"';
$results[] = 'name="data[Announcement][id]" value="8"';
$results[] = '<p>Community Room 1 Announcement Content 1</p>';
break;
case 'community_2':
$results[] = 'Community Room 2 Announcement Content 1
';
break;
}
}
return $results;
}
/**
* カレンダーの予定
*
* @param string $key 当メソッドで内部的に処理するキー
* @return array assertContains(assertNotContains)の結果配列
*/
public function getExpectedCalendarPlanView($key) {
$results = [];
switch ($key) {
case 'private_plan_1':
$results[] = 'Repeat Private Plan 1
';
break;
case 'private_plan_2':
$results[] = 'Repeat Private Plan 2
';
break;
}
return $results;
}
/**
* カレンダーの予定
*
* @param array $keys 当メソッドで内部的に処理するキーリスト
* @return array assetRegExpの結果配列の結果配列
*/
public function getExpectedCalendar($keys) {
$results = [];
foreach ($keys as $key) {
switch ($key) {
case 'public_plan_1':
$result =
'' .
'Repeat Public Plan 1' .
'';
break;
case 'private_plan_1':
$result =
'' .
'Repeat Private Plan 1' .
'';
break;
case 'private_plan_2':
$result =
'' .
'Repeat Private Plan 2' .
'';
break;
case 'community_plan_1':
$result =
'' .
'Repeat Room Plan 1' .
'';
break;
}
$results[] = '#' . $result . '#';
}
return $results;
}
/**
* 掲示板の記事詳細の予定
*
* @param string $key 当メソッドで内部的に処理するキー
* @return array assertContains(assertNotContains)の結果配列
*/
public function getExpectedBbsArticleView($key) {
$results = [];
switch ($key) {
case 'community_1_bbs_article_1':
$results[] = 'Community room 1 bbs 1 article 1 title';
break;
}
return $results;
}
/**
* 一覧へのリンク
*
* @param string $key 当メソッドで内部的に処理するキー
* @return array assetRegExpの結果配列の結果配列
*/
public function getExpectedToBackLink($key) {
$results = [];
switch ($key) {
case 'community_1_bbs_article_1':
$result =
'' .
' 一覧へ' .
'';
break;
}
$results[] = '#' . $result . '#';
return $results;
}
/**
* セッティングモード
*
* dataProviderで使用するため、__d()を行っても英語になってしまう。
* そのため、結果と異なってしまうので、日本語を直書きとする
*
* @param string $key 当メソッドで内部的に処理するキー
* @return array assertContains(assertNotContains)の結果配列
*/
public function getExpectedSettingMode($key) {
if ($key === 'on') {
return ['セッティングモードON'];
} else {
return ['セッティングモードOFF'];
}
}
/**
* ブロック設定タブ
*
* @param string $key 当メソッドで内部的に処理するキー
* @param string $active アクティブの項目
* @return array assetRegExpの結果配列
*/
public function getExpectedBlockSettingTabs($key, $active) {
$results = [];
if ($key === 'annoucnement') {
foreach (['block_setting', 'mail_setting', 'block_role_permission'] as $tabKey) {
if ($active === $tabKey) {
$result = '';
} else {
$result = '';
}
if ($tabKey === 'block_setting') {
$result .= 'ブロック設定';
} elseif ($tabKey === 'mail_setting') {
$result .= 'メール設定';
} elseif ($tabKey === 'block_role_permission') {
$result .= '権限設定';
}
$result .= '';
$results[] = '#' . $result . '#';
}
}
return $results;
}
/**
* フレームタイトル
*
* @param array $keys 当メソッドで内部的に処理するキーリスト
* @return array assertContains(assertNotContains)の結果配列
*/
public function getExpectedFrame($keys) {
$results = [];
foreach ($keys as $key) {
switch ($key) {
case 'menu':
$results[] = 'Menu frame';
break;
case 'community_1_announcement_edit_1':
$results[] = 'value="Community Room 1 Annoucnement frame 1"';
break;
}
}
return $results;
}
/**
* メニューリスト
*
* @param array $keys 当メソッドで内部的に処理するキーリスト
* @return array assertContains(assertNotContains)の結果配列
*/
public function getExpectedMenuList($keys) {
$results = [];
foreach ($keys as $key) {
switch ($key) {
case 'public':
$results[] = 'Home';
$results[] = 'Public room 1';
$results[] = 'Announcements Page';
break;
case 'private':
$results[] = 'プライベート';
break;
case 'community_1':
$results[] = 'Community room 1';
break;
case 'community_1_bbs_page':
$results[] = 'Community room 1 Bbs Page';
break;
case 'community_2':
$results[] = 'Community room 2';
break;
}
}
return $results;
}
/**
* メニューのアクティブ
*
* @param string $key 当メソッドで内部的に処理するキー
* @return array assetRegExpの結果配列の結果配列
*/
public function getExpectedActiveMenu($key) {
switch ($key) {
case 'toppage':
$result =
'' .
'Home';
break;
case 'public_announcement_page':
$result =
'' .
'Announcements Page';
break;
case 'public_calendar_page':
$result =
'' .
'Calendars Page';
break;
case 'private_administrator':
$result =
'' .
'プライベート';
break;
case 'private_general_user_1':
$result =
'' .
'プライベート';
break;
case 'community_1':
$result =
'' .
'Community room 1';
break;
case 'community_1_bbs_page':
$result =
'' .
'Community room 1 Bbs Page';
break;
case 'community_2':
$result =
'' .
'Community room 2';
break;
}
return ['#' . $result . '#'];
}
/**
* POST後のリダイレクトURL
*
* @param string $key 当メソッドで内部的に処理するキー
* @return array assetRegExpの結果配列の結果配列
*/
public function getExpectedRedirectAfterPost($key) {
$fullBaseUrl = preg_quote(Configure::read('App.fullBaseUrl'), '#');
switch ($key) {
case 'toppage':
$result =
'^' . $fullBaseUrl . '.*?/$';
break;
case 'public_announcement_page':
$result =
'^' . $fullBaseUrl . '.*?/announcements_page$';
break;
case 'public_calendars_page':
$result =
'^' . $fullBaseUrl . '.*?/calendars_page$';
break;
case 'public_announcement_page_setting_mode':
$result =
'^' . $fullBaseUrl . '.*?/setting/announcements_page$';
break;
case 'calendar_plan_with_frame_11':
$result =
'^' . $fullBaseUrl . '.*?/calendars/calendar_plans/view/[_0-9a-z]+\?frame_id=11$';
break;
case 'calendar_plan_without_frame':
$result =
'^' . $fullBaseUrl . '.*?/calendars/calendar_plans/view/[_0-9a-z]+$';
break;
case 'delete_calendar_plan_without_frame':
$year = gmdate('Y');
$month = gmdate('n');
$result =
'^' . $fullBaseUrl . '.*/calendars/calendars/index\?style=largemonthly&year=' . $year . '&month=' . $month . '$';
break;
}
return '#' . $result . '#';
}
/**
* POST後のリダイレクトURL
*
* @param string $frameAddAction Frame追加後に実行するアクション
* @return array assetRegExpの結果配列の結果配列
*/
public function getExpectedFrameAddRedirectAfterPost($frameAddAction) {
$fullBaseUrl = preg_quote(Configure::read('App.fullBaseUrl'), '#');
$result =
'^' . $fullBaseUrl . '.*?' . $frameAddAction . '\?frame_id=[0-9]+&page_id=10\#frame-[0-9]+' . '$';
return '#' . $result . '#';
}
}