nginxsonarrradarrplexorganizrdashboardbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallembycouchpotatonzbget
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.
108 lines
3.0 KiB
108 lines
3.0 KiB
<?php
|
|
|
|
namespace Faker\Test\Provider;
|
|
|
|
use Faker\Provider\Lorem;
|
|
|
|
class LoremTest extends \PHPUnit_Framework_TestCase
|
|
{
|
|
/**
|
|
* @expectedException \InvalidArgumentException
|
|
*/
|
|
public function testTextThrowsExceptionWhenAskedTextSizeLessThan5()
|
|
{
|
|
Lorem::text(4);
|
|
}
|
|
|
|
public function testTextReturnsWordsWhenAskedSizeLessThan25()
|
|
{
|
|
$this->assertEquals('Word word word word.', TestableLorem::text(24));
|
|
}
|
|
|
|
public function testTextReturnsSentencesWhenAskedSizeLessThan100()
|
|
{
|
|
$this->assertEquals('This is a test sentence. This is a test sentence. This is a test sentence.', TestableLorem::text(99));
|
|
}
|
|
|
|
public function testTextReturnsParagraphsWhenAskedSizeGreaterOrEqualThanThan100()
|
|
{
|
|
$this->assertEquals('This is a test paragraph. It has three sentences. Exactly three.', TestableLorem::text(100));
|
|
}
|
|
|
|
public function testSentenceWithZeroNbWordsReturnsEmptyString()
|
|
{
|
|
$this->assertEquals('', Lorem::sentence(0));
|
|
}
|
|
|
|
public function testSentenceWithNegativeNbWordsReturnsEmptyString()
|
|
{
|
|
$this->assertEquals('', Lorem::sentence(-1));
|
|
}
|
|
|
|
public function testParagraphWithZeroNbSentencesReturnsEmptyString()
|
|
{
|
|
$this->assertEquals('', Lorem::paragraph(0));
|
|
}
|
|
|
|
public function testParagraphWithNegativeNbSentencesReturnsEmptyString()
|
|
{
|
|
$this->assertEquals('', Lorem::paragraph(-1));
|
|
}
|
|
|
|
public function testSentenceWithPositiveNbWordsReturnsAtLeastOneWord()
|
|
{
|
|
$sentence = Lorem::sentence(1);
|
|
|
|
$this->assertGreaterThan(1, strlen($sentence));
|
|
$this->assertGreaterThanOrEqual(1, count(explode(' ', $sentence)));
|
|
}
|
|
|
|
public function testParagraphWithPositiveNbSentencesReturnsAtLeastOneWord()
|
|
{
|
|
$paragraph = Lorem::paragraph(1);
|
|
|
|
$this->assertGreaterThan(1, strlen($paragraph));
|
|
$this->assertGreaterThanOrEqual(1, count(explode(' ', $paragraph)));
|
|
}
|
|
|
|
public function testWordssAsText()
|
|
{
|
|
$words = TestableLorem::words(2, true);
|
|
|
|
$this->assertEquals('word word', $words);
|
|
}
|
|
|
|
public function testSentencesAsText()
|
|
{
|
|
$sentences = TestableLorem::sentences(2, true);
|
|
|
|
$this->assertEquals('This is a test sentence. This is a test sentence.', $sentences);
|
|
}
|
|
|
|
public function testParagraphsAsText()
|
|
{
|
|
$paragraphs = TestableLorem::paragraphs(2, true);
|
|
|
|
$expected = "This is a test paragraph. It has three sentences. Exactly three.\n\nThis is a test paragraph. It has three sentences. Exactly three.";
|
|
$this->assertEquals($expected, $paragraphs);
|
|
}
|
|
}
|
|
|
|
class TestableLorem extends Lorem
|
|
{
|
|
|
|
public static function word()
|
|
{
|
|
return 'word';
|
|
}
|
|
|
|
public static function sentence($nbWords = 5, $variableNbWords = true)
|
|
{
|
|
return 'This is a test sentence.';
|
|
}
|
|
|
|
public static function paragraph($nbSentences = 3, $variableNbSentences = true)
|
|
{
|
|
return 'This is a test paragraph. It has three sentences. Exactly three.';
|
|
}
|
|
}
|
|
|