Add the method to set zip64 extension attribute. Eliminate useless test case
class in zip_headers_test.

--
MOS_MIGRATED_REVID=128444529
diff --git a/src/tools/singlejar/zip_headers.h b/src/tools/singlejar/zip_headers.h
index f85e24f..cf259fe 100644
--- a/src/tools/singlejar/zip_headers.h
+++ b/src/tools/singlejar/zip_headers.h
@@ -104,6 +104,7 @@
 
   // The value of i-th attribute
   uint64_t attr64(int index) const { return le64toh(attr_[index]); }
+  void attr64(int index, uint64_t v) { attr_[index] = htole64(v); }
 
  private:
   uint16_t tag_;
diff --git a/src/tools/singlejar/zip_headers_test.cc b/src/tools/singlejar/zip_headers_test.cc
index 7a181c7..7ec18dc 100644
--- a/src/tools/singlejar/zip_headers_test.cc
+++ b/src/tools/singlejar/zip_headers_test.cc
@@ -18,12 +18,10 @@
 
 namespace {
 
-class ZipHeadersTest : public ::testing::Test {
-};
+const uint8_t kPoison = 0xFB;
 
-TEST_F(ZipHeadersTest, LocalHeader) {
+TEST(ZipHeadersTest, LocalHeader) {
   uint8_t bytes[256];
-  const uint8_t kPoison = 0xFB;
   memset(bytes, kPoison, sizeof(bytes));
   LH *lh = reinterpret_cast<LH *>(bytes);
 
@@ -93,9 +91,8 @@
   EXPECT_EQ(kPoison, *lh->data());
 }
 
-TEST_F(ZipHeadersTest, CentralDirectoryHeader) {
+TEST(ZipHeadersTest, CentralDirectoryHeader) {
   uint8_t bytes[256];
-  const uint8_t kPoison = 0xFB;
   memset(bytes, kPoison, sizeof(bytes));
   CDH *cdh = reinterpret_cast<CDH *>(bytes);
 
@@ -207,9 +204,8 @@
   EXPECT_EQ(42, cdh->local_header_offset());
 }
 
-TEST_F(ZipHeadersTest, ECD64Locator) {
+TEST(ZipHeadersTest, ECD64Locator) {
   uint8_t bytes[256];
-  const uint8_t kPoison = 0xFB;
   memset(bytes, kPoison, sizeof(bytes));
   ECD64Locator *ecd64loc = reinterpret_cast<ECD64Locator *>(bytes);
 
@@ -223,9 +219,8 @@
   EXPECT_EQ(213456, ecd64loc->total_disks());
 }
 
-TEST_F(ZipHeadersTest, Zip64EndOfCentralDirectory) {
+TEST(ZipHeadersTest, Zip64EndOfCentralDirectory) {
   uint8_t bytes[256];
-  const uint8_t kPoison = 0xFB;
   memset(bytes, kPoison, sizeof(bytes));
 
   ECD64 *ecd64 = reinterpret_cast<ECD64 *>(bytes);
@@ -251,9 +246,8 @@
   EXPECT_EQ(11000000000, ecd64->cen_offset());
 }
 
-TEST_F(ZipHeadersTest, EndOfCentralDirectory) {
+TEST(ZipHeadersTest, EndOfCentralDirectory) {
   uint8_t bytes[256];
-  const uint8_t kPoison = 0xFB;
   memset(bytes, kPoison, sizeof(bytes));
   ECD64Locator *ecd64loc = reinterpret_cast<ECD64Locator *>(bytes);
   ECD *ecd = reinterpret_cast<ECD *>(bytes + sizeof(ECD64Locator));
@@ -287,5 +281,20 @@
   EXPECT_EQ(9876543210, ecd->ecd64_offset());
 }
 
+TEST(ZipHeadersTest, Zip64ExtraFieldTest) {
+  uint8_t bytes[256];
+  memset(bytes, kPoison, sizeof(bytes));
+  Zip64ExtraField *z64 = reinterpret_cast<Zip64ExtraField *>(bytes);
+
+  z64->signature();
+  EXPECT_TRUE(z64->is());
+  z64->payload_size(16);
+  z64->attr64(0, 9876543210);
+  EXPECT_EQ(9876543210, z64->attr64(0));
+  z64->attr64(1, 8976543210);
+  EXPECT_EQ(8976543210, z64->attr64(1));
+  EXPECT_EQ(kPoison, bytes[z64->size()]);
+}
+
 }  // namespace