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 4186ebb
Showing 1 changed file with 65 additions and 0 deletions.
65 changes: 65 additions & 0 deletions tests/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -684,6 +684,71 @@ 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._app().keyCombo("<ctrl>a") # 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._app().keyCombo("<ctrl>a") # select all
self._assert_selected("1")
self._app().keyCombo("H")
dialog = self._app().child(roleName="dialog")
da = dialog.child(roleName="drawing area")
x_left = da.position[0] + 25 # 25 = padding in DrawingAreaWidget
y_center = da.position[1] + da.size[1] / 2
hidepanel = dialog.child(name="Hide Margins")
hidebuttons = self._find_by_role("spin button", hidepanel)
from dogtail import rawinput
for button, expected in [["Apply", "12.6"], ["Revert", "0.0"], ["Apply", "12.6"]]:
time.sleep(1)
rawinput.drag((x_left, y_center), (x_left + da.size[0] * 0.61, y_center))
time.sleep(1)
rawinput.drag((x_left + da.size[0] * 0.71, y_center), (x_left + da.size[0] * 0.21, y_center))
time.sleep(1)
dialog.child(name=button).click()
self.assertEqual(hidebuttons[3].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 1508)

#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'))

Check notice

Code scanning / CodeQL

Commented-out code Note test

This comment appears to contain commented-out code.

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 4186ebb

Please sign in to comment.