Files
Phoenix/unittests/test_lib_pdfviewer_pdfviewer.py

56 lines
2.1 KiB
Python

import unittest
from unittests import wtc
import wx
import os
import wx.lib.sized_controls as sc
try:
from wx.lib.pdfviewer import pdfViewer, pdfButtonPanel
havePyPDF = True
except ImportError:
havePyPDF = False # Assume neither PyMuPDF nor PyPDF2 found
dataDir = os.path.join(os.path.dirname(__file__), "data")
samplePdf = os.path.join(dataDir, "sample.pdf")
#---------------------------------------------------------------------------
@unittest.skipIf('wxMac' in wx.PlatformInfo or 'wxGTK' in wx.PlatformInfo,
'test is crashing on Mac and GTK...')
class lib_pdfviewer_pdfviewer_Tests(wtc.WidgetTestCase):
@unittest.skipIf(not havePyPDF, "PyMuPDF or PyPDF2 required")
def test_lib_pdfviewer_pdfviewerButtonPanelCtor(self):
bp = pdfButtonPanel(self.frame, wx.ID_ANY,
wx.DefaultPosition, wx.DefaultSize, 0)
@unittest.skipIf(not havePyPDF, "PyMuPDF or PyPDF2 required")
def test_lib_pdfviewer_pdfviewerPdfViewerCtor(self):
pv = pdfViewer(self.frame, wx.ID_ANY, wx.DefaultPosition,
wx.DefaultSize,
wx.HSCROLL|wx.VSCROLL|wx.SUNKEN_BORDER)
@unittest.skipIf(not havePyPDF, "PyMuPDF or PyPDF2 required")
def test_lib_pdfviewer_loadFile(self):
paneCont = sc.SizedPanel(self.frame)
self.buttonpanel = pdfButtonPanel(paneCont, wx.ID_ANY,
wx.DefaultPosition, wx.DefaultSize, 0)
self.buttonpanel.SetSizerProps(expand=True)
self.viewer = pdfViewer(paneCont, wx.ID_ANY, wx.DefaultPosition,
wx.DefaultSize,
wx.HSCROLL|wx.VSCROLL|wx.SUNKEN_BORDER)
self.viewer.SetSizerProps(expand=True, proportion=1)
# introduce buttonpanel and viewer to each other
self.buttonpanel.viewer = self.viewer
self.viewer.buttonpanel = self.buttonpanel
self.viewer.LoadFile(samplePdf)
self.waitFor(500)
#---------------------------------------------------------------------------
if __name__ == '__main__':
unittest.main()