Skip to content

Commit

Permalink
Dogtail test: hide margins & merge pages
Browse files Browse the repository at this point in the history
  • Loading branch information
kbengs committed Sep 9, 2023
1 parent 0a81645 commit d89dd7e
Showing 1 changed file with 61 additions and 0 deletions.
61 changes: 61 additions & 0 deletions tests/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -684,6 +684,67 @@ def test_06_quit(self):


class TestBatch6(PdfArrangerTest):
"""Test hide margins and merge pages"""
def test_01_import_pdf(self):
self._start(["tests/test.pdf"])

def test_02_merge_pages(self):
if not have_pikepdf3():
return
self._popupmenu(0, ["Select", "Select All"])
self._popupmenu(0, "Merge Pages…")
dialog = self._app().child(roleName="dialog")
dialog.child(name="OK").click()
self._wait_cond(lambda: dialog.dead)

def test_03_hide_margins(self):
if not have_pikepdf3():
return
self._popupmenu(0, ["Select", "Select All"])
self._assert_selected("1")
self._app().keyCombo("H")
dialog = self._app().child(roleName="dialog")
x_left = dialog.position[0] + 25 # 25 = padding in DrawingAreaWidget
y_center = dialog.position[1] + dialog.size[1] / 2
hidepanel = dialog.child(name="Hide Margins")
left_hide = self._find_by_role("spin button", hidepanel)[3]
from dogtail import rawinput
for button, expected in [["Apply", "14.9"], ["Revert", "0.0"], ["Apply", "14.9"]]:
rawinput.drag((x_left, y_center), (x_left + 220, y_center))
rawinput.drag((x_left + 250, y_center), (x_left + 75, y_center))
dialog.child(name=button).click()
self.assertEqual(left_hide.text, expected)
dialog.child(name="OK").click()
self._wait_cond(lambda: dialog.dead)

def test_04_export(self):
self._popupmenu(0, ["Select", "Select All"])
self._mainmenu(["Export", "Export Selection to a Single File…"])
self._save_as_chooser("hide.pdf")
self._assert_file_size("hide.pdf", 1713 if have_pikepdf3() else 1456)

if have_pikepdf3():
self._assert_page_content("hide.pdf", (
b' /BBox [', b' 182.384106\n', b' 0\n', b' 514.728477\n', b' 792\n',
b'1 0 0 rg 530 180 m 70 180 l 300 580 l h 530 180 m B'))

def test_05_merge_pages(self):
if not have_pikepdf3():
return
self._popupmenu(0, ["Select", "Select All"])
self._popupmenu(0, "Merge Pages…")
dialog = self._app().child(roleName="dialog")
dialog.child(name="OK").click()
self._wait_cond(lambda: dialog.dead)

def test_06_quit(self):
if have_pikepdf3():
self._quit_without_saving()
else:
self._quit()


class TestBatch7(PdfArrangerTest):
"""Test Open action"""

# Kill X11 after that batch
Expand Down

0 comments on commit d89dd7e

Please sign in to comment.