vedeu 0.7.1 → 0.7.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/docs/configuration.md +6 -0
- data/docs/debugging.md +1 -3
- data/lib/vedeu/cells/borders/corner.rb +5 -0
- data/lib/vedeu/cells/borders/horizontal.rb +5 -0
- data/lib/vedeu/cells/borders/vertical.rb +5 -0
- data/lib/vedeu/cells/char.rb +5 -0
- data/lib/vedeu/cells/clear.rb +1 -0
- data/lib/vedeu/cells/empty.rb +5 -0
- data/lib/vedeu/configuration/api.rb +20 -0
- data/lib/vedeu/configuration/configuration.rb +17 -0
- data/lib/vedeu/cursors/cursor.rb +2 -2
- data/lib/vedeu/cursors/refresh.rb +1 -1
- data/lib/vedeu/logging/log.rb +2 -2
- data/lib/vedeu/models/row.rb +1 -1
- data/lib/vedeu/output/text.rb +4 -4
- data/lib/vedeu/renderers/all.rb +1 -0
- data/lib/vedeu/renderers/text.rb +103 -0
- data/lib/vedeu/version.rb +1 -1
- data/lib/vedeu/views/char.rb +9 -0
- data/test/lib/vedeu/cells/borders/corner_test.rb +8 -0
- data/test/lib/vedeu/cells/borders/horizontal_test.rb +6 -0
- data/test/lib/vedeu/cells/borders/vertical_test.rb +6 -0
- data/test/lib/vedeu/cells/char_test.rb +6 -0
- data/test/lib/vedeu/cells/clear_test.rb +2 -0
- data/test/lib/vedeu/cells/empty_test.rb +6 -0
- data/test/lib/vedeu/configuration/api_test.rb +12 -0
- data/test/lib/vedeu/configuration/configuration_test.rb +58 -0
- data/test/lib/vedeu/models/row_test.rb +1 -0
- data/test/lib/vedeu/renderers/text_test.rb +84 -0
- data/test/lib/vedeu/views/char_test.rb +12 -0
- data/test/support/examples/material_colours_app.rb +1 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 12ee9a34dc28d9a2230a6e1acb69e62e8da7cd20
|
4
|
+
data.tar.gz: 27b92a31c6f1585f4f84e6d1de7469569e5ddfa9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e24f06eb598a6776473d4f1a7364be6eca6e9c1660260093643a3a752ccd4765c66a1c9f429db439f5de99bafe2bdc64df3173bc38549e34d5df91029778f68b
|
7
|
+
data.tar.gz: abb7551af78cb1c8339cd678a33e0e590a74b057cf32c9f256bc77980a6b1f2b05da31fc563b86a3e79775ab6a267eb4c3ae7817669797ee072146dc18b8b890
|
data/docs/configuration.md
CHANGED
@@ -66,6 +66,12 @@ reason, simply ask for it:
|
|
66
66
|
### log_only
|
67
67
|
{include:Vedeu::Config::API#log_only}
|
68
68
|
|
69
|
+
### log_except
|
70
|
+
{include:Vedeu::Config::API#log_except}
|
71
|
+
|
72
|
+
### loggable?
|
73
|
+
{include:Vedeu::Configuration.loggable?}
|
74
|
+
|
69
75
|
### profile / profile!
|
70
76
|
{include:Vedeu::Config::API#profile}
|
71
77
|
|
data/docs/debugging.md
CHANGED
@@ -8,9 +8,7 @@ and hopefully be dropped into a Pry debuggging session:
|
|
8
8
|
|
9
9
|
Vedeu::Terminal.cooked_mode!
|
10
10
|
Vedeu::Terminal.open do
|
11
|
-
|
12
|
-
show_cursor = Vedeu::EscapeSequences::Esc.show_cursor
|
13
|
-
Vedeu::Terminal.output(mouse_off + show_cursor)
|
11
|
+
Vedeu::Terminal.debugging!
|
14
12
|
|
15
13
|
require 'pry'
|
16
14
|
binding.pry
|
data/lib/vedeu/cells/char.rb
CHANGED
data/lib/vedeu/cells/clear.rb
CHANGED
data/lib/vedeu/cells/empty.rb
CHANGED
@@ -303,6 +303,26 @@ module Vedeu
|
|
303
303
|
options[:log] = filename
|
304
304
|
end
|
305
305
|
|
306
|
+
# Log specific message types except those given. A complete list
|
307
|
+
# of message types can be found at
|
308
|
+
# {Vedeu::Logging::Log.message_types}.
|
309
|
+
#
|
310
|
+
# Vedeu.configure do
|
311
|
+
# log_except :debug, :event
|
312
|
+
#
|
313
|
+
# # or
|
314
|
+
# log_except [:debug, :info]
|
315
|
+
#
|
316
|
+
# # ...
|
317
|
+
# end
|
318
|
+
#
|
319
|
+
# @param types [Array<Symbol>] The message types which should
|
320
|
+
# not be logged.
|
321
|
+
# @return [Array<Symbol>]
|
322
|
+
def log_except(*types)
|
323
|
+
options[:log_except] = types.flatten
|
324
|
+
end
|
325
|
+
|
306
326
|
# Only log specific message types. A complete list of message
|
307
327
|
# types can be found at {Vedeu::Logging::Log.message_types}.
|
308
328
|
#
|
@@ -170,11 +170,27 @@ module Vedeu
|
|
170
170
|
log != nil
|
171
171
|
end
|
172
172
|
|
173
|
+
# @return [Array<Symbol>]
|
174
|
+
def log_except
|
175
|
+
instance.options[:log_except] || []
|
176
|
+
end
|
177
|
+
|
173
178
|
# @return [Array<Symbol>]
|
174
179
|
def log_only
|
175
180
|
instance.options[:log_only] || []
|
176
181
|
end
|
177
182
|
|
183
|
+
# Returns true if the given type was included in the :log_only
|
184
|
+
# configuration option or not included in the :log_except
|
185
|
+
# option.
|
186
|
+
#
|
187
|
+
# @param type [Symbol]
|
188
|
+
# @return [Boolean]
|
189
|
+
def loggable?(type)
|
190
|
+
Vedeu::Configuration.log_only.include?(type) ||
|
191
|
+
!Vedeu::Configuration.log_except.include?(type)
|
192
|
+
end
|
193
|
+
|
178
194
|
# Returns whether mouse support was enabled or disabled.
|
179
195
|
#
|
180
196
|
# @return [Boolean]
|
@@ -323,6 +339,7 @@ module Vedeu
|
|
323
339
|
height: nil,
|
324
340
|
interactive: true,
|
325
341
|
log: nil,
|
342
|
+
log_except: [],
|
326
343
|
log_only: [],
|
327
344
|
mouse: true,
|
328
345
|
once: false,
|
data/lib/vedeu/cursors/cursor.rb
CHANGED
@@ -197,7 +197,7 @@ module Vedeu
|
|
197
197
|
def hide
|
198
198
|
super
|
199
199
|
|
200
|
-
Vedeu.log(type: :
|
200
|
+
Vedeu.log(type: :cursor, message: "Hiding cursor: '#{name}'".freeze)
|
201
201
|
|
202
202
|
render
|
203
203
|
end
|
@@ -234,7 +234,7 @@ module Vedeu
|
|
234
234
|
def show
|
235
235
|
super
|
236
236
|
|
237
|
-
Vedeu.log(type: :
|
237
|
+
Vedeu.log(type: :cursor, message: "Showing cursor: '#{name}'".freeze)
|
238
238
|
|
239
239
|
render
|
240
240
|
end
|
data/lib/vedeu/logging/log.rb
CHANGED
@@ -26,8 +26,7 @@ module Vedeu
|
|
26
26
|
def log(message:, force: false, type: :info)
|
27
27
|
output = log_entry(type, message)
|
28
28
|
|
29
|
-
if (enabled? || force) &&
|
30
|
-
Vedeu::Configuration.log_only.include?(type))
|
29
|
+
if (enabled? || force) && Vedeu::Configuration.loggable?(type)
|
31
30
|
logger.debug(output)
|
32
31
|
end
|
33
32
|
|
@@ -172,6 +171,7 @@ module Vedeu
|
|
172
171
|
input: [:light_yellow, :yellow],
|
173
172
|
|
174
173
|
compress: [:white, :light_grey],
|
174
|
+
cursor: [:light_green, :green],
|
175
175
|
output: [:light_green, :green],
|
176
176
|
render: [:light_green, :green],
|
177
177
|
|
data/lib/vedeu/models/row.rb
CHANGED
data/lib/vedeu/output/text.rb
CHANGED
@@ -244,12 +244,12 @@ module Vedeu
|
|
244
244
|
#
|
245
245
|
# @return [Fixnum]
|
246
246
|
def width
|
247
|
-
if present?(options[:
|
248
|
-
geometry.bordered_width
|
249
|
-
|
250
|
-
elsif present?(options[:width])
|
247
|
+
if present?(options[:width])
|
251
248
|
options[:width]
|
252
249
|
|
250
|
+
elsif present?(options[:name])
|
251
|
+
geometry.bordered_width
|
252
|
+
|
253
253
|
end
|
254
254
|
end
|
255
255
|
|
data/lib/vedeu/renderers/all.rb
CHANGED
@@ -0,0 +1,103 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
module Renderers
|
4
|
+
|
5
|
+
# Converts a grid of {Vedeu::Cells} objects or
|
6
|
+
# {Vedeu::Views::Char} objects into a stream of characters without
|
7
|
+
# escape sequences.
|
8
|
+
#
|
9
|
+
class Text < Vedeu::Renderers::File
|
10
|
+
|
11
|
+
include Vedeu::Common
|
12
|
+
include Vedeu::Renderers::Options
|
13
|
+
|
14
|
+
# Returns a new instance of Vedeu::Renderers::Text.
|
15
|
+
#
|
16
|
+
# @param options [Hash]
|
17
|
+
# @return [Vedeu::Renderers::Text]
|
18
|
+
def initialize(options = {})
|
19
|
+
@options = options || {}
|
20
|
+
end
|
21
|
+
|
22
|
+
# Render a cleared output.
|
23
|
+
#
|
24
|
+
# @return [String]
|
25
|
+
def clear
|
26
|
+
''
|
27
|
+
end
|
28
|
+
|
29
|
+
# @param output [Vedeu::Models::Page]
|
30
|
+
# @return [Array<String>]
|
31
|
+
def render(output)
|
32
|
+
return '' unless present?(output)
|
33
|
+
|
34
|
+
output.each do |row|
|
35
|
+
row.each do |char|
|
36
|
+
next unless renderable?(char) &&
|
37
|
+
positionable?(char) &&
|
38
|
+
textual?(char)
|
39
|
+
|
40
|
+
# fail char.inspect
|
41
|
+
|
42
|
+
buffer[char.position.y - 1][char.position.x - 1] = char.text
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
::File.write(filename, data) if write_file?
|
47
|
+
|
48
|
+
data
|
49
|
+
end
|
50
|
+
|
51
|
+
private
|
52
|
+
|
53
|
+
# @return [Array<String>]
|
54
|
+
def buffer
|
55
|
+
@buffer ||= Array.new(Vedeu.height) { Array.new(Vedeu.width) { ' ' } }
|
56
|
+
end
|
57
|
+
|
58
|
+
# @return [String]
|
59
|
+
def data
|
60
|
+
@data ||= buffer.map(&:join).join("\n").unpack('U*').map do |c|
|
61
|
+
(c > 255) ? ' ' : c.chr
|
62
|
+
end.join
|
63
|
+
end
|
64
|
+
|
65
|
+
# @return [Boolean]
|
66
|
+
def positionable?(char)
|
67
|
+
char.respond_to?(:position) &&
|
68
|
+
char.position.is_a?(Vedeu::Geometries::Position)
|
69
|
+
end
|
70
|
+
|
71
|
+
# @return [Array<Class>]
|
72
|
+
def renderables
|
73
|
+
[
|
74
|
+
Vedeu::Cells::Empty,
|
75
|
+
Vedeu::Cells::TopLeft,
|
76
|
+
Vedeu::Cells::TopHorizontal,
|
77
|
+
Vedeu::Cells::Char,
|
78
|
+
Vedeu::Cells::TopRight,
|
79
|
+
Vedeu::Views::Char,
|
80
|
+
Vedeu::Cells::Clear,
|
81
|
+
Vedeu::Cells::LeftVertical,
|
82
|
+
Vedeu::Cells::RightVertical,
|
83
|
+
Vedeu::Cells::BottomLeft,
|
84
|
+
Vedeu::Cells::BottomHorizontal,
|
85
|
+
Vedeu::Cells::BottomRight,
|
86
|
+
]
|
87
|
+
end
|
88
|
+
|
89
|
+
# @return [Boolean]
|
90
|
+
def renderable?(char)
|
91
|
+
renderables.include?(char.class)
|
92
|
+
end
|
93
|
+
|
94
|
+
# @return [Boolean]
|
95
|
+
def textual?(char)
|
96
|
+
char.respond_to?(:text)
|
97
|
+
end
|
98
|
+
|
99
|
+
end # Text
|
100
|
+
|
101
|
+
end # Renderers
|
102
|
+
|
103
|
+
end # Vedeu
|
data/lib/vedeu/version.rb
CHANGED
data/lib/vedeu/views/char.rb
CHANGED
@@ -104,6 +104,15 @@ module Vedeu
|
|
104
104
|
Vedeu::EscapeSequences::Esc.border { @value }
|
105
105
|
end
|
106
106
|
|
107
|
+
# @return [String]
|
108
|
+
def text
|
109
|
+
if border
|
110
|
+
' '
|
111
|
+
else
|
112
|
+
@value
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
107
116
|
# Returns a Hash of all the values before coercion.
|
108
117
|
#
|
109
118
|
# @note
|
@@ -48,6 +48,12 @@ module Vedeu
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
+
describe '#text' do
|
52
|
+
subject { instance.text }
|
53
|
+
|
54
|
+
it { subject.must_equal(' ') }
|
55
|
+
end
|
56
|
+
|
51
57
|
describe '#to_hash' do
|
52
58
|
let(:position) { [1, 1] }
|
53
59
|
let(:colour) { Vedeu::Colours::Colour.new(background: '#000000') }
|
@@ -241,6 +241,18 @@ module Vedeu
|
|
241
241
|
end
|
242
242
|
end
|
243
243
|
|
244
|
+
describe '#log_except' do
|
245
|
+
it 'sets the options to the desired value' do
|
246
|
+
configuration = Vedeu.configure { log_except :debug, :store }
|
247
|
+
configuration.log_except.must_equal([:debug, :store])
|
248
|
+
end
|
249
|
+
|
250
|
+
it 'sets the options to the desired value' do
|
251
|
+
configuration = Vedeu.configure { log_except [:debug, :info] }
|
252
|
+
configuration.log_except.must_equal([:debug, :info])
|
253
|
+
end
|
254
|
+
end
|
255
|
+
|
244
256
|
describe '#log_only' do
|
245
257
|
it 'sets the options to the desired value' do
|
246
258
|
configuration = Vedeu.configure { log_only :debug, :store }
|
@@ -93,6 +93,22 @@ module Vedeu
|
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
96
|
+
describe '.log_except' do
|
97
|
+
context 'when log_except is not configured' do
|
98
|
+
it { described.log_except.must_equal([]) }
|
99
|
+
end
|
100
|
+
|
101
|
+
context 'when log_except is configured' do
|
102
|
+
before do
|
103
|
+
Vedeu.configure do
|
104
|
+
log_except :timer, :event
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
it { described.log_except.must_equal([:timer, :event]) }
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
96
112
|
describe '.log_only' do
|
97
113
|
context 'when log_only is not configured' do
|
98
114
|
it { described.log_only.must_equal([]) }
|
@@ -109,6 +125,48 @@ module Vedeu
|
|
109
125
|
end
|
110
126
|
end
|
111
127
|
|
128
|
+
describe '.loggable?' do
|
129
|
+
let(:type) { :hydrogen }
|
130
|
+
|
131
|
+
subject { described.loggable?(type) }
|
132
|
+
|
133
|
+
context 'when the type exists in log_only and log_except' do
|
134
|
+
before do
|
135
|
+
described.stubs(:log_only).returns([:hydrogen])
|
136
|
+
described.stubs(:log_except).returns([:hydrogen])
|
137
|
+
end
|
138
|
+
|
139
|
+
it { subject.must_equal(true) }
|
140
|
+
end
|
141
|
+
|
142
|
+
context 'when the type exists in log_only' do
|
143
|
+
before do
|
144
|
+
described.stubs(:log_only).returns([:hydrogen])
|
145
|
+
described.stubs(:log_except).returns([])
|
146
|
+
end
|
147
|
+
|
148
|
+
it { subject.must_equal(true) }
|
149
|
+
end
|
150
|
+
|
151
|
+
context 'when the type exists in log_except' do
|
152
|
+
before do
|
153
|
+
described.stubs(:log_only).returns([])
|
154
|
+
described.stubs(:log_except).returns([:hydrogen])
|
155
|
+
end
|
156
|
+
|
157
|
+
it { subject.must_equal(false) }
|
158
|
+
end
|
159
|
+
|
160
|
+
context 'when the type does not exist in either' do
|
161
|
+
before do
|
162
|
+
described.stubs(:log_only).returns([])
|
163
|
+
described.stubs(:log_except).returns([])
|
164
|
+
end
|
165
|
+
|
166
|
+
it { subject.must_equal(true) }
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
112
170
|
describe '.mouse?' do
|
113
171
|
it { described.must_respond_to(:mouse) }
|
114
172
|
|
@@ -0,0 +1,84 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Vedeu
|
4
|
+
|
5
|
+
module Renderers
|
6
|
+
|
7
|
+
describe Text do
|
8
|
+
|
9
|
+
let(:described) { Vedeu::Renderers::Text }
|
10
|
+
let(:instance) { described.new(options) }
|
11
|
+
let(:options) { {} }
|
12
|
+
|
13
|
+
let(:geometry) {
|
14
|
+
Vedeu::Geometries::Geometry.new(name: 'Vedeu::Renderers::Text',
|
15
|
+
x: 2,
|
16
|
+
xn: 4,
|
17
|
+
y: 2,
|
18
|
+
yn: 4)
|
19
|
+
}
|
20
|
+
|
21
|
+
describe '#initialize' do
|
22
|
+
it { instance.must_be_instance_of(described) }
|
23
|
+
end
|
24
|
+
|
25
|
+
describe '#clear' do
|
26
|
+
subject { instance.clear }
|
27
|
+
|
28
|
+
it { subject.must_equal('') }
|
29
|
+
end
|
30
|
+
|
31
|
+
describe '#render' do
|
32
|
+
let(:output) {}
|
33
|
+
|
34
|
+
before do
|
35
|
+
Vedeu.stubs(:height).returns(5)
|
36
|
+
Vedeu.stubs(:width).returns(5)
|
37
|
+
Vedeu.geometries.stubs(:by_name).returns(geometry)
|
38
|
+
::File.stubs(:write)
|
39
|
+
end
|
40
|
+
|
41
|
+
subject { instance.render(output) }
|
42
|
+
|
43
|
+
context 'when the output is nil' do
|
44
|
+
it { subject.must_equal('') }
|
45
|
+
end
|
46
|
+
|
47
|
+
context 'when the output is a Vedeu::Models::Page' do
|
48
|
+
let(:output) { Vedeu::Models::Page.coerce(rows) }
|
49
|
+
let(:rows) {
|
50
|
+
[
|
51
|
+
Vedeu::Models::Row.new([
|
52
|
+
Vedeu::Cells::TopLeft.new,
|
53
|
+
Vedeu::Cells::TopHorizontal.new,
|
54
|
+
Vedeu::Cells::TopRight.new,
|
55
|
+
]),
|
56
|
+
Vedeu::Models::Row.new([
|
57
|
+
Vedeu::Cells::LeftVertical.new,
|
58
|
+
Vedeu::Cells::Char.new,
|
59
|
+
Vedeu::Cells::RightVertical.new,
|
60
|
+
]),
|
61
|
+
Vedeu::Models::Row.new([
|
62
|
+
Vedeu::Cells::BottomLeft.new,
|
63
|
+
Vedeu::Cells::BottomHorizontal.new,
|
64
|
+
Vedeu::Cells::BottomRight.new,
|
65
|
+
]),
|
66
|
+
]
|
67
|
+
}
|
68
|
+
let(:expected) {
|
69
|
+
" \n" \
|
70
|
+
" + + \n" \
|
71
|
+
" \n" \
|
72
|
+
" + + \n" \
|
73
|
+
" "
|
74
|
+
}
|
75
|
+
|
76
|
+
it { subject.must_equal(expected) }
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
end # Text
|
81
|
+
|
82
|
+
end # Renderers
|
83
|
+
|
84
|
+
end # Vedeu
|
@@ -109,6 +109,18 @@ module Vedeu
|
|
109
109
|
it { subject.must_be_instance_of(Vedeu::Interfaces::Interface) }
|
110
110
|
end
|
111
111
|
|
112
|
+
describe '#text' do
|
113
|
+
subject { instance.text }
|
114
|
+
|
115
|
+
it { subject.must_equal('a') }
|
116
|
+
|
117
|
+
context 'when there is a border defined' do
|
118
|
+
let(:border) { :horizontal }
|
119
|
+
|
120
|
+
it { subject.must_equal(' ') }
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
112
124
|
describe '#to_hash' do
|
113
125
|
let(:position) { Vedeu::Geometries::Position.coerce([17, 2]) }
|
114
126
|
let(:expected) {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vedeu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Laking
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-12-
|
11
|
+
date: 2015-12-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: guard
|
@@ -524,6 +524,7 @@ files:
|
|
524
524
|
- lib/vedeu/renderers/options.rb
|
525
525
|
- lib/vedeu/renderers/templates/html_renderer.vedeu
|
526
526
|
- lib/vedeu/renderers/terminal.rb
|
527
|
+
- lib/vedeu/renderers/text.rb
|
527
528
|
- lib/vedeu/repositories/all.rb
|
528
529
|
- lib/vedeu/repositories/assemblage.rb
|
529
530
|
- lib/vedeu/repositories/collection.rb
|
@@ -729,6 +730,7 @@ files:
|
|
729
730
|
- test/lib/vedeu/renderers/json_test.rb
|
730
731
|
- test/lib/vedeu/renderers/options_test.rb
|
731
732
|
- test/lib/vedeu/renderers/terminal_test.rb
|
733
|
+
- test/lib/vedeu/renderers/text_test.rb
|
732
734
|
- test/lib/vedeu/repositories/assemblage_test.rb
|
733
735
|
- test/lib/vedeu/repositories/collection_test.rb
|
734
736
|
- test/lib/vedeu/repositories/defaults_test.rb
|
@@ -971,6 +973,7 @@ test_files:
|
|
971
973
|
- test/lib/vedeu/renderers/json_test.rb
|
972
974
|
- test/lib/vedeu/renderers/options_test.rb
|
973
975
|
- test/lib/vedeu/renderers/terminal_test.rb
|
976
|
+
- test/lib/vedeu/renderers/text_test.rb
|
974
977
|
- test/lib/vedeu/repositories/assemblage_test.rb
|
975
978
|
- test/lib/vedeu/repositories/collection_test.rb
|
976
979
|
- test/lib/vedeu/repositories/defaults_test.rb
|