mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-13 17:56:25 +00:00
53 lines
1.8 KiB
JavaScript
53 lines
1.8 KiB
JavaScript
/**
|
|
* @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=', '<a href='],
|
|
['var test = 'test'', 'var test = \'test\''],
|
|
['<a href='https://boostnote.io'>Boostnote', '<a href=\'https://boostnote.io\'>Boostnote'],
|
|
['<\\\\?php\n var = 'hoge';', '<\\\\?php\n var = \'hoge\';'],
|
|
['&', '&']
|
|
]
|
|
|
|
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 = [
|
|
['<a href=', '<a href='],
|
|
['var test = \'test\'', 'var test = 'test''],
|
|
['<a href=\'https://boostnote.io\'>Boostnote', '<a href='https://boostnote.io'>Boostnote'],
|
|
['<?php\n var = \'hoge\';', '<?php\n var = 'hoge';']
|
|
]
|
|
|
|
testCases.forEach(testCase => {
|
|
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\'',
|
|
'<a href=\'https://boostnote.io\'>Boostnote',
|
|
'<Component styleName=\'test\' />'
|
|
]
|
|
|
|
testCases.forEach(testCase => {
|
|
const encodedText = htmlTextHelper.encodeEntities(testCase)
|
|
const decodedText = htmlTextHelper.decodeEntities(encodedText)
|
|
t.is(decodedText, testCase, 'Integration test through encodedText() and decodedText()')
|
|
})
|
|
})
|