Allow objective-c xctest files when generating xcode project.

Bug: 798687
Change-Id: Idfa075e10f121fd6a7e09ee56f628610f2332ec7
Reviewed-on: https://chromium-review.googlesource.com/848834
Commit-Queue: Peter Hanspers <peterhanspers@chromium.org>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#526946}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: af32cb03c8daf3696b972cae2c6791bdd6e05bb2
diff --git a/tools/gn/xcode_writer.cc b/tools/gn/xcode_writer.cc
index ea61744..bdfdce0 100644
--- a/tools/gn/xcode_writer.cc
+++ b/tools/gn/xcode_writer.cc
@@ -36,7 +36,8 @@
 using TargetToPBXTarget = std::unordered_map<const Target*, PBXTarget*>;
 
 const char kEarlGreyFileNameIdentifier[] = "egtest.mm";
-const char kXCTestFileNameIdentifier[] = "xctest.mm";
+const char kXCTestObjCFileNameIdentifier[] = "xctest.m";
+const char kXCTestObjCppFileNameIdentifier[] = "xctest.mm";
 const char kXCTestModuleTargetNamePostfix[] = "_module";
 const char kXCUITestRunnerTargetNamePostfix[] = "_runner";
 
@@ -127,7 +128,9 @@
 bool IsXCTestFile(const SourceFile& file) {
   return base::EndsWith(file.GetName(), kEarlGreyFileNameIdentifier,
                         base::CompareCase::SENSITIVE) ||
-         base::EndsWith(file.GetName(), kXCTestFileNameIdentifier,
+         base::EndsWith(file.GetName(), kXCTestObjCFileNameIdentifier,
+                        base::CompareCase::SENSITIVE) ||
+         base::EndsWith(file.GetName(), kXCTestObjCppFileNameIdentifier,
                         base::CompareCase::SENSITIVE);
 }