]> git.immae.eu Git - github/wallabag/wallabag.git/blob - tests/Wallabag/CoreBundle/Tools/UtilsTest.php
Merge pull request #3831 from wallabag/fix/api-bad-client-id
[github/wallabag/wallabag.git] / tests / Wallabag / CoreBundle / Tools / UtilsTest.php
1 <?php
2
3 namespace Tests\Wallabag\CoreBundle\Tools;
4
5 use PHPUnit\Framework\TestCase;
6 use Symfony\Component\Finder\Finder;
7 use Wallabag\CoreBundle\Tools\Utils;
8
9 class UtilsTest extends TestCase
10 {
11 /**
12 * @dataProvider examples
13 */
14 public function testCorrectWordsCountForDifferentLanguages($filename, $text, $expectedCount)
15 {
16 static::assertSame((float) $expectedCount, Utils::getReadingTime($text), 'Reading time for: ' . $filename);
17 }
18
19 public function examples()
20 {
21 $examples = [];
22 $finder = (new Finder())->in(__DIR__ . '/samples');
23 foreach ($finder->getIterator() as $file) {
24 preg_match('/-----CONTENT-----\s*(.*?)\s*-----READING_TIME-----\s*(.*)/sx', $file->getContents(), $match);
25
26 if (3 !== \count($match)) {
27 throw new \Exception('Sample file "' . $file->getRelativePathname() . '" as wrong definition, see README.');
28 }
29
30 $examples[] = [
31 $file->getRelativePathname(),
32 $match[1], // content
33 $match[2], // reading time
34 ];
35 }
36
37 return $examples;
38 }
39 }