]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Add some basic oEmbed lookup test cases; fixed a bug in discovery fallback.
authorBrion Vibber <brion@pobox.com>
Mon, 15 Nov 2010 19:55:28 +0000 (11:55 -0800)
committerBrion Vibber <brion@pobox.com>
Mon, 15 Nov 2010 19:55:28 +0000 (11:55 -0800)
lib/oembedhelper.php
tests/oEmbedTest.php [new file with mode: 0644]

index 8cd4a9dc4a96aaecf718ca6f45fe50704cd8faeb..84cf1058676a97e9ed6a523b484a1b2ddeb6ec5c 100644 (file)
@@ -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 (file)
index 0000000..eabee00
--- /dev/null
@@ -0,0 +1,67 @@
+<?php
+
+if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
+    print "This script must be run from the command line\n";
+    exit();
+}
+
+define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
+define('STATUSNET', true);
+
+require_once INSTALLDIR . '/lib/common.php';
+
+class oEmbedTest extends PHPUnit_Framework_TestCase
+{
+
+    public function setup()
+    {
+        //$this->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;
+    }
+
+}
+