rVM 0.0.10 → 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/rake/helpers/code_statistics.rb +167 -0
- data/lib/rvm/classes.rb +4 -0
- data/lib/rvm/classes/string.rb +1 -0
- data/lib/rvm/functions/array.rb +3 -0
- data/lib/rvm/functions/array/set_at.rb +0 -4
- data/lib/rvm/functions/collection/size.rb +2 -2
- data/lib/rvm/functions/logic/and.rb +1 -1
- data/lib/rvm/functions/logic/or.rb +2 -2
- data/lib/rvm/interpreter.rb +84 -44
- data/lib/rvm/languages/ecma.rb +581 -501
- data/spec/base/class_spec.rb +27 -0
- data/spec/base/function_spec.rb +25 -0
- data/spec/base/interpreter/assignment_spec.rb +22 -0
- data/spec/base/interpreter/condition_spec.rb +47 -0
- data/spec/base/interpreter/constant_spec.rb +31 -0
- data/spec/base/interpreter/enviroment_spec.rb +51 -0
- data/spec/base/interpreter/function_call_spec.rb +72 -0
- data/spec/base/interpreter/interpreter_spec.rb +11 -0
- data/spec/base/interpreter/parameter_spec.rb +24 -0
- data/spec/base/interpreter/sequence_spec.rb +20 -0
- data/spec/base/interpreter/variable_spec.rb +24 -0
- data/spec/base/plugin_spec.rb +10 -0
- data/spec/classes/atom/association_spec.rb +39 -0
- data/spec/classes/atom/block_spec.rb +27 -0
- data/spec/classes/atom/boolean_spec.rb +67 -0
- data/spec/classes/atom/error_spec.rb +43 -0
- data/spec/classes/atom/list_spec.rb +68 -0
- data/spec/classes/atom/number_spec.rb +132 -0
- data/spec/classes/atom/string_spec.rb +175 -0
- data/spec/functions/association/assoc_get_spec.rb +41 -0
- data/spec/functions/association/assoc_set_spec.rb +43 -0
- data/spec/functions/collection/get_spec.rb +12 -0
- data/spec/functions/collection/set_spec.rb +10 -0
- data/spec/functions/collection/size_spec.rb +10 -0
- data/spec/functions/list/split_spec.rb +47 -0
- data/spec/functions/string/ansi_spec.rb +44 -0
- data/spec/functions/string/capstr_spec.rb +42 -0
- data/spec/functions/string/center_spec.rb +49 -0
- data/spec/functions/string/ljust_spec.rb +49 -0
- data/spec/functions/string/regmatch_spec.rb +52 -0
- data/spec/functions/string/rjust_spec.rb +49 -0
- data/spec/languages/ecma_spec.rb +337 -0
- data/spec/languages/math/compiler_spec.rb +49 -0
- data/spec/languages/math/tokenizer_spec.rb +73 -0
- data/spec/languages/math/tree_spec.rb +153 -0
- metadata +42 -5
@@ -0,0 +1,67 @@
|
|
1
|
+
require "lib/rvm/classes/boolean"
|
2
|
+
describe RVM::Classes::Boolean do
|
3
|
+
|
4
|
+
|
5
|
+
it "shoulds creat with a bool value" do
|
6
|
+
b = RVM::Classes::Boolean.new(true)
|
7
|
+
b.is_true?.should be_true
|
8
|
+
b = RVM::Classes::Boolean.new(false)
|
9
|
+
b.is_true?.should be_false
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should create with nil" do
|
13
|
+
b = RVM::Classes::Boolean.new(nil)
|
14
|
+
b.is_true?.should be_false
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should use is_true? if existing" do
|
18
|
+
val = mock('value mock')
|
19
|
+
val.should_receive(:respond_to?).once.with(:is_true?).and_return(true)
|
20
|
+
val.should_receive(:is_true?).once.with(no_args).and_return(false)
|
21
|
+
b = RVM::Classes::Boolean.new(val)
|
22
|
+
b.is_true?.should be_false
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should have the data type :boolean" do
|
26
|
+
b = RVM::Classes::Boolean.new(true)
|
27
|
+
b.data_type.should == :boolean
|
28
|
+
end
|
29
|
+
|
30
|
+
def setup
|
31
|
+
super
|
32
|
+
@Boolean = RVM::Classes::Boolean
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_class
|
36
|
+
assert(@Boolean)
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_creation
|
40
|
+
assert(@Boolean.new(@Boolean), "Create not nil object bool")
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_compare
|
44
|
+
assert_equal(@Boolean.new(true),@Boolean.new(true))
|
45
|
+
assert_equal(@Boolean.new(false),@Boolean.new(false))
|
46
|
+
assert_equal(@Boolean.new(false),@Boolean.new(nil))
|
47
|
+
assert_equal(@Boolean.new(true),@Boolean.new(self))
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_creation_is_true
|
51
|
+
assert(@Boolean)
|
52
|
+
assert(b1 = @Boolean.new(true), "Create true bool.")
|
53
|
+
assert(b2 = @Boolean.new(false), "Create false bool.")
|
54
|
+
assert(b3 = @Boolean.new(nil), "Create nil bool.")
|
55
|
+
assert(b4 = @Boolean.new(b1), "Create is_true? object bool.")
|
56
|
+
assert(b5 = @Boolean.new(b2), "Create not is_true? object bool.")
|
57
|
+
assert(b6 = @Boolean.new(@Boolean), "Create not nil object bool.")
|
58
|
+
|
59
|
+
assert(b1.is_true?, "Test if true is true.")
|
60
|
+
assert(!b2.is_true?, "Test if false is false.")
|
61
|
+
assert(!b3.is_true?, "Test if nis is false.")
|
62
|
+
assert(b4.is_true?, "Test if a is_true? object is true.")
|
63
|
+
assert(!b5.is_true?, "Test if a not is_true? object is false.")
|
64
|
+
assert(b6.is_true?, "Test if not null object is true.")
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require "lib/rvm/classes/error"
|
2
|
+
describe RVM::Classes::Error do
|
3
|
+
|
4
|
+
describe "(creation)" do
|
5
|
+
|
6
|
+
it "should create with an integer" do
|
7
|
+
e = RVM::Classes::Error.new(1,"Test error")
|
8
|
+
e.should be
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should create with an integer" do
|
12
|
+
e = RVM::Classes::Error.new(1.2,"Test error")
|
13
|
+
e.should be
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should create with with odd stuff" do
|
17
|
+
e = RVM::Classes::Error.new(nil,"Test error")
|
18
|
+
e.should be
|
19
|
+
e = RVM::Classes::Error.new("muhaha","Test error")
|
20
|
+
e.should be
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
describe "(usage)" do
|
26
|
+
it "shuld convert to a error string" do
|
27
|
+
e = RVM::Classes::Error.new(1,"Test error.")
|
28
|
+
e.to_s.should == "#1 Test error."
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should prevent double positive error numbers" do
|
32
|
+
e = RVM::Classes::Error.new(-3,"Test error.")
|
33
|
+
e.to_s.should == "#-3 Test error."
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should return false for is_true?." do
|
37
|
+
e = RVM::Classes::Error.new(1,"Test error.")
|
38
|
+
e.is_true?.should be_false
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require "lib/rvm/classes/list"
|
2
|
+
describe RVM::Classes::List do
|
3
|
+
|
4
|
+
describe "(creation)" do
|
5
|
+
it "should create empty" do
|
6
|
+
l = RVM::Classes::List.new()
|
7
|
+
l.size.should be(0)
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should create simple lists with one element" do
|
11
|
+
l = RVM::Classes::List.new(true)
|
12
|
+
l.size.should be(1)
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
it "should create from an array" do
|
17
|
+
l = RVM::Classes::List.new(['1','2','3','4'])
|
18
|
+
l.size.should be(4)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should split a list of string sepperated items" do
|
22
|
+
l = RVM::Classes::List.new("1 2 3 4")
|
23
|
+
l.should == ['1','2','3','4']
|
24
|
+
l.size.should be(4)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should split a list of string sepperated items" do
|
28
|
+
l = RVM::Classes::List.new("1|2|3|4", '|')
|
29
|
+
l.should == ['1','2','3','4']
|
30
|
+
l.size.should be(4)
|
31
|
+
end
|
32
|
+
it "should have the data type :list" do
|
33
|
+
l = RVM::Classes::List.new("")
|
34
|
+
l.data_type.should == :list
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
describe "(conversion)" do
|
39
|
+
it "should rejoin a list, by default with spaces" do
|
40
|
+
l = RVM::Classes::List.new([1,2,3])
|
41
|
+
l.to_s.should == "1 2 3"
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should rejoin a list by a other sepperator" do
|
45
|
+
l = RVM::Classes::List.new([1,2,3], ',')
|
46
|
+
l.to_s.should == "1,2,3"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe "(sepperator)" do
|
51
|
+
it "should let you switch the sepperator without affecting the elemetns" do
|
52
|
+
l = RVM::Classes::List.new("1|a 2|b 3|c 4|d")
|
53
|
+
l.size.should be(4)
|
54
|
+
l.sepperator = '|'
|
55
|
+
l.size.should be(4)
|
56
|
+
l.to_s.should == "1|a|2|b|3|c|4|d"
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should let you resplit the list changing it's content" do
|
60
|
+
l = RVM::Classes::List.new("1|a 2|b 3|c 4|d")
|
61
|
+
l.size.should be(4)
|
62
|
+
l.resplit('|')
|
63
|
+
l.size.should be(5)
|
64
|
+
l.to_s.should == "1|a 2|b 3|c 4|d"
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
@@ -0,0 +1,132 @@
|
|
1
|
+
require "lib/rvm/classes"
|
2
|
+
require "lib/rvm/classes/number"
|
3
|
+
|
4
|
+
describe RVM::Classes::Number do
|
5
|
+
|
6
|
+
describe "(creation)" do
|
7
|
+
|
8
|
+
it "should create from fixnums" do
|
9
|
+
n = RVM::Classes::Number.new(1)
|
10
|
+
n.should be_instance_of(RVM::Classes::Number)
|
11
|
+
n.should == 1
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should create from floats" do
|
15
|
+
n = RVM::Classes::Number.new(1.1)
|
16
|
+
n.should be_instance_of(RVM::Classes::Number)
|
17
|
+
n.should == 1.1
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should create from bignum" do
|
21
|
+
n = RVM::Classes::Number.new(10**100)
|
22
|
+
n.should be_instance_of(RVM::Classes::Number)
|
23
|
+
n.should == 10**100
|
24
|
+
end
|
25
|
+
|
26
|
+
describe "(conversion)" do
|
27
|
+
it "should try to call to_f if to_f and to_i is different" do
|
28
|
+
value = mock('value mock')
|
29
|
+
value.should_receive(:respond_to?).ordered.once.with(:to_f).and_return(true)
|
30
|
+
value.should_receive(:to_f).ordered.once.with(no_args).and_return(42)
|
31
|
+
value.should_receive(:to_i).ordered.once.with(no_args).and_return(2)
|
32
|
+
n = RVM::Classes::Number.new(value)
|
33
|
+
n.should be_instance_of(RVM::Classes::Number)
|
34
|
+
n.should == 42
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should use to_i if to_f and to_i are the same" do
|
38
|
+
value = mock('value mock')
|
39
|
+
value.should_receive(:respond_to?).ordered.once.with(:to_f).and_return(true)
|
40
|
+
value.should_receive(:to_f).ordered.once.with(no_args).and_return(2)
|
41
|
+
value.should_receive(:to_i).ordered.twice.with(no_args).and_return(2)
|
42
|
+
value.should_receive(:respond_to?).ordered.once.with(:to_i).and_return(true)
|
43
|
+
n = RVM::Classes::Number.new(value)
|
44
|
+
n.should be_instance_of(RVM::Classes::Number)
|
45
|
+
n.should == 2
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should stuff it in a string if nothing else" do
|
49
|
+
value = mock('value mock')
|
50
|
+
value.should_receive(:respond_to?).ordered.once.with(:to_f).and_return(false)
|
51
|
+
value.should_receive(:respond_to?).ordered.once.with(:to_i).and_return(false)
|
52
|
+
value.should_receive(:to_s).ordered.once.and_return('4.2')
|
53
|
+
n = RVM::Classes::Number.new(value)
|
54
|
+
n.should be_instance_of(RVM::Classes::Number)
|
55
|
+
n.should == 4.2
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
describe "(runtime)" do
|
60
|
+
before do
|
61
|
+
@object = RVM::Classes::Number.new 42
|
62
|
+
end
|
63
|
+
|
64
|
+
describe "(convertion)" do
|
65
|
+
it "should convert the value to a string" do
|
66
|
+
@object.to_s.should == '42'
|
67
|
+
end
|
68
|
+
|
69
|
+
it "should convert the value to integer" do
|
70
|
+
@object.to_i.should be_instance_of(Fixnum)
|
71
|
+
end
|
72
|
+
|
73
|
+
it "should convert the value to fliat" do
|
74
|
+
@object.to_f.should be_instance_of(Float)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
describe "(compairsont)" do
|
78
|
+
it "should be is_true? when not zero" do
|
79
|
+
@object.is_true?.should be_true
|
80
|
+
end
|
81
|
+
|
82
|
+
it "should not be is_true? when zero" do
|
83
|
+
@object =RVM::Classes::Number.new 0
|
84
|
+
@object.is_true?.should_not be_true
|
85
|
+
end
|
86
|
+
|
87
|
+
it "should compare with other Numbers" do
|
88
|
+
@object.==(@object).should be_true
|
89
|
+
end
|
90
|
+
|
91
|
+
it "should compare normal ruby number classes" do
|
92
|
+
@object.==(42).should be_true
|
93
|
+
@object.==(42.0).should be_true
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
describe "(delegation)" do
|
98
|
+
before do
|
99
|
+
@value = mock('value mock')
|
100
|
+
@value.should_receive(:is_a?).once.with(Numeric).and_return(true)
|
101
|
+
@value
|
102
|
+
@object = RVM::Classes::Number.new @value
|
103
|
+
end
|
104
|
+
|
105
|
+
#it "should delege respond_to to it's value" do
|
106
|
+
# @value.should_receive(:respond_to?).once.with(:woggle).and_return('yes god damn it!')
|
107
|
+
# @object.respond_to?(:woggle).should == 'yes god damn it!'
|
108
|
+
#end
|
109
|
+
|
110
|
+
it "should delege unknwon methods to it's value and return a Number" do
|
111
|
+
@value.should_receive(:woggle).once.with(1).and_return(42)
|
112
|
+
res = @object.woggle(1)
|
113
|
+
res.should be_instance_of(RVM::Classes::Number)
|
114
|
+
res.should == 42
|
115
|
+
end
|
116
|
+
|
117
|
+
it "should delege unknwon methods to it's value and return a Number also work with number arguments" do
|
118
|
+
n = RVM::Classes::Number.new(1)
|
119
|
+
@value.should_receive(:respond_to?).once.with(:woggle).and_return(true)
|
120
|
+
@value.should_receive(:woggle).once.with(n).and_return(42)
|
121
|
+
res = @object.woggle(n)
|
122
|
+
res.should be_instance_of(RVM::Classes::Number)
|
123
|
+
res.should == 42
|
124
|
+
end
|
125
|
+
|
126
|
+
it "should raise a method missing otherwise" do
|
127
|
+
@object = RVM::Classes::Number.new 42
|
128
|
+
lambda {@object.woggle}.should raise_error
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
@@ -0,0 +1,175 @@
|
|
1
|
+
require "lib/rvm/classes/string"
|
2
|
+
|
3
|
+
describe RVM::Classes::String do
|
4
|
+
|
5
|
+
describe "(creation)" do
|
6
|
+
it "should create as an empty string without arguments" do
|
7
|
+
str = RVM::Classes::String.new
|
8
|
+
str.should be_instance_of(RVM::Classes::String)
|
9
|
+
str.empty?.should be_true
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should create with a string parameter" do
|
13
|
+
str = RVM::Classes::String.new 'example'
|
14
|
+
str.should be_instance_of(RVM::Classes::String)
|
15
|
+
str.should == 'example'
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should create with a string .to_s otherwise" do
|
19
|
+
value = mock('value mock')
|
20
|
+
value.should_receive(:to_s).once.with(no_args).and_return('example2')
|
21
|
+
str = RVM::Classes::String.new value
|
22
|
+
str.should be_instance_of(RVM::Classes::String)
|
23
|
+
str.should == 'example2'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe "(runtime)" do
|
28
|
+
before do
|
29
|
+
@object = RVM::Classes::String.new "String"
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should be is_true? when non empty" do
|
33
|
+
@object.is_true?.should be_true
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should not be is_true? when empty" do
|
37
|
+
@object = RVM::Classes::String.new ""
|
38
|
+
@object.is_true?.should_not be_true
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should have the data_type :string" do
|
42
|
+
@object.data_type.should == :string
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should return a RVM::Classes::String when adding it" do
|
46
|
+
str = @object + '!'
|
47
|
+
str.should be_instance_of(RVM::Classes::String)
|
48
|
+
str.should == 'String!'
|
49
|
+
end
|
50
|
+
|
51
|
+
describe "(center)" do
|
52
|
+
it "should center evenly" do
|
53
|
+
str = @object.center(8)
|
54
|
+
str.should be_instance_of(RVM::Classes::String)
|
55
|
+
str.should == ' String '
|
56
|
+
end
|
57
|
+
it "should align left when uneven" do
|
58
|
+
str = @object.center(9)
|
59
|
+
str.should be_instance_of(RVM::Classes::String)
|
60
|
+
str.should == ' String '
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should not crop the string when too long" do
|
64
|
+
str = @object.center(1)
|
65
|
+
str.should be_instance_of(RVM::Classes::String)
|
66
|
+
str.should == 'String'
|
67
|
+
end
|
68
|
+
|
69
|
+
it "should allow to alter spacing chars" do
|
70
|
+
str = @object.center(8,'.')
|
71
|
+
str.should be_instance_of(RVM::Classes::String)
|
72
|
+
str.should == '.String.'
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should take the first spacing chars" do
|
76
|
+
str = @object.center(8,'-.')
|
77
|
+
str.should be_instance_of(RVM::Classes::String)
|
78
|
+
str.should == '-String-'
|
79
|
+
end
|
80
|
+
it "should default the spacing char to space" do
|
81
|
+
str = @object.center(8,'')
|
82
|
+
str.should be_instance_of(RVM::Classes::String)
|
83
|
+
str.should == ' String '
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
describe "(ljust)" do
|
88
|
+
it "should adjust to the left" do
|
89
|
+
str = @object.ljust(7)
|
90
|
+
str.should be_instance_of(RVM::Classes::String)
|
91
|
+
str.should == 'String '
|
92
|
+
end
|
93
|
+
|
94
|
+
it "should not crop the string when too long" do
|
95
|
+
str = @object.ljust(1)
|
96
|
+
str.should be_instance_of(RVM::Classes::String)
|
97
|
+
str.should == 'String'
|
98
|
+
end
|
99
|
+
|
100
|
+
it "should allow to alter spacing chars" do
|
101
|
+
str = @object.ljust(8,'.')
|
102
|
+
str.should be_instance_of(RVM::Classes::String)
|
103
|
+
str.should == 'String..'
|
104
|
+
end
|
105
|
+
|
106
|
+
it "should take the first spacing chars" do
|
107
|
+
str = @object.ljust(8,'-.')
|
108
|
+
str.should be_instance_of(RVM::Classes::String)
|
109
|
+
str.should == 'String--'
|
110
|
+
end
|
111
|
+
|
112
|
+
it "should default the spacing char to space" do
|
113
|
+
str = @object.ljust(8,'')
|
114
|
+
str.should be_instance_of(RVM::Classes::String)
|
115
|
+
str.should == 'String '
|
116
|
+
end
|
117
|
+
end
|
118
|
+
describe "(rjust)" do
|
119
|
+
it "should adjust to the right" do
|
120
|
+
str = @object.rjust(7)
|
121
|
+
str.should be_instance_of(RVM::Classes::String)
|
122
|
+
str.should == ' String'
|
123
|
+
end
|
124
|
+
|
125
|
+
it "should not crop the string when too long" do
|
126
|
+
str = @object.rjust(1)
|
127
|
+
str.should be_instance_of(RVM::Classes::String)
|
128
|
+
str.should == 'String'
|
129
|
+
end
|
130
|
+
|
131
|
+
it "should allow to alter spacing chars" do
|
132
|
+
str = @object.rjust(8,'.')
|
133
|
+
str.should be_instance_of(RVM::Classes::String)
|
134
|
+
str.should == '..String'
|
135
|
+
end
|
136
|
+
|
137
|
+
it "should take the first spacing chars" do
|
138
|
+
str = @object.rjust(8,'-.')
|
139
|
+
str.should be_instance_of(RVM::Classes::String)
|
140
|
+
str.should == '--String'
|
141
|
+
end
|
142
|
+
|
143
|
+
it "should default the spacing char to space" do
|
144
|
+
str = @object.rjust(8,'')
|
145
|
+
str.should be_instance_of(RVM::Classes::String)
|
146
|
+
str.should == ' String'
|
147
|
+
end
|
148
|
+
end
|
149
|
+
describe "(ansi)" do
|
150
|
+
|
151
|
+
it "should allow you to colorize strings" do
|
152
|
+
@object = @object.ansi('hr')
|
153
|
+
@object.should == "\e[1;31mString\e[0m"
|
154
|
+
end
|
155
|
+
|
156
|
+
it "should handle embedding of ansi in other ansi" do
|
157
|
+
str_left = RVM::Classes::String.new("<")
|
158
|
+
str_right = RVM::Classes::String.new(">")
|
159
|
+
@object = @object.ansi('hr')
|
160
|
+
@object = str_left + @object + str_right
|
161
|
+
@object.should == "<\e[1;31mString\e[0m>"
|
162
|
+
@object = @object.ansi('g')
|
163
|
+
@object.should == "\e[32m<\e[1;31mString\e[32m>\e[0m"
|
164
|
+
end
|
165
|
+
|
166
|
+
it "should handle positioning ansi aware" do
|
167
|
+
pending("ANSI Awarenes isn't implemented yet")
|
168
|
+
end
|
169
|
+
|
170
|
+
it "should split ansi aware" do
|
171
|
+
pending("ANSI Awarenes isn't implemented yet")
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|