aboutsummaryrefslogtreecommitdiffstats
path: root/tests/functional
diff options
context:
space:
mode:
authorFyorl <gaelreth@gmail.com>2012-07-08 01:22:26 +0100
committerFyorl <gaelreth@gmail.com>2012-07-09 14:08:19 +0100
commitb65f08dd95de07405ed7f19fd980ca7d09925406 (patch)
treec05b6c612e0d1073956d8fbd9631dd19cd93dc7d /tests/functional
parenta4717ef525969427aac77eb077f28ee2d587126c (diff)
downloadforums-b65f08dd95de07405ed7f19fd980ca7d09925406.tar
forums-b65f08dd95de07405ed7f19fd980ca7d09925406.tar.gz
forums-b65f08dd95de07405ed7f19fd980ca7d09925406.tar.bz2
forums-b65f08dd95de07405ed7f19fd980ca7d09925406.tar.xz
forums-b65f08dd95de07405ed7f19fd980ca7d09925406.zip
[ticket/10941] Rearranged tests into their own classes or methods
PHPBB3-10941
Diffstat (limited to 'tests/functional')
-rw-r--r--tests/functional/fileupload_test.php97
-rw-r--r--tests/functional/fileupload_test_form.php62
-rw-r--r--tests/functional/fileupload_test_remote.php71
3 files changed, 133 insertions, 97 deletions
diff --git a/tests/functional/fileupload_test.php b/tests/functional/fileupload_test.php
deleted file mode 100644
index 2abf81c457..0000000000
--- a/tests/functional/fileupload_test.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-/**
- *
- * @package testing
- * @copyright (c) 2012 phpBB Group
- * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
- *
- */
-
-/**
- * @group functional
- */
-class phpbb_functional_fileupload_test extends phpbb_functional_test_case
-{
- public function test_form_upload()
- {
- $path = __DIR__ . '/fixtures/files/';
- $this->add_lang('posting');
- $this->login();
-
- // Test 1: Invalid extension
- $crawler = $this->request('GET', 'posting.php?mode=reply&f=2&t=1&sid=' . $this->sid);
- $form = $crawler->selectButton('add_file')->form();
- $form['fileupload']->upload($path . 'illegal-extension.bif');
- $crawler = $this->client->submit($form);
- $this->assertEquals('The extension bif is not allowed.', $crawler->filter('p.error')->text());
-
- // Test 2: Empty file
- $crawler = $this->request('GET', 'posting.php?mode=reply&f=2&t=1&sid=' . $this->sid);
- $form = $crawler->selectButton('add_file')->form();
- $form['fileupload']->upload($path . 'empty.png');
- $crawler = $this->client->submit($form);
- $this->assertEquals('The image file you tried to attach is invalid.', $crawler->filter('div#message p')->text());
-
- // Test 3: File too large
- // Cannot be tested by an admin account which this functional framework
- // provides
- /*$crawler = $this->request('GET', 'posting.php?mode=reply&f=2&t=1&sid=' . $this->sid);
- $form = $crawler->selectButton('add_file')->form();
- $form['fileupload']->upload($path . 'too-large.png');
- $crawler = $this->client->submit($form);
- $this->assertEquals(1, $crawler->filter('div#message')->count());*/
-
- // Test 4: Valid file
- $crawler = $this->request('GET', 'posting.php?mode=reply&f=2&t=1&sid=' . $this->sid);
- $form = $crawler->selectButton('add_file')->form();
- $form['fileupload']->upload($path . 'valid.jpg');
- $crawler = $this->client->submit($form);
- $this->assertEquals(0, $crawler->filter('p.error')->count());
- $this->assertContains($this->lang('POSTED_ATTACHMENTS'), $crawler->filter('#postform h3')->eq(1)->text());
- }
-
- public function test_remote_upload()
- {
- // Only doing this within the functional framework because we need a
- // URL
-
- // Global $config required by unique_id
- // Global $user required by fileupload::remote_upload
- global $config, $user;
-
- if (!is_array($config))
- {
- $config = array();
- }
-
- $config['rand_seed'] = '';
- $config['rand_seed_last_update'] = time() + 600;
-
- $user = new phpbb_mock_user();
- $user->lang = new phpbb_mock_lang();
-
- // Test 1: Invalid extension
- $upload = new fileupload('', array('jpg'), 100);
- $file = $upload->remote_upload('http://example.com/image.gif');
- $this->assertEquals('URL_INVALID', $file->error[0]);
-
- // Test 2: Non-existant file
- $upload = new fileupload('', array('jpg'), 100);
- $file = $upload->remote_upload('http://example.com/image.jpg');
- $this->assertEquals('EMPTY_REMOTE_DATA', $file->error[0]);
-
- // Test 3: File too large
- $upload = new fileupload('', array('gif'), 100);
- $file = $upload->remote_upload($this->root_url . 'styles/prosilver/theme/images/forum_read.gif');
- $this->assertEquals('WRONG_FILESIZE', $file->error[0]);
-
- // Test 4: Successful upload
- $upload = new fileupload('', array('gif'), 1000);
- $file = $upload->remote_upload($this->root_url . 'styles/prosilver/theme/images/forum_read.gif');
- $this->assertEquals(0, sizeof($file->error));
- $this->assertTrue(file_exists($file->filename));
-
- $config = array();
- $user = null;
- }
-}
diff --git a/tests/functional/fileupload_test_form.php b/tests/functional/fileupload_test_form.php
new file mode 100644
index 0000000000..48fa75ca4b
--- /dev/null
+++ b/tests/functional/fileupload_test_form.php
@@ -0,0 +1,62 @@
+<?php
+/**
+ *
+ * @package testing
+ * @copyright (c) 2012 phpBB Group
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
+ *
+ */
+
+/**
+ * @group functional
+ */
+class phpbb_functional_fileupload_test_form extends phpbb_functional_test_case
+{
+ private $path;
+
+ protected function setUp()
+ {
+ $this->path = __DIR__ . '/fixtures/files/';
+ $this->add_lang('posting');
+ $this->login();
+ }
+
+ public function test_empty_file()
+ {
+ $crawler = $this->request('GET', 'posting.php?mode=reply&f=2&t=1&sid=' . $this->sid);
+ $form = $crawler->selectButton('add_file')->form();
+ $form['fileupload']->upload($this->path . 'empty.png');
+ $crawler = $this->client->submit($form);
+ $this->assertEquals('The image file you tried to attach is invalid.', $crawler->filter('div#message p')->text());
+ }
+
+ public function test_invalid_extension()
+ {
+ $crawler = $this->request('GET', 'posting.php?mode=reply&f=2&t=1&sid=' . $this->sid);
+ $form = $crawler->selectButton('add_file')->form();
+ $form['fileupload']->upload($this->path . 'illegal-extension.bif');
+ $crawler = $this->client->submit($form);
+ $this->assertEquals('The extension bif is not allowed.', $crawler->filter('p.error')->text());
+ }
+
+ public function test_too_large()
+ {
+ // Cannot be tested by an admin account which this functional framework
+ // provides
+ /*$crawler = $this->request('GET', 'posting.php?mode=reply&f=2&t=1&sid=' . $this->sid);
+ $form = $crawler->selectButton('add_file')->form();
+ $form['fileupload']->upload($path . 'too-large.png');
+ $crawler = $this->client->submit($form);
+ $this->assertEquals(1, $crawler->filter('div#message')->count());*/
+ }
+
+ public function test_valid_file()
+ {
+ $crawler = $this->request('GET', 'posting.php?mode=reply&f=2&t=1&sid=' . $this->sid);
+ $form = $crawler->selectButton('add_file')->form();
+ $form['fileupload']->upload($this->path . 'valid.jpg');
+ $crawler = $this->client->submit($form);
+ $this->assertEquals(0, $crawler->filter('p.error')->count());
+ $this->assertContains($this->lang('POSTED_ATTACHMENTS'), $crawler->filter('#postform h3')->eq(1)->text());
+ }
+}
diff --git a/tests/functional/fileupload_test_remote.php b/tests/functional/fileupload_test_remote.php
new file mode 100644
index 0000000000..ac55a078d4
--- /dev/null
+++ b/tests/functional/fileupload_test_remote.php
@@ -0,0 +1,71 @@
+<?php
+/**
+ *
+ * @package testing
+ * @copyright (c) 2012 phpBB Group
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
+ *
+ */
+
+/**
+ * @group functional
+ */
+class phpbb_functional_fileupload_test_remote extends phpbb_functional_test_case
+{
+ protected function setUp()
+ {
+ // Only doing this within the functional framework because we need a
+ // URL
+
+ // Global $config required by unique_id
+ // Global $user required by fileupload::remote_upload
+ global $config, $user;
+
+ if (!is_array($config))
+ {
+ $config = array();
+ }
+
+ $config['rand_seed'] = '';
+ $config['rand_seed_last_update'] = time() + 600;
+
+ $user = new phpbb_mock_user();
+ $user->lang = new phpbb_mock_lang();
+ }
+
+ protected function tearDown()
+ {
+ global $config, $user;
+ $user = null;
+ $config = array();
+ }
+
+ public function test_invalid_extension()
+ {
+ $upload = new fileupload('', array('jpg'), 100);
+ $file = $upload->remote_upload('http://example.com/image.gif');
+ $this->assertEquals('URL_INVALID', $file->error[0]);
+ }
+
+ public function test_non_existant()
+ {
+ $upload = new fileupload('', array('jpg'), 100);
+ $file = $upload->remote_upload('http://example.com/image.jpg');
+ $this->assertEquals('EMPTY_REMOTE_DATA', $file->error[0]);
+ }
+
+ public function test_successful_upload()
+ {
+ $upload = new fileupload('', array('gif'), 1000);
+ $file = $upload->remote_upload($this->root_url . 'styles/prosilver/theme/images/forum_read.gif');
+ $this->assertEquals(0, sizeof($file->error));
+ $this->assertTrue(file_exists($file->filename));
+ }
+
+ public function test_too_large()
+ {
+ $upload = new fileupload('', array('gif'), 100);
+ $file = $upload->remote_upload($this->root_url . 'styles/prosilver/theme/images/forum_read.gif');
+ $this->assertEquals('WRONG_FILESIZE', $file->error[0]);
+ }
+}