Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(312)

Unified Diff: import/cross/tar_generator_test.cc

Issue 159129: Refactor tar code to support long names.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/o3d/
Patch Set: Created 11 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: import/cross/tar_generator_test.cc
===================================================================
--- import/cross/tar_generator_test.cc (revision 21085)
+++ import/cross/tar_generator_test.cc (working copy)
@@ -63,15 +63,19 @@
const int kUserNameOffset = 265;
const int kGroupNameOffset = 297;
+const char *kLongLink = "././@LongLink";
const char *kDirName1 = "test/apples/";
const char *kDirName2 = "test/oranges/";
const char *kFileName1 = "test/apples/file1";
const char *kFileName2 = "test/apples/file2";
const char *kFileName3 = "test/oranges/file3";
+const char *kFileName4 =
+ "ThisIsAFilenameLongerThen100CharsThisIsAFilenameLongerThen100Chars"
+ "ThisIsAFilenameLongerThen100CharsThisIsAFilenameLongerThen100Chars";
// The first file is less than one block in size
const char *kFileContents1 =
- "The cellphone is the world’s most ubiquitous computer.\n"
+ "The cellphone is the world most ubiquitous computer.\n"
"The four billion cellphones in use around the globe carry personal\n"
"information, provide access to the Web and are being used more and more\n"
"to navigate the real world. And as cellphones change how we live,\n"
@@ -87,11 +91,11 @@
"levels since the credit crisis erupted. Financial shares were battered.\n"
"And rattled investors clamored to buy rainy-day investments like gold\n"
"and Treasury debt. It was a global wave of selling spurred by rising\n"
- "worries about how banks, automakers — entire countries — would fare\n"
+ "worries about how banks, automakers entire countries would fare\n"
"in a deepening global downturn.\n"
- "'Nobody believes it’s going get better yet,' said Howard Silverblatt,\n"
- "senior index analyst at Standard & Poor’s. 'Do you see that light at\n"
- "the end of the tunnel? Any kind of light? Right now, it’s not there'\n"
+ "'Nobody believes it&'s going get better yet,' said Howard Silverblatt,\n"
+ "senior index analyst at Standard & Poors. 'Do you see that light at\n"
+ "the end of the tunnel? Any kind of light? Right now, it's not there'\n"
"yet.\n";
// The 3rd file takes one block
@@ -117,6 +121,10 @@
VALIDATE_DIRECTORY_HEADER2, // 3rd file is in another directory
VALIDATE_FILE_HEADER3,
VALIDATE_FILE_DATA3,
+ VALIDATE_FILE_LONGNAME_HEADER4, // 4th file has a long name.
+ VALIDATE_FILE_LONGNAME_DATA4,
+ VALIDATE_FILE_HEADER4,
+ VALIDATE_FILE_DATA4,
FINISHED
};
@@ -213,6 +221,25 @@
ValidateData(memory_block_, kFileContents3);
break;
+ case VALIDATE_FILE_LONGNAME_HEADER4:
+ ValidateHeader(memory_block_, kLongLink, strlen(kFileName4));
+ break;
+
+ case VALIDATE_FILE_LONGNAME_DATA4:
+ ValidateData(memory_block_, kFileName4);
+ break;
+
+ case VALIDATE_FILE_HEADER4: {
+ String first_99_chars(kFileName4, 99);
+ ValidateHeader(memory_block_, first_99_chars.c_str(),
+ strlen(kFileContents3));
+ break;
+ }
+
+ case VALIDATE_FILE_DATA4:
+ ValidateData(memory_block_, kFileContents3);
+ break;
+
case FINISHED:
break;
}
@@ -316,7 +343,7 @@
// For now we only have directories '5' or normal files '0'
int link_flag = header[kLinkFlagOffset];
- EXPECT_TRUE(link_flag == '0' || link_flag == '5');
+ EXPECT_TRUE(link_flag == '0' || link_flag == '5' || link_flag == 'L');
EXPECT_EQ(0, strcmp((const char*)header + kMagicOffset, "ustar "));
@@ -357,20 +384,24 @@
const int kFileLength2 = strlen(kFileContents2);
const int kFileLength3 = strlen(kFileContents3);
- generator.AddFile(kFileName1, kFileLength1);
+ EXPECT_TRUE(generator.AddFile(kFileName1, kFileLength1));
MemoryReadStream file1_stream(reinterpret_cast<const uint8*>(kFileContents1),
kFileLength1);
generator.AddFileBytes(&file1_stream, kFileLength1);
- generator.AddFile(kFileName2, kFileLength2);
+ EXPECT_TRUE(generator.AddFile(kFileName2, kFileLength2));
MemoryReadStream file2_stream(reinterpret_cast<const uint8*>(kFileContents2),
kFileLength2);
generator.AddFileBytes(&file2_stream, kFileLength2);
- generator.AddFile(kFileName3, kFileLength3);
+ EXPECT_TRUE(generator.AddFile(kFileName3, kFileLength3));
MemoryReadStream file3_stream(reinterpret_cast<const uint8*>(kFileContents3),
kFileLength3);
generator.AddFileBytes(&file3_stream, kFileLength3);
+ EXPECT_TRUE(generator.AddFile(kFileName4, kFileLength3));
+ MemoryReadStream file4_stream(reinterpret_cast<const uint8*>(kFileContents3),
+ kFileLength3);
+ generator.AddFileBytes(&file4_stream, kFileLength3);
generator.Finalize();

Powered by Google App Engine
This is Rietveld 408576698