summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/mspec/.gitignore26
-rw-r--r--spec/mspec/Rakefile1
-rw-r--r--spec/mspec/lib/mspec/runner/filters/regexp.rb24
-rw-r--r--spec/mspec/spec/runner/filters/regexp_spec.rb20
-rwxr-xr-xspec/mspec/tool/pull-latest-mspec-spec1
5 files changed, 40 insertions, 32 deletions
diff --git a/spec/mspec/.gitignore b/spec/mspec/.gitignore
deleted file mode 100644
index 5c5ecd9731..0000000000
--- a/spec/mspec/.gitignore
+++ /dev/null
@@ -1,26 +0,0 @@
-pkg
-*.rbc
-*.iml
-*.iws
-*.ipr
-*.sw?
-
-.rbx
-
-# ctags dir
-/tags
-
-*.gem
-.bundle
-.config
-.yardoc
-InstalledFiles
-_yardoc
-coverage
-doc/
-lib/bundler/man
-rdoc
-spec/reports
-test/tmp
-test/version_tmp
-tmp
diff --git a/spec/mspec/Rakefile b/spec/mspec/Rakefile
index 0e294cde8e..6a9de7a95e 100644
--- a/spec/mspec/Rakefile
+++ b/spec/mspec/Rakefile
@@ -1,4 +1,3 @@
-require 'bundler/gem_tasks'
require 'bundler/setup'
require 'rspec/core/rake_task'
diff --git a/spec/mspec/lib/mspec/runner/filters/regexp.rb b/spec/mspec/lib/mspec/runner/filters/regexp.rb
index 2bd1448d3f..097ec6a755 100644
--- a/spec/mspec/lib/mspec/runner/filters/regexp.rb
+++ b/spec/mspec/lib/mspec/runner/filters/regexp.rb
@@ -1,7 +1,23 @@
-require 'mspec/runner/filters/match'
+class RegexpFilter
+ def initialize(what, *regexps)
+ @what = what
+ @regexps = to_regexp(*regexps)
+ end
+
+ def ===(string)
+ @regexps.any? { |regexp| regexp === string }
+ end
+
+ def register
+ MSpec.register @what, self
+ end
+
+ def unregister
+ MSpec.unregister @what, self
+ end
-class RegexpFilter < MatchFilter
- def to_regexp(*strings)
- strings.map { |str| Regexp.new str }
+ def to_regexp(*regexps)
+ regexps.map { |str| Regexp.new str }
end
+ private :to_regexp
end
diff --git a/spec/mspec/spec/runner/filters/regexp_spec.rb b/spec/mspec/spec/runner/filters/regexp_spec.rb
index 6c05b0f42f..8e9b0ec7e8 100644
--- a/spec/mspec/spec/runner/filters/regexp_spec.rb
+++ b/spec/mspec/spec/runner/filters/regexp_spec.rb
@@ -2,12 +2,30 @@ require File.dirname(__FILE__) + '/../../spec_helper'
require 'mspec/runner/mspec'
require 'mspec/runner/filters/regexp'
+describe MatchFilter, "#===" do
+ before :each do
+ @filter = RegexpFilter.new nil, 'a(b|c)', 'b[^ab]', 'cc?'
+ end
+
+ it "returns true if the argument matches any of the #initialize strings" do
+ @filter.===('ab').should == true
+ @filter.===('bc suffix').should == true
+ @filter.===('prefix cc').should == true
+ end
+
+ it "returns false if the argument matches none of the #initialize strings" do
+ @filter.===('aa').should == false
+ @filter.===('ba').should == false
+ @filter.===('prefix d suffix').should == false
+ end
+end
+
describe RegexpFilter, "#to_regexp" do
before :each do
@filter = RegexpFilter.new nil
end
it "converts its arguments to Regexp instances" do
- @filter.to_regexp('a(b|c)', 'b[^ab]', 'cc?').should == [/a(b|c)/, /b[^ab]/, /cc?/]
+ @filter.send(:to_regexp, 'a(b|c)', 'b[^ab]', 'cc?').should == [/a(b|c)/, /b[^ab]/, /cc?/]
end
end
diff --git a/spec/mspec/tool/pull-latest-mspec-spec b/spec/mspec/tool/pull-latest-mspec-spec
index dfd80582b3..62c1f8fefa 100755
--- a/spec/mspec/tool/pull-latest-mspec-spec
+++ b/spec/mspec/tool/pull-latest-mspec-spec
@@ -7,6 +7,7 @@ rm -rf spec/mspec
git clone --depth 1 https://github.com/ruby/mspec.git spec/mspec
commit=$(git -C spec/mspec log -n 1 --format='%h')
rm -rf spec/mspec/.git
+rm -f spec/mspec/.travis.yml
git add spec/mspec
git commit -m "Update to ruby/mspec@${commit}"