vedeu 0.4.56 → 0.4.57
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/examples/borders_app.rb +22 -24
- data/examples/colours_app.rb +4 -6
- data/examples/configuration_app.rb +5 -7
- data/examples/drb_app.rb +1 -1
- data/examples/focus_app.rb +1 -1
- data/examples/geometry_app.rb +8 -10
- data/examples/hello_world.rb +4 -6
- data/examples/material_colours_app.rb +19 -9
- data/examples/material_colours_app_20150721.svg +2285 -0
- data/examples/panel_app.rb +6 -8
- data/examples/typed_commands/typed_commands_app.rb +15 -17
- data/examples/view_templates_app/view_templates_app.rb +1 -1
- data/lib/vedeu/all.rb +82 -10
- data/lib/vedeu/api.rb +34 -14
- data/lib/vedeu/application.rb +0 -1
- data/lib/vedeu/application/application_controller.rb +0 -1
- data/lib/vedeu/application/application_helper.rb +0 -1
- data/lib/vedeu/application/application_view.rb +0 -1
- data/lib/vedeu/application/controller.rb +0 -1
- data/lib/vedeu/application/helper.rb +0 -1
- data/lib/vedeu/application/view.rb +0 -1
- data/lib/vedeu/bindings/all.rb +0 -1
- data/lib/vedeu/bindings/visibility.rb +2 -19
- data/lib/vedeu/buffers/buffer.rb +0 -1
- data/lib/vedeu/buffers/display_buffer.rb +0 -1
- data/lib/vedeu/cli/generator/application.rb +0 -1
- data/lib/vedeu/cli/generator/helpers.rb +0 -1
- data/lib/vedeu/cli/generator/view.rb +0 -1
- data/lib/vedeu/colours/background.rb +0 -1
- data/lib/vedeu/colours/colour.rb +0 -1
- data/lib/vedeu/colours/colour_translator.rb +0 -1
- data/lib/vedeu/colours/foreground.rb +0 -1
- data/lib/vedeu/common.rb +0 -1
- data/lib/vedeu/configuration/configuration.rb +0 -1
- data/lib/vedeu/cursor/cursor.rb +0 -1
- data/lib/vedeu/cursor/move.rb +0 -1
- data/lib/vedeu/cursor/refresh_cursor.rb +0 -1
- data/lib/vedeu/cursor/reposition.rb +0 -1
- data/lib/vedeu/distributed/client.rb +2 -0
- data/lib/vedeu/distributed/server.rb +2 -0
- data/lib/vedeu/distributed/uri.rb +2 -1
- data/lib/vedeu/exceptions.rb +0 -7
- data/lib/vedeu/geometry/area.rb +0 -1
- data/lib/vedeu/geometry/coordinate.rb +0 -1
- data/lib/vedeu/geometry/dimension.rb +14 -1
- data/lib/vedeu/geometry/geometry.rb +0 -1
- data/lib/vedeu/geometry/index_position.rb +0 -1
- data/lib/vedeu/geometry/position.rb +0 -1
- data/lib/vedeu/geometry/position_index.rb +0 -1
- data/lib/vedeu/geometry/position_validator.rb +0 -1
- data/lib/vedeu/input/input.rb +0 -1
- data/lib/vedeu/input/key.rb +0 -1
- data/lib/vedeu/input/keymap.rb +0 -1
- data/lib/vedeu/input/mapper.rb +0 -1
- data/lib/vedeu/log.rb +0 -1
- data/lib/vedeu/main_loop.rb +0 -1
- data/lib/vedeu/models/cell.rb +0 -1
- data/lib/vedeu/models/char.rb +0 -1
- data/lib/vedeu/models/composition.rb +0 -1
- data/lib/vedeu/models/escape.rb +0 -1
- data/lib/vedeu/models/focus.rb +0 -1
- data/lib/vedeu/models/group.rb +37 -15
- data/lib/vedeu/models/interface.rb +1 -2
- data/lib/vedeu/models/line.rb +0 -1
- data/lib/vedeu/models/menu.rb +0 -1
- data/lib/vedeu/models/stream.rb +0 -1
- data/lib/vedeu/models/toggleable.rb +21 -11
- data/lib/vedeu/null/all.rb +0 -1
- data/lib/vedeu/null/border.rb +0 -1
- data/lib/vedeu/null/buffer.rb +0 -1
- data/lib/vedeu/null/generic.rb +0 -1
- data/lib/vedeu/null/geometry.rb +0 -1
- data/lib/vedeu/null/interface.rb +0 -1
- data/lib/vedeu/output/border.rb +0 -1
- data/lib/vedeu/output/clear/named_group.rb +3 -2
- data/lib/vedeu/output/clear/named_interface.rb +2 -1
- data/lib/vedeu/output/compressor.rb +0 -1
- data/lib/vedeu/output/html_char.rb +0 -1
- data/lib/vedeu/output/output.rb +0 -1
- data/lib/vedeu/output/presentation.rb +0 -1
- data/lib/vedeu/output/refresh_group.rb +0 -1
- data/lib/vedeu/output/render_border.rb +0 -1
- data/lib/vedeu/output/renderers/all.rb +0 -1
- data/lib/vedeu/output/renderers/escape_sequence.rb +0 -1
- data/lib/vedeu/output/renderers/file.rb +0 -1
- data/lib/vedeu/output/renderers/html.rb +0 -1
- data/lib/vedeu/output/renderers/json.rb +0 -1
- data/lib/vedeu/output/renderers/null.rb +0 -1
- data/lib/vedeu/output/renderers/renderer_options.rb +0 -1
- data/lib/vedeu/output/renderers/terminal.rb +0 -1
- data/lib/vedeu/output/renderers/text.rb +0 -1
- data/lib/vedeu/output/style.rb +0 -1
- data/lib/vedeu/output/text.rb +0 -1
- data/lib/vedeu/output/viewport.rb +0 -1
- data/lib/vedeu/output/virtual_terminal.rb +0 -1
- data/lib/vedeu/output/wordwrap.rb +0 -1
- data/lib/vedeu/repositories/collection.rb +0 -7
- data/lib/vedeu/repositories/model.rb +0 -1
- data/lib/vedeu/repositories/registerable.rb +0 -1
- data/lib/vedeu/repositories/repository.rb +0 -1
- data/lib/vedeu/repositories/store.rb +0 -1
- data/lib/vedeu/templating/directive.rb +1 -1
- data/lib/vedeu/templating/helpers.rb +1 -1
- data/lib/vedeu/templating/preprocessor.rb +1 -1
- data/lib/vedeu/templating/template.rb +1 -1
- data/lib/vedeu/traps.rb +0 -1
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/application/controller_test.rb +8 -1
- data/test/lib/vedeu/buffers/buffer_test.rb +5 -0
- data/test/lib/vedeu/cursor/reposition_test.rb +5 -5
- data/test/lib/vedeu/models/group_test.rb +4 -3
- data/test/lib/vedeu/models/interface_test.rb +15 -1
- data/test/lib/vedeu/null/interface_test.rb +7 -21
- data/test/lib/vedeu/output/esc_test.rb +105 -109
- metadata +3 -15
- data/lib/vedeu/application/all.rb +0 -6
- data/lib/vedeu/buffers/all.rb +0 -3
- data/lib/vedeu/cli/all.rb +0 -1
- data/lib/vedeu/colours/all.rb +0 -7
- data/lib/vedeu/configuration/all.rb +0 -3
- data/lib/vedeu/cursor/all.rb +0 -7
- data/lib/vedeu/distributed/all.rb +0 -15
- data/lib/vedeu/events/all.rb +0 -5
- data/lib/vedeu/geometry/all.rb +0 -14
- data/lib/vedeu/models/all.rb +0 -16
- data/lib/vedeu/output/all.rb +0 -21
- data/lib/vedeu/output/clear/all.rb +0 -13
- data/lib/vedeu/templating/all.rb +0 -13
data/lib/vedeu/output/style.rb
CHANGED
data/lib/vedeu/output/text.rb
CHANGED
@@ -3,7 +3,6 @@ module Vedeu
|
|
3
3
|
# Convert an Array into an object which has some meaning in the context it
|
4
4
|
# is being used.
|
5
5
|
#
|
6
|
-
# @api private
|
7
6
|
class Collection
|
8
7
|
|
9
8
|
include Enumerable
|
@@ -98,42 +97,36 @@ module Vedeu
|
|
98
97
|
|
99
98
|
# A collection of {Vedeu::Char} instances.
|
100
99
|
#
|
101
|
-
# @api private
|
102
100
|
class Chars < Vedeu::Collection
|
103
101
|
|
104
102
|
end # Chars
|
105
103
|
|
106
104
|
# A collection of {Vedeu::Event} instances.
|
107
105
|
#
|
108
|
-
# @api private
|
109
106
|
class EventCollection < Vedeu::Collection
|
110
107
|
|
111
108
|
end # EventCollection
|
112
109
|
|
113
110
|
# A collection of {Vedeu::Interface} instances.
|
114
111
|
#
|
115
|
-
# @api private
|
116
112
|
class InterfaceCollection < Vedeu::Collection
|
117
113
|
|
118
114
|
end # InterfaceCollection
|
119
115
|
|
120
116
|
# A collection of {Vedeu::Key} instances.
|
121
117
|
#
|
122
|
-
# @api private
|
123
118
|
class Keys < Vedeu::Collection
|
124
119
|
|
125
120
|
end # Keys
|
126
121
|
|
127
122
|
# A collection of {Vedeu::Line} instances.
|
128
123
|
#
|
129
|
-
# @api private
|
130
124
|
class Lines < Vedeu::Collection
|
131
125
|
|
132
126
|
end # Lines
|
133
127
|
|
134
128
|
# A collection of {Vedeu::Stream} instances.
|
135
129
|
#
|
136
|
-
# @api private
|
137
130
|
class Streams < Vedeu::Collection
|
138
131
|
|
139
132
|
end # Streams
|
@@ -1,5 +1,6 @@
|
|
1
1
|
module Vedeu
|
2
2
|
|
3
|
+
# Provides means to use templates with Vedeu.
|
3
4
|
module Templating
|
4
5
|
|
5
6
|
# preprocess
|
@@ -15,7 +16,6 @@ module Vedeu
|
|
15
16
|
# Pre-processes a template, to convert all lines and lines with directives
|
16
17
|
# into Vedeu::Streams.
|
17
18
|
#
|
18
|
-
# @api private
|
19
19
|
class Preprocessor
|
20
20
|
|
21
21
|
# @param lines [Array<String>]
|
@@ -2,11 +2,11 @@ require 'vedeu/templating/preprocessor'
|
|
2
2
|
|
3
3
|
module Vedeu
|
4
4
|
|
5
|
+
# Provides means to use templates with Vedeu.
|
5
6
|
module Templating
|
6
7
|
|
7
8
|
# Generic class to loading a template and parsing it via ERb.
|
8
9
|
#
|
9
|
-
# @api private
|
10
10
|
class Template
|
11
11
|
|
12
12
|
# @param (see Vedeu::Templating::Template#new)
|
data/lib/vedeu/traps.rb
CHANGED
data/lib/vedeu/version.rb
CHANGED
@@ -14,7 +14,14 @@ module Vedeu
|
|
14
14
|
let(:instance) { described.new }
|
15
15
|
|
16
16
|
context 'ClassMethods' do
|
17
|
-
|
17
|
+
let(:_name) { :vedeu_controller_test }
|
18
|
+
|
19
|
+
subject { ControllerTestClass.controller_name(_name) }
|
20
|
+
|
21
|
+
it {
|
22
|
+
Vedeu.expects(:bind).with(:show_vedeu_controller_test)
|
23
|
+
subject
|
24
|
+
}
|
18
25
|
end
|
19
26
|
|
20
27
|
end # Controller
|
@@ -27,17 +27,13 @@ module Vedeu
|
|
27
27
|
end
|
28
28
|
|
29
29
|
describe '.to' do
|
30
|
-
it { described.must_respond_to(:to) }
|
31
|
-
end
|
32
|
-
|
33
|
-
describe '#to' do
|
34
30
|
# let(:new_entity) { Vedeu::Cursor.new(name: _name, y: 8, x: 5, oy: 7, ox: 4) }
|
35
31
|
|
36
32
|
# before do
|
37
33
|
# entity.stubs(:new).returns(new_entity)
|
38
34
|
# end
|
39
35
|
|
40
|
-
subject {
|
36
|
+
subject { described.to(entity, _name, y, x) }
|
41
37
|
|
42
38
|
it { subject.must_be_instance_of(entity) }
|
43
39
|
|
@@ -62,6 +58,10 @@ module Vedeu
|
|
62
58
|
it { subject.oy.must_equal(7) }
|
63
59
|
end
|
64
60
|
|
61
|
+
describe '#to' do
|
62
|
+
it { instance.must_respond_to(:to) }
|
63
|
+
end
|
64
|
+
|
65
65
|
end # Reposition
|
66
66
|
|
67
67
|
end # Vedeu
|
@@ -10,12 +10,13 @@ module Vedeu
|
|
10
10
|
{
|
11
11
|
name: _name,
|
12
12
|
members: members,
|
13
|
-
repository:
|
13
|
+
repository: repository,
|
14
14
|
visible: visible,
|
15
15
|
}
|
16
16
|
}
|
17
17
|
let(:_name) { 'organics' }
|
18
|
-
let(:members) { ['carbon', 'nitrogen', 'oxygen'] }
|
18
|
+
let(:members) { Set.new(['carbon', 'nitrogen', 'oxygen']) }
|
19
|
+
let(:repository) { Vedeu.groups }
|
19
20
|
let(:visible) { true }
|
20
21
|
|
21
22
|
describe '#initialize' do
|
@@ -26,7 +27,7 @@ module Vedeu
|
|
26
27
|
it { instance.instance_variable_get('@members').must_equal(members) }
|
27
28
|
it { instance.instance_variable_get('@name').must_equal(_name) }
|
28
29
|
it {
|
29
|
-
instance.instance_variable_get('@repository').must_equal(
|
30
|
+
instance.instance_variable_get('@repository').must_equal(repository)
|
30
31
|
}
|
31
32
|
it { instance.instance_variable_get('@visible').must_equal(visible) }
|
32
33
|
end
|
@@ -73,6 +73,13 @@ module Vedeu
|
|
73
73
|
it { instance.must_respond_to(:add) }
|
74
74
|
end
|
75
75
|
|
76
|
+
describe '#hide' do
|
77
|
+
subject { instance.hide }
|
78
|
+
|
79
|
+
# @todo
|
80
|
+
# it { skip }
|
81
|
+
end
|
82
|
+
|
76
83
|
describe '#inspect' do
|
77
84
|
subject { instance.inspect }
|
78
85
|
|
@@ -143,7 +150,7 @@ module Vedeu
|
|
143
150
|
subject
|
144
151
|
}
|
145
152
|
|
146
|
-
it { subject.must_equal([:clear, :
|
153
|
+
it { subject.must_equal([:clear, :view, :border]) }
|
147
154
|
end
|
148
155
|
|
149
156
|
context 'when the interface is not visible' do
|
@@ -153,6 +160,13 @@ module Vedeu
|
|
153
160
|
end
|
154
161
|
end
|
155
162
|
|
163
|
+
describe '#show' do
|
164
|
+
subject { instance.show }
|
165
|
+
|
166
|
+
# @todo
|
167
|
+
# it { skip }
|
168
|
+
end
|
169
|
+
|
156
170
|
describe '#store' do
|
157
171
|
subject { instance.store }
|
158
172
|
|
@@ -29,45 +29,31 @@ module Vedeu
|
|
29
29
|
end
|
30
30
|
|
31
31
|
describe '#hide' do
|
32
|
-
|
33
|
-
|
34
|
-
it { subject.must_be_instance_of(NilClass) }
|
32
|
+
it { instance.hide.must_be_instance_of(NilClass) }
|
35
33
|
end
|
36
34
|
|
37
35
|
describe '#null?' do
|
38
|
-
|
39
|
-
|
40
|
-
it { subject.must_be_instance_of(TrueClass) }
|
36
|
+
it { instance.null?.must_be_instance_of(TrueClass) }
|
41
37
|
end
|
42
38
|
|
43
39
|
describe '#parent' do
|
44
|
-
|
45
|
-
|
46
|
-
it { subject.must_be_instance_of(NilClass) }
|
40
|
+
it { instance.parent.must_be_instance_of(NilClass) }
|
47
41
|
end
|
48
42
|
|
49
43
|
describe '#show' do
|
50
|
-
|
51
|
-
|
52
|
-
it { subject.must_be_instance_of(NilClass) }
|
44
|
+
it { instance.show.must_be_instance_of(NilClass) }
|
53
45
|
end
|
54
46
|
|
55
47
|
describe '#store' do
|
56
|
-
|
57
|
-
|
58
|
-
it { subject.must_be_instance_of(Vedeu::Null::Interface) }
|
48
|
+
it { instance.store.must_be_instance_of(Vedeu::Null::Interface) }
|
59
49
|
end
|
60
50
|
|
61
51
|
describe '#toggle' do
|
62
|
-
|
63
|
-
|
64
|
-
it { subject.must_be_instance_of(NilClass) }
|
52
|
+
it { instance.toggle.must_be_instance_of(NilClass) }
|
65
53
|
end
|
66
54
|
|
67
55
|
describe '#visible?' do
|
68
|
-
|
69
|
-
|
70
|
-
it { subject.must_be_instance_of(FalseClass) }
|
56
|
+
it { instance.visible?.must_be_instance_of(FalseClass) }
|
71
57
|
end
|
72
58
|
|
73
59
|
describe '#visible=' do
|
@@ -8,14 +8,24 @@ module Vedeu
|
|
8
8
|
|
9
9
|
before { Vedeu::Terminal.stubs(:size).returns([80, 25]) }
|
10
10
|
|
11
|
-
describe '
|
12
|
-
it { described.
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
it
|
17
|
-
|
18
|
-
|
11
|
+
describe 'foreground colour methods' do
|
12
|
+
it { described.black.must_equal("\e[30m") }
|
13
|
+
it { described.red.must_equal("\e[31m") }
|
14
|
+
it { described.green.must_equal("\e[32m") }
|
15
|
+
it { described.yellow.must_equal("\e[33m") }
|
16
|
+
it { described.blue.must_equal("\e[34m") }
|
17
|
+
it { described.magenta.must_equal("\e[35m") }
|
18
|
+
it { described.cyan.must_equal("\e[36m") }
|
19
|
+
it { described.light_grey.must_equal("\e[37m") }
|
20
|
+
it { described.default.must_equal("\e[39m") }
|
21
|
+
it { described.dark_grey.must_equal("\e[90m") }
|
22
|
+
it { described.light_red.must_equal("\e[91m") }
|
23
|
+
it { described.light_green.must_equal("\e[92m") }
|
24
|
+
it { described.light_yellow.must_equal("\e[93m") }
|
25
|
+
it { described.light_blue.must_equal("\e[94m") }
|
26
|
+
it { described.light_magenta.must_equal("\e[95m") }
|
27
|
+
it { described.light_cyan.must_equal("\e[96m") }
|
28
|
+
it { described.white.must_equal("\e[97m") }
|
19
29
|
|
20
30
|
it 'returns an escape sequence for the foreground colour and resets ' \
|
21
31
|
'after calling the block' do
|
@@ -23,10 +33,35 @@ module Vedeu
|
|
23
33
|
'ununpentium'
|
24
34
|
end.must_equal("\e[36mununpentium\e[39m")
|
25
35
|
end
|
36
|
+
end
|
26
37
|
|
27
|
-
|
28
|
-
|
29
|
-
|
38
|
+
describe '.codes' do
|
39
|
+
it { described.codes.must_be_instance_of(Hash) }
|
40
|
+
it { described.must_respond_to(:foreground_codes) }
|
41
|
+
end
|
42
|
+
|
43
|
+
describe '.background_codes' do
|
44
|
+
it { described.background_codes.must_be_instance_of(Hash) }
|
45
|
+
end
|
46
|
+
|
47
|
+
describe 'background colour methods' do
|
48
|
+
it { described.on_black.must_equal("\e[40m") }
|
49
|
+
it { described.on_red.must_equal("\e[41m") }
|
50
|
+
it { described.on_green.must_equal("\e[42m") }
|
51
|
+
it { described.on_yellow.must_equal("\e[43m") }
|
52
|
+
it { described.on_blue.must_equal("\e[44m") }
|
53
|
+
it { described.on_magenta.must_equal("\e[45m") }
|
54
|
+
it { described.on_cyan.must_equal("\e[46m") }
|
55
|
+
it { described.on_light_grey.must_equal("\e[47m") }
|
56
|
+
it { described.on_default.must_equal("\e[49m") }
|
57
|
+
it { described.on_dark_grey.must_equal("\e[100m") }
|
58
|
+
it { described.on_light_red.must_equal("\e[101m") }
|
59
|
+
it { described.on_light_green.must_equal("\e[102m") }
|
60
|
+
it { described.on_light_yellow.must_equal("\e[103m") }
|
61
|
+
it { described.on_light_blue.must_equal("\e[104m") }
|
62
|
+
it { described.on_light_magenta.must_equal("\e[105m") }
|
63
|
+
it { described.on_light_cyan.must_equal("\e[106m") }
|
64
|
+
it { described.on_white.must_equal("\e[107m") }
|
30
65
|
|
31
66
|
it 'returns an escape sequence for the background colour and resets ' \
|
32
67
|
'after calling the block' do
|
@@ -36,6 +71,30 @@ module Vedeu
|
|
36
71
|
end
|
37
72
|
end
|
38
73
|
|
74
|
+
describe 'action methods' do
|
75
|
+
it { described.hide_cursor.must_equal("\e[?25l") }
|
76
|
+
it { described.show_cursor.must_equal("\e[?25h") }
|
77
|
+
it { described.cursor_position.must_equal("\e[6n") }
|
78
|
+
it { described.bg_reset.must_equal("\e[49m") }
|
79
|
+
it { described.blink.must_equal("\e[5m") }
|
80
|
+
it { described.blink_off.must_equal("\e[25m") }
|
81
|
+
it { described.bold.must_equal("\e[1m") }
|
82
|
+
it { described.bold_off.must_equal("\e[22m") }
|
83
|
+
it { described.border_on.must_equal("\e(0") }
|
84
|
+
it { described.border_off.must_equal("\e(B") }
|
85
|
+
it { described.dim.must_equal("\e[2m") }
|
86
|
+
it { described.fg_reset.must_equal("\e[39m") }
|
87
|
+
it { described.negative.must_equal("\e[7m") }
|
88
|
+
it { described.positive.must_equal("\e[27m") }
|
89
|
+
it { described.reset.must_equal("\e[0m") }
|
90
|
+
it { described.underline.must_equal("\e[4m") }
|
91
|
+
it { described.underline_off.must_equal("\e[24m") }
|
92
|
+
end
|
93
|
+
|
94
|
+
describe '.actions' do
|
95
|
+
it { described.actions.must_be_instance_of(Hash) }
|
96
|
+
end
|
97
|
+
|
39
98
|
describe '.escape' do
|
40
99
|
let(:stream) { "\e[0m\e[38;2;39m\e[48;2;49m\e[2J\e[?25l" }
|
41
100
|
|
@@ -54,108 +113,45 @@ module Vedeu
|
|
54
113
|
end
|
55
114
|
end
|
56
115
|
|
57
|
-
describe '.
|
58
|
-
|
59
|
-
|
60
|
-
it { subject.must_be_instance_of(String) }
|
61
|
-
it { subject.must_equal("\e[?25l") }
|
62
|
-
end
|
63
|
-
|
64
|
-
describe '.show_cursor' do
|
65
|
-
subject { described.show_cursor }
|
66
|
-
|
67
|
-
it { subject.must_be_instance_of(String) }
|
68
|
-
it { subject.must_equal("\e[?25h") }
|
69
|
-
end
|
70
|
-
|
71
|
-
describe '.string' do
|
72
|
-
it 'returns an empty string when the style is not provided' do
|
73
|
-
described.string.must_equal('')
|
74
|
-
end
|
75
|
-
|
76
|
-
it 'returns an escape sequence when the style is bg_reset' do
|
77
|
-
described.string('bg_reset').must_equal("\e[49m")
|
78
|
-
end
|
79
|
-
|
80
|
-
it 'returns an escape sequence when the style is blink' do
|
81
|
-
described.string('blink').must_equal("\e[5m")
|
82
|
-
end
|
83
|
-
|
84
|
-
it 'returns an escape sequence when the style is blink off' do
|
85
|
-
described.string('blink_off').must_equal("\e[25m")
|
86
|
-
end
|
87
|
-
|
88
|
-
it 'returns an escape sequence when the style is bold' do
|
89
|
-
described.string('bold').must_equal("\e[1m")
|
116
|
+
describe '.border' do
|
117
|
+
context 'when the block is given' do
|
118
|
+
it { described.border { 'b' }.must_equal("\e(0b\e(B") }
|
90
119
|
end
|
91
120
|
|
92
|
-
|
93
|
-
described.
|
94
|
-
end
|
95
|
-
|
96
|
-
it 'returns an escape sequence when the style is clear' do
|
97
|
-
described.string('clear').must_equal("\e[39m\e[49m\e[2J")
|
98
|
-
end
|
99
|
-
|
100
|
-
it 'returns an escape sequence when the style is clear_line' do
|
101
|
-
described.string('clear_line').must_equal("\e[39m\e[49m\e[2K")
|
102
|
-
end
|
103
|
-
|
104
|
-
it 'returns an escape sequence when the style is colour_reset' do
|
105
|
-
described.string('colour_reset').must_equal("\e[39m\e[49m")
|
106
|
-
end
|
107
|
-
|
108
|
-
it 'returns an escape sequence when the style is fg_reset' do
|
109
|
-
described.string('fg_reset').must_equal("\e[39m")
|
110
|
-
end
|
111
|
-
|
112
|
-
it 'returns an escape sequence when the style is hide_cursor' do
|
113
|
-
described.string('hide_cursor').must_equal("\e[?25l")
|
114
|
-
end
|
115
|
-
|
116
|
-
it 'returns an escape sequence when the style is screen_init' do
|
117
|
-
described.string('screen_init').must_equal("\e[0m\e[39m\e[49m\e[2J\e[?25l")
|
118
|
-
end
|
119
|
-
|
120
|
-
it 'returns an escape sequence when the style is screen_exit' do
|
121
|
-
described.string('screen_exit')
|
122
|
-
.must_equal("\e[?25h\e[39m\e[49m\e[0m\e[80;25H\n")
|
123
|
-
end
|
124
|
-
|
125
|
-
it 'returns an escape sequence when the style is negative' do
|
126
|
-
described.string('negative').must_equal("\e[7m")
|
127
|
-
end
|
128
|
-
|
129
|
-
it 'returns an escape sequence when the style is positive' do
|
130
|
-
described.string('positive').must_equal("\e[27m")
|
131
|
-
end
|
132
|
-
|
133
|
-
it 'returns an escape sequence when the style is reset' do
|
134
|
-
described.string('reset').must_equal("\e[0m")
|
135
|
-
end
|
136
|
-
|
137
|
-
it 'returns an escape sequence when the style is normal' do
|
138
|
-
described.string('normal').must_equal("\e[24m\e[22m\e[27m")
|
139
|
-
end
|
140
|
-
|
141
|
-
it 'returns an escape sequence when the style is dim' do
|
142
|
-
described.string('dim').must_equal("\e[2m")
|
143
|
-
end
|
144
|
-
|
145
|
-
it 'returns an escape sequence when the style is show_cursor' do
|
146
|
-
described.string('show_cursor').must_equal("\e[?25h")
|
147
|
-
end
|
148
|
-
|
149
|
-
it 'returns an escape sequence when the style is underline' do
|
150
|
-
described.string('underline').must_equal("\e[4m")
|
151
|
-
end
|
152
|
-
|
153
|
-
it 'returns an escape sequence when the style is underline off' do
|
154
|
-
described.string('underline_off').must_equal("\e[24m")
|
121
|
+
context 'when the block is not given' do
|
122
|
+
it { described.border.must_equal('') }
|
155
123
|
end
|
124
|
+
end
|
156
125
|
|
157
|
-
|
158
|
-
|
126
|
+
describe '.string' do
|
127
|
+
context 'when the style is not provided' do
|
128
|
+
it { described.string.must_equal('') }
|
129
|
+
end
|
130
|
+
|
131
|
+
context 'when the style is provided' do
|
132
|
+
it { described.string('bg_reset').must_equal("\e[49m") }
|
133
|
+
it { described.string('blink').must_equal("\e[5m") }
|
134
|
+
it { described.string('blink_off').must_equal("\e[25m") }
|
135
|
+
it { described.string('bold').must_equal("\e[1m") }
|
136
|
+
it { described.string('bold_off').must_equal("\e[22m") }
|
137
|
+
it { described.string('clear').must_equal("\e[39m\e[49m\e[2J") }
|
138
|
+
it { described.string('clear_line').must_equal("\e[39m\e[49m\e[2K") }
|
139
|
+
it { described.string('colour_reset').must_equal("\e[39m\e[49m") }
|
140
|
+
it { described.string('fg_reset').must_equal("\e[39m") }
|
141
|
+
it { described.string('hide_cursor').must_equal("\e[?25l") }
|
142
|
+
it { described.string('screen_init').
|
143
|
+
must_equal("\e[0m\e[39m\e[49m\e[2J\e[?25l") }
|
144
|
+
it { described.string('screen_exit').
|
145
|
+
must_equal("\e[?25h\e[39m\e[49m\e[0m\e[80;25H\n") }
|
146
|
+
it { described.string('negative').must_equal("\e[7m") }
|
147
|
+
it { described.string('positive').must_equal("\e[27m") }
|
148
|
+
it { described.string('reset').must_equal("\e[0m") }
|
149
|
+
it { described.string('normal').must_equal("\e[24m\e[22m\e[27m") }
|
150
|
+
it { described.string('dim').must_equal("\e[2m") }
|
151
|
+
it { described.string('show_cursor').must_equal("\e[?25h") }
|
152
|
+
it { described.string('underline').must_equal("\e[4m") }
|
153
|
+
it { described.string('underline_off').must_equal("\e[24m") }
|
154
|
+
it { described.string('cursor_position').must_equal("\e[6n") }
|
159
155
|
end
|
160
156
|
end
|
161
157
|
|