From 87114a5c30ff50d75cb00fa0bffee1a47da35156 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Mon, 15 Nov 2010 11:55:28 -0800 Subject: [PATCH] Add some basic oEmbed lookup test cases; fixed a bug in discovery fallback. --- lib/oembedhelper.php | 1 - tests/oEmbedTest.php | 67 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 tests/oEmbedTest.php diff --git a/lib/oembedhelper.php b/lib/oembedhelper.php index 8cd4a9dc4a..84cf105867 100644 --- a/lib/oembedhelper.php +++ b/lib/oembedhelper.php @@ -164,7 +164,6 @@ class oEmbedHelper } } - return false; throw new oEmbedHelper_DiscoveryException(); } diff --git a/tests/oEmbedTest.php b/tests/oEmbedTest.php new file mode 100644 index 0000000000..eabee00ad9 --- /dev/null +++ b/tests/oEmbedTest.php @@ -0,0 +1,67 @@ +old_oohembed = common_config('oohembed', 'endpoint'); + } + + public function tearDown() + { + //$GLOBALS['config']['attachments']['supported'] = $this->old_attachments_supported; + } + + /** + * @dataProvider fileTypeCases + * + */ + public function testoEmbed($url, $expectedType) + { + try { + $data = oEmbedHelper::getObject($url); + $this->assertEquals($expectedType, $data->type); + } catch (Exception $e) { + if ($expectedType == 'none') { + $this->assertEquals($expectedType, 'none', 'Should not have data for this URL.'); + } else { + throw $e; + } + } + } + + static public function fileTypeCases() + { + $files = array( + 'http://www.flickr.com/photos/brionv/5172500179/' => 'photo', + 'http://twitpic.com/36adw6' => 'photo', + 'http://yfrog.com/fy42747177j' => 'photo', + 'http://identi.ca/attachment/34437400' => 'photo', + + 'http://www.youtube.com/watch?v=eUgLR232Cnw' => 'video', + 'http://vimeo.com/9283184' => 'video', + + 'http://en.wikipedia.org/wiki/File:Wiki.png' => 'link', // @fixme in future there may be a native provider -- will change to 'photo' + 'http://leuksman.com/log/2010/10/29/statusnet-0-9-6-release/' => 'none', + ); + + $dataset = array(); + foreach ($files as $url => $type) { + $dataset[] = array($url, $type); + } + return $dataset; + } + +} +