vedeu 0.5.6 → 0.5.7
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/lib/vedeu/application/controller.rb +2 -2
- data/lib/vedeu/cursor/refresh_cursor.rb +1 -1
- data/lib/vedeu/dsl/presentation.rb +3 -3
- data/lib/vedeu/dsl/use.rb +0 -34
- data/lib/vedeu/events/event.rb +2 -2
- data/lib/vedeu/events/trigger.rb +1 -1
- data/lib/vedeu/geometry/area.rb +1 -1
- data/lib/vedeu/geometry/dimension.rb +2 -2
- data/lib/vedeu/input/input.rb +1 -1
- data/lib/vedeu/log/log.rb +5 -3
- data/lib/vedeu/models/focus.rb +1 -1
- data/lib/vedeu/models/interfaces.rb +1 -1
- data/lib/vedeu/models/toggleable.rb +5 -5
- data/lib/vedeu/null/interface.rb +1 -8
- data/lib/vedeu/null/view.rb +1 -8
- data/lib/vedeu/output/refresh_group.rb +1 -1
- data/lib/vedeu/output/renderers/json.rb +1 -1
- data/lib/vedeu/repositories/model.rb +1 -1
- data/lib/vedeu/repositories/registerable.rb +1 -1
- data/lib/vedeu/templating/view_template.rb +3 -3
- data/lib/vedeu/terminal.rb +3 -3
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/bindings_test.rb +2 -2
- data/test/lib/vedeu/borders/border_test.rb +2 -6
- data/test/lib/vedeu/borders/render_border_test.rb +2 -2
- data/test/lib/vedeu/cli/generator/application_test.rb +2 -2
- data/test/lib/vedeu/cli/generator/view_test.rb +2 -2
- data/test/lib/vedeu/cli/main_test.rb +4 -4
- data/test/lib/vedeu/configuration/configuration_test.rb +6 -6
- data/test/lib/vedeu/cursor/cursor_test.rb +6 -6
- data/test/lib/vedeu/cursor/cursors_test.rb +4 -4
- data/test/lib/vedeu/cursor/move_test.rb +2 -2
- data/test/lib/vedeu/cursor/refresh_cursor_test.rb +2 -2
- data/test/lib/vedeu/cursor/reposition_test.rb +2 -2
- data/test/lib/vedeu/distributed/client_test.rb +2 -2
- data/test/lib/vedeu/distributed/server_test.rb +3 -5
- data/test/lib/vedeu/dsl/border_test.rb +2 -2
- data/test/lib/vedeu/dsl/composition_test.rb +3 -3
- data/test/lib/vedeu/dsl/interface_test.rb +8 -8
- data/test/lib/vedeu/dsl/line_test.rb +2 -2
- data/test/lib/vedeu/dsl/use_test.rb +0 -24
- data/test/lib/vedeu/events/event_aliases_test.rb +9 -0
- data/test/lib/vedeu/events/event_test.rb +5 -5
- data/test/lib/vedeu/geometry/coordinate_test.rb +2 -2
- data/test/lib/vedeu/input/input_test.rb +2 -2
- data/test/lib/vedeu/input/keymap_test.rb +2 -2
- data/test/lib/vedeu/log/timer_test.rb +2 -2
- data/test/lib/vedeu/models/focus_test.rb +16 -24
- data/test/lib/vedeu/models/interfaces_test.rb +2 -2
- data/test/lib/vedeu/null/view_test.rb +44 -0
- data/test/lib/vedeu/output/clear/named_interface_test.rb +2 -2
- data/test/lib/vedeu/output/output_test.rb +2 -2
- data/test/lib/vedeu/output/renderers_test.rb +2 -2
- data/test/lib/vedeu/output/viewport_test.rb +2 -2
- data/test/lib/vedeu/plugins/plugin_test.rb +9 -0
- data/test/lib/vedeu/runtime/application_test.rb +2 -2
- data/test/lib/vedeu/runtime/launcher_test.rb +2 -2
- data/test/lib/vedeu/runtime/router_test.rb +8 -8
- data/test/lib/vedeu/templating/template_test.rb +2 -2
- data/test/lib/vedeu/templating/view_template_test.rb +4 -3
- data/test/lib/vedeu/terminal_mode_test.rb +2 -2
- data/test/lib/vedeu/terminal_test.rb +6 -10
- data/vedeu.gemspec +1 -1
- metadata +4 -4
@@ -22,10 +22,10 @@ module Vedeu
|
|
22
22
|
y: y)
|
23
23
|
}
|
24
24
|
|
25
|
-
before
|
25
|
+
before do
|
26
26
|
Vedeu.borders.stubs(:by_name).returns(border)
|
27
27
|
Vedeu.geometries.stubs(:by_name).returns(geometry)
|
28
|
-
|
28
|
+
end
|
29
29
|
|
30
30
|
describe '#initialize' do
|
31
31
|
it { instance.must_be_instance_of(described) }
|
@@ -10,10 +10,10 @@ module Vedeu
|
|
10
10
|
let(:_time) { mock('Time') }
|
11
11
|
let(:started) { 1434492219.5238185 }
|
12
12
|
|
13
|
-
before
|
13
|
+
before do
|
14
14
|
Time.stubs(:now).returns(_time)
|
15
15
|
_time.stubs(:to_f).returns(started)
|
16
|
-
|
16
|
+
end
|
17
17
|
|
18
18
|
describe '#initialize' do
|
19
19
|
it { instance.must_be_instance_of(described) }
|
@@ -6,28 +6,24 @@ module Vedeu
|
|
6
6
|
|
7
7
|
let(:described) { Vedeu::Focus }
|
8
8
|
|
9
|
-
before
|
9
|
+
before do
|
10
10
|
Vedeu::Focus.reset
|
11
11
|
Vedeu.interfaces.reset
|
12
12
|
|
13
13
|
Vedeu.stubs(:trigger)
|
14
|
-
|
15
|
-
after
|
14
|
+
end
|
15
|
+
after do
|
16
16
|
Vedeu::Focus.reset
|
17
17
|
Vedeu.interfaces.reset
|
18
|
-
|
18
|
+
end
|
19
19
|
|
20
20
|
describe '#add' do
|
21
21
|
context 'adds an interface to storage' do
|
22
|
-
it {
|
23
|
-
Vedeu::Focus.add('thallium').must_equal(['thallium'])
|
24
|
-
}
|
22
|
+
it { Vedeu::Focus.add('thallium').must_equal(['thallium']) }
|
25
23
|
end
|
26
24
|
|
27
25
|
context 'does not add it again if already exists' do
|
28
|
-
before {
|
29
|
-
Vedeu.interface('thallium') {}
|
30
|
-
}
|
26
|
+
before { Vedeu.interface('thallium') {} }
|
31
27
|
|
32
28
|
it {
|
33
29
|
Vedeu::Focus.add('thallium')
|
@@ -44,9 +40,7 @@ module Vedeu
|
|
44
40
|
end
|
45
41
|
|
46
42
|
context 'adds the interface to storage focussed' do
|
47
|
-
before {
|
48
|
-
Vedeu.interface('thallium') {}
|
49
|
-
}
|
43
|
+
before { Vedeu.interface('thallium') {} }
|
50
44
|
|
51
45
|
it {
|
52
46
|
Vedeu::Focus.add('thallium')
|
@@ -56,9 +50,7 @@ module Vedeu
|
|
56
50
|
end
|
57
51
|
|
58
52
|
context 'adds the interface to storage unfocussed' do
|
59
|
-
before {
|
60
|
-
Vedeu.interface('thallium') {}
|
61
|
-
}
|
53
|
+
before { Vedeu.interface('thallium') {} }
|
62
54
|
|
63
55
|
it {
|
64
56
|
Vedeu::Focus.add('thallium')
|
@@ -158,12 +150,12 @@ module Vedeu
|
|
158
150
|
end
|
159
151
|
|
160
152
|
describe '#next_visible_item' do
|
161
|
-
before
|
153
|
+
before do
|
162
154
|
Vedeu.stubs(:trigger)
|
163
155
|
Vedeu.interface('gold') { visible true }
|
164
156
|
Vedeu.interface('silver') { visible true }
|
165
157
|
Vedeu.interface('platinum') { visible false }
|
166
|
-
|
158
|
+
end
|
167
159
|
|
168
160
|
it 'the next visible interface is focussed when the method is called' do
|
169
161
|
Vedeu::Focus.next_visible_item.must_equal('silver')
|
@@ -204,23 +196,23 @@ module Vedeu
|
|
204
196
|
end
|
205
197
|
|
206
198
|
describe '#prev_visible_item' do
|
207
|
-
before
|
199
|
+
before do
|
208
200
|
Vedeu.stubs(:trigger)
|
209
201
|
Vedeu.interface('gold') { visible true }
|
210
202
|
Vedeu.interface('silver') { visible true }
|
211
203
|
Vedeu.interface('platinum') { visible false }
|
212
|
-
|
204
|
+
end
|
213
205
|
|
214
206
|
it 'the previous visible interface is focussed when the method is called' do
|
215
207
|
Vedeu::Focus.prev_visible_item.must_equal('silver')
|
216
208
|
end
|
217
209
|
|
218
210
|
context 'when there are no visible interfaces' do
|
219
|
-
before
|
211
|
+
before do
|
220
212
|
Vedeu.interface('gold') { visible false }
|
221
213
|
Vedeu.interface('silver') { visible false }
|
222
214
|
Vedeu.interface('platinum') { visible false }
|
223
|
-
|
215
|
+
end
|
224
216
|
|
225
217
|
it 'puts the first interface defined in focus' do
|
226
218
|
Vedeu::Focus.prev_visible_item.must_equal('gold')
|
@@ -235,10 +227,10 @@ module Vedeu
|
|
235
227
|
end
|
236
228
|
|
237
229
|
describe '#refresh' do
|
238
|
-
before
|
230
|
+
before do
|
239
231
|
Vedeu::Focus.add('thallium')
|
240
232
|
Vedeu.stubs(:trigger).returns([])
|
241
|
-
|
233
|
+
end
|
242
234
|
|
243
235
|
it 'triggers the event to refresh the interface current in focus' do
|
244
236
|
Vedeu::Focus.refresh.must_equal([])
|
@@ -9,7 +9,7 @@ module Vedeu
|
|
9
9
|
it { described.must_respond_to(:interfaces) }
|
10
10
|
|
11
11
|
describe '#zindexed' do
|
12
|
-
before
|
12
|
+
before do
|
13
13
|
Vedeu.interfaces.reset
|
14
14
|
|
15
15
|
@hydrogen = Vedeu.interface('hydrogen') do
|
@@ -21,7 +21,7 @@ module Vedeu
|
|
21
21
|
@lithium = Vedeu.interface('lithium') do
|
22
22
|
zindex 1
|
23
23
|
end
|
24
|
-
|
24
|
+
end
|
25
25
|
after { Vedeu.interfaces.reset }
|
26
26
|
|
27
27
|
subject { Vedeu.interfaces.zindexed }
|
@@ -5,6 +5,50 @@ module Vedeu
|
|
5
5
|
module Null
|
6
6
|
|
7
7
|
describe View do
|
8
|
+
|
9
|
+
let(:described) { Vedeu::Null::View }
|
10
|
+
let(:instance) { described.new(attributes) }
|
11
|
+
let(:attributes) {
|
12
|
+
{
|
13
|
+
name: 'vedeu_null_view',
|
14
|
+
visible: true,
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
describe '#initialize' do
|
19
|
+
it { instance.must_be_instance_of(described) }
|
20
|
+
it { instance.instance_variable_get('@attributes').must_equal(attributes) }
|
21
|
+
it { instance.instance_variable_get('@name').must_equal('vedeu_null_view') }
|
22
|
+
it { instance.instance_variable_get('@visible').must_equal(false) }
|
23
|
+
end
|
24
|
+
|
25
|
+
describe 'accessors' do
|
26
|
+
it { instance.must_respond_to(:name) }
|
27
|
+
it { instance.must_respond_to(:attributes) }
|
28
|
+
it { instance.must_respond_to(:visible) }
|
29
|
+
it { instance.must_respond_to(:visible=) }
|
30
|
+
it { instance.must_respond_to(:visible?) }
|
31
|
+
end
|
32
|
+
|
33
|
+
describe '#null' do
|
34
|
+
it { instance.null.must_equal(nil) }
|
35
|
+
|
36
|
+
it { instance.must_respond_to(:parent) }
|
37
|
+
it { instance.must_respond_to(:zindex) }
|
38
|
+
end
|
39
|
+
|
40
|
+
describe '#null?' do
|
41
|
+
it { instance.null?.must_equal(true) }
|
42
|
+
end
|
43
|
+
|
44
|
+
describe '#store' do
|
45
|
+
it { instance.store.must_equal(instance) }
|
46
|
+
end
|
47
|
+
|
48
|
+
describe '#visible?' do
|
49
|
+
it { instance.visible?.must_equal(false) }
|
50
|
+
end
|
51
|
+
|
8
52
|
end # View
|
9
53
|
|
10
54
|
end # Null
|
@@ -28,10 +28,10 @@ module Vedeu
|
|
28
28
|
Vedeu::Geometry.new(name: _name, x: 1, y: 1, xn: 2, yn: 2)
|
29
29
|
}
|
30
30
|
|
31
|
-
before
|
31
|
+
before do
|
32
32
|
Vedeu.interfaces.stubs(:by_name).returns(interface)
|
33
33
|
Vedeu.geometries.stubs(:by_name).returns(geometry)
|
34
|
-
|
34
|
+
end
|
35
35
|
|
36
36
|
subject { instance.render }
|
37
37
|
|
@@ -25,10 +25,10 @@ module Vedeu
|
|
25
25
|
let(:drb) { true }
|
26
26
|
let(:virtual_buffer) { [] }
|
27
27
|
|
28
|
-
before
|
28
|
+
before do
|
29
29
|
# Vedeu::Renderers::HTML.stubs(:to_file)
|
30
30
|
Vedeu::VirtualBuffer.stubs(:retrieve).returns(virtual_buffer)
|
31
|
-
|
31
|
+
end
|
32
32
|
|
33
33
|
it {
|
34
34
|
Vedeu.expects(:trigger).with(:_drb_store_output_, output)
|
@@ -22,10 +22,10 @@ module Vedeu
|
|
22
22
|
let(:interface) { Vedeu::Interface.new(style: nil, visible: visible) }
|
23
23
|
let(:geometry) { Vedeu::Geometry.new(height: 3, width: 3) }
|
24
24
|
|
25
|
-
before
|
25
|
+
before do
|
26
26
|
Vedeu.interfaces.stubs(:by_name).returns(interface)
|
27
27
|
Vedeu.geometries.stubs(:by_name).returns(geometry)
|
28
|
-
|
28
|
+
end
|
29
29
|
after { Vedeu.interfaces.reset }
|
30
30
|
|
31
31
|
describe '#initialize' do
|
@@ -23,6 +23,15 @@ module Vedeu
|
|
23
23
|
describe '#load!' do
|
24
24
|
subject { instance.load! }
|
25
25
|
|
26
|
+
context 'when the plugin gem cannot be loaded' do
|
27
|
+
before do
|
28
|
+
Kernel.stubs(:require).raises(LoadError)
|
29
|
+
end
|
30
|
+
|
31
|
+
it { proc { subject }.must_raise(Vedeu::VedeuError) }
|
32
|
+
it { instance.enabled.must_equal(false) }
|
33
|
+
end
|
34
|
+
|
26
35
|
# @todo Add more tests.
|
27
36
|
# it { skip }
|
28
37
|
end
|
@@ -8,12 +8,12 @@ module Vedeu
|
|
8
8
|
let(:instance) { described.new(configuration) }
|
9
9
|
let(:configuration) { Vedeu.configuration }
|
10
10
|
|
11
|
-
before
|
11
|
+
before do
|
12
12
|
configuration.stubs(:drb?).returns(false)
|
13
13
|
Terminal.stubs(:open).returns([''])
|
14
14
|
|
15
15
|
Vedeu.stubs(:trigger)
|
16
|
-
|
16
|
+
end
|
17
17
|
|
18
18
|
describe '#initialize' do
|
19
19
|
it { instance.must_be_instance_of(described) }
|
@@ -32,12 +32,12 @@ module Vedeu
|
|
32
32
|
end
|
33
33
|
|
34
34
|
describe '#execute!' do
|
35
|
-
before
|
35
|
+
before do
|
36
36
|
Configuration.stubs(:configure)# .returns(test_configuration)
|
37
37
|
Application.stubs(:start)
|
38
38
|
Kernel.stubs(:exit)
|
39
39
|
Kernel.stubs(:puts)
|
40
|
-
|
40
|
+
end
|
41
41
|
|
42
42
|
subject { instance.execute! }
|
43
43
|
|
@@ -33,10 +33,10 @@ module Vedeu
|
|
33
33
|
let(:controller) { :some_controller }
|
34
34
|
|
35
35
|
context 'when the controller is registered' do
|
36
|
-
before
|
36
|
+
before do
|
37
37
|
described.add_controller(controller, '')
|
38
38
|
described.add_action(controller, :show_basket)
|
39
|
-
|
39
|
+
end
|
40
40
|
after { described.reset! }
|
41
41
|
|
42
42
|
it {
|
@@ -129,10 +129,10 @@ module Vedeu
|
|
129
129
|
|
130
130
|
context 'when the controller is registered' do
|
131
131
|
context 'when the controller klass is defined' do
|
132
|
-
before
|
132
|
+
before do
|
133
133
|
described.add_controller(controller, 'Vedeu::SomeController')
|
134
134
|
described.add_action(controller, action)
|
135
|
-
|
135
|
+
end
|
136
136
|
after { described.reset! }
|
137
137
|
|
138
138
|
it {
|
@@ -151,18 +151,18 @@ module Vedeu
|
|
151
151
|
context 'when the action is not defined for this controller' do
|
152
152
|
let(:action) { :undefined_action }
|
153
153
|
|
154
|
-
before
|
154
|
+
before do
|
155
155
|
described.add_controller(controller, 'Vedeu::SomeController')
|
156
|
-
|
156
|
+
end
|
157
157
|
|
158
158
|
it { proc { subject }.must_raise(Vedeu::ActionNotFound) }
|
159
159
|
end
|
160
160
|
|
161
161
|
context 'when the controller klass is not defined' do
|
162
|
-
before
|
162
|
+
before do
|
163
163
|
described.add_controller(controller, '')
|
164
164
|
described.add_action(controller, action)
|
165
|
-
|
165
|
+
end
|
166
166
|
after { described.reset! }
|
167
167
|
|
168
168
|
it { proc { subject }.must_raise(Vedeu::MissingRequired) }
|
@@ -38,10 +38,10 @@ module Vedeu
|
|
38
38
|
let(:path) { '/tmp/vedeu_exists' }
|
39
39
|
let(:expected) { "This is a test.\n" }
|
40
40
|
|
41
|
-
before
|
41
|
+
before do
|
42
42
|
File.stubs(:exist?).returns(true)
|
43
43
|
File.stubs(:read).returns(expected)
|
44
|
-
|
44
|
+
end
|
45
45
|
|
46
46
|
it { subject.must_equal(expected) }
|
47
47
|
end
|
@@ -7,16 +7,17 @@ module Vedeu
|
|
7
7
|
describe ViewTemplate do
|
8
8
|
|
9
9
|
let(:described) { Vedeu::Templating::ViewTemplate }
|
10
|
-
let(:instance) { described.new(object, path) }
|
10
|
+
let(:instance) { described.new(object, path, options) }
|
11
11
|
let(:object) {}
|
12
12
|
let(:path) { '/tmp/some_template.erb' }
|
13
|
+
let(:options) { {} }
|
13
14
|
let(:content) { '' }
|
14
15
|
|
15
16
|
describe '.parse' do
|
16
|
-
before
|
17
|
+
before do
|
17
18
|
File.stubs(:exist?).returns(true)
|
18
19
|
File.stubs(:read).returns(content)
|
19
|
-
|
20
|
+
end
|
20
21
|
|
21
22
|
subject { described.parse(object, path) }
|
22
23
|
|
@@ -7,10 +7,10 @@ module Vedeu
|
|
7
7
|
let(:described) { Vedeu::Terminal }
|
8
8
|
let(:console) { IO.console }
|
9
9
|
|
10
|
-
before
|
10
|
+
before do
|
11
11
|
console.stubs(:winsize).returns([25, 80])
|
12
12
|
console.stubs(:print)
|
13
|
-
|
13
|
+
end
|
14
14
|
|
15
15
|
describe '.open' do
|
16
16
|
context 'when a block was not given' do
|
@@ -47,10 +47,10 @@ module Vedeu
|
|
47
47
|
let(:mode) { :cooked }
|
48
48
|
let(:input) { "Some input\r\n" }
|
49
49
|
|
50
|
-
before
|
50
|
+
before do
|
51
51
|
Terminal.stubs(:mode).returns(mode)
|
52
52
|
console.stubs(:gets).returns(input)
|
53
|
-
|
53
|
+
end
|
54
54
|
|
55
55
|
it { subject.must_equal('Some input') }
|
56
56
|
end
|
@@ -59,12 +59,12 @@ module Vedeu
|
|
59
59
|
let(:mode) { :raw }
|
60
60
|
let(:input) { "\e" }
|
61
61
|
|
62
|
-
before
|
62
|
+
before do
|
63
63
|
Terminal.stubs(:mode).returns(mode)
|
64
64
|
console.stubs(:getch).returns(input)
|
65
65
|
input.stubs(:ord).returns(27)
|
66
66
|
console.stubs(:read_nonblock)
|
67
|
-
|
67
|
+
end
|
68
68
|
|
69
69
|
it { subject.must_be_instance_of(String) }
|
70
70
|
end
|
@@ -164,9 +164,7 @@ module Vedeu
|
|
164
164
|
subject { Terminal.origin }
|
165
165
|
|
166
166
|
it { subject.must_be_instance_of(Fixnum) }
|
167
|
-
|
168
167
|
it { subject.must_equal(1) }
|
169
|
-
|
170
168
|
it { described.must_respond_to(:x) }
|
171
169
|
it { described.must_respond_to(:y) }
|
172
170
|
it { described.must_respond_to(:tx) }
|
@@ -177,7 +175,6 @@ module Vedeu
|
|
177
175
|
subject { Terminal.width }
|
178
176
|
|
179
177
|
it { subject.must_be_instance_of(Fixnum) }
|
180
|
-
|
181
178
|
it { described.must_respond_to(:xn) }
|
182
179
|
it { described.must_respond_to(:txn) }
|
183
180
|
|
@@ -198,7 +195,6 @@ module Vedeu
|
|
198
195
|
subject { Terminal.height }
|
199
196
|
|
200
197
|
it { subject.must_be_instance_of(Fixnum) }
|
201
|
-
|
202
198
|
it { described.must_respond_to(:yn) }
|
203
199
|
it { described.must_respond_to(:tyn) }
|
204
200
|
|