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