diff --git a/app/components/markdown/markdown.js b/app/components/markdown/markdown.js
index edd910c8b..90a9b5ced 100644
--- a/app/components/markdown/markdown.js
+++ b/app/components/markdown/markdown.js
@@ -90,7 +90,7 @@ export default class Markdown extends PureComponent {
urlFilter = (url) => {
const scheme = getScheme(url);
- return !scheme || this.props.autolinkedUrlSchemes.indexOf(scheme) !== -1;
+ return !scheme || this.props.autolinkedUrlSchemes.indexOf(scheme.toLowerCase()) !== -1;
};
createRenderer = () => {
diff --git a/app/components/markdown/markdown.test.js b/app/components/markdown/markdown.test.js
index 110055016..5d5db84b9 100644
--- a/app/components/markdown/markdown.test.js
+++ b/app/components/markdown/markdown.test.js
@@ -4,11 +4,13 @@
import {shallow} from 'enzyme';
import React from 'react';
+import {General} from '../../mm-redux/constants';
+
import Markdown from './markdown.js';
describe('Markdown', () => {
const baseProps = {
- autolinkedUrlSchemes: ['mattermost'],
+ autolinkedUrlSchemes: General.DEFAULT_AUTOLINKED_URL_SCHEMES,
baseTextStyle: {},
mentionKeys: [{key: 'user.name'}, {key: '@channel'}, {key: '@all'}, {key: '@here'}],
minimumHashtagLength: 3,
@@ -56,4 +58,31 @@ describe('Markdown', () => {
,
);
});
+
+ test('should return true for an uncapitalized scheme', () => {
+ const url = 'https://www.mattermost.com/';
+ const wrapper = shallow(
+ ,
+ );
+
+ expect(wrapper.instance().urlFilter(url)).toBe(true);
+ });
+
+ test('should return true for a capitalized scheme', () => {
+ const url = 'Https://www.mattermost.com/';
+ const wrapper = shallow(
+ ,
+ );
+
+ expect(wrapper.instance().urlFilter(url)).toBe(true);
+ });
+
+ test('should return false for an unknown scheme', () => {
+ const url = 'unknown://www.mattermost.com/';
+ const wrapper = shallow(
+ ,
+ );
+
+ expect(wrapper.instance().urlFilter(url)).toBe(false);
+ });
});