1<?php 2/* 3 * This file is part of PHPUnit. 4 * 5 * (c) Sebastian Bergmann <sebastian@phpunit.de> 6 * 7 * For the full copyright and license information, please view the LICENSE 8 * file that was distributed with this source code. 9 */ 10 11class Util_TestDox_NamePrettifierTest extends PHPUnit_Framework_TestCase 12{ 13 protected $namePrettifier; 14 15 protected function setUp() 16 { 17 $this->namePrettifier = new PHPUnit_Util_TestDox_NamePrettifier; 18 } 19 20 public function testTitleHasSensibleDefaults() 21 { 22 $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('FooTest')); 23 $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('TestFoo')); 24 $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('TestFooTest')); 25 $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('Test\FooTest')); 26 } 27 28 public function testCaterForUserDefinedSuffix() 29 { 30 $this->namePrettifier->setSuffix('TestCase'); 31 $this->namePrettifier->setPrefix(null); 32 33 $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('FooTestCase')); 34 $this->assertEquals('TestFoo', $this->namePrettifier->prettifyTestClass('TestFoo')); 35 $this->assertEquals('FooTest', $this->namePrettifier->prettifyTestClass('FooTest')); 36 } 37 38 public function testCaterForUserDefinedPrefix() 39 { 40 $this->namePrettifier->setSuffix(null); 41 $this->namePrettifier->setPrefix('XXX'); 42 43 $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('XXXFoo')); 44 $this->assertEquals('TestXXX', $this->namePrettifier->prettifyTestClass('TestXXX')); 45 $this->assertEquals('XXX', $this->namePrettifier->prettifyTestClass('XXXXXX')); 46 } 47 48 public function testTestNameIsConvertedToASentence() 49 { 50 $this->assertEquals('This is a test', $this->namePrettifier->prettifyTestMethod('testThisIsATest')); 51 $this->assertEquals('This is a test', $this->namePrettifier->prettifyTestMethod('testThisIsATest2')); 52 $this->assertEquals('This is a test', $this->namePrettifier->prettifyTestMethod('this_is_a_test')); 53 $this->assertEquals('Foo for bar is 0', $this->namePrettifier->prettifyTestMethod('testFooForBarIs0')); 54 $this->assertEquals('Foo for baz is 1', $this->namePrettifier->prettifyTestMethod('testFooForBazIs1')); 55 $this->assertEquals('', $this->namePrettifier->prettifyTestMethod('test')); 56 } 57 58 /** 59 * @ticket 224 60 */ 61 public function testTestNameIsNotGroupedWhenNotInSequence() 62 { 63 $this->assertEquals('Sets redirect header on 301', $this->namePrettifier->prettifyTestMethod('testSetsRedirectHeaderOn301')); 64 $this->assertEquals('Sets redirect header on 302', $this->namePrettifier->prettifyTestMethod('testSetsRedirectHeaderOn302')); 65 } 66} 67