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