require 'test_helper' # # Test Class for DocumentParser # # @author [benny] # class DocumentParserTest < MiniTest::Unit::TestCase # parallelize_me! def setup cli = Rack::Blogengine::CommandLineInterface.new capture_stdout { cli.generate(testpath) } @documents = Rack::Blogengine::DocumentParser.parse_in_documents(testpath) end # Test DocumentParser.parse_in_documents(path) def test_parse_in_documents @documents.each do |document| # Check Hash keys assert(document.key?(:html), 'Documents should contain a path') assert(document.key?(:path), 'Documents should contain a response') end end # Test DocumentParser.fill_file_contents(layout, title, content, date) def test_fill_file_contents layout_file = ::File.open("#{testpath}/assets/layout/layout.html", 'r') layout = layout_file.read title = 'testtitle' content = 'testcontent' date = Date.new html = Rack::Blogengine::DocumentParser.fill_file_contents(layout, title, content, date) assert(html.include?(title), 'Parsed and filled in HTML should contain Title') assert(html.include?(content), 'Parsed and filled in HTML should contain Content') assert(html.include?(date.strftime('%d.%m.%Y')), 'Parsed and filled in HTML should contain Date') end # Test DocumentParser.get_file_contents('file.content') def test_get_file_contents Rack::Blogengine::DocumentParser.title = '' Rack::Blogengine::DocumentParser.content = '' Rack::Blogengine::DocumentParser.date = '' Rack::Blogengine::DocumentParser.get_file_contents('index.content') assert_equal('INDEX', Rack::Blogengine::DocumentParser.title, 'Parsed in Title should eql Title in test .content file') assert_equal('