diff options
-rw-r--r-- | tests/unit/Lib/ActivityTest.php | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/unit/Lib/ActivityTest.php b/tests/unit/Lib/ActivityTest.php index 46f53ecd9..3b1eaf596 100644 --- a/tests/unit/Lib/ActivityTest.php +++ b/tests/unit/Lib/ActivityTest.php @@ -281,4 +281,41 @@ class ActivityTest extends UnitTestCase { $this->assertArrayHasKey('aKey', $packet); $this->assertEquals('aValue', $packet['aKey']); } + + /** + * Test get protocols from an activitystreams actor object + * + * @dataProvider get_actor_protocols_provider + */ + public function test_get_actor_protocols(array $actor, array $expected): void { + $this->assertEquals($expected, Activity::get_actor_protocols($actor)); + } + + /** + * Dataprovider for test_get_actor_protocols. + */ + public static function get_actor_protocols_provider(): array { + return [ + 'none' => [ + ['tag' => ['type' => 'Note', 'name' => 'Website', 'content' => 'https://example.com']], + [] + ], + 'legacy' => [ + ['tag' => + ['type' => 'PropertyValue', 'name' => 'Protocol', 'value' => 'zot6'], + ['type' => 'PropertyValue', 'name' => 'Protocol', 'value' => 'activitypub'], + ['type' => 'PropertyValue', 'name' => 'Protocol', 'value' => 'diaspora'] + ], + ['zot6', 'activitypub', 'diaspora'] + ], + 'fep-fb2a' => [ + ['tag' => ['type' => 'Note', 'name' => 'Protocols', 'content' => 'zot6,activitypub,diaspora']], + ['zot6', 'activitypub', 'diaspora'] + ], + 'fep-fb2a with spaces' => [ + ['tag' => ['type' => 'Note', 'name' => 'Protocols', 'content' => 'zot6, activitypub, diaspora']], + ['zot6', 'activitypub', 'diaspora'] + ] + ]; + } } |