All checks were successful
CI Pipeline / build (pull_request) Successful in 12s
Adds these new styling and formatting nodes * strike * highlight * linebreaks * pagebreaks * Hyperlinks
86 lines
1.8 KiB
Ruby
86 lines
1.8 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require "test_helper"
|
|
|
|
class LineBreakTest < Minitest::Test
|
|
include NotareTestHelpers
|
|
|
|
def test_line_break_in_paragraph
|
|
xml = create_doc_and_read_xml do |doc|
|
|
doc.p do
|
|
doc.text "First line"
|
|
doc.br
|
|
doc.text "Second line"
|
|
end
|
|
end
|
|
|
|
assert_includes xml, "First line"
|
|
assert_includes xml, "Second line"
|
|
assert_includes xml, "<w:br/>"
|
|
end
|
|
|
|
def test_multiple_line_breaks
|
|
xml = create_doc_and_read_xml do |doc|
|
|
doc.p do
|
|
doc.text "Line 1"
|
|
doc.br
|
|
doc.text "Line 2"
|
|
doc.br
|
|
doc.text "Line 3"
|
|
end
|
|
end
|
|
|
|
assert_equal 2, xml.scan("<w:br/>").count
|
|
end
|
|
|
|
def test_line_break_with_formatting
|
|
xml = create_doc_and_read_xml do |doc|
|
|
doc.p do
|
|
doc.b { doc.text "Bold first line" }
|
|
doc.br
|
|
doc.i { doc.text "Italic second line" }
|
|
end
|
|
end
|
|
|
|
assert_includes xml, "<w:b/>"
|
|
assert_includes xml, "<w:i/>"
|
|
assert_includes xml, "<w:br/>"
|
|
assert_includes xml, "Bold first line"
|
|
assert_includes xml, "Italic second line"
|
|
end
|
|
|
|
def test_line_break_in_list_item
|
|
xml = create_doc_and_read_xml do |doc|
|
|
doc.ul do
|
|
doc.li do
|
|
doc.text "First line"
|
|
doc.br
|
|
doc.text "Second line"
|
|
end
|
|
end
|
|
end
|
|
|
|
assert_includes xml, "<w:br/>"
|
|
assert_includes xml, "First line"
|
|
assert_includes xml, "Second line"
|
|
end
|
|
|
|
def test_line_break_in_table_cell
|
|
xml = create_doc_and_read_xml do |doc|
|
|
doc.table do
|
|
doc.tr do
|
|
doc.td do
|
|
doc.text "Cell line 1"
|
|
doc.br
|
|
doc.text "Cell line 2"
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
assert_includes xml, "<w:br/>"
|
|
assert_includes xml, "Cell line 1"
|
|
assert_includes xml, "Cell line 2"
|
|
end
|
|
end
|