3 if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
4 print "This script must be run from the command line\n";
8 define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
9 define('GNUSOCIAL', true);
10 define('STATUSNET', true); // compatibility
12 require_once INSTALLDIR . '/lib/common.php';
14 class MagicEnvelopeTest extends PHPUnit_Framework_TestCase
17 * Test that MagicEnvelope builds the correct plaintext for signing.
18 * @dataProvider provider
20 public function testSignatureText($env, $expected)
22 $magic = new MagicEnvelope;
23 $text = $magic->signingText($env);
25 $this->assertEquals($expected, $text, "'$text' should be '$expected'");
28 static public function provider()
32 // Sample case given in spec:
33 // http://salmon-protocol.googlecode.com/svn/trunk/draft-panzer-magicsig-00.html#signing
35 'data' => 'Tm90IHJlYWxseSBBdG9t',
36 'data_type' => 'application/atom+xml',
37 'encoding' => 'base64url',
40 'Tm90IHJlYWxseSBBdG9t.YXBwbGljYXRpb24vYXRvbSt4bWw=.YmFzZTY0dXJs.UlNBLVNIQTI1Ng=='
47 * Test that MagicEnvelope builds the correct plaintext for signing.
48 * @dataProvider provider
50 public function testSignatureTextCompat($env, $expected)
52 // Our old code didn't add the extra fields, just used the armored text.
55 $magic = new MagicEnvelopeCompat;
56 $text = $magic->signingText($env);
58 $this->assertEquals($alt, $text, "'$text' should be '$alt'");