/** * @fileoverview Unit test for browser/lib/htmlTextHelper */ const test = require('ava') const htmlTextHelper = require('browser/lib/htmlTextHelper') // Unit test test('htmlTextHelper#decodeEntities should return encoded text (string)', t => { // [input, expected] const testCases = [ ['<a href=', 'Boostnote'], ['<\\\\?php\n var = 'hoge';', '<\\\\?php\n var = \'hoge\';'], ['&', '&'], ['a$'', 'a\\$\''] ] testCases.forEach(testCase => { const [input, expected] = testCase t.is(htmlTextHelper.decodeEntities(input), expected, `Test for decodeEntities() input: ${input} expected: ${expected}`) }) }) test('htmlTextHelper#decodeEntities() should return decoded text (string)', t => { // [input, expected] const testCases = [ ['Boostnote', '<a href='https://boostnote.io'>Boostnote'], [' { const [input, expected] = testCase t.is(htmlTextHelper.encodeEntities(input), expected, `Test for encodeEntities() input: ${input} expected: ${expected}`) }) }) // Integration test test(t => { const testCases = [ 'var test = \'test\'', 'Boostnote', '' ] testCases.forEach(testCase => { const encodedText = htmlTextHelper.encodeEntities(testCase) const decodedText = htmlTextHelper.decodeEntities(encodedText) t.is(decodedText, testCase, 'Integration test through encodedText() and decodedText()') }) })