vedeu 0.1.6 → 0.1.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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -15
  3. data/deps.md +93 -96
  4. data/lib/vedeu.rb +1 -6
  5. data/lib/vedeu/api/line.rb +0 -4
  6. data/lib/vedeu/api/view.rb +0 -1
  7. data/lib/vedeu/application.rb +1 -3
  8. data/lib/vedeu/instrumentation.rb +1 -1
  9. data/lib/vedeu/models/colour.rb +3 -2
  10. data/lib/vedeu/models/geometry.rb +16 -0
  11. data/lib/vedeu/models/interface.rb +9 -1
  12. data/lib/vedeu/output/render_interface.rb +3 -0
  13. data/lib/vedeu/output/text_adaptor.rb +2 -0
  14. data/lib/vedeu/output/view.rb +17 -24
  15. data/lib/vedeu/support/esc.rb +1 -21
  16. data/test/lib/vedeu/api/base_test.rb +0 -11
  17. data/test/lib/vedeu/api/grid_test.rb +10 -0
  18. data/test/lib/vedeu/api/line_test.rb +0 -11
  19. data/test/lib/vedeu/api/stream_test.rb +0 -11
  20. data/test/lib/vedeu/api/view_test.rb +1 -4
  21. data/test/lib/vedeu/models/composition_test.rb +3 -0
  22. data/test/lib/vedeu/output/view_test.rb +0 -27
  23. data/test/lib/vedeu/support/esc_test.rb +1 -21
  24. data/vedeu.gemspec +1 -1
  25. metadata +2 -20
  26. data/lib/vedeu/output/dsl_parser.rb +0 -19
  27. data/lib/vedeu/output/erb_parser.rb +0 -59
  28. data/lib/vedeu/output/json_parser.rb +0 -23
  29. data/lib/vedeu/output/menu_parser.rb +0 -51
  30. data/lib/vedeu/output/raw_parser.rb +0 -42
  31. data/lib/vedeu/support/helpers.rb +0 -66
  32. data/test/lib/vedeu/output/dsl_parser_test.rb +0 -19
  33. data/test/lib/vedeu/output/erb_parser_test.rb +0 -242
  34. data/test/lib/vedeu/output/json_parser_test.rb +0 -17
  35. data/test/lib/vedeu/output/menu_parser_test.rb +0 -46
  36. data/test/lib/vedeu/output/raw_parser_test.rb +0 -74
  37. data/test/lib/vedeu/support/helpers_test.rb +0 -71
@@ -1,17 +0,0 @@
1
- require 'test_helper'
2
- require 'vedeu/output/json_parser'
3
-
4
- module Vedeu
5
- describe JSONParser do
6
- describe '.parse' do
7
- it 'returns a hash when the JSON is valid' do
8
- JSONParser.parse("{\"some\": \"JSON\"}")
9
- .must_be_instance_of(Hash)
10
- end
11
-
12
- it 'returns an empty hash when the JSON is invalid' do
13
- JSONParser.parse('{ invalid JSON }').must_be_instance_of(Hash)
14
- end
15
- end
16
- end
17
- end
@@ -1,46 +0,0 @@
1
- require 'test_helper'
2
- require 'vedeu/support/menu'
3
- require 'vedeu/output/menu_parser'
4
-
5
- module Vedeu
6
- describe MenuParser do
7
- describe '.parse' do
8
- it 'returns an interface' do
9
- items = [
10
- [false, true, 'Hydrogen'],
11
- [true, false, 'Helium'],
12
- [false, false, 'Lithium'],
13
- [true, true, 'Beryllium']
14
- ]
15
- args = ['dummy', items]
16
- parser = MenuParser.parse(args)
17
- parser.must_equal(
18
- {
19
- interfaces: {
20
- name: 'dummy',
21
- lines: [
22
- {
23
- streams: {
24
- text: ' > Hydrogen'
25
- }
26
- }, {
27
- streams: {
28
- text: '* Helium'
29
- }
30
- }, {
31
- streams: {
32
- text: ' Lithium'
33
- }
34
- }, {
35
- streams: {
36
- text: '*> Beryllium'
37
- }
38
- }
39
- ]
40
- }
41
- }
42
- )
43
- end
44
- end
45
- end
46
- end
@@ -1,74 +0,0 @@
1
- require 'test_helper'
2
- require 'vedeu/output/raw_parser'
3
-
4
- module Vedeu
5
- describe RawParser do
6
- describe '.parse' do
7
- it 'returns a Hash when the output is content for multiple interfaces' do
8
- RawParser.parse({
9
- test: 'Some content...',
10
- dummy: 'More content...'
11
- }).must_equal({
12
- interfaces: [
13
- {
14
- name: 'test',
15
- lines: [
16
- {
17
- streams: { text: 'Some content...' }
18
- }
19
- ]
20
- }, {
21
- name: 'dummy',
22
- lines: [
23
- {
24
- streams: { text: 'More content...' }
25
- }
26
- ]
27
- }
28
- ]
29
- })
30
- end
31
-
32
- it 'returns a Hash when the output is content for a single interface' do
33
- RawParser.parse({
34
- dummy: 'Some content...'
35
- }).must_equal({
36
- interfaces: [
37
- {
38
- name: 'dummy',
39
- lines: [
40
- {
41
- streams: { text: 'Some content...' }
42
- }
43
- ]
44
- }
45
- ]
46
- })
47
- end
48
-
49
- it 'returns a Hash when the output is content is a Hash' do
50
- RawParser.parse({ dummy: [{ streams: { text: 'Some content' } }] })
51
- .must_equal(
52
- {
53
- interfaces: [
54
- {
55
- name: 'dummy',
56
- lines: [
57
- {
58
- streams: {
59
- text: 'Some content'
60
- }
61
- }
62
- ]
63
- }
64
- ]
65
- }
66
- )
67
- end
68
-
69
- it 'returns a Hash when the output is empty' do
70
- RawParser.parse({}).must_equal({ interfaces: [] })
71
- end
72
- end
73
- end
74
- end
@@ -1,71 +0,0 @@
1
- require 'test_helper'
2
- require 'vedeu/support/helpers'
3
-
4
- module Vedeu
5
- class TestHelpers
6
- include Helpers
7
- end
8
-
9
- describe Helpers do
10
- describe '.line' do
11
- it 'returns the block with line returns removed' do
12
- skip
13
- end
14
- end
15
-
16
- describe '.foreground' do
17
- it 'returns an escape sequence for the specified CSS foreground' do
18
- TestHelpers.new.foreground('#a5f500').must_equal("\e[38;5;148m")
19
- end
20
-
21
- it 'returns an escape sequence plus interpolation when a block is given' do
22
- TestHelpers.new.foreground('#a5f500') { 'Some text' }
23
- .must_equal("\e[38;5;148mSome text\e[38;2;39m")
24
- end
25
- end
26
-
27
- describe '.background' do
28
- it 'returns an escape sequence for the specified CSS background' do
29
- TestHelpers.new.background('#2f2f2f').must_equal("\e[48;5;16m")
30
- end
31
-
32
- it 'returns an escape sequence plus interpolation when a block is given' do
33
- TestHelpers.new.background('#2f2f2f') { 'Some text' }
34
- .must_equal("\e[48;5;16mSome text\e[48;2;49m")
35
- end
36
- end
37
-
38
- describe '.colour' do
39
- it 'returns an escape sequence for the specified CSS colours' do
40
- TestHelpers.new.colour({ background: '#2f2f2f', foreground: '#a5ff00' })
41
- .must_equal("\e[38;5;154m\e[48;5;16m")
42
- end
43
-
44
- it 'returns an escape sequence plus interpolation when a block is given' do
45
- TestHelpers.new.colour({ background: '#2f2f2f', foreground: '#a5ff00' }) { 'Some text' }
46
- .must_equal("\e[38;5;154m\e[48;5;16mSome text\e[38;2;39m\e[48;2;49m")
47
- end
48
- end
49
-
50
- describe '.style' do
51
- it 'returns an escape sequence for multiple styles' do
52
- TestHelpers.new.style('bold', 'underline')
53
- .must_equal("\e[1m\e[4m")
54
- end
55
-
56
- it 'returns an escape sequence for a style' do
57
- TestHelpers.new.style('colour_reset')
58
- .must_equal("\e[38;2;39m\e[48;2;49m")
59
- end
60
-
61
- it 'returns an empty string for no styles' do
62
- TestHelpers.new.style.must_equal('')
63
- end
64
-
65
- it 'returns an escape sequence plus interpolation when a block is given' do
66
- TestHelpers.new.style('bold', 'underline') { 'Some text' }
67
- .must_equal("\e[1m\e[4mSome text\e[0m")
68
- end
69
- end
70
- end
71
- end