Merge branch '3.6-rc'
[friendica-addons.git] / twitter / vendor / abraham / twitteroauth / tests / AbstractSignatureMethodTest.php
diff --git a/twitter/vendor/abraham/twitteroauth/tests/AbstractSignatureMethodTest.php b/twitter/vendor/abraham/twitteroauth/tests/AbstractSignatureMethodTest.php
new file mode 100644 (file)
index 0000000..344b4c1
--- /dev/null
@@ -0,0 +1,51 @@
+<?php
+
+namespace Abraham\TwitterOAuth\Tests;
+
+use Abraham\TwitterOAuth\SignatureMethod;
+
+abstract class AbstractSignatureMethodTest extends \PHPUnit_Framework_TestCase
+{
+    protected $name;
+
+    /**
+     * @return SignatureMethod
+     */
+    abstract public function getClass();
+
+    abstract protected function signatureDataProvider();
+
+    public function testGetName()
+    {
+        $this->assertEquals($this->name, $this->getClass()->getName());
+    }
+
+    /**
+     * @dataProvider signatureDataProvider
+     */
+    public function testBuildSignature($expected, $request, $consumer, $token)
+    {
+        $this->assertEquals($expected, $this->getClass()->buildSignature($request, $consumer, $token));
+    }
+
+    protected function getRequest()
+    {
+        return $this->getMockBuilder('Abraham\TwitterOAuth\Request')
+            ->disableOriginalConstructor()
+            ->getMock();
+    }
+
+    protected function getConsumer($key = null, $secret = null, $callbackUrl = null)
+    {
+        return $this->getMockBuilder('Abraham\TwitterOAuth\Consumer')
+            ->setConstructorArgs([$key, $secret, $callbackUrl])
+            ->getMock();
+    }
+
+    protected function getToken($key = null, $secret = null)
+    {
+        return $this->getMockBuilder('Abraham\TwitterOAuth\Token')
+            ->setConstructorArgs([$key, $secret])
+            ->getMock();
+    }
+}