summaryrefslogtreecommitdiffstats
path: root/test/lib/spec/runner/spec_matcher.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/lib/spec/runner/spec_matcher.rb')
-rwxr-xr-xtest/lib/spec/runner/spec_matcher.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/lib/spec/runner/spec_matcher.rb b/test/lib/spec/runner/spec_matcher.rb
new file mode 100755
index 000000000..687fdaa00
--- /dev/null
+++ b/test/lib/spec/runner/spec_matcher.rb
@@ -0,0 +1,25 @@
+module Spec
+ module Runner
+ class SpecMatcher
+
+ attr_writer :spec_desc
+ def initialize(context_desc, spec_desc=nil)
+ @context_desc = context_desc
+ @spec_desc = spec_desc
+ end
+
+ def matches?(desc)
+ desc =~ /(^#{context_regexp} #{spec_regexp}$|^#{context_regexp}$|^#{spec_regexp}$)/
+ end
+
+ private
+ def context_regexp
+ Regexp.escape(@context_desc)
+ end
+
+ def spec_regexp
+ Regexp.escape(@spec_desc)
+ end
+ end
+ end
+end