1 #include <cppunit/extensions/HelperMacros.h>
\r
2 #include <cppunit/TestAssert.h>
\r
9 #include "TomboURI.h"
\r
10 #include "Repository.h"
\r
11 #include "VarBuffer.h"
\r
12 #include "URIScanner.h"
\r
14 #define TEST_CLASS_NAME URIScannerTest
\r
16 class TEST_CLASS_NAME : public CppUnit::TestFixture {
\r
17 CPPUNIT_TEST_SUITE(TEST_CLASS_NAME);
\r
18 CPPUNIT_TEST(URIListTest1);
\r
20 CPPUNIT_TEST(URIScanTest1);
\r
21 CPPUNIT_TEST(URIScanTest2);
\r
22 CPPUNIT_TEST(URIScanTest3);
\r
23 CPPUNIT_TEST(URIScanTest4);
\r
24 CPPUNIT_TEST(URIScanTest5);
\r
25 CPPUNIT_TEST(URIScanTest6);
\r
26 CPPUNIT_TEST(URIScanTest7);
\r
27 CPPUNIT_TEST(URIScanTest8);
\r
28 CPPUNIT_TEST(PartialScanTest1);
\r
29 CPPUNIT_TEST(PartialScanTest2);
\r
31 CPPUNIT_TEST(InterruptTest1);
\r
32 CPPUNIT_TEST(InterruptTest2);
\r
33 CPPUNIT_TEST(InterruptTest3);
\r
34 CPPUNIT_TEST(InterruptTest4);
\r
36 CPPUNIT_TEST_SUITE_END();
\r
39 TEST_CLASS_NAME() {}
\r
40 ~TEST_CLASS_NAME() {}
\r
42 virtual void setUp() {}
\r
43 virtual void tearDown() {}
\r
45 void URIListTest1();
\r
47 void URIScanTest1();
\r
48 void URIScanTest2();
\r
49 void URIScanTest3();
\r
50 void URIScanTest4();
\r
51 void URIScanTest5();
\r
52 void URIScanTest6();
\r
53 void URIScanTest7();
\r
54 void URIScanTest8();
\r
55 void PartialScanTest1();
\r
56 void PartialScanTest2();
\r
57 void InterruptTest1();
\r
58 void InterruptTest2();
\r
59 void InterruptTest3();
\r
60 void InterruptTest4();
\r
63 CPPUNIT_TEST_SUITE_REGISTRATION(TEST_CLASS_NAME);
\r
65 ////////////////////////////////////////////////
\r
67 void TEST_CLASS_NAME::URIListTest1() {
\r
69 CPPUNIT_ASSERT(list.Init());
\r
71 CPPUNIT_ASSERT(list.Add(NULL, NULL));
\r
74 uri.Init("tombo://default/test");
\r
75 CPPUNIT_ASSERT(list.Add(&uri, NULL));
\r
77 { // the case of when uri2 released first.
\r
79 uri2.Init("tombo://default/test2");
\r
80 CPPUNIT_ASSERT(list.Add(&uri2, NULL));
\r
83 CPPUNIT_ASSERT(list.Add(NULL, "test"));
\r
85 CPPUNIT_ASSERT(list.GetSize() == 4);
\r
87 CPPUNIT_ASSERT(list.GetURI(0) == NULL);
\r
88 CPPUNIT_ASSERT(list.GetTitle(0) == NULL);
\r
89 CPPUNIT_ASSERT(strcmp(list.GetURI(1)->GetFullURI(), "tombo://default/test") == 0);
\r
90 CPPUNIT_ASSERT(list.GetTitle(1) == NULL);
\r
91 CPPUNIT_ASSERT(strcmp(list.GetURI(2)->GetFullURI(), "tombo://default/test2") == 0);
\r
92 CPPUNIT_ASSERT(list.GetTitle(2) == NULL);
\r
93 CPPUNIT_ASSERT(list.GetURI(3) == NULL);
\r
94 CPPUNIT_ASSERT(strcmp(list.GetTitle(3), "test") == 0);
\r
97 ////////////////////////////////////////////////
\r
99 class DummyRepoBase : public IEnumRepository {
\r
101 BOOL GetOption(const TomboURI *pURI, URIOption *pOption);
\r
102 BOOL GetHeadLine(const TomboURI *pURI, TString *pHeadLine);
\r
105 BOOL DummyRepoBase::GetOption(const TomboURI *pURI, URIOption *pOption)
\r
107 LPCTSTR p = pURI->GetFullURI();
\r
108 if (*(p + strlen(p) - 1) == '/') {
\r
109 pOption->bFolder = TRUE;
\r
111 pOption->bFolder = FALSE;
\r
116 BOOL DummyRepoBase::GetHeadLine(const TomboURI *pURI, TString *pHeadLine)
\r
118 LPTSTR p = StringDup(pURI->GetFullURI());
\r
119 if (*(p + strlen(p) -1) == '/') {
\r
120 *(p + strlen(p) - 1) = '\0'; // folder only
\r
121 LPCTSTR pTop = strrchr(p, '/') + 1;
\r
122 pHeadLine->Set(pTop);
\r
128 if (*q == '/') r = q;
\r
131 *(r + strlen(r) - 4) = '\0';
\r
132 pHeadLine->Set(r + 1);
\r
137 ////////////////////////////////////////////////
\r
138 // dummy repo sample
\r
140 class RepoX : public DummyRepoBase {
\r
141 URIList *GetChild(const TomboURI *pFolderURI, BOOL bSkipEncrypt, BOOL bLooseDecrypt, BOOL *pLoose);
\r
144 URIList *RepoX::GetChild(const TomboURI *pFolderURI, BOOL bSkipEncrypt, BOOL bLooseDecrypt, BOOL *pLoose)
\r
146 if (strcmp(pFolderURI->GetFullURI(), "tombo://default/aaa/") == 0) {
\r
147 URIList *pList = new URIList();
\r
149 TomboURI uri1; uri1.Init("tombo://default/aaa/bbb/"); pList->Add(&uri1, "bbb");
\r
150 TomboURI uri2; uri2.Init("tombo://default/aaa/test/"); pList->Add(&uri2, "test");
\r
151 TomboURI uri3; uri3.Init("tombo://default/aaa/hello.txt"); pList->Add(&uri3, "hello");
\r
152 TomboURI uri4; uri4.Init("tombo://default/aaa/zzz.txt"); pList->Add(&uri4, "zzz");
\r
155 if (strcmp(pFolderURI->GetFullURI(), "tombo://default/aaa/bbb/") == 0) {
\r
156 URIList *pList = new URIList();
\r
160 if (strcmp(pFolderURI->GetFullURI(), "tombo://default/aaa/test/") == 0) {
\r
161 URIList *pList = new URIList();
\r
163 TomboURI uri3; uri3.Init("tombo://default/aaa/test/sub.txt"); pList->Add(&uri3, "sub");
\r
170 ////////////////////////////////////////////////
\r
171 // Generic test scanner
\r
173 // at result, calling hisory is stored to sbuf.
\r
175 class TestScanner1 : public URIScanner {
\r
177 StringBufferA sbuf;
\r
187 void InitialScan();
\r
195 BOOL Check(LPCTSTR pMsg, LPCTSTR pCorrect);
\r
196 static void FullScanTest(LPCTSTR pTestName, LPCTSTR pCorrect, DummyRepoBase *pRepo);
\r
197 static void ScanTest(LPCTSTR pTestName, LPCTSTR pCorrect, DummyRepoBase *pRepo, const TomboURI *pURI, BOOL bReverse);
\r
200 TestScanner1::TestScanner1()
\r
202 nInitialScan = nAfterScan = nPreFolder = nPostFolder = nNote = 0;
\r
203 sbuf.Init(100, 20);
\r
206 void TestScanner1::InitialScan()
\r
209 sbuf.Add("IS", 2, &n);
\r
212 void TestScanner1::AfterScan()
\r
215 sbuf.Add("AS", 2+1, &n);
\r
218 void TestScanner1::PreFolder()
\r
222 sbuf.Add("BF", 2, &n);
\r
224 LPCTSTR pFull = CurrentURI()->GetFullURI();
\r
225 sbuf.Add(pFull, strlen(pFull), &n);
\r
226 sbuf.Add(GetTitle(), strlen(GetTitle()), &n);
\r
229 void TestScanner1::PostFolder()
\r
232 sbuf.Add("AF", 2, &n);
\r
234 LPCTSTR pFull = CurrentURI()->GetFullURI();
\r
235 sbuf.Add(pFull, strlen(pFull), &n);
\r
236 sbuf.Add(GetTitle(), strlen(GetTitle()), &n);
\r
239 void TestScanner1::Node()
\r
242 sbuf.Add("ND", 2, &n);
\r
244 LPCTSTR pFull = CurrentURI()->GetFullURI();
\r
245 sbuf.Add(pFull, strlen(pFull), &n);
\r
246 sbuf.Add(GetTitle(), strlen(GetTitle()), &n);
\r
249 void TestScanner1::FullScanTest(LPCTSTR pTestName, LPCTSTR pCorrect, DummyRepoBase *pRepo)
\r
252 base.Init("tombo://default/aaa/");
\r
256 CPPUNIT_ASSERT(s1.Init(pRepo, &base, FALSE));
\r
258 BOOL bResult = s1.FullScan();
\r
259 CPPUNIT_ASSERT_EQUAL(bResult, TRUE);
\r
260 LPCTSTR pResultStr = s1.sbuf.Get(0);
\r
261 CPPUNIT_ASSERT(s1.Check(pTestName, pCorrect));
\r
264 void TestScanner1::ScanTest(LPCTSTR pTestName, LPCTSTR pCorrect, DummyRepoBase *pRepo, const TomboURI *pURI, BOOL bReverse)
\r
267 base.Init("tombo://default/aaa/");
\r
271 CPPUNIT_ASSERT(s1.Init(pRepo, &base, FALSE));
\r
273 BOOL bResult = s1.Scan(pURI, bReverse);
\r
274 CPPUNIT_ASSERT_EQUAL(bResult, TRUE);
\r
275 LPCTSTR pResultStr = s1.sbuf.Get(0);
\r
276 CPPUNIT_ASSERT(s1.Check(pTestName, pCorrect));
\r
279 BOOL TestScanner1::Check(LPCTSTR pMsg, LPCTSTR pCorrect)
\r
281 LPCTSTR pResult = sbuf.Get(0);
\r
283 DWORD n1 = strlen(pResult);
\r
284 DWORD n2 = strlen(pCorrect);
\r
286 for (DWORD i = 0; i < n1; i++) {
\r
287 if (pResult[i] != pCorrect[i]) {
\r
293 return strcmp(sbuf.Get(0), pCorrect) == 0;
\r
296 ////////////////////////////////////////////////
\r
299 // Test the root is empty
\r
302 class Repo1 : public DummyRepoBase {
\r
303 URIList *GetChild(const TomboURI *pFolderURI, BOOL bSkipEncrypt, BOOL bLooseDecrypt, BOOL *pLoose);
\r
306 URIList *Repo1::GetChild(const TomboURI *pFolderURI, BOOL bSkipEncrypt, BOOL bLooseDecrypt, BOOL *pLoose)
\r
308 URIList *pList = new URIList();
\r
314 void TEST_CLASS_NAME::URIScanTest1()
\r
316 LPCTSTR pTest = "TEST1";
\r
317 LPCTSTR pCorrect =
\r
319 "BF" "tombo://default/aaa/" "aaa"
\r
320 "AF" "tombo://default/aaa/" "aaa"
\r
324 TestScanner1::FullScanTest(pTest, pCorrect, &rep);
\r
327 ////////////////////////////////////////////////
\r
330 // 2 nodes under the root
\r
333 class Repo2 : public DummyRepoBase {
\r
334 URIList *GetChild(const TomboURI *pFolderURI, BOOL bSkipEncrypt, BOOL bLooseDecrypt, BOOL *pLoose);
\r
337 URIList *Repo2::GetChild(const TomboURI *pFolderURI, BOOL bSkipEncrypt, BOOL bLooseDecrypt, BOOL *pLoose)
\r
339 URIList *pList = new URIList();
\r
342 TomboURI uri1; uri1.Init("tombo://default/aaa/bbb.txt"); pList->Add(&uri1, "bbb");
\r
343 TomboURI uri2; uri2.Init("tombo://default/aaa/ccc.txt"); pList->Add(&uri2, "ccc");
\r
348 void TEST_CLASS_NAME::URIScanTest2()
\r
350 LPCTSTR pTest = "TEST3";
\r
351 LPCTSTR pCorrect =
\r
353 "BF" "tombo://default/aaa/" "aaa"
\r
354 "ND" "tombo://default/aaa/bbb.txt" "bbb"
\r
355 "ND" "tombo://default/aaa/ccc.txt" "ccc"
\r
356 "AF" "tombo://default/aaa/" "aaa"
\r
360 TestScanner1::FullScanTest(pTest, pCorrect, &rep);
\r
363 ////////////////////////////////////////////////
\r
366 // there are a folder and a node under the root.
\r
369 class Repo3 : public DummyRepoBase {
\r
370 URIList *GetChild(const TomboURI *pFolderURI, BOOL bSkipEncrypt, BOOL bLooseDecrypt, BOOL *pLoose);
\r
373 URIList *Repo3::GetChild(const TomboURI *pFolderURI, BOOL bSkipEncrypt, BOOL bLooseDecrypt, BOOL *pLoose)
\r
375 URIList *pList = new URIList();
\r
378 if (strcmp(pFolderURI->GetFullURI(), "tombo://default/aaa/") == 0) {
\r
379 TomboURI uri1; uri1.Init("tombo://default/aaa/bbb/"); pList->Add(&uri1, "bbb");
\r
380 TomboURI uri2; uri2.Init("tombo://default/aaa/ccc.txt"); pList->Add(&uri2, "ccc");
\r
382 if (strcmp(pFolderURI->GetFullURI(), "tombo://default/aaa/bbb/") == 0) {
\r
383 URIList *pList = new URIList();
\r
390 void TEST_CLASS_NAME::URIScanTest3()
\r
392 LPCTSTR pTest = "TEST3";
\r
393 LPCTSTR pCorrect =
\r
395 "BF" "tombo://default/aaa/" "aaa"
\r
396 "BF" "tombo://default/aaa/bbb/" "bbb"
\r
397 "AF" "tombo://default/aaa/bbb/" "bbb"
\r
398 "ND" "tombo://default/aaa/ccc.txt" "ccc"
\r
399 "AF" "tombo://default/aaa/" "aaa"
\r
403 TestScanner1::FullScanTest(pTest, pCorrect, &rep);
\r
406 ////////////////////////////////////////////////
\r
412 class Repo4 : public DummyRepoBase {
\r
413 const TomboURI *pStopURI;
\r
415 URIList *GetChild(const TomboURI *pFolderURI, BOOL bSkipEncrypt, BOOL bLooseDecrypt, BOOL *pLoose);
\r
417 Repo4() : DummyRepoBase(), pStopURI(NULL) {}
\r
418 Repo4(const TomboURI *pURI);
\r
421 Repo4::Repo4(const TomboURI *pURI)
\r
423 pStopURI = new TomboURI(*pURI);
\r
426 URIList *Repo4::GetChild(const TomboURI *pFolderURI, BOOL bSkipEncrypt, BOOL bLooseDecrypt, BOOL *pLoose)
\r
428 URIList *pList = new URIList();
\r
431 if (pStopURI != NULL && strcmp(pStopURI->GetFullURI(), pFolderURI->GetFullURI()) == 0) {
\r
432 SetLastError(ERROR_CANCELLED);
\r
436 if (strcmp(pFolderURI->GetFullURI(), "tombo://default/aaa/") == 0) {
\r
437 TomboURI uri1; uri1.Init("tombo://default/aaa/bbb/"); pList->Add(&uri1, "bbb");
\r
438 TomboURI uri2; uri2.Init("tombo://default/aaa/ddd.txt"); pList->Add(&uri2, "ddd");
\r
440 if (strcmp(pFolderURI->GetFullURI(), "tombo://default/aaa/bbb/") == 0) {
\r
441 URIList *pList = new URIList();
\r
443 TomboURI uri1; uri1.Init("tombo://default/aaa/bbb/ccc/"); pList->Add(&uri1, "ccc");
\r
444 TomboURI uri2; uri2.Init("tombo://default/aaa/bbb/eee.txt"); pList->Add(&uri2, "eee");
\r
447 if (strcmp(pFolderURI->GetFullURI(), "tombo://default/aaa/bbb/ccc/") == 0) {
\r
448 URIList *pList = new URIList();
\r
450 TomboURI uri1; uri1.Init("tombo://default/aaa/bbb/ccc/fff.txt"); pList->Add(&uri1, "fff");
\r
451 TomboURI uri2; uri2.Init("tombo://default/aaa/bbb/ccc/ggg.txt"); pList->Add(&uri2, "ggg");
\r
458 void TEST_CLASS_NAME::URIScanTest4()
\r
460 LPCTSTR pTest = "TEST4";
\r
461 LPCTSTR pCorrect =
\r
463 "BF" "tombo://default/aaa/" "aaa"
\r
464 "BF" "tombo://default/aaa/bbb/" "bbb"
\r
465 "BF" "tombo://default/aaa/bbb/ccc/" "ccc"
\r
466 "ND" "tombo://default/aaa/bbb/ccc/fff.txt" "fff"
\r
467 "ND" "tombo://default/aaa/bbb/ccc/ggg.txt" "ggg"
\r
468 "AF" "tombo://default/aaa/bbb/ccc/" "ccc"
\r
469 "ND" "tombo://default/aaa/bbb/eee.txt" "eee"
\r
470 "AF" "tombo://default/aaa/bbb/" "bbb"
\r
471 "ND" "tombo://default/aaa/ddd.txt" "ddd"
\r
472 "AF" "tombo://default/aaa/" "aaa"
\r
476 TestScanner1::FullScanTest(pTest, pCorrect, &rep);
\r
479 ////////////////////////////////////////////////
\r
483 // Data is same as URIScanTest4
\r
485 class TestScanner2 : public TestScanner1 {
\r
490 void TestScanner2::Node()
\r
492 TestScanner1::Node();
\r
493 LPCTSTR pFull = CurrentURI()->GetFullURI();
\r
494 if (strcmp(pFull, "tombo://default/aaa/bbb/ccc/fff.txt") == 0) {
\r
499 void TEST_CLASS_NAME::URIScanTest5()
\r
501 LPCTSTR pTest = "TEST5";
\r
502 LPCTSTR pCorrect =
\r
504 "BF" "tombo://default/aaa/" "aaa"
\r
505 "BF" "tombo://default/aaa/bbb/" "bbb"
\r
506 "BF" "tombo://default/aaa/bbb/ccc/" "ccc"
\r
507 "ND" "tombo://default/aaa/bbb/ccc/fff.txt" "fff"
\r
508 "AF" "tombo://default/aaa/bbb/ccc/" "ccc"
\r
509 "AF" "tombo://default/aaa/bbb/" "bbb"
\r
510 "AF" "tombo://default/aaa/" "aaa"
\r
515 base.Init("tombo://default/aaa/");
\r
519 CPPUNIT_ASSERT(s1.Init(&rep, &base, FALSE));
\r
521 BOOL bResult = s1.FullScan();
\r
522 CPPUNIT_ASSERT_EQUAL(bResult, TRUE);
\r
523 LPCTSTR pResultStr = s1.sbuf.Get(0);
\r
524 CPPUNIT_ASSERT(s1.Check(pTest, pCorrect));
\r
527 ////////////////////////////////////////////////
\r
531 // assume when user cancelled password dialog
\r
533 class Repo6 : public Repo4 {
\r
534 URIList *GetChild(const TomboURI *pFolderURI, BOOL bSkipEncrypt, BOOL bLooseDecrypt, BOOL *pLoose);
\r
537 URIList *Repo6::GetChild(const TomboURI *pFolderURI, BOOL bSkipEncrypt, BOOL bLooseDecrypt, BOOL *pLoose)
\r
539 if (strcmp(pFolderURI->GetFullURI(), "tombo://default/aaa/bbb/ccc/") == 0) {
\r
540 SetLastError(ERROR_CANCELLED);
\r
543 return Repo4::GetChild(pFolderURI, bSkipEncrypt, FALSE, FALSE);
\r
547 void TEST_CLASS_NAME::URIScanTest6()
\r
549 LPCTSTR pTest = "TEST6";
\r
550 LPCTSTR pCorrect =
\r
552 "BF" "tombo://default/aaa/" "aaa"
\r
553 "BF" "tombo://default/aaa/bbb/" "bbb"
\r
554 "AF" "tombo://default/aaa/bbb/" "bbb"
\r
555 "AF" "tombo://default/aaa/" "aaa"
\r
559 TestScanner1::FullScanTest(pTest, pCorrect, &rep);
\r
562 ////////////////////////////////////////////////
\r
566 // assume when user cancelled password dialog
\r
568 class Repo7 : public Repo4 {
\r
569 URIList *GetChild(const TomboURI *pFolderURI, BOOL bSkipEncrypt, BOOL bLooseDecrypt, BOOL *pLoose);
\r
572 URIList *Repo7::GetChild(const TomboURI *pFolderURI, BOOL bSkipEncrypt, BOOL bLooseDecrypt, BOOL *pLoose)
\r
574 SetLastError(ERROR_CANCELLED);
\r
578 void TEST_CLASS_NAME::URIScanTest7()
\r
580 LPCTSTR pTest = "TEST7";
\r
581 LPCTSTR pCorrect =
\r
586 TestScanner1::FullScanTest(pTest, pCorrect, &rep);
\r
589 ////////////////////////////////////////////////
\r
592 // reverse order of URIScanTest4()
\r
594 void TEST_CLASS_NAME::URIScanTest8()
\r
596 LPCTSTR pTest = "TEST8";
\r
597 LPCTSTR pCorrect =
\r
599 "BF" "tombo://default/aaa/" "aaa"
\r
600 "ND" "tombo://default/aaa/ddd.txt" "ddd"
\r
601 "BF" "tombo://default/aaa/bbb/" "bbb"
\r
602 "ND" "tombo://default/aaa/bbb/eee.txt" "eee"
\r
603 "BF" "tombo://default/aaa/bbb/ccc/" "ccc"
\r
604 "ND" "tombo://default/aaa/bbb/ccc/ggg.txt" "ggg"
\r
605 "ND" "tombo://default/aaa/bbb/ccc/fff.txt" "fff"
\r
606 "AF" "tombo://default/aaa/bbb/ccc/" "ccc"
\r
607 "AF" "tombo://default/aaa/bbb/" "bbb"
\r
608 "AF" "tombo://default/aaa/" "aaa"
\r
610 Repo4 rep; // Repo4 is correct.
\r
612 TestScanner1::ScanTest(pTest, pCorrect, &rep, NULL, TRUE);
\r
615 ////////////////////////////////////////////////
\r
618 // partial scan test
\r
620 void TEST_CLASS_NAME::PartialScanTest1()
\r
622 LPCTSTR pTest = "TEST-P1";
\r
623 LPCTSTR pCorrect =
\r
625 "BF" "tombo://default/aaa/" "aaa"
\r
626 "BF" "tombo://default/aaa/bbb/" "bbb"
\r
627 "BF" "tombo://default/aaa/bbb/ccc/" "ccc"
\r
628 "ND" "tombo://default/aaa/bbb/ccc/ggg.txt" "ggg"
\r
629 "AF" "tombo://default/aaa/bbb/ccc/" "ccc"
\r
630 "ND" "tombo://default/aaa/bbb/eee.txt" "eee"
\r
631 "AF" "tombo://default/aaa/bbb/" "bbb"
\r
632 "ND" "tombo://default/aaa/ddd.txt" "ddd"
\r
633 "AF" "tombo://default/aaa/" "aaa"
\r
638 part.Init("tombo://default/aaa/bbb/ccc/ggg.txt");
\r
640 TestScanner1::ScanTest(pTest, pCorrect, &rep, &part, FALSE);
\r
644 ////////////////////////////////////////////////
\r
647 // baseURI and startURI is same
\r
649 void TEST_CLASS_NAME::PartialScanTest2()
\r
651 LPCTSTR pTest = "PSTEST2";
\r
652 LPCTSTR pCorrect =
\r
654 "BF" "tombo://default/aaa/" "aaa"
\r
655 "BF" "tombo://default/aaa/bbb/" "bbb"
\r
656 "BF" "tombo://default/aaa/bbb/ccc/" "ccc"
\r
657 "ND" "tombo://default/aaa/bbb/ccc/fff.txt" "fff"
\r
658 "ND" "tombo://default/aaa/bbb/ccc/ggg.txt" "ggg"
\r
659 "AF" "tombo://default/aaa/bbb/ccc/" "ccc"
\r
660 "ND" "tombo://default/aaa/bbb/eee.txt" "eee"
\r
661 "AF" "tombo://default/aaa/bbb/" "bbb"
\r
662 "ND" "tombo://default/aaa/ddd.txt" "ddd"
\r
663 "AF" "tombo://default/aaa/" "aaa"
\r
668 part.Init("tombo://default/aaa/");
\r
670 TestScanner1::ScanTest(pTest, pCorrect, &rep, &part, FALSE);
\r
673 ////////////////////////////////////////////////
\r
676 // cancelled at root
\r
678 void TEST_CLASS_NAME::InterruptTest1()
\r
680 LPCTSTR pTest = "IRTEST1";
\r
681 LPCTSTR pCorrect =
\r
685 sStopURI.Init("tombo://default/aaa/");
\r
686 Repo4 rep(&sStopURI);
\r
688 TestScanner1::ScanTest(pTest, pCorrect, &rep, NULL, FALSE);
\r
691 ////////////////////////////////////////////////
\r
694 // cancelled at sub folder
\r
696 void TEST_CLASS_NAME::InterruptTest2()
\r
698 LPCTSTR pTest = "IRTEST1";
\r
699 LPCTSTR pCorrect =
\r
701 "BF" "tombo://default/aaa/" "aaa"
\r
702 "BF" "tombo://default/aaa/bbb/" "bbb"
\r
703 "AF" "tombo://default/aaa/bbb/" "bbb"
\r
704 "AF" "tombo://default/aaa/" "aaa"
\r
708 sStopURI.Init("tombo://default/aaa/bbb/ccc/");
\r
709 Repo4 rep(&sStopURI);
\r
711 TestScanner1::ScanTest(pTest, pCorrect, &rep, NULL, FALSE);
\r
714 ////////////////////////////////////////////////
\r
717 // cancelled at sub folder
\r
719 void TEST_CLASS_NAME::InterruptTest3()
\r
721 LPCTSTR pTest = "IRTEST1";
\r
722 LPCTSTR pCorrect =
\r
724 "BF" "tombo://default/aaa/" "aaa"
\r
725 "BF" "tombo://default/aaa/bbb/" "bbb"
\r
726 "AF" "tombo://default/aaa/bbb/" "bbb"
\r
727 "AF" "tombo://default/aaa/" "aaa"
\r
731 sStopURI.Init("tombo://default/aaa/bbb/ccc/");
\r
732 Repo4 rep(&sStopURI);
\r
735 part.Init("tombo://default/aaa/bbb/ccc/ggg.txt");
\r
737 TestScanner1::ScanTest(pTest, pCorrect, &rep, &part, FALSE);
\r
740 ////////////////////////////////////////////////
\r
743 // cancelled at sub folder
\r
745 void TEST_CLASS_NAME::InterruptTest4()
\r
747 LPCTSTR pTest = "IRTEST1";
\r
748 LPCTSTR pCorrect =
\r
750 "BF" "tombo://default/aaa/" "aaa"
\r
751 "AF" "tombo://default/aaa/" "aaa"
\r
755 sStopURI.Init("tombo://default/aaa/bbb/");
\r
756 Repo4 rep(&sStopURI);
\r
759 part.Init("tombo://default/aaa/bbb/ccc/ggg.txt");
\r
761 TestScanner1::ScanTest(pTest, pCorrect, &rep, &part, FALSE);
\r