vedeu 0.8.8 → 0.8.9

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 (85) hide show
  1. checksums.yaml +4 -4
  2. data/docs/dsl/by_method/focus_by_name.md +6 -1
  3. data/docs/dsl/by_method/focus_next.md +7 -0
  4. data/docs/dsl/by_method/focus_previous.md +7 -0
  5. data/docs/events/by_name/mouse_event.md +8 -0
  6. data/lib/vedeu.rb +12 -0
  7. data/lib/vedeu/all.rb +2 -0
  8. data/lib/vedeu/application/controller.rb +2 -6
  9. data/lib/vedeu/buffers/empty.rb +2 -1
  10. data/lib/vedeu/cells/borders/vertices/bottom_left.rb +1 -1
  11. data/lib/vedeu/cells/borders/vertices/bottom_right.rb +1 -1
  12. data/lib/vedeu/cells/borders/vertices/top_left.rb +1 -1
  13. data/lib/vedeu/cells/borders/vertices/top_right.rb +1 -1
  14. data/lib/vedeu/cells/char.rb +2 -6
  15. data/lib/vedeu/cells/cursor.rb +1 -1
  16. data/lib/vedeu/cells/support/html.rb +6 -18
  17. data/lib/vedeu/coercers/all.rb +18 -1
  18. data/lib/vedeu/coercers/chars.rb +29 -0
  19. data/lib/vedeu/coercers/coercer.rb +59 -0
  20. data/lib/vedeu/coercers/colour.rb +15 -33
  21. data/lib/vedeu/coercers/colour_attributes.rb +8 -3
  22. data/lib/vedeu/coercers/editor_line.rb +36 -0
  23. data/lib/vedeu/coercers/editor_lines.rb +36 -0
  24. data/lib/vedeu/coercers/lines.rb +36 -0
  25. data/lib/vedeu/coercers/page.rb +52 -0
  26. data/lib/vedeu/coercers/position.rb +69 -0
  27. data/lib/vedeu/coercers/row.rb +43 -0
  28. data/lib/vedeu/coercers/streams.rb +29 -0
  29. data/lib/vedeu/coercers/style.rb +54 -0
  30. data/lib/vedeu/configuration/api.rb +10 -0
  31. data/lib/vedeu/configuration/configuration.rb +11 -0
  32. data/lib/vedeu/cursors/coordinate.rb +41 -66
  33. data/lib/vedeu/cursors/cursor.rb +4 -4
  34. data/lib/vedeu/cursors/reposition.rb +3 -3
  35. data/lib/vedeu/dsl/border.rb +2 -39
  36. data/lib/vedeu/dsl/elements.rb +5 -6
  37. data/lib/vedeu/dsl/geometry.rb +3 -12
  38. data/lib/vedeu/editor/cropper.rb +2 -1
  39. data/lib/vedeu/error.rb +4 -0
  40. data/lib/vedeu/geometries/position.rb +14 -27
  41. data/lib/vedeu/input/mouse.rb +14 -5
  42. data/lib/vedeu/input/read.rb +1 -11
  43. data/lib/vedeu/interfaces/clear.rb +2 -1
  44. data/lib/vedeu/logging/log.rb +1 -1
  45. data/lib/vedeu/models/page.rb +5 -23
  46. data/lib/vedeu/models/row.rb +5 -14
  47. data/lib/vedeu/models/toggleable.rb +2 -7
  48. data/lib/vedeu/plugins/plugin.rb +1 -0
  49. data/lib/vedeu/presentation/style.rb +4 -20
  50. data/lib/vedeu/renderers/all.rb +24 -10
  51. data/lib/vedeu/repositories/model.rb +2 -8
  52. data/lib/vedeu/repositories/registerable.rb +4 -9
  53. data/lib/vedeu/runtime/application.rb +2 -0
  54. data/lib/vedeu/runtime/flags.rb +2 -0
  55. data/lib/vedeu/runtime/router.rb +2 -0
  56. data/lib/vedeu/support/point.rb +9 -7
  57. data/lib/vedeu/support/x_coordinate.rb +57 -0
  58. data/lib/vedeu/support/y_coordinate.rb +57 -0
  59. data/lib/vedeu/terminal/terminal.rb +2 -0
  60. data/lib/vedeu/version.rb +1 -1
  61. data/lib/vedeu/views/value.rb +3 -12
  62. data/test/lib/vedeu/coercers/chars_test.rb +33 -0
  63. data/test/lib/vedeu/coercers/coercer_test.rb +34 -0
  64. data/test/lib/vedeu/coercers/colour_test.rb +9 -7
  65. data/test/lib/vedeu/coercers/editor_line_test.rb +40 -0
  66. data/test/lib/vedeu/coercers/editor_lines_test.rb +40 -0
  67. data/test/lib/vedeu/coercers/lines_test.rb +40 -0
  68. data/test/lib/vedeu/coercers/page_test.rb +150 -0
  69. data/test/lib/vedeu/coercers/position_test.rb +76 -0
  70. data/test/lib/vedeu/coercers/row_test.rb +64 -0
  71. data/test/lib/vedeu/coercers/streams_test.rb +33 -0
  72. data/test/lib/vedeu/coercers/style_test.rb +62 -0
  73. data/test/lib/vedeu/cursors/coordinate_test.rb +11 -12
  74. data/test/lib/vedeu/geometries/position_test.rb +10 -54
  75. data/test/lib/vedeu/input/capture_test.rb +1 -1
  76. data/test/lib/vedeu/models/page_test.rb +4 -116
  77. data/test/lib/vedeu/models/row_test.rb +1 -31
  78. data/test/lib/vedeu/presentation/style_test.rb +4 -38
  79. data/test/lib/vedeu/renderers/all_test.rb +6 -0
  80. data/test/lib/vedeu/support/point_test.rb +13 -1
  81. data/test/lib/vedeu/support/x_coordinate_test.rb +64 -0
  82. data/test/lib/vedeu/support/y_coordinate_test.rb +64 -0
  83. data/test/support/examples/material_colours_app.rb +1 -0
  84. data/vedeu.gemspec +1 -1
  85. metadata +41 -4
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
4
+
5
+ module Vedeu
6
+
7
+ describe XCoordinate do
8
+
9
+ let(:described) { Vedeu::XCoordinate }
10
+ let(:instance) { described.new(geometry) }
11
+ let(:geometry) {}
12
+
13
+ describe '#initialize' do
14
+ it { instance.must_be_instance_of(described) }
15
+ it { instance.instance_variable_get("@geometry").must_equal(geometry) }
16
+ end
17
+
18
+ describe '#d' do
19
+ subject { instance.d }
20
+
21
+ # it { subject.must_be_instance_of(Fixnum) }
22
+ # it { subject.must_equal() }
23
+ end
24
+
25
+ describe '#x' do
26
+ it { instance.must_respond_to(:x) }
27
+ end
28
+
29
+ describe '#bd' do
30
+ subject { instance.bd }
31
+
32
+ # it { subject.must_be_instance_of(Fixnum) }
33
+ # it { subject.must_equal() }
34
+ end
35
+
36
+ describe '#bx' do
37
+ it { instance.must_respond_to(:bx) }
38
+ end
39
+
40
+ describe '#bdn' do
41
+ subject { instance.bdn }
42
+
43
+ # it { subject.must_be_instance_of(Fixnum) }
44
+ # it { subject.must_equal() }
45
+ end
46
+
47
+ describe '#bxn' do
48
+ it { instance.must_respond_to(:bxn) }
49
+ end
50
+
51
+ describe '#d_dn' do
52
+ subject { instance.d_dn }
53
+
54
+ # it { subject.must_be_instance_of(Fixnum) }
55
+ # it { subject.must_equal() }
56
+ end
57
+
58
+ describe '#bordered_width' do
59
+ it { instance.must_respond_to(:bordered_width) }
60
+ end
61
+
62
+ end # XCoordinate
63
+
64
+ end # Vedeu
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
4
+
5
+ module Vedeu
6
+
7
+ describe YCoordinate do
8
+
9
+ let(:described) { Vedeu::YCoordinate }
10
+ let(:instance) { described.new(geometry) }
11
+ let(:geometry) {}
12
+
13
+ describe '#initialize' do
14
+ it { instance.must_be_instance_of(described) }
15
+ it { instance.instance_variable_get("@geometry").must_equal(geometry) }
16
+ end
17
+
18
+ describe '#d' do
19
+ subject { instance.d }
20
+
21
+ # it { subject.must_be_instance_of(Fixnum) }
22
+ # it { subject.must_equal() }
23
+ end
24
+
25
+ describe '#y' do
26
+ it { instance.must_respond_to(:y) }
27
+ end
28
+
29
+ describe '#bd' do
30
+ subject { instance.bd }
31
+
32
+ # it { subject.must_be_instance_of(Fixnum) }
33
+ # it { subject.must_equal() }
34
+ end
35
+
36
+ describe '#by' do
37
+ it { instance.must_respond_to(:by) }
38
+ end
39
+
40
+ describe '#bdn' do
41
+ subject { instance.bdn }
42
+
43
+ # it { subject.must_be_instance_of(Fixnum) }
44
+ # it { subject.must_equal() }
45
+ end
46
+
47
+ describe '#byn' do
48
+ it { instance.must_respond_to(:byn) }
49
+ end
50
+
51
+ describe '#d_dn' do
52
+ subject { instance.d_dn }
53
+
54
+ # it { subject.must_be_instance_of(Fixnum) }
55
+ # it { subject.must_equal() }
56
+ end
57
+
58
+ describe '#bordered_height' do
59
+ it { instance.must_respond_to(:bordered_height) }
60
+ end
61
+
62
+ end # YCoordinate
63
+
64
+ end # Vedeu
@@ -25,6 +25,7 @@ class VedeuMaterialColoursApp
25
25
  # width 20
26
26
  renderers(Vedeu::Renderers::Terminal.new,
27
27
  Vedeu::Renderers::File.new(filename: '/tmp/material_colours.out'))
28
+ threaded false
28
29
  end
29
30
 
30
31
  class CursorView
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency 'guard', '2.13.0'
24
24
  spec.add_development_dependency 'guard-minitest', '2.4.4'
25
25
  spec.add_development_dependency 'guard-rubocop', '1.2.0'
26
- spec.add_development_dependency 'minitest', '5.8.3'
26
+ spec.add_development_dependency 'minitest', '5.8.4'
27
27
  spec.add_development_dependency 'minitest-reporters', '1.1.7'
28
28
  spec.add_development_dependency 'mocha', '1.1.0'
29
29
  spec.add_development_dependency 'rubocop', '0.36.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vedeu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.8
4
+ version: 0.8.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gavin Laking
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-21 00:00:00.000000000 Z
11
+ date: 2016-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: guard
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 5.8.3
61
+ version: 5.8.4
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 5.8.3
68
+ version: 5.8.4
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: minitest-reporters
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -435,6 +435,7 @@ files:
435
435
  - docs/events/by_name/menu_top.md
436
436
  - docs/events/by_name/menu_view.md
437
437
  - docs/events/by_name/mode_switch.md
438
+ - docs/events/by_name/mouse_event.md
438
439
  - docs/events/by_name/movement_refresh.md
439
440
  - docs/events/by_name/refresh.md
440
441
  - docs/events/by_name/refresh_border.md
@@ -604,9 +605,19 @@ files:
604
605
  - lib/vedeu/cells/support/html.rb
605
606
  - lib/vedeu/coercers/alignment.rb
606
607
  - lib/vedeu/coercers/all.rb
608
+ - lib/vedeu/coercers/chars.rb
609
+ - lib/vedeu/coercers/coercer.rb
607
610
  - lib/vedeu/coercers/colour.rb
608
611
  - lib/vedeu/coercers/colour_attributes.rb
612
+ - lib/vedeu/coercers/editor_line.rb
613
+ - lib/vedeu/coercers/editor_lines.rb
609
614
  - lib/vedeu/coercers/horizontal_alignment.rb
615
+ - lib/vedeu/coercers/lines.rb
616
+ - lib/vedeu/coercers/page.rb
617
+ - lib/vedeu/coercers/position.rb
618
+ - lib/vedeu/coercers/row.rb
619
+ - lib/vedeu/coercers/streams.rb
620
+ - lib/vedeu/coercers/style.rb
610
621
  - lib/vedeu/coercers/vertical_alignment.rb
611
622
  - lib/vedeu/colours/all.rb
612
623
  - lib/vedeu/colours/background.rb
@@ -788,6 +799,8 @@ files:
788
799
  - lib/vedeu/runtime/traps.rb
789
800
  - lib/vedeu/sentence.rb
790
801
  - lib/vedeu/support/point.rb
802
+ - lib/vedeu/support/x_coordinate.rb
803
+ - lib/vedeu/support/y_coordinate.rb
791
804
  - lib/vedeu/templating/all.rb
792
805
  - lib/vedeu/templating/decoder.rb
793
806
  - lib/vedeu/templating/encoder.rb
@@ -848,9 +861,19 @@ files:
848
861
  - test/lib/vedeu/cells/escape_test.rb
849
862
  - test/lib/vedeu/cells/support/html_test.rb
850
863
  - test/lib/vedeu/coercers/alignment_test.rb
864
+ - test/lib/vedeu/coercers/chars_test.rb
865
+ - test/lib/vedeu/coercers/coercer_test.rb
851
866
  - test/lib/vedeu/coercers/colour_attributes_test.rb
852
867
  - test/lib/vedeu/coercers/colour_test.rb
868
+ - test/lib/vedeu/coercers/editor_line_test.rb
869
+ - test/lib/vedeu/coercers/editor_lines_test.rb
853
870
  - test/lib/vedeu/coercers/horizontal_alignment_test.rb
871
+ - test/lib/vedeu/coercers/lines_test.rb
872
+ - test/lib/vedeu/coercers/page_test.rb
873
+ - test/lib/vedeu/coercers/position_test.rb
874
+ - test/lib/vedeu/coercers/row_test.rb
875
+ - test/lib/vedeu/coercers/streams_test.rb
876
+ - test/lib/vedeu/coercers/style_test.rb
854
877
  - test/lib/vedeu/coercers/vertical_alignment_test.rb
855
878
  - test/lib/vedeu/colours/background_test.rb
856
879
  - test/lib/vedeu/colours/backgrounds_test.rb
@@ -997,6 +1020,8 @@ files:
997
1020
  - test/lib/vedeu/runtime/traps_test.rb
998
1021
  - test/lib/vedeu/sentence_test.rb
999
1022
  - test/lib/vedeu/support/point_test.rb
1023
+ - test/lib/vedeu/support/x_coordinate_test.rb
1024
+ - test/lib/vedeu/support/y_coordinate_test.rb
1000
1025
  - test/lib/vedeu/templating/decoder_test.rb
1001
1026
  - test/lib/vedeu/templating/encoder_test.rb
1002
1027
  - test/lib/vedeu/templating/helpers_test.rb
@@ -1098,9 +1123,19 @@ test_files:
1098
1123
  - test/lib/vedeu/cells/escape_test.rb
1099
1124
  - test/lib/vedeu/cells/support/html_test.rb
1100
1125
  - test/lib/vedeu/coercers/alignment_test.rb
1126
+ - test/lib/vedeu/coercers/chars_test.rb
1127
+ - test/lib/vedeu/coercers/coercer_test.rb
1101
1128
  - test/lib/vedeu/coercers/colour_attributes_test.rb
1102
1129
  - test/lib/vedeu/coercers/colour_test.rb
1130
+ - test/lib/vedeu/coercers/editor_line_test.rb
1131
+ - test/lib/vedeu/coercers/editor_lines_test.rb
1103
1132
  - test/lib/vedeu/coercers/horizontal_alignment_test.rb
1133
+ - test/lib/vedeu/coercers/lines_test.rb
1134
+ - test/lib/vedeu/coercers/page_test.rb
1135
+ - test/lib/vedeu/coercers/position_test.rb
1136
+ - test/lib/vedeu/coercers/row_test.rb
1137
+ - test/lib/vedeu/coercers/streams_test.rb
1138
+ - test/lib/vedeu/coercers/style_test.rb
1104
1139
  - test/lib/vedeu/coercers/vertical_alignment_test.rb
1105
1140
  - test/lib/vedeu/colours/background_test.rb
1106
1141
  - test/lib/vedeu/colours/backgrounds_test.rb
@@ -1247,6 +1282,8 @@ test_files:
1247
1282
  - test/lib/vedeu/runtime/traps_test.rb
1248
1283
  - test/lib/vedeu/sentence_test.rb
1249
1284
  - test/lib/vedeu/support/point_test.rb
1285
+ - test/lib/vedeu/support/x_coordinate_test.rb
1286
+ - test/lib/vedeu/support/y_coordinate_test.rb
1250
1287
  - test/lib/vedeu/templating/decoder_test.rb
1251
1288
  - test/lib/vedeu/templating/encoder_test.rb
1252
1289
  - test/lib/vedeu/templating/helpers_test.rb