vedeu 0.4.41 → 0.4.42

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -6
  3. data/bin/vedeu +1 -50
  4. data/docs/applications.md +18 -2
  5. data/lib/vedeu/all.rb +3 -1
  6. data/lib/vedeu/api.rb +3 -1
  7. data/lib/vedeu/application/controller.rb +5 -0
  8. data/lib/vedeu/buffers/buffer.rb +6 -3
  9. data/lib/vedeu/cli/all.rb +1 -0
  10. data/lib/vedeu/{generator → cli/generator}/all.rb +3 -3
  11. data/lib/vedeu/{generator → cli/generator}/application.rb +0 -0
  12. data/lib/vedeu/{generator → cli/generator}/helpers.rb +4 -11
  13. data/lib/vedeu/{generator → cli/generator}/templates/application/Gemfile +0 -0
  14. data/lib/vedeu/{generator → cli/generator}/templates/application/app/controllers/application_controller.erb +0 -0
  15. data/lib/vedeu/{generator → cli/generator}/templates/application/app/controllers/name.erb +2 -0
  16. data/lib/vedeu/{generator → cli/generator}/templates/application/app/helpers/application_helper.erb +0 -0
  17. data/lib/vedeu/{generator → cli/generator}/templates/application/app/helpers/name.erb +0 -0
  18. data/lib/vedeu/{generator → cli/generator}/templates/application/app/models/keymaps/_global_.rb +0 -0
  19. data/lib/vedeu/{generator → cli/generator}/templates/application/app/models/keymaps/name.erb +0 -0
  20. data/lib/vedeu/{generator → cli/generator}/templates/application/app/views/interfaces/name.erb +6 -0
  21. data/lib/vedeu/{generator → cli/generator}/templates/application/app/views/name.erb +0 -0
  22. data/lib/vedeu/{generator → cli/generator}/templates/application/app/views/templates/name.erb +0 -0
  23. data/lib/vedeu/{generator → cli/generator}/templates/application/application.erb +0 -0
  24. data/lib/vedeu/{generator → cli/generator}/templates/application/bin/name +0 -0
  25. data/lib/vedeu/{generator → cli/generator}/templates/application/config/app_name.erb +0 -0
  26. data/lib/vedeu/{generator → cli/generator}/templates/application/config/configuration.erb +0 -0
  27. data/lib/vedeu/{generator → cli/generator}/templates/application/lib/.gitkeep +0 -0
  28. data/lib/vedeu/{generator → cli/generator}/templates/application/test/.gitkeep +0 -0
  29. data/lib/vedeu/{generator → cli/generator}/templates/application/vendor/.gitkeep +0 -0
  30. data/lib/vedeu/{generator → cli/generator}/view.rb +1 -2
  31. data/lib/vedeu/cli/main.rb +29 -0
  32. data/lib/vedeu/dsl/presentation.rb +6 -2
  33. data/lib/vedeu/dsl/view.rb +2 -1
  34. data/lib/vedeu/geometry/area.rb +4 -4
  35. data/lib/vedeu/models/interface.rb +0 -3
  36. data/lib/vedeu/output/colour.rb +16 -35
  37. data/lib/vedeu/output/presentation.rb +34 -21
  38. data/lib/vedeu/output/translator.rb +2 -5
  39. data/lib/vedeu/repositories/model.rb +4 -13
  40. data/lib/vedeu/support/common.rb +30 -0
  41. data/lib/vedeu/version.rb +1 -1
  42. data/lib/vedeu.rb +2 -0
  43. data/test/lib/vedeu/application/application_view_test.rb +2 -4
  44. data/test/lib/vedeu/application/controller_test.rb +26 -0
  45. data/test/lib/vedeu/application/helper_test.rb +26 -0
  46. data/test/lib/vedeu/application/view_test.rb +26 -0
  47. data/test/lib/vedeu/application_test.rb +2 -4
  48. data/test/lib/vedeu/bootstrap_test.rb +3 -5
  49. data/test/lib/vedeu/{generator → cli/generator}/application_test.rb +0 -0
  50. data/test/lib/vedeu/{generator → cli/generator}/helpers_test.rb +1 -9
  51. data/test/lib/vedeu/{generator → cli/generator}/view_test.rb +0 -0
  52. data/test/lib/vedeu/cli/main_test.rb +12 -0
  53. data/test/lib/vedeu/cursor/reposition_test.rb +0 -2
  54. data/test/lib/vedeu/distributed/subprocess_test.rb +3 -5
  55. data/test/lib/vedeu/distributed/uri_test.rb +3 -5
  56. data/test/lib/vedeu/dsl/border_test.rb +0 -17
  57. data/test/lib/vedeu/dsl/composition_test.rb +0 -8
  58. data/test/lib/vedeu/dsl/presentation_test.rb +34 -22
  59. data/test/lib/vedeu/dsl/view_test.rb +1 -0
  60. data/test/lib/vedeu/events/trigger_test.rb +4 -6
  61. data/test/lib/vedeu/geometry/geometry_test.rb +15 -14
  62. data/test/lib/vedeu/models/composition_test.rb +2 -4
  63. data/test/lib/vedeu/models/focus_test.rb +5 -2
  64. data/test/lib/vedeu/models/group_test.rb +5 -7
  65. data/test/lib/vedeu/models/interface_test.rb +12 -16
  66. data/test/lib/vedeu/models/menu_test.rb +8 -8
  67. data/test/lib/vedeu/output/border_test.rb +20 -21
  68. data/test/lib/vedeu/output/colour_test.rb +41 -122
  69. data/test/lib/vedeu/output/presentation_test.rb +30 -27
  70. data/test/lib/vedeu/output/translator_test.rb +12 -1
  71. data/test/lib/vedeu/support/common_test.rb +17 -2
  72. data/test/test_helper.rb +3 -1
  73. data/vedeu.gemspec +2 -1
  74. metadata +53 -31
  75. data/lib/vedeu/tasks/application.rake +0 -28
  76. data/lib/vedeu/tasks/vedeu.rake +0 -5
@@ -38,15 +38,15 @@ module Vedeu
38
38
  end
39
39
 
40
40
  describe '#initialize' do
41
- subject { instance }
42
-
43
- it { subject.must_be_instance_of(described) }
44
- it { subject.instance_variable_get('@collection').must_equal(collection) }
45
- it { subject.instance_variable_get('@name').must_equal('elements') }
46
- it { subject.instance_variable_get('@current').must_equal(0) }
47
- it { subject.instance_variable_get('@selected').must_equal(nil) }
41
+ it { instance.must_be_instance_of(described) }
42
+ it {
43
+ instance.instance_variable_get('@collection').must_equal(collection)
44
+ }
45
+ it { instance.instance_variable_get('@name').must_equal('elements') }
46
+ it { instance.instance_variable_get('@current').must_equal(0) }
47
+ it { instance.instance_variable_get('@selected').must_equal(nil) }
48
48
  it do
49
- subject.instance_variable_get('@repository').must_equal(Vedeu.menus)
49
+ instance.instance_variable_get('@repository').must_equal(Vedeu.menus)
50
50
  end
51
51
  end
52
52
 
@@ -12,27 +12,6 @@ module Vedeu
12
12
  }
13
13
  }
14
14
 
15
- before do
16
- Vedeu.interface 'borders' do
17
- geometry do
18
- height 5
19
- width 8
20
- end
21
- lines do
22
- line 'Beryllium'
23
- line 'Magnesium'
24
- line 'Plutonium'
25
- line 'Potassium'
26
- line 'Lanthanum'
27
- line 'Stront­ium'
28
- end
29
- end
30
- end
31
- after do
32
- Vedeu.interfaces.reset
33
- Vedeu.borders.reset
34
- end
35
-
36
15
  describe '.build' do
37
16
  subject {
38
17
  described.build(attributes) do
@@ -145,6 +124,7 @@ module Vedeu
145
124
  end
146
125
  end
147
126
  end
127
+ after { Vedeu.interfaces.reset }
148
128
 
149
129
  describe '#bx' do
150
130
  subject { instance.bx }
@@ -236,6 +216,15 @@ module Vedeu
236
216
  end
237
217
 
238
218
  describe '#width' do
219
+ before do
220
+ Vedeu.interface 'borders' do
221
+ geometry do
222
+ width 8
223
+ end
224
+ end
225
+ end
226
+ after { Vedeu.interfaces.reset }
227
+
239
228
  subject { instance.width }
240
229
 
241
230
  context 'when the border is not enabled' do
@@ -284,6 +273,15 @@ module Vedeu
284
273
  end
285
274
 
286
275
  describe '#height' do
276
+ before do
277
+ Vedeu.interface 'borders' do
278
+ geometry do
279
+ height 5
280
+ end
281
+ end
282
+ end
283
+ after { Vedeu.interfaces.reset }
284
+
287
285
  subject { instance.height }
288
286
 
289
287
  context 'when the border is not enabled' do
@@ -455,6 +453,7 @@ module Vedeu
455
453
  visible(visibility)
456
454
  end
457
455
  end
456
+ after { Vedeu.interfaces.reset }
458
457
 
459
458
  subject { instance.render }
460
459
 
@@ -8,16 +8,23 @@ module Vedeu
8
8
  let(:instance) { described.new(attributes) }
9
9
  let(:attributes) {
10
10
  {
11
- background: '',
12
- foreground: ''
11
+ background: background,
12
+ foreground: foreground,
13
13
  }
14
14
  }
15
+ let(:background) {}
16
+ let(:foreground) {}
15
17
 
16
18
  describe '#initialize' do
17
- subject { instance }
18
-
19
- it { subject.must_be_instance_of(described) }
20
- it { subject.instance_variable_get('@attributes').must_equal(attributes) }
19
+ it { instance.must_be_instance_of(described) }
20
+ it {
21
+ instance.instance_variable_get('@background').
22
+ must_be_instance_of(Vedeu::Background)
23
+ }
24
+ it {
25
+ instance.instance_variable_get('@foreground').
26
+ must_be_instance_of(Vedeu::Foreground)
27
+ }
21
28
  end
22
29
 
23
30
  describe '.coerce' do
@@ -28,41 +35,33 @@ module Vedeu
28
35
  it { subject.must_be_instance_of(described) }
29
36
 
30
37
  context 'when the value is nil' do
31
- it { subject.must_be_instance_of(described) }
32
- it { subject.attributes.must_equal({ background: '', foreground: '' }) }
38
+ it { subject.foreground.colour.must_equal('') }
39
+ it { subject.background.colour.must_equal('') }
33
40
  end
34
41
 
35
42
  context 'when the value is a Vedeu::Colour' do
36
- let(:attributes) {
37
- {
38
- background: '#ff00ff',
39
- foreground: '#220022',
40
- }
41
- }
42
- let(:_value) { Vedeu::Colour.new(attributes) }
43
-
44
- it { subject.must_be_instance_of(described) }
45
- it { subject.attributes.must_equal(attributes) }
43
+ let(:background) { '#ff00ff' }
44
+ let(:foreground) { '#220022' }
45
+ let(:_value) { Vedeu::Colour.new(attributes) }
46
+
47
+ it { subject.foreground.colour.must_equal('#220022') }
48
+ it { subject.background.colour.must_equal('#ff00ff') }
46
49
  it { subject.to_s.must_equal("\e[38;2;34;0;34m\e[48;2;255;0;255m") }
47
50
  end
48
51
 
49
52
  context 'when the value is a Hash' do
50
53
  context 'when the hash has a :colour defined' do
51
54
  context 'when the value of :colour is a Vedeu::Colour' do
52
- let(:attributes) {
53
- {
54
- background: '#002200',
55
- foreground: '#00ff00',
56
- }
57
- }
55
+ let(:background) { '#002200' }
56
+ let(:foreground) { '#00ff00' }
58
57
  let(:_value) {
59
58
  {
60
59
  colour: Vedeu::Colour.new(attributes),
61
60
  }
62
61
  }
63
62
 
64
- it { subject.must_be_instance_of(described) }
65
- it { subject.attributes.must_equal(attributes) }
63
+ it { subject.foreground.colour.must_equal('#00ff00') }
64
+ it { subject.background.colour.must_equal('#002200') }
66
65
  it { subject.to_s.must_equal("\e[38;2;0;255;0m\e[48;2;0;34;0m") }
67
66
  end
68
67
 
@@ -76,11 +75,8 @@ module Vedeu
76
75
  }
77
76
  }
78
77
 
79
- it { subject.must_be_instance_of(described) }
80
- it { subject.attributes.must_equal({
81
- background: '#7700ff',
82
- foreground: '',
83
- }) }
78
+ it { subject.foreground.colour.must_equal('') }
79
+ it { subject.background.colour.must_equal('#7700ff') }
84
80
  it {
85
81
  subject.to_s.must_equal("\e[48;2;119;0;255m")
86
82
  }
@@ -95,11 +91,8 @@ module Vedeu
95
91
  }
96
92
  }
97
93
 
98
- it { subject.must_be_instance_of(described) }
99
- it { subject.attributes.must_equal({
100
- background: '',
101
- foreground: '#220077',
102
- }) }
94
+ it { subject.foreground.colour.must_equal('#220077') }
95
+ it { subject.background.colour.must_equal('') }
103
96
  it {
104
97
  subject.to_s.must_equal("\e[38;2;34;0;119m")
105
98
  }
@@ -112,11 +105,8 @@ module Vedeu
112
105
  }
113
106
  }
114
107
 
115
- it { subject.must_be_instance_of(described) }
116
- it { subject.attributes.must_equal({
117
- background: '',
118
- foreground: '',
119
- }) }
108
+ it { subject.foreground.colour.must_equal('') }
109
+ it { subject.background.colour.must_equal('') }
120
110
  it { subject.to_s.must_equal('') }
121
111
  end
122
112
  end
@@ -130,11 +120,8 @@ module Vedeu
130
120
  }
131
121
  }
132
122
 
133
- it { subject.must_be_instance_of(described) }
134
- it { subject.attributes.must_equal({
135
- background: '#000022',
136
- foreground: '',
137
- }) }
123
+ it { subject.foreground.colour.must_equal('') }
124
+ it { subject.background.colour.must_equal('#000022') }
138
125
  it { subject.to_s.must_equal("\e[48;2;0;0;34m") }
139
126
  end
140
127
 
@@ -145,11 +132,8 @@ module Vedeu
145
132
  }
146
133
  }
147
134
 
148
- it { subject.must_be_instance_of(described) }
149
- it { subject.attributes.must_equal({
150
- background: '',
151
- foreground: '#aadd00',
152
- }) }
135
+ it { subject.foreground.colour.must_equal('#aadd00') }
136
+ it { subject.background.colour.must_equal('') }
153
137
  it { subject.to_s.must_equal("\e[38;2;170;221;0m") }
154
138
  end
155
139
 
@@ -160,41 +144,14 @@ module Vedeu
160
144
  }
161
145
  }
162
146
 
163
- it { subject.must_be_instance_of(described) }
164
- it { subject.attributes.must_equal({
165
- background: '',
166
- foreground: '',
167
- }) }
147
+ it { subject.foreground.colour.must_equal('') }
148
+ it { subject.background.colour.must_equal('') }
168
149
  it { subject.to_s.must_equal('') }
169
150
  end
170
151
  end
171
152
  end
172
153
  end
173
154
 
174
- describe '#background' do
175
- subject { instance.background }
176
-
177
- it { subject.must_be_instance_of(Vedeu::Background) }
178
-
179
- context 'with a background' do
180
- let(:attributes) {
181
- {
182
- background: '#000000'
183
- }
184
- }
185
-
186
- it { subject.to_s.must_equal("\e[48;2;0;0;0m") }
187
- it { subject.to_html.must_equal('#000000') }
188
- end
189
-
190
- context 'without a background' do
191
- let(:attributes) { {} }
192
-
193
- it { subject.to_s.must_equal('') }
194
- it { subject.to_html.must_equal('') }
195
- end
196
- end
197
-
198
155
  describe '#background=' do
199
156
  let(:_value) { '#000000' }
200
157
 
@@ -217,30 +174,6 @@ module Vedeu
217
174
  end
218
175
  end
219
176
 
220
- describe '#foreground' do
221
- subject { instance.foreground }
222
-
223
- it { subject.must_be_instance_of(Vedeu::Foreground) }
224
-
225
- context 'with a foreground' do
226
- let(:attributes) {
227
- {
228
- foreground: '#ff0000'
229
- }
230
- }
231
-
232
- it { subject.to_s.must_equal("\e[38;2;255;0;0m") }
233
- it { subject.to_html.must_equal('#ff0000') }
234
- end
235
-
236
- context 'without a foreground' do
237
- let(:attributes) { {} }
238
-
239
- it { subject.to_s.must_equal('') }
240
- it { subject.to_html.must_equal('') }
241
- end
242
- end
243
-
244
177
  describe '#foreground=' do
245
178
  let(:_value) { '#ff0000' }
246
179
 
@@ -255,39 +188,25 @@ module Vedeu
255
188
  it { subject.must_be_instance_of(String) }
256
189
 
257
190
  context 'with both background and foreground' do
258
- let(:attributes) {
259
- {
260
- foreground: '#ff0000',
261
- background: '#000000'
262
- }
263
- }
191
+ let(:background) { '#000000' }
192
+ let(:foreground) { '#ff0000' }
264
193
 
265
194
  it { subject.must_equal("\e[38;2;255;0;0m\e[48;2;0;0;0m") }
266
195
  end
267
196
 
268
197
  context 'when the foreground is missing' do
269
- let(:attributes) {
270
- {
271
- background: '#000000'
272
- }
273
- }
198
+ let(:background) { '#000000' }
274
199
 
275
200
  it { subject.must_equal("\e[48;2;0;0;0m") }
276
201
  end
277
202
 
278
203
  context 'when the background is missing' do
279
- let(:attributes) {
280
- {
281
- foreground: '#ff0000',
282
- }
283
- }
204
+ let(:foreground) { '#ff0000' }
284
205
 
285
206
  it { subject.must_equal("\e[38;2;255;0;0m") }
286
207
  end
287
208
 
288
209
  context 'when both are missing' do
289
- let(:attributes) { {} }
290
-
291
210
  it { subject.must_equal('') }
292
211
  end
293
212
  end
@@ -3,7 +3,7 @@ require 'test_helper'
3
3
  module Vedeu
4
4
 
5
5
  class ParentPresentationTestClass
6
- include Presentation
6
+ include Vedeu::Presentation
7
7
 
8
8
  def parent
9
9
  nil
@@ -18,7 +18,7 @@ module Vedeu
18
18
  end
19
19
 
20
20
  class PresentationTestClass
21
- include Presentation
21
+ include Vedeu::Presentation
22
22
 
23
23
  attr_reader :attributes
24
24
 
@@ -27,14 +27,14 @@ module Vedeu
27
27
  end
28
28
 
29
29
  def parent
30
- ParentPresentationTestClass.new
30
+ Vedeu::ParentPresentationTestClass.new
31
31
  end
32
32
 
33
33
  end # PresentationTestClass
34
34
 
35
35
  describe Presentation do
36
36
 
37
- let(:receiver) { PresentationTestClass.new(attributes) }
37
+ let(:includer) { Vedeu::PresentationTestClass.new(attributes) }
38
38
  let(:attributes) {
39
39
  {
40
40
  colour: { background: background, foreground: foreground },
@@ -45,7 +45,7 @@ module Vedeu
45
45
  let(:foreground) { '#aadd00' }
46
46
 
47
47
  describe '#background' do
48
- subject { receiver.background }
48
+ subject { includer.background }
49
49
 
50
50
  it { subject.must_be_instance_of(Vedeu::Background) }
51
51
  it { subject.colour.must_equal('#000033') }
@@ -55,23 +55,24 @@ module Vedeu
55
55
  let(:background) {}
56
56
 
57
57
  it { subject.must_be_instance_of(Vedeu::Background) }
58
- # it { subject.colour.must_equal('') }
58
+ it { subject.colour.must_equal('#330000') }
59
59
  end
60
60
  end
61
61
 
62
62
  describe '#background=' do
63
- subject { receiver.background = '#987654' }
63
+ subject { includer.background = '#987654' }
64
64
 
65
- it { subject.must_equal('#987654') }
66
-
67
- it do
65
+ it {
66
+ includer.colour.background.colour.must_equal('#000033')
68
67
  subject
69
- receiver.attributes[:background].must_equal('#987654')
70
- end
68
+ includer.colour.background.colour.must_equal('#987654')
69
+ }
70
+
71
+ it { subject.must_equal('#987654') }
71
72
  end
72
73
 
73
74
  describe '#foreground' do
74
- subject { receiver.foreground }
75
+ subject { includer.foreground }
75
76
 
76
77
  it { subject.must_be_instance_of(Vedeu::Foreground) }
77
78
  it { subject.colour.must_equal('#aadd00') }
@@ -81,35 +82,37 @@ module Vedeu
81
82
  let(:foreground) {}
82
83
 
83
84
  it { subject.must_be_instance_of(Vedeu::Foreground) }
84
- # it { subject.colour.must_equal('') }
85
+ it { subject.colour.must_equal('#00aadd') }
85
86
  end
86
87
  end
87
88
 
88
89
  describe '#foreground=' do
89
- subject { receiver.foreground = '#123456' }
90
+ subject { includer.foreground = '#123456' }
90
91
 
91
- it { subject.must_equal('#123456') }
92
-
93
- it do
92
+ it {
93
+ includer.colour.foreground.colour.must_equal('#aadd00')
94
94
  subject
95
- receiver.attributes[:foreground].must_equal('#123456')
96
- end
95
+ includer.colour.foreground.colour.must_equal('#123456')
96
+ }
97
+
98
+ it { subject.must_equal('#123456') }
97
99
  end
98
100
 
99
101
  describe '#parent_background' do
100
- subject { receiver.parent_background }
102
+ subject { includer.parent_background }
101
103
 
102
104
  it { subject.must_be_instance_of(Vedeu::Background) }
105
+ it { subject.colour.must_equal('#330000') }
103
106
  end
104
107
 
105
108
  describe '#parent_foreground' do
106
- subject { receiver.parent_foreground }
109
+ subject { includer.parent_foreground }
107
110
 
108
111
  it { subject.must_be_instance_of(Vedeu::Foreground) }
109
112
  end
110
113
 
111
114
  describe '#colour' do
112
- subject { receiver.colour }
115
+ subject { includer.colour }
113
116
 
114
117
  it { subject.must_be_instance_of(Vedeu::Colour) }
115
118
  end
@@ -117,13 +120,13 @@ module Vedeu
117
120
  describe '#colour=' do
118
121
  let(:colour) { Colour.new(foreground: '#00ff00', background: '#000000') }
119
122
 
120
- subject { receiver.colour = (colour) }
123
+ subject { includer.colour = (colour) }
121
124
 
122
125
  it { subject.must_be_instance_of(Colour) }
123
126
  end
124
127
 
125
128
  describe '#style' do
126
- subject { receiver.style }
129
+ subject { includer.style }
127
130
 
128
131
  it { subject.must_be_instance_of(Vedeu::Style) }
129
132
  end
@@ -131,7 +134,7 @@ module Vedeu
131
134
  describe '#style=' do
132
135
  let(:style) { Style.new('normal') }
133
136
 
134
- subject { receiver.style = (style) }
137
+ subject { includer.style = (style) }
135
138
 
136
139
  it { subject.must_be_instance_of(Style) }
137
140
  end
@@ -158,7 +161,7 @@ module Vedeu
158
161
  }
159
162
  let(:stream_style) { Style.new(:underline) }
160
163
 
161
- it { receiver.must_respond_to(:to_str) }
164
+ it { includer.must_respond_to(:to_str) }
162
165
 
163
166
  it 'returns output' do
164
167
  stream.to_s.must_equal(
@@ -27,7 +27,18 @@ module Vedeu
27
27
  subject { described.coerce(_value) }
28
28
 
29
29
  context 'when the value is nil' do
30
- it { subject.must_be_instance_of(String) }
30
+ it { subject.must_be_instance_of(Vedeu::Translator) }
31
+
32
+ it {
33
+ Vedeu::Background.coerce(_value).
34
+ must_be_instance_of(Vedeu::Background)
35
+ }
36
+ it { Vedeu::Background.coerce(_value).colour.must_equal('') }
37
+ it {
38
+ Vedeu::Foreground.coerce(_value).
39
+ must_be_instance_of(Vedeu::Foreground)
40
+ }
41
+ it { Vedeu::Foreground.coerce(_value).colour.must_equal('') }
31
42
  end
32
43
 
33
44
  context 'when the value is a Vedeu::Background' do
@@ -14,10 +14,11 @@ module Vedeu
14
14
 
15
15
  describe Common do
16
16
 
17
- let(:described) { Vedeu::VedeuCommonClass.new }
17
+ let(:described) { Vedeu::VedeuCommonClass }
18
+ let(:instance) { described.new }
18
19
 
19
20
  describe '#present?' do
20
- subject { described.defined_value_test(_value) }
21
+ subject { instance.defined_value_test(_value) }
21
22
 
22
23
  context 'when the variable is a Fixnum' do
23
24
  let(:_value) { 17 }
@@ -45,6 +46,20 @@ module Vedeu
45
46
  end
46
47
  end
47
48
 
49
+ describe '#snake_case' do
50
+ let(:_name) { 'MyFirstApp' }
51
+
52
+ subject { instance.snake_case(_name) }
53
+
54
+ it { subject.must_equal('my_first_app') }
55
+
56
+ context 'when namespaced' do
57
+ let(:_name) { 'MyFirstApp::SomeController' }
58
+
59
+ it { subject.must_equal('my_first_app/some_controller') }
60
+ end
61
+ end
62
+
48
63
  end # Common
49
64
 
50
65
  end # Vedeu
data/test/test_helper.rb CHANGED
@@ -49,6 +49,7 @@ end
49
49
  module MiniTest
50
50
  class Spec
51
51
  # parallelize_me! # uncomment to unleash hell
52
+ # i_suck_and_my_tests_are_order_dependent! # just incase
52
53
 
53
54
  # include VedeuMiniTestPlugin
54
55
 
@@ -65,7 +66,8 @@ require 'support/helpers/model_test_class'
65
66
  # require 'minitest/reporters'
66
67
  # Minitest::Reporters.use!(
67
68
  # # commented out by default (makes tests slower)
68
- # # Minitest::Reporters::DefaultReporter.new({ color: true, slow_count: 15 }),
69
+ # # Minitest::Reporters::DefaultReporter.new({ color: true,
70
+ # # slow_suite_count: 3 }),
69
71
  # # Minitest::Reporters::SpecReporter.new
70
72
  # )
71
73
 
data/vedeu.gemspec CHANGED
@@ -36,5 +36,6 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency 'yard', '0.8.7.6'
37
37
 
38
38
  spec.add_dependency 'bundler', '~> 1.8'
39
- spec.add_dependency 'rake', '~> 10.4'
39
+ spec.add_dependency 'rake', '~> 10.4'
40
+ spec.add_dependency 'thor', '0.19.1'
40
41
  end