| // 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. |
| |
| #include "ios/net/nsurlrequest_util.h" |
| |
| #include "testing/gtest/include/gtest/gtest.h" |
| #include "testing/platform_test.h" |
| |
| #if !defined(__has_feature) || !__has_feature(objc_arc) |
| #error "This file requires ARC support." |
| #endif |
| |
| namespace { |
| |
| using NSURLRequestUtilTest = PlatformTest; |
| |
| // Tests that FormatUrlRequestForLogging outputs the string in the form: |
| // request:<url> request.mainDocURL:<mainDocumentURL>. |
| TEST_F(NSURLRequestUtilTest, FormatUrlRequestForLogging) { |
| NSMutableURLRequest* request = [[NSMutableURLRequest alloc] init]; |
| request.URL = [NSURL URLWithString:@"http://www.google.com"]; |
| request.mainDocumentURL = [NSURL URLWithString:@"http://www.google1.com"]; |
| std::string actualString, expectedString; |
| |
| actualString = net::FormatUrlRequestForLogging(request); |
| expectedString = "request: http://www.google.com" |
| " request.mainDocURL: http://www.google1.com"; |
| EXPECT_EQ(expectedString, actualString); |
| |
| request.URL = nil; |
| request.mainDocumentURL = [NSURL URLWithString:@"http://www.google1.com"]; |
| actualString = net::FormatUrlRequestForLogging(request); |
| expectedString = "request: [nil] request.mainDocURL: http://www.google1.com"; |
| EXPECT_EQ(expectedString, actualString); |
| |
| request.URL = [NSURL URLWithString:@"http://www.google.com"]; |
| request.mainDocumentURL = nil; |
| actualString = net::FormatUrlRequestForLogging(request); |
| expectedString = "request: http://www.google.com request.mainDocURL: [nil]"; |
| EXPECT_EQ(expectedString, actualString); |
| |
| request.URL = nil; |
| request.mainDocumentURL = nil; |
| actualString = net::FormatUrlRequestForLogging(request); |
| expectedString = "request: [nil] request.mainDocURL: [nil]"; |
| EXPECT_EQ(expectedString, actualString); |
| } |
| |
| } // namespace |