From 00f88edc04b7e6cf2a92869d444cd8a996e06ee1 Mon Sep 17 00:00:00 2001 From: JR Boyens Date: Fri, 26 Jul 2013 11:28:15 -0700 Subject: [PATCH] [Finishes #52731407] Escape special regex characters from the spec param --- lib/jasmine-core/jasmine-html.js | 6 ++++-- src/html/HtmlSpecFilter.js | 5 +++-- src/html/QueryString.js | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/jasmine-core/jasmine-html.js b/lib/jasmine-core/jasmine-html.js index da9ae1b4..5ca5f625 100644 --- a/lib/jasmine-core/jasmine-html.js +++ b/lib/jasmine-core/jasmine-html.js @@ -275,7 +275,8 @@ jasmineRequire.HtmlReporter = function(j$) { jasmineRequire.HtmlSpecFilter = function() { function HtmlSpecFilter(options) { - var filterPattern = new RegExp(options && options.filterString()); + var filterString = options && options.filterString() && options.filterString().replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + var filterPattern = new RegExp(filterString); this.matches = function(specName) { return filterPattern.test(specName); @@ -284,6 +285,7 @@ jasmineRequire.HtmlSpecFilter = function() { return HtmlSpecFilter; }; + jasmineRequire.ResultsNode = function() { function ResultsNode(result, type, parent) { this.result = result; @@ -349,4 +351,4 @@ jasmineRequire.QueryString = function() { } return QueryString; -}; \ No newline at end of file +}; diff --git a/src/html/HtmlSpecFilter.js b/src/html/HtmlSpecFilter.js index bd65f63a..52e2b8fd 100644 --- a/src/html/HtmlSpecFilter.js +++ b/src/html/HtmlSpecFilter.js @@ -1,6 +1,7 @@ jasmineRequire.HtmlSpecFilter = function() { function HtmlSpecFilter(options) { - var filterPattern = new RegExp(options && options.filterString()); + var filterString = options && options.filterString() && options.filterString().replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + var filterPattern = new RegExp(filterString); this.matches = function(specName) { return filterPattern.test(specName); @@ -8,4 +9,4 @@ jasmineRequire.HtmlSpecFilter = function() { } return HtmlSpecFilter; -}; \ No newline at end of file +}; diff --git a/src/html/QueryString.js b/src/html/QueryString.js index 19dd1f58..c2d667bc 100644 --- a/src/html/QueryString.js +++ b/src/html/QueryString.js @@ -44,4 +44,4 @@ jasmineRequire.QueryString = function() { } return QueryString; -}; \ No newline at end of file +};