# frozen_string_literal: true require "test_helper" class PageBreakTest < Minitest::Test include NotareTestHelpers def test_page_break xml = create_doc_and_read_xml do |doc| doc.p "First page content" doc.page_break doc.p "Second page content" end assert_includes xml, "First page content" assert_includes xml, "Second page content" assert_includes xml, '' end def test_multiple_page_breaks xml = create_doc_and_read_xml do |doc| doc.p "Page 1" doc.page_break doc.p "Page 2" doc.page_break doc.p "Page 3" end assert_equal 2, xml.scan('').count end def test_page_break_between_different_elements xml = create_doc_and_read_xml do |doc| doc.h1 "Chapter 1" doc.p "Some content" doc.page_break doc.h1 "Chapter 2" doc.ul do doc.li "Item 1" end end assert_includes xml, "Chapter 1" assert_includes xml, "Chapter 2" assert_includes xml, '' end def test_page_break_renders_in_own_paragraph xml = create_doc_and_read_xml(&:page_break) # Page break should be wrapped in its own paragraph assert_match(%r{\s*\s*\s*\s*}m, xml) end end