Allow EarlGrey objective-c xctest files.

Bug: 798687
Change-Id: I5cf2c183581675cd62b792bcbeb2471b28434e62
Reviewed-on: https://chromium-review.googlesource.com/850612
Commit-Queue: Peter Hanspers <peterhanspers@chromium.org>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#527252}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f1e844fc287579dd0e31c0256139bb32b22f2d34
diff --git a/tools/gn/xcode_writer.cc b/tools/gn/xcode_writer.cc
index bdfdce0..f5dd65a 100644
--- a/tools/gn/xcode_writer.cc
+++ b/tools/gn/xcode_writer.cc
@@ -35,9 +35,10 @@
 using TargetToTarget = std::unordered_map<const Target*, const Target*>;
 using TargetToPBXTarget = std::unordered_map<const Target*, PBXTarget*>;
 
-const char kEarlGreyFileNameIdentifier[] = "egtest.mm";
-const char kXCTestObjCFileNameIdentifier[] = "xctest.m";
-const char kXCTestObjCppFileNameIdentifier[] = "xctest.mm";
+const char* kXCTestFileSuffixes[] = {
+    "egtest.m", "egtest.mm", "xctest.m", "xctest.mm",
+};
+
 const char kXCTestModuleTargetNamePostfix[] = "_module";
 const char kXCUITestRunnerTargetNamePostfix[] = "_runner";
 
@@ -126,12 +127,15 @@
 }
 
 bool IsXCTestFile(const SourceFile& file) {
-  return base::EndsWith(file.GetName(), kEarlGreyFileNameIdentifier,
-                        base::CompareCase::SENSITIVE) ||
-         base::EndsWith(file.GetName(), kXCTestObjCFileNameIdentifier,
-                        base::CompareCase::SENSITIVE) ||
-         base::EndsWith(file.GetName(), kXCTestObjCppFileNameIdentifier,
-                        base::CompareCase::SENSITIVE);
+  std::string file_name = file.GetName();
+  for (size_t i = 0; i < arraysize(kXCTestFileSuffixes); ++i) {
+    if (base::EndsWith(file_name, kXCTestFileSuffixes[i],
+                       base::CompareCase::SENSITIVE)) {
+      return true;
+    }
+  }
+
+  return false;
 }
 
 const Target* FindApplicationTargetByName(