summaryrefslogtreecommitdiff
path: root/spec/rubyspec/library/bigdecimal
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rubyspec/library/bigdecimal')
-rw-r--r--spec/rubyspec/library/bigdecimal/gt_spec.rb15
-rw-r--r--spec/rubyspec/library/bigdecimal/gte_spec.rb15
-rw-r--r--spec/rubyspec/library/bigdecimal/lt_spec.rb15
-rw-r--r--spec/rubyspec/library/bigdecimal/lte_spec.rb15
4 files changed, 60 insertions, 0 deletions
diff --git a/spec/rubyspec/library/bigdecimal/gt_spec.rb b/spec/rubyspec/library/bigdecimal/gt_spec.rb
index effd3ea35f..2f9ea4fd68 100644
--- a/spec/rubyspec/library/bigdecimal/gt_spec.rb
+++ b/spec/rubyspec/library/bigdecimal/gt_spec.rb
@@ -28,6 +28,10 @@ describe "BigDecimal#>" do
@infinity = BigDecimal("Infinity")
@infinity_neg = BigDecimal("-Infinity")
+
+ @float_infinity = Float::INFINITY
+ @float_infinity_neg = -Float::INFINITY
+
@nan = BigDecimal("NaN")
end
@@ -64,6 +68,17 @@ describe "BigDecimal#>" do
(@infinity_neg > @infinity).should == false
end
+ ruby_bug "#13674", ""..."2.4" do
+ it "properly handles Float infinity values" do
+ @values.each { |val|
+ (val > @float_infinity).should == false
+ (@float_infinity > val).should == true
+ (val > @float_infinity_neg).should == true
+ (@float_infinity_neg > val).should == false
+ }
+ end
+ end
+
it "properly handles NaN values" do
@values += [@infinity, @infinity_neg, @nan]
@values.each { |val|
diff --git a/spec/rubyspec/library/bigdecimal/gte_spec.rb b/spec/rubyspec/library/bigdecimal/gte_spec.rb
index 28e84690ad..aab5338ad6 100644
--- a/spec/rubyspec/library/bigdecimal/gte_spec.rb
+++ b/spec/rubyspec/library/bigdecimal/gte_spec.rb
@@ -28,6 +28,10 @@ describe "BigDecimal#>=" do
@infinity = BigDecimal("Infinity")
@infinity_neg = BigDecimal("-Infinity")
+
+ @float_infinity = Float::INFINITY
+ @float_infinity_neg = -Float::INFINITY
+
@nan = BigDecimal("NaN")
end
@@ -68,6 +72,17 @@ describe "BigDecimal#>=" do
(@infinity_neg >= @infinity).should == false
end
+ ruby_bug "#13674", ""..."2.4" do
+ it "properly handles Float infinity values" do
+ @values.each { |val|
+ (val >= @float_infinity).should == false
+ (@float_infinity >= val).should == true
+ (val >= @float_infinity_neg).should == true
+ (@float_infinity_neg >= val).should == false
+ }
+ end
+ end
+
it "properly handles NaN values" do
@values += [@infinity, @infinity_neg, @nan]
@values.each { |val|
diff --git a/spec/rubyspec/library/bigdecimal/lt_spec.rb b/spec/rubyspec/library/bigdecimal/lt_spec.rb
index 67811c5db4..089e7aef73 100644
--- a/spec/rubyspec/library/bigdecimal/lt_spec.rb
+++ b/spec/rubyspec/library/bigdecimal/lt_spec.rb
@@ -28,6 +28,10 @@ describe "BigDecimal#<" do
@infinity = BigDecimal("Infinity")
@infinity_neg = BigDecimal("-Infinity")
+
+ @float_infinity = Float::INFINITY
+ @float_infinity_neg = -Float::INFINITY
+
@nan = BigDecimal("NaN")
end
@@ -62,6 +66,17 @@ describe "BigDecimal#<" do
(@infinity_neg < @infinity).should == true
end
+ ruby_bug "#13674", ""..."2.4" do
+ it "properly handles Float infinity values" do
+ @values.each { |val|
+ (val < @float_infinity).should == true
+ (@float_infinity < val).should == false
+ (val < @float_infinity_neg).should == false
+ (@float_infinity_neg < val).should == true
+ }
+ end
+ end
+
it "properly handles NaN values" do
@values += [@infinity, @infinity_neg, @nan]
@values.each { |val|
diff --git a/spec/rubyspec/library/bigdecimal/lte_spec.rb b/spec/rubyspec/library/bigdecimal/lte_spec.rb
index 61fb676245..5cda9842bd 100644
--- a/spec/rubyspec/library/bigdecimal/lte_spec.rb
+++ b/spec/rubyspec/library/bigdecimal/lte_spec.rb
@@ -28,6 +28,10 @@ describe "BigDecimal#<=" do
@infinity = BigDecimal("Infinity")
@infinity_neg = BigDecimal("-Infinity")
+
+ @float_infinity = Float::INFINITY
+ @float_infinity_neg = -Float::INFINITY
+
@nan = BigDecimal("NaN")
end
@@ -68,6 +72,17 @@ describe "BigDecimal#<=" do
(@infinity_neg <= @infinity).should == true
end
+ ruby_bug "#13674", ""..."2.4" do
+ it "properly handles Float infinity values" do
+ @values.each { |val|
+ (val <= @float_infinity).should == true
+ (@float_infinity <= val).should == false
+ (val <= @float_infinity_neg).should == false
+ (@float_infinity_neg <= val).should == true
+ }
+ end
+ end
+
it "properly handles NaN values" do
@values += [@infinity, @infinity_neg, @nan]
@values.each { |val|