Add linkify tests
This commit is contained in:
parent
889e3b88b7
commit
01bacafac8
56
client/src/js/util/__tests__/util.test.js
Normal file
56
client/src/js/util/__tests__/util.test.js
Normal file
@ -0,0 +1,56 @@
|
||||
import React from 'react';
|
||||
import linkify from '../linkify';
|
||||
|
||||
describe('linkify()', () => {
|
||||
const proto = href => href.indexOf('http') !== 0 ? `http://${href}` : href;
|
||||
const linkTo = href => <a href={proto(href)} rel="noopener noreferrer" target="_blank">{href}</a>;
|
||||
|
||||
it('returns the arg when no matches are found', () => [
|
||||
null,
|
||||
undefined,
|
||||
10,
|
||||
false,
|
||||
true,
|
||||
'just some text',
|
||||
''
|
||||
].forEach(input => expect(linkify(input)).toBe(input)));
|
||||
|
||||
it('linkifies text', () => Object.entries({
|
||||
'google.com': linkTo('google.com'),
|
||||
'google.com stuff': [
|
||||
linkTo('google.com'),
|
||||
' stuff'
|
||||
],
|
||||
'cake google.com stuff': [
|
||||
'cake ',
|
||||
linkTo('google.com'),
|
||||
' stuff'
|
||||
],
|
||||
'cake google.com stuff https://google.com': [
|
||||
'cake ',
|
||||
linkTo('google.com'),
|
||||
' stuff ',
|
||||
linkTo('https://google.com')
|
||||
],
|
||||
'cake google.com stuff pie https://google.com ': [
|
||||
'cake ',
|
||||
linkTo('google.com'),
|
||||
' stuff pie ',
|
||||
linkTo('https://google.com'),
|
||||
' '
|
||||
],
|
||||
' google.com': [
|
||||
' ',
|
||||
linkTo('google.com')
|
||||
],
|
||||
'google.com ': [
|
||||
linkTo('google.com'),
|
||||
' '
|
||||
],
|
||||
'/google.com?': [
|
||||
'/',
|
||||
linkTo('google.com'),
|
||||
'?'
|
||||
]
|
||||
}).forEach(([ input, expected ]) => expect(linkify(input)).toEqual(expected)));
|
||||
});
|
Loading…
Reference in New Issue
Block a user