Changeset 210

Show
Ignore:
Timestamp:
06/10/06 09:02:37 (2 years ago)
Author:
jordi
Message:

Added test for checking the save a document functionality.

Location:
trunk
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/JobSave.cxx

    r200 r210  
    112112{ 
    113113    g_assert ( NULL != document && "Tried to set a NULL document."); 
    114      
     114 
    115115    m_Document = document; 
    116116} 
  • trunk/tests/DumbDocument.cxx

    r205 r210  
    3030    m_Loaded = FALSE; 
    3131    m_OpenError = DocumentErrorNone; 
    32     m_TestPassword = NULL;  
     32    m_SavedFileName = g_strdup (""); 
     33    m_TestPassword = NULL; 
    3334    setNumPages (2); 
    3435} 
     
    3738{ 
    3839    clearCache (); 
     40    g_free (m_SavedFileName); 
    3941    g_free (m_TestPassword); 
    4042} 
     
    101103 
    102104gboolean 
    103 DumbDocument::saveFile (const gchar *filename, GError **error) 
     105DumbDocument::saveFile (const gchar *fileName, GError **error) 
    104106{ 
    105     // Do nothing. 
     107    g_free (m_SavedFileName); 
     108    m_SavedFileName = g_strdup (fileName); 
    106109    return TRUE; 
    107110} 
     
    110113// Tests Methods 
    111114//////////////////////////////////////////////////////////////// 
     115 
     116const gchar * 
     117DumbDocument::getSavedFileName () 
     118{ 
     119    return m_SavedFileName; 
     120} 
     121 
    112122void 
    113123DumbDocument::setOpenError (DocumentError error) 
  • trunk/tests/DumbDocument.h

    r205 r210  
    3232            gboolean loadFile (const gchar *filename, const gchar *password, 
    3333                               GError **error); 
    34             void getPageSizeForPage (gint pageNum, gdouble *width,  
     34            void getPageSizeForPage (gint pageNum, gdouble *width, 
    3535                                     gdouble *height); 
    3636            DocumentPage *renderPage (gint pageNum); 
    37             gboolean saveFile (const gchar *filename, GError **error); 
     37            gboolean saveFile (const gchar *fileName, GError **error); 
    3838 
    3939            // Test functions. 
     40            const gchar *getSavedFileName (void); 
    4041            void setOpenError (DocumentError error); 
    4142            void setOutline (DocumentOutline *outline); 
     
    4647            DocumentError m_OpenError; 
    4748            gchar *m_TestPassword; 
     49            gchar *m_SavedFileName; 
    4850    }; 
    4951} 
  • trunk/tests/DumbMainView.cxx

    r207 r210  
    3535    m_OpenFileName = g_strdup (""); 
    3636    m_LastOpenFileFolder = NULL; 
     37    m_LastSaveFileFolder = NULL; 
    3738    m_Outline = NULL; 
    38     m_PageView = new DumbPageView ();  
     39    m_PageView = new DumbPageView (); 
    3940    m_Password = NULL; 
     41    m_SaveFileName = g_strdup (""); 
    4042    m_SensitiveFind = TRUE; 
    4143    m_SensitiveGoToFirstPage = TRUE; 
     
    7274    g_free (m_GoToPageText); 
    7375    g_free (m_LastOpenFileFolder); 
     76    g_free (m_LastSaveFileFolder); 
    7477    g_free (m_OpenFileName); 
    7578    g_free (m_Password); 
     79    g_free (m_SaveFileName); 
    7680    g_free (m_Title); 
    7781    g_free (m_ZoomText); 
     
    126130DumbMainView::saveFileDialog (const gchar *lastFolder) 
    127131{ 
    128     // Do nothing. 
    129     return g_strdup (""); 
     132    g_free (m_LastSaveFileFolder); 
     133    m_LastSaveFileFolder = g_strdup (lastFolder); 
     134    return g_strdup (m_SaveFileName); 
    130135} 
    131136 
     
    333338} 
    334339 
     340const gchar * 
     341DumbMainView::getLastSaveFileFolder () 
     342{ 
     343    return m_LastSaveFileFolder; 
     344} 
     345 
    335346 
    336347DocumentOutline * 
     
    491502    m_Password = g_strdup (password); 
    492503    m_TimesShownPassword = 0; 
     504} 
     505 
     506void 
     507DumbMainView::setSaveFileName (const gchar *fileName) 
     508{ 
     509    g_free (m_SaveFileName); 
     510    m_SaveFileName = g_strdup (fileName); 
    493511} 
    494512 
  • trunk/tests/DumbMainView.h

    r207 r210  
    7575            gint getCurrentPage (void); 
    7676            const gchar *getLastOpenFileFolder (void); 
     77            const gchar *getLastSaveFileFolder (void); 
    7778            DocumentOutline *getOutline (void); 
    7879            const gchar *getTitle (void); 
     
    101102            void setOpenFileName (const gchar *fileName); 
    102103            void setPassword (const gchar *password); 
     104            void setSaveFileName (const gchar *fileName); 
    103105            gboolean shownError (void); 
    104106 
     
    108110            gchar *m_GoToPageText; 
    109111            gchar *m_LastOpenFileFolder; 
     112            gchar *m_LastSaveFileFolder; 
    110113            gchar *m_OpenFileName; 
    111114            DocumentOutline *m_Outline; 
    112115            DumbPageView *m_PageView; 
    113116            gchar *m_Password; 
     117            gchar *m_SaveFileName; 
    114118            gboolean m_SensitiveFind; 
    115119            gboolean m_SensitiveGoToFirstPage; 
  • trunk/tests/MainPterTest.cxx

    r207 r210  
    191191void 
    192192MainPterTest::loadFailed () 
    193 {     
     193{ 
    194194    m_View->setOpenFileName ("/tmp/test.pdf"); 
    195195    m_Document->setOpenError (DocumentErrorDamaged); 
     
    231231    m_MainPter->openFileActivated (); 
    232232    m_MainPter->waitForFileLoaded (); 
    233     CPPUNIT_ASSERT_EQUAL (0,  
     233    CPPUNIT_ASSERT_EQUAL (0, 
    234234            g_ascii_strcasecmp ("PDF Viewer", m_View->getTitle ())); 
    235235    CPPUNIT_ASSERT (!m_View->isSensitiveGoToFirstPage ()); 
     
    329329/// 
    330330void 
    331 MainPterTest::lastFolder () 
     331MainPterTest::openLastFolder () 
    332332{ 
    333333    m_View->setOpenFileName ("/tmp/test.pdf"); 
     
    348348                                             m_View->getLastOpenFileFolder ())); 
    349349} 
     350 
     351/// 
     352/// @brief Test saving a document. 
     353/// 
     354/// Saving a document will call the saveFile() function of the document's class. 
     355/// 
     356void 
     357MainPterTest::saveDocument () 
     358{ 
     359    m_View->setOpenFileName ("/tmp/test.pdf"); 
     360    m_MainPter->openFileActivated (); 
     361    m_MainPter->waitForFileLoaded (); 
     362    m_View->setSaveFileName ("/tmp/copy.pdf"); 
     363    m_MainPter->saveFileActivated (); 
     364    CPPUNIT_ASSERT (0 == g_ascii_strcasecmp ("/tmp/copy.pdf", 
     365                                             m_Document->getSavedFileName ())); 
     366} 
     367 
     368/// 
     369/// @brief Tests a canceled save file. 
     370/// 
     371/// When the user cancels the save dialog, then nothing should be saved. 
     372/// 
     373void 
     374MainPterTest::saveCanceled () 
     375{ 
     376    m_View->setOpenFileName ("/tmp/test.pdf"); 
     377    m_MainPter->openFileActivated (); 
     378    m_MainPter->waitForFileLoaded (); 
     379    // returning a NULL file name is what will happen when cancel. 
     380    m_View->setSaveFileName (NULL); 
     381    m_MainPter->saveFileActivated (); 
     382    CPPUNIT_ASSERT (0 == g_ascii_strcasecmp ("", 
     383                                             m_Document->getSavedFileName ())); 
     384} 
     385 
     386/// 
     387/// @brief Test the last folder used to save a file. 
     388/// 
     389/// When the presenter wants to save a file, it should pass to the 
     390/// view the last folder that was used to save a file, so the 
     391/// view can show it up when saving the dialog. 
     392/// 
     393void 
     394MainPterTest::saveLastFolder () 
     395{ 
     396    m_View->setOpenFileName ("/tmp/test.pdf"); 
     397    m_MainPter->openFileActivated (); 
     398    m_MainPter->waitForFileLoaded (); 
     399    m_View->setSaveFileName ("/tmp/copy.pdf"); 
     400    m_MainPter->saveFileActivated (); 
     401    m_MainPter->waitForFileSaved (); 
     402    CPPUNIT_ASSERT (NULL == m_View->getLastSaveFileFolder ()); 
     403 
     404 
     405    m_View->setSaveFileName ("/usr/copy.pdf"); 
     406    m_MainPter->saveFileActivated (); 
     407    m_MainPter->waitForFileSaved (); 
     408    CPPUNIT_ASSERT (0 == g_ascii_strcasecmp ("/tmp", 
     409                                             m_View->getLastSaveFileFolder ())); 
     410 
     411    m_MainPter->saveFileActivated (); 
     412    m_MainPter->waitForFileSaved (); 
     413    CPPUNIT_ASSERT (0 == g_ascii_strcasecmp ("/usr", 
     414                                             m_View->getLastSaveFileFolder ())); 
     415 
     416} 
     417 
    350418 
    351419/// 
  • trunk/tests/MainPterTest.h

    r207 r210  
    3333        CPPUNIT_TEST (badPassword); 
    3434        CPPUNIT_TEST (goodPassword); 
    35         CPPUNIT_TEST (lastFolder); 
     35        CPPUNIT_TEST (openLastFolder); 
     36        CPPUNIT_TEST (saveDocument); 
     37        CPPUNIT_TEST (saveCanceled); 
     38        CPPUNIT_TEST (saveLastFolder); 
    3639        CPPUNIT_TEST (pageNavigation); 
    3740        CPPUNIT_TEST (pageNavigationEntry); 
     
    6063            void badPassword (void); 
    6164            void goodPassword (void); 
    62             void lastFolder (void); 
     65            void openLastFolder (void); 
     66            void saveDocument (void); 
     67            void saveCanceled (void); 
     68            void saveLastFolder (void); 
    6369            void pageNavigation (void); 
    6470            void pageNavigationEntry (void);