1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 09:46:22 +00:00

Add test for htmlTextHelper

This commit is contained in:
asmsuechan
2017-04-22 17:19:05 -07:00
parent 8e2fd300f6
commit b695d27817

View File

@@ -0,0 +1,52 @@
/**
* @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 = [
['&lt;a href=', '<a href='],
['var test = &apos;test&apos;', "var test = 'test'"],
['&lt;a href=&apos;https://boostnote.io&apos;&gt;Boostnote', "<a href='https://boostnote.io'>Boostnote"],
["&lt;\\?php\n var = &apos;hoge&apos;;", "<\\?php\n var = 'hoge';"],
["&amp;", "&"],
]
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=', '&lt;a href='],
["var test = 'test'", 'var test = &apos;test&apos;'],
["<a href='https://boostnote.io'>Boostnote", '&lt;a href=&apos;https://boostnote.io&apos;&gt;Boostnote'],
["<?php\n var = 'hoge';", "&lt;&#63;php\n var = &apos;hoge&apos;;"],
]
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 for encodedText() and decodedText()`);
})
})