vedeu 0.6.7 → 0.6.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +1 -1
  3. data/docs/dsl.md +4 -4
  4. data/lib/vedeu/all.rb +6 -18
  5. data/lib/vedeu/api.rb +14 -13
  6. data/lib/vedeu/bindings/system.rb +5 -4
  7. data/lib/vedeu/buffers/virtual_buffer.rb +13 -11
  8. data/lib/vedeu/configuration/api.rb +4 -3
  9. data/lib/vedeu/cursors/cursor.rb +23 -18
  10. data/lib/vedeu/distributed/client.rb +11 -6
  11. data/lib/vedeu/distributed/server.rb +4 -3
  12. data/lib/vedeu/dsl/keymap.rb +6 -6
  13. data/lib/vedeu/editor/all.rb +19 -0
  14. data/lib/vedeu/{input/editor → editor}/capture.rb +1 -1
  15. data/lib/vedeu/{input/editor → editor}/cropper.rb +0 -0
  16. data/lib/vedeu/{input/editor → editor}/cursor.rb +0 -0
  17. data/lib/vedeu/{input/editor → editor}/document.rb +0 -0
  18. data/lib/vedeu/{input/editor → editor}/documents.rb +0 -0
  19. data/lib/vedeu/{input/editor → editor}/editor.rb +0 -0
  20. data/lib/vedeu/{input/editor → editor}/insert.rb +0 -0
  21. data/lib/vedeu/{input/editor → editor}/line.rb +0 -0
  22. data/lib/vedeu/{input/editor → editor}/lines.rb +0 -0
  23. data/lib/vedeu/error.rb +21 -18
  24. data/lib/vedeu/esc/borders.rb +6 -4
  25. data/lib/vedeu/esc/colours.rb +13 -12
  26. data/lib/vedeu/esc/esc.rb +11 -10
  27. data/lib/vedeu/input/all.rb +15 -0
  28. data/lib/vedeu/input/input.rb +55 -52
  29. data/lib/vedeu/input/key.rb +36 -30
  30. data/lib/vedeu/input/keymap.rb +101 -92
  31. data/lib/vedeu/input/keymaps.rb +10 -6
  32. data/lib/vedeu/input/keys.rb +8 -4
  33. data/lib/vedeu/input/mapper.rb +125 -121
  34. data/lib/vedeu/input/translator.rb +159 -0
  35. data/lib/vedeu/internal_api.rb +16 -15
  36. data/lib/vedeu/logging/all.rb +13 -0
  37. data/lib/vedeu/logging/debug.rb +84 -0
  38. data/lib/vedeu/logging/lockless_log_device.rb +65 -0
  39. data/lib/vedeu/logging/log.rb +179 -0
  40. data/lib/vedeu/logging/mono_logger.rb +26 -0
  41. data/lib/vedeu/logging/timer.rb +68 -0
  42. data/lib/vedeu/menus/all.rb +12 -0
  43. data/lib/vedeu/{dsl/menu.rb → menus/dsl.rb} +19 -18
  44. data/lib/vedeu/menus/menu.rb +234 -0
  45. data/lib/vedeu/{null/menu.rb → menus/null.rb} +6 -6
  46. data/lib/vedeu/menus/repository.rb +18 -0
  47. data/lib/vedeu/models/cell.rb +62 -55
  48. data/lib/vedeu/models/escape.rb +55 -50
  49. data/lib/vedeu/models/page.rb +74 -69
  50. data/lib/vedeu/models/row.rb +55 -51
  51. data/lib/vedeu/models/views/all.rb +1 -0
  52. data/lib/vedeu/models/views/char.rb +1 -1
  53. data/lib/vedeu/models/views/html_char.rb +165 -0
  54. data/lib/vedeu/output/renderers/html.rb +5 -4
  55. data/lib/vedeu/repositories/model.rb +2 -0
  56. data/lib/vedeu/runtime/application.rb +110 -103
  57. data/lib/vedeu/runtime/bootstrap.rb +109 -103
  58. data/lib/vedeu/runtime/flags.rb +45 -41
  59. data/lib/vedeu/runtime/launcher.rb +1 -1
  60. data/lib/vedeu/runtime/main_loop.rb +51 -46
  61. data/lib/vedeu/runtime/traps.rb +20 -16
  62. data/lib/vedeu/version.rb +1 -1
  63. data/lib/vedeu.rb +2 -2
  64. data/test/lib/vedeu/buffers/virtual_buffer_test.rb +1 -1
  65. data/test/lib/vedeu/cursors/cursor_test.rb +11 -5
  66. data/test/lib/vedeu/dsl/interface_test.rb +1 -1
  67. data/test/lib/vedeu/dsl/keymap_test.rb +2 -2
  68. data/test/lib/vedeu/{input/editor → editor}/capture_test.rb +0 -0
  69. data/test/lib/vedeu/{input/editor → editor}/cropper_test.rb +0 -0
  70. data/test/lib/vedeu/{input/editor → editor}/cursor_test.rb +0 -0
  71. data/test/lib/vedeu/{input/editor → editor}/document_test.rb +0 -0
  72. data/test/lib/vedeu/{input/editor → editor}/documents_test.rb +0 -0
  73. data/test/lib/vedeu/{input/editor → editor}/editor_test.rb +0 -0
  74. data/test/lib/vedeu/{input/editor → editor}/insert_test.rb +0 -0
  75. data/test/lib/vedeu/{input/editor → editor}/line_test.rb +0 -0
  76. data/test/lib/vedeu/{input/editor → editor}/lines_test.rb +0 -0
  77. data/test/lib/vedeu/input/input_test.rb +58 -54
  78. data/test/lib/vedeu/input/key_test.rb +29 -25
  79. data/test/lib/vedeu/input/keymap_test.rb +74 -70
  80. data/test/lib/vedeu/input/keymaps_test.rb +8 -4
  81. data/test/lib/vedeu/input/keys_test.rb +12 -8
  82. data/test/lib/vedeu/input/mapper_test.rb +64 -56
  83. data/test/lib/vedeu/input/translator_test.rb +36 -0
  84. data/test/lib/vedeu/logging/debug_test.rb +39 -0
  85. data/test/lib/vedeu/logging/lockless_log_device_test.rb +42 -0
  86. data/test/lib/vedeu/logging/log_test.rb +52 -0
  87. data/test/lib/vedeu/logging/mono_logger_test.rb +43 -0
  88. data/test/lib/vedeu/logging/timer_test.rb +44 -0
  89. data/test/lib/vedeu/{dsl/menu_test.rb → menus/dsl_test.rb} +6 -6
  90. data/test/lib/vedeu/menus/menu_test.rb +305 -0
  91. data/test/lib/vedeu/{null/menu_test.rb → menus/null_test.rb} +5 -5
  92. data/test/lib/vedeu/menus/repository_test.rb +17 -0
  93. data/test/lib/vedeu/models/cell_test.rb +54 -50
  94. data/test/lib/vedeu/models/escape_test.rb +49 -45
  95. data/test/lib/vedeu/models/page_test.rb +167 -160
  96. data/test/lib/vedeu/models/row_test.rb +71 -67
  97. data/test/lib/vedeu/models/views/html_char_test.rb +110 -0
  98. data/test/lib/vedeu/output/compressor_test.rb +44 -22
  99. data/test/lib/vedeu/output/renderers_test.rb +4 -2
  100. data/test/lib/vedeu/runtime/application_test.rb +36 -32
  101. data/test/lib/vedeu/runtime/bootstrap_test.rb +31 -26
  102. data/test/lib/vedeu/runtime/flags_test.rb +33 -29
  103. data/test/lib/vedeu/runtime/launcher_test.rb +4 -2
  104. data/test/lib/vedeu/runtime/main_loop_test.rb +28 -24
  105. data/test/lib/vedeu/runtime/traps_test.rb +8 -4
  106. data/test/test_helper.rb +4 -2
  107. metadata +66 -63
  108. data/lib/vedeu/input/editor/all.rb +0 -19
  109. data/lib/vedeu/input/input_translator.rb +0 -155
  110. data/lib/vedeu/log/debug.rb +0 -79
  111. data/lib/vedeu/log/lockless_log_device.rb +0 -61
  112. data/lib/vedeu/log/log.rb +0 -172
  113. data/lib/vedeu/log/mono_logger.rb +0 -21
  114. data/lib/vedeu/log/timer.rb +0 -63
  115. data/lib/vedeu/models/menu.rb +0 -217
  116. data/lib/vedeu/models/menus.rb +0 -14
  117. data/lib/vedeu/output/html_char.rb +0 -161
  118. data/test/lib/vedeu/input/input_translator_test.rb +0 -32
  119. data/test/lib/vedeu/log/debug_test.rb +0 -35
  120. data/test/lib/vedeu/log/lockless_log_device_test.rb +0 -29
  121. data/test/lib/vedeu/log/log_test.rb +0 -48
  122. data/test/lib/vedeu/log/mono_logger_test.rb +0 -31
  123. data/test/lib/vedeu/log/timer_test.rb +0 -40
  124. data/test/lib/vedeu/models/menu_test.rb +0 -301
  125. data/test/lib/vedeu/models/menus_test.rb +0 -13
  126. data/test/lib/vedeu/output/html_char_test.rb +0 -106
@@ -0,0 +1,110 @@
1
+ require 'test_helper'
2
+
3
+ module Vedeu
4
+
5
+ module Views
6
+
7
+ describe HTMLChar do
8
+
9
+ let(:described) { Vedeu::Views::HTMLChar }
10
+ let(:instance) { described.new(char, options) }
11
+ let(:char) { Vedeu::Views::Char.new(attributes) }
12
+ let(:options) {
13
+ {
14
+ start_tag: '<td',
15
+ end_tag: '</td>',
16
+ }
17
+ }
18
+ let(:attributes) {
19
+ {
20
+ border: border,
21
+ colour: colour,
22
+ parent: parent,
23
+ value: _value
24
+ }
25
+ }
26
+ let(:border) {}
27
+ let(:colour) {}
28
+ let(:parent) { Vedeu::Views::Line.new(colour: parent_colour) }
29
+ let(:parent_colour) {}
30
+ let(:_value) {}
31
+
32
+ describe '#initialize' do
33
+ it { instance.must_be_instance_of(described) }
34
+ it { instance.instance_variable_get('@char').must_equal(char) }
35
+ it { instance.instance_variable_get('@options').must_equal(options) }
36
+ end
37
+
38
+ describe '.render' do
39
+ subject { described.render(char, options) }
40
+
41
+ it { subject.must_be_instance_of(String) }
42
+
43
+ context 'when there is a border' do
44
+ let(:border) { :top_left }
45
+
46
+ context 'when there is a colour' do
47
+ let(:colour) {
48
+ Vedeu::Colours::Colour.new(background: '#220022',
49
+ foreground: '#aadd00')
50
+ }
51
+
52
+ it { subject.must_equal(
53
+ "<td style='" \
54
+ "border:1px #220022 solid;" \
55
+ "background:#220022;" \
56
+ "color:#aadd00;" \
57
+ "border-top:1px #aadd00 solid;" \
58
+ "border-left:1px #aadd00 solid;" \
59
+ "'>&nbsp;</td>"
60
+ ) }
61
+ end
62
+
63
+ context 'when there is no colour' do
64
+ context 'when there is a parent colour' do
65
+ let(:parent_colour) {
66
+ Vedeu::Colours::Colour.new(background: '#002222',
67
+ foreground: '#dd2200')
68
+ }
69
+
70
+ it { subject.must_equal(
71
+ "<td style='" \
72
+ "border:1px #002222 solid;" \
73
+ "background:#002222;" \
74
+ "color:#dd2200;" \
75
+ "border-top:1px #dd2200 solid;" \
76
+ "border-left:1px #dd2200 solid;" \
77
+ "'>&nbsp;</td>"
78
+ ) }
79
+ end
80
+
81
+ context 'when there is no parent colour' do
82
+ it { subject.must_equal("<td style=''>&nbsp;</td>") }
83
+ end
84
+ end
85
+ end
86
+
87
+ context 'when there is no border' do
88
+ context 'when there is no value' do
89
+ it { subject.must_equal('<td>&nbsp;</td>') }
90
+ end
91
+
92
+ context 'when the value is empty' do
93
+ let(:_value) { '' }
94
+
95
+ it { subject.must_equal('<td>&nbsp;</td>') }
96
+ end
97
+
98
+ context 'when there is a value' do
99
+ let(:_value) { 'a' }
100
+
101
+ it { subject.must_equal("<td style=''>a</td>") }
102
+ end
103
+ end
104
+ end
105
+
106
+ end # HTMLChar
107
+
108
+ end # Views
109
+
110
+ end # Vedeu
@@ -26,12 +26,16 @@ module Vedeu
26
26
  context 'when the output is all Vedeu::Views::Char elements' do
27
27
  let(:output) {
28
28
  [
29
- Vedeu::Views::Char.new(value: 'Y', colour: { foreground: '#ff0000' }),
30
- Vedeu::Views::Char.new(value: 'e', colour: { foreground: '#ff0000' }),
31
- Vedeu::Views::Char.new(value: 's', colour: { foreground: '#ff0000' }),
29
+ Vedeu::Views::Char.new(value: 'Y',
30
+ colour: { foreground: '#ff0000' }),
31
+ Vedeu::Views::Char.new(value: 'e',
32
+ colour: { foreground: '#ff0000' }),
33
+ Vedeu::Views::Char.new(value: 's',
34
+ colour: { foreground: '#ff0000' }),
32
35
  ]
33
36
  }
34
- it 'converts the non-Vedeu::Views::Char elements into String elements' do
37
+ it 'converts the non-Vedeu::Views::Char elements into String ' \
38
+ 'elements' do
35
39
  subject.must_equal("\e[38;2;255;0;0mYes")
36
40
  end
37
41
  end
@@ -39,10 +43,14 @@ module Vedeu
39
43
  context 'when the output is all Vedeu::Views::Char elements' do
40
44
  let(:output) {
41
45
  [
42
- Vedeu::Views::Char.new(value: 'a', colour: { foreground: '#ff0000' }),
43
- Vedeu::Views::Char.new(value: 'b', colour: { foreground: '#ff0000' }),
44
- Vedeu::Views::Char.new(value: 'c', colour: { foreground: '#0000ff' }),
45
- Vedeu::Views::Char.new(value: 'd', colour: { foreground: '#0000ff' }),
46
+ Vedeu::Views::Char.new(value: 'a',
47
+ colour: { foreground: '#ff0000' }),
48
+ Vedeu::Views::Char.new(value: 'b',
49
+ colour: { foreground: '#ff0000' }),
50
+ Vedeu::Views::Char.new(value: 'c',
51
+ colour: { foreground: '#0000ff' }),
52
+ Vedeu::Views::Char.new(value: 'd',
53
+ colour: { foreground: '#0000ff' }),
46
54
  ]
47
55
  }
48
56
  it 'compresses multiple colours and styles where possible' do
@@ -50,15 +58,17 @@ module Vedeu
50
58
  end
51
59
  end
52
60
 
53
- context 'when the output is not all Vedeu::Views::Char elements' do
61
+ context 'when the output is not all Vedeu::Views::Char ' \
62
+ 'elements' do
54
63
  let(:output) {
55
64
  [
56
65
  Vedeu::Views::Char.new(value: 'N'),
57
- Vedeu::Escape.new(value: "\e[?25l"),
66
+ Vedeu::Models::Escape.new(value: "\e[?25l"),
58
67
  Vedeu::Views::Char.new(value: 't'),
59
68
  ]
60
69
  }
61
- it 'converts the non-Vedeu::Views::Char elements into String elements' do
70
+ it 'converts the non-Vedeu::Views::Char elements into String ' \
71
+ 'elements' do
62
72
  subject.must_equal("N\e[1;1H\e[?25lt")
63
73
  end
64
74
  end
@@ -70,12 +80,16 @@ module Vedeu
70
80
  context 'when the output is all Vedeu::Views::Char elements' do
71
81
  let(:output) {
72
82
  [
73
- Vedeu::Views::Char.new(value: 'Y', colour: { foreground: '#ff0000' }),
74
- Vedeu::Views::Char.new(value: 'e', colour: { foreground: '#ff0000' }),
75
- Vedeu::Views::Char.new(value: 's', colour: { foreground: '#ff0000' }),
83
+ Vedeu::Views::Char.new(value: 'Y',
84
+ colour: { foreground: '#ff0000' }),
85
+ Vedeu::Views::Char.new(value: 'e',
86
+ colour: { foreground: '#ff0000' }),
87
+ Vedeu::Views::Char.new(value: 's',
88
+ colour: { foreground: '#ff0000' }),
76
89
  ]
77
90
  }
78
- it 'converts the non-Vedeu::Views::Char elements into String elements' do
91
+ it 'converts the non-Vedeu::Views::Char elements into String ' \
92
+ 'elements' do
79
93
  subject.must_equal(
80
94
  "\e[38;2;255;0;0mY\e[38;2;255;0;0me\e[38;2;255;0;0ms"
81
95
  )
@@ -85,15 +99,22 @@ module Vedeu
85
99
  context 'when the output is all Vedeu::Views::Char elements' do
86
100
  let(:output) {
87
101
  [
88
- Vedeu::Views::Char.new(value: 'a', colour: { foreground: '#ff0000' }),
89
- Vedeu::Views::Char.new(value: 'b', colour: { foreground: '#ff0000' }),
90
- Vedeu::Views::Char.new(value: 'c', colour: { foreground: '#0000ff' }),
91
- Vedeu::Views::Char.new(value: 'd', colour: { foreground: '#0000ff' }),
102
+ Vedeu::Views::Char.new(value: 'a',
103
+ colour: { foreground: '#ff0000' }),
104
+ Vedeu::Views::Char.new(value: 'b',
105
+ colour: { foreground: '#ff0000' }),
106
+ Vedeu::Views::Char.new(value: 'c',
107
+ colour: { foreground: '#0000ff' }),
108
+ Vedeu::Views::Char.new(value: 'd',
109
+ colour: { foreground: '#0000ff' }),
92
110
  ]
93
111
  }
94
112
  it 'compresses multiple colours and styles where possible' do
95
113
  subject.must_equal(
96
- "\e[38;2;255;0;0ma\e[38;2;255;0;0mb\e[38;2;0;0;255mc\e[38;2;0;0;255md"
114
+ "\e[38;2;255;0;0ma" \
115
+ "\e[38;2;255;0;0mb" \
116
+ "\e[38;2;0;0;255mc" \
117
+ "\e[38;2;0;0;255md"
97
118
  )
98
119
  end
99
120
  end
@@ -102,11 +123,12 @@ module Vedeu
102
123
  let(:output) {
103
124
  [
104
125
  Vedeu::Views::Char.new(value: 'N'),
105
- Vedeu::Escape.new(value: "\e[?25l"),
126
+ Vedeu::Models::Escape.new(value: "\e[?25l"),
106
127
  Vedeu::Views::Char.new(value: 't'),
107
128
  ]
108
129
  }
109
- it 'converts the non-Vedeu::Views::Char elements into String elements' do
130
+ it 'converts the non-Vedeu::Views::Char elements into String ' \
131
+ 'elements' do
110
132
  subject.must_equal("N\e[1;1H\e[?25lt")
111
133
  end
112
134
  end
@@ -72,9 +72,11 @@ module Vedeu
72
72
  }
73
73
 
74
74
  context 'when there is content' do
75
- let(:output) { Vedeu::Escape.new(value: Vedeu::Esc.hide_cursor) }
75
+ let(:output) {
76
+ Vedeu::Models::Escape.new(value: Vedeu::Esc.hide_cursor)
77
+ }
76
78
 
77
- it { subject.must_be_instance_of(Vedeu::Escape) }
79
+ it { subject.must_be_instance_of(Vedeu::Models::Escape) }
78
80
  end
79
81
 
80
82
  context 'when there is no content' do
@@ -2,51 +2,55 @@ require 'test_helper'
2
2
 
3
3
  module Vedeu
4
4
 
5
- describe Application do
5
+ module Runtime
6
6
 
7
- let(:described) { Vedeu::Application }
8
- let(:instance) { described.new(configuration) }
9
- let(:configuration) { Vedeu.configuration }
7
+ describe Application do
10
8
 
11
- before do
12
- configuration.stubs(:drb?).returns(false)
13
- Terminal.stubs(:open).returns([''])
9
+ let(:described) { Vedeu::Runtime::Application }
10
+ let(:instance) { described.new(configuration) }
11
+ let(:configuration) { Vedeu.configuration }
14
12
 
15
- Vedeu.stubs(:trigger)
16
- end
13
+ before do
14
+ configuration.stubs(:drb?).returns(false)
15
+ Terminal.stubs(:open).returns([''])
17
16
 
18
- describe '#initialize' do
19
- it { instance.must_be_instance_of(described) }
20
- it do
21
- instance.instance_variable_get('@configuration').
22
- must_equal(configuration)
17
+ Vedeu.stubs(:trigger)
23
18
  end
24
- end
25
19
 
26
- describe '.restart' do
27
- subject { described.restart(configuration) }
20
+ describe '#initialize' do
21
+ it { instance.must_be_instance_of(described) }
22
+ it do
23
+ instance.instance_variable_get('@configuration').
24
+ must_equal(configuration)
25
+ end
26
+ end
28
27
 
29
- it { subject.must_be_instance_of(Array) }
30
- end
28
+ describe '.restart' do
29
+ subject { described.restart(configuration) }
31
30
 
32
- describe '.start' do
33
- subject { described.start(configuration) }
31
+ it { subject.must_be_instance_of(Array) }
32
+ end
34
33
 
35
- it { subject.must_be_instance_of(Array) }
36
- end
34
+ describe '.start' do
35
+ subject { described.start(configuration) }
37
36
 
38
- describe '.stop' do
39
- subject { described.stop }
37
+ it { subject.must_be_instance_of(Array) }
38
+ end
40
39
 
41
- it { subject.must_equal(false) }
42
- end
40
+ describe '.stop' do
41
+ subject { described.stop }
43
42
 
44
- describe '#start' do
45
- subject { instance.start }
43
+ it { subject.must_equal(false) }
44
+ end
45
+
46
+ describe '#start' do
47
+ subject { instance.start }
48
+
49
+ it { subject.must_be_instance_of(Array) }
50
+ end
46
51
 
47
- it { subject.must_be_instance_of(Array) }
48
- end
52
+ end # Application
49
53
 
50
- end # Application
54
+ end # Runtime
51
55
 
52
56
  end # Vedeu
@@ -9,36 +9,41 @@ end # YourApp
9
9
 
10
10
  module Vedeu
11
11
 
12
- describe Bootstrap do
13
-
14
- let(:described) { Vedeu::Bootstrap }
15
- let(:instance) { described.new(argv) }
16
- let(:argv) { [] }
17
-
18
- describe '#initialize' do
19
- it { instance.must_be_instance_of(described) }
20
- it { instance.instance_variable_get('@argv').must_equal(argv) }
21
- end
22
-
23
- describe '.start' do
24
- before do
25
- Vedeu::Configuration.stubs(:root).returns([:controller, :action, :args])
26
- Vedeu.stubs(:trigger)
27
- Vedeu::Launcher.stubs(:execute!)
12
+ module Runtime
13
+
14
+ describe Bootstrap do
15
+
16
+ let(:described) { Vedeu::Runtime::Bootstrap }
17
+ let(:instance) { described.new(argv) }
18
+ let(:argv) { [] }
19
+
20
+ describe '#initialize' do
21
+ it { instance.must_be_instance_of(described) }
22
+ it { instance.instance_variable_get('@argv').must_equal(argv) }
28
23
  end
29
24
 
30
- subject { described.start(argv) }
25
+ describe '.start' do
26
+ before do
27
+ Vedeu::Configuration.stubs(:root).
28
+ returns([:controller, :action, :args])
29
+ Vedeu.stubs(:trigger)
30
+ Vedeu::Launcher.stubs(:execute!)
31
+ end
32
+
33
+ subject { described.start(argv) }
31
34
 
32
- it {
33
- Vedeu::Launcher.expects(:execute!)
34
- subject
35
- }
36
- end
35
+ it {
36
+ Vedeu::Launcher.expects(:execute!)
37
+ subject
38
+ }
39
+ end
40
+
41
+ describe '#start' do
42
+ it { instance.must_respond_to(:start) }
43
+ end
37
44
 
38
- describe '#start' do
39
- it { instance.must_respond_to(:start) }
40
- end
45
+ end # Bootstrap
41
46
 
42
- end # Bootstrap
47
+ end # Runtime
43
48
 
44
49
  end # Vedeu
@@ -2,46 +2,50 @@ require 'test_helper'
2
2
 
3
3
  module Vedeu
4
4
 
5
- describe Flags do
5
+ module Runtime
6
6
 
7
- let(:described) { Vedeu::Flags }
7
+ describe Flags do
8
8
 
9
- describe '.ready!' do
10
- it { described.ready!.must_equal(true) }
11
- end
9
+ let(:described) { Vedeu::Runtime::Flags }
12
10
 
13
- describe '.ready?' do
14
- context 'when Vedeu has triggered the :_initialize_ event' do
15
- before do
16
- described.reset!
17
- described.ready!
18
- end
19
-
20
- it { described.ready?.must_equal(true) }
11
+ describe '.ready!' do
12
+ it { described.ready!.must_equal(true) }
21
13
  end
22
14
 
23
- context 'when Vedeu has not triggered the :_initialize_ event' do
24
- before do
25
- described.reset!
15
+ describe '.ready?' do
16
+ context 'when Vedeu has triggered the :_initialize_ event' do
17
+ before do
18
+ described.reset!
19
+ described.ready!
20
+ end
21
+
22
+ it { described.ready?.must_equal(true) }
26
23
  end
27
24
 
28
- it { described.ready?.must_equal(false) }
25
+ context 'when Vedeu has not triggered the :_initialize_ event' do
26
+ before do
27
+ described.reset!
28
+ end
29
+
30
+ it { described.ready?.must_equal(false) }
31
+ end
29
32
  end
30
- end
31
33
 
32
- describe '.reset!' do
33
- subject { described.reset! }
34
+ describe '.reset!' do
35
+ subject { described.reset! }
36
+
37
+ it {
38
+ subject
39
+ described.ready?.must_equal(false)
40
+ }
41
+ end
34
42
 
35
- it {
36
- subject
37
- described.ready?.must_equal(false)
38
- }
39
- end
43
+ describe '#reset!' do
44
+ it { described.instance.must_respond_to(:reset!) }
45
+ end
40
46
 
41
- describe '#reset!' do
42
- it { described.instance.must_respond_to(:reset!) }
43
- end
47
+ end # Flags
44
48
 
45
- end # Flags
49
+ end # Runtime
46
50
 
47
51
  end # Vedeu
@@ -37,7 +37,7 @@ module Vedeu
37
37
 
38
38
  describe '#execute!' do
39
39
  before do
40
- Application.stubs(:start)
40
+ Vedeu::Runtime::Application.stubs(:start)
41
41
  Kernel.stubs(:exit)
42
42
  Kernel.stubs(:puts)
43
43
  end
@@ -50,7 +50,9 @@ module Vedeu
50
50
 
51
51
  context 'when an uncaught exception occurs' do
52
52
  before do
53
- Vedeu::Application.stubs(:start).raises(StandardError, 'Oops!')
53
+ Vedeu::Runtime::Application.
54
+ stubs(:start).
55
+ raises(StandardError, 'Oops!')
54
56
  Vedeu::Configuration.stubs(:debug?).returns(debug)
55
57
  end
56
58
 
@@ -2,39 +2,43 @@ require 'test_helper'
2
2
 
3
3
  module Vedeu
4
4
 
5
- describe MainLoop do
5
+ module Runtime
6
6
 
7
- let(:described) { Vedeu::MainLoop }
7
+ describe MainLoop do
8
8
 
9
- describe '.start!' do
10
- subject { described.start! { } }
11
- end
9
+ let(:described) { Vedeu::Runtime::MainLoop }
12
10
 
13
- describe '.stop!' do
14
- subject { described.stop! }
11
+ describe '.start!' do
12
+ subject { described.start! { } }
13
+ end
15
14
 
16
- it {
17
- subject
18
- described.instance_variable_get('@loop').must_equal(false)
19
- }
20
- end
15
+ describe '.stop!' do
16
+ subject { described.stop! }
21
17
 
22
- describe '.safe_exit_point!' do
23
- subject { described.safe_exit_point! }
18
+ it {
19
+ subject
20
+ described.instance_variable_get('@loop').must_equal(false)
21
+ }
22
+ end
24
23
 
25
- context 'when the application has started' do
26
- context 'when the loop is running' do
27
- # @todo Add more tests.
28
- # it { skip }
29
- end
24
+ describe '.safe_exit_point!' do
25
+ subject { described.safe_exit_point! }
30
26
 
31
- context 'when the loop is not running' do
32
- # @todo Add more tests.
33
- # it { skip }
27
+ context 'when the application has started' do
28
+ context 'when the loop is running' do
29
+ # @todo Add more tests.
30
+ # it { skip }
31
+ end
32
+
33
+ context 'when the loop is not running' do
34
+ # @todo Add more tests.
35
+ # it { skip }
36
+ end
34
37
  end
35
38
  end
36
- end
37
39
 
38
- end # MainLoop
40
+ end # MainLoop
41
+
42
+ end # Runtime
39
43
 
40
44
  end # Vedeu
@@ -2,11 +2,15 @@ require 'test_helper'
2
2
 
3
3
  module Vedeu
4
4
 
5
- describe Traps do
5
+ module Runtime
6
6
 
7
- # @todo Add more tests.
8
- # it { skip }
7
+ describe Traps do
9
8
 
10
- end # Traps
9
+ # @todo Add more tests.
10
+ # it { skip }
11
+
12
+ end # Traps
13
+
14
+ end # Runtime
11
15
 
12
16
  end # Vedeu
data/test/test_helper.rb CHANGED
@@ -25,15 +25,17 @@ unless ENV['NO_SIMPLECOV']
25
25
  add_group 'cursors', 'vedeu/cursors'
26
26
  add_group 'distributed', 'vedeu/distributed'
27
27
  add_group 'dsl', 'vedeu/dsl'
28
+ add_group 'editor', 'vedeu/editor'
28
29
  add_group 'esc', 'vedeu/esc'
29
30
  add_group 'events', 'vedeu/events'
30
31
  add_group 'geometry', 'vedeu/geometry'
31
32
  add_group 'input', 'vedeu/input'
32
- add_group 'log', 'vedeu/log'
33
+ add_group 'log', 'vedeu/logging'
34
+ add_group 'menus', 'vedeu/menus'
33
35
  add_group 'models', 'vedeu/models'
34
36
  add_group 'null', 'vedeu/null'
35
37
  add_group 'output', 'vedeu/output'
36
- add_group 'plugins', 'vedeu/plygins'
38
+ add_group 'plugins', 'vedeu/plugins'
37
39
  add_group 'refresh', 'vedeu/refresh'
38
40
  add_group 'repositories', 'vedeu/repositories'
39
41
  add_group 'runtime', 'vedeu/runtime'