rVM 0.0.14 → 0.0.17
Sign up to get free protection for your applications and to get access to all the features.
- data/README +4 -4
- data/bin/rvm +229 -0
- data/lib/rvm.rb +6 -6
- data/lib/rvm/acts_as_rvm_type.rb +26 -3
- data/lib/rvm/classes.rb +9 -15
- data/lib/rvm/classes/block.rb +8 -3
- data/lib/rvm/classes/class.rb +2 -2
- data/lib/rvm/classes/list.rb +1 -1
- data/lib/rvm/classes/null.rb +31 -0
- data/lib/rvm/classes/number.rb +4 -0
- data/lib/rvm/classes/object.rb +1 -1
- data/lib/rvm/classes/string.rb +6 -1
- data/lib/rvm/environment.rb +256 -0
- data/lib/rvm/functions.rb +9 -4
- data/lib/rvm/functions/array.rb +26 -2
- data/lib/rvm/functions/array/append.rb +31 -1
- data/lib/rvm/functions/array/at.rb +29 -1
- data/lib/rvm/functions/array/set_at.rb +29 -0
- data/lib/rvm/functions/association/assoc_get.rb +34 -0
- data/lib/rvm/functions/association/assoc_set.rb +32 -0
- data/lib/rvm/functions/bitwise.rb +3 -0
- data/lib/rvm/functions/bitwise/bitwise_and.rb +41 -0
- data/lib/rvm/functions/bitwise/bitwise_or.rb +41 -0
- data/lib/rvm/functions/bitwise/bitwise_xor.rb +41 -0
- data/lib/rvm/functions/collection/get.rb +37 -4
- data/lib/rvm/functions/collection/set.rb +37 -3
- data/lib/rvm/functions/collection/size.rb +33 -1
- data/lib/rvm/functions/general/cmp.rb +35 -7
- data/lib/rvm/functions/general/eq.rb +29 -0
- data/lib/rvm/functions/general/gt.rb +29 -0
- data/lib/rvm/functions/general/gte.rb +29 -0
- data/lib/rvm/functions/general/lt.rb +29 -0
- data/lib/rvm/functions/general/lte.rb +29 -0
- data/lib/rvm/functions/general/neq.rb +5 -0
- data/lib/rvm/functions/io/print.rb +38 -8
- data/lib/rvm/functions/list/align.rb +25 -1
- data/lib/rvm/functions/list/join.rb +27 -0
- data/lib/rvm/functions/list/map.rb +34 -0
- data/lib/rvm/functions/list/split.rb +31 -0
- data/lib/rvm/functions/logic/and.rb +36 -2
- data/lib/rvm/functions/logic/not.rb +27 -0
- data/lib/rvm/functions/logic/or.rb +32 -2
- data/lib/rvm/functions/math/add.rb +25 -0
- data/lib/rvm/functions/math/cos.rb +39 -0
- data/lib/rvm/functions/math/div.rb +25 -0
- data/lib/rvm/functions/math/mod.rb +41 -0
- data/lib/rvm/functions/math/mul.rb +25 -0
- data/lib/rvm/functions/math/neg.rb +25 -0
- data/lib/rvm/functions/math/power.rb +25 -0
- data/lib/rvm/functions/math/shl.rb +41 -0
- data/lib/rvm/functions/math/shr.rb +41 -0
- data/lib/rvm/functions/math/sin.rb +39 -0
- data/lib/rvm/functions/math/sub.rb +25 -0
- data/lib/rvm/functions/math/tan.rb +39 -0
- data/lib/rvm/functions/rails/print.rb +33 -3
- data/lib/rvm/interpreter.rb +405 -272
- data/lib/rvm/languages.rb +45 -11
- data/lib/rvm/languages/brainfuck.rb +15 -16
- data/lib/rvm/languages/ecma.rb +4 -1257
- data/lib/rvm/languages/ecma/compiler.rb +1353 -0
- data/lib/rvm/languages/ecma/core-math.js +84 -0
- data/lib/rvm/languages/math.rb +9 -16
- data/lib/rvm/languages/math/compiler.rb +9 -9
- data/lib/rvm/languages/math/tokenizer.rb +1 -1
- data/lib/rvm/languages/math/tree.rb +14 -14
- data/lib/rvm/library.rb +26 -18
- data/lib/rvm/optimisation.rb +109 -0
- data/lib/rvm/plugin.rb +109 -45
- data/lib/rvm/rails.rb +79 -54
- data/spec/classes/atom/association_spec.rb +8 -8
- data/spec/classes/atom/block_spec.rb +8 -5
- data/spec/classes/atom/boolean_spec.rb +1 -1
- data/spec/classes/atom/error_spec.rb +1 -1
- data/spec/classes/atom/list_spec.rb +1 -1
- data/spec/classes/atom/number_spec.rb +2 -2
- data/spec/classes/atom/string_spec.rb +1 -1
- data/spec/languages/ecma/ecma_spec.rb +94 -38
- data/spec/languages/ecma/json_spec.rb +4 -4
- data/spec/languages/math/compiler_spec.rb +5 -5
- data/spec/languages/math/tokenizer_spec.rb +1 -1
- data/spec/languages/math/tree_spec.rb +1 -1
- data/spec/{base → rvm}/class_spec.rb +2 -2
- data/spec/{base/interpreter → rvm}/enviroment_spec.rb +19 -9
- data/spec/{base → rvm}/function_spec.rb +2 -2
- data/spec/{functions → rvm/functions}/association/assoc_get_spec.rb +2 -2
- data/spec/{functions → rvm/functions}/association/assoc_set_spec.rb +2 -2
- data/spec/rvm/functions/collection/get_spec.rb +12 -0
- data/spec/rvm/functions/collection/set_spec.rb +10 -0
- data/spec/rvm/functions/collection/size_spec.rb +10 -0
- data/spec/{functions → rvm/functions}/list/split_spec.rb +3 -3
- data/spec/{functions → rvm/functions}/string/ansi_spec.rb +3 -3
- data/spec/{functions → rvm/functions}/string/capstr_spec.rb +3 -3
- data/spec/{functions → rvm/functions}/string/center_spec.rb +3 -3
- data/spec/{functions → rvm/functions}/string/ljust_spec.rb +3 -3
- data/spec/{functions → rvm/functions}/string/regmatch_spec.rb +3 -3
- data/spec/{functions → rvm/functions}/string/rjust_spec.rb +3 -3
- data/spec/{base → rvm}/interpreter/assignment_spec.rb +1 -1
- data/spec/rvm/interpreter/condition_spec.rb +103 -0
- data/spec/{base → rvm}/interpreter/constant_spec.rb +1 -1
- data/spec/rvm/interpreter/core_call_spec.rb +72 -0
- data/spec/{base → rvm}/interpreter/interpreter_spec.rb +1 -1
- data/spec/{base → rvm}/interpreter/parameter_spec.rb +1 -1
- data/spec/rvm/interpreter/sequence_spec.rb +47 -0
- data/spec/{base → rvm}/interpreter/variable_spec.rb +1 -1
- data/spec/{base → rvm}/plugin_spec.rb +2 -2
- metadata +66 -35
- data/lib/rake/helpers/code_statistics.rb +0 -167
- data/spec/base/interpreter/condition_spec.rb +0 -47
- data/spec/base/interpreter/function_call_spec.rb +0 -72
- data/spec/base/interpreter/sequence_spec.rb +0 -20
- data/spec/functions/collection/get_spec.rb +0 -12
- data/spec/functions/collection/set_spec.rb +0 -10
- data/spec/functions/collection/size_spec.rb +0 -10
@@ -1,6 +1,6 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require 'rvm'
|
2
|
+
require 'rvm/languages'
|
3
|
+
require 'rvm/languages/ecma'
|
4
4
|
|
5
5
|
describe RVM::Languages::ECMA do
|
6
6
|
def exec code
|
@@ -152,4 +152,4 @@ describe RVM::Languages::ECMA do
|
|
152
152
|
}.should raise_error
|
153
153
|
end
|
154
154
|
end
|
155
|
-
end
|
155
|
+
end if false
|
@@ -1,6 +1,6 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require 'rvm/interpreter'
|
2
|
+
require 'rvm/classes/number'
|
3
|
+
require 'rvm/languages/math/compiler'
|
4
4
|
describe RVM::Languages::Math::Compiler do
|
5
5
|
before do
|
6
6
|
@c = RVM::Languages::Math::Compiler
|
@@ -20,11 +20,11 @@ describe RVM::Languages::Math::Compiler do
|
|
20
20
|
|
21
21
|
it "should compile functions" do
|
22
22
|
@c.compile({:type => :function, :op => "x", :params => []}).should be_instance_of(RVM::Interpreter::FunctionCall);
|
23
|
-
@c.compile({:type => :function, :op => "-", :params => []}).should be_instance_of(RVM::Interpreter::
|
23
|
+
@c.compile({:type => :function, :op => "-", :params => []}).should be_instance_of(RVM::Interpreter::CoreCall);
|
24
24
|
end
|
25
25
|
|
26
26
|
it "should compile mathematical ooperators to function calls" do
|
27
|
-
@c.compile({:type => :op, :op => "+", :left => {:type=>:number, :number=>"5"}, :right => {:type=>:number, :number=>"5"}}).should be_instance_of(RVM::Interpreter::
|
27
|
+
@c.compile({:type => :op, :op => "+", :left => {:type=>:number, :number=>"5"}, :right => {:type=>:number, :number=>"5"}}).should be_instance_of(RVM::Interpreter::CoreCall);
|
28
28
|
end
|
29
29
|
|
30
30
|
it "should compile = operators to assignments if left side is a ident" do
|
@@ -1,6 +1,6 @@
|
|
1
|
-
require
|
1
|
+
require 'rvm/interpreter'
|
2
2
|
|
3
|
-
shared_examples_for "a
|
3
|
+
shared_examples_for "a environment" do
|
4
4
|
it "should get the locals" do
|
5
5
|
@env['1'].val.should == 'one'
|
6
6
|
end
|
@@ -15,15 +15,15 @@ shared_examples_for "a enviroment" do
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
describe RVM::Interpreter::
|
18
|
+
describe RVM::Interpreter::Environment do
|
19
19
|
before :each do
|
20
|
-
@env = RVM::Interpreter::
|
20
|
+
@env = RVM::Interpreter::Environment.new({:params => [1,2], :locals => {'1' => 'one'}})
|
21
21
|
end
|
22
22
|
|
23
|
-
it_should_behave_like "a
|
23
|
+
it_should_behave_like "a environment"
|
24
24
|
|
25
25
|
it "should autocast locals to variable storages on creation" do
|
26
|
-
env = RVM::Interpreter::
|
26
|
+
env = RVM::Interpreter::Environment.new({:params => [1,2], :locals => {'1' => 'one'}})
|
27
27
|
env['1'].should be_kind_of(RVM::Interpreter::VariableStorage)
|
28
28
|
end
|
29
29
|
|
@@ -32,14 +32,24 @@ describe RVM::Interpreter::Enviroment do
|
|
32
32
|
@env.param(1).should be(2)
|
33
33
|
end
|
34
34
|
|
35
|
+
it "should have a path" do
|
36
|
+
@env.path.should be_kind_of(Array)
|
37
|
+
end
|
38
|
+
|
39
|
+
|
35
40
|
describe "(parented)" do
|
36
41
|
before do
|
37
42
|
@old_env = @env
|
38
|
-
@env = RVM::Interpreter::
|
43
|
+
@env = RVM::Interpreter::Environment.new({}, @old_env)
|
39
44
|
end
|
40
45
|
|
41
|
-
it_should_behave_like "a
|
42
|
-
|
46
|
+
it_should_behave_like "a environment"
|
47
|
+
|
48
|
+
=begin
|
49
|
+
it "should have the same path as it's parrent" do
|
50
|
+
@env.path.should be(@old_env.path)
|
51
|
+
end
|
52
|
+
=end
|
43
53
|
it "should apply changes to already set variables to the parent" do
|
44
54
|
@env['1'].val.should == 'one'
|
45
55
|
@env['1'] = 'ONE!'
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require 'rvm/functions'
|
2
|
+
require 'rvm/functions/association/assoc_get'
|
3
3
|
|
4
4
|
describe RVM::Functions::AssocGet do
|
5
5
|
before(:each) do
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require 'rvm/functions'
|
2
|
+
require 'rvm/functions/association/assoc_set'
|
3
3
|
|
4
4
|
describe RVM::Functions::AssocSet do
|
5
5
|
before(:each) do
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'rvm/functions'
|
2
|
+
require 'rvm/functions/association/assoc_get'
|
3
|
+
require 'rvm/functions/array/at'
|
4
|
+
require 'rvm/functions/collection/get'
|
5
|
+
|
6
|
+
describe RVM::Functions::Get do
|
7
|
+
before(:each) do
|
8
|
+
@env = mock('env mock')
|
9
|
+
@function = RVM::Functions[:get]
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
|
-
require '
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require 'spec/rvm/helpers/plugin_helper'
|
2
|
+
require 'spec/rvm/helpers/function_helper'
|
3
|
+
require 'rvm/functions/list/split'
|
4
4
|
|
5
5
|
describe RVM::Functions::Split do
|
6
6
|
|
@@ -1,6 +1,6 @@
|
|
1
|
-
require '
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require 'spec/rvm/helpers/plugin_helper'
|
2
|
+
require 'spec/rvm/helpers/function_helper'
|
3
|
+
require 'rvm/functions/string/ansi'
|
4
4
|
|
5
5
|
|
6
6
|
describe RVM::Functions::Ansi do
|
@@ -1,6 +1,6 @@
|
|
1
|
-
require '
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require 'spec/rvm/helpers/plugin_helper'
|
2
|
+
require 'spec/rvm/helpers/function_helper'
|
3
|
+
require 'rvm/functions/string/capstr'
|
4
4
|
|
5
5
|
|
6
6
|
describe RVM::Functions::Capstr do
|
@@ -1,6 +1,6 @@
|
|
1
|
-
require '
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require 'spec/rvm/helpers/plugin_helper'
|
2
|
+
require 'spec/rvm/helpers/function_helper'
|
3
|
+
require 'rvm/functions/string/center'
|
4
4
|
|
5
5
|
|
6
6
|
describe RVM::Functions::Center do
|
@@ -1,6 +1,6 @@
|
|
1
|
-
require '
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require 'spec/rvm/helpers/plugin_helper'
|
2
|
+
require 'spec/rvm/helpers/function_helper'
|
3
|
+
require 'rvm/functions/string/ljust'
|
4
4
|
|
5
5
|
|
6
6
|
describe RVM::Functions::Ljust do
|
@@ -1,6 +1,6 @@
|
|
1
|
-
require '
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require File.dirname(__FILE__) + '/../../helpers/plugin_helper'
|
2
|
+
require File.dirname(__FILE__) + '/../../helpers/function_helper'
|
3
|
+
require 'rvm/functions/string/regmatch'
|
4
4
|
|
5
5
|
|
6
6
|
describe RVM::Functions::Regmatch do
|
@@ -1,6 +1,6 @@
|
|
1
|
-
require '
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require 'spec/rvm/helpers/plugin_helper'
|
2
|
+
require 'spec/rvm/helpers/function_helper'
|
3
|
+
require 'rvm/functions/string/rjust'
|
4
4
|
|
5
5
|
|
6
6
|
describe RVM::Functions::Rjust do
|
@@ -0,0 +1,103 @@
|
|
1
|
+
require 'rvm/interpreter'
|
2
|
+
|
3
|
+
describe RVM::Interpreter::Condition do
|
4
|
+
before do
|
5
|
+
@true_case = mock('true case mock')
|
6
|
+
@false_case = mock('false case mock')
|
7
|
+
@condition = mock('condition mock')
|
8
|
+
@env = RVM::Interpreter.env
|
9
|
+
@object = RVM::Interpreter::Condition.new(@condition, @true_case, @false_case)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should execute the condition if true execute the true case, retring it's value" do
|
13
|
+
result = mock('result mock')
|
14
|
+
result.should_receive(:is_true?).with(no_args).once.and_return(true)
|
15
|
+
@true_case.should_receive(:execute).with(@env).once.and_return('true case')
|
16
|
+
@condition.should_receive(:execute).with(@env).once.and_return(result)
|
17
|
+
@object.execute(@env).should == 'true case'
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should execute the condition if false execute the false case, retring it's value" do
|
21
|
+
result = mock('result mock')
|
22
|
+
result.should_receive(:is_true?).with(no_args).once.and_return(false)
|
23
|
+
@false_case.should_receive(:execute).with(@env).once.and_return('false case')
|
24
|
+
@condition.should_receive(:execute).with(@env).once.and_return(result)
|
25
|
+
@object.execute(@env).should == 'false case'
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should execute the condition if false and no false condition is given return nil" do
|
29
|
+
@object = RVM::Interpreter::Condition.new(@condition, @true_case)
|
30
|
+
result = mock('result mock')
|
31
|
+
result.should_receive(:is_true?).with(no_args).once.and_return(false)
|
32
|
+
@condition.should_receive(:execute).with(@env).once.and_return(result)
|
33
|
+
@object.execute(@env).should be_nil
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should return the type of it's cases if they are the same" do
|
37
|
+
@true_case.should_receive(:data_type).with(no_args).once.and_return('type1')
|
38
|
+
@false_case.should_receive(:data_type).with(no_args).at_least(:once).and_return('type1')
|
39
|
+
@object.data_type.should == 'type1'
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should return the :any type if the types are not the same" do
|
43
|
+
@true_case.should_receive(:data_type).with(no_args).once.and_return('type1')
|
44
|
+
@false_case.should_receive(:data_type).with(no_args).once.and_return('type2')
|
45
|
+
@object.data_type.should == :any
|
46
|
+
end
|
47
|
+
=begin
|
48
|
+
|
49
|
+
it "should use path 0 for the true case" do
|
50
|
+
result = mock('result mock')
|
51
|
+
result.should_receive(:is_true?).with(no_args).once.and_return(true)
|
52
|
+
path = mock('Path mock')
|
53
|
+
|
54
|
+
@env.should_receive(:path).twice.and_return(path)
|
55
|
+
path.should_receive(:<<).with(0).once
|
56
|
+
path.should_receive(:pop).with(no_args).once.and_return(0)
|
57
|
+
|
58
|
+
@true_case.should_receive(:execute).with(@env).once.and_return('true case')
|
59
|
+
@condition.should_receive(:execute).with(@env).once.and_return(result)
|
60
|
+
@object.execute(@env).should == 'true case'
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should use path 1 for the false case" do
|
64
|
+
result = mock('result mock')
|
65
|
+
result.should_receive(:is_true?).with(no_args).once.and_return(false)
|
66
|
+
path = mock('Path mock')
|
67
|
+
|
68
|
+
@env.should_receive(:path).twice.and_return(path)
|
69
|
+
path.should_receive(:<<).with(1).once
|
70
|
+
path.should_receive(:pop).with(no_args).once.and_return(1)
|
71
|
+
|
72
|
+
@false_case.should_receive(:execute).with(@env).once.and_return('false case')
|
73
|
+
@condition.should_receive(:execute).with(@env).once.and_return(result)
|
74
|
+
@object.execute(@env).should == 'false case'
|
75
|
+
end
|
76
|
+
|
77
|
+
=begin
|
78
|
+
it "should add add a new layer to path when called" do
|
79
|
+
@path = mock('path mock')
|
80
|
+
@object = RVM::Interpreter::Sequence.new([@part1])
|
81
|
+
@part1.should_receive(:execute).with(@env, nil).once
|
82
|
+
@env.should_receive(:path).with(no_args).exactly(4).times.and_return(@path)
|
83
|
+
@path.should_receive(:<<).with(0).once
|
84
|
+
@path.should_receive(:pop).with(no_args).twice.and_return(0)
|
85
|
+
@path.should_receive(:<<).with(1).once
|
86
|
+
@object.execute(@env)
|
87
|
+
end
|
88
|
+
|
89
|
+
it "should skip parts according to the path" do
|
90
|
+
@part2.should_receive(:execute).with(@env, nil).once
|
91
|
+
@env.should_receive(:path).with(no_args).exactly(6).times.and_return([1])
|
92
|
+
@object.execute(@env, [1])
|
93
|
+
end
|
94
|
+
|
95
|
+
it "should hand down the path to the next executor" do
|
96
|
+
@part2.should_receive(:execute).with(@env, [2]).once
|
97
|
+
@env.should_receive(:path).with(no_args).exactly(6).times.and_return([1])
|
98
|
+
@object.execute(@env, [1,2])
|
99
|
+
end
|
100
|
+
=end
|
101
|
+
|
102
|
+
|
103
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
require 'rvm/interpreter'
|
2
|
+
require 'rvm/classes/block'
|
3
|
+
|
4
|
+
class CoreMock < RVM::Functions::Function
|
5
|
+
register_for :mock
|
6
|
+
class << self
|
7
|
+
def call *args
|
8
|
+
'result'
|
9
|
+
end
|
10
|
+
def execargs
|
11
|
+
@execargs
|
12
|
+
end
|
13
|
+
def data_type
|
14
|
+
:type
|
15
|
+
end
|
16
|
+
def execargs=v
|
17
|
+
@execargs = v
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
class RVM::Interpreter::CoreCall
|
23
|
+
def fun
|
24
|
+
@fun
|
25
|
+
end
|
26
|
+
|
27
|
+
def fun= f
|
28
|
+
@fun = f
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe RVM::Interpreter::CoreCall do
|
33
|
+
before do
|
34
|
+
@param1 = mock('param 1 mock')
|
35
|
+
@param2 = mock('param 2 mock')
|
36
|
+
@fun = mock('Core mock')
|
37
|
+
@env = mock('env mock')
|
38
|
+
end
|
39
|
+
|
40
|
+
describe "(execution)" do
|
41
|
+
before do
|
42
|
+
@object = RVM::Interpreter::CoreCall.new(:mock, [@param1,@param2])
|
43
|
+
end
|
44
|
+
|
45
|
+
it "shold execute it's params when the Core.execargs returns true" do
|
46
|
+
CoreMock.execargs = true
|
47
|
+
@object = RVM::Interpreter::CoreCall.new('mock', [@param1,@param2])
|
48
|
+
@param1.should_receive(:execute).once.with(@env).and_return('param 1')
|
49
|
+
@param2.should_receive(:execute).once.with(@env).and_return('param 2')
|
50
|
+
@object.execute(@env).should == 'result'
|
51
|
+
end
|
52
|
+
|
53
|
+
it "shold not execute it's params when the Core.execargs returns false" do
|
54
|
+
CoreMock.execargs = false
|
55
|
+
@object = RVM::Interpreter::CoreCall.new('mock', [@param1,@param2])
|
56
|
+
@object.execute(@env).should == 'result'
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should return the data type of the Core" do
|
60
|
+
@object.data_type.should == :type
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should not compare with random objects" do
|
64
|
+
@object.==(1).should be_false
|
65
|
+
end
|
66
|
+
|
67
|
+
it "should compare with other Core if args and params are true it is the same" do
|
68
|
+
@object = RVM::Interpreter::CoreCall.new(:mock, [@param1,@param2])
|
69
|
+
@object.==(@object).should be_true
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|