summaryrefslogtreecommitdiff
path: root/spec/ruby/core/float/arg_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/float/arg_spec.rb')
-rw-r--r--spec/ruby/core/float/arg_spec.rb37
1 files changed, 35 insertions, 2 deletions
diff --git a/spec/ruby/core/float/arg_spec.rb b/spec/ruby/core/float/arg_spec.rb
index 20a8ac0a63..c9c602bbf6 100644
--- a/spec/ruby/core/float/arg_spec.rb
+++ b/spec/ruby/core/float/arg_spec.rb
@@ -1,5 +1,38 @@
-require File.expand_path('../../../shared/complex/float/arg', __FILE__)
+require_relative '../../spec_helper'
describe "Float#arg" do
- it_behaves_like :float_arg, :arg
+ it "returns NaN if NaN" do
+ f = nan_value
+ f.arg.nan?.should == true
+ end
+
+ it "returns self if NaN" do
+ f = nan_value
+ f.arg.should.equal?(f)
+ end
+
+ it "returns 0 if positive" do
+ 1.0.arg.should == 0
+ end
+
+ it "returns 0 if +0.0" do
+ 0.0.arg.should == 0
+ end
+
+ it "returns 0 if +Infinity" do
+ infinity_value.arg.should == 0
+ end
+
+ it "returns Pi if negative" do
+ (-1.0).arg.should == Math::PI
+ end
+
+ # This was established in r23960
+ it "returns Pi if -0.0" do
+ (-0.0).arg.should == Math::PI
+ end
+
+ it "returns Pi if -Infinity" do
+ (-infinity_value).arg.should == Math::PI
+ end
end