]> git.immae.eu Git - github/shaarli/Shaarli.git/blobdiff - tests/plugins/PluginIssoTest.php
Compatibility with PHPUnit 9
[github/shaarli/Shaarli.git] / tests / plugins / PluginIssoTest.php
index 03def208eea6c647356d2ca5db2c13906a1ff97d..16ecf357abce0307188db19771a32981bd0682a8 100644 (file)
@@ -1,4 +1,11 @@
 <?php
+namespace Shaarli\Plugin\Isso;
+
+use DateTime;
+use Shaarli\Bookmark\Bookmark;
+use Shaarli\Config\ConfigManager;
+use Shaarli\Plugin\PluginManager;
+use Shaarli\TestCase;
 
 require_once 'plugins/isso/isso.php';
 
@@ -7,12 +14,12 @@ require_once 'plugins/isso/isso.php';
  *
  * Test the Isso plugin (comment system).
  */
-class PluginIssoTest extends PHPUnit_Framework_TestCase
+class PluginIssoTest extends TestCase
 {
     /**
      * Reset plugin path
      */
-    public function setUp()
+    public function setUp(): void
     {
         PluginManager::$PLUGINS_PATH = 'plugins';
     }
@@ -20,7 +27,7 @@ class PluginIssoTest extends PHPUnit_Framework_TestCase
     /**
      * Test Isso init without errors.
      */
-    public function testWallabagInitNoError()
+    public function testIssoInitNoError(): void
     {
         $conf = new ConfigManager('');
         $conf->set('plugins.ISSO_SERVER', 'value');
@@ -31,7 +38,7 @@ class PluginIssoTest extends PHPUnit_Framework_TestCase
     /**
      * Test Isso init with errors.
      */
-    public function testWallabagInitError()
+    public function testIssoInitError(): void
     {
         $conf = new ConfigManager('');
         $errors = isso_init($conf);
@@ -41,7 +48,7 @@ class PluginIssoTest extends PHPUnit_Framework_TestCase
     /**
      * Test render_linklist hook with valid settings to display the comment form.
      */
-    public function testIssoDisplayed()
+    public function testIssoDisplayed(): void
     {
         $conf = new ConfigManager('');
         $conf->set('plugins.ISSO_SERVER', 'value');
@@ -54,7 +61,7 @@ class PluginIssoTest extends PHPUnit_Framework_TestCase
                 array(
                     'id' => 12,
                     'url' => $str,
-                    'created' => DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, $date),
+                    'created' => DateTime::createFromFormat(Bookmark::LINK_DATE_FORMAT, $date),
                 )
             )
         );
@@ -79,9 +86,9 @@ class PluginIssoTest extends PHPUnit_Framework_TestCase
     }
 
     /**
-     * Test isso plugin when multiple links are displayed (shouldn't be displayed).
+     * Test isso plugin when multiple bookmarks are displayed (shouldn't be displayed).
      */
-    public function testIssoMultipleLinks()
+    public function testIssoMultipleLinks(): void
     {
         $conf = new ConfigManager('');
         $conf->set('plugins.ISSO_SERVER', 'value');
@@ -95,25 +102,28 @@ class PluginIssoTest extends PHPUnit_Framework_TestCase
                 array(
                     'id' => 12,
                     'url' => $str,
-                    'created' => DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, $date1),
+                    'shorturl' => $short1 = 'abcd',
+                    'created' => DateTime::createFromFormat(Bookmark::LINK_DATE_FORMAT, $date1),
                 ),
                 array(
                     'id' => 13,
                     'url' => $str . '2',
-                    'created' => DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, $date2),
+                    'shorturl' => $short2 = 'efgh',
+                    'created' => DateTime::createFromFormat(Bookmark::LINK_DATE_FORMAT, $date2),
                 ),
             )
         );
 
         $processed = hook_isso_render_linklist($data, $conf);
-        // data shouldn't be altered
-        $this->assertEquals($data, $processed);
+        // link_plugin should be added for the icon
+        $this->assertContainsPolyfill('<a href="/shaare/'. $short1 .'#isso-thread">', $processed['links'][0]['link_plugin'][0]);
+        $this->assertContainsPolyfill('<a href="/shaare/'. $short2 .'#isso-thread">', $processed['links'][1]['link_plugin'][0]);
     }
 
     /**
      * Test isso plugin when using search (shouldn't be displayed).
      */
-    public function testIssoNotDisplayedWhenSearch()
+    public function testIssoNotDisplayedWhenSearch(): void
     {
         $conf = new ConfigManager('');
         $conf->set('plugins.ISSO_SERVER', 'value');
@@ -126,7 +136,8 @@ class PluginIssoTest extends PHPUnit_Framework_TestCase
                 array(
                     'id' => 12,
                     'url' => $str,
-                    'created' => DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, $date),
+                    'shorturl' => $short1 = 'abcd',
+                    'created' => DateTime::createFromFormat(Bookmark::LINK_DATE_FORMAT, $date),
                 )
             ),
             'search_term' => $str
@@ -134,14 +145,14 @@ class PluginIssoTest extends PHPUnit_Framework_TestCase
 
         $processed = hook_isso_render_linklist($data, $conf);
 
-        // data shouldn't be altered
-        $this->assertEquals($data, $processed);
+        // link_plugin should be added for the icon
+        $this->assertContainsPolyfill('<a href="/shaare/'. $short1 .'#isso-thread">', $processed['links'][0]['link_plugin'][0]);
     }
 
     /**
      * Test isso plugin without server configuration (shouldn't be displayed).
      */
-    public function testIssoWithoutConf()
+    public function testIssoWithoutConf(): void
     {
         $data = 'abc';
         $conf = new ConfigManager('');