You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-08-09 10:22:46 +03:00
87 lines
3.3 KiB
JavaScript
87 lines
3.3 KiB
JavaScript
import {getHttpUriForMxc, getIdenticonUri} from "../../src/content-repo";
|
|
|
|
describe("ContentRepo", function() {
|
|
const baseUrl = "https://my.home.server";
|
|
|
|
describe("getHttpUriForMxc", function() {
|
|
it("should do nothing to HTTP URLs when allowing direct links", function() {
|
|
const httpUrl = "http://example.com/image.jpeg";
|
|
expect(
|
|
getHttpUriForMxc(
|
|
baseUrl, httpUrl, undefined, undefined, undefined, true,
|
|
),
|
|
).toEqual(httpUrl);
|
|
});
|
|
|
|
it("should return the empty string HTTP URLs by default", function() {
|
|
const httpUrl = "http://example.com/image.jpeg";
|
|
expect(getHttpUriForMxc(baseUrl, httpUrl)).toEqual("");
|
|
});
|
|
|
|
it("should return a download URL if no width/height/resize are specified",
|
|
function() {
|
|
const mxcUri = "mxc://server.name/resourceid";
|
|
expect(getHttpUriForMxc(baseUrl, mxcUri)).toEqual(
|
|
baseUrl + "/_matrix/media/r0/download/server.name/resourceid",
|
|
);
|
|
});
|
|
|
|
it("should return the empty string for null input", function() {
|
|
expect(getHttpUriForMxc(null)).toEqual("");
|
|
});
|
|
|
|
it("should return a thumbnail URL if a width/height/resize is specified",
|
|
function() {
|
|
const mxcUri = "mxc://server.name/resourceid";
|
|
expect(getHttpUriForMxc(baseUrl, mxcUri, 32, 64, "crop")).toEqual(
|
|
baseUrl + "/_matrix/media/r0/thumbnail/server.name/resourceid" +
|
|
"?width=32&height=64&method=crop",
|
|
);
|
|
});
|
|
|
|
it("should put fragments from mxc:// URIs after any query parameters",
|
|
function() {
|
|
const mxcUri = "mxc://server.name/resourceid#automade";
|
|
expect(getHttpUriForMxc(baseUrl, mxcUri, 32)).toEqual(
|
|
baseUrl + "/_matrix/media/r0/thumbnail/server.name/resourceid" +
|
|
"?width=32#automade",
|
|
);
|
|
});
|
|
|
|
it("should put fragments from mxc:// URIs at the end of the HTTP URI",
|
|
function() {
|
|
const mxcUri = "mxc://server.name/resourceid#automade";
|
|
expect(getHttpUriForMxc(baseUrl, mxcUri)).toEqual(
|
|
baseUrl + "/_matrix/media/r0/download/server.name/resourceid#automade",
|
|
);
|
|
});
|
|
});
|
|
|
|
describe("getIdenticonUri", function() {
|
|
it("should do nothing for null input", function() {
|
|
expect(getIdenticonUri(null)).toEqual(null);
|
|
});
|
|
|
|
it("should set w/h by default to 96", function() {
|
|
expect(getIdenticonUri(baseUrl, "foobar")).toEqual(
|
|
baseUrl + "/_matrix/media/unstable/identicon/foobar" +
|
|
"?width=96&height=96",
|
|
);
|
|
});
|
|
|
|
it("should be able to set custom w/h", function() {
|
|
expect(getIdenticonUri(baseUrl, "foobar", 32, 64)).toEqual(
|
|
baseUrl + "/_matrix/media/unstable/identicon/foobar" +
|
|
"?width=32&height=64",
|
|
);
|
|
});
|
|
|
|
it("should URL encode the identicon string", function() {
|
|
expect(getIdenticonUri(baseUrl, "foo#bar", 32, 64)).toEqual(
|
|
baseUrl + "/_matrix/media/unstable/identicon/foo%23bar" +
|
|
"?width=32&height=64",
|
|
);
|
|
});
|
|
});
|
|
});
|