OSDN Git Service

Test.cpp: Add some tests
authorTakashi Sawanaka <sdottaka@users.sourceforge.net>
Sat, 22 Sep 2018 14:10:56 +0000 (23:10 +0900)
committerTakashi Sawanaka <sdottaka@users.sourceforge.net>
Sat, 22 Sep 2018 14:10:56 +0000 (23:10 +0900)
Src/MainFrm.cpp
Src/MainFrm.h
Src/Test.cpp
Testing/Data/Dir2.WinMerge [new file with mode: 0644]
Testing/Data/Dir3.WinMerge [new file with mode: 0644]

index ff519e2..398bf02 100644 (file)
@@ -199,7 +199,7 @@ BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
        ON_COMMAND(ID_VIEW_TAB_BAR, OnViewTabBar)
        ON_UPDATE_COMMAND_UI(ID_VIEW_RESIZE_PANES, OnUpdateResizePanes)
        ON_COMMAND(ID_VIEW_RESIZE_PANES, OnResizePanes)
-       ON_COMMAND(ID_FILE_OPENPROJECT, OnFileOpenproject)
+       ON_COMMAND(ID_FILE_OPENPROJECT, OnFileOpenProject)
        ON_MESSAGE(WM_COPYDATA, OnCopyData)
        ON_MESSAGE(WM_USER+1, OnUser1)
        ON_COMMAND(ID_WINDOW_CLOSEALL, OnWindowCloseAll)
@@ -1759,7 +1759,7 @@ void CMainFrame::OnResizePanes()
 /**
  * @brief Open project-file.
  */
-void CMainFrame::OnFileOpenproject()
+void CMainFrame::OnFileOpenProject()
 {
        String sFilepath;
        
index 57f588f..e0de88c 100644 (file)
@@ -95,6 +95,7 @@ public:
        HMENU GetPrediffersSubmenu(HMENU mainMenu);
        void UpdatePrediffersMenu();
 
+       void FileNew(int nPanes);
        BOOL DoFileOpen(const PathContext *pFiles = NULL,
                const DWORD dwFlags[] = NULL, const String strDesc[] = NULL, const String& sReportFile = _T(""), bool bRecurse = false, CDirDoc *pDirDoc = NULL, String prediffer = _T(""), const PackingInfo * infoUnpacker = NULL);
        bool ShowAutoMergeDoc(CDirDoc * pDirDoc, int nFiles, const FileLocation fileloc[],
@@ -229,7 +230,7 @@ protected:
        afx_msg void OnViewTabBar();
        afx_msg void OnUpdateResizePanes(CCmdUI* pCmdUI);
        afx_msg void OnResizePanes();
-       afx_msg void OnFileOpenproject();
+       afx_msg void OnFileOpenProject();
        afx_msg LRESULT OnCopyData(WPARAM wParam, LPARAM lParam);
        afx_msg LRESULT OnUser1(WPARAM wParam, LPARAM lParam);
        afx_msg void OnWindowCloseAll();
@@ -267,7 +268,6 @@ protected:
 
 private:
        void addToMru(LPCTSTR szItem, LPCTSTR szRegSubKey, UINT nMaxItems = 20);
-       void FileNew(int nPanes);
        OpenDocList &GetAllOpenDocs();
        MergeDocList &GetAllMergeDocs();
        DirDocList &GetAllDirDocs();
index 514cbbd..911dfad 100644 (file)
@@ -272,4 +272,59 @@ TEST(ImageCompareTest, Open)
        dlg.SetFormerResult(nPrevFormerResult);\r
 }\r
 \r
+TEST(FileMenu, New)\r
+{\r
+       CFrameWnd *pFrame;\r
+       GetMainFrame()->FileNew(2);\r
+       pFrame = GetMainFrame()->GetActiveFrame();\r
+       pFrame->PostMessage(WM_CLOSE);\r
+       GetMainFrame()->FileNew(3);\r
+       pFrame = GetMainFrame()->GetActiveFrame();\r
+       pFrame->PostMessage(WM_CLOSE);\r
+}\r
+\r
+TEST(FileMenu, OpenConflictFile)\r
+{\r
+       String conflictFile = paths::ConcatPath(getProjectRoot(), L"Testing/Data/big_file.conflict");\r
+       GetMainFrame()->DoOpenConflict(conflictFile);\r
+       CFrameWnd *pFrame = GetMainFrame()->GetActiveFrame();\r
+       CMergeDoc *pDoc = dynamic_cast<CMergeDoc *>(pFrame->GetActiveDocument());\r
+       ASSERT_NE(nullptr, pDoc);\r
+       pDoc->m_ptBuf[1]->SetModified(false);\r
+       pFrame->PostMessage(WM_CLOSE);\r
+}\r
+\r
+TEST(FileMenu, OpenConflictFile3)\r
+{\r
+       String conflictFile = paths::ConcatPath(getProjectRoot(), L"Testing/Data/dif3.conflict");\r
+       GetMainFrame()->DoOpenConflict(conflictFile);\r
+       CFrameWnd *pFrame = GetMainFrame()->GetActiveFrame();\r
+       CMergeDoc *pDoc = dynamic_cast<CMergeDoc *>(pFrame->GetActiveDocument());\r
+       ASSERT_NE(nullptr, pDoc);\r
+       pDoc->m_ptBuf[2]->SetModified(false);\r
+       pFrame->PostMessage(WM_CLOSE);\r
+}\r
+\r
+TEST(FileMenu, OpenProject)\r
+{\r
+       String projectFile = paths::ConcatPath(getProjectRoot(), L"Testing/Data/Dir2.WinMerge");\r
+       SetCurrentDirectory(paths::GetParentPath(projectFile).c_str());\r
+       theApp.LoadAndOpenProjectFile(projectFile);\r
+       CFrameWnd *pFrame = GetMainFrame()->GetActiveFrame();\r
+       EXPECT_NE(nullptr, pFrame);\r
+       if (pFrame)\r
+               pFrame->PostMessage(WM_CLOSE);\r
+}\r
+\r
+TEST(FileMenu, OpenProject3)\r
+{\r
+       String projectFile = paths::ConcatPath(getProjectRoot(), L"Testing/Data/Dir3.WinMerge");\r
+       SetCurrentDirectory(paths::GetParentPath(projectFile).c_str());\r
+       theApp.LoadAndOpenProjectFile(projectFile);\r
+       CFrameWnd *pFrame = GetMainFrame()->GetActiveFrame();\r
+       EXPECT_NE(nullptr, pFrame);\r
+       if (pFrame)\r
+               pFrame->PostMessage(WM_CLOSE);\r
+}\r
+\r
 #endif
\ No newline at end of file
diff --git a/Testing/Data/Dir2.WinMerge b/Testing/Data/Dir2.WinMerge
new file mode 100644 (file)
index 0000000..e56faf6
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project>\r
+       <paths>\r
+               <left>Compare\Dir1\</left>\r
+               <right>Compare\Dir2\</right>\r
+               <filter>*.*</filter>\r
+               <subfolders>1</subfolders>\r
+               <left-readonly>0</left-readonly>\r
+               <right-readonly>0</right-readonly>\r
+       </paths>\r
+</project>\r
diff --git a/Testing/Data/Dir3.WinMerge b/Testing/Data/Dir3.WinMerge
new file mode 100644 (file)
index 0000000..fa99ed3
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project>\r
+       <paths>\r
+               <left>Compare\Dir1\</left>\r
+               <middle>Compare\Dir2\</middle>\r
+               <right>Compare\Dir3\</right>\r
+               <filter>*.*</filter>\r
+               <subfolders>1</subfolders>\r
+               <left-readonly>0</left-readonly>\r
+               <right-readonly>0</right-readonly>\r
+       </paths>\r
+</project>\r