File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed
spec/ruby/library/objectspace Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change
1
+ require_relative '../../spec_helper'
2
+ require 'objspace'
3
+
4
+ describe "ObjectSpace.memsize_of" do
5
+ it "returns 0 for true, false and nil" do
6
+ ObjectSpace . memsize_of ( true ) . should == 0
7
+ ObjectSpace . memsize_of ( false ) . should == 0
8
+ ObjectSpace . memsize_of ( nil ) . should == 0
9
+ end
10
+
11
+ it "returns 0 for small Integers" do
12
+ ObjectSpace . memsize_of ( 42 ) . should == 0
13
+ end
14
+
15
+ it "returns an Integer for an Object" do
16
+ obj = Object . new
17
+ ObjectSpace . memsize_of ( obj ) . should be_kind_of ( Integer )
18
+ ObjectSpace . memsize_of ( obj ) . should > 0
19
+ end
20
+
21
+ it "is larger if the Object has more instance variables" do
22
+ obj = Object . new
23
+ before = ObjectSpace . memsize_of ( obj )
24
+ 100 . times do |i |
25
+ obj . instance_variable_set ( :"@foo#{ i } " , nil )
26
+ end
27
+ after = ObjectSpace . memsize_of ( obj )
28
+ after . should > before
29
+ end
30
+ end
You can’t perform that action at this time.
0 commit comments