summaryrefslogtreecommitdiff
path: root/spec/ruby/core/string/uminus_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/string/uminus_spec.rb')
-rw-r--r--spec/ruby/core/string/uminus_spec.rb48
1 files changed, 4 insertions, 44 deletions
diff --git a/spec/ruby/core/string/uminus_spec.rb b/spec/ruby/core/string/uminus_spec.rb
index f18e6b1234..46d88f6704 100644
--- a/spec/ruby/core/string/uminus_spec.rb
+++ b/spec/ruby/core/string/uminus_spec.rb
@@ -1,46 +1,6 @@
-require File.expand_path('../../../spec_helper', __FILE__)
+require_relative '../../spec_helper'
+require_relative 'shared/dedup'
-ruby_version_is "2.3" do
- describe 'String#-@' do
- it 'returns self if the String is frozen' do
- input = 'foo'.freeze
- output = -input
-
- output.equal?(input).should == true
- output.frozen?.should == true
- end
-
- it 'returns a frozen copy if the String is not frozen' do
- input = 'foo'
- output = -input
-
- output.frozen?.should == true
- output.should == 'foo'
- end
-
- ruby_version_is "2.5" do
- it "returns the same object for equal unfrozen strings" do
- origin = "this is a string"
- dynamic = %w(this is a string).join(' ')
-
- origin.should_not equal(dynamic)
- (-origin).should equal(-dynamic)
- end
-
- it "returns the same object when it's called on the same String literal" do
- (-"unfrozen string").should equal(-"unfrozen string")
- (-"unfrozen string").should_not equal(-"another unfrozen string")
- end
-
- it "is an identity function if the string is frozen" do
- dynamic = %w(this string is frozen).join(' ').freeze
-
- (-dynamic).should equal(dynamic)
-
- dynamic.should_not equal("this string is frozen".freeze)
- (-dynamic).should_not equal("this string is frozen".freeze)
- (-dynamic).should_not equal(-"this string is frozen".freeze)
- end
- end
- end
+describe 'String#-@' do
+ it_behaves_like :string_dedup, :-@
end