// 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 "base/mac/scoped_nsobject.h" #include "testing/gtest/include/gtest/gtest.h" namespace { // Tests that FormatUrlRequestForLogging outputs the string in the form: // request: request.mainDocURL:. TEST(NSURLRequestUtilTest, FormatUrlRequestForLogging) { base::scoped_nsobject request( [[NSMutableURLRequest alloc] init]); request.get().URL = [NSURL URLWithString:@"http://www.google.com"]; request.get().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.get().URL = nil; request.get().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.get().URL = [NSURL URLWithString:@"http://www.google.com"]; request.get().mainDocumentURL = nil; actualString = net::FormatUrlRequestForLogging(request); expectedString = "request: http://www.google.com request.mainDocURL: [nil]"; EXPECT_EQ(expectedString, actualString); request.get().URL = nil; request.get().mainDocumentURL = nil; actualString = net::FormatUrlRequestForLogging(request); expectedString = "request: [nil] request.mainDocURL: [nil]"; EXPECT_EQ(expectedString, actualString); } } // namespace