/**
* @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()')
})
})