Sha256: 20c37df9ea09c994c9633c4ee47d7ce329ab47c8b68ee5ae0e07bbef09568a9c

Contents?: true

Size: 1.57 KB

Versions: 5

Compression:

Stored size: 1.57 KB

Contents

require 'rhet-butler/html-generator'
require 'rhet-butler/file-manager'
require 'rhet-butler/slide'
require 'rhet-butler/configuration'

describe RhetButler::HTMLGenerator do
  let :slides do
    one = RhetButler::Slide.new
    one.content = "A test slide"
    one.html_classes << "with-class"
    group = RhetButler::SlideGroup.new
    group.slides = [ one ]
    group.html_classes << "with-class"
    [ group ]
  end

  let :prez do
    RhetButler::SlideGroup.new.tap do |prez|
      prez.slides = slides
    end
  end

  let :files do
    manager = RhetButler::FileManager.new
  end

  let :template_handler do
    files.aspect_templates(:viewer)
  end

  let :configuration do
    files.aspect_config(:viewer)
  end

  let :generator do
    described_class.new(configuration, template_handler).tap do |gen|
      gen.root_step = prez
    end
  end

  let :root_template do
    "presentation.html"
  end

  let :html do
    generator.render(root_template)
  end

  it "should produce text from slides" do
    html.should be_a(String)
  end

  describe "produced HTML" do
    subject :doc do
      Nokogiri::HTML::Document.parse(html, nil, nil, Nokogiri::XML::ParseOptions::DEFAULT_XML)
    end

    it "should include the group" do
      doc.css('.group').should_not be_empty
    end

    it "should add the class to the group" do
      doc.css('.group.with-class').should_not be_empty
    end

    it "should include the slide" do
      doc.css('.slide').should_not be_empty
    end

    it "should add the class to the group" do
      doc.css('.slide.with-class').should_not be_empty
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rhet-butler-0.14.1 spec/html-generation.rb
rhet-butler-0.14.0 spec/html-generation.rb
rhet-butler-0.13.0 spec/html-generation.rb
rhet-butler-0.12.1 spec/html-generation.rb
rhet-butler-0.11.1 spec/html-generation.rb