rubyvis 0.6.1 → 0.7.0
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.
- checksums.yaml +5 -5
- data/.travis.yml +6 -6
- data/Gemfile +1 -1
- data/Gemfile.lock +27 -21
- data/History.txt +10 -0
- data/lib/rubyvis.rb +1 -4
- data/lib/rubyvis/mark/panel.rb +1 -1
- data/lib/rubyvis/scene/svg_line.rb +0 -1
- data/lib/rubyvis/scene/svg_panel.rb +3 -0
- data/lib/rubyvis/scene/svg_rule.rb +0 -1
- data/lib/rubyvis/sceneelement.rb +1 -0
- data/lib/rubyvis/version.rb +6 -0
- data/rubyvis.gemspec +1 -2
- data/spec/anchor_spec.rb +11 -11
- data/spec/area_spec.rb +10 -10
- data/spec/bar_spec.rb +13 -13
- data/spec/color_spec.rb +24 -24
- data/spec/dom_spec.rb +77 -77
- data/spec/dot_spec.rb +3 -3
- data/spec/flatten_spec.rb +2 -2
- data/spec/histogram_spec.rb +5 -5
- data/spec/image_spec.rb +2 -2
- data/spec/internal_spec.rb +58 -58
- data/spec/javascript_behaviour_spec.rb +14 -14
- data/spec/label_spec.rb +9 -9
- data/spec/layout_arc_spec.rb +5 -5
- data/spec/layout_cluster_spec.rb +4 -4
- data/spec/layout_grid_spec.rb +5 -5
- data/spec/layout_horizon_spec.rb +5 -5
- data/spec/layout_indent_spec.rb +3 -3
- data/spec/layout_matrix_spec.rb +6 -6
- data/spec/layout_pack_spec.rb +2 -2
- data/spec/layout_partition_spec.rb +4 -4
- data/spec/layout_stack_spec.rb +11 -11
- data/spec/layout_tree_spec.rb +4 -4
- data/spec/layout_treemap_spec.rb +2 -2
- data/spec/line_spec.rb +14 -14
- data/spec/mark_spec.rb +7 -7
- data/spec/nest_spec.rb +3 -3
- data/spec/panel_spec.rb +10 -10
- data/spec/readme_spec.rb +6 -6
- data/spec/ruby_api_spec.rb +4 -4
- data/spec/rule_spec.rb +3 -3
- data/spec/scale_linear_datetime_spec.rb +23 -23
- data/spec/scale_linear_spec.rb +37 -37
- data/spec/scale_log_spec.rb +28 -28
- data/spec/scale_ordinal_spec.rb +21 -21
- data/spec/scale_spec.rb +2 -2
- data/spec/spec_helper.rb +6 -5
- data/spec/vector_spec.rb +8 -8
- data/spec/wedge_spec.rb +4 -4
- data/web/build_site.rb +1 -1
- metadata +4 -4
@@ -2,24 +2,24 @@ require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
|
2
2
|
describe "Javascript compatibility" do
|
3
3
|
it "extends Proc with js_apply and js_call" do
|
4
4
|
f=lambda {|a,b| a+b}
|
5
|
-
f.
|
6
|
-
f.
|
5
|
+
expect(f).to respond_to(:js_apply)
|
6
|
+
expect(f).to respond_to(:js_call)
|
7
7
|
end
|
8
8
|
it "lambdas should respond correctly to js_call with same numbers of arguments and parameters" do
|
9
9
|
o=OpenStruct.new :x=>15
|
10
10
|
f=lambda {|m1,m2| "#{m1}-#{m2}-#{self.x}"}
|
11
|
-
f.js_call(o,"a","b").
|
11
|
+
expect(f.js_call(o,"a","b")).to eq("a-b-15")
|
12
12
|
end
|
13
13
|
it "lambdas should respond correctly to js_call without arguments" do
|
14
14
|
o=OpenStruct.new :x=>15
|
15
15
|
f=lambda { self.x.to_s}
|
16
|
-
f.js_call(o).
|
16
|
+
expect(f.js_call(o)).to eq("15")
|
17
17
|
end
|
18
18
|
it "lambdas should respond correctly to js_call with different number or arguments" do
|
19
19
|
o=OpenStruct.new :x=>15
|
20
20
|
f=lambda {|a,b,c| [a,b,c]}
|
21
|
-
f.js_call(o,1).
|
22
|
-
f.js_call(o,1,2,3,4).
|
21
|
+
expect(f.js_call(o,1)).to eq([1,nil,nil])
|
22
|
+
expect(f.js_call(o,1,2,3,4)).to eq([1,2,3])
|
23
23
|
end
|
24
24
|
context "js_call using lambda with variable arguments" do
|
25
25
|
before do
|
@@ -27,37 +27,37 @@ describe "Javascript compatibility" do
|
|
27
27
|
@f=lambda {|a,b,*c| {:a=>a, :b=>b, :c=>c}}
|
28
28
|
end
|
29
29
|
it "should work without 0 parameters" do
|
30
|
-
@f.js_call(@o).
|
30
|
+
expect(@f.js_call(@o)).to eq({:a=>nil, :b=>nil, :c=>[]})
|
31
31
|
end
|
32
32
|
it "should work with required parameter and 0 optional" do
|
33
|
-
@f.js_call(@o,1,2).
|
33
|
+
expect(@f.js_call(@o,1,2)).to eq({:a=>1, :b=>2, :c=>[]})
|
34
34
|
end
|
35
35
|
it "should work with required and optional parameters" do
|
36
|
-
@f.js_call(@o,1,2,3,4).
|
36
|
+
expect(@f.js_call(@o,1,2,3,4)).to eq({:a=>1, :b=>2, :c=>[3,4]})
|
37
37
|
end
|
38
38
|
end
|
39
39
|
it "lambdas should respond correctly to js_apply" do
|
40
40
|
o=OpenStruct.new :x=>15
|
41
41
|
f=lambda {|m1,m2| "#{m1}-#{m2}-#{self.x}"}
|
42
|
-
f.js_apply(o, ["a","b"]).
|
42
|
+
expect(f.js_apply(o, ["a","b"])).to eq("a-b-15")
|
43
43
|
end
|
44
44
|
it "lambdas should respond correctly to js_apply with empty arguments" do
|
45
45
|
o=OpenStruct.new :x=>15
|
46
46
|
f=lambda { "#{self.x}"}
|
47
|
-
f.js_apply(o, []).
|
48
|
-
f.js_apply(o, [1]).
|
47
|
+
expect(f.js_apply(o, [])).to eq("15")
|
48
|
+
expect(f.js_apply(o, [1])).to eq("15")
|
49
49
|
|
50
50
|
end
|
51
51
|
|
52
52
|
it "lambdas should respond correctly to js_call with fewer parameters" do
|
53
53
|
o=OpenStruct.new :x=>15
|
54
54
|
f=lambda {|a,b,c| [a,b,c]}
|
55
|
-
f.js_apply(o,[1]).
|
55
|
+
expect(f.js_apply(o,[1])).to eq([1,nil,nil])
|
56
56
|
end
|
57
57
|
it "lambdas should respond correctly to js_call with more parameters" do
|
58
58
|
o=OpenStruct.new :x=>15
|
59
59
|
f=lambda {|a,b,c| [a,b,c]}
|
60
|
-
f.js_apply(o,[1,2,3,4]).
|
60
|
+
expect(f.js_apply(o,[1,2,3,4])).to eq([1,2,3])
|
61
61
|
end
|
62
62
|
|
63
63
|
|
data/spec/label_spec.rb
CHANGED
@@ -3,16 +3,16 @@ require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
|
3
3
|
it "should have correct properties" do
|
4
4
|
props=[:antialias, :bottom, :cursor, :data, :events, :font, :font_family, :font_style, :font_variant, :font_weight, :font_size, :id, :left, :reverse, :right, :text, :text_align, :text_angle, :text_baseline, :text_decoration, :text_margin, :text_shadow, :text_style, :title, :top, :visible].inject({}) {|ac, v| ac[v]=true; ac}
|
5
5
|
|
6
|
-
Rubyvis::Label.properties.
|
6
|
+
expect(Rubyvis::Label.properties).to eq(props)
|
7
7
|
end
|
8
8
|
it "should return correct defaults" do
|
9
9
|
props=Rubyvis::Bar.defaults._properties
|
10
|
-
props.size.
|
11
|
-
props[0].name.
|
12
|
-
props[0].value.
|
13
|
-
props[1].name.
|
14
|
-
props[1].value.
|
15
|
-
Rubyvis::Bar.defaults.proto.
|
10
|
+
expect(props.size).to eq(2)
|
11
|
+
expect(props[0].name).to eq(:line_width)
|
12
|
+
expect(props[0].value).to eq(1.5)
|
13
|
+
expect(props[1].name).to eq(:fill_style)
|
14
|
+
expect(props[1].value).to be_instance_of Proc
|
15
|
+
expect(Rubyvis::Bar.defaults.proto).to be_instance_of Rubyvis::Mark
|
16
16
|
|
17
17
|
end
|
18
18
|
context "on a Panel" do
|
@@ -30,7 +30,7 @@ require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
|
30
30
|
s=@vis.to_svg
|
31
31
|
doc=Nokogiri::XML(s)
|
32
32
|
#p doc.at_xpath("//xmlns:text")
|
33
|
-
doc.at_xpath("//xmlns:text").attributes['style'].value.
|
33
|
+
expect(doc.at_xpath("//xmlns:text").attributes['style'].value).to eq('font-size:20px')
|
34
34
|
end
|
35
35
|
|
36
36
|
it "should bould basic stuff properly " do
|
@@ -44,7 +44,7 @@ require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
|
44
44
|
|
45
45
|
attribs=doc.xpath("//xmlns:text").map {|v|
|
46
46
|
[v.attributes['y'].value, v.attributes['transform'].value, v.text] }
|
47
|
-
attribs.
|
47
|
+
expect(attribs).to eq([["-3","translate(0,100)","1"],["-3","translate(25,100)","2"]])
|
48
48
|
end
|
49
49
|
|
50
50
|
end
|
data/spec/layout_arc_spec.rb
CHANGED
@@ -2,11 +2,11 @@ require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
|
2
2
|
describe Rubyvis::Layout::Arc do
|
3
3
|
include Rubyvis::LayoutSpec
|
4
4
|
it "should have correct properties" do
|
5
|
-
props=[:antialias, :bottom, :canvas, :cursor, :data, :directed, :events, :fill_style, :height, :id, :left, :line_width, :links, :nodes, :orient, :overflow, :reverse, :right, :stroke_style, :title, :top, :transform, :visible, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
5
|
+
props=[:antialias, :bottom, :canvas, :cursor, :data, :directed, :events, :fill_style, :height, :id, :left, :line_width, :links, :nodes, :orient, :overflow, :reverse, :right, :stroke_style, :title, :top, :transform, :visible, :view_box, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
6
6
|
Rubyvis::Layout::Arc.properties.should==props
|
7
7
|
end
|
8
8
|
it "should be called using Rubyvis.Layout.Arc" do
|
9
|
-
Rubyvis.Layout.Arc.
|
9
|
+
expect(Rubyvis.Layout.Arc).to eql Rubyvis::Layout::Arc
|
10
10
|
end
|
11
11
|
describe "rendered" do
|
12
12
|
before do
|
@@ -49,18 +49,18 @@ describe Rubyvis::Layout::Arc do
|
|
49
49
|
|
50
50
|
it "should render correct number of clipaths" do
|
51
51
|
|
52
|
-
@rv_svg.xpath("//xmlns:path").size.
|
52
|
+
expect(@rv_svg.xpath("//xmlns:path").size).to eq @pv_svg.xpath("//path").size
|
53
53
|
end
|
54
54
|
it "should render equal paths (links)" do
|
55
55
|
pv_paths=@pv_svg.xpath("//path")
|
56
56
|
@rv_svg.xpath("//xmlns:path").each_with_index {|rv_path,i|
|
57
|
-
rv_path.
|
57
|
+
expect(rv_path).to have_path_data_close_to pv_paths[i]['d']
|
58
58
|
}
|
59
59
|
end
|
60
60
|
it "should render equal dots (nodes)" do
|
61
61
|
pv_circles=@pv_svg.xpath("//circle")
|
62
62
|
@rv_svg.xpath("//xmlns:circle").each_with_index {|rv_circle,i|
|
63
|
-
rv_circle.
|
63
|
+
expect(rv_circle).to have_same_position pv_circles[i]
|
64
64
|
}
|
65
65
|
|
66
66
|
end
|
data/spec/layout_cluster_spec.rb
CHANGED
@@ -2,11 +2,11 @@ require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
|
2
2
|
describe Rubyvis::Layout::Cluster do
|
3
3
|
include Rubyvis::LayoutSpec
|
4
4
|
it "should have correct properties" do
|
5
|
-
props=[:antialias, :bottom, :canvas, :cursor, :data, :events, :fill_style,:group, :height, :id, :inner_radius, :left, :line_width, :links, :nodes, :orient, :outer_radius, :overflow, :reverse, :right, :stroke_style, :title, :top, :transform, :visible, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
5
|
+
props=[:antialias, :bottom, :canvas, :cursor, :data, :events, :fill_style,:group, :height, :id, :inner_radius, :left, :line_width, :links, :nodes, :orient, :outer_radius, :overflow, :reverse, :right, :stroke_style, :title, :top, :transform, :visible, :view_box, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
6
6
|
Rubyvis::Layout::Cluster.properties.should==props
|
7
7
|
end
|
8
8
|
it "should be called using Rubyvis.Layout.Cluster" do
|
9
|
-
Rubyvis.Layout.Cluster.
|
9
|
+
expect(Rubyvis.Layout.Cluster).to eql Rubyvis::Layout::Cluster
|
10
10
|
end
|
11
11
|
describe "html tests" do
|
12
12
|
|
@@ -41,13 +41,13 @@ describe Rubyvis::Layout::Cluster do
|
|
41
41
|
@vis.render
|
42
42
|
@pv_out=fixture_svg_read("layout_cluster.svg")
|
43
43
|
File.open("test.svg","w") {|fp| fp.write(@vis.to_svg)}
|
44
|
-
@vis.to_svg.
|
44
|
+
expect(@vis.to_svg).to have_same_svg_elements(@pv_out)
|
45
45
|
end
|
46
46
|
it "should render correctly 'cluster_left_group_2.html' custom test" do
|
47
47
|
@cluster.orient("left").group(2)
|
48
48
|
@vis.render
|
49
49
|
@pv_out=fixture_svg_read("layout_cluster_left_group_2.svg")
|
50
|
-
@vis.to_svg.
|
50
|
+
expect(@vis.to_svg).to have_same_svg_elements(@pv_out)
|
51
51
|
end
|
52
52
|
end
|
53
53
|
end
|
data/spec/layout_grid_spec.rb
CHANGED
@@ -2,11 +2,11 @@ require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
|
2
2
|
describe Rubyvis::Layout::Grid do
|
3
3
|
include Rubyvis::LayoutSpec
|
4
4
|
it "should have correct properties" do
|
5
|
-
props=[:antialias, :bottom, :canvas, :cols, :cursor, :data, :events, :fill_style, :height, :id, :left, :line_width, :overflow, :reverse, :right, :rows, :stroke_style, :title, :top, :transform, :visible, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
5
|
+
props=[:antialias, :bottom, :canvas, :cols, :cursor, :data, :events, :fill_style, :height, :id, :left, :line_width, :overflow, :reverse, :right, :rows, :stroke_style, :title, :top, :transform, :visible, :view_box, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
6
6
|
Rubyvis::Layout::Grid.properties.should==props
|
7
7
|
end
|
8
8
|
it "Rubyvis.Layout.Grid be the same as Rubyvis::Layout::Grid" do
|
9
|
-
Rubyvis.Layout.Grid.
|
9
|
+
expect(Rubyvis.Layout.Grid).to eql Rubyvis::Layout::Grid
|
10
10
|
end
|
11
11
|
it "should render equal to protovis 'layout_grid.html' test" do
|
12
12
|
|
@@ -30,11 +30,11 @@ describe Rubyvis::Layout::Grid do
|
|
30
30
|
textStyle("rgba(255, 255, 255, .4)").
|
31
31
|
font("24px sans");
|
32
32
|
|
33
|
-
vis.render
|
33
|
+
vis.render
|
34
34
|
|
35
35
|
|
36
36
|
pv_out=fixture_svg_read("layout_grid.svg")
|
37
|
-
vis.to_svg.
|
37
|
+
expect(vis.to_svg).to have_same_svg_elements(pv_out)
|
38
38
|
end
|
39
39
|
|
40
|
-
end
|
40
|
+
end
|
data/spec/layout_horizon_spec.rb
CHANGED
@@ -3,11 +3,11 @@ describe Rubyvis::Layout::Horizon do
|
|
3
3
|
include Rubyvis::LayoutSpec
|
4
4
|
|
5
5
|
it "should have correct properties" do
|
6
|
-
props=[:antialias, :background_style, :bands, :bottom, :canvas, :cursor, :data, :events, :fill_style, :height, :id, :left, :line_width, :mode, :negative_style, :overflow, :positive_style, :reverse, :right, :stroke_style, :title, :top, :transform, :visible, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
6
|
+
props=[:antialias, :background_style, :bands, :bottom, :canvas, :cursor, :data, :events, :fill_style, :height, :id, :left, :line_width, :mode, :negative_style, :overflow, :positive_style, :reverse, :right, :stroke_style, :title, :top, :transform, :visible, :view_box, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
7
7
|
Rubyvis::Layout::Horizon.properties.should==props
|
8
8
|
end
|
9
9
|
it "should be called using Rubyvis.Layout.Horizon" do
|
10
|
-
Rubyvis.Layout.Horizon.
|
10
|
+
expect(Rubyvis.Layout.Horizon).to eql Rubyvis::Layout::Horizon
|
11
11
|
end
|
12
12
|
describe "rendered" do
|
13
13
|
before do
|
@@ -46,13 +46,13 @@ describe Rubyvis::Layout::Horizon do
|
|
46
46
|
|
47
47
|
it "should render correct number of clipaths" do
|
48
48
|
|
49
|
-
@rv_svg.xpath("//xmlns:clipPath[@id]").size.
|
49
|
+
expect(@rv_svg.xpath("//xmlns:clipPath[@id]").size).to eq @pv_svg.xpath("//clippath[@id]").size
|
50
50
|
end
|
51
51
|
it "should render equal paths" do
|
52
52
|
pv_paths=@pv_svg.xpath("//path")
|
53
53
|
@rv_svg.xpath("//xmlns:path").each_with_index {|rv_path,i|
|
54
|
-
rv_path.
|
55
|
-
rv_path['fill'].
|
54
|
+
expect(rv_path).to have_path_data_close_to pv_paths[i]['d']
|
55
|
+
expect(rv_path['fill']).to eq pv_paths[i]['fill']
|
56
56
|
}
|
57
57
|
end
|
58
58
|
end
|
data/spec/layout_indent_spec.rb
CHANGED
@@ -2,11 +2,11 @@ require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
|
2
2
|
describe Rubyvis::Layout::Indent do
|
3
3
|
include Rubyvis::LayoutSpec
|
4
4
|
it "should have correct properties" do
|
5
|
-
props=[:antialias, :bottom, :breadth, :canvas, :cursor, :data, :depth, :events, :fill_style, :height, :id, :left, :line_width, :links, :nodes, :overflow, :reverse, :right, :stroke_style, :title, :top, :transform, :visible, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
5
|
+
props=[:antialias, :bottom, :breadth, :canvas, :cursor, :data, :depth, :events, :fill_style, :height, :id, :left, :line_width, :links, :nodes, :overflow, :reverse, :right, :stroke_style, :title, :top, :transform, :visible, :view_box, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
6
6
|
Rubyvis::Layout::Indent.properties.should==props
|
7
7
|
end
|
8
8
|
it "should be called using Rubyvis.Layout.Indent" do
|
9
|
-
Rubyvis.Layout.Indent.
|
9
|
+
expect(Rubyvis.Layout.Indent).to eql Rubyvis::Layout::Indent
|
10
10
|
end
|
11
11
|
describe "rendered" do
|
12
12
|
before do
|
@@ -45,7 +45,7 @@ describe Rubyvis::Layout::Indent do
|
|
45
45
|
it "should render equal nodes (circles)" do
|
46
46
|
pv_rects=@pv_svg.xpath("//circle")
|
47
47
|
@rv_svg.xpath("//xmlns:circle").each_with_index {|rv_rect,i|
|
48
|
-
rv_rect.
|
48
|
+
expect(rv_rect).to have_same_position pv_rects[i]
|
49
49
|
}
|
50
50
|
|
51
51
|
end
|
data/spec/layout_matrix_spec.rb
CHANGED
@@ -3,7 +3,7 @@ describe Rubyvis::Layout::Matrix do
|
|
3
3
|
include Rubyvis::LayoutSpec
|
4
4
|
|
5
5
|
it "should have correct properties" do
|
6
|
-
props=[:antialias, :bottom, :canvas, :cursor, :data, :directed, :events, :fill_style, :height, :id, :left, :line_width, :links, :nodes, :overflow, :reverse, :right, :stroke_style, :title, :top, :transform, :visible, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
6
|
+
props=[:antialias, :bottom, :canvas, :cursor, :data, :directed, :events, :fill_style, :height, :id, :left, :line_width, :links, :nodes, :overflow, :reverse, :right, :stroke_style, :title, :top, :transform, :visible, :view_box, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
7
7
|
Rubyvis::Layout::Matrix.properties.should==props
|
8
8
|
end
|
9
9
|
describe "rendered" do
|
@@ -19,9 +19,9 @@ describe Rubyvis::Layout::Matrix do
|
|
19
19
|
left(50)
|
20
20
|
|
21
21
|
mat=@vis.add(Rubyvis::Layout.Matrix).
|
22
|
-
directed(true).
|
23
|
-
nodes(net_nodes).links(net_links).
|
24
|
-
sort(lambda {|a,b| a.group<=>b.group})
|
22
|
+
directed(true).
|
23
|
+
nodes(net_nodes).links(net_links).
|
24
|
+
sort(lambda {|a,b| a.group<=>b.group})
|
25
25
|
|
26
26
|
mat.link.add(pv.Bar).
|
27
27
|
fill_style(lambda {|l| l.link_value!=0 ?
|
@@ -38,12 +38,12 @@ sort(lambda {|a,b| a.group<=>b.group})
|
|
38
38
|
end
|
39
39
|
|
40
40
|
it "should render correct number of rects(links)" do
|
41
|
-
@rv_svg.xpath("//xmlns:rect").size.
|
41
|
+
expect(@rv_svg.xpath("//xmlns:rect").size).to eq @pv_svg.xpath("//rect").size
|
42
42
|
end
|
43
43
|
it "should render equal intersections (links)" do
|
44
44
|
pv_rects=@pv_svg.xpath("//rect")
|
45
45
|
@rv_svg.xpath("//xmlns:rect").each_with_index {|rv_rect,i|
|
46
|
-
rv_rect.
|
46
|
+
expect(rv_rect).to have_same_position pv_rects[i]
|
47
47
|
}
|
48
48
|
|
49
49
|
end
|
data/spec/layout_pack_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
|
2
2
|
describe Rubyvis::Layout::Pack do
|
3
3
|
include Rubyvis::LayoutSpec
|
4
4
|
it "should have correct properties" do
|
5
|
-
props=[:antialias, :bottom, :canvas, :cursor, :data, :events, :fill_style, :height, :id, :left, :line_width, :links, :nodes, :order, :overflow, :reverse, :right, :spacing, :stroke_style, :title, :top, :transform, :visible, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
5
|
+
props=[:antialias, :bottom, :canvas, :cursor, :data, :events, :fill_style, :height, :id, :left, :line_width, :links, :nodes, :order, :overflow, :reverse, :right, :spacing, :stroke_style, :title, :top, :transform, :visible, :view_box, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
6
6
|
Rubyvis::Layout::Pack.properties.should==props
|
7
7
|
end
|
8
8
|
describe "rendered" do
|
@@ -41,7 +41,7 @@ describe Rubyvis::Layout::Pack do
|
|
41
41
|
it "should render equal nodes (circles)" do
|
42
42
|
pv_rects=@pv_svg.xpath("//circle")
|
43
43
|
@rv_svg.xpath("//xmlns:circle").each_with_index {|rv_rect,i|
|
44
|
-
rv_rect.
|
44
|
+
expect(rv_rect).to have_same_position pv_rects[i]
|
45
45
|
}
|
46
46
|
|
47
47
|
end
|
@@ -2,11 +2,11 @@ require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
|
2
2
|
describe Rubyvis::Layout::Partition do
|
3
3
|
include Rubyvis::LayoutSpec
|
4
4
|
it "subclass Fill should have correct properties" do
|
5
|
-
props=[:antialias, :bottom, :canvas, :cursor, :data, :events, :fill_style, :height, :id, :inner_radius, :left, :line_width, :links, :nodes, :order, :orient, :outer_radius, :overflow, :reverse, :right, :stroke_style, :title, :top, :transform, :visible, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
6
|
-
Rubyvis::Layout::Partition::Fill.properties.
|
5
|
+
props=[:antialias, :bottom, :canvas, :cursor, :data, :events, :fill_style, :height, :id, :inner_radius, :left, :line_width, :links, :nodes, :order, :orient, :outer_radius, :overflow, :reverse, :right, :stroke_style, :title, :top, :transform, :view_box, :visible, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
6
|
+
expect(Rubyvis::Layout::Partition::Fill.properties).to eq(props)
|
7
7
|
end
|
8
8
|
it "should be called using Rubyvis.Layout.Partition" do
|
9
|
-
Rubyvis.Layout.Partition.
|
9
|
+
expect(Rubyvis.Layout.Partition).to eql Rubyvis::Layout::Partition
|
10
10
|
end
|
11
11
|
it "should render correctly 'partition_fill' custom test" do
|
12
12
|
color=pv.Colors.category19
|
@@ -39,7 +39,7 @@ left(10)
|
|
39
39
|
|
40
40
|
@vis.render
|
41
41
|
@pv_out=fixture_svg_read("layout_partition_fill.svg")
|
42
|
-
@vis.to_svg.
|
42
|
+
expect(@vis.to_svg).to have_same_svg_elements(@pv_out)
|
43
43
|
end
|
44
44
|
|
45
45
|
end
|
data/spec/layout_stack_spec.rb
CHANGED
@@ -2,11 +2,11 @@ require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
|
2
2
|
describe Rubyvis::Layout::Stack do
|
3
3
|
include Rubyvis::LayoutSpec
|
4
4
|
it "should have correct properties" do
|
5
|
-
props=[:antialias, :bottom, :canvas, :cursor, :data, :events, :fill_style, :height, :id, :layers, :left, :line_width, :offset, :order, :orient, :overflow, :reverse, :right, :stroke_style, :title, :top, :transform, :visible, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
5
|
+
props=[:antialias, :bottom, :canvas, :cursor, :data, :events, :fill_style, :height, :id, :layers, :left, :line_width, :offset, :order, :orient, :overflow, :reverse, :right, :stroke_style, :title, :top, :transform, :visible, :view_box, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
6
6
|
Rubyvis::Layout::Stack.properties.should==props
|
7
7
|
end
|
8
8
|
it "Rubyvis.Dot be the same as Rubyvis::Dot" do
|
9
|
-
Rubyvis.Layout.Stack.
|
9
|
+
expect(Rubyvis.Layout.Stack).to eql Rubyvis::Layout::Stack
|
10
10
|
end
|
11
11
|
describe "html examples" do
|
12
12
|
before do
|
@@ -40,7 +40,7 @@ describe Rubyvis::Layout::Stack do
|
|
40
40
|
offset("expand")
|
41
41
|
@vis.render()
|
42
42
|
pv_out=fixture_svg_read("stack_expand.svg")
|
43
|
-
@vis.to_svg.
|
43
|
+
expect(@vis.to_svg).to have_same_svg_elements(pv_out)
|
44
44
|
end
|
45
45
|
it "should render 'stack-silohouette.html' example correctly" do
|
46
46
|
y=@y
|
@@ -50,7 +50,7 @@ describe Rubyvis::Layout::Stack do
|
|
50
50
|
|
51
51
|
@vis.render()
|
52
52
|
pv_out=fixture_svg_read("stack_silohouette.svg")
|
53
|
-
@vis.to_svg.
|
53
|
+
expect(@vis.to_svg).to have_same_svg_elements(pv_out)
|
54
54
|
end
|
55
55
|
it "should render 'stack-wiggle.html' example correctly" do
|
56
56
|
y=@y
|
@@ -60,7 +60,7 @@ describe Rubyvis::Layout::Stack do
|
|
60
60
|
|
61
61
|
@vis.render()
|
62
62
|
pv_out=fixture_svg_read("stack_wiggle.svg")
|
63
|
-
@vis.to_svg.
|
63
|
+
expect(@vis.to_svg).to have_same_svg_elements(pv_out)
|
64
64
|
end
|
65
65
|
|
66
66
|
end
|
@@ -90,13 +90,13 @@ describe Rubyvis::Layout::Stack do
|
|
90
90
|
# <svg font-size="10px" font-family="sans-serif" fill="none" stroke="none" stroke-width="1.5" width="200" height="200"><g><g><g><path d="M0,180L66.66666666666666,140L133.33333333333331,160L133.33333333333331,200L66.66666666666666,200L0,200Z" fill="rgb(31,119,180)"/></g><g><path d="M0,140L66.66666666666666,120L133.33333333333331,100L133.33333333333331,160L66.66666666666666,140L0,180Z" fill="rgb(174,199,232)"/></g></g></g></svg>
|
91
91
|
end
|
92
92
|
it "should return correct number of areas" do
|
93
|
-
@paths.size.
|
93
|
+
expect(@paths.size).to eq 2
|
94
94
|
end
|
95
95
|
it "should return correct path 1" do
|
96
|
-
@paths[0].
|
96
|
+
expect(@paths[0]).to have_path_data_close_to "M0 180L66.66666666666666 140L133.33333333333331 160L133.33333333333331 200L66.66666666666666 200L0 200Z"
|
97
97
|
end
|
98
98
|
it "should return correct path 2" do
|
99
|
-
@paths[1].
|
99
|
+
expect(@paths[1]).to have_path_data_close_to "M0 140L66.66666666666666 120L133.33333333333331 100L133.33333333333331 160L66.66666666666666 140L0 180Z"
|
100
100
|
end
|
101
101
|
end
|
102
102
|
describe "using layers() and values()" do
|
@@ -114,13 +114,13 @@ describe Rubyvis::Layout::Stack do
|
|
114
114
|
# <svg font-size="10px" font-family="sans-serif" fill="none" stroke="none" stroke-width="1.5" width="200" height="200"><g><g><g><path d="M0,180L66.66666666666666,140L133.33333333333331,160L133.33333333333331,200L66.66666666666666,200L0,200Z" fill="rgb(31,119,180)"/></g><g><path d="M0,140L66.66666666666666,120L133.33333333333331,100L133.33333333333331,160L66.66666666666666,140L0,180Z" fill="rgb(174,199,232)"/></g></g></g></svg>
|
115
115
|
end
|
116
116
|
it "should return correct number of areas" do
|
117
|
-
@paths.size.
|
117
|
+
expect(@paths.size).to eq 2
|
118
118
|
end
|
119
119
|
it "should return correct path 1" do
|
120
|
-
@paths[0].
|
120
|
+
expect(@paths[0]).to have_path_data_close_to "M0 180L66.66666666666666 140L133.33333333333331 160L133.33333333333331 200L66.66666666666666 200L0 200Z"
|
121
121
|
end
|
122
122
|
it "should return correct path 2" do
|
123
|
-
@paths[1].
|
123
|
+
expect(@paths[1]).to have_path_data_close_to "M0 140L66.66666666666666 120L133.33333333333331 100L133.33333333333331 160L66.66666666666666 140L0 180Z"
|
124
124
|
end
|
125
125
|
|
126
126
|
end
|
data/spec/layout_tree_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
|
|
2
2
|
describe Rubyvis::Layout::Treemap do
|
3
3
|
include Rubyvis::LayoutSpec
|
4
4
|
it "should have correct properties" do
|
5
|
-
props=[:antialias, :bottom, :canvas, :cursor, :data, :events, :fill_style, :height, :id, :left, :line_width, :links, :mode, :nodes, :order, :overflow, :padding_bottom, :padding_left, :padding_right, :padding_top, :reverse, :right, :round, :stroke_style, :title, :top, :transform, :visible, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
5
|
+
props=[:antialias, :bottom, :canvas, :cursor, :data, :events, :fill_style, :height, :id, :left, :line_width, :links, :mode, :nodes, :order, :overflow, :padding_bottom, :padding_left, :padding_right, :padding_top, :reverse, :right, :round, :stroke_style, :title, :top, :transform, :visible, :view_box, :width].inject({}) {|ac, v| ac[v]=true; ac}
|
6
6
|
Rubyvis::Layout::Treemap.properties.should==props
|
7
7
|
end
|
8
8
|
describe "rendered" do
|
@@ -36,21 +36,21 @@ describe Rubyvis::Layout::Treemap do
|
|
36
36
|
@tree.orient("top")
|
37
37
|
@vis.render
|
38
38
|
pv_out=fixture_svg_read("layout_tree_orient_top.svg")
|
39
|
-
@vis.to_svg.
|
39
|
+
expect(@vis.to_svg).to have_same_svg_elements(pv_out)
|
40
40
|
end
|
41
41
|
|
42
42
|
it "should render correctly orient('left')" do
|
43
43
|
@tree.orient("left")
|
44
44
|
@vis.render
|
45
45
|
pv_out=fixture_svg_read("layout_tree_orient_left.svg")
|
46
|
-
@vis.to_svg.
|
46
|
+
expect(@vis.to_svg).to have_same_svg_elements(pv_out)
|
47
47
|
end
|
48
48
|
|
49
49
|
it "should render equal to pv with orient('radial') and breadth(20)" do
|
50
50
|
@tree.nodes(hier_nodes_big).orient("radial").breadth(20)
|
51
51
|
@vis.render
|
52
52
|
pv_out=fixture_svg_read("layout_tree_orient_radial_breadth_20.svg")
|
53
|
-
@vis.to_svg.
|
53
|
+
expect(@vis.to_svg).to have_same_svg_elements(pv_out)
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|