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