From 938d9cce77ed5098dd69643795cb4014f3688b35 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Tue, 22 Dec 2015 10:20:27 +0100 Subject: Wallabag plugin improvement * Fixes a bug where URL weren't properly encoded. * Adds Wallabag V2 support. * Adds a URL function to handle trailing slash. * UT. * README updated. --- tests/Url/UrlTest.php | 11 +++++++ tests/plugins/PluginWallabagTest.php | 4 ++- tests/plugins/WallabagInstanceTest.php | 60 ++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 tests/plugins/WallabagInstanceTest.php (limited to 'tests') diff --git a/tests/Url/UrlTest.php b/tests/Url/UrlTest.php index e498d79e..af6daaa4 100644 --- a/tests/Url/UrlTest.php +++ b/tests/Url/UrlTest.php @@ -145,4 +145,15 @@ class UrlTest extends PHPUnit_Framework_TestCase $url = new Url('git://domain.tld/push?pull=clone#checkout'); $this->assertEquals('git', $url->getScheme()); } + + /** + * Test add trailing slash. + */ + function testAddTrailingSlash() + { + $strOn = 'http://randomstr.com/test/'; + $strOff = 'http://randomstr.com/test'; + $this->assertEquals($strOn, add_trailing_slash($strOn)); + $this->assertEquals($strOn, add_trailing_slash($strOff)); + } } diff --git a/tests/plugins/PluginWallabagTest.php b/tests/plugins/PluginWallabagTest.php index 7cc83f4f..5d3a60e0 100644 --- a/tests/plugins/PluginWallabagTest.php +++ b/tests/plugins/PluginWallabagTest.php @@ -44,6 +44,8 @@ class PluginWallabagTest extends PHPUnit_Framework_TestCase // plugin data $this->assertEquals(1, count($link['link_plugin'])); - $this->assertNotFalse(strpos($link['link_plugin'][0], $str)); + $this->assertNotFalse(strpos($link['link_plugin'][0], urlencode($str))); + $this->assertNotFalse(strpos($link['link_plugin'][0], $GLOBALS['plugins']['WALLABAG_URL'])); } } + diff --git a/tests/plugins/WallabagInstanceTest.php b/tests/plugins/WallabagInstanceTest.php new file mode 100644 index 00000000..7c14c1df --- /dev/null +++ b/tests/plugins/WallabagInstanceTest.php @@ -0,0 +1,60 @@ +instance = 'http://some.url'; + } + + /** + * Test WallabagInstance with API V1. + */ + function testWallabagInstanceV1() + { + $instance = new WallabagInstance($this->instance, 1); + $expected = $this->instance . '/?plainurl='; + $result = $instance->getWallabagUrl(); + $this->assertEquals($expected, $result); + } + + /** + * Test WallabagInstance with API V2. + */ + function testWallabagInstanceV2() + { + $instance = new WallabagInstance($this->instance, 2); + $expected = $this->instance . '/bookmarklet?url='; + $result = $instance->getWallabagUrl(); + $this->assertEquals($expected, $result); + } + + /** + * Test WallabagInstance with an invalid API version. + */ + function testWallabagInstanceInvalidVersion() + { + $instance = new WallabagInstance($this->instance, false); + $expected = $this->instance . '/?plainurl='; + $result = $instance->getWallabagUrl(); + $this->assertEquals($expected, $result); + + $instance = new WallabagInstance($this->instance, 3); + $expected = $this->instance . '/?plainurl='; + $result = $instance->getWallabagUrl(); + $this->assertEquals($expected, $result); + } +} -- cgit v1.2.3