Sha256: c3414c0f93586299c2ad9d627758d11a0de519643978cc18805839dc287bedd9

Contents?: true

Size: 1.89 KB

Versions: 2

Compression:

Stored size: 1.89 KB

Contents

require(File.dirname(__FILE__)+"/helper_test.rb")

class TestReportbuilderHtml < MiniTest::Unit::TestCase
  def setup
    @tmpdir=Dir::mktmpdir
    @title="Test #{rand(100)}"
    @rp=ReportBuilder.new(:name=>@title, :directory=>@tmpdir)
    @datadir=File.dirname(__FILE__)+"/../data"
  end
  def teardown
    FileUtils.remove_entry_secure @tmpdir
  end
  def test_empty_document
    doc=Nokogiri::HTML(@rp.to_html)
    assert_equal(@title, doc.at_xpath("/html/head/title").content)
    assert_equal(@title, doc.at_xpath("/html/body/h1").content)
    assert_match("", doc.at_xpath("/html/body").to_s.gsub(/<h1>.+<\/h1>|<\/?body>/,""))
    
  end
  def test_generate
    html=ReportBuilder.generate(:format=>:html, :name=>@title, :directory=>@tmpdir) do 
      text("hola")
    end
    doc=Nokogiri::HTML(html)
    assert_equal(@title, doc.at_xpath("/html/head/title").inner_html)
    assert_equal(@title, doc.at_xpath("/html/body/h1").inner_html)
    assert_equal("hola", doc.at_xpath("/html/body/p").inner_html)
    
  end
  def test_include_js
      mock = ""
      eval(" class << mock
        def report_building_html(generator)
      generator.js('"+@datadir+"/reportbuilder.js')
      end
      end ")
      @rp.add(mock)
      assert_match(/script.+js\/reportbuilder.js/, @rp.to_html)
      assert(File.exists? @tmpdir+"/js/reportbuilder.js")
  end
  def test_save_html
    tf=Tempfile.new("sdsd.html")
    exp=@rp.to_html
    @rp.save_html(tf.path)
    obt=""
    File.open(tf.path,"r") {|fp|
      obt=fp.readlines(nil)[0]
    }
    assert_equal(exp,obt)
  end
  def test_include_css
    mock_element = ""
    eval(" class << mock_element
    def report_building_html(generator)
      generator.css('"+@datadir+"/reportbuilder.css')
    end
    end ")
    @rp.add(mock_element)
    assert_match(/link rel='stylesheet'.+css\/reportbuilder.css/, @rp.to_html)
    assert(File.exists? @tmpdir+"/css/reportbuilder.css")
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
reportbuilder-1.4.0 test/test_html.rb
reportbuilder-1.3.0 test/test_html.rb