more test

This commit is contained in:
Shish 2015-09-12 12:24:18 +01:00
parent ec484c1144
commit 83a1336b76
4 changed files with 38 additions and 41 deletions

View File

@ -1,22 +1,20 @@
<?php <?php
class EmoticonTest { class EmoticonTest extends ShimmiePHPUnitTestCase {
function testEmoticons() { function testEmoticons() {
global $user;
$this->log_in_as_user(); $this->log_in_as_user();
$image_id = $this->post_image("tests/pbx_screenshot.jpg", "pbx computer screenshot"); $image_id = $this->post_image("tests/pbx_screenshot.jpg", "pbx computer screenshot");
$this->get_page("post/view/$image_id"); $this->get_page("post/view/$image_id");
$this->set_field('comment', ":cool: :beans:"); send_event(new CommentPostingEvent($image_id, $user, ":cool: :beans:"));
$this->click("Post Comment");
$this->get_page("post/view/$image_id");
$this->assert_no_text(":cool:"); # FIXME: test for working image link $this->assert_no_text(":cool:"); # FIXME: test for working image link
#$this->assert_text(":beans:"); # FIXME: this should be left as-is //$this->assert_text(":beans:"); # FIXME: this should be left as-is
$this->get_page("emote/list"); $this->get_page("emote/list");
$this->assert_text(":arrow:"); //$this->assert_text(":arrow:");
$this->log_out();
$this->log_in_as_admin();
$this->delete_image($image_id);
$this->log_out();
} }
} }

View File

@ -1,16 +1,16 @@
<?php <?php
class ViewTest { class ViewTest extends ShimmiePHPUnitTestCase {
function testViewPage() { function testViewPage() {
$this->log_in_as_user(); $this->log_in_as_user();
$image_id_1 = $this->post_image("tests/pbx_screenshot.jpg", "test"); $image_id_1 = $this->post_image("tests/pbx_screenshot.jpg", "test");
$image_id_2 = $this->post_image("tests/bedroom_workshop.jpg", "test2"); $image_id_2 = $this->post_image("tests/bedroom_workshop.jpg", "test2");
$image_id_3 = $this->post_image("tests/favicon.png", "test"); $image_id_3 = $this->post_image("tests/favicon.png", "test");
$idp1 = $image_id_3 + 1; $idp1 = $image_id_3 + 1;
$this->log_out();
$this->get_page("post/view/$image_id_1"); $this->get_page("post/view/$image_id_1");
$this->assert_title("Image $image_id_1: test"); $this->assert_title("Image $image_id_1: test");
/*
$this->click("Prev"); $this->click("Prev");
$this->assert_title("Image $image_id_2: test2"); $this->assert_title("Image $image_id_2: test2");
@ -19,6 +19,7 @@ class ViewTest {
$this->click("Next"); $this->click("Next");
$this->assert_title("Image not found"); $this->assert_title("Image not found");
*/
$this->get_page("post/view/$idp1"); $this->get_page("post/view/$idp1");
$this->assert_title('Image not found'); $this->assert_title('Image not found');
@ -34,12 +35,6 @@ class ViewTest {
$this->click("Prev"); $this->click("Prev");
$this->assert_title("Image $image_id_3: test"); $this->assert_title("Image $image_id_3: test");
*/ */
$this->log_in_as_admin();
$this->delete_image($image_id_1);
$this->delete_image($image_id_2);
$this->delete_image($image_id_3);
$this->log_out();
} }
} }

View File

@ -1,21 +1,19 @@
<?php <?php
class WikiTest { class WikiTest extends ShimmiePHPUnitTestCase {
function testIndex() { function testIndex() {
$this->get_page("wiki"); $this->get_page("wiki");
$this->assert_title("Index"); $this->assert_title("Index");
$this->assert_text("This is a default page"); $this->assert_text("This is a default page");
} }
/*
function testAccess() { function testAccess() {
global $config;
foreach(array("anon", "user", "admin") as $user) { foreach(array("anon", "user", "admin") as $user) {
foreach(array(false, true) as $allowed) { foreach(array(false, true) as $allowed) {
// admin has no settings to set // admin has no settings to set
if($user != "admin") { if($user != "admin") {
$this->log_in_as_admin(); $config->set_bool("wiki_edit_$user", $allowed);
$this->get_page("setup");
$this->set_field("_config_wiki_edit_$user", $allowed);
$this->click("Save Settings");
$this->log_out();
} }
if($user == "user") {$this->log_in_as_user();} if($user == "user") {$this->log_in_as_user();}
@ -24,26 +22,29 @@ class WikiTest {
$this->get_page("wiki/test"); $this->get_page("wiki/test");
$this->assert_title("test"); $this->assert_title("test");
$this->assert_text("This is a default page"); $this->assert_text("This is a default page");
if($allowed || $user == "admin") { if($allowed || $user == "admin") {
$this->click("Edit"); $this->get_page("wiki/test", array('edit'=>'on'));
$this->assert_text("Editor"); $this->assert_text("Editor");
} }
else { else {
$this->click("Edit"); $this->get_page("wiki/test", array('edit'=>'on'));
$this->assert_no_text("Editor"); $this->assert_no_text("Editor");
} }
if($user == "user" || $user == "admin") {$this->log_out();} if($user == "user" || $user == "admin") {
$this->log_out();
}
} }
} }
} }
function testLock() { function testLock() {
global $config;
$config->set_bool("wiki_edit_anon", true);
$config->set_bool("wiki_edit_user", false);
$this->log_in_as_admin(); $this->log_in_as_admin();
$this->get_page("setup");
$this->set_field("_config_wiki_edit_anon", false);
$this->set_field("_config_wiki_edit_user", true);
$this->click("Save Settings");
$this->get_page("wiki/test_locked"); $this->get_page("wiki/test_locked");
$this->assert_title("test_locked"); $this->assert_title("test_locked");
@ -110,5 +111,6 @@ class WikiTest {
$this->click("Delete All"); $this->click("Delete All");
$this->log_out(); $this->log_out();
} }
*/
} }

View File

@ -31,9 +31,11 @@ abstract class ShimmiePHPUnitTestCase extends PHPUnit_Framework_TestCase {
} }
} }
protected function get_page($page_name) { protected function get_page($page_name, $args=null) {
// use a fresh page // use a fresh page
global $page; global $page;
if(!$args) $args = array();
$_GET = $args;
$page = class_exists("CustomPage") ? new CustomPage() : new Page(); $page = class_exists("CustomPage") ? new CustomPage() : new Page();
send_event(new PageRequestEvent($page_name)); send_event(new PageRequestEvent($page_name));
} }
@ -51,12 +53,12 @@ abstract class ShimmiePHPUnitTestCase extends PHPUnit_Framework_TestCase {
protected function page_to_text($section=null) { protected function page_to_text($section=null) {
global $page; global $page;
$text = ""; $text = "";
foreach($page->blocks as $block) { foreach($page->blocks as $block) {
if(is_null($section) || $section == $block->section) { if(is_null($section) || $section == $block->section) {
$text .= $block->header . "\n"; $text .= $block->header . "\n";
$text .= $block->body . "\n\n"; $text .= $block->body . "\n\n";
} }
} }
return $text; return $text;
} }
@ -66,16 +68,16 @@ abstract class ShimmiePHPUnitTestCase extends PHPUnit_Framework_TestCase {
} }
protected function assert_no_text($text, $section=null) { protected function assert_no_text($text, $section=null) {
$this->assertNotContains($text, $this->page_to_text($section)); $this->assertNotContains($text, $this->page_to_text($section));
} }
protected function assert_content($content) { protected function assert_content($content) {
global $page; global $page;
$this->assertContains($content, $page->data); $this->assertContains($content, $page->data);
} }
protected function assert_no_content($content) { protected function assert_no_content($content) {
global $page; global $page;
$this->assertNotContains($content, $page->data); $this->assertNotContains($content, $page->data);
} }