Sha256: 8e93cf2746b0d6680d8dc2b2fe31dffc8e1920aec93a71980eeaad42a6f27e43

Contents?: true

Size: 1.32 KB

Versions: 1

Compression:

Stored size: 1.32 KB

Contents

require 'rhet-butler/slide-loader'

describe RhetButler::SlideProcessor do
  def slide(content)
    slide = RhetButler::Slide.new
    slide.content = content
    slide
  end

  def group(*slides)
    group = RhetButler::SlideGroup.new
    group.slides = slides
    group
  end

  let :slides do
    [
      slide("A"),
      slide("B"),
      group(slide("C"), slide("D"), slide("E"))
    ]
  end

  let :root_group do
    group(*slides)
  end

  let :root_arrangement do
    RhetButler::Arrangement['horizontal'].new
  end

  let :blueprint do
    [
      RhetButler::LayoutRule.new.tap do |rule|
        rule.layout_type = 'horizontal'
      end
    ]
  end

  let :default_slide_type do
    "textile"
  end

  let :processor do
    processor = RhetButler::SlideProcessor.new
    processor.root_group = root_group
    processor.blueprint = blueprint
    processor.default_slide_type = default_slide_type
    processor
  end

  let :result do
    processor.process
    processor.slides
  end

  it "should produce slides" do
    result.each do |slide|
      slide.should be_a_kind_of(RhetButler::Slide)
    end
  end

  it "should have five slides" do
    result.should have(5).slides

  end

  it "should put all the slides in order" do
    result.map do |slide|
      slide.content
    end.should == %w{A B C D E}.map{|str| "<p>#{str}</p>"}
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rhet-butler-0.5.0 spec/slide-processing.rb