namespace Tests\Wallabag\CoreBundle\Tools;
+use PHPUnit\Framework\TestCase;
use Symfony\Component\Finder\Finder;
use Wallabag\CoreBundle\Tools\Utils;
-class UtilsTest extends \PHPUnit_Framework_TestCase
+class UtilsTest extends TestCase
{
/**
* @dataProvider examples
*/
- public function testCorrectWordsCountForDifferentLanguages($text, $expectedCount)
+ public function testCorrectWordsCountForDifferentLanguages($filename, $text, $expectedCount)
{
- static::assertEquals((float) $expectedCount, Utils::getReadingTime($text));
+ static::assertSame((float) $expectedCount, Utils::getReadingTime($text), 'Reading time for: ' . $filename);
}
public function examples()
{
$examples = [];
- $finder = (new Finder())->in(__DIR__.'/samples');
+ $finder = (new Finder())->in(__DIR__ . '/samples');
foreach ($finder->getIterator() as $file) {
- $examples[] = [$file->getContents(), 1];
+ preg_match('/-----CONTENT-----\s*(.*?)\s*-----READING_TIME-----\s*(.*)/sx', $file->getContents(), $match);
+
+ if (3 !== \count($match)) {
+ throw new \Exception('Sample file "' . $file->getRelativePathname() . '" as wrong definition, see README.');
+ }
+
+ $examples[] = [
+ $file->getRelativePathname(),
+ $match[1], // content
+ $match[2], // reading time
+ ];
}
return $examples;