Jelajahi Sumber

2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

	Added testcase for File::mkdirs().
	* test/FileTest.cc
Tatsuhiro Tsujikawa 15 tahun lalu
induk
melakukan
4516736a22
2 mengubah file dengan 35 tambahan dan 11 penghapusan
  1. 5 0
      ChangeLog
  2. 30 11
      test/FileTest.cc

+ 5 - 0
ChangeLog

@@ -1,3 +1,8 @@
+2010-10-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
+
+	Added testcase for File::mkdirs().
+	* test/FileTest.cc
+
 2010-10-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
 
 	Rewritten AbstractDiskWriter::openFile() without File::exists().

+ 30 - 11
test/FileTest.cc

@@ -112,19 +112,38 @@ void FileTest::testSize() {
 }
 
 void FileTest::testMkdir() {
-  std::string dir = "./aria2_FileTest_testMkdir/test";
-  File d(dir);
-  if(d.exists()) {
-    CPPUNIT_ASSERT(d.remove());
-  }
-  CPPUNIT_ASSERT(!d.exists());
+  {
+    std::string dir = "./aria2_FileTest_testMkdir/test";
+    File d(dir);
+    if(d.exists()) {
+      CPPUNIT_ASSERT(d.remove());
+    }
+    CPPUNIT_ASSERT(!d.exists());
 
-  CPPUNIT_ASSERT(d.mkdirs());
+    CPPUNIT_ASSERT(d.mkdirs());
 
-  CPPUNIT_ASSERT(d.exists());
-  // this test failes because d.mkdir returns false when the directory is
-  // already exists.
-  CPPUNIT_ASSERT(!d.mkdirs());
+    CPPUNIT_ASSERT(d.exists());
+    // this test failes because d.mkdir returns false when the directory is
+    // already exists.
+    CPPUNIT_ASSERT(!d.mkdirs());
+  }
+  {
+    std::string dir = ".////aria2_FileTest_testMkdir////test2///";
+    std::string nDir = "./aria2_FileTest_testMkdir/test2";
+    File d(dir);
+    File nd(nDir);
+    if(d.exists()) {
+      CPPUNIT_ASSERT(d.remove());
+    }
+    CPPUNIT_ASSERT(!nd.exists());
+
+    CPPUNIT_ASSERT(d.mkdirs());
+
+    CPPUNIT_ASSERT(nd.exists());
+    // this test failes because d.mkdir returns false when the directory is
+    // already exists.
+    CPPUNIT_ASSERT(!d.mkdirs());
+  }  
 }
 
 void FileTest::testGetDirname()