aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/unit/Lib/ActivityTest.php37
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']
+ ]
+ ];
+ }
}