diff options
Diffstat (limited to 'spec/ruby/library/rbconfig/sizeof')
| -rw-r--r-- | spec/ruby/library/rbconfig/sizeof/limits_spec.rb | 40 | ||||
| -rw-r--r-- | spec/ruby/library/rbconfig/sizeof/sizeof_spec.rb | 30 |
2 files changed, 70 insertions, 0 deletions
diff --git a/spec/ruby/library/rbconfig/sizeof/limits_spec.rb b/spec/ruby/library/rbconfig/sizeof/limits_spec.rb new file mode 100644 index 0000000000..08b1185965 --- /dev/null +++ b/spec/ruby/library/rbconfig/sizeof/limits_spec.rb @@ -0,0 +1,40 @@ +require_relative '../../../spec_helper' +require 'rbconfig/sizeof' + +describe "RbConfig::LIMITS" do + it "is a Hash" do + RbConfig::LIMITS.should.is_a?(Hash) + end + + it "has string keys and numeric values" do + RbConfig::LIMITS.each do |key, value| + key.should.is_a? String + value.should.is_a? Numeric + end + end + + it "contains FIXNUM_MIN and FIXNUM_MAX" do + RbConfig::LIMITS["FIXNUM_MIN"].should < 0 + RbConfig::LIMITS["FIXNUM_MAX"].should > 0 + end + + it "contains CHAR_MIN and CHAR_MAX" do + RbConfig::LIMITS["CHAR_MIN"].should <= 0 + RbConfig::LIMITS["CHAR_MAX"].should > 0 + end + + it "contains SHRT_MIN and SHRT_MAX" do + RbConfig::LIMITS["SHRT_MIN"].should == -32768 + RbConfig::LIMITS["SHRT_MAX"].should == 32767 + end + + it "contains INT_MIN and INT_MAX" do + RbConfig::LIMITS["INT_MIN"].should < 0 + RbConfig::LIMITS["INT_MAX"].should > 0 + end + + it "contains LONG_MIN and LONG_MAX" do + RbConfig::LIMITS["LONG_MIN"].should < 0 + RbConfig::LIMITS["LONG_MAX"].should > 0 + end +end diff --git a/spec/ruby/library/rbconfig/sizeof/sizeof_spec.rb b/spec/ruby/library/rbconfig/sizeof/sizeof_spec.rb new file mode 100644 index 0000000000..b74dae5166 --- /dev/null +++ b/spec/ruby/library/rbconfig/sizeof/sizeof_spec.rb @@ -0,0 +1,30 @@ +require_relative '../../../spec_helper' +require 'rbconfig/sizeof' + +describe "RbConfig::SIZEOF" do + it "is a Hash" do + RbConfig::SIZEOF.should.is_a?(Hash) + end + + it "has string keys and integer values" do + RbConfig::SIZEOF.each do |key, value| + key.should.is_a? String + value.should.is_a? Integer + end + end + + it "contains the sizeof(void*)" do + (RbConfig::SIZEOF["void*"] * 8).should == PlatformGuard::POINTER_SIZE + end + + it "contains the sizeof(float) and sizeof(double)" do + RbConfig::SIZEOF["float"].should == 4 + RbConfig::SIZEOF["double"].should == 8 + end + + it "contains the size of short, int and long" do + RbConfig::SIZEOF["short"].should > 0 + RbConfig::SIZEOF["int"].should > 0 + RbConfig::SIZEOF["long"].should > 0 + end +end |
