# -*- coding: utf-8 -*-
require "test_helper"
require "support/xml_snippets"
class SablonHTMLTest < Sablon::TestCase
include Sablon::Test::Assertions
def setup
super
@base_path = Pathname.new(File.expand_path("../", __FILE__))
@sample_path = @base_path + "fixtures/html_sample.docx"
end
def test_generate_document_from_template_with_styles_and_html
template_path = @base_path + "fixtures/insertion_template.docx"
output_path = @base_path + "sandbox/html.docx"
template = Sablon.template template_path
context = {'html:content' => content}
template.render_to_file output_path, context
assert_docx_equal @sample_path, output_path
end
def test_generate_document_from_template_without_styles_and_html
template_path = @base_path + "fixtures/insertion_template_no_styles.docx"
output_path = @base_path + "sandbox/html_no_styles.docx"
template = Sablon.template template_path
context = {'html:content' => content}
e = assert_raises(ArgumentError) do
template.render_to_file output_path, context
end
assert_equal 'Could not find w:abstractNum definition for style: "ListNumber"', e.message
skip 'implement default styles'
end
private
def content
<<-HTML
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse a tempus turpis. Duis urna justo, vehicula vitae ultricies vel, congue at sem. Fusce turpis turpis, aliquet id pulvinar aliquam, iaculis non elit. Nulla feugiat lectus nulla, in dictum ipsum cursus ac. Quisque at odio neque. Sed ac tortor iaculis, bibendum leo ut, malesuada velit. Donec iaculis sed urna eget pharetra. Praesent ornare fermentum turpis, placerat iaculis urna bibendum vitae. Nunc in quam consequat, tristique tellus in, commodo turpis. Curabitur ullamcorper odio purus, lobortis egestas magna laoreet vitae. Nunc fringilla velit ante, eu aliquam nisi cursus vitae. Suspendisse sit amet dui egestas, volutpat nisi vel, mattis justo. Nullam pellentesque, ipsum eget blandit pharetra, augue elit aliquam mauris, vel mollis nisl augue ut ipsum.
- Vestibulum
- ante ipsum primis
- in faucibus orci luctus
- et ultrices posuere cubilia Curae;
- Aliquam vel dolor
- sed sem maximus
- fermentum in non odio.
- Fusce hendrerit ornare mollis.
- Nunc scelerisque nibh nec turpis tempor pulvinar.
- Donec eros turpis,
- aliquet vel volutpat sit amet,
- semper eu purus.
- Proin ac erat nec urna efficitur vulputate.
- Quisque varius convallis ultricies.
- Nullam vel fermentum eros.
Pellentesque nulla leo, auctor ornare erat sed, rhoncus congue diam. Duis non porttitor nulla, ut eleifend enim. Pellentesque non tempor sem.
Mauris auctor egestas arcu,
- id venenatis nibh dignissim id.
- In non placerat metus.
- Nunc sed consequat metus.
- Nulla consectetur lorem consequat,
- malesuada dui at, lacinia lectus.
- Aliquam efficitur
- lorem a mauris feugiat,
- at semper eros pellentesque.
Nunc lacus diam, consectetur ut odio sit amet, placerat pharetra erat. Sed commodo ut sem id congue. Sed eget neque elit. Curabitur at erat tortor. Maecenas eget sapien vitae est sagittis accumsan et nec orci. Integer luctus at nisl eget venenatis. Nunc nunc eros, consectetur at tortor et, tristique ultrices elit. Nulla in turpis nibh.
- Nam consectetur
- Aenean
- Duis faucibus nunc nec venenatis faucibus.
- Aliquam erat volutpat.
Quisque non neque ut lacus eleifend volutpat quis sed lacus. Praesent ultrices purus eu quam elementum, sit amet faucibus elit interdum. In lectus orci, elementum quis dictum ac, porta ac ante. Fusce tempus ac mauris id cursus. Phasellus a erat nulla. Mauris dolor orci, malesuada auctor dignissim non, posuere nec odio. Etiam hendrerit justo nec diam ullamcorper, nec blandit elit sodales.
HTML
end
end