def test_generate_layout_controllers_with_two_pages(self): live_width = neoscore.document.paper.live_width test_flowable = Flowable((Mm(0), Mm(0)), live_width * 1.5, Mm(256), Mm(5)) # Should result in two lines separated by one page break test_flowable._generate_layout_controllers() assert len(test_flowable.layout_controllers) == 2 assert test_flowable.layout_controllers[1].flowable_x == live_width
def test_generate_layout_controllers_with_only_one_line(self): test_flowable = Flowable((Mm(9), Mm(11)), Mm(100), Mm(50), Mm(5)) test_flowable._generate_layout_controllers() assert len(test_flowable.layout_controllers) == 1 assert test_flowable.layout_controllers[0].flowable_x == Mm(0) assert test_flowable.layout_controllers[0].pos == Point(Mm(9), Mm(11)) assert test_flowable.layout_controllers[ 0].page == neoscore.document.pages[0]
def test_generate_layout_controllers_with_many_pages(self): live_width = neoscore.document.paper.live_width test_flowable = Flowable((Mm(0), Mm(0)), live_width * 3.5, Mm(256), Mm(5)) test_flowable._generate_layout_controllers() assert len(test_flowable.layout_controllers) == 4 assert test_flowable.layout_controllers[1].flowable_x == live_width assert test_flowable.layout_controllers[2].flowable_x == live_width * 2 assert test_flowable.layout_controllers[3].flowable_x == live_width * 3
def test_generate_layout_controllers_with_many_lines(self): live_width = neoscore.document.paper.live_width test_flowable = Flowable((Mm(0), Mm(0)), live_width * 3.5, Mm(50), Mm(5)) # Should result in four lines separated by 3 line breaks test_flowable._generate_layout_controllers() assert len(test_flowable.layout_controllers) == 4 assert test_flowable.layout_controllers[1].flowable_x == live_width assert test_flowable.layout_controllers[2].flowable_x == live_width * 2 assert test_flowable.layout_controllers[3].flowable_x == live_width * 3
def test_generate_layout_controllers_on_new_pages_have_no_padding(self): live_width = neoscore.document.paper.live_width test_flowable = Flowable((Mm(0), Mm(0)), live_width * 3.5, Mm(1000), Mm(5)) test_flowable._generate_layout_controllers() # Test that every NewLine which is also a page break # has no y_padding (is aligned with the top of the live page area) current_page = None for line in test_flowable.layout_controllers: if current_page == line.page: continue current_page = line.page assert line.margin_bottom == Mm(0)
def test_generate_layout_controllers_new_lines_have_padding(self): live_width = neoscore.document.paper.live_width test_flowable = Flowable((Mm(0), Mm(0)), live_width * 3.5, Mm(1000), Mm(5)) test_flowable._generate_layout_controllers() # Test that every NewLine which is not also a page break has the expected # y_padding from the flowable current_page = None for line in test_flowable.layout_controllers: if current_page != line.page: current_page = line.page continue assert line.margin_bottom == test_flowable.y_padding