X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2Fplugins%2FPluginArchiveorgTest.php;h=510288bbadc2e31557142896d89034bf10a40148;hb=9585441734924cb8ece3924afa5fefb6aa2e2604;hp=dbc52bc89ad16a138b1ea746106fa67841d2dfb4;hpb=00c25040c523104e1b845fd71d1cd134a1a5e7ff;p=github%2Fshaarli%2FShaarli.git diff --git a/tests/plugins/PluginArchiveorgTest.php b/tests/plugins/PluginArchiveorgTest.php index dbc52bc8..510288bb 100644 --- a/tests/plugins/PluginArchiveorgTest.php +++ b/tests/plugins/PluginArchiveorgTest.php @@ -1,41 +1,48 @@ $str, 'links' => array( array( 'url' => $str, + 'private' => 0, + 'real_url' => $str ) ) ); $data = hook_archiveorg_render_linklist($data); + $link = $data['links'][0]; // data shouldn't be altered $this->assertEquals($str, $data['title']); @@ -45,4 +52,90 @@ class PluginArchiveorgTest extends PHPUnit_Framework_TestCase $this->assertEquals(1, count($link['link_plugin'])); $this->assertNotFalse(strpos($link['link_plugin'][0], $str)); } + + /** + * Test render_linklist hook on internal links. + */ + public function testArchiveorgLinklistOnInternalLinks() + { + $internalLink1 = 'http://shaarli.shaarli/?qvMAqg'; + $internalLinkRealURL1 = '?qvMAqg'; + + $internalLink2 = 'http://shaarli.shaarli/?2_7zww'; + $internalLinkRealURL2 = '?2_7zww'; + + $internalLink3 = 'http://shaarli.shaarli/?z7u-_Q'; + $internalLinkRealURL3 = '?z7u-_Q'; + + $data = array( + 'title' => $internalLink1, + 'links' => array( + array( + 'url' => $internalLink1, + 'private' => 0, + 'real_url' => $internalLinkRealURL1 + ), + array( + 'url' => $internalLink1, + 'private' => 1, + 'real_url' => $internalLinkRealURL1 + ), + array( + 'url' => $internalLink2, + 'private' => 0, + 'real_url' => $internalLinkRealURL2 + ), + array( + 'url' => $internalLink2, + 'private' => 1, + 'real_url' => $internalLinkRealURL2 + ), + array( + 'url' => $internalLink3, + 'private' => 0, + 'real_url' => $internalLinkRealURL3 + ), + array( + 'url' => $internalLink3, + 'private' => 1, + 'real_url' => $internalLinkRealURL3 + ) + ) + ); + + $data = hook_archiveorg_render_linklist($data); + + // Case n°1: first link type, public + $link = $data['links'][0]; + + $this->assertEquals(1, count($link['link_plugin'])); + $this->assertNotFalse(strpos($link['link_plugin'][0], $internalLink1)); + + // Case n°2: first link type, private + $link = $data['links'][1]; + + $this->assertArrayNotHasKey('link_plugin', $link); + + // Case n°3: second link type, public + $link = $data['links'][2]; + + $this->assertEquals(1, count($link['link_plugin'])); + $this->assertNotFalse(strpos($link['link_plugin'][0], $internalLink2)); + + // Case n°4: second link type, private + $link = $data['links'][3]; + + $this->assertArrayNotHasKey('link_plugin', $link); + + // Case n°5: third link type, public + $link = $data['links'][4]; + + $this->assertEquals(1, count($link['link_plugin'])); + $this->assertNotFalse(strpos($link['link_plugin'][0], $internalLink3)); + + // Case n°6: third link type, private + $link = $data['links'][5]; + + $this->assertArrayNotHasKey('link_plugin', $link); + } }