log_in_as_user(); $this->get_page("upload"); $this->assert_title("Upload"); } public function testUpload() { $this->log_in_as_user(); $this->post_image("tests/pbx_screenshot.jpg", "pbx computer screenshot"); } public function testRejectDupe() { $this->post_image("tests/pbx_screenshot.jpg", "pbx computer screenshot"); try { $this->post_image("tests/pbx_screenshot.jpg", "pbx computer screenshot"); } catch (UploadException $e) { $this->assertContains("already has hash", $e->getMessage()); } } public function testRejectUnknownFiletype() { try { $this->post_image("index.php", "test"); } catch (UploadException $e) { $this->assertContains("Invalid or corrupted file", $e->getMessage()); } } public function testRejectHuge() { $this->markTestIncomplete(); // FIXME: huge.dat is rejected for other reasons; manual testing shows that this works file_put_contents("huge.dat", file_get_contents("tests/pbx_screenshot.jpg") . str_repeat("U", 1024*1024*3)); $this->post_image("index.php", "test"); $this->assert_response(200); $this->assert_title("Upload Status"); $this->assert_text("File too large"); unlink("huge.dat"); } }