mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Update to ruby/spec@83063a3
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1e658d45e1
commit
3fa5bd38af
494 changed files with 4133 additions and 3109 deletions
|
@ -147,4 +147,24 @@ describe "Literal Regexps" do
|
|||
pattern.should_not =~ 'fooF'
|
||||
pattern.should_not =~ 'T'
|
||||
end
|
||||
|
||||
escapable_terminators = ['!', '"', '#', '%', '&', "'", ',', '-', ':', ';', '@', '_', '`']
|
||||
|
||||
it "supports escaping characters when used as a terminator" do
|
||||
escapable_terminators.each do |c|
|
||||
ref = "(?-mix:#{c})"
|
||||
pattern = eval("%r" + c + "\\" + c + c)
|
||||
pattern.to_s.should == ref
|
||||
end
|
||||
end
|
||||
|
||||
it "treats an escaped non-escapable character normally when used as a terminator" do
|
||||
all_terminators = [*("!".."/"), *(":".."@"), *("[".."`"), *("{".."~")]
|
||||
special_cases = ['(', '{', '[', '<', '\\', '=', '~']
|
||||
(all_terminators - special_cases - escapable_terminators).each do |c|
|
||||
ref = "(?-mix:\\#{c})"
|
||||
pattern = eval("%r" + c + "\\" + c + c)
|
||||
pattern.to_s.should == ref
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue