vedeu 0.6.35 → 0.6.36

Sign up to get free protection for your applications and to get access to all the features.
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