|
Moodle
2.2.1
http://www.collinsharper.com
|
00001 <?php 00002 // $Id$ 00003 require_once dirname(__FILE__) . '/../../autorun.php'; 00004 require_once dirname(__FILE__) . '/../testdox.php'; 00005 00006 // uncomment to see test dox in action 00007 //SimpleTest::prefer(new TestDoxReporter()); 00008 00009 class TestOfTestDoxReporter extends UnitTestCase 00010 { 00011 function testIsAnInstanceOfSimpleScorerAndReporter() { 00012 $dox = new TestDoxReporter(); 00013 $this->assertIsA($dox, 'SimpleScorer'); 00014 $this->assertIsA($dox, 'SimpleReporter'); 00015 } 00016 00017 function testOutputsNameOfTestCase() { 00018 $dox = new TestDoxReporter(); 00019 ob_start(); 00020 $dox->paintCaseStart('TestOfTestDoxReporter'); 00021 $buffer = ob_get_clean(); 00022 $this->assertWantedPattern('/^TestDoxReporter/', $buffer); 00023 } 00024 00025 function testOutputOfTestCaseNameFilteredByConstructParameter() { 00026 $dox = new TestDoxReporter('/^(.*)Test$/'); 00027 ob_start(); 00028 $dox->paintCaseStart('SomeGreatWidgetTest'); 00029 $buffer = ob_get_clean(); 00030 $this->assertWantedPattern('/^SomeGreatWidget/', $buffer); 00031 } 00032 00033 function testIfTest_case_patternIsEmptyAssumeEverythingMatches() { 00034 $dox = new TestDoxReporter(''); 00035 ob_start(); 00036 $dox->paintCaseStart('TestOfTestDoxReporter'); 00037 $buffer = ob_get_clean(); 00038 $this->assertWantedPattern('/^TestOfTestDoxReporter/', $buffer); 00039 } 00040 00041 function testEmptyLineInsertedWhenCaseEnds() { 00042 $dox = new TestDoxReporter(); 00043 ob_start(); 00044 $dox->paintCaseEnd('TestOfTestDoxReporter'); 00045 $buffer = ob_get_clean(); 00046 $this->assertEqual("\n", $buffer); 00047 } 00048 00049 function testPaintsTestMethodInTestDoxFormat() { 00050 $dox = new TestDoxReporter(); 00051 ob_start(); 00052 $dox->paintMethodStart('testSomeGreatTestCase'); 00053 $buffer = ob_get_clean(); 00054 $this->assertEqual("- some great test case", $buffer); 00055 unset($buffer); 00056 00057 $random = rand(100, 200); 00058 ob_start(); 00059 $dox->paintMethodStart("testRandomNumberIs{$random}"); 00060 $buffer = ob_get_clean(); 00061 $this->assertEqual("- random number is {$random}", $buffer); 00062 } 00063 00064 function testDoesNotOutputAnythingOnNoneTestMethods() { 00065 $dox = new TestDoxReporter(); 00066 ob_start(); 00067 $dox->paintMethodStart('nonMatchingMethod'); 00068 $buffer = ob_get_clean(); 00069 $this->assertEqual('', $buffer); 00070 } 00071 00072 function testPaintMethodAddLineBreak() { 00073 $dox = new TestDoxReporter(); 00074 ob_start(); 00075 $dox->paintMethodEnd('someMethod'); 00076 $buffer = ob_get_clean(); 00077 $this->assertEqual("\n", $buffer); 00078 $this->assertNoErrors(); 00079 } 00080 00081 function testProperlySpacesSingleLettersInMethodName() { 00082 $dox = new TestDoxReporter(); 00083 ob_start(); 00084 $dox->paintMethodStart('testAVerySimpleAgainAVerySimpleMethod'); 00085 $buffer = ob_get_clean(); 00086 $this->assertEqual('- a very simple again a very simple method', $buffer); 00087 } 00088 00089 function testOnFailureThisPrintsFailureNotice() { 00090 $dox = new TestDoxReporter(); 00091 ob_start(); 00092 $dox->paintFail(); 00093 $buffer = ob_get_clean(); 00094 $this->assertEqual(' [FAILED]', $buffer); 00095 } 00096 00097 function testWhenMatchingMethodNamesTestPrefixIsCaseInsensitive() { 00098 $dox = new TestDoxReporter(); 00099 ob_start(); 00100 $dox->paintMethodStart('TESTSupportsAllUppercaseTestPrefixEvenThoughIDoNotKnowWhyYouWouldDoThat'); 00101 $buffer = ob_get_clean(); 00102 $this->assertEqual( 00103 '- supports all uppercase test prefix even though i do not know why you would do that', 00104 $buffer 00105 ); 00106 } 00107 } 00108