vedeu 0.6.35 → 0.6.36

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 (32) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +3 -3
  3. data/examples/dsl_alignment.rb +162 -0
  4. data/examples/{demo_groups.rb → dsl_demo_groups.rb} +0 -0
  5. data/examples/{hello_worlds.rb → dsl_hello_worlds.rb} +0 -0
  6. data/examples/{alignment.rb → dsl_horizontal_alignment.rb} +13 -25
  7. data/examples/dsl_vertical_alignment.rb +183 -0
  8. data/lib/vedeu/geometry/alignment.rb +14 -25
  9. data/lib/vedeu/geometry/all.rb +4 -0
  10. data/lib/vedeu/geometry/area.rb +18 -17
  11. data/lib/vedeu/geometry/dimension.rb +61 -19
  12. data/lib/vedeu/geometry/dsl.rb +193 -13
  13. data/lib/vedeu/geometry/geometry.rb +58 -38
  14. data/lib/vedeu/geometry/horizontal_alignment.rb +25 -0
  15. data/lib/vedeu/geometry/vertical_alignment.rb +25 -0
  16. data/lib/vedeu/geometry/x_dimension.rb +33 -0
  17. data/lib/vedeu/geometry/y_dimension.rb +33 -0
  18. data/lib/vedeu/output/compressor.rb +9 -6
  19. data/lib/vedeu/output/renderers/file.rb +35 -11
  20. data/lib/vedeu/output/renderers/json.rb +2 -2
  21. data/lib/vedeu/version.rb +1 -1
  22. data/test/lib/vedeu/geometry/alignment_test.rb +4 -70
  23. data/test/lib/vedeu/geometry/area_test.rb +24 -22
  24. data/test/lib/vedeu/geometry/dimension_test.rb +97 -189
  25. data/test/lib/vedeu/geometry/dsl_test.rb +191 -24
  26. data/test/lib/vedeu/geometry/geometry_test.rb +31 -26
  27. data/test/lib/vedeu/geometry/horizontal_alignment_test.rb +61 -0
  28. data/test/lib/vedeu/geometry/vertical_alignment_test.rb +55 -0
  29. data/test/lib/vedeu/geometry/x_dimension_test.rb +74 -0
  30. data/test/lib/vedeu/geometry/y_dimension_test.rb +74 -0
  31. data/test/lib/vedeu/output/renderers/file_test.rb +6 -4
  32. metadata +19 -5
@@ -10,42 +10,45 @@ module Vedeu
10
10
  let(:instance) { described.new(attributes) }
11
11
  let(:attributes) {
12
12
  {
13
- alignment: alignment,
14
- centred: centred,
15
- client: client,
16
- height: height,
17
- maximised: maximised,
18
- name: _name,
19
- repository: Vedeu.geometries,
20
- width: width,
21
- x: x,
22
- xn: xn,
23
- y: y,
24
- yn: yn,
13
+ centred: centred,
14
+ client: client,
15
+ height: height,
16
+ horizontal_alignment: horizontal_alignment,
17
+ maximised: maximised,
18
+ name: _name,
19
+ repository: Vedeu.geometries,
20
+ vertical_alignment: vertical_alignment,
21
+ width: width,
22
+ x: x,
23
+ xn: xn,
24
+ y: y,
25
+ yn: yn,
25
26
  }
26
27
  }
27
- let(:alignment) {}
28
- let(:centred) { false }
29
- let(:client) {}
30
- let(:height) {}
31
- let(:maximised) { false }
32
- let(:_name) { 'vedeu_geometry_geometry' }
33
- let(:width) {}
34
- let(:x) {}
35
- let(:xn) {}
36
- let(:y) {}
37
- let(:yn) {}
28
+ let(:centred) { false }
29
+ let(:client) {}
30
+ let(:height) {}
31
+ let(:horizontal_alignment) {}
32
+ let(:maximised) { false }
33
+ let(:_name) { 'vedeu_geometry_geometry' }
34
+ let(:vertical_alignment) {}
35
+ let(:width) {}
36
+ let(:x) {}
37
+ let(:xn) {}
38
+ let(:y) {}
39
+ let(:yn) {}
38
40
 
39
41
  before { Vedeu::Terminal.stubs(:size).returns([12, 40]) }
40
42
 
41
43
  describe '#initialize' do
42
44
  it { instance.must_be_instance_of(described) }
43
- it { instance.instance_variable_get('@alignment').must_equal(alignment) }
44
45
  it { instance.instance_variable_get('@centred').must_equal(centred) }
45
46
  it { instance.instance_variable_get('@client').must_equal(client) }
46
47
  it { instance.instance_variable_get('@height').must_equal(height) }
48
+ it { instance.instance_variable_get('@horizontal_alignment').must_equal(horizontal_alignment) }
47
49
  it { instance.instance_variable_get('@maximised').must_equal(maximised) }
48
50
  it { instance.instance_variable_get('@name').must_equal(_name) }
51
+ it { instance.instance_variable_get('@vertical_alignment').must_equal(vertical_alignment) }
49
52
  it { instance.instance_variable_get('@width').must_equal(width) }
50
53
  it { instance.instance_variable_get('@x').must_equal(x) }
51
54
  it { instance.instance_variable_get('@xn').must_equal(xn) }
@@ -59,16 +62,18 @@ module Vedeu
59
62
 
60
63
  describe 'accessors' do
61
64
  it {
62
- instance.must_respond_to(:alignment)
63
- instance.must_respond_to(:alignment=)
64
65
  instance.must_respond_to(:centred)
65
66
  instance.must_respond_to(:centred=)
66
67
  instance.must_respond_to(:name)
67
68
  instance.must_respond_to(:name=)
68
69
  instance.must_respond_to(:height=)
70
+ instance.must_respond_to(:horizontal_alignment)
71
+ instance.must_respond_to(:horizontal_alignment=)
69
72
  instance.must_respond_to(:maximised)
70
73
  instance.must_respond_to(:maximised?)
71
74
  instance.must_respond_to(:maximised=)
75
+ instance.must_respond_to(:vertical_alignment)
76
+ instance.must_respond_to(:vertical_alignment=)
72
77
  instance.must_respond_to(:width=)
73
78
  instance.must_respond_to(:x=)
74
79
  instance.must_respond_to(:xn=)
@@ -0,0 +1,61 @@
1
+ require 'test_helper'
2
+
3
+ module Vedeu
4
+
5
+ module Geometry
6
+
7
+ describe HorizontalAlignment do
8
+
9
+ let(:described) { Vedeu::Geometry::HorizontalAlignment }
10
+ let(:instance) { described.new(_value) }
11
+ let(:_value) {}
12
+
13
+ describe '.align' do
14
+ subject { described.align(_value) }
15
+
16
+ context 'when the value is nil' do
17
+ it { subject.must_equal(:none) }
18
+ end
19
+
20
+ context 'when the value is not a Symbol' do
21
+ let(:_value) { 'invalid' }
22
+
23
+ it { subject.must_equal(:none) }
24
+ end
25
+
26
+ context 'when the value is :center' do
27
+ let(:_value) { :center }
28
+
29
+ it { subject.must_equal(:centre) }
30
+ end
31
+
32
+ context 'when the value is :centre' do
33
+ let(:_value) { :centre }
34
+
35
+ it { subject.must_equal(:centre) }
36
+ end
37
+
38
+ context 'when the value is :left' do
39
+ let(:_value) { :left }
40
+
41
+ it { subject.must_equal(:left) }
42
+ end
43
+
44
+ context 'when the value is :right' do
45
+ let(:_value) { :right }
46
+
47
+ it { subject.must_equal(:right) }
48
+ end
49
+
50
+ context 'when the value is :align_invalid' do
51
+ let(:_value) { :align_invalid }
52
+
53
+ it { proc { subject }.must_raise(Vedeu::Error::InvalidSyntax) }
54
+ end
55
+ end
56
+
57
+ end # HorizontalAlignment
58
+
59
+ end # Geometry
60
+
61
+ end # Vedeu
@@ -0,0 +1,55 @@
1
+ require 'test_helper'
2
+
3
+ module Vedeu
4
+
5
+ module Geometry
6
+
7
+ describe VerticalAlignment do
8
+
9
+ let(:described) { Vedeu::Geometry::VerticalAlignment }
10
+ let(:instance) { described.new(_value) }
11
+ let(:_value) {}
12
+
13
+ describe '.align' do
14
+ subject { described.align(_value) }
15
+
16
+ context 'when the value is nil' do
17
+ it { subject.must_equal(:none) }
18
+ end
19
+
20
+ context 'when the value is not a Symbol' do
21
+ let(:_value) { 'invalid' }
22
+
23
+ it { subject.must_equal(:none) }
24
+ end
25
+
26
+ context 'when the value is :bottom' do
27
+ let(:_value) { :bottom }
28
+
29
+ it { subject.must_equal(:bottom) }
30
+ end
31
+
32
+ context 'when the value is :middle' do
33
+ let(:_value) { :middle }
34
+
35
+ it { subject.must_equal(:middle) }
36
+ end
37
+
38
+ context 'when the value is :top' do
39
+ let(:_value) { :top }
40
+
41
+ it { subject.must_equal(:top) }
42
+ end
43
+
44
+ context 'when the value is :align_invalid' do
45
+ let(:_value) { :align_invalid }
46
+
47
+ it { proc { subject }.must_raise(Vedeu::Error::InvalidSyntax) }
48
+ end
49
+ end
50
+
51
+ end # VerticalAlignment
52
+
53
+ end # Geometry
54
+
55
+ end # Vedeu
@@ -0,0 +1,74 @@
1
+ require 'test_helper'
2
+
3
+ module Vedeu
4
+
5
+ module Geometry
6
+
7
+ describe XDimension do
8
+
9
+ let(:described) { Vedeu::Geometry::XDimension }
10
+ let(:instance) { described.new(attributes) }
11
+ let(:attributes) {
12
+ {
13
+ d: d,
14
+ dn: dn,
15
+ d_dn: d_dn,
16
+ default: default,
17
+ maximised: maximised,
18
+ centred: centred,
19
+ horizontal_alignment: horizontal_alignment,
20
+ vertical_alignment: vertical_alignment,
21
+ }
22
+ }
23
+ let(:d) {}
24
+ let(:dn) {}
25
+ let(:d_dn) {}
26
+ let(:default) { Vedeu.width }
27
+ let(:maximised) {}
28
+ let(:centred) {}
29
+ let(:horizontal_alignment) {}
30
+ let(:vertical_alignment) {}
31
+
32
+ before do
33
+ Vedeu.stubs(:width).returns(24)
34
+ end
35
+
36
+ describe '#pair' do
37
+ subject { instance.pair }
38
+
39
+ it { subject.must_be_instance_of(Array) }
40
+
41
+ context 'with default attributes' do
42
+ it { subject.must_equal([1, 24]) }
43
+ end
44
+
45
+ context 'when maximised' do
46
+ let(:maximised) { true }
47
+
48
+ it { subject.must_equal([1, 24]) }
49
+ end
50
+
51
+ context 'when centre aligned' do
52
+ let(:horizontal_alignment) { :centre }
53
+
54
+ it { subject.must_equal([1, 24]) }
55
+ end
56
+
57
+ context 'when left aligned' do
58
+ let(:horizontal_alignment) { :left }
59
+
60
+ it { subject.must_equal([1, 24]) }
61
+ end
62
+
63
+ context 'when right aligned' do
64
+ let(:horizontal_alignment) { :right }
65
+
66
+ it { subject.must_equal([1, 24]) }
67
+ end
68
+ end
69
+
70
+ end # XDimension
71
+
72
+ end # Geometry
73
+
74
+ end # Vedeu
@@ -0,0 +1,74 @@
1
+ require 'test_helper'
2
+
3
+ module Vedeu
4
+
5
+ module Geometry
6
+
7
+ describe YDimension do
8
+
9
+ let(:described) { Vedeu::Geometry::YDimension }
10
+ let(:instance) { described.new(attributes) }
11
+ let(:attributes) {
12
+ {
13
+ d: d,
14
+ dn: dn,
15
+ d_dn: d_dn,
16
+ default: default,
17
+ maximised: maximised,
18
+ centred: centred,
19
+ horizontal_alignment: horizontal_alignment,
20
+ vertical_alignment: vertical_alignment,
21
+ }
22
+ }
23
+ let(:d) {}
24
+ let(:dn) {}
25
+ let(:d_dn) {}
26
+ let(:default) { Vedeu.height }
27
+ let(:maximised) {}
28
+ let(:centred) {}
29
+ let(:horizontal_alignment) {}
30
+ let(:vertical_alignment) {}
31
+
32
+ before do
33
+ Vedeu.stubs(:height).returns(12)
34
+ end
35
+
36
+ describe '#pair' do
37
+ subject { instance.pair }
38
+
39
+ it { subject.must_be_instance_of(Array) }
40
+
41
+ context 'with default attributes' do
42
+ it { subject.must_equal([1, 12]) }
43
+ end
44
+
45
+ context 'when maximised' do
46
+ let(:maximised) { true }
47
+
48
+ it { subject.must_equal([1, 12]) }
49
+ end
50
+
51
+ context 'when bottom aligned' do
52
+ let(:vertical_alignment) { :bottom }
53
+
54
+ it { subject.must_equal([1, 12]) }
55
+ end
56
+
57
+ context 'when middle aligned' do
58
+ let(:vertical_alignment) { :middle }
59
+
60
+ it { subject.must_equal([1, 12]) }
61
+ end
62
+
63
+ context 'when top aligned' do
64
+ let(:vertical_alignment) { :top }
65
+
66
+ it { subject.must_equal([1, 12]) }
67
+ end
68
+ end
69
+
70
+ end # YDimension
71
+
72
+ end # Geometry
73
+
74
+ end # Vedeu
@@ -11,12 +11,14 @@ module Vedeu
11
11
  let(:output) { 'Some content...' }
12
12
  let(:options) {
13
13
  {
14
- filename: filename,
15
- timestamp: timestamp,
14
+ filename: filename,
15
+ timestamp: timestamp,
16
+ compression: compression,
16
17
  }
17
18
  }
18
- let(:filename) { 'vedeu_renderers_file' }
19
- let(:timestamp) { false }
19
+ let(:filename) { 'vedeu_renderers_file' }
20
+ let(:timestamp) { false }
21
+ let(:compression) { false }
20
22
 
21
23
  before { ::File.stubs(:write) }
22
24
 
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.6.35
4
+ version: 0.6.36
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gavin Laking
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-19 00:00:00.000000000 Z
11
+ date: 2015-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: guard
@@ -286,9 +286,11 @@ files:
286
286
  - docs/keymaps.md
287
287
  - docs/object_graph.md
288
288
  - docs/view.md
289
- - examples/alignment.rb
290
- - examples/demo_groups.rb
291
- - examples/hello_worlds.rb
289
+ - examples/dsl_alignment.rb
290
+ - examples/dsl_demo_groups.rb
291
+ - examples/dsl_hello_worlds.rb
292
+ - examples/dsl_horizontal_alignment.rb
293
+ - examples/dsl_vertical_alignment.rb
292
294
  - lib/vedeu.rb
293
295
  - lib/vedeu/all.rb
294
296
  - lib/vedeu/application/all.rb
@@ -379,9 +381,13 @@ files:
379
381
  - lib/vedeu/geometry/dsl.rb
380
382
  - lib/vedeu/geometry/geometry.rb
381
383
  - lib/vedeu/geometry/grid.rb
384
+ - lib/vedeu/geometry/horizontal_alignment.rb
382
385
  - lib/vedeu/geometry/null.rb
383
386
  - lib/vedeu/geometry/position.rb
384
387
  - lib/vedeu/geometry/repository.rb
388
+ - lib/vedeu/geometry/vertical_alignment.rb
389
+ - lib/vedeu/geometry/x_dimension.rb
390
+ - lib/vedeu/geometry/y_dimension.rb
385
391
  - lib/vedeu/groups/all.rb
386
392
  - lib/vedeu/groups/clear.rb
387
393
  - lib/vedeu/groups/dsl.rb
@@ -550,9 +556,13 @@ files:
550
556
  - test/lib/vedeu/geometry/dsl_test.rb
551
557
  - test/lib/vedeu/geometry/geometry_test.rb
552
558
  - test/lib/vedeu/geometry/grid_test.rb
559
+ - test/lib/vedeu/geometry/horizontal_alignment_test.rb
553
560
  - test/lib/vedeu/geometry/null_test.rb
554
561
  - test/lib/vedeu/geometry/position_test.rb
555
562
  - test/lib/vedeu/geometry/repository_test.rb
563
+ - test/lib/vedeu/geometry/vertical_alignment_test.rb
564
+ - test/lib/vedeu/geometry/x_dimension_test.rb
565
+ - test/lib/vedeu/geometry/y_dimension_test.rb
556
566
  - test/lib/vedeu/groups/clear_test.rb
557
567
  - test/lib/vedeu/groups/dsl_test.rb
558
568
  - test/lib/vedeu/groups/group_test.rb
@@ -750,9 +760,13 @@ test_files:
750
760
  - test/lib/vedeu/geometry/dsl_test.rb
751
761
  - test/lib/vedeu/geometry/geometry_test.rb
752
762
  - test/lib/vedeu/geometry/grid_test.rb
763
+ - test/lib/vedeu/geometry/horizontal_alignment_test.rb
753
764
  - test/lib/vedeu/geometry/null_test.rb
754
765
  - test/lib/vedeu/geometry/position_test.rb
755
766
  - test/lib/vedeu/geometry/repository_test.rb
767
+ - test/lib/vedeu/geometry/vertical_alignment_test.rb
768
+ - test/lib/vedeu/geometry/x_dimension_test.rb
769
+ - test/lib/vedeu/geometry/y_dimension_test.rb
756
770
  - test/lib/vedeu/groups/clear_test.rb
757
771
  - test/lib/vedeu/groups/dsl_test.rb
758
772
  - test/lib/vedeu/groups/group_test.rb