summaryrefslogtreecommitdiff
path: root/spec/ruby/core/string/delete_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/string/delete_spec.rb')
-rw-r--r--spec/ruby/core/string/delete_spec.rb36
1 files changed, 17 insertions, 19 deletions
diff --git a/spec/ruby/core/string/delete_spec.rb b/spec/ruby/core/string/delete_spec.rb
index 8725b54c3b..6d359776e4 100644
--- a/spec/ruby/core/string/delete_spec.rb
+++ b/spec/ruby/core/string/delete_spec.rb
@@ -1,4 +1,5 @@
# -*- encoding: utf-8 -*-
+# frozen_string_literal: false
require_relative '../../spec_helper'
require_relative 'fixtures/classes'
@@ -14,7 +15,7 @@ describe "String#delete" do
end
it "raises an ArgumentError when given no arguments" do
- lambda { "hell yeah".delete }.should raise_error(ArgumentError)
+ -> { "hell yeah".delete }.should raise_error(ArgumentError)
end
it "negates sets starting with ^" do
@@ -62,17 +63,10 @@ describe "String#delete" do
not_supported_on :opal do
xFF = [0xFF].pack('C')
range = "\x00 - #{xFF}".force_encoding('utf-8')
- lambda { "hello".delete(range).should == "" }.should raise_error(ArgumentError)
+ -> { "hello".delete(range).should == "" }.should raise_error(ArgumentError)
end
- lambda { "hello".delete("h-e") }.should raise_error(ArgumentError)
- lambda { "hello".delete("^h-e") }.should raise_error(ArgumentError)
- end
-
- it "taints result when self is tainted" do
- "hello".taint.delete("e").tainted?.should == true
- "hello".taint.delete("a-z").tainted?.should == true
-
- "hello".delete("e".taint).tainted?.should == false
+ -> { "hello".delete("h-e") }.should raise_error(ArgumentError)
+ -> { "hello".delete("^h-e") }.should raise_error(ArgumentError)
end
it "tries to convert each set arg to a string using to_str" do
@@ -86,13 +80,17 @@ describe "String#delete" do
end
it "raises a TypeError when one set arg can't be converted to a string" do
- lambda { "hello world".delete(100) }.should raise_error(TypeError)
- lambda { "hello world".delete([]) }.should raise_error(TypeError)
- lambda { "hello world".delete(mock('x')) }.should raise_error(TypeError)
+ -> { "hello world".delete(100) }.should raise_error(TypeError)
+ -> { "hello world".delete([]) }.should raise_error(TypeError)
+ -> { "hello world".delete(mock('x')) }.should raise_error(TypeError)
+ end
+
+ it "returns String instances when called on a subclass" do
+ StringSpecs::MyString.new("oh no!!!").delete("!").should be_an_instance_of(String)
end
- it "returns subclass instances when called on a subclass" do
- StringSpecs::MyString.new("oh no!!!").delete("!").should be_an_instance_of(StringSpecs::MyString)
+ it "returns a String in the same encoding as self" do
+ "hello".encode("US-ASCII").delete("lo").encoding.should == Encoding::US_ASCII
end
end
@@ -109,11 +107,11 @@ describe "String#delete!" do
a.should == "hello"
end
- it "raises a #{frozen_error_class} when self is frozen" do
+ it "raises a FrozenError when self is frozen" do
a = "hello"
a.freeze
- lambda { a.delete!("") }.should raise_error(frozen_error_class)
- lambda { a.delete!("aeiou", "^e") }.should raise_error(frozen_error_class)
+ -> { a.delete!("") }.should raise_error(FrozenError)
+ -> { a.delete!("aeiou", "^e") }.should raise_error(FrozenError)
end
end