Index: ios/web/ui_web_view_util_unittest.mm |
diff --git a/ios/web/ui_web_view_util_unittest.mm b/ios/web/ui_web_view_util_unittest.mm |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0354579d5c62b8c8f4f2611ccec4110768708d2f |
--- /dev/null |
+++ b/ios/web/ui_web_view_util_unittest.mm |
@@ -0,0 +1,54 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#import "ios/web/ui_web_view_util.h" |
+ |
+#import "ios/web/public/test/test_web_client.h" |
+#include "testing/gtest_mac.h" |
+#include "testing/platform_test.h" |
+ |
+namespace { |
+ |
+// Returns user agent string registered for UIWebView. |
+NSString* GetUserAgent() { |
+ return [[NSUserDefaults standardUserDefaults] stringForKey:@"UserAgent"]; |
+} |
+ |
+class UIWebViewUtilTest : public PlatformTest { |
+ protected: |
+ void SetUp() override { |
+ PlatformTest::SetUp(); |
+ test_web_client_.SetUserAgent("DesktopUA", true); |
+ test_web_client_.SetUserAgent("RegularUA", false); |
+ web::SetWebClient(&test_web_client_); |
+ } |
+ void TearDown() override { |
+ web::SetWebClient(nullptr); |
+ PlatformTest::TearDown(); |
+ } |
+ private: |
+ // WebClient that returns test user agent. |
+ web::TestWebClient test_web_client_; |
+}; |
+ |
+// Tests registration of a non-desktop user agent. |
+TEST_F(UIWebViewUtilTest, BuildAndRegisterNonDesktopUserAgentForUIWebView) { |
+ web::BuildAndRegisterUserAgentForUIWebView(@"1231546541321", NO); |
+ EXPECT_NSEQ(@"RegularUA (1231546541321)", GetUserAgent()); |
+} |
+ |
+// Tests registration of a desktop user agent. |
+TEST_F(UIWebViewUtilTest, BuildAndRegisterDesktopUserAgentForUIWebView) { |
+ web::BuildAndRegisterUserAgentForUIWebView(@"1231546541321", YES); |
+ EXPECT_NSEQ(@"DesktopUA (1231546541321)", GetUserAgent()); |
+} |
+ |
+// Tests web::RegisterUserAgentForUIWebView function that it correctly registers |
+// arbitrary user agent. |
+TEST_F(UIWebViewUtilTest, RegisterUserAgentForUIWebView) { |
+ web::RegisterUserAgentForUIWebView(@"UA"); |
+ EXPECT_NSEQ(@"UA", GetUserAgent()); |
+} |
+ |
+} // namespace |