mirror of
https://github.com/mattermost/mattermost-mobile.git
synced 2026-11-05 10:28:54 +00:00
* Mattermost Blocks * Move block renderer to its own components folder * Sync translation layer * UX fixes * Refactor button to use the button component * Code review * Fix CI * Add animations to collapse blocks * Add unit tests * Add e2e tests and related fixes * Address coderabbit comments * Address UX comments * Address feedback * Address coderabbit comments * Fix snapshots * Sync with webapp translation * Add node limit to button markdown node * Address feedback * i18n-extract * Fix test * Move image utils to the utils folder * Remove unneeded style * Revert build script change --------- Co-authored-by: Mattermost Build <build@mattermost.com>
31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
import {getImageSrc} from './get_image_src';
|
|
|
|
const BASE_ROUTE = 'https://server.example.com/api/v4';
|
|
|
|
describe('getImageSrc', () => {
|
|
it('should proxy external urls when enabled', () => {
|
|
const src = 'https://example.com/image.png';
|
|
expect(getImageSrc(src, BASE_ROUTE, true)).toBe(
|
|
`${BASE_ROUTE}/image?url=${encodeURIComponent(src)}`,
|
|
);
|
|
});
|
|
|
|
it('should not double-proxy urls', () => {
|
|
const proxied = `${BASE_ROUTE}/image?url=${encodeURIComponent('https://example.com/image.png')}`;
|
|
expect(getImageSrc(proxied, BASE_ROUTE, true)).toBe(proxied);
|
|
});
|
|
|
|
it('should skip proxy for data urls', () => {
|
|
const dataUrl = 'data:image/png;base64,abc';
|
|
expect(getImageSrc(dataUrl, BASE_ROUTE, true)).toBe(dataUrl);
|
|
});
|
|
|
|
it('should return src unchanged when proxy is disabled', () => {
|
|
const src = 'https://example.com/image.png';
|
|
expect(getImageSrc(src, BASE_ROUTE, false)).toBe(src);
|
|
});
|
|
});
|