more tests
This commit is contained in:
parent
c88ecebb7b
commit
028ee4b462
@ -10,7 +10,6 @@ require_once('simpletest/web_tester.php');
|
|||||||
require_once('simpletest/unit_tester.php');
|
require_once('simpletest/unit_tester.php');
|
||||||
require_once('simpletest/reporter.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_NAME', "test");
|
||||||
define('USER_PASS', "test");
|
define('USER_PASS', "test");
|
||||||
define('ADMIN_NAME', "demo");
|
define('ADMIN_NAME', "demo");
|
||||||
@ -18,7 +17,7 @@ define('ADMIN_PASS', "demo");
|
|||||||
|
|
||||||
class ShimmieWebTestCase extends WebTestCase {
|
class ShimmieWebTestCase extends WebTestCase {
|
||||||
protected function get_page($page) {
|
protected function get_page($page) {
|
||||||
$this->get(TEST_BASE.'/'.$page);
|
$this->get($_SERVER["HTTP_HOST"].'/'.make_link($page));
|
||||||
}
|
}
|
||||||
protected function log_in_as_user() {
|
protected function log_in_as_user() {
|
||||||
$this->get_page('post/list');
|
$this->get_page('post/list');
|
||||||
@ -49,7 +48,7 @@ class ShimmieWebTestCase extends WebTestCase {
|
|||||||
$this->assertText("Upload");
|
$this->assertText("Upload");
|
||||||
$this->setField("data0", $filename);
|
$this->setField("data0", $filename);
|
||||||
$this->setField("tags", $tags);
|
$this->setField("tags", $tags);
|
||||||
$this->click("Post");
|
$this->clickSubmitById("uploadbutton");
|
||||||
|
|
||||||
$raw_headers = $this->getBrowser()->getHeaders();
|
$raw_headers = $this->getBrowser()->getHeaders();
|
||||||
$headers = explode("\n", $raw_headers);
|
$headers = explode("\n", $raw_headers);
|
||||||
@ -74,8 +73,9 @@ class ShimmieWebTestCase extends WebTestCase {
|
|||||||
|
|
||||||
class TestFinder extends TestSuite {
|
class TestFinder extends TestSuite {
|
||||||
function TestFinder($hint) {
|
function TestFinder($hint) {
|
||||||
|
if(strpos($hint, "..") !== FALSE) return;
|
||||||
$dir = "*";
|
$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');
|
$this->TestSuite('All tests');
|
||||||
foreach(glob("ext/$dir/test.php") as $file) {
|
foreach(glob("ext/$dir/test.php") as $file) {
|
||||||
$this->addFile($file);
|
$this->addFile($file);
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
<?php
|
|
||||||
#require_once('lib/simpletest/autorun.php');
|
|
||||||
require_once('simpletest/web_tester.php');
|
|
||||||
#require_once('simpletest/unit_tester.php'); # unit tests require shimmie to be running
|
|
||||||
require_once('simpletest/reporter.php');
|
|
||||||
|
|
||||||
chdir("../../");
|
|
||||||
require_once('config.php');
|
|
||||||
|
|
||||||
class SectionReporter extends TextReporter {
|
|
||||||
function paintGroupStart($name, $size) {
|
|
||||||
parent::paintGroupStart($name, $size);
|
|
||||||
print "\n** $name\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class AllTests extends TestSuite {
|
|
||||||
function AllTests() {
|
|
||||||
$this->TestSuite('All tests');
|
|
||||||
foreach(glob("ext/*/test.php") as $file) {
|
|
||||||
$this->addFile($file);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$all = new AllTests();
|
|
||||||
$all->run(new SectionReporter());
|
|
||||||
?>
|
|
@ -1,11 +1,51 @@
|
|||||||
<?php
|
<?php
|
||||||
class CommentListTest extends ShimmieWebTestCase {
|
class CommentListTest extends ShimmieWebTestCase {
|
||||||
function testCommentsPage() {
|
function testCommentsPage() {
|
||||||
|
$this->log_in_as_user();
|
||||||
|
$image_id = $this->post_image("ext/simpletest/data/pbx_screenshot.jpg", "pbx computer screenshot");
|
||||||
|
|
||||||
|
# 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->get_page('comment/list');
|
||||||
$this->assertTitle('Comments');
|
$this->assertTitle('Comments');
|
||||||
|
$this->assertText('ASDFASDF');
|
||||||
|
|
||||||
$this->get_page('comment/list/2');
|
$this->get_page('comment/list/2');
|
||||||
$this->assertTitle('Comments');
|
$this->assertTitle('Comments');
|
||||||
|
|
||||||
|
$this->log_in_as_admin();
|
||||||
|
$this->delete_image($image_id);
|
||||||
|
$this->log_out();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -120,7 +120,7 @@ class CommentListTheme extends Themelet {
|
|||||||
<input type='hidden' name='image_id' value='$i_image_id' />
|
<input type='hidden' name='image_id' value='$i_image_id' />
|
||||||
<input type='hidden' name='hash' value='$hash' />
|
<input type='hidden' name='hash' value='$hash' />
|
||||||
<textarea name='comment' rows='5' cols='50'></textarea>
|
<textarea name='comment' rows='5' cols='50'></textarea>
|
||||||
<br><input type='submit' value='Post' />
|
<br><input type='submit' value='Post Comment' />
|
||||||
</form>
|
</form>
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
class IndexTest extends ShimmieWebTestCase {
|
class IndexTest extends ShimmieWebTestCase {
|
||||||
function testIndexPage() {
|
function testIndexPage() {
|
||||||
|
$this->get_page('post/list');
|
||||||
|
$this->assertTitle("Welcome to Shimmie ".VERSION);
|
||||||
|
$this->assertNoText("Prev | Index | Next");
|
||||||
|
|
||||||
$this->log_in_as_user();
|
$this->log_in_as_user();
|
||||||
$image_id = $this->post_image("ext/simpletest/data/pbx_screenshot.jpg", "pbx computer screenshot");
|
$image_id = $this->post_image("ext/simpletest/data/pbx_screenshot.jpg", "pbx computer screenshot");
|
||||||
$this->log_out();
|
$this->log_out();
|
||||||
|
@ -40,7 +40,7 @@ class UploadTheme extends Themelet {
|
|||||||
$upload_list
|
$upload_list
|
||||||
<tr><td>Tags</td><td colspan='3'><input id='tagBox' name='tags' type='text' value='tagme' autocomplete='off'></td></tr>
|
<tr><td>Tags</td><td colspan='3'><input id='tagBox' name='tags' type='text' value='tagme' autocomplete='off'></td></tr>
|
||||||
<tr><td>Source</td><td colspan='3'><input name='source' type='text'></td></tr>
|
<tr><td>Source</td><td colspan='3'><input name='source' type='text'></td></tr>
|
||||||
<tr><td colspan='4'><input type='submit' value='Post'></td></tr>
|
<tr><td colspan='4'><input id='uploadbutton' type='submit' value='Post'></td></tr>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
<div id='upload_completions' style='clear: both;'><small>(Max file size is $max_kb)</small></div>
|
<div id='upload_completions' style='clear: both;'><small>(Max file size is $max_kb)</small></div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user