mattermost-mobile-upstream/app/components/external_image/get_image_src.test.ts
Daniel Espino García 84ea188366
Mattermost Blocks (#9764)
* 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>
2026-06-29 18:42:16 +02:00

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);
});
});