diff --git a/lib/squib/api/data.rb b/lib/squib/api/data.rb index d921acb..8728279 100644 --- a/lib/squib/api/data.rb +++ b/lib/squib/api/data.rb @@ -1,6 +1,7 @@ module Squib class Deck def csv(file: 'deck.csv', header: true) + raise 'Not implemented!' end end end \ No newline at end of file diff --git a/lib/squib/api/image.rb b/lib/squib/api/image.rb index 273fa7e..ead819f 100644 --- a/lib/squib/api/image.rb +++ b/lib/squib/api/image.rb @@ -2,6 +2,7 @@ module Squib class Deck def png(range=:all, file: nil, x: 0, y: 0) + raise 'Not implemented!' end end diff --git a/lib/squib/api/text.rb b/lib/squib/api/text.rb index a3b5912..3c74a68 100644 --- a/lib/squib/api/text.rb +++ b/lib/squib/api/text.rb @@ -1,13 +1,16 @@ module Squib class Deck def fontify (font) + font = 'Arial 36' if font==:use_set font end def font(type: 'Arial', size: 12, **options) + raise 'Not implemented!' end def set_font(type: 'Arial', size: 12, **options) + raise 'Not implemented!' end def text(range: :all, str: '', font: :use_set, x: 0, y: 0, **options) diff --git a/spec/deck_spec.rb b/spec/deck_spec.rb index c72831d..146c9f3 100644 --- a/spec/deck_spec.rb +++ b/spec/deck_spec.rb @@ -1,12 +1,48 @@ require 'squib/deck' -include Squib -describe Deck.new do +describe Squib::Deck do + it "initializes with default parameters" do - d = Deck.new + d = Squib::Deck.new expect(d.width).to eq(825) expect(d.height).to eq(1125) - expect(d.cards).to eq(1) + expect(d.cards.size).to eq(1) end -end - + + context "in dealing with ranges" do + it "calls text on all cards by default" do + card1 = instance_double(Squib::Card) + card2 = instance_double(Squib::Card) + expect(card1).to receive(:text).with('blah','Arial 36',0,0,{}).once + expect(card2).to receive(:text).with('blah','Arial 36',0,0,{}).once + Squib::Deck.new do + @cards = [card1, card2] + text str: 'blah' + end + end + + it "calls text on some cards with an integer" do + card1 = instance_double(Squib::Card) + card2 = instance_double(Squib::Card) + expect(card2).to receive(:text).with('blah','Arial 36',0,0,{}).once + Squib::Deck.new do + @cards = [card1, card2] + text range: 1, str: 'blah' + end + end + + it "calls text with ranges" do + card1 = instance_double(Squib::Card) + card2 = instance_double(Squib::Card) + card3 = instance_double(Squib::Card) + expect(card1).to receive(:text).with('blah','Arial 36',0,0,{}).once + expect(card2).to receive(:text).with('blah','Arial 36',0,0,{}).once + Squib::Deck.new do + @cards = [card1, card2, card3] + text range: 0..1, str: 'blah' + end + end + end + +end#describe + diff --git a/squib.gemspec b/squib.gemspec index 4d691ae..03fc3bf 100644 --- a/squib.gemspec +++ b/squib.gemspec @@ -22,5 +22,5 @@ Gem::Specification.new do |spec| spec.add_development_dependency "bundler", "~> 1.6" spec.add_development_dependency "rake" - spec.add_development_dependency "rspec" + spec.add_development_dependency "rspec", "~> 3.0" end