From a63fbbf2db57e7d4df0f396c3f1d01fca1eeb800 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 5 Dec 2019 00:11:10 +0000 Subject: [PATCH] Add tests Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- test/utils/permalinks/Permalinks-test.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/utils/permalinks/Permalinks-test.js b/test/utils/permalinks/Permalinks-test.js index 27f06b44cb..32a42a7728 100644 --- a/test/utils/permalinks/Permalinks-test.js +++ b/test/utils/permalinks/Permalinks-test.js @@ -19,6 +19,7 @@ import { makeGroupPermalink, makeRoomPermalink, makeUserPermalink, + parsePermalink, RoomPermalinkCreator, } from "../../../src/utils/permalinks/Permalinks"; import * as testUtils from "../../test-utils"; @@ -450,4 +451,24 @@ describe('Permalinks', function() { const result = makeGroupPermalink("+community:example.org"); expect(result).toBe("https://matrix.to/#/+community:example.org"); }); + + it('should correctly parse room permalinks with a via argument', () => { + const result = parsePermalink("https://matrix.to/#/!room_id:server?via=some.org"); + expect(result.roomIdOrAlias).toBe("!room_id:server"); + expect(result.viaServers).toEqual(["some.org"]); + }); + + it('should correctly parse room permalink via arguments', () => { + const result = parsePermalink("https://matrix.to/#/!room_id:server?via=foo.bar&via=bar.foo"); + expect(result.roomIdOrAlias).toBe("!room_id:server"); + expect(result.viaServers).toEqual(["foo.bar", "bar.foo"]); + }); + + it('should correctly parse event permalink via arguments', () => { + const result = parsePermalink("https://matrix.to/#/!room_id:server/$event_id/some_thing_here/foobar" + + "?via=m1.org&via=m2.org"); + expect(result.eventId).toBe("$event_id/some_thing_here/foobar"); + expect(result.roomIdOrAlias).toBe("!room_id:server"); + expect(result.viaServers).toEqual(["m1.org", "m2.org"]); + }); });