Index: chrome/test/chromedriver/chrome/devtools_http_client_unittest.cc |
diff --git a/chrome/test/chromedriver/chrome/devtools_http_client_unittest.cc b/chrome/test/chromedriver/chrome/devtools_http_client_unittest.cc |
index 651556b000565cc5213243f926808f068dfa222d..977ad9bf35d76f94aff7bbb12a4e227ef7a396b9 100644 |
--- a/chrome/test/chromedriver/chrome/devtools_http_client_unittest.cc |
+++ b/chrome/test/chromedriver/chrome/devtools_http_client_unittest.cc |
@@ -145,36 +145,84 @@ TEST(ParseWebViewsInfo, InvalidUrl) { |
namespace { |
-void AssertVersionFails(const std::string& data) { |
- std::string version; |
- std::string blink_version; |
- Status status = internal::ParseVersionInfo(data, &version, &blink_version); |
+void AssertParseBrowserInfoFails(const std::string& data) { |
+ BrowserInfo browser_info; |
+ Status status = internal::ParseBrowserInfo(data, &browser_info); |
ASSERT_TRUE(status.IsError()); |
- ASSERT_TRUE(version.empty()); |
- ASSERT_TRUE(blink_version.empty()); |
} |
} // namespace |
-TEST(ParseVersionInfo, InvalidJSON) { |
- AssertVersionFails("["); |
+TEST(ParseBrowserInfo, InvalidJSON) { |
+ AssertParseBrowserInfoFails("["); |
} |
-TEST(ParseVersionInfo, NonDict) { |
- AssertVersionFails("[]"); |
+TEST(ParseBrowserInfo, NonDict) { |
+ AssertParseBrowserInfoFails("[]"); |
} |
-TEST(ParseVersionInfo, NoBrowserKey) { |
- AssertVersionFails("{}"); |
+TEST(ParseBrowserInfo, NoBrowserKey) { |
+ AssertParseBrowserInfoFails("{}"); |
} |
-TEST(ParseVersionInfo, Valid) { |
- std::string data = "{\"Browser\": \"1\", \"WebKit-Version\": \"2\"}"; |
- std::string version; |
- std::string blink_version; |
- Status status = internal::ParseVersionInfo(data, &version, &blink_version); |
+TEST(ParseBrowserInfo, BlinkVersionContainsSvnRevision) { |
+ std::string data("{\"Browser\": \"Chrome/37.0.2062.124\"," |
+ " \"WebKit-Version\": \"537.36 (@181352)\"}"); |
+ BrowserInfo browser_info; |
+ Status status = internal::ParseBrowserInfo(data, &browser_info); |
ASSERT_TRUE(status.IsOk()); |
- ASSERT_EQ("1", version); |
- ASSERT_EQ("2", blink_version); |
+ ASSERT_EQ("chrome", browser_info.browser_name); |
+ ASSERT_EQ("37.0.2062.124", browser_info.browser_version); |
+ ASSERT_EQ(2062, browser_info.build_no); |
+ ASSERT_EQ(181352, browser_info.blink_revision); |
+} |
+ |
+TEST(ParseBrowserInfo, BlinkVersionContainsGitHash) { |
+ std::string data("{\"Browser\": \"Chrome/37.0.2062.124\"," |
+ " \"WebKit-Version\":" |
+ " \"537.36 (@28f741cfcabffe68a9c12c4e7152569c906bd88f)\"}"); |
+ BrowserInfo browser_info; |
+ const int default_blink_revision = browser_info.blink_revision; |
+ Status status = internal::ParseBrowserInfo(data, &browser_info); |
+ ASSERT_TRUE(status.IsOk()); |
+ ASSERT_EQ("chrome", browser_info.browser_name); |
+ ASSERT_EQ("37.0.2062.124", browser_info.browser_version); |
+ ASSERT_EQ(2062, browser_info.build_no); |
+ ASSERT_EQ(default_blink_revision, browser_info.blink_revision); |
+} |
+ |
+TEST(ParseBrowserString, Chrome) { |
+ std::string browser_name; |
+ std::string browser_version; |
+ int build_no; |
+ Status status = internal::ParseBrowserString("Chrome/37.0.2062.124", |
+ &browser_name, &browser_version, &build_no); |
+ ASSERT_TRUE(status.IsOk()); |
+ ASSERT_EQ("chrome", browser_name); |
+ ASSERT_EQ("37.0.2062.124", browser_version); |
+ ASSERT_EQ(2062, build_no); |
+} |
+ |
+TEST(ParseBlinkVersionString, GitHash) { |
+ int rev = -1; |
+ Status status = internal::ParseBlinkVersionString( |
+ "537.36 (@28f741cfcabffe68a9c12c4e7152569c906bd88f)", &rev); |
+ ASSERT_TRUE(status.IsOk()); |
+ ASSERT_EQ(-1, rev); |
} |
+TEST(ParseBlinkVersionString, SvnRevision) { |
+ int blink_revision = -1; |
+ Status status = internal::ParseBlinkVersionString( |
+ "537.36 (@159105)", &blink_revision); |
+ ASSERT_TRUE(status.IsOk()); |
+ ASSERT_EQ(159105, blink_revision); |
+} |
+ |
+TEST(IsGitHash, GitHash) { |
+ ASSERT_TRUE(internal::IsGitHash("28f741cfcabffe68a9c12c4e7152569c906bd88f")); |
+} |
+ |
+TEST(IsGitHash, SvnRevision) { |
+ ASSERT_FALSE(internal::IsGitHash("159105")); |
+} |