Add function in MatchOutputCodeTest to find occurrence of a string

The patch adds a function in MatchOutputCodeTest to get the position
of the first occurrence of an expression in the translated output code.
This can help design more complicated tests like a test which checks
for the order of simple expressions.

BUG=angleproject:2062
TEST=angle_unittests

Change-Id: I1249d4762c247848c4eec64ecb8c1357b5e8d40a
Reviewed-on: https://chromium-review.googlesource.com/563659
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/tests/test_utils/compiler_test.cpp b/src/tests/test_utils/compiler_test.cpp
index 0081bc6..c57fb60 100644
--- a/src/tests/test_utils/compiler_test.cpp
+++ b/src/tests/test_utils/compiler_test.cpp
@@ -140,14 +140,19 @@
 
 bool MatchOutputCodeTest::foundInCode(ShShaderOutput output, const char *stringToFind) const
 {
+    return findInCode(output, stringToFind) != std::string::npos;
+}
+
+size_t MatchOutputCodeTest::findInCode(ShShaderOutput output, const char *stringToFind) const
+{
     const auto code = mOutputCode.find(output);
     EXPECT_NE(mOutputCode.end(), code);
     if (code == mOutputCode.end())
     {
-        return false;
+        return std::string::npos;
     }
 
-    return code->second.find(stringToFind) != std::string::npos;
+    return code->second.find(stringToFind);
 }
 
 bool MatchOutputCodeTest::foundInCode(ShShaderOutput output,
diff --git a/src/tests/test_utils/compiler_test.h b/src/tests/test_utils/compiler_test.h
index feb4dea..a12d0cc 100644
--- a/src/tests/test_utils/compiler_test.h
+++ b/src/tests/test_utils/compiler_test.h
@@ -64,6 +64,9 @@
     }
 
     bool foundInCode(ShShaderOutput output, const char *stringToFind) const;
+    // Returns the position of the first character of the first match in the translated output
+    // source. If no matches are found, then string::npos is returned.
+    size_t findInCode(ShShaderOutput output, const char *stringToFind) const;
 
     // Test that the string occurs for exactly expectedOccurrences times
     bool foundInCode(ShShaderOutput output,