Cleaner handling of SVG ID
parent
1c3b39b59d
commit
a40c4d7dc4
|
|
@ -20,7 +20,7 @@ module Squib
|
|||
end
|
||||
|
||||
def validate_id(arg, _i)
|
||||
return nil if arg.nil?
|
||||
return nil if arg.to_s.empty?
|
||||
arg = '#' << arg unless arg.start_with? '#'
|
||||
arg
|
||||
end
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ Squib::Deck.new(width: 825, height: 1125, cards: 1, config: 'load_images_config.
|
|||
# but sometimes want to use none.
|
||||
# e.g. id: [:attack, :defend, nil]
|
||||
svg file: 'spanner.svg', width: :deck, height: :deck,
|
||||
force_id: true, id: '' # <-- the important part
|
||||
force_id: true, id: nil # <-- the important part
|
||||
|
||||
# Squib can handle incorrectly formatted svg files
|
||||
svg file: 'bad-svg.svg'
|
||||
|
|
|
|||
|
|
@ -0,0 +1,51 @@
|
|||
require 'spec_helper'
|
||||
require 'squib/args/box'
|
||||
|
||||
describe Squib::Args::SvgSpecial do
|
||||
subject(:svgargs) { Squib::Args::SvgSpecial.new }
|
||||
|
||||
context :id do
|
||||
|
||||
it 'appends # to ids' do
|
||||
args = { id: '123' }
|
||||
svgargs.load!(args, expand_by: 1)
|
||||
expect(svgargs).to have_attributes(id: ['#123'])
|
||||
end
|
||||
|
||||
it 'does not appends # if one is there' do
|
||||
args = { id: '#1234' }
|
||||
svgargs.load!(args, expand_by: 1)
|
||||
expect(svgargs).to have_attributes(id: ['#1234'])
|
||||
end
|
||||
|
||||
it 'is nil if empty' do
|
||||
args = { id: '' }
|
||||
svgargs.load!(args, expand_by: 1)
|
||||
expect(svgargs).to have_attributes(id: [nil])
|
||||
end
|
||||
|
||||
it 'is nil if empty' do
|
||||
args = { id: nil }
|
||||
svgargs.load!(args, expand_by: 1)
|
||||
expect(svgargs).to have_attributes(id: [nil])
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
context :force_id do
|
||||
|
||||
it 'makes render true sometimes' do
|
||||
args = { id: '1', force_id: true }
|
||||
svgargs.load!(args, expand_by: 1)
|
||||
expect(svgargs.render?(0)).to be true
|
||||
end
|
||||
|
||||
it 'makes render false sometimes' do
|
||||
args = { id: '', force_id: true }
|
||||
svgargs.load!(args, expand_by: 1)
|
||||
expect(svgargs.render?(0)).to be false
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
|
@ -350,16 +350,5 @@ cairo: set_source([ImageSurface, 650, 950])
|
|||
cairo: set_source_color(["magenta"])
|
||||
cairo: mask([ImageSurface, 650, 950])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
cairo: translate([0, 0])
|
||||
cairo: transform([Matrix])
|
||||
cairo: rotate([0])
|
||||
cairo: scale([6.4453125, 8.7890625])
|
||||
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
|
||||
cairo: clip([])
|
||||
cairo: translate([0, 0])
|
||||
cairo: render_rsvg_handle([Rsvg::Handle"#"}])
|
||||
cairo: restore([])
|
||||
surface: write_to_png(["_output/load_images_00.png"])
|
||||
surface: finish([])
|
||||
|
|
|
|||
Loading…
Reference in New Issue