OSDN Git Service

Version 2.00
[vbslib/main.git] / _src / Test / tools / RepliCmp / T_RepliCmp1 / T_RepliCmp.vbs
1 Option Explicit \r
2 '--- start of vbslib include ------------------------------------------------------\r
3 Dim  g_debug, g_vbslib_path, g_IncludeType, g_CommandPrompt, g_fs, g_sh\r
4 If IsEmpty( g_fs ) Then\r
5   '--- start of parameters for vbslib include -------------------------------\r
6   g_debug = 0\r
7   g_vbslib_path = "vbslib\vbs_inc.vbs"\r
8   g_IncludeType = ""\r
9   g_CommandPrompt = 1\r
10   '--- end of parameters for vbslib include ---------------------------------\r
11   Dim  g_f, g_include_path, i : Set  g_fs = CreateObject( "Scripting.FileSystemObject" )\r
12   If g_fs.FileExists("setting.vbs") Then  Set g_f = g_fs.OpenTextFile( "setting.vbs" ): Execute g_f.ReadAll()\r
13   If not IsEmpty( WScript.Arguments.Named.Item("IncludeType") ) Then  g_IncludeType = WScript.Arguments.Named.Item("IncludeType")\r
14   Set  g_sh = WScript.CreateObject("WScript.Shell") : g_f = g_sh.CurrentDirectory\r
15   g_sh.CurrentDirectory = g_fs.GetParentFolderName( WScript.ScriptFullName )\r
16   For i = 10 To 1 Step -1 : If g_fs.FileExists(g_vbslib_path) Then  Exit For\r
17   g_vbslib_path = "..\" + g_vbslib_path  : Next\r
18   If g_fs.FileExists(g_vbslib_path) Then  g_vbslib_path = g_fs.GetAbsolutePathName( g_vbslib_path )\r
19   g_sh.CurrentDirectory = g_f\r
20   If i=0 Then WScript.Echo "Not found " + g_fs.GetFileName( g_vbslib_path ) +vbCR+vbLF+ "Check g_vbslib_path in " + WScript.ScriptName + " or setting.vbs" : WScript.Quit 1\r
21   Set g_f = g_fs.OpenTextFile( g_vbslib_path ): Execute g_f.ReadAll() : g_f = Empty\r
22   If ResumePush Then  On Error Resume Next\r
23     main\r
24   ResumePop : On Error GoTo 0\r
25 End If\r
26 '--- end of vbslib include --------------------------------------------------------\r
27 \r
28 \r
29  \r
30 '********************************************************************************\r
31 '  <<< [main] >>> \r
32 '********************************************************************************\r
33 Sub main()\r
34   Dim  desktop : desktop = g_sh.SpecialFolders("Desktop")\r
35 \r
36   set_workfolder  desktop\r
37   del  desktop + "\_RepliCmp"\r
38 \r
39   Dim opt : Set opt = new RepliCmp_Option\r
40   opt.m_EditorPath = Setting_getEditorPath()\r
41   opt.m_DiffPath = Setting_getDiffPath()\r
42   opt.m_bSilent = True\r
43 \r
44   Select Case  WScript.Arguments.Named.Item("Test")\r
45     Case "T_2Folders3Files" : T_2Folders3Files  opt\r
46     Case "T_2FoldersNoInMaster" : T_2FoldersNoInMaster  opt\r
47     Case "T_3Folders1or2Files" : T_3Folders1or2Files  opt\r
48     Case "T_3Folders4Files" : T_3Folders4Files  opt\r
49     Case "T_RepliCmpUpdate" : T_RepliCmpUpdate  opt\r
50     Case "T_NewPatch_New"  : T_NewPatch_New   opt\r
51     Case "T_NewPatch_Both" : T_NewPatch_Both  opt\r
52     Case Else : T_NewPatch_Both  opt  '// for Debug\r
53   End Select\r
54 \r
55   Pass\r
56 End Sub\r
57 \r
58 \r
59  \r
60 '********************************************************************************\r
61 '  <<< [T_2Folders3Files] >>> \r
62 '********************************************************************************\r
63 Sub T_2Folders3Files( Opt )\r
64   Dim  r, desktop\r
65   Dim  dbg1, dbg2, debug : debug = False\r
66   If debug Then dbg1="//x " : dbg2=" /debug_main:1"  Else dbg1="" :  dbg2=""\r
67 \r
68 \r
69   '//=== Out Diff\r
70   Redim  folders(1)\r
71   folders(0) = "data\folder0"\r
72   folders(1) = "data\folder1"\r
73 \r
74   Redim  files(0)\r
75   files(0) = "file2.txt"  '// 1 file in master + 2 files in folders\r
76 \r
77   RepliCmp  folders, files, Opt\r
78 \r
79 \r
80   '//=== Merge\r
81   desktop = g_sh.SpecialFolders("Desktop")\r
82   r = RunProg( "cscript.exe //nologo " + dbg1 + """" + desktop + "\_RepliCmp\Merge.vbs"""+_\r
83        dbg2 + " /autokeys:1.7.6.7.8.y.8.y.7.4.7.9.-1.", "" )\r
84 \r
85   If not exist( desktop + "\_RepliCmp\New\file2.txt" ) Then  Fail\r
86   If not fc( desktop + "\_RepliCmp\New\file2.txt", "data\folder1\sub1\file2.txt" ) Then  Fail\r
87 End Sub\r
88 \r
89 \r
90  \r
91 '********************************************************************************\r
92 '  <<< [T_2FoldersNoInMaster] >>> \r
93 '********************************************************************************\r
94 Sub T_2FoldersNoInMaster( Opt )\r
95   Dim  e, b\r
96   Redim  folders(1)\r
97   folders(0) = "data\folder0"\r
98   folders(1) = "data\folder1"\r
99 \r
100   Redim  files(0)\r
101   files(0) = "fileErr.txt"  '// no file in master\r
102 \r
103 \r
104   If TryStart(e) Then  On Error Resume Next\r
105     RepliCmp  folders, files, Opt\r
106   If TryEnd Then  On Error GoTo 0\r
107   If e.num = 0 Then  Fail\r
108   e.Clear\r
109 \r
110 End Sub\r
111 \r
112 \r
113  \r
114 '********************************************************************************\r
115 '  <<< [T_3Folders1or2Files] >>> \r
116 '********************************************************************************\r
117 Sub T_3Folders1or2Files( Opt )\r
118   Dim  r, desktop\r
119   Dim  dbg1, dbg2, debug : debug = False\r
120   If debug Then dbg1="//x " : dbg2=" /debug_main:1"  Else dbg1="" :  dbg2=""\r
121 \r
122 \r
123   '//=== Out Diff\r
124   Redim  folders(2)\r
125   folders(0) = "data\folder0"\r
126   folders(1) = "data\folder1"\r
127   folders(2) = "data\folder2"\r
128 \r
129   Redim  files(1)\r
130   files(0) = "file1.txt"  '// 1 file in master + 1 file in folders\r
131   files(1) = "file0.txt"  '// no file in folders\r
132 \r
133   RepliCmp  folders, files, Opt\r
134 \r
135 \r
136   '//=== Merge\r
137   desktop = g_sh.SpecialFolders("Desktop")\r
138   r = RunProg( "cscript.exe //nologo " + dbg1 + """" + desktop + "\_RepliCmp\Merge.vbs"""+_\r
139        dbg2 + " /autokeys:1.7.6.7.8.y.8.y.7.4.7.9.-1.", "" )\r
140 \r
141   If not exist( desktop + "\_RepliCmp\New\file1.txt" ) Then  Fail\r
142   If not fc( desktop + "\_RepliCmp\New\file1.txt", "data\folder0\file1.txt" ) Then  Fail\r
143 \r
144 End Sub\r
145 \r
146 \r
147 \r
148 \r
149  \r
150 '********************************************************************************\r
151 '  <<< [T_3Folders4Files] >>> \r
152 '********************************************************************************\r
153 Sub T_3Folders4Files( Opt )\r
154   Dim  r, desktop\r
155   Dim  new_path, f2_path, f1M_path\r
156   Dim  dbg1, dbg2, debug : debug = False\r
157   If debug Then dbg1="//x " : dbg2=" /debug_main:1"  Else dbg1="" :  dbg2=""\r
158 \r
159 \r
160   '//=== Out Diff\r
161   Redim  folders(2)\r
162   folders(0) = "data\folder3\master"\r
163   folders(1) = "data\folder1"\r
164   folders(2) = "data\folder3"\r
165 \r
166   Redim  files(0)\r
167   files(0) = "file3.txt"  '// 1 file in master + 3 files in folders\r
168 \r
169   RepliCmp  folders, files, Opt\r
170 \r
171 \r
172   '//=== Merge\r
173   desktop = g_sh.SpecialFolders("Desktop")\r
174   new_path = desktop + "\_RepliCmp\New\file3.txt"\r
175   f2_path = desktop + "\_RepliCmp\Editing\file3(2).txt"\r
176   f1M_path = desktop + "\_RepliCmp\Editing\file3(1)M.txt"\r
177 \r
178   r = RunProg( "cscript.exe //nologo " + dbg1 + """" + desktop + "\_RepliCmp\Merge.vbs"""+_\r
179        dbg2 + " /autokeys:1.7.5.7.7.5.7.9.-1.", "" )\r
180 \r
181   If not exist( new_path ) Then  Fail\r
182   If not fc( new_path, "data\folder3\master\file3.txt" ) Then  Fail\r
183   If not exist( f2_path ) Then  Fail\r
184   If not exist( f1M_path ) Then  Fail\r
185 \r
186   r = RunProg( "cscript.exe //nologo " + dbg1 + """" + desktop + "\_RepliCmp\Merge.vbs"""+_\r
187        dbg2 + " /autokeys:1.8.y.8.y.8.y.9.-1. /autokeys_debug", "" )\r
188 \r
189   If exist( new_path ) Then  Fail\r
190   If exist( f2_path ) Then  Fail\r
191   If not exist( f1M_path ) Then  Fail\r
192 \r
193 End Sub\r
194 \r
195  \r
196 '********************************************************************************\r
197 '  <<< [T_RepliCmpUpdate] >>> \r
198 '********************************************************************************\r
199 Sub T_RepliCmpUpdate( Opt )\r
200   Dim  r, desktop\r
201   Dim  dbg1, dbg2, debug : debug = False\r
202   If debug Then dbg1="//x " : dbg2=" /debug_main:1"  Else dbg1="" :  dbg2=""\r
203   Dim  wf_\r
204 \r
205 \r
206   '//=== Make data folder\r
207   Set wf_= New WorkFolderStack\r
208   set_workfolder "."\r
209     del  "data_upd_work"\r
210     copy "data_upd\*", "data_upd_work"\r
211     copy "data_upd_work\folder1\sub1\file2.txt", "data_upd_work\file112.txt"\r
212     copy "data_upd_work\folder2\sub1\file2.txt", "data_upd_work\file212.txt"\r
213     copy "data_upd_work\folder2\sub1\file2.txt", "data_upd_work\folder2\sub1\backup\file2 (1).txt"\r
214   wf_ = Empty\r
215 \r
216 \r
217   '//=== Out Diff\r
218   Redim  folders(2)\r
219   folders(0) = "data_upd_work\folder0"\r
220   folders(1) = "data_upd_work\folder1"\r
221   folders(2) = "data_upd_work\folder2"\r
222 \r
223   Redim  files(0)\r
224   files(0) = "file2.txt"  '// 1 file in master + 2 files in folders\r
225 \r
226   RepliCmp  folders, files, Opt\r
227 \r
228 \r
229   '//=== Merge\r
230   desktop = g_sh.SpecialFolders("Desktop")\r
231   r = RunProg( "cscript.exe //nologo " + dbg1 + """" + desktop + "\_RepliCmp\Merge.vbs"""+_\r
232        dbg2 + " /autokeys:1.7.4.7.7.y.9.-1", "" )\r
233 Stop\r
234 \r
235   If not fc( "data_upd_work\folder0\file2.txt", "data_upd_work\folder1\sub1\file2.txt" ) Then Fail\r
236   If not fc( "data_upd_work\folder0\file2.txt", "data_upd_work\folder1\sub2\file2.txt" ) Then Fail\r
237   If not fc( "data_upd_work\folder0\file2.txt", "data_upd_work\folder2\sub1\file2.txt" ) Then Fail\r
238   If not fc( "data_upd_work\file112.txt", "data_upd_work\folder1\sub1\backup\file2 (1).txt" ) Then Fail\r
239   If not fc( "data_upd_work\file212.txt", "data_upd_work\folder2\sub1\backup\file2 (2).txt" ) Then Fail\r
240 \r
241 \r
242   '//=== Delete data folder\r
243   Set wf_= New WorkFolderStack\r
244   set_workfolder "."\r
245     del  "data_upd_work"\r
246   wf_ = Empty\r
247 End Sub\r
248 \r
249  \r
250 '********************************************************************************\r
251 '  <<< [T_NewPatch_New] >>> \r
252 '********************************************************************************\r
253 Sub  T_NewPatch_New( Opt )\r
254   Dim  r, opt2\r
255   Dim  wf_ : Set wf_= New WorkFolderStack\r
256   set_workfolder "."\r
257 \r
258   del  "Editing"\r
259   del  "New"\r
260 \r
261   Set opt2 = new Merge_Option\r
262   With  opt2\r
263     .m_EditorPath = Opt.m_EditorPath\r
264     .m_DiffPath   = Opt.m_DiffPath\r
265   End With\r
266 \r
267   Dim   patch_files : Set patch_files = new PatchFiles\r
268   With  patch_files\r
269     Set .m_MergeOption = opt2\r
270     .m_OldFolderPath   = "data\folder1"\r
271     .m_PatchFolderPath = "data\folder2"\r
272     .m_NewFolderPath   = "data\folder0"\r
273   End With\r
274 \r
275   patch_files.AddPatchFile  "file4.txt"\r
276 \r
277   g_CUI.m_Auto_Keys = "1.7.9.-1."\r
278   patch_files.RunMergePrompt\r
279 \r
280   If not exist( "New\file4.txt" ) Then  Fail\r
281 \r
282 End Sub\r
283  \r
284 '********************************************************************************\r
285 '  <<< [T_NewPatch_Both] >>> \r
286 '********************************************************************************\r
287 Sub  T_NewPatch_Both( Opt )\r
288   Dim  r, opt2\r
289   Dim  wf_ : Set wf_= New WorkFolderStack\r
290   set_workfolder "."\r
291 \r
292   del  "Editing"\r
293   del  "New"\r
294 \r
295   Set opt2 = new Merge_Option\r
296   With  opt2\r
297     .m_EditorPath = Opt.m_EditorPath\r
298     .m_DiffPath   = Opt.m_DiffPath\r
299   End With\r
300 \r
301   Dim   patch_files : Set patch_files = new PatchFiles\r
302   With  patch_files\r
303     Set .m_MergeOption = opt2\r
304     .m_OldFolderPath   = "data\folder1"\r
305     .m_PatchFolderPath = "data\folder2"\r
306     .m_NewFolderPath   = "data\folder0"\r
307   End With\r
308 \r
309   patch_files.AddPatchFile  "file5.txt"\r
310 \r
311   g_CUI.m_Auto_Keys = "1.7.6.7.9.-1"\r
312   patch_files.RunMergePrompt\r
313 \r
314 \r
315   If not exist( "New\file5.txt" ) Then  Fail\r
316 \r
317 End Sub\r
318  \r