From 028ee4b46253087f3f7db7506f0dd0cce6db6978 Mon Sep 17 00:00:00 2001 From: Shish Date: Wed, 15 Jul 2009 17:09:50 +0100 Subject: [PATCH] more tests --- contrib/simpletest/main.php | 8 +++--- contrib/simpletest/standalone.php | 28 ------------------ ext/comment/test.php | 48 ++++++++++++++++++++++++++++--- ext/comment/theme.php | 2 +- ext/index/test.php | 4 +++ ext/upload/theme.php | 2 +- 6 files changed, 54 insertions(+), 38 deletions(-) delete mode 100644 contrib/simpletest/standalone.php diff --git a/contrib/simpletest/main.php b/contrib/simpletest/main.php index f226b5d9..a0146560 100644 --- a/contrib/simpletest/main.php +++ b/contrib/simpletest/main.php @@ -10,7 +10,6 @@ require_once('simpletest/web_tester.php'); require_once('simpletest/unit_tester.php'); require_once('simpletest/reporter.php'); -define('TEST_BASE', "http://shimmie.shishnet.org/branch_2.3/index.php?q="); define('USER_NAME', "test"); define('USER_PASS', "test"); define('ADMIN_NAME', "demo"); @@ -18,7 +17,7 @@ define('ADMIN_PASS', "demo"); class ShimmieWebTestCase extends WebTestCase { protected function get_page($page) { - $this->get(TEST_BASE.'/'.$page); + $this->get($_SERVER["HTTP_HOST"].'/'.make_link($page)); } protected function log_in_as_user() { $this->get_page('post/list'); @@ -49,7 +48,7 @@ class ShimmieWebTestCase extends WebTestCase { $this->assertText("Upload"); $this->setField("data0", $filename); $this->setField("tags", $tags); - $this->click("Post"); + $this->clickSubmitById("uploadbutton"); $raw_headers = $this->getBrowser()->getHeaders(); $headers = explode("\n", $raw_headers); @@ -74,8 +73,9 @@ class ShimmieWebTestCase extends WebTestCase { class TestFinder extends TestSuite { function TestFinder($hint) { + if(strpos($hint, "..") !== FALSE) return; $dir = "*"; - if(file_exists("ext/$hint/test.php")) $dir = $hint; // FIXME: check for .. + if(file_exists("ext/$hint/test.php")) $dir = $hint; $this->TestSuite('All tests'); foreach(glob("ext/$dir/test.php") as $file) { $this->addFile($file); diff --git a/contrib/simpletest/standalone.php b/contrib/simpletest/standalone.php deleted file mode 100644 index 4439ebee..00000000 --- a/contrib/simpletest/standalone.php +++ /dev/null @@ -1,28 +0,0 @@ -TestSuite('All tests'); - foreach(glob("ext/*/test.php") as $file) { - $this->addFile($file); - } - } -} - -$all = new AllTests(); -$all->run(new SectionReporter()); -?> diff --git a/ext/comment/test.php b/ext/comment/test.php index 859285a9..a74e89d1 100644 --- a/ext/comment/test.php +++ b/ext/comment/test.php @@ -1,11 +1,51 @@ get_page('comment/list'); - $this->assertTitle('Comments'); + $this->log_in_as_user(); + $image_id = $this->post_image("ext/simpletest/data/pbx_screenshot.jpg", "pbx computer screenshot"); - $this->get_page('comment/list/2'); - $this->assertTitle('Comments'); + # a good comment + $this->get_page("post/view/$image_id"); + $this->setField('comment', "Test Comment ASDFASDF"); + $this->click("Post Comment"); + $this->assertText("ASDFASDF"); + + # dupe + $this->get_page("post/view/$image_id"); + $this->setField('comment', "Test Comment ASDFASDF"); + $this->click("Post Comment"); + $this->assertText("try and be more original"); + + # empty comment + $this->get_page("post/view/$image_id"); + $this->setField('comment', ""); + $this->click("Post Comment"); + $this->assertText("Comments need text..."); + + # whitespace is still empty... + $this->get_page("post/view/$image_id"); + $this->setField('comment', " \t\r\n"); + $this->click("Post Comment"); + $this->assertText("Comments need text..."); + + # repetitive (gzip gives 10x improvement) + $this->get_page("post/view/$image_id"); + $this->setField('comment', str_repeat("U", 5000)); + $this->click("Post Comment"); + $this->assertText("Comment too repetitive~"); + + $this->log_out(); + + $this->get_page('comment/list'); + $this->assertTitle('Comments'); + $this->assertText('ASDFASDF'); + + $this->get_page('comment/list/2'); + $this->assertTitle('Comments'); + + $this->log_in_as_admin(); + $this->delete_image($image_id); + $this->log_out(); } } ?> diff --git a/ext/comment/theme.php b/ext/comment/theme.php index cc411424..1289aa22 100644 --- a/ext/comment/theme.php +++ b/ext/comment/theme.php @@ -120,7 +120,7 @@ class CommentListTheme extends Themelet { -
+
"; } diff --git a/ext/index/test.php b/ext/index/test.php index 0d507504..e7605f25 100644 --- a/ext/index/test.php +++ b/ext/index/test.php @@ -1,6 +1,10 @@ get_page('post/list'); + $this->assertTitle("Welcome to Shimmie ".VERSION); + $this->assertNoText("Prev | Index | Next"); + $this->log_in_as_user(); $image_id = $this->post_image("ext/simpletest/data/pbx_screenshot.jpg", "pbx computer screenshot"); $this->log_out(); diff --git a/ext/upload/theme.php b/ext/upload/theme.php index 03ca2737..bb14a277 100644 --- a/ext/upload/theme.php +++ b/ext/upload/theme.php @@ -40,7 +40,7 @@ class UploadTheme extends Themelet { $upload_list Tags Source - +
(Max file size is $max_kb)