From bf26e7ebcb5ee69523b93a5ec7b7a65b39acb916 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Mon, 3 Oct 2016 09:43:49 +0200 Subject: Isso comments plugin Use Isso client to let visitors comments on permalinks --- tests/plugins/PluginIssoTest.php | 136 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 tests/plugins/PluginIssoTest.php (limited to 'tests') diff --git a/tests/plugins/PluginIssoTest.php b/tests/plugins/PluginIssoTest.php new file mode 100644 index 00000000..1f545c7d --- /dev/null +++ b/tests/plugins/PluginIssoTest.php @@ -0,0 +1,136 @@ +set('plugins.ISSO_SERVER', 'value'); + $errors = isso_init($conf); + $this->assertEmpty($errors); + } + + /** + * Test Isso init with errors. + */ + function testWallabagInitError() + { + $conf = new ConfigManager(''); + $errors = isso_init($conf); + $this->assertNotEmpty($errors); + } + + /** + * Test render_linklist hook with valid settings to display the comment form. + */ + function testIssoDisplayed() + { + $conf = new ConfigManager(''); + $conf->set('plugins.ISSO_SERVER', 'value'); + + $str = 'http://randomstr.com/test'; + $data = array( + 'title' => $str, + 'links' => array( + array( + 'url' => $str, + 'linkdate' => 'abc', + ) + ) + ); + + $data = hook_isso_render_linklist($data, $conf); + + // data shouldn't be altered + $this->assertEquals($str, $data['title']); + $this->assertEquals($str, $data['links'][0]['url']); + + // plugin data + $this->assertEquals(1, count($data['plugin_end_zone'])); + $this->assertNotFalse(strpos($data['plugin_end_zone'][0], 'abc')); + $this->assertNotFalse(strpos($data['plugin_end_zone'][0], 'embed.min.js')); + } + + /** + * Test isso plugin when multiple links are displayed (shouldn't be displayed). + */ + function testIssoMultipleLinks() + { + $conf = new ConfigManager(''); + $conf->set('plugins.ISSO_SERVER', 'value'); + + $str = 'http://randomstr.com/test'; + $data = array( + 'title' => $str, + 'links' => array( + array( + 'url' => $str, + 'linkdate' => 'abc', + ), + array( + 'url' => $str . '2', + 'linkdate' => 'abc2', + ), + ) + ); + + $processed = hook_isso_render_linklist($data, $conf); + // data shouldn't be altered + $this->assertEquals($data, $processed); + } + + /** + * Test isso plugin when using search (shouldn't be displayed). + */ + function testIssoNotDisplayedWhenSearch() + { + $conf = new ConfigManager(''); + $conf->set('plugins.ISSO_SERVER', 'value'); + + $str = 'http://randomstr.com/test'; + $data = array( + 'title' => $str, + 'links' => array( + array( + 'url' => $str, + 'linkdate' => 'abc', + ) + ), + 'search_term' => $str + ); + + $processed = hook_isso_render_linklist($data, $conf); + + // data shouldn't be altered + $this->assertEquals($data, $processed); + } + + /** + * Test isso plugin without server configuration (shouldn't be displayed). + */ + function testIssoWithoutConf() + { + $data = 'abc'; + $conf = new ConfigManager(''); + $processed = hook_isso_render_linklist($data, $conf); + $this->assertEquals($data, $processed); + } +} -- cgit v1.2.3