Basic APIs and test for retrieving embedded attachment count and name

1. Added APIs for retrieving embedded attachment count and file name.
    * Added an embedder test testing them.

Bug=pdfium:174

Change-Id: I181b8e0b81495d8a7fd8c3f79dbbc0f907f5e3fd
Reviewed-on: https://pdfium-review.googlesource.com/7490
Commit-Queue: Jane Liu <janeliulwq@google.com>
Reviewed-by: dsinclair <dsinclair@chromium.org>
diff --git a/fpdfsdk/fpdfattachment_embeddertest.cpp b/fpdfsdk/fpdfattachment_embeddertest.cpp
new file mode 100644
index 0000000..2cbda8a
--- /dev/null
+++ b/fpdfsdk/fpdfattachment_embeddertest.cpp
@@ -0,0 +1,22 @@
+// Copyright 2017 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "public/fpdf_attachment.h"
+#include "testing/embedder_test.h"
+
+class FPDFAttachmentEmbeddertest : public EmbedderTest {};
+
+TEST_F(FPDFAttachmentEmbeddertest, ExtractAttachments) {
+  // Open a file with two attachments.
+  ASSERT_TRUE(OpenDocument("embedded_attachments.pdf"));
+  EXPECT_EQ(2, FPDFDoc_GetAttachmentCount(document()));
+
+  // Check that the name of the first attachment is correct.
+  unsigned long len = FPDFDoc_GetAttachmentName(document(), 0, nullptr, 0);
+  std::vector<char> buf(len);
+  EXPECT_EQ(12u, FPDFDoc_GetAttachmentName(document(), 0, buf.data(), len));
+  EXPECT_STREQ(L"1.txt",
+               GetPlatformWString(reinterpret_cast<unsigned short*>(buf.data()))
+                   .c_str());
+}