import React from 'react'; import preset from '@bbob/preset-react'; import { shallow } from 'enzyme'; import Enzyme from 'enzyme'; import Adapter from 'enzyme-adapter-react-15'; import BBCode from '../src'; Enzyme.configure({ adapter: new Adapter() }); const renderBBCode = (input, options) => shallow( {input} ).html(); describe('@bbob/react', () => { test('[b]bolded text[/b]', () => { const html = renderBBCode('[b]bolded text[/b]'); expect(html).toBe('bolded text') }); test('[i]italicized text[/i]', () => { const html = renderBBCode('[i]italicized text[/i]'); expect(html).toBe('italicized text') }); test('[u]underlined text[/u]', () => { const html = renderBBCode('[u]underlined text[/u]'); expect(html).toBe('underlined text') }); test('[s]strikethrough text[/s]', () => { const html = renderBBCode('[s]strikethrough text[/s]'); expect(html).toBe('strikethrough text') }); test('[url]https://en.wikipedia.org[/url]', () => { const html = renderBBCode('[url]https://en.wikipedia.org[/url]'); expect(html).toBe('https://en.wikipedia.org') }); describe('options.onlyAllowTags', () => { test('render "[Super Feature] and [i]super[/i]" when only [i] allowed', () => { const html = renderBBCode('[Super Feature] and [i]super[/i]', { onlyAllowTags: ['i'] }); expect(html).toBe('[Super Feature] and super') }); }); });