Regression and sanity testing

dev
Andy Meneely 2015-05-19 15:02:54 -04:00
parent 31b583d134
commit a86974d5b8
6 changed files with 519 additions and 0 deletions

View File

@ -17,5 +17,8 @@ Squib::Deck.new(cards: 8, layout: 'playing-card.yml') do
radius: 0,
range: 7.downto(0),
file: 'hand_pretty.png'
# Tip: you can have the top card be on the left by reversing the range
# angle_range: (Math::PI / 4)..(Math::PI / -4)
end

View File

@ -0,0 +1,514 @@
cairo: antialias=(["subpixel"])
cairo: antialias=(["subpixel"])
cairo: antialias=(["subpixel"])
cairo: antialias=(["subpixel"])
cairo: antialias=(["subpixel"])
cairo: antialias=(["subpixel"])
cairo: antialias=(["subpixel"])
cairo: antialias=(["subpixel"])
cairo: save([])
cairo: set_source_color([:cyan])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:cyan])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:cyan])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:cyan])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:cyan])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:cyan])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:cyan])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:cyan])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
cairo: set_source_color([:black])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
cairo: set_source_color([:black])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
cairo: set_source_color([:black])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
cairo: set_source_color([:black])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
cairo: set_source_color([:black])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
cairo: set_source_color([:black])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
cairo: set_source_color([:black])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
cairo: set_source_color([:black])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
cairo: set_source_color([:black])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
cairo: set_source_color([:black])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
cairo: set_source_color([:black])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
cairo: set_source_color([:black])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
cairo: set_source_color([:black])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
cairo: set_source_color([:black])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
cairo: set_source_color([:black])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25])
cairo: set_source_color([:black])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
cairo: set_source_color([:black])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
cairo: set_source_color([:white])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
cairo: set_source_color([:black])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
cairo: set_source_color([:white])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
cairo: set_source_color([:black])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
cairo: set_source_color([:white])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
cairo: set_source_color([:black])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
cairo: set_source_color([:white])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
cairo: set_source_color([:black])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
cairo: set_source_color([:white])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
cairo: set_source_color([:black])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
cairo: set_source_color([:white])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
cairo: set_source_color([:black])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
cairo: set_source_color([:white])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
cairo: set_source_color([:black])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([75, 75, 675, 975, 20, 20])
cairo: set_source_color([:white])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([75, 75])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["A"])
pango: width=([204800])
pango: height=([204800])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([75, 75])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["B"])
pango: width=([204800])
pango: height=([204800])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([75, 75])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["C"])
pango: width=([204800])
pango: height=([204800])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([75, 75])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["D"])
pango: width=([204800])
pango: height=([204800])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([75, 75])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["E"])
pango: width=([204800])
pango: height=([204800])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([75, 75])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["F"])
pango: width=([204800])
pango: height=([204800])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([75, 75])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["G"])
pango: width=([204800])
pango: height=([204800])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([75, 75])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["H"])
pango: width=([204800])
pango: height=([204800])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: translate([2193.75, 2193.75])
cairo: rotate([-0.7853981633974483])
cairo: translate([-825, -825])
cairo: translate([412.5, 1462.5])
cairo: rotate([0.19634954084936207])
cairo: translate([-412.5, -1462.5])
cairo: save([])
cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
cairo: clip([])
cairo: set_source([MockDouble])
cairo: paint([])
cairo: reset_clip([])
cairo: restore([])
cairo: translate([412.5, 1462.5])
cairo: rotate([0.19634954084936207])
cairo: translate([-412.5, -1462.5])
cairo: save([])
cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
cairo: clip([])
cairo: set_source([MockDouble])
cairo: paint([])
cairo: reset_clip([])
cairo: restore([])
cairo: translate([412.5, 1462.5])
cairo: rotate([0.19634954084936207])
cairo: translate([-412.5, -1462.5])
cairo: save([])
cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
cairo: clip([])
cairo: set_source([MockDouble])
cairo: paint([])
cairo: reset_clip([])
cairo: restore([])
cairo: translate([412.5, 1462.5])
cairo: rotate([0.19634954084936207])
cairo: translate([-412.5, -1462.5])
cairo: save([])
cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
cairo: clip([])
cairo: set_source([MockDouble])
cairo: paint([])
cairo: reset_clip([])
cairo: restore([])
cairo: translate([412.5, 1462.5])
cairo: rotate([0.19634954084936207])
cairo: translate([-412.5, -1462.5])
cairo: save([])
cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
cairo: clip([])
cairo: set_source([MockDouble])
cairo: paint([])
cairo: reset_clip([])
cairo: restore([])
cairo: translate([412.5, 1462.5])
cairo: rotate([0.19634954084936207])
cairo: translate([-412.5, -1462.5])
cairo: save([])
cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
cairo: clip([])
cairo: set_source([MockDouble])
cairo: paint([])
cairo: reset_clip([])
cairo: restore([])
cairo: translate([412.5, 1462.5])
cairo: rotate([0.19634954084936207])
cairo: translate([-412.5, -1462.5])
cairo: save([])
cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
cairo: clip([])
cairo: set_source([MockDouble])
cairo: paint([])
cairo: reset_clip([])
cairo: restore([])
cairo: translate([412.5, 1462.5])
cairo: rotate([0.19634954084936207])
cairo: translate([-412.5, -1462.5])
cairo: save([])
cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
cairo: clip([])
cairo: set_source([MockDouble])
cairo: paint([])
cairo: reset_clip([])
cairo: restore([])
cairo: set_source_color([:white])
cairo: paint([])
cairo: translate([75, 75])
cairo: set_source([MockDouble])
cairo: paint([])
surface: write_to_png(["_output/hand.png"])
cairo: translate([1687.5, 1687.5])
cairo: rotate([-0.7853981633974483])
cairo: translate([-825, -825])
cairo: translate([412.5, 1125])
cairo: rotate([0.19634954084936207])
cairo: translate([-412.5, -1125])
cairo: save([])
cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
cairo: clip([])
cairo: set_source([MockDouble])
cairo: paint([])
cairo: reset_clip([])
cairo: restore([])
cairo: translate([412.5, 1125])
cairo: rotate([0.19634954084936207])
cairo: translate([-412.5, -1125])
cairo: save([])
cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
cairo: clip([])
cairo: set_source([MockDouble])
cairo: paint([])
cairo: reset_clip([])
cairo: restore([])
cairo: translate([412.5, 1125])
cairo: rotate([0.19634954084936207])
cairo: translate([-412.5, -1125])
cairo: save([])
cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
cairo: clip([])
cairo: set_source([MockDouble])
cairo: paint([])
cairo: reset_clip([])
cairo: restore([])
cairo: translate([412.5, 1125])
cairo: rotate([0.19634954084936207])
cairo: translate([-412.5, -1125])
cairo: save([])
cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
cairo: clip([])
cairo: set_source([MockDouble])
cairo: paint([])
cairo: reset_clip([])
cairo: restore([])
cairo: translate([412.5, 1125])
cairo: rotate([0.19634954084936207])
cairo: translate([-412.5, -1125])
cairo: save([])
cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
cairo: clip([])
cairo: set_source([MockDouble])
cairo: paint([])
cairo: reset_clip([])
cairo: restore([])
cairo: translate([412.5, 1125])
cairo: rotate([0.19634954084936207])
cairo: translate([-412.5, -1125])
cairo: save([])
cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
cairo: clip([])
cairo: set_source([MockDouble])
cairo: paint([])
cairo: reset_clip([])
cairo: restore([])
cairo: translate([412.5, 1125])
cairo: rotate([0.19634954084936207])
cairo: translate([-412.5, -1125])
cairo: save([])
cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
cairo: clip([])
cairo: set_source([MockDouble])
cairo: paint([])
cairo: reset_clip([])
cairo: restore([])
cairo: translate([412.5, 1125])
cairo: rotate([0.19634954084936207])
cairo: translate([-412.5, -1125])
cairo: save([])
cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25])
cairo: clip([])
cairo: set_source([MockDouble])
cairo: paint([])
cairo: reset_clip([])
cairo: restore([])
cairo: set_source_color([:white])
cairo: paint([])
cairo: translate([75, 75])
cairo: set_source([MockDouble])
cairo: paint([])
surface: write_to_png(["_output/hand_pretty.png"])

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

View File

@ -58,6 +58,7 @@ describe "Squib samples" do
embed_text.rb
excel.rb
gradients.rb
hand.rb
hello_world.rb
load_images.rb
portrait-landscape.rb

View File

@ -79,6 +79,7 @@ def mock_cairo(strio)
allow(Cairo::ImageSurface).to receive(:new).and_return(surface)
allow(surface).to receive(:width).and_return(100)
allow(surface).to receive(:height).and_return(101)
allow(surface).to receive(:ink_extents).and_return([0,0,100,100])
allow(Cairo::Context).to receive(:new).and_return(cxt)
allow(cxt).to receive(:create_pango_layout).and_return(pango)
allow(cxt).to receive(:target).and_return(surface)