diff --git a/lib/src/User.dart b/lib/src/User.dart index 907bdeaf..a45d101f 100644 --- a/lib/src/User.dart +++ b/lib/src/User.dart @@ -66,13 +66,13 @@ class User { MxContent get avatar_url => avatarUrl; User( - this.id, { + String id, { this.membership, this.displayName, this.avatarUrl, this.powerLevel, this.room, - }); + }) : this.id = id ?? ""; /// Returns the displayname or the local part of the Matrix ID if the user /// has no displayname. diff --git a/lib/src/utils/MxContent.dart b/lib/src/utils/MxContent.dart index d7a0c237..05f9bc7e 100644 --- a/lib/src/utils/MxContent.dart +++ b/lib/src/utils/MxContent.dart @@ -29,7 +29,7 @@ class MxContent { final String _mxc; /// Insert a mxc:// uri here. - MxContent(this._mxc); + MxContent(String mxcUrl) : this._mxc = mxcUrl ?? ""; /// Returns the mxc uri. get mxc => _mxc; diff --git a/test/MxContent_test.dart b/test/MxContent_test.dart index cfdc5ca2..8f4905a5 100644 --- a/test/MxContent_test.dart +++ b/test/MxContent_test.dart @@ -43,5 +43,12 @@ void main() { width: 50, height: 50, method: ThumbnailMethod.scale), "${client.homeserver}/_matrix/media/r0/thumbnail/exampleserver.abc/abcdefghijklmn?width=50&height=50&method=scale"); }); + test("Not crashing if null", () async { + Client client = Client("testclient"); + client.homeserver = "https://testserver.abc"; + final MxContent content = MxContent(null); + expect(content.getDownloadLink(client), + "${client.homeserver}/_matrix/media/r0/download/"); + }); }); }