vedeu 0.5.4 → 0.5.5

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.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/docs/dsl.md +3 -3
  3. data/examples/borders_app.rb +2 -0
  4. data/examples/colours_app.rb +2 -0
  5. data/examples/configuration_app.rb +2 -0
  6. data/examples/drb_app.rb +2 -0
  7. data/examples/focus_app.rb +2 -0
  8. data/examples/hello_world.rb +2 -0
  9. data/examples/material_colours_app.rb +2 -0
  10. data/lib/vedeu.rb +2 -0
  11. data/lib/vedeu/all.rb +4 -13
  12. data/lib/vedeu/api.rb +7 -6
  13. data/lib/vedeu/borders/border.rb +1 -1
  14. data/lib/vedeu/borders/render_border.rb +18 -18
  15. data/lib/vedeu/buffers/buffer.rb +18 -28
  16. data/lib/vedeu/colours/colour.rb +1 -1
  17. data/lib/vedeu/colours/colour_translator.rb +1 -1
  18. data/lib/vedeu/cursor/cursor.rb +9 -6
  19. data/lib/vedeu/dsl/border.rb +1 -1
  20. data/lib/vedeu/dsl/composition.rb +5 -5
  21. data/lib/vedeu/dsl/geometry.rb +1 -1
  22. data/lib/vedeu/dsl/group.rb +1 -1
  23. data/lib/vedeu/dsl/interface.rb +69 -93
  24. data/lib/vedeu/dsl/keymap.rb +1 -1
  25. data/lib/vedeu/dsl/line.rb +11 -11
  26. data/lib/vedeu/dsl/shared.rb +81 -0
  27. data/lib/vedeu/dsl/stream.rb +3 -3
  28. data/lib/vedeu/dsl/view.rb +76 -64
  29. data/lib/vedeu/models/escape.rb +1 -1
  30. data/lib/vedeu/models/interface.rb +3 -57
  31. data/lib/vedeu/models/menu.rb +1 -1
  32. data/lib/vedeu/models/views/all.rb +22 -0
  33. data/lib/vedeu/models/views/char.rb +175 -0
  34. data/lib/vedeu/models/views/chars.rb +13 -0
  35. data/lib/vedeu/models/views/composition.rb +73 -0
  36. data/lib/vedeu/models/views/line.rb +111 -0
  37. data/lib/vedeu/models/views/lines.rb +13 -0
  38. data/lib/vedeu/models/views/stream.rb +122 -0
  39. data/lib/vedeu/models/views/streams.rb +13 -0
  40. data/lib/vedeu/models/views/view.rb +157 -0
  41. data/lib/vedeu/models/views/view_collection.rb +13 -0
  42. data/lib/vedeu/null/view.rb +67 -0
  43. data/lib/vedeu/output/clear/named_interface.rb +4 -4
  44. data/lib/vedeu/output/compressor.rb +6 -6
  45. data/lib/vedeu/output/html_char.rb +6 -6
  46. data/lib/vedeu/output/output.rb +3 -3
  47. data/lib/vedeu/output/presentation.rb +1 -1
  48. data/lib/vedeu/output/renderers/escape_sequence.rb +1 -1
  49. data/lib/vedeu/output/renderers/file.rb +1 -1
  50. data/lib/vedeu/output/renderers/html.rb +3 -3
  51. data/lib/vedeu/output/renderers/json.rb +4 -4
  52. data/lib/vedeu/output/renderers/null.rb +1 -1
  53. data/lib/vedeu/output/renderers/terminal.rb +5 -5
  54. data/lib/vedeu/output/renderers/text.rb +3 -3
  55. data/lib/vedeu/output/style.rb +1 -1
  56. data/lib/vedeu/output/text.rb +20 -15
  57. data/lib/vedeu/output/viewport.rb +16 -23
  58. data/lib/vedeu/output/virtual_buffer.rb +9 -8
  59. data/lib/vedeu/output/virtual_terminal.rb +11 -11
  60. data/lib/vedeu/output/wordwrap.rb +5 -5
  61. data/lib/vedeu/runtime/application.rb +1 -1
  62. data/lib/vedeu/runtime/main_loop.rb +1 -1
  63. data/lib/vedeu/templating/helpers.rb +11 -10
  64. data/lib/vedeu/templating/template.rb +1 -1
  65. data/lib/vedeu/templating/view_template.rb +6 -6
  66. data/lib/vedeu/version.rb +1 -2
  67. data/test/lib/vedeu/api_test.rb +30 -30
  68. data/test/lib/vedeu/buffers/buffer_test.rb +5 -139
  69. data/test/lib/vedeu/colours/colour_translator_test.rb +3 -3
  70. data/test/lib/vedeu/configuration/api_test.rb +3 -3
  71. data/test/lib/vedeu/cursor/refresh_cursor_test.rb +1 -1
  72. data/test/lib/vedeu/dsl/composition_test.rb +7 -7
  73. data/test/lib/vedeu/dsl/group_test.rb +2 -2
  74. data/test/lib/vedeu/dsl/interface_test.rb +31 -21
  75. data/test/lib/vedeu/dsl/keymap_test.rb +4 -4
  76. data/test/lib/vedeu/dsl/line_test.rb +8 -8
  77. data/test/lib/vedeu/dsl/stream_test.rb +4 -4
  78. data/test/lib/vedeu/dsl/text_test.rb +11 -11
  79. data/test/lib/vedeu/dsl/view_test.rb +24 -29
  80. data/test/lib/vedeu/geometry/grid_test.rb +4 -4
  81. data/test/lib/vedeu/input/key_test.rb +1 -1
  82. data/test/lib/vedeu/internal_api_test.rb +18 -18
  83. data/test/lib/vedeu/models/focus_test.rb +54 -54
  84. data/test/lib/vedeu/models/interface_test.rb +11 -105
  85. data/test/lib/vedeu/models/menu_test.rb +1 -1
  86. data/test/lib/vedeu/models/views/char_test.rb +257 -0
  87. data/test/lib/vedeu/models/views/chars_test.rb +22 -0
  88. data/test/lib/vedeu/models/views/composition_test.rb +61 -0
  89. data/test/lib/vedeu/models/views/line_test.rb +189 -0
  90. data/test/lib/vedeu/models/views/lines_test.rb +22 -0
  91. data/test/lib/vedeu/models/views/stream_test.rb +138 -0
  92. data/test/lib/vedeu/models/views/streams_test.rb +22 -0
  93. data/test/lib/vedeu/models/views/view_test.rb +40 -0
  94. data/test/lib/vedeu/null/view_test.rb +12 -0
  95. data/test/lib/vedeu/output/clear/named_interface_test.rb +4 -4
  96. data/test/lib/vedeu/output/compressor_test.rb +28 -28
  97. data/test/lib/vedeu/output/html_char_test.rb +2 -2
  98. data/test/lib/vedeu/output/presentation_test.rb +10 -14
  99. data/test/lib/vedeu/output/renderers/escape_sequence_test.rb +20 -4
  100. data/test/lib/vedeu/output/renderers/html_test.rb +4 -4
  101. data/test/lib/vedeu/output/renderers/json_test.rb +3 -3
  102. data/test/lib/vedeu/output/text_test.rb +10 -10
  103. data/test/lib/vedeu/output/viewport_test.rb +21 -23
  104. data/test/lib/vedeu/output/virtual_buffer_test.rb +1 -1
  105. data/test/lib/vedeu/output/virtual_terminal_test.rb +1 -1
  106. data/test/lib/vedeu/output/wordwrap_test.rb +9 -9
  107. data/test/lib/vedeu/repositories/repository_test.rb +2 -2
  108. data/test/lib/vedeu/templating/helpers_test.rb +6 -39
  109. data/test/lib/vedeu/templating/template_test.rb +2 -2
  110. data/test/lib/vedeu/templating/view_template_test.rb +91 -91
  111. data/test/lib/vedeu/terminal_test.rb +1 -1
  112. metadata +33 -27
  113. data/lib/vedeu/buffers/display_buffer.rb +0 -39
  114. data/lib/vedeu/models/char.rb +0 -170
  115. data/lib/vedeu/models/chars.rb +0 -9
  116. data/lib/vedeu/models/composition.rb +0 -66
  117. data/lib/vedeu/models/line.rb +0 -112
  118. data/lib/vedeu/models/lines.rb +0 -9
  119. data/lib/vedeu/models/stream.rb +0 -122
  120. data/lib/vedeu/models/streams.rb +0 -9
  121. data/test/lib/vedeu/buffers/display_buffer_test.rb +0 -61
  122. data/test/lib/vedeu/models/char_test.rb +0 -253
  123. data/test/lib/vedeu/models/chars_test.rb +0 -18
  124. data/test/lib/vedeu/models/composition_test.rb +0 -57
  125. data/test/lib/vedeu/models/line_test.rb +0 -189
  126. data/test/lib/vedeu/models/lines_test.rb +0 -18
  127. data/test/lib/vedeu/models/stream_test.rb +0 -141
  128. data/test/lib/vedeu/models/streams_test.rb +0 -18
@@ -199,19 +199,19 @@ module Vedeu
199
199
  context 'when the value is invalid (nil)' do
200
200
  it { proc {
201
201
  Vedeu.configure { colour_mode(nil) }
202
- }.must_raise(InvalidSyntax) }
202
+ }.must_raise(Vedeu::InvalidSyntax) }
203
203
  end
204
204
 
205
205
  context 'when the value is invalid (empty)' do
206
206
  it { proc {
207
207
  Vedeu.configure { colour_mode('') }
208
- }.must_raise(InvalidSyntax) }
208
+ }.must_raise(Vedeu::InvalidSyntax) }
209
209
  end
210
210
 
211
211
  context 'when the value is invalid' do
212
212
  it { proc {
213
213
  Vedeu.configure { colour_mode(1234) }
214
- }.must_raise(InvalidSyntax) }
214
+ }.must_raise(Vedeu::InvalidSyntax) }
215
215
  end
216
216
 
217
217
  it 'sets the option to the desired value' do
@@ -24,7 +24,7 @@ module Vedeu
24
24
  y 1
25
25
  yn 3
26
26
  end
27
- Vedeu::Cursor.new({ name: 'refresh_cursor', ox: ox, oy: oy }).store
27
+ Vedeu::Cursor.new(name: 'refresh_cursor', ox: ox, oy: oy).store
28
28
 
29
29
  Vedeu::Terminal.stubs(:output).returns(expected)
30
30
  }
@@ -8,7 +8,7 @@ module Vedeu
8
8
 
9
9
  let(:described) { Vedeu::DSL::Composition }
10
10
  let(:instance) { described.new(model) }
11
- let(:model) { Vedeu::Composition.new }
11
+ let(:model) { Vedeu::Views::Composition.new }
12
12
  let(:client) {}
13
13
 
14
14
  describe '#initialize' do
@@ -24,11 +24,11 @@ module Vedeu
24
24
  end
25
25
  }
26
26
 
27
- it { subject.must_be_instance_of(Vedeu::InterfaceCollection) }
28
- it { subject.first.must_be_instance_of(Vedeu::Interface) }
27
+ it { subject.must_be_instance_of(Vedeu::Views::ViewCollection) }
28
+ it { subject.first.must_be_instance_of(Vedeu::Views::View) }
29
29
 
30
30
  context 'when the block is not given' do
31
- it { proc { instance.view }.must_raise(InvalidSyntax) }
31
+ it { proc { instance.view }.must_raise(Vedeu::InvalidSyntax) }
32
32
  end
33
33
  end
34
34
 
@@ -44,13 +44,13 @@ module Vedeu
44
44
  context 'when the name of the view is not given' do
45
45
  let(:filename) { 'my_interface.erb' }
46
46
 
47
- it { proc { subject }.must_raise(MissingRequired) }
47
+ it { proc { subject }.must_raise(Vedeu::MissingRequired) }
48
48
  end
49
49
 
50
50
  context 'when the filename of the template is not given' do
51
51
  let(:_name) { 'my_interface' }
52
52
 
53
- it { proc { subject }.must_raise(MissingRequired) }
53
+ it { proc { subject }.must_raise(Vedeu::MissingRequired) }
54
54
  end
55
55
 
56
56
  context 'when the name and filename are given' do
@@ -62,7 +62,7 @@ module Vedeu
62
62
  with(object, filename, options).returns(content)
63
63
  }
64
64
 
65
- it { subject.must_be_instance_of(Vedeu::InterfaceCollection) }
65
+ it { subject.must_be_instance_of(Vedeu::Views::ViewCollection) }
66
66
  end
67
67
  end
68
68
 
@@ -31,7 +31,7 @@ module Vedeu
31
31
  context 'when the block is not given' do
32
32
  subject { described.group(group_name) }
33
33
 
34
- it { proc { subject }.must_raise(InvalidSyntax) }
34
+ it { proc { subject }.must_raise(Vedeu::InvalidSyntax) }
35
35
  end
36
36
  end
37
37
 
@@ -58,7 +58,7 @@ module Vedeu
58
58
  end
59
59
  }
60
60
 
61
- it { proc { subject }.must_raise(MissingRequired) }
61
+ it { proc { subject }.must_raise(Vedeu::MissingRequired) }
62
62
  end
63
63
 
64
64
  context 'it adds interface names to the group' do
@@ -7,7 +7,7 @@ module Vedeu
7
7
  describe Interface do
8
8
 
9
9
  let(:described) { Vedeu::DSL::Interface }
10
- let(:instance) { described.new(model) }
10
+ let(:instance) { described.new(model, client) }
11
11
  let(:model) {
12
12
  Vedeu::Interface.new(name: 'actinium')
13
13
  }
@@ -19,13 +19,41 @@ module Vedeu
19
19
  it { instance.instance_variable_get('@client').must_equal(client) }
20
20
  end
21
21
 
22
+ describe '.interface' do
23
+ after { Vedeu.interfaces.reset }
24
+
25
+ subject {
26
+ described.interface('flourine') do
27
+ # ...
28
+ end
29
+ }
30
+
31
+ it { subject.must_be_instance_of(Vedeu::Interface) }
32
+
33
+ context 'when the block is not given' do
34
+ subject { described.interface('flourine') }
35
+
36
+ it { proc { subject }.must_raise(Vedeu::InvalidSyntax) }
37
+ end
38
+
39
+ context 'when the name is not given' do
40
+ subject {
41
+ described.interface('') do
42
+ # ...
43
+ end
44
+ }
45
+
46
+ it { proc { subject }.must_raise(Vedeu::MissingRequired) }
47
+ end
48
+ end
49
+
22
50
  describe '#border' do
23
51
  after { Vedeu.borders.reset }
24
52
 
25
53
  context 'when the block is not given' do
26
54
  subject { instance.border }
27
55
 
28
- it { proc { subject }.must_raise(InvalidSyntax) }
56
+ it { proc { subject }.must_raise(Vedeu::InvalidSyntax) }
29
57
  end
30
58
 
31
59
  context 'when the block is given' do
@@ -159,7 +187,7 @@ module Vedeu
159
187
  context 'when the required block is not provided' do
160
188
  subject { instance.geometry }
161
189
 
162
- it { proc { subject }.must_raise(InvalidSyntax) }
190
+ it { proc { subject }.must_raise(Vedeu::InvalidSyntax) }
163
191
  end
164
192
 
165
193
  context 'when the block is given' do
@@ -230,24 +258,6 @@ module Vedeu
230
258
  it { instance.must_respond_to(:keys) }
231
259
  end
232
260
 
233
- describe '#lines' do
234
- subject {
235
- instance.lines do
236
- # ...
237
- end
238
- }
239
-
240
- it { subject.must_be_instance_of(Vedeu::Lines) }
241
-
242
- context 'when the required block is not provided' do
243
- subject { instance.lines }
244
-
245
- it { proc { subject }.must_raise(InvalidSyntax) }
246
- end
247
-
248
- it { instance.must_respond_to(:line) }
249
- end
250
-
251
261
  describe '#name' do
252
262
  subject { instance.name('nickel') }
253
263
 
@@ -23,25 +23,25 @@ module Vedeu
23
23
  context 'when a block was not given' do
24
24
  subject { instance.key(value_or_values) }
25
25
 
26
- it { proc { subject }.must_raise(InvalidSyntax) }
26
+ it { proc { subject }.must_raise(Vedeu::InvalidSyntax) }
27
27
  end
28
28
 
29
29
  context 'when a key was not given' do
30
30
  let(:value_or_values) {}
31
31
 
32
- it { proc { subject }.must_raise(InvalidSyntax) }
32
+ it { proc { subject }.must_raise(Vedeu::InvalidSyntax) }
33
33
  end
34
34
 
35
35
  context 'when an invalid key was given (nil)' do
36
36
  let(:value_or_values) { ['v', nil] }
37
37
 
38
- it { proc { subject }.must_raise(InvalidSyntax) }
38
+ it { proc { subject }.must_raise(Vedeu::InvalidSyntax) }
39
39
  end
40
40
 
41
41
  context 'when an invalid key was given (empty)' do
42
42
  let(:value_or_values) { ['v', ''] }
43
43
 
44
- it { proc { subject }.must_raise(InvalidSyntax) }
44
+ it { proc { subject }.must_raise(Vedeu::InvalidSyntax) }
45
45
  end
46
46
 
47
47
  context 'when the key is valid (not already defined)' do
@@ -8,7 +8,7 @@ module Vedeu
8
8
 
9
9
  let(:described) { Vedeu::DSL::Line }
10
10
  let(:instance) { described.new(model) }
11
- let(:model) { Vedeu::Line.new(attributes) }
11
+ let(:model) { Vedeu::Views::Line.new(attributes) }
12
12
  let(:attributes){
13
13
  {
14
14
  streams: streams,
@@ -19,7 +19,7 @@ module Vedeu
19
19
  }
20
20
  let(:client) {}
21
21
  let(:streams) { [] }
22
- let(:parent) { Vedeu::Interface.new }
22
+ let(:parent) { Vedeu::Views::View.new }
23
23
  let(:colour) { Vedeu::Colour.new }
24
24
  let(:style) { Vedeu::Style.new }
25
25
 
@@ -38,8 +38,8 @@ module Vedeu
38
38
  end
39
39
  }
40
40
 
41
- it { subject.must_be_instance_of(Vedeu::Lines) }
42
- it { subject.first.must_be_instance_of(Vedeu::Line) }
41
+ it { subject.must_be_instance_of(Vedeu::Views::Lines) }
42
+ it { subject.first.must_be_instance_of(Vedeu::Views::Line) }
43
43
 
44
44
  context 'when the block is given' do
45
45
  end
@@ -54,7 +54,7 @@ module Vedeu
54
54
 
55
55
  subject { instance.line(_value) }
56
56
 
57
- it { proc { subject }.must_raise(InvalidSyntax) }
57
+ it { proc { subject }.must_raise(Vedeu::InvalidSyntax) }
58
58
  end
59
59
  end
60
60
  end
@@ -67,12 +67,12 @@ module Vedeu
67
67
  end
68
68
  }
69
69
 
70
- it { subject.must_be_instance_of(Vedeu::Streams) }
71
- it { subject.first.must_be_instance_of(Vedeu::Stream) }
70
+ it { subject.must_be_instance_of(Vedeu::Views::Streams) }
71
+ it { subject.first.must_be_instance_of(Vedeu::Views::Stream) }
72
72
  end
73
73
 
74
74
  context 'when the block is not given' do
75
- it { proc { instance.streams }.must_raise(InvalidSyntax) }
75
+ it { proc { instance.streams }.must_raise(Vedeu::InvalidSyntax) }
76
76
  end
77
77
 
78
78
  it { instance.must_respond_to(:stream) }
@@ -8,9 +8,9 @@ module Vedeu
8
8
 
9
9
  let(:described) { Vedeu::DSL::Stream }
10
10
  let(:instance) { described.new(model) }
11
- let(:model) { Vedeu::Stream.new(parent: parent) }
11
+ let(:model) { Vedeu::Views::Stream.new(parent: parent) }
12
12
  let(:client) {}
13
- let(:parent) { Vedeu::Line.new }
13
+ let(:parent) { Vedeu::Views::Line.new }
14
14
 
15
15
  describe '#initialize' do
16
16
  it { instance.must_be_instance_of(described) }
@@ -21,12 +21,12 @@ module Vedeu
21
21
  describe '#stream' do
22
22
  subject { instance.stream { } }
23
23
 
24
- it { subject.must_be_instance_of(Vedeu::Streams) }
24
+ it { subject.must_be_instance_of(Vedeu::Views::Streams) }
25
25
 
26
26
  context 'when the block is not given' do
27
27
  subject { instance.stream }
28
28
 
29
- it { proc { subject }.must_raise(InvalidSyntax) }
29
+ it { proc { subject }.must_raise(Vedeu::InvalidSyntax) }
30
30
  end
31
31
  end
32
32
 
@@ -16,16 +16,16 @@ module Vedeu
16
16
  }
17
17
  }
18
18
  let(:anchor) { :text }
19
- let(:model) { Vedeu::Line.new }
19
+ let(:model) { Vedeu::Views::Line.new }
20
20
  let(:instance) { Vedeu::DSL::Line.new(model) }
21
21
 
22
22
  subject { instance.text(_value, options) }
23
23
 
24
- context 'when the model is a Vedeu::Interface' do
25
- let(:model) { Vedeu::Interface.new }
24
+ context 'when the model is a Vedeu::Views::View' do
25
+ let(:model) { Vedeu::Views::View.new }
26
26
  let(:instance) { Vedeu::DSL::Interface.new(model) }
27
27
 
28
- it { subject.must_be_instance_of(Vedeu::Lines) }
28
+ it { subject.must_be_instance_of(Vedeu::Views::Lines) }
29
29
 
30
30
  it 'adds the text to the model' do
31
31
  Vedeu::Text.expects(:add).with(_value, modified_options)
@@ -33,11 +33,11 @@ module Vedeu
33
33
  end
34
34
  end
35
35
 
36
- context 'when the model is a Vedeu::Line' do
37
- let(:model) { Vedeu::Line.new }
36
+ context 'when the model is a Vedeu::Views::Line' do
37
+ let(:model) { Vedeu::Views::Line.new }
38
38
  let(:instance) { Vedeu::DSL::Line.new(model) }
39
39
 
40
- it { subject.must_be_instance_of(Vedeu::Streams) }
40
+ it { subject.must_be_instance_of(Vedeu::Views::Streams) }
41
41
 
42
42
  it 'adds the text to the model' do
43
43
  Vedeu::Text.expects(:add).with(_value, modified_options)
@@ -45,12 +45,12 @@ module Vedeu
45
45
  end
46
46
  end
47
47
 
48
- context 'when the model is a Vedeu::Stream' do
49
- let(:parent) { Vedeu::Line.new }
50
- let(:model) { Vedeu::Stream.new(parent: parent) }
48
+ context 'when the model is a Vedeu::Views::Stream' do
49
+ let(:parent) { Vedeu::Views::Line.new }
50
+ let(:model) { Vedeu::Views::Stream.new(parent: parent) }
51
51
  let(:instance) { Vedeu::DSL::Stream.new(model) }
52
52
 
53
- it { subject.must_be_instance_of(Vedeu::Streams) }
53
+ it { subject.must_be_instance_of(Vedeu::Views::Streams) }
54
54
 
55
55
  it 'adds the text to the model' do
56
56
  Vedeu::Text.expects(:add).with(_value, modified_options)
@@ -7,49 +7,46 @@ module Vedeu
7
7
  describe View do
8
8
 
9
9
  let(:described) { Vedeu::DSL::View }
10
+ let(:instance) { described.new(model, client) }
11
+ let(:model) {
12
+ Vedeu::Views::View.new(name: 'actinium')
13
+ }
14
+ let(:client) {}
10
15
 
11
- describe '.interface' do
12
- after { Vedeu.interfaces.reset }
13
-
16
+ describe '.renders' do
14
17
  subject {
15
- described.interface('flourine') do
18
+ described.renders do
16
19
  # ...
17
20
  end
18
21
  }
19
22
 
20
- it { subject.must_be_instance_of(Vedeu::Interface) }
23
+ it { described.must_respond_to(:render) }
24
+ it { subject.must_be_instance_of(Array) }
21
25
 
22
26
  context 'when the block is not given' do
23
- subject { described.interface('flourine') }
27
+ subject { described.renders }
24
28
 
25
- it { proc { subject }.must_raise(InvalidSyntax) }
29
+ it { proc { subject }.must_raise(Vedeu::InvalidSyntax) }
26
30
  end
27
31
 
28
- context 'when the name is not given' do
29
- subject {
30
- described.interface('') do
31
- # ...
32
- end
33
- }
34
-
35
- it { proc { subject }.must_raise(MissingRequired) }
32
+ context 'when the block is given' do
33
+ it { subject.must_equal([]) }
36
34
  end
37
35
  end
38
36
 
39
- describe '.renders' do
37
+ describe '.views' do
40
38
  subject {
41
- described.renders do
39
+ described.views do
42
40
  # ...
43
41
  end
44
42
  }
45
43
 
46
- it { described.must_respond_to(:render) }
47
44
  it { subject.must_be_instance_of(Array) }
48
45
 
49
46
  context 'when the block is not given' do
50
- subject { described.renders }
47
+ subject { described.views }
51
48
 
52
- it { proc { subject }.must_raise(InvalidSyntax) }
49
+ it { proc { subject }.must_raise(Vedeu::InvalidSyntax) }
53
50
  end
54
51
 
55
52
  context 'when the block is given' do
@@ -57,24 +54,22 @@ module Vedeu
57
54
  end
58
55
  end
59
56
 
60
- describe '.views' do
57
+ describe '#lines' do
61
58
  subject {
62
- described.views do
59
+ instance.lines do
63
60
  # ...
64
61
  end
65
62
  }
66
63
 
67
- it { subject.must_be_instance_of(Array) }
64
+ it { subject.must_be_instance_of(Vedeu::Views::Lines) }
68
65
 
69
- context 'when the block is not given' do
70
- subject { described.views }
66
+ context 'when the required block is not provided' do
67
+ subject { instance.lines }
71
68
 
72
- it { proc { subject }.must_raise(InvalidSyntax) }
69
+ it { proc { subject }.must_raise(Vedeu::InvalidSyntax) }
73
70
  end
74
71
 
75
- context 'when the block is given' do
76
- it { subject.must_equal([]) }
77
- end
72
+ it { instance.must_respond_to(:line) }
78
73
  end
79
74
 
80
75
  end # View
@@ -17,11 +17,11 @@ module Vedeu
17
17
 
18
18
  describe '.columns' do
19
19
  context 'when the value is less than 1' do
20
- it { proc { Grid.columns(0) }.must_raise(OutOfRange) }
20
+ it { proc { Grid.columns(0) }.must_raise(Vedeu::OutOfRange) }
21
21
  end
22
22
 
23
23
  context 'when the value is greater than 12' do
24
- it { proc { Grid.columns(13) }.must_raise(OutOfRange) }
24
+ it { proc { Grid.columns(13) }.must_raise(Vedeu::OutOfRange) }
25
25
  end
26
26
 
27
27
  context 'when the value is in range' do
@@ -33,11 +33,11 @@ module Vedeu
33
33
 
34
34
  describe '.rows' do
35
35
  context 'when the value is less than 1' do
36
- it { proc { Grid.rows(0) }.must_raise(OutOfRange) }
36
+ it { proc { Grid.rows(0) }.must_raise(Vedeu::OutOfRange) }
37
37
  end
38
38
 
39
39
  context 'when the value is greater than 12' do
40
- it { proc { Grid.rows(13) }.must_raise(OutOfRange) }
40
+ it { proc { Grid.rows(13) }.must_raise(Vedeu::OutOfRange) }
41
41
  end
42
42
 
43
43
  context 'when the value is in range' do