radarrplexorganizrnginxsonarrdashboardsabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepage
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							147 lines
						
					
					
						
							4.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							147 lines
						
					
					
						
							4.4 KiB
						
					
					
				| <?php | |
| 
 | |
| namespace Faker\Test; | |
| 
 | |
| use Faker\Generator; | |
| 
 | |
| class GeneratorTest extends \PHPUnit_Framework_TestCase | |
| { | |
|     public function testAddProviderGivesPriorityToNewlyAddedProvider() | |
|     { | |
|         $generator = new Generator; | |
|         $generator->addProvider(new FooProvider()); | |
|         $generator->addProvider(new BarProvider()); | |
|         $this->assertEquals('barfoo', $generator->format('fooFormatter')); | |
|     } | |
| 
 | |
|     public function testGetFormatterReturnsCallable() | |
|     { | |
|         $generator = new Generator; | |
|         $provider = new FooProvider(); | |
|         $generator->addProvider($provider); | |
|         $this->assertTrue(is_callable($generator->getFormatter('fooFormatter'))); | |
|     } | |
| 
 | |
|     public function testGetFormatterReturnsCorrectFormatter() | |
|     { | |
|         $generator = new Generator; | |
|         $provider = new FooProvider(); | |
|         $generator->addProvider($provider); | |
|         $expected = array($provider, 'fooFormatter'); | |
|         $this->assertEquals($expected, $generator->getFormatter('fooFormatter')); | |
|     } | |
| 
 | |
|     /** | |
|      * @expectedException InvalidArgumentException | |
|      */ | |
|     public function testGetFormatterThrowsExceptionOnIncorrectProvider() | |
|     { | |
|         $generator = new Generator; | |
|         $generator->getFormatter('fooFormatter'); | |
|     } | |
| 
 | |
|     /** | |
|      * @expectedException InvalidArgumentException | |
|      */ | |
|     public function testGetFormatterThrowsExceptionOnIncorrectFormatter() | |
|     { | |
|         $generator = new Generator; | |
|         $provider = new FooProvider(); | |
|         $generator->addProvider($provider); | |
|         $generator->getFormatter('barFormatter'); | |
|     } | |
| 
 | |
|     public function testFormatCallsFormatterOnProvider() | |
|     { | |
|         $generator = new Generator; | |
|         $provider = new FooProvider(); | |
|         $generator->addProvider($provider); | |
|         $this->assertEquals('foobar', $generator->format('fooFormatter')); | |
|     } | |
| 
 | |
|     public function testFormatTransfersArgumentsToFormatter() | |
|     { | |
|         $generator = new Generator; | |
|         $provider = new FooProvider(); | |
|         $generator->addProvider($provider); | |
|         $this->assertEquals('bazfoo', $generator->format('fooFormatterWithArguments', array('foo'))); | |
|     } | |
| 
 | |
|     public function testParseReturnsSameStringWhenItContainsNoCurlyBraces() | |
|     { | |
|         $generator = new Generator(); | |
|         $this->assertEquals('fooBar#?', $generator->parse('fooBar#?')); | |
|     } | |
| 
 | |
|     public function testParseReturnsStringWithTokensReplacedByFormatters() | |
|     { | |
|         $generator = new Generator(); | |
|         $provider = new FooProvider(); | |
|         $generator->addProvider($provider); | |
|         $this->assertEquals('This is foobar a text with foobar', $generator->parse('This is {{fooFormatter}} a text with {{ fooFormatter }}')); | |
|     } | |
| 
 | |
|     public function testMagicGetCallsFormat() | |
|     { | |
|         $generator = new Generator; | |
|         $provider = new FooProvider(); | |
|         $generator->addProvider($provider); | |
|         $this->assertEquals('foobar', $generator->fooFormatter); | |
|     } | |
| 
 | |
|     public function testMagicCallCallsFormat() | |
|     { | |
|         $generator = new Generator; | |
|         $provider = new FooProvider(); | |
|         $generator->addProvider($provider); | |
|         $this->assertEquals('foobar', $generator->fooFormatter()); | |
|     } | |
| 
 | |
|     public function testMagicCallCallsFormatWithArguments() | |
|     { | |
|         $generator = new Generator; | |
|         $provider = new FooProvider(); | |
|         $generator->addProvider($provider); | |
|         $this->assertEquals('bazfoo', $generator->fooFormatterWithArguments('foo')); | |
|     } | |
| 
 | |
|     public function testSeed() | |
|     { | |
|         $generator = new Generator; | |
| 
 | |
|         $generator->seed(0); | |
|         $mtRandWithSeedZero = mt_rand(); | |
|         $generator->seed(0); | |
|         $this->assertEquals($mtRandWithSeedZero, mt_rand(), 'seed(0) should be deterministic.'); | |
| 
 | |
|         $generator->seed(); | |
|         $mtRandWithoutSeed = mt_rand(); | |
|         $this->assertNotEquals($mtRandWithSeedZero, $mtRandWithoutSeed, 'seed() should be different than seed(0)'); | |
|         $generator->seed(); | |
|         $this->assertNotEquals($mtRandWithoutSeed, mt_rand(), 'seed() should not be deterministic.'); | |
| 
 | |
|         $generator->seed('10'); | |
|         $this->assertTrue(true, 'seeding with a non int value doesn\'t throw an exception'); | |
|     } | |
| } | |
| 
 | |
| class FooProvider | |
| { | |
|     public function fooFormatter() | |
|     { | |
|         return 'foobar'; | |
|     } | |
| 
 | |
|     public function fooFormatterWithArguments($value = '') | |
|     { | |
|         return 'baz' . $value; | |
|     } | |
| } | |
| 
 | |
| class BarProvider | |
| { | |
|     public function fooFormatter() | |
|     { | |
|         return 'barfoo'; | |
|     } | |
| }
 | |
| 
 |