]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - tests/Wallabag/CoreBundle/Tools/UtilsTest.php
Merge pull request #3820 from lizyn/bugfix/incorrect-calculation-of-CJK-characters...
[github/wallabag/wallabag.git] / tests / Wallabag / CoreBundle / Tools / UtilsTest.php
index 4521e485b1509c78cbc33994ff43d9c541acfb06..c6ed74f07e35574e3432ab96ebd63f38ff107e23 100644 (file)
@@ -2,17 +2,18 @@
 
 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()
@@ -20,7 +21,17 @@ class UtilsTest extends \PHPUnit_Framework_TestCase
         $examples = [];
         $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;