diff options
Diffstat (limited to 'tests/test_framework/phpbb_functional_test_case.php')
| -rw-r--r-- | tests/test_framework/phpbb_functional_test_case.php | 115 | 
1 files changed, 12 insertions, 103 deletions
diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php index e6a9023a3b..097db62e29 100644 --- a/tests/test_framework/phpbb_functional_test_case.php +++ b/tests/test_framework/phpbb_functional_test_case.php @@ -275,107 +275,6 @@ class phpbb_functional_test_case extends phpbb_test_case  		return user_add($user_row);  	} -	/** -	* Creates a topic -	*  -	* Be sure to login before creating -	*  -	* @param int $forum_id -	* @param string $subject -	* @param string $message -	* @param array $additional_form_data Any additional form data to be sent in the request -	* @return array post_id, topic_id -	*/ -	protected function create_topic($forum_id, $subject, $message, $additional_form_data = array()) -	{ -		$posting_url = "posting.php?mode=post&f={$forum_id}&sid={$this->sid}"; - -		$form_data = array_merge(array( -			'subject'		=> $subject, -			'message'		=> $message, -			'post'			=> true, -		), $additional_form_data); - -		return $this->submit_post($posting_url, 'POST_TOPIC', $form_data); -	} - -	/** -	* Creates a post -	*  -	* Be sure to login before creating -	*  -	* @param int $forum_id -	* @param string $subject -	* @param string $message -	* @param array $additional_form_data Any additional form data to be sent in the request -	* @return array post_id, topic_id -	*/ -	protected function create_post($forum_id, $topic_id, $subject, $message, $additional_form_data = array()) -	{ -		$posting_url = "posting.php?mode=reply&f={$forum_id}&t={$topic_id}&sid={$this->sid}"; - -		$form_data = array_merge(array( -			'subject'		=> $subject, -			'message'		=> $message, -			'post'			=> true, -		), $additional_form_data); - -		return $this->submit_post($posting_url, 'POST_REPLY', $form_data); -	} -	 -	/** -	* Helper for submitting posts -	*  -	* @param string $posting_url -	* @param string $posting_contains -	* @param array $form_data -	* @return array post_id, topic_id -	*/ -	protected function submit_post($posting_url, $posting_contains, $form_data) -	{ -		$this->add_lang('posting'); - -		$crawler = $this->request('GET', $posting_url); -		$this->assertContains($this->lang($posting_contains), $crawler->filter('html')->text()); - -		$hidden_fields = array( -			$crawler->filter('[type="hidden"]')->each(function ($node, $i) { -				return array('name' => $node->getAttribute('name'), 'value' => $node->getAttribute('value')); -			}), -		); - -		foreach ($hidden_fields as $fields) -		{ -			foreach($fields as $field) -			{ -				$form_data[$field['name']] = $field['value']; -			} -		} - -		// Bypass time restriction that said that if the lastclick time (i.e. time when the form was opened) -		// is not at least 2 seconds before submission, cancel the form -		$form_data['lastclick'] = 0; - -		// I use a request because the form submission method does not allow you to send data that is not -		// contained in one of the actual form fields that the browser sees (i.e. it ignores "hidden" inputs) -		// Instead, I send it as a request with the submit button "post" set to true. -		$crawler = $this->client->request('POST', $posting_url, $form_data); -		$this->assertContains($this->lang('POST_STORED'), $crawler->filter('html')->text()); - -		$url = $crawler->selectLink(str_replace('%s', '', $this->lang['VIEW_MESSAGE']))->link()->getUri(); -		 -		$matches = $topic_id = $post_id = false; -		preg_match_all('#&t=([0-9]+)(&p=([0-9]+))?#', $url, $matches); -		 -		$topic_id = (int) (isset($matches[1][0])) ? $matches[1][0] : 0; -		$post_id = (int) (isset($matches[3][0])) ? $matches[3][0] : 0; - -		return array( -			'topic_id'	=> $topic_id, -			'post_id'	=> $post_id, -		); -	} -  	protected function login($username = 'admin')  	{  		$this->add_lang('ucp'); @@ -400,7 +299,7 @@ class phpbb_functional_test_case extends phpbb_test_case  		}  	} -	protected function add_lang($lang_file) +	public function add_lang($lang_file)  	{  		if (is_array($lang_file))  		{ @@ -422,7 +321,7 @@ class phpbb_functional_test_case extends phpbb_test_case  		$this->lang = array_merge($this->lang, $lang);  	} -	protected function lang() +	public function lang()  	{  		$args = func_get_args();  		$key = $args[0]; @@ -451,4 +350,14 @@ class phpbb_functional_test_case extends phpbb_test_case  		$content = $this->client->getResponse()->getContent();  		$this->assertNotContains('Fatal error:', $content);  	} +	 +	public function get_sid() +	{ +		return $this->sid; +	} +	 +	public function get_client() +	{ +		return $this->client; +	}  }  | 
