Fix regression introduced in dae0bb4c67c9f7f1eb475fb60f375118f93cdfd9.

Fix regression introduced in dae0bb4c67c9f7f1eb475fb60f375118f93cdfd9.

Add tests so it doesn’t bite me again.

diff --git a/app/assets/javascripts/discourse/lib/highlight-text.js.es6 b/app/assets/javascripts/discourse/lib/highlight-text.js.es6
index 8a0d4d4..c888b49 100644
--- a/app/assets/javascripts/discourse/lib/highlight-text.js.es6
+++ b/app/assets/javascripts/discourse/lib/highlight-text.js.es6
@@ -1,14 +1,16 @@
 import { PHRASE_MATCH_REGEXP_PATTERN } from "discourse/lib/concerns/search-constants";
 
+export const CLASS_NAME = "search-highlight";
+
 export default function($elem, term) {
   if (!_.isEmpty(term)) {
     // special case ignore "l" which is used for magic sorting
     let words = _.reject(
-      term.match(new RegExp(`${PHRASE_MATCH_REGEXP_PATTERN}|[^\s]+`, "g")),
+      term.match(new RegExp(`${PHRASE_MATCH_REGEXP_PATTERN}|[^\\s]+`, "g")),
       t => t === "l"
     );
 
     words = words.map(w => w.replace(/^"(.*)"$/, "$1"));
-    $elem.highlight(words, { className: "search-highlight", wordsOnly: true });
+    $elem.highlight(words, { className: CLASS_NAME, wordsOnly: true });
   }
 }
diff --git a/test/javascripts/lib/highlight-text-test.js.es6 b/test/javascripts/lib/highlight-text-test.js.es6
new file mode 100644
index 0000000..1c1ceae
--- /dev/null
+++ b/test/javascripts/lib/highlight-text-test.js.es6
@@ -0,0 +1,28 @@
+import {
+  default as highlightText,
+  CLASS_NAME
+} from "discourse/lib/highlight-text";
+
+QUnit.module("lib:highlight-text");
+
+QUnit.test("highlighting text", assert => {
+  fixture().html(
+    `
+    <p>This is some text to highlight</p>
+    `
+  );
+
+  highlightText(fixture(), "some text");
+
+  const terms = [];
+
+  fixture(`.${CLASS_NAME}`).each((_, elem) => {
+    terms.push(elem.textContent);
+  });
+
+  assert.equal(
+    terms.join(" "),
+    "some text",
+    "it should highlight the terms correctly"
+  );
+});

GitHub sha: e0cb2a43