forked from Cavemanon/cavepaintings
a load more tests
This commit is contained in:
15
contrib/bulk_add/test.php
Normal file
15
contrib/bulk_add/test.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
class BulkAddTest extends ShimmieWebTestCase {
|
||||
function testBulkAdd() {
|
||||
$this->log_in_as_admin();
|
||||
|
||||
$this->get_page('admin');
|
||||
$this->assertTitle("Admin Tools");
|
||||
$this->setField('dir', "contrib/simpletest");
|
||||
$this->click("Add");
|
||||
$this->delete_image($image_id);
|
||||
|
||||
$this->log_out();
|
||||
}
|
||||
}
|
||||
?>
|
@ -65,6 +65,7 @@ class PM extends SimpleExtension {
|
||||
}
|
||||
|
||||
public function onPageRequest($event) {
|
||||
global $database, $page, $user;
|
||||
if($event->page_matches("pm")) {
|
||||
if(!$user->is_anonymous()) {
|
||||
switch($event->get_arg(0)) {
|
||||
@ -93,7 +94,7 @@ class PM extends SimpleExtension {
|
||||
$database->execute("DELETE FROM private_message WHERE id = ?", array($pm_id));
|
||||
log_info("pm", "Deleted PM #$pm_id");
|
||||
$page->set_mode("redirect");
|
||||
$page->set_redirect(make_link("user"));
|
||||
$page->set_redirect(make_link($_SERVER["REFERER"]));
|
||||
}
|
||||
else {
|
||||
// permission denied
|
||||
@ -108,12 +109,16 @@ class PM extends SimpleExtension {
|
||||
$page->set_mode("redirect");
|
||||
$page->set_redirect(make_link($_SERVER["REFERER"]));
|
||||
break;
|
||||
default:
|
||||
$this->theme->display_error($page, "Invalid action", "That's not something you can do with a PM");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function onSendPM($event) {
|
||||
global $database;
|
||||
$database->execute("
|
||||
INSERT INTO private_message(
|
||||
from_id, from_ip, to_id,
|
||||
@ -122,7 +127,7 @@ class PM extends SimpleExtension {
|
||||
array($event->from_id, $event->from_ip,
|
||||
$event->to_id, $event->subject, $event->message)
|
||||
);
|
||||
log_info("pm", "Sent PM to User #$to_id");
|
||||
log_info("pm", "Sent PM to User #{$event->to_id}");
|
||||
}
|
||||
|
||||
|
||||
|
42
contrib/pm/test.php
Normal file
42
contrib/pm/test.php
Normal file
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
class PMTest extends ShimmieWebTestCase {
|
||||
function testPM() {
|
||||
$this->log_in_as_admin();
|
||||
$this->get_page("user/test");
|
||||
$this->setField('subject', "message demo to test");
|
||||
$this->setField('message', "message contents");
|
||||
$this->click("Send");
|
||||
$this->log_out();
|
||||
|
||||
$this->log_in_as_user();
|
||||
$this->get_page("user");
|
||||
$this->assertText("message demo to test");
|
||||
$this->click("message demo to test");
|
||||
$this->assertText("message contents");
|
||||
$this->back();
|
||||
$this->click("Delete");
|
||||
$this->assertNoText("message demo to test");
|
||||
$this->log_out();
|
||||
}
|
||||
|
||||
function testAdminAccess() {
|
||||
$this->log_in_as_admin();
|
||||
$this->get_page("user/test");
|
||||
$this->setField('subject', "message demo to test");
|
||||
$this->setField('message', "message contents");
|
||||
$this->click("Send");
|
||||
|
||||
$this->get_page("user/test");
|
||||
$this->assertText("message demo to test");
|
||||
$this->click("message demo to test");
|
||||
$this->assertText("message contents");
|
||||
$this->back();
|
||||
$this->click("Delete");
|
||||
# Test for bug: after an admin deletes a user's PM, they were
|
||||
# redirected to their own (the admin's) PM list
|
||||
$this->assertTitle("test's page");
|
||||
$this->assertNoText("message demo to test");
|
||||
$this->log_out();
|
||||
}
|
||||
}
|
||||
?>
|
@ -24,7 +24,10 @@ class PMTheme extends Themelet {
|
||||
if($pm["is_read"] == "N") $h_subject = "<b>$h_subject</b>";
|
||||
$html .= "<tr class='$oe'><td><a href='$pm_url'>$h_subject</a></td>
|
||||
<td><a href='$from_url'>$h_from</a></td><td>$h_date</td>
|
||||
<td><form action='$del_url'><input type='submit' value='Delete'></form></td></tr>";
|
||||
<td><form action='$del_url'>
|
||||
<input type='hidden' name='q' value='/pm/delete/{$pm["id"]}'>
|
||||
<input type='submit' value='Delete'>
|
||||
</form></td></tr>";
|
||||
}
|
||||
$html .= "
|
||||
</tbody>
|
||||
|
@ -28,7 +28,7 @@ class Ratings implements Extension {
|
||||
$this->install();
|
||||
}
|
||||
|
||||
$config->set_default_string("ext_rating_anon_privs", 'sq');
|
||||
$config->set_default_string("ext_rating_anon_privs", 'squ');
|
||||
$config->set_default_string("ext_rating_user_privs", 'squ');
|
||||
$config->set_default_string("ext_rating_admin_privs", 'sqeu');
|
||||
}
|
||||
|
23
contrib/report_image/test.php
Normal file
23
contrib/report_image/test.php
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
class ReportImageTest extends ShimmieWebTestCase {
|
||||
function testReportImage() {
|
||||
$this->log_in_as_user();
|
||||
$image_id = $this->post_image("ext/simpletest/data/pbx_screenshot.jpg", "pbx computer screenshot");
|
||||
$this->get_page("post/view/$image_id");
|
||||
$this->setField('reason', "report details");
|
||||
$this->click("Report");
|
||||
$this->log_out();
|
||||
|
||||
$this->log_in_as_admin();
|
||||
$this->get_page("image_report/list");
|
||||
$this->assertTitle("Reported Images");
|
||||
$this->assertText("report details");
|
||||
$this->click("Remove Report");
|
||||
$this->assertTitle("Reported Images");
|
||||
$this->assertNoText("report details");
|
||||
|
||||
$this->delete_image($image_id);
|
||||
$this->log_out();
|
||||
}
|
||||
}
|
||||
?>
|
@ -78,7 +78,7 @@ class ReportImageTheme extends Themelet {
|
||||
$html = "
|
||||
<form action='".make_link("image_report/add")."' method='POST'>
|
||||
<input type='hidden' name='image_id' value='$i_image'>
|
||||
<input type='field' name='reason' value='Please enter a reason' onclick='this.value=\"\";'>
|
||||
<input type='text' name='reason' value='Please enter a reason' onclick='this.value=\"\";'>
|
||||
<input type='submit' value='Report'>
|
||||
</form>
|
||||
";
|
||||
|
110
contrib/res_limit/test.php
Normal file
110
contrib/res_limit/test.php
Normal file
@ -0,0 +1,110 @@
|
||||
<?php
|
||||
class ResLimitTest extends ShimmieWebTestCase {
|
||||
function testResLimitOK() {
|
||||
$this->log_in_as_admin();
|
||||
$this->get_page("setup");
|
||||
$this->setField("_config_upload_min_height", "0");
|
||||
$this->setField("_config_upload_min_width", "0");
|
||||
$this->setField("_config_upload_max_height", "1000");
|
||||
$this->setField("_config_upload_max_width", "1000");
|
||||
$this->setField("_config_upload_ratios", "4:3 16:9");
|
||||
$this->click("Save Settings");
|
||||
$this->log_out();
|
||||
|
||||
$this->log_in_as_user();
|
||||
$image_id = $this->post_image("ext/simpletest/data/pbx_screenshot.jpg", "pbx computer screenshot");
|
||||
$this->assertResponse(302);
|
||||
$this->log_out();
|
||||
|
||||
$this->log_in_as_admin();
|
||||
$this->delete_image($image_id);
|
||||
$this->log_out();
|
||||
}
|
||||
|
||||
function testResLimitSmall() {
|
||||
$this->log_in_as_admin();
|
||||
$this->get_page("setup");
|
||||
$this->setField("_config_upload_min_height", "900");
|
||||
$this->setField("_config_upload_min_width", "900");
|
||||
$this->setField("_config_upload_max_height", "1000");
|
||||
$this->setField("_config_upload_max_width", "1000");
|
||||
$this->setField("_config_upload_ratios", "4:3 16:9");
|
||||
$this->click("Save Settings");
|
||||
$this->log_out();
|
||||
|
||||
$this->log_in_as_user();
|
||||
$image_id = $this->post_image("ext/simpletest/data/pbx_screenshot.jpg", "pbx computer screenshot");
|
||||
$this->assertResponse(200);
|
||||
$this->assertTitle("Upload Status");
|
||||
$this->assertText("Image too small");
|
||||
$this->log_out();
|
||||
|
||||
# hopefully a noop, but just in case
|
||||
$this->log_in_as_admin();
|
||||
$this->delete_image($image_id);
|
||||
$this->log_out();
|
||||
}
|
||||
|
||||
function testResLimitLarge() {
|
||||
$this->log_in_as_admin();
|
||||
$this->get_page("setup");
|
||||
$this->setField("_config_upload_min_height", "0");
|
||||
$this->setField("_config_upload_min_width", "0");
|
||||
$this->setField("_config_upload_max_height", "100");
|
||||
$this->setField("_config_upload_max_width", "100");
|
||||
$this->setField("_config_upload_ratios", "4:3 16:9");
|
||||
$this->click("Save Settings");
|
||||
$this->log_out();
|
||||
|
||||
$this->log_in_as_user();
|
||||
$image_id = $this->post_image("ext/simpletest/data/pbx_screenshot.jpg", "pbx computer screenshot");
|
||||
$this->assertResponse(200);
|
||||
$this->assertTitle("Upload Status");
|
||||
$this->assertText("Image too large");
|
||||
$this->log_out();
|
||||
|
||||
# hopefully a noop, but just in case
|
||||
$this->log_in_as_admin();
|
||||
$this->delete_image($image_id);
|
||||
$this->log_out();
|
||||
}
|
||||
|
||||
function testResLimitRatio() {
|
||||
$this->log_in_as_admin();
|
||||
$this->get_page("setup");
|
||||
$this->setField("_config_upload_min_height", "0");
|
||||
$this->setField("_config_upload_min_width", "0");
|
||||
$this->setField("_config_upload_max_height", "1000");
|
||||
$this->setField("_config_upload_max_width", "1000");
|
||||
$this->setField("_config_upload_ratios", "16:9");
|
||||
$this->click("Save Settings");
|
||||
$this->log_out();
|
||||
|
||||
$this->log_in_as_user();
|
||||
$image_id = $this->post_image("ext/simpletest/data/pbx_screenshot.jpg", "pbx computer screenshot");
|
||||
$this->assertResponse(200);
|
||||
$this->assertTitle("Upload Status");
|
||||
$this->assertText("Image needs to be in one of these ratios");
|
||||
$this->log_out();
|
||||
|
||||
# hopefully a noop, but just in case
|
||||
$this->log_in_as_admin();
|
||||
$this->delete_image($image_id);
|
||||
$this->log_out();
|
||||
}
|
||||
|
||||
# reset to defaults, otherwise this can interfere with
|
||||
# other extensions' test suites
|
||||
public function tearDown() {
|
||||
$this->log_in_as_admin();
|
||||
$this->get_page("setup");
|
||||
$this->setField("_config_upload_min_height", "-1");
|
||||
$this->setField("_config_upload_min_width", "-1");
|
||||
$this->setField("_config_upload_max_height", "-1");
|
||||
$this->setField("_config_upload_max_width", "-1");
|
||||
$this->setField("_config_upload_ratios", "");
|
||||
$this->click("Save Settings");
|
||||
$this->log_out();
|
||||
}
|
||||
}
|
||||
?>
|
@ -127,7 +127,7 @@ class Tag_History implements Extension {
|
||||
$stored_tags = $result->fields['tags'];
|
||||
|
||||
// all should be ok so we can revert by firing the SetUserTags event.
|
||||
send_event(new TagSetEvent($stored_image_id, $stored_tags));
|
||||
send_event(new TagSetEvent(Image::by_id($stored_image_id), $stored_tags));
|
||||
|
||||
// all should be done now so redirect the user back to the image
|
||||
$page->set_mode("redirect");
|
||||
|
22
contrib/tag_history/test.php
Normal file
22
contrib/tag_history/test.php
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
class TagHistoryTest extends ShimmieWebTestCase {
|
||||
function testTagHistory() {
|
||||
$this->log_in_as_user();
|
||||
$image_id = $this->post_image("ext/simpletest/data/pbx_screenshot.jpg", "pbx");
|
||||
$this->get_page("post/view/$image_id");
|
||||
$this->assertTitle("Image $image_id: pbx");
|
||||
$this->setField("tags", "new");
|
||||
$this->click("Set");
|
||||
$this->assertTitle("Image $image_id: new");
|
||||
$this->click("Tag History");
|
||||
$this->assertText("new (Set by test");
|
||||
$this->click("Revert");
|
||||
$this->assertTitle("Image $image_id: pbx");
|
||||
$this->log_out();
|
||||
|
||||
$this->log_in_as_admin();
|
||||
$this->delete_image($image_id);
|
||||
$this->log_out();
|
||||
}
|
||||
}
|
||||
?>
|
@ -2,16 +2,18 @@
|
||||
|
||||
class Tag_HistoryTheme extends Themelet {
|
||||
public function display_history_page(Page $page, $image_id, $history) {
|
||||
global $user;
|
||||
$start_string = "
|
||||
<div style='text-align: left'>
|
||||
<form enctype='multipart/form-data' action='".make_link("tag_history/revert")."' method='POST'>
|
||||
<ul style='list-style-type:none;'>
|
||||
";
|
||||
|
||||
global $user;
|
||||
$history_list = "";
|
||||
$n = 0;
|
||||
foreach($history as $fields)
|
||||
{
|
||||
$n++;
|
||||
$current_id = $fields['id'];
|
||||
$current_tags = html_escape($fields['tags']);
|
||||
$name = $fields['name'];
|
||||
@ -19,7 +21,8 @@ class Tag_HistoryTheme extends Themelet {
|
||||
if($user->is_admin()) {
|
||||
$setter .= " / " . $fields['user_ip'];
|
||||
}
|
||||
$history_list .= "<li><input type='radio' name='revert' value='$current_id'>$current_tags (Set by $setter)</li>\n";
|
||||
$selected = ($n == 2) ? " checked" : "";
|
||||
$history_list .= "<li><input type='radio' name='revert' value='$current_id'$selected>$current_tags (Set by $setter)</li>\n";
|
||||
}
|
||||
|
||||
$end_string = "
|
||||
|
10
contrib/wiki/test.php
Normal file
10
contrib/wiki/test.php
Normal file
@ -0,0 +1,10 @@
|
||||
<?php
|
||||
class WikiTest extends ShimmieWebTestCase {
|
||||
function testWiki() {
|
||||
$this->log_in_as_admin();
|
||||
$this->get_page("wiki");
|
||||
$this->assertTitle("Index");
|
||||
$this->log_out();
|
||||
}
|
||||
}
|
||||
?>
|
Reference in New Issue
Block a user