spec/stroke_styles_spec.rb in prawn-1.0.0.rc2 vs spec/stroke_styles_spec.rb in prawn-1.0.0
- old
+ new
@@ -5,11 +5,11 @@
describe "When stroking with default settings" do
before(:each) { create_pdf }
it "cap_style should be :butt" do
@pdf.cap_style.should == :butt
end
-
+
it "join_style should be :miter" do
@pdf.join_style.should == :miter
end
it "dashed? should be_false" do
@@ -17,16 +17,16 @@
end
end
describe "Cap styles" do
before(:each) { create_pdf }
-
+
it "should be able to use assignment operator" do
@pdf.cap_style = :round
@pdf.cap_style.should == :round
end
-
+
describe "#cap_style(:butt)" do
it "rendered PDF should include butt style cap" do
@pdf.cap_style(:butt)
cap_style = PDF::Inspector::Graphics::CapStyle.analyze(@pdf.render).cap_style
cap_style.should == 0
@@ -58,16 +58,16 @@
end
end
describe "Join styles" do
before(:each) { create_pdf }
-
+
it "should be able to use assignment operator" do
@pdf.join_style = :round
@pdf.join_style.should == :round
end
-
+
describe "#join_style(:miter)" do
it "rendered PDF should include miter style join" do
@pdf.join_style(:miter)
join_style = PDF::Inspector::Graphics::JoinStyle.analyze(@pdf.render).join_style
join_style.should == 0
@@ -99,11 +99,11 @@
end
end
describe "Dashes" do
before(:each) { create_pdf }
-
+
it "should be able to use assignment operator" do
@pdf.dash = 2
@pdf.should be_dashed
end
@@ -141,53 +141,71 @@
dashes = PDF::Inspector::Graphics::Dash.analyze(@pdf.render)
dashes.stroke_dash.should == [[2, 2], 1]
end
end
+ describe "setting a dash by using an array" do
+ it "dash and spaces should be set from the array" do
+ @pdf.dash([1,2,3,4])
+ dashes = PDF::Inspector::Graphics::Dash.analyze(@pdf.render)
+ dashes.stroke_dash.should == [[1, 2, 3, 4], 0]
+ end
+ it "space options has to be ignored" do
+ @pdf.dash([1,2,3,4], :space => 3)
+ dashes = PDF::Inspector::Graphics::Dash.analyze(@pdf.render)
+ dashes.stroke_dash.should == [[1, 2, 3, 4], 0]
+ end
+ it "phase options should be correctly used" do
+ @pdf.dash([1,2,3,4], :phase => 3)
+ dashes = PDF::Inspector::Graphics::Dash.analyze(@pdf.render)
+ dashes.stroke_dash.should == [[1, 2, 3, 4], 3]
+ end
+ end
+
describe "clearing stroke dash" do
it "should restore solid line" do
@pdf.dash(2)
@pdf.undash
dashes = PDF::Inspector::Graphics::Dash.analyze(@pdf.render)
dashes.stroke_dash.should == [[], 0]
end
end
-
+
it "should carry the current dash settings over to new pages" do
@pdf.dash(2)
@pdf.start_new_page
dashes = PDF::Inspector::Graphics::Dash.analyze(@pdf.render)
dashes.stroke_dash_count.should == 2
dashes.stroke_dash.should == [[2, 2], 0]
end
-
+
describe "#dashed?" do
-
+
it "an initial document should not be dashed" do
@pdf.dashed?.should == false
end
-
+
it "should return true if any of the currently active settings are dashed" do
@pdf.dash(2)
@pdf.save_graphics_state
@pdf.dashed?.should == true
end
-
+
it "should return false if the document was most recently undashed" do
@pdf.dash(2)
@pdf.save_graphics_state
@pdf.undash
@pdf.save_graphics_state
@pdf.dashed?.should == false
end
-
+
it "should return true when restoring to a state that was dashed" do
@pdf.dash(2)
@pdf.save_graphics_state
@pdf.undash
@pdf.restore_graphics_state
@pdf.dashed?.should == true
end
-
+
end
end