Browse Source

Regression and sanity testing

dev
Andy Meneely 11 years ago
parent
commit
a86974d5b8
  1. 3
      samples/hand.rb
  2. 514
      spec/data/samples/hand.rb.txt
  3. BIN
      spec/samples/expected/hand.png
  4. BIN
      spec/samples/expected/hand_pretty.png
  5. 1
      spec/samples/samples_regression_spec.rb
  6. 1
      spec/spec_helper.rb

3
samples/hand.rb

@ -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

514
spec/data/samples/hand.rb.txt

@ -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"])

BIN
spec/samples/expected/hand.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

BIN
spec/samples/expected/hand_pretty.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

1
spec/samples/samples_regression_spec.rb

@ -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

1
spec/spec_helper.rb

@ -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)

Loading…
Cancel
Save