diff options
Diffstat (limited to 'spec/ruby/core/string/uminus_spec.rb')
-rw-r--r-- | spec/ruby/core/string/uminus_spec.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/spec/ruby/core/string/uminus_spec.rb b/spec/ruby/core/string/uminus_spec.rb index fd9e8c1d52..dace04846c 100644 --- a/spec/ruby/core/string/uminus_spec.rb +++ b/spec/ruby/core/string/uminus_spec.rb @@ -41,6 +41,23 @@ describe 'String#-@' do (-dynamic).should_not equal("this string is frozen".freeze) (-dynamic).should_not equal(-"this string is frozen".freeze) + (-dynamic).should == "this string is frozen" + end + + it "does not deduplicate tainted strings" do + dynamic = %w(this string is frozen).join(' ') + dynamic.taint + (-dynamic).should_not equal("this string is frozen".freeze) + (-dynamic).should_not equal(-"this string is frozen".freeze) + (-dynamic).should == "this string is frozen" + end + + it "does not deduplicate strings with additional instance variables" do + dynamic = %w(this string is frozen).join(' ') + dynamic.instance_variable_set(:@foo, :bar) + (-dynamic).should_not equal("this string is frozen".freeze) + (-dynamic).should_not equal(-"this string is frozen".freeze) + (-dynamic).should == "this string is frozen" end end |