diff --git a/tests/lib/html-text-helper-test.js b/tests/lib/html-text-helper-test.js
new file mode 100644
index 00000000..c61b3d16
--- /dev/null
+++ b/tests/lib/html-text-helper-test.js
@@ -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 = [
+ ['<a href=', '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 = [
+ ['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 for encodedText() and decodedText()`);
+ })
+})