Merge "Update the Chinese conversion table for Chinese WikiProjects"
[lhc/web/wiklou.git] / tests / phpunit / includes / libs / DeferredStringifierTest.php
1 <?php
2
3 class DeferredStringifierTest extends PHPUnit_Framework_TestCase {
4
5 /**
6 * @covers DeferredStringifier
7 * @dataProvider provideToString
8 */
9 public function testToString( $params, $expected ) {
10 $class = new ReflectionClass( 'DeferredStringifier' );
11 $ds = $class->newInstanceArgs( $params );
12 $this->assertEquals( $expected, (string)$ds );
13 }
14
15 public static function provideToString() {
16 return array(
17 // No args
18 array(
19 array(
20 function() {
21 return 'foo';
22 }
23 ),
24 'foo'
25 ),
26 // Has args
27 array(
28 array(
29 function( $i ) {
30 return $i;
31 },
32 'bar'
33 ),
34 'bar'
35 ),
36 );
37 }
38
39 /**
40 * Verify that the callback is not called if
41 * it is never converted to a string
42 */
43 public function testCallbackNotCalled() {
44 $ds = new DeferredStringifier( function() {
45 throw new Exception( 'This should not be reached!' );
46 } );
47 // No exception was thrown
48 $this->assertTrue( true );
49 }
50 }