From aeeaadaad08038217440c1e9e7c5ca126d7dc633 Mon Sep 17 00:00:00 2001 From: eregon Date: Fri, 3 Aug 2018 16:19:10 +0000 Subject: Update to ruby/mspec@072849e git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- spec/mspec/.gitignore | 26 -------------------------- spec/mspec/Rakefile | 1 - spec/mspec/lib/mspec/runner/filters/regexp.rb | 24 ++++++++++++++++++++---- spec/mspec/spec/runner/filters/regexp_spec.rb | 20 +++++++++++++++++++- spec/mspec/tool/pull-latest-mspec-spec | 1 + 5 files changed, 40 insertions(+), 32 deletions(-) delete mode 100644 spec/mspec/.gitignore (limited to 'spec/mspec') 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}" -- cgit v1.2.3