From e43f68d32366176d9e0c918f03cb67dc0cd84fcb Mon Sep 17 00:00:00 2001 From: Andy Meneely Date: Tue, 7 Jul 2015 23:59:23 -0400 Subject: [PATCH] Ported text command over to the new args classes * Involved a big rewrite of arg_loader to accomodate nil and false better. Sadly this meant dumping ||= for if-statements. Blech, but works. * Updates to regression tests are pretty trivial. * Removed graphics_text_spec because, even though it looks useful, with rake sanity it really isn't. * Exposed font on deck as well Cleaned up graphics/text.rb too! --- CHANGELOG.md | 7 +- lib/squib/api/text.rb | 6 +- lib/squib/args/arg_loader.rb | 72 ++++----- lib/squib/args/paragraph.rb | 93 +++++++++-- lib/squib/deck.rb | 2 +- lib/squib/graphics/text.rb | 47 +----- spec/api/api_text_spec.rb | 37 ----- spec/args/paragraph_spec.rb | 153 ++++++++++++++++++ spec/data/samples/autoscale_font.rb.txt | 6 +- spec/data/samples/basic.rb.txt | 12 +- spec/data/samples/config_text_markup.rb.txt | 6 +- spec/data/samples/csv_import.rb.txt | 8 +- spec/data/samples/custom_config.rb.txt | 2 +- spec/data/samples/embed_text.rb.txt | 42 ++--- spec/data/samples/excel.rb.txt | 18 +-- spec/data/samples/gradients.rb.txt | 2 +- spec/data/samples/hand.rb.txt | 16 +- spec/data/samples/hello_world.rb.txt | 4 +- spec/data/samples/portrait-landscape.rb.txt | 4 +- spec/data/samples/ranges.rb.txt | 48 +++--- spec/data/samples/saves.rb.txt | 32 ++-- spec/data/samples/showcase.rb.txt | 8 +- spec/data/samples/text_options.rb.txt | 102 ++++++------ spec/data/samples/tgc_proofs.rb.txt | 4 +- spec/graphics/graphics_text_spec.rb | 164 -------------------- squib.sublime-project | 2 + 26 files changed, 441 insertions(+), 456 deletions(-) delete mode 100644 spec/api/api_text_spec.rb create mode 100644 spec/args/paragraph_spec.rb delete mode 100644 spec/graphics/graphics_text_spec.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index 187ccb7..9cefb5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,10 +4,11 @@ Squib follows [semantic versioning](http://semver.org). ## v0.7.0 / Unreleased Features -* Added `cap` option to `line` and `curve` to define how those ends are drawn -* Added `join` option to all drawing operations (e.g. `rect`, `star`, even outlines for `text`) to define how corners are drawn. -* Added `dash` option to all drawing operations (e.g. `rect`, `star`, even outlines for `text`) so you can specify your own dash pattern. Just specify a string with space-separated numbers to specify the on-and-off alternating pattern (e.g. `dash: '2 2'` with a stroke width of 2 is evenly spaced dots). Supports unit conversion (e.g. `dash: '0.02in 0.02in'`) +* Added `cap` option to `line` and `curve` to define how those ends are drawn (#42) +* Added `join` option to all drawing operations (e.g. `rect`, `star`, even outlines for `text`) to define how corners are drawn. (#42) +* Added `dash` option to all drawing operations (e.g. `rect`, `star`, even outlines for `text`) so you can specify your own dash pattern. Just specify a string with space-separated numbers to specify the on-and-off alternating pattern (e.g. `dash: '2 2'` with a stroke width of 2 is evenly spaced dots). Supports unit conversion (e.g. `dash: '0.02in 0.02in'`) (#42) * Added an idiom to the `ranges.rb` sample for drawing a different number of images based on the column in a table (e.g. 2 arrows to indicate 2 actions). Based on question #90. There are probably even cleaner, Ruby-ish ways to do this too - pull requests are welcome. +* The `text` method and several other methods will throw errors on invalid input. This means your scripts will be more likely to break if you provide bad input Compatibility: * All drawn shapes (e.g. circle, triangle, star) will now draw their stroke on top of the fill. This was not consistent before, and now it is (because Squib is more DRY about it!). This might mean that your `stroke_width` will render wider than before. diff --git a/lib/squib/api/text.rb b/lib/squib/api/text.rb index c618881..9092f67 100644 --- a/lib/squib/api/text.rb +++ b/lib/squib/api/text.rb @@ -48,12 +48,12 @@ module Squib # @return [Array] Returns an Array of hashes keyed by :width and :height that mark the ink extents of the text rendered. # @api public def text(opts = {}) - opts = { stroke_width: 0, width: :auto, height: :auto }.merge(opts) + opts = { stroke_width: 0, width: :auto, height: :auto }.merge(opts) range = Args::CardRange.new(opts[:range], deck_size: size) - para = Args::Paragraph.new.load!(opts, expand_by: size, layout: layout) + para = Args::Paragraph.new(font).load!(opts, expand_by: size, layout: layout) box = Args::Box.new(self).load!(opts, expand_by: size, layout: layout, dpi: dpi) trans = Args::Transform.new.load!(opts, expand_by: size, layout: layout, dpi: dpi) - draw = Args::Draw.new.load!(opts, expand_by: size, layout: layout, dpi: dpi) + draw = Args::Draw.new.load!(opts, expand_by: size, layout: layout, dpi: dpi) embed = TextEmbed.new yield(embed) if block_given? #store the opts for later use extents = Array.new(@cards.size) diff --git a/lib/squib/args/arg_loader.rb b/lib/squib/args/arg_loader.rb index 8856158..ad1d5f1 100644 --- a/lib/squib/args/arg_loader.rb +++ b/lib/squib/args/arg_loader.rb @@ -13,38 +13,51 @@ module Squib # Main class invoked by the client (i.e. api/ methods) def load!(args, expand_by: 1, layout: {}, dpi: 300) @dpi = dpi - set_attributes(args: args) - expand(by: expand_by) - layout_args = prep_layout_args(args[:layout], expand_by: expand_by) - defaultify(layout_args: layout_args || [], layout: layout) + args[:layout] = prep_layout_args(args[:layout], expand_by: expand_by) + expand_and_set_and_defaultify(args: args, by: expand_by, layout: layout) validate convert_units self end - # Iterate over the args hash and create instance-level attributes for - # each parameter - # Assumes we have a hash of parameters to their default keys in the class - def set_attributes(args: args) + def expand_and_set_and_defaultify(args: {}, by: 1, layout: {}) attributes = self.class.parameters.keys attributes.each do |p| - instance_variable_set "@#{p}", args[p] # often nil, but ok + args[p] = defaultify(p, args, layout) + val = if expandable_singleton?(p, args[p]) + [args[p]] * by + else + args[p] # not an expanding parameter + end + instance_variable_set "@#{p}", val end self.class.class_eval { attr_reader *(attributes) } end - # Conduct singleton expansion - # If expanding-parameter is not already responding to - # :each then copy it into an array - # - # Assumes we have an self.expanding_parameters - def expand(by: 1) - exp_params = self.class.expanding_parameters - exp_params.each do |p| - attribute = "@#{p}" - arg = instance_variable_get(attribute) - unless arg.respond_to? :each - instance_variable_set attribute, [arg] * by #expand singleton + # Must be: + # (a) an expanding parameter, and + # (b) a singleton already (i.e. doesn't respond to :each) + def expandable_singleton?(p, arg) + self.class.expanding_parameters.include?(p) && !arg.respond_to?(:each) + end + + # Incorporate defaults and layouts + # (1) Use whatever is specified if it is + # (2) Go over all layout specifications (if any) and look them up + # - Use layout when it's specified for that card + # - Use default if no layout was specified, + # or the layout itself did not specify + def defaultify(p, args, layout) + return args[p] if args.key? p # arg was specified, no defaults used + args[:layout].map do |layout_arg| + if layout_arg.nil? + self.class.parameters[p] # no layout specified, use default + else + if layout[layout_arg.to_s].key? p.to_s + layout[layout_arg.to_s][p.to_s] # param specified in layout + else + self.class.parameters[p] # layout specified, but not this param + end end end end @@ -58,23 +71,6 @@ module Squib layout_args || [] end - # Go over each argument and fill it in with layout and defaults wherever nil - def defaultify(layout_args: [], layout: {}) - self.class.parameters.each do |param, default| - attribute = "@#{param}" - val = instance_variable_get(attribute) - if val.respond_to? :each - new_val = val.map.with_index do |v, i| - v ||= layout[layout_args[i].to_s][param.to_s] unless layout_args[i].nil? - v ||= default - end - instance_variable_set(attribute, new_val) - else # a non-expanded singleton - # TODO handle this case - end - end - end - # For each parameter/attribute foo we try to invoke a validate_foo def validate self.class.parameters.each do |param, default| diff --git a/lib/squib/args/paragraph.rb b/lib/squib/args/paragraph.rb index 5cf209a..2686749 100644 --- a/lib/squib/args/paragraph.rb +++ b/lib/squib/args/paragraph.rb @@ -7,18 +7,19 @@ module Squib class Paragraph include ArgLoader + def self.parameters - { align: :left, - str: 'Hello, World!', - font: :use_set, + { align: :left, + str: 'Hello, World!', + font: :use_set, font_size: nil, - markup: false, - justify: false, - wrap: true, + markup: false, + justify: false, + wrap: true, ellipsize: :end, - spacing: 0, - valign: :top, - hint: :off + spacing: 0, + valign: :top, + hint: :off } end @@ -30,10 +31,84 @@ module Squib [] # none of them end + def initialize(deck_font) + @deck_font = deck_font + end + def validate_str(arg, _i) arg.to_s end + def validate_font(arg, _i) + arg = @deck_font if arg == :use_set + arg = Squib::SYSTEM_DEFAULTS[:default_font] if arg == :default + arg + end + + def validate_align(arg, _i) + case arg.to_s.downcase + when 'left' + Pango::ALIGN_LEFT + when 'right' + Pango::ALIGN_RIGHT + when 'center' + Pango::ALIGN_CENTER + else + raise ArgumentError, 'align must be one of: center, left, right' + end + end + + def validate_wrap(arg, _i) + case arg.to_s.downcase + when 'word' + Pango::Layout::WRAP_WORD + when 'char', 'false' + Pango::Layout::WRAP_CHAR + when 'word_char', 'true' + Pango::Layout::WRAP_WORD_CHAR + else + raise ArgumentError, 'wrap must be one of: word, char, word_char, true, or false' + end + end + + def validate_ellipsize(arg, _i) + case arg.to_s.downcase + when 'none', 'false' + Pango::Layout::ELLIPSIZE_NONE + when 'start' + Pango::Layout::ELLIPSIZE_START + when 'middle' + Pango::Layout::ELLIPSIZE_MIDDLE + when 'end', 'true' + Pango::Layout::ELLIPSIZE_END + else + raise ArgumentError, 'ellipsize must be one of: none, start, middle, end, true, or false' + end + end + + def validate_justify(arg, _i) + case arg + when nil, true, false + arg + else + raise ArgumentError, 'justify must be one of: nil, true, or false' + end + end + + def validate_spacing(arg, _i) + return nil if arg.nil? + raise ArgumentError, 'spacing must be a number or nil' unless arg.respond_to? :to_f + Pango::SCALE * arg.to_f + end + + def validate_valign(arg, _i) + if %w(top middle bottom).include? arg.to_s.downcase + arg.to_s.downcase + else + raise ArgumentError, 'valign must be one of: top, middle, bottom' + end + end + end end diff --git a/lib/squib/deck.rb b/lib/squib/deck.rb index 76c1bf9..4211b9b 100644 --- a/lib/squib/deck.rb +++ b/lib/squib/deck.rb @@ -35,7 +35,7 @@ module Squib :img_dir, :prefix, :text_hint, :typographer # :nodoc: # @api private - attr_reader :layout, :conf, :dpi + attr_reader :layout, :conf, :dpi, :font # # deck.size is really just @cards.size diff --git a/lib/squib/graphics/text.rb b/lib/squib/graphics/text.rb index e87bf70..c03000d 100644 --- a/lib/squib/graphics/text.rb +++ b/lib/squib/graphics/text.rb @@ -20,47 +20,6 @@ module Squib cc.stroke end - # :nodoc: - # @api private - def set_ellipsize!(layout, ellipsize) - case ellipsize.to_s.downcase - when 'none', 'false' - layout.ellipsize = Pango::Layout::ELLIPSIZE_NONE - when 'start' - layout.ellipsize = Pango::Layout::ELLIPSIZE_START - when 'middle' - layout.ellipsize = Pango::Layout::ELLIPSIZE_MIDDLE - when 'end', 'true' - layout.ellipsize = Pango::Layout::ELLIPSIZE_END - end - end - - # :nodoc: - # @api private - def set_wrap!(layout, wrap) - case wrap.to_s.downcase - when 'word' - layout.wrap = Pango::Layout::WRAP_WORD - when 'char' - layout.wrap = Pango::Layout::WRAP_CHAR - when 'word_char', 'true' - layout.wrap = Pango::Layout::WRAP_WORD_CHAR - end - end - - # :nodoc: - # @api private - def set_align!(layout, align) - case align.to_s.downcase - when 'left' - layout.alignment = Pango::ALIGN_LEFT - when 'right' - layout.alignment = Pango::ALIGN_RIGHT - when 'center' - layout.alignment = Pango::ALIGN_CENTER - end - end - # :nodoc: # @api private def compute_valign(layout, valign) @@ -173,9 +132,9 @@ module Squib set_font_rendering_opts!(layout) set_wh!(layout, box.width, box.height) - set_wrap!(layout, para.wrap) - set_ellipsize!(layout, para.ellipsize) - set_align!(layout, para.align) + layout.wrap = para.wrap + layout.ellipsize = para.ellipsize + layout.alignment = para.align layout.justify = para.justify unless para.justify.nil? layout.spacing = para.spacing * Pango::SCALE unless para.spacing.nil? diff --git a/spec/api/api_text_spec.rb b/spec/api/api_text_spec.rb deleted file mode 100644 index 8582175..0000000 --- a/spec/api/api_text_spec.rb +++ /dev/null @@ -1,37 +0,0 @@ -require 'spec_helper' -require 'squib' - -describe Squib::Deck, '#text' do - - context 'fonts' do - it "should use the default font when #text and #set_font don't specify" do - card = instance_double(Squib::Card) - expect(card).to receive(:text).with(anything, 'a', 'Arial 36', *([anything] * 17)).once - Squib::Deck.new do - @cards = [card] - text str: 'a' - end - end - - it "should use the #set_font when #text doesn't specify" do - card = instance_double(Squib::Card) - expect(card).to receive(:text).with(anything, 'a', 'Times New Roman 16', *([anything] * 17)).once - Squib::Deck.new do - @cards = [card] - set font: 'Times New Roman 16' - text str: 'a' - end - end - - it 'should use the specified font no matter what' do - card = instance_double(Squib::Card) - expect(card).to receive(:text).with(anything, 'a', 'Arial 18', *([anything] * 17)).once - Squib::Deck.new do - @cards = [card] - set font: 'Times New Roman 16' - text str: 'a', font: 'Arial 18' - end - end - end - -end diff --git a/spec/args/paragraph_spec.rb b/spec/args/paragraph_spec.rb new file mode 100644 index 0000000..48f61f0 --- /dev/null +++ b/spec/args/paragraph_spec.rb @@ -0,0 +1,153 @@ +require 'spec_helper' +require 'squib/args/paragraph' +require 'squib/constants' + +describe Squib::Args::Paragraph do + subject(:para) { Squib::Args::Paragraph.new('FooFont 32') } + + context 'str validator' do + it 'converts everything to string' do + para.load!( {str: 5} ) + expect(para.str).to eq ['5'] + end + end + + context 'font validator' do + it 'uses deck font by default' do + para.load!( {} ) + expect(para.font).to eq ['FooFont 32'] + end + + it 'uses system default font when deck font is :default' do + para = Squib::Args::Paragraph.new(:default) + para.load!( {} ) + expect(para.font).to eq [Squib::SYSTEM_DEFAULTS[:default_font]] + end + + it 'uses specified font when given' do + para.load!( {font: 'MyFont 8'}) + expect(para.font).to eq ['MyFont 8'] + end + end + + context 'align validator' do + it 'converts to pango left' do + para.load!( { align: :left } ) + expect(para.align).to eq [Pango::ALIGN_LEFT] + end + + it 'converts to pango right' do + para.load!( { align: :RIGHT } ) + expect(para.align).to eq [Pango::ALIGN_RIGHT] + end + + it 'converts to pango center' do + para.load!( { align: 'center' } ) + expect(para.align).to eq [Pango::ALIGN_CENTER] + end + + it 'raises an exception on anything else' do + expect { para.load!( { align: 'foo' } ) }.to raise_error(ArgumentError, 'align must be one of: center, left, right') + end + end + + context 'wrap validator' do + it 'converts to pango wrap word' do + para.load!( { wrap: 'word'} ) + expect(para.wrap).to eq [Pango::WRAP_WORD] + end + + it 'converts to pango wrap char' do + para.load!( { wrap: 'WORD_ChAr'} ) + expect(para.wrap).to eq [Pango::WRAP_WORD_CHAR] + end + + it 'converts to pango wrap char on true' do + para.load!( { wrap: true} ) + expect(para.wrap).to eq [Pango::WRAP_WORD_CHAR] + end + + it 'converts to pango wrap char with false' do + para.load!( { wrap: false} ) + expect(para.wrap).to eq [Pango::WRAP_CHAR] + end + + it 'raises an exception on anything else' do + expect { para.load!( {wrap: 'foo' }) }.to raise_error(ArgumentError, 'wrap must be one of: word, char, word_char, true, or false') + end + end + + context 'ellipsize validator' do + it 'converts to pango on none and false' do + para.load!( { ellipsize: 'none'} ) + expect(para.ellipsize).to eq [Pango::Layout::ELLIPSIZE_NONE] + end + + it 'converts to pango with start' do + para.load!( { ellipsize: :StArt} ) + expect(para.ellipsize).to eq [Pango::Layout::ELLIPSIZE_START] + end + + it 'converts to pango middle' do + para.load!( { ellipsize: 'middle'} ) + expect(para.ellipsize).to eq [Pango::Layout::ELLIPSIZE_MIDDLE] + end + + it 'converts to pango end' do + para.load!( { ellipsize: 'END'} ) + expect(para.ellipsize).to eq [Pango::Layout::ELLIPSIZE_END] + end + + it 'raises an exception on anything else' do + expect { para.load!( {ellipsize: 'foo' }) }.to raise_error(ArgumentError, 'ellipsize must be one of: none, start, middle, end, true, or false') + end + end + + context 'justify validator' do + it 'allows nil' do + para.load!( { justify: nil} ) + expect(para.justify).to eq [nil] + end + + it 'can be true' do + para.load!( { justify: true} ) + expect(para.justify).to eq [true] + end + + it 'can be false' do + para.load!( { justify: false} ) + expect(para.justify).to eq [false] + end + + it 'raises an exception on anything else' do + expect { para.load!( {justify: 'false' }) }.to raise_error(ArgumentError, 'justify must be one of: nil, true, or false') + end + end + + context 'spacing validator' do + it 'allows nil' do + para.load!( { spacing: nil} ) + expect(para.spacing).to eq [nil] + end + it 'is converted to Pango space' do + para.load!( { spacing: 519} ) + expect(para.spacing).to eq [Pango::SCALE * 519.0] + end + + it 'raises an exception if not a float' do + expect { para.load!( {spacing: /foo/ }) }.to raise_error(ArgumentError, 'spacing must be a number or nil') + end + end + + context 'valign validator' do + it 'converts top' do + para.load!( { valign: :top} ) + expect(para.valign).to eq ['top'] + end + + it 'raises an exception if not one of the three' do + expect { para.load!( {valign: 'foo' }) }.to raise_error(ArgumentError, 'valign must be one of: top, middle, bottom') + end + end + +end \ No newline at end of file diff --git a/spec/data/samples/autoscale_font.rb.txt b/spec/data/samples/autoscale_font.rb.txt index 2e5278c..e4d7aaa 100644 --- a/spec/data/samples/autoscale_font.rb.txt +++ b/spec/data/samples/autoscale_font.rb.txt @@ -26,7 +26,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -49,7 +49,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -72,7 +72,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) diff --git a/spec/data/samples/basic.rb.txt b/spec/data/samples/basic.rb.txt index 6f291be..51f097a 100644 --- a/spec/data/samples/basic.rb.txt +++ b/spec/data/samples/basic.rb.txt @@ -90,7 +90,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -107,7 +107,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -124,7 +124,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -142,7 +142,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -160,7 +160,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -178,7 +178,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) diff --git a/spec/data/samples/config_text_markup.rb.txt b/spec/data/samples/config_text_markup.rb.txt index 59b8098..b9607c2 100644 --- a/spec/data/samples/config_text_markup.rb.txt +++ b/spec/data/samples/config_text_markup.rb.txt @@ -17,7 +17,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -40,7 +40,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -62,7 +62,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) diff --git a/spec/data/samples/csv_import.rb.txt b/spec/data/samples/csv_import.rb.txt index e784a54..000ee97 100644 --- a/spec/data/samples/csv_import.rb.txt +++ b/spec/data/samples/csv_import.rb.txt @@ -19,7 +19,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -36,7 +36,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -53,7 +53,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -70,7 +70,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) diff --git a/spec/data/samples/custom_config.rb.txt b/spec/data/samples/custom_config.rb.txt index 91a3c1e..b5c8bfe 100644 --- a/spec/data/samples/custom_config.rb.txt +++ b/spec/data/samples/custom_config.rb.txt @@ -15,7 +15,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) diff --git a/spec/data/samples/embed_text.rb.txt b/spec/data/samples/embed_text.rb.txt index 7e60699..ac1c57b 100644 --- a/spec/data/samples/embed_text.rb.txt +++ b/spec/data/samples/embed_text.rb.txt @@ -23,10 +23,10 @@ pango: font_description=([MockDouble]) pango: text=(["Take 11 :tool: and gain 2 :health:. Take 2 :tool: and gain 3 :purse: if level 2."]) pango: width=([184320]) pango: wrap=([#]) -pango: ellipsize=([#]) +pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) pango: markup=(["Take 11 :tool: and gain 2 :health:. Take 2 :tool: and gain 3 :purse: if level 2."]) cairo: move_to([0, 0]) @@ -47,10 +47,10 @@ pango: text=(["Middle align: Take 1 :tool: and gain 2 :health:. Take 2 :tool: an pango: width=([184320]) pango: height=([307200]) pango: wrap=([#]) -pango: ellipsize=([#]) +pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) pango: markup=(["Middle align: Take 1 :tool: and gain 2 :health:. Take 2 :tool: and gain 3 :purse:"]) cairo: move_to([0, 0.0]) @@ -71,10 +71,10 @@ pango: text=(["This :tool: aligns on the bottom properly. :purse:"]) pango: width=([184320]) pango: height=([307200]) pango: wrap=([#]) -pango: ellipsize=([#]) +pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) pango: markup=(["This :tool: aligns on the bottom properly. :purse:"]) cairo: move_to([0, 0.0]) @@ -95,10 +95,10 @@ pango: text=(["Wrapping multiples: These are 1 :tool::tool::tool: and these are pango: width=([184320]) pango: height=([307200]) pango: wrap=([#]) -pango: ellipsize=([#]) +pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) pango: markup=(["Wrapping multiples: These are 1 :tool::tool::tool: and these are multiple :tool::tool: :tool::tool:"]) cairo: move_to([0, 0.0]) @@ -119,10 +119,10 @@ pango: text=([":tool:Justify will :tool: work too, and :purse: with more words j pango: width=([184320]) pango: height=([307200]) pango: wrap=([#]) -pango: ellipsize=([#]) +pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([true]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) pango: markup=([":tool:Justify will :tool: work too, and :purse: with more words just for fun"]) cairo: move_to([0, 0.0]) @@ -143,10 +143,10 @@ pango: text=(["Right-aligned works :tool: with :health: and :purse:"]) pango: width=([184320]) pango: height=([307200]) pango: wrap=([#]) -pango: ellipsize=([#]) +pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) pango: markup=(["Right-aligned works :tool: with :health: and :purse:"]) cairo: move_to([0, 0.0]) @@ -167,10 +167,10 @@ pango: text=([":tool:Center-aligned works :tool: with :health: and :purse:"]) pango: width=([184320]) pango: height=([307200]) pango: wrap=([#]) -pango: ellipsize=([#]) +pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) pango: markup=([":tool:Center-aligned works :tool: with :health: and :purse:"]) cairo: move_to([0, 0]) @@ -195,7 +195,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) pango: markup=(["foo"]) cairo: move_to([0, 0]) @@ -221,10 +221,10 @@ pango: text=(["Take 1 :tool: and gain 2 :health:."]) pango: width=([184320]) pango: height=([307200]) pango: wrap=([#]) -pango: ellipsize=([#]) +pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) pango: markup=(["Take 1 :tool: and gain 2 :health:."]) cairo: move_to([0, 0.0]) @@ -246,10 +246,10 @@ pango: text=(["Take 1 :tool: and gain 2 :health:."]) pango: width=([184320]) pango: height=([307200]) pango: wrap=([#]) -pango: ellipsize=([#]) +pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) pango: markup=(["Take 1 :tool: and gain 2 :health:."]) cairo: move_to([0, 0.0]) @@ -271,10 +271,10 @@ pango: text=(["Take 1 :tool: and gain 2 :health:."]) pango: width=([184320]) pango: height=([307200]) pango: wrap=([#]) -pango: ellipsize=([#]) +pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) pango: markup=(["Take 1 :tool: and gain 2 :health:."]) cairo: move_to([0, 0.0]) diff --git a/spec/data/samples/excel.rb.txt b/spec/data/samples/excel.rb.txt index 720fd14..0ab6613 100644 --- a/spec/data/samples/excel.rb.txt +++ b/spec/data/samples/excel.rb.txt @@ -24,7 +24,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -41,7 +41,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -58,7 +58,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -75,7 +75,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -92,7 +92,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -109,7 +109,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -126,7 +126,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -143,7 +143,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -160,7 +160,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) diff --git a/spec/data/samples/gradients.rb.txt b/spec/data/samples/gradients.rb.txt index 031adce..921777a 100644 --- a/spec/data/samples/gradients.rb.txt +++ b/spec/data/samples/gradients.rb.txt @@ -71,7 +71,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) diff --git a/spec/data/samples/hand.rb.txt b/spec/data/samples/hand.rb.txt index ae06d2f..0af42e1 100644 --- a/spec/data/samples/hand.rb.txt +++ b/spec/data/samples/hand.rb.txt @@ -225,7 +225,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -242,7 +242,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -259,7 +259,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -276,7 +276,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -293,7 +293,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -310,7 +310,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -327,7 +327,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -344,7 +344,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) diff --git a/spec/data/samples/hello_world.rb.txt b/spec/data/samples/hello_world.rb.txt index 4233598..02fb79a 100644 --- a/spec/data/samples/hello_world.rb.txt +++ b/spec/data/samples/hello_world.rb.txt @@ -11,7 +11,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -28,7 +28,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) diff --git a/spec/data/samples/portrait-landscape.rb.txt b/spec/data/samples/portrait-landscape.rb.txt index 5f3b3cb..afa9bbd 100644 --- a/spec/data/samples/portrait-landscape.rb.txt +++ b/spec/data/samples/portrait-landscape.rb.txt @@ -14,7 +14,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -37,7 +37,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) diff --git a/spec/data/samples/ranges.rb.txt b/spec/data/samples/ranges.rb.txt index 7669c75..b54656f 100644 --- a/spec/data/samples/ranges.rb.txt +++ b/spec/data/samples/ranges.rb.txt @@ -24,7 +24,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -41,7 +41,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -58,7 +58,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -75,7 +75,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -92,7 +92,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -109,7 +109,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -127,7 +127,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -145,7 +145,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -163,7 +163,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -180,7 +180,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -197,7 +197,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -214,7 +214,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -231,7 +231,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -248,7 +248,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -265,7 +265,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -282,7 +282,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -299,7 +299,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -316,7 +316,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -333,7 +333,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -350,7 +350,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -367,7 +367,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -384,7 +384,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -401,7 +401,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -418,7 +418,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) diff --git a/spec/data/samples/saves.rb.txt b/spec/data/samples/saves.rb.txt index 9fbe869..13da4cd 100644 --- a/spec/data/samples/saves.rb.txt +++ b/spec/data/samples/saves.rb.txt @@ -265,7 +265,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -282,7 +282,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -299,7 +299,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -316,7 +316,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -333,7 +333,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -350,7 +350,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -367,7 +367,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -384,7 +384,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -401,7 +401,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -418,7 +418,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -435,7 +435,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -452,7 +452,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -469,7 +469,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -486,7 +486,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -503,7 +503,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -520,7 +520,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) diff --git a/spec/data/samples/showcase.rb.txt b/spec/data/samples/showcase.rb.txt index c6f45c1..b16d7de 100644 --- a/spec/data/samples/showcase.rb.txt +++ b/spec/data/samples/showcase.rb.txt @@ -74,7 +74,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -92,7 +92,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -110,7 +110,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -128,7 +128,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) diff --git a/spec/data/samples/text_options.rb.txt b/spec/data/samples/text_options.rb.txt index 16ac906..9a8c09a 100644 --- a/spec/data/samples/text_options.rb.txt +++ b/spec/data/samples/text_options.rb.txt @@ -90,7 +90,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -107,7 +107,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -124,7 +124,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -141,7 +141,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -158,7 +158,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -175,7 +175,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -192,7 +192,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -209,7 +209,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -226,7 +226,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -243,7 +243,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -260,7 +260,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -277,7 +277,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -295,7 +295,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -313,7 +313,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -331,7 +331,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -350,7 +350,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0.0]) cairo: update_pango_layout([MockDouble]) @@ -373,7 +373,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0.0]) cairo: update_pango_layout([MockDouble]) @@ -396,7 +396,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0.0]) cairo: update_pango_layout([MockDouble]) @@ -418,7 +418,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -436,7 +436,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -454,7 +454,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -506,7 +506,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -529,7 +529,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -552,7 +552,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -573,7 +573,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -594,7 +594,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -615,7 +615,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -636,7 +636,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -653,7 +653,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -670,7 +670,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -687,7 +687,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -708,7 +708,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -729,7 +729,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -752,7 +752,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([true]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -771,7 +771,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([true]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -790,7 +790,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([true]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -805,10 +805,10 @@ pango: font_description=([MockDouble]) pango: text=(["Embedded icons! Take 1 :tool: and gain 2:health:. If Level 2, take 2 :tool:"]) pango: width=([261120.0]) pango: wrap=([#]) -pango: ellipsize=([#]) +pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) pango: markup=(["Embedded icons! Take 1 :tool: and gain 2:health:. If Level 2, take 2 :tool:"]) cairo: move_to([0, 0]) @@ -824,10 +824,10 @@ pango: font_description=([MockDouble]) pango: text=(["Embedded icons! Take 1 :tool: and gain 2:health:. If Level 2, take 2 :tool:"]) pango: width=([261120.0]) pango: wrap=([#]) -pango: ellipsize=([#]) +pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) pango: markup=(["Embedded icons! Take 1 :tool: and gain 2:health:. If Level 2, take 2 :tool:"]) cairo: move_to([0, 0]) @@ -843,10 +843,10 @@ pango: font_description=([MockDouble]) pango: text=(["Embedded icons! Take 1 :tool: and gain 2:health:. If Level 2, take 2 :tool:"]) pango: width=([261120.0]) pango: wrap=([#]) -pango: ellipsize=([#]) +pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) pango: markup=(["Embedded icons! Take 1 :tool: and gain 2:health:. If Level 2, take 2 :tool:"]) cairo: move_to([0, 0]) @@ -866,7 +866,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -892,7 +892,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -918,7 +918,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -944,7 +944,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -970,7 +970,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -996,7 +996,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -1023,7 +1023,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0.0]) cairo: update_pango_layout([MockDouble]) @@ -1047,7 +1047,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0.0]) cairo: update_pango_layout([MockDouble]) @@ -1071,7 +1071,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0.0]) cairo: update_pango_layout([MockDouble]) diff --git a/spec/data/samples/tgc_proofs.rb.txt b/spec/data/samples/tgc_proofs.rb.txt index e9a730f..445b2de 100644 --- a/spec/data/samples/tgc_proofs.rb.txt +++ b/spec/data/samples/tgc_proofs.rb.txt @@ -36,7 +36,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) @@ -54,7 +54,7 @@ pango: wrap=([#]) pango: ellipsize=([#]) pango: alignment=([#]) pango: justify=([false]) -pango: spacing=([0]) +pango: spacing=([0.0]) cairo: update_pango_layout([MockDouble]) cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) diff --git a/spec/graphics/graphics_text_spec.rb b/spec/graphics/graphics_text_spec.rb deleted file mode 100644 index 13744a4..0000000 --- a/spec/graphics/graphics_text_spec.rb +++ /dev/null @@ -1,164 +0,0 @@ -require 'spec_helper' -require 'squib' - -describe Squib::Card, '#text' do - - context 'typical inputs' do - let(:deck) { double(Squib::Deck) } - let(:context) { double(Cairo::Context) } - let(:layout) { double(Pango::Layout) } - let(:font_desc) { double(Pango::FontDescription) } - let(:pango_cxt) { double(Pango::Context) } - - before(:each) do - allow(Cairo::Context).to receive(:new).and_return(context) - allow(deck).to receive(:dir).and_return('_output') - allow(deck).to receive(:count_format).and_return('%02d') - allow(deck).to receive(:prefix).and_return('card_') - allow(deck).to receive(:antialias).and_return('best') - allow(deck).to receive(:antialias).and_return('subpixel') - allow(deck).to receive(:backend).and_return('memory') - allow(layout).to receive(:context).and_return(pango_cxt) - end - - it 'make all the expected calls on a smoke test' do - extent = Pango::Rectangle.new(50,60,100,200) - expect(Squib.logger).to receive(:debug).once - expect(context).to receive(:antialias=).with('subpixel').once - expect(context).to receive(:save).once - expect(context).to receive(:set_source_color).once - expect(context).to receive(:move_to).with(0, 0).twice - expect(context).to receive(:rotate).with(0.0).once - expect(context).to receive(:translate).with(10, 15).once - expect(context).to receive(:create_pango_layout).once.and_return(layout) - expect(Pango::FontDescription).to receive(:new).with('Sans 12').and_return(font_desc) - expect(layout ).to receive(:font_description=).with(font_desc).once - expect(layout ).to receive(:text=).with('foo').once - expect(layout ).to receive(:width=).with(20 * Pango::SCALE).once - expect(layout ).to receive(:height=).with(25 * Pango::SCALE).once - expect(layout ).to receive(:ellipsize=).with(Pango::Layout::ELLIPSIZE_NONE).once - expect(layout ).to receive(:alignment=).with(Pango::Layout::ALIGN_LEFT).once - expect(pango_cxt).to receive(:font_options=).once - expect(layout ).to receive(:justify=).with(false).once - expect(layout ).to receive(:spacing=).with(1.0 * Pango::SCALE).once - expect(context).to receive(:update_pango_layout).once - expect(layout ).to receive(:height).once.and_return(25) - expect(layout ).to receive(:extents).thrice.and_return([nil,extent]) - expect(context).to receive(:update_pango_layout).once - expect(context).to receive(:show_pango_layout).once - expect(context).to receive(:restore).once - - card = Squib::Card.new(deck, 100, 150) - # text(str, font, font_size, color, - # x, y, width, height, - # markup, justify, wrap, ellipsize, - # spacing, align, valign, hint, angle, - # stroke_width, stroke_color) - ret = card.text(Squib::TextEmbed.new,'foo', 'Sans 12', nil, '#abc', - 10, 15, 20, 25, - nil, false, false, false, - 1.0, :left, :top, nil, 0.0, '#fff', 0) - expect(ret).to eq({width: 0, height: 0}) - end - end - - context 'convenience lookups' do - let(:deck) { double(Squib::Deck) } - let(:context) { double(Cairo::Context).as_null_object } - let(:layout) { double(Pango::Layout).as_null_object } - let(:extents) { double("extents") } - - before(:each) do - allow(Cairo::Context).to receive(:new).and_return(context) - expect(context).to receive(:create_pango_layout).once.and_return(layout) - allow(deck).to receive(:dir).and_return('_output') - allow(deck).to receive(:count_format).and_return('%02d') - allow(deck).to receive(:prefix).and_return('card_') - allow(deck).to receive(:antialias).and_return('subpixel') - allow(deck).to receive(:backend).and_return('memory') - end - - it 'aligns right with strings' do - card = Squib::Card.new(deck, 100, 150) - expect(layout).to receive(:alignment=).with(Pango::Layout::ALIGN_RIGHT).once - card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc', - 10, 15, 20, 50, - nil, false, false, false, - 1.0, 'right', :top, nil, 0.0, '#fff', 0) - end - - it 'aligns center with strings' do - card = Squib::Card.new(deck, 100, 150) - expect(layout).to receive(:alignment=).with(Pango::Layout::ALIGN_CENTER).once - card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc', - 10, 15, 20, 50, - nil, false, false, false, - 1.0, 'center', :top, nil, 0.0, '#fff', 0) - end - - it 'sets wrap to char with string char' do - card = Squib::Card.new(deck, 100, 150) - expect(layout).to receive(:wrap=).with(Pango::Layout::WRAP_CHAR).once - card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc', - 10, 15, 20, 50, - nil, false, 'char', false, - 1.0, :left, :top, nil, 0.0, '#fff', 0) - end - - it 'sets wrap to word with word string' do - card = Squib::Card.new(deck, 100, 150) - expect(layout).to receive(:wrap=).with(Pango::Layout::WRAP_WORD).once - card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc', - 10, 15, 20, 50, - nil, false, 'word', false, - 1.0, :left, :top, nil, 0.0, '#fff', 0) - end - - it 'sets wrap to word_char with symbol word_char' do - card = Squib::Card.new(deck, 100, 150) - expect(layout).to receive(:wrap=).with(Pango::Layout::WRAP_WORD_CHAR).once - card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc', - 10, 15, 20, 50, - nil, false, :word_char, false, - 1.0, :left, :top, nil, 0.0, '#fff', 0) - end - - it 'sets wrap to word_char with true' do - card = Squib::Card.new(deck, 100, 150) - expect(layout).to receive(:wrap=).with(Pango::Layout::WRAP_WORD_CHAR).once - card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc', - 10, 15, 20, 50, - nil, false, true, false, - 1.0, :left, :top, nil, 0.0, '#fff', 0) - end - - it 'sets ellipsize to start properly' do - card = Squib::Card.new(deck, 100, 150) - expect(layout).to receive(:ellipsize=).with(Pango::Layout::ELLIPSIZE_START).once - card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc', - 10, 15, 20, 50, - nil, false, true, :start, - 1.0, :left, :top, nil, 0.0, '#fff', 0) - end - - it 'sets ellipsize to middle properly' do - card = Squib::Card.new(deck, 100, 150) - expect(layout).to receive(:ellipsize=).with(Pango::Layout::ELLIPSIZE_MIDDLE).once - card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc', - 10, 15, 20, 50, - nil, false, true, 'middle', - 1.0, :left, :top, nil, 0.0, '#fff', 0) - end - - it 'implements stroke and fill when asked to' do - card = Squib::Card.new(deck, 100, 150) - expect(context).to receive(:set_line_width).with(3.0).once - expect(context).to receive(:pango_layout_path).once - card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc', - 10, 15, 20, 50, - nil, false, true, 'middle', - 1.0, :left, :top, nil, 0.0, '#f00', 3.0) - end - - end -end diff --git a/squib.sublime-project b/squib.sublime-project index d91dfe8..e43f1fe 100644 --- a/squib.sublime-project +++ b/squib.sublime-project @@ -20,6 +20,8 @@ {"name": "rake spec_fastonly", "shell_cmd": "rake spec_fastonly",}, {"name": "rake run[text_options]", "shell_cmd": "rake run[text_options]",}, {"name": "rake run[hand]", "shell_cmd": "rake run[hand]",}, + {"name": "rspec spec/args/paragraph_spec.rb", "shell_cmd": "rspec spec/args/paragraph_spec.rb", "working_dir": "${project_path:${folder}}"}, + {"name": "rspec spec/args/*_spec.rb", "shell_cmd": "rspec spec/args/*_spec.rb", "working_dir": "${project_path:${folder}}"}, // {"name": "rake run[config_text_markup]", "shell_cmd": "rake run[config_text_markup]",}, // {"name": "rake run[csv_import]", "shell_cmd": "rake run[csv_import]",}, // {"name": "rake run[custom_config]", "shell_cmd": "rake run[custom_config]",},