vedeu 0.7.1 → 0.7.2
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.
- 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
|