]> git.wincent.com - walrat.git/blob - spec/match_data_wrapper_spec.rb
Update to RSpec 3.1.0
[walrat.git] / spec / match_data_wrapper_spec.rb
1 # Copyright 2007-2014 Greg Hurrell. All rights reserved.
2 # Licensed under the terms of the BSD 2-clause license.
3
4 require 'spec_helper'
5
6 describe Walrat::MatchDataWrapper do
7   before do
8     'hello agent' =~ /(\w+)(\s+)(\w+)/
9     @match        = Walrat::MatchDataWrapper.new($~)
10   end
11
12   it 'raises if initialized with nil' do
13     expect do
14       Walrat::MatchDataWrapper.new nil
15     end.to raise_error(ArgumentError, /nil data/)
16   end
17
18   specify 'stored match data persists after multiple matches are executed' do
19     original      = @match.match_data     # store original value
20     'foo'         =~ /foo/                # clobber $~
21     @match.match_data.should == original  # confirm stored value still intact
22   end
23
24   specify 'comparisons with Strings work without having to call "to_s"' do
25     @match.should         == 'hello agent'  # normal order
26     'hello agent'.should  == @match         # reverse order
27     @match.should_not     == 'foobar'       # inverse test sense (not equal)
28     'foobar'.should_not   == @match         # reverse order
29   end
30 end