1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
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()
|