blob: 677d8bb7b2bcf3697991c2255a09f770b817d39c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
require_relative '../../spec_helper'
require_relative 'fixtures/classes'
describe "Kernel#instance_variables" do
describe "immediate values" do
it "returns an empty array if no instance variables are defined" do
[0, 0.5, true, false, nil].each do |value|
value.instance_variables.should == []
end
end
it "returns the correct array if an instance variable is added" do
a = 0
->{ a.instance_variable_set("@test", 1) }.should raise_error(RuntimeError)
end
end
describe "regular objects" do
it "returns an empty array if no instance variables are defined" do
Object.new.instance_variables.should == []
end
it "returns the correct array if an instance variable is added" do
a = Object.new
a.instance_variable_set("@test", 1)
a.instance_variables.should == [:@test]
end
it "returns the instances variables in the order declared" do
c = Class.new do
def initialize
@c = 1
@a = 2
@b = 3
end
end
c.new.instance_variables.should == [:@c, :@a, :@b]
end
end
end
|