| Index: chrome/renderer/searchbox/searchbox_unittest.cc
|
| diff --git a/chrome/renderer/searchbox/searchbox_unittest.cc b/chrome/renderer/searchbox/searchbox_unittest.cc
|
| index 322d4f81e9c843f77a7e92f793a50a990de704ce..24300554f9349f4b401927607daf15b5b223ec45 100644
|
| --- a/chrome/renderer/searchbox/searchbox_unittest.cc
|
| +++ b/chrome/renderer/searchbox/searchbox_unittest.cc
|
| @@ -2,231 +2,323 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +#include "chrome/renderer/searchbox/searchbox.h"
|
| +
|
| +#include <map>
|
| +#include <string>
|
| +
|
| #include "base/basictypes.h"
|
| #include "chrome/common/instant_types.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "url/gurl.h"
|
|
|
| +namespace {
|
| +
|
| +const auto FAVICON = SearchBox::FAVICON;
|
| +const auto LARGE_ICON = SearchBox::LARGE_ICON;
|
| +const auto FALLBACK_ICON = SearchBox::FALLBACK_ICON;
|
| +const auto THUMB = SearchBox::THUMB;
|
| +
|
| +const char* kUrlString1 = "http://www.google.com";
|
| +const char* kUrlString2 = "http://www.chromium.org/path/q=3#r=4";
|
| +const char* kUrlString3 = "http://www.youtube.com:8080/hosps";
|
| +
|
| +// Mock helper to test internal::TranslateIconRestrictedUrl().
|
| +class MockIconURLHelper: public SearchBox::IconURLHelper {
|
| + public:
|
| + MockIconURLHelper();
|
| + ~MockIconURLHelper() override;
|
| + int GetViewID() const override;
|
| + std::string GetURLStringFromRestrictedID(InstantRestrictedID rid) const
|
| + override;
|
| +
|
| + private:
|
| + std::map<InstantRestrictedID, std::string> rid_to_url_string_;
|
| +};
|
| +
|
| +MockIconURLHelper::MockIconURLHelper() {
|
| + rid_to_url_string_[1] = kUrlString1;
|
| + rid_to_url_string_[2] = kUrlString2;
|
| + rid_to_url_string_[3] = kUrlString3;
|
| +}
|
| +
|
| +MockIconURLHelper::~MockIconURLHelper() {
|
| +}
|
| +
|
| +int MockIconURLHelper::GetViewID() const {
|
| + return 137;
|
| +}
|
| +
|
| +std::string MockIconURLHelper::GetURLStringFromRestrictedID(
|
| + InstantRestrictedID rid) const {
|
| + auto it = rid_to_url_string_.find(rid);
|
| + return it == rid_to_url_string_.end() ? std::string() : it->second;
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| namespace internal {
|
|
|
| // Defined in searchbox.cc
|
| -bool GetRestrictedIDFromThumbnailUrl(int render_view_id,
|
| - const GURL& url,
|
| - InstantRestrictedID* id);
|
| +bool ParseViewIdAndRestrictedId(const std::string id_part,
|
| + int* view_id_out,
|
| + InstantRestrictedID* rid_out);
|
| +
|
| +// Defined in searchbox.cc
|
| +bool ParseIconRestrictedUrl(const GURL& url,
|
| + SearchBox::ImageSourceType type,
|
| + std::string* param_part,
|
| + int* view_id,
|
| + InstantRestrictedID* rid);
|
|
|
| // Defined in searchbox.cc
|
| -bool GetRestrictedIDFromFaviconUrl(int render_view_id,
|
| - const GURL& url,
|
| - std::string* favicon_params,
|
| - InstantRestrictedID* rid);
|
| -
|
| -TEST(SearchBoxUtilTest, GetInstantRestrictedIDFromTransientURL) {
|
| - const int kInvalidRenderViewID = 920;
|
| - const int kValidRenderViewID = 1;
|
| -
|
| - const struct {
|
| - int render_view_id;
|
| - GURL transient_url;
|
| +bool TranslateIconRestrictedUrl(const GURL& transient_url,
|
| + SearchBox::ImageSourceType type,
|
| + const SearchBox::IconURLHelper& helper,
|
| + GURL* url);
|
| +
|
| +TEST(SearchBoxUtilTest, ParseViewIdAndRestrictedIdSuccess) {
|
| + int view_id = -1;
|
| + InstantRestrictedID rid = -1;
|
| +
|
| + EXPECT_TRUE(ParseViewIdAndRestrictedId("2/3", &view_id, &rid));
|
| + EXPECT_EQ(2, view_id);
|
| + EXPECT_EQ(3, rid);
|
| +
|
| + EXPECT_TRUE(ParseViewIdAndRestrictedId("0/0", &view_id, &rid));
|
| + EXPECT_EQ(0, view_id);
|
| + EXPECT_EQ(0, rid);
|
| +
|
| + EXPECT_TRUE(ParseViewIdAndRestrictedId("1048576/314", &view_id, &rid));
|
| + EXPECT_EQ(1048576, view_id);
|
| + EXPECT_EQ(314, rid);
|
| +
|
| + // Odd but not fatal.
|
| + EXPECT_TRUE(ParseViewIdAndRestrictedId("00/09", &view_id, &rid));
|
| + EXPECT_EQ(0, view_id);
|
| + EXPECT_EQ(9, rid);
|
| +
|
| + // Tolerates multiple, leading, and trailing "/".
|
| + EXPECT_TRUE(ParseViewIdAndRestrictedId("2////3", &view_id, &rid));
|
| + EXPECT_EQ(2, view_id);
|
| + EXPECT_EQ(3, rid);
|
| +
|
| + EXPECT_TRUE(ParseViewIdAndRestrictedId("5/6/", &view_id, &rid));
|
| + EXPECT_EQ(5, view_id);
|
| + EXPECT_EQ(6, rid);
|
| +
|
| + EXPECT_TRUE(ParseViewIdAndRestrictedId("/7/8", &view_id, &rid));
|
| + EXPECT_EQ(7, view_id);
|
| + EXPECT_EQ(8, rid);
|
| +}
|
| +
|
| +TEST(SearchBoxUtilTest, ParseViewIdAndRestrictedIdFailure) {
|
| + const char* test_cases[] = {
|
| + "",
|
| + " ",
|
| + "/",
|
| + "2/",
|
| + "/3",
|
| + "2a/3",
|
| + "2/3a",
|
| + " 2/3",
|
| + "2/ 3",
|
| + "2 /3 ",
|
| + "23",
|
| + "2,3",
|
| + "-2/3",
|
| + "2/-3",
|
| + "2/3/1",
|
| + "blahblah",
|
| + "0xA/0x10",
|
| + };
|
| + for (size_t i = 0; i < arraysize(test_cases); ++i) {
|
| + int view_id = -1;
|
| + InstantRestrictedID rid = -1;
|
| + EXPECT_FALSE(ParseViewIdAndRestrictedId(test_cases[i], &view_id, &rid))
|
| + << " for test_cases[" << i << "]";
|
| + EXPECT_EQ(-1, view_id);
|
| + EXPECT_EQ(-1, rid);
|
| + }
|
| +}
|
| +
|
| +TEST(SearchBoxUtilTest, ParseIconRestrictedUrlFaviconSuccess) {
|
| + struct {
|
| + SearchBox::ImageSourceType type;
|
| + const char* transient_url_str;
|
| + const char* expected_param_part;
|
| + int expected_view_id;
|
| InstantRestrictedID expected_rid;
|
| - bool expected_return_val;
|
| } test_cases[] = {
|
| - // RenderView ID matches the view id specified in the transient url.
|
| - {kValidRenderViewID, GURL("chrome-search://favicon/1/2"), 2, true},
|
| - {kValidRenderViewID, GURL("chrome-search://thumb/1/2"), 2, true},
|
| -
|
| - // RenderView ID does not match the view id specified in the transient url.
|
| - {kInvalidRenderViewID, GURL("chrome-search://favicon/1/2"), 0, false},
|
| - {kInvalidRenderViewID, GURL("chrome-search://thumb/1/2"), 0, false},
|
| -
|
| - // Invalid transient urls.
|
| - {kValidRenderViewID, GURL("chrome-search://thumb"), 0, false},
|
| - {kValidRenderViewID, GURL("chrome-search://thumb/"), 0, false},
|
| - {kValidRenderViewID, GURL("chrome-search://thumb/123"), 0, false},
|
| - {kValidRenderViewID, GURL("chrome-search://thumb/xyz"), 0, false},
|
| - {kValidRenderViewID, GURL("chrome-search://thumb/123/"), 0, false},
|
| - {kValidRenderViewID, GURL("chrome-search://thumb/123/xyz"), 0, false},
|
| - {kValidRenderViewID, GURL("chrome-search://favicon"), 0, false},
|
| - {kValidRenderViewID, GURL("chrome-search://favicon/"), 0, false},
|
| - {kValidRenderViewID, GURL("chrome-search://favicon/123"), 0, false},
|
| - {kValidRenderViewID, GURL("chrome-search://favicon/xyz"), 0, false},
|
| - {kValidRenderViewID, GURL("chrome-search://favicon/123/"), 0, false},
|
| - {kValidRenderViewID, GURL("chrome-search://favicon/123/xyz"), 0, false}
|
| + {FAVICON, "chrome-search://favicon/1/2", "", 1, 2},
|
| + {FAVICON, "chrome-search://favicon/size/16@2x/3/4", "size/16@2x/", 3, 4},
|
| + {FAVICON, "chrome-search://favicon/largest/5/6", "largest/", 5, 6},
|
| + {FAVICON, "chrome-search://favicon/origin/7/8", "origin/", 7, 8},
|
| + {FAVICON, "chrome-search://favicon/iconurl/9/10", "iconurl/", 9, 10},
|
| + {LARGE_ICON, "chrome-search://large-icon/96/1/2", "96/", 1, 2},
|
| + {LARGE_ICON, "chrome-search://large-icon/1/3/4", "1/", 3, 4},
|
| + // Size restriction is *not* enforced during parsing, but later.
|
| + {LARGE_ICON, "chrome-search://large-icon/1000000/5/6", "1000000/", 5, 6},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/,,,,/1/2", ",,,,/", 1, 2},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/1,,,,/3/4", "1,,,,/", 3, 4},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/64,fff,black,0.4,0.6/5/6",
|
| + "64,fff,black,0.4,0.6/", 5, 6},
|
| + {THUMB, "chrome-search://thumb/1/2", "", 1, 2},
|
| };
|
| + for (size_t i = 0; i < arraysize(test_cases); ++i) {
|
| + std::string param_part = "(unwritten)";
|
| + int view_id = -1;
|
| + InstantRestrictedID rid = -1;
|
| + EXPECT_TRUE(ParseIconRestrictedUrl(GURL(test_cases[i].transient_url_str),
|
| + test_cases[i].type, ¶m_part, &view_id, &rid))
|
| + << " for test_cases[" << i << "]";
|
| + EXPECT_EQ(test_cases[i].expected_param_part, param_part)
|
| + << " for test_cases[" << i << "]";
|
| + EXPECT_EQ(test_cases[i].expected_view_id, view_id)
|
| + << " for test_cases[" << i << "]";
|
| + EXPECT_EQ(test_cases[i].expected_rid, rid)
|
| + << " for test_cases[" << i << "]";
|
| + }
|
| +}
|
|
|
| - InstantRestrictedID rid = 0;
|
| +TEST(SearchBoxUtilTest, ParseIconRestrictedUrlFailure) {
|
| + struct {
|
| + SearchBox::ImageSourceType type;
|
| + const char* transient_url_str;
|
| + } test_cases[] = {
|
| + {FAVICON, "chrome-search://favicon/"},
|
| + {FAVICON, "chrome-search://favicon/3/"},
|
| + {FAVICON, "chrome-search://favicon/size/3/4"},
|
| + {FAVICON, "chrome-search://favicon/largest/http://www.google.com"},
|
| + {FAVICON, "chrome-search://favicon/size/16@2x/-1/10"},
|
| + {LARGE_ICON, "chrome-search://large-icon/"},
|
| + {LARGE_ICON, "chrome-search://large-icon/3"},
|
| + {LARGE_ICON, "chrome-search://large-icon/3/4"},
|
| + {LARGE_ICON, "chrome-search://large-icon/-1/3/4"},
|
| + {LARGE_ICON, "chrome-search://large-icon/0/3/4"},
|
| + {LARGE_ICON, "chrome-search://large-icon/64/http://www.google.com"},
|
| + {LARGE_ICON, "chrome-search://large-icon/bad-size/3/4"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/3"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/3/4"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon//3/4"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/,,/3/4"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/bad-spec/3/4"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/-1,,,,/3/4"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/,junk,,,/3/4"},
|
| + // This case is a bit stringent. Since we always render fallback icons,
|
| + // search privider can't use this to probe user history. We'll consider
|
| + // relaxing the check if the need arises.
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/,,,,/http://www.google.com"},
|
| + {THUMB, "chrome-search://thumb"},
|
| + {THUMB, "chrome-search://thumb/"},
|
| + {THUMB, "chrome-search://thumb/123"},
|
| + {THUMB, "chrome-search://thumb/xyz"},
|
| + {THUMB, "chrome-search://thumb/123/"},
|
| + {THUMB, "chrome-search://thumb/123/xyz"},
|
| + {THUMB, "chrome-search://thumb/http://www.google.com"},
|
| + };
|
| for (size_t i = 0; i < arraysize(test_cases); ++i) {
|
| - bool return_val = GetRestrictedIDFromThumbnailUrl(
|
| - test_cases[i].render_view_id, test_cases[i].transient_url, &rid);
|
| - EXPECT_EQ(test_cases[i].expected_return_val, return_val);
|
| - EXPECT_EQ(test_cases[i].expected_rid, rid);
|
| - rid = 0;
|
| + std::string param_part = "(unwritten)";
|
| + int view_id = -1;
|
| + InstantRestrictedID rid = -1;
|
| + EXPECT_FALSE(ParseIconRestrictedUrl(GURL(test_cases[i].transient_url_str),
|
| + test_cases[i].type, ¶m_part, &view_id, &rid))
|
| + << " for test_cases[" << i << "]";
|
| + EXPECT_EQ("(unwritten)", param_part);
|
| + EXPECT_EQ(-1, view_id);
|
| + EXPECT_EQ(-1, rid);
|
| }
|
| }
|
|
|
| -TEST(SearchBoxUtilTest, ParseRestrictedFaviconTransientUrl) {
|
| - const int kInvalidRenderViewID = 920;
|
| - const int kValidRenderViewID = 1;
|
| +TEST(SearchBoxUtilTest, TranslateIconRestrictedUrlSuccess) {
|
| + struct {
|
| + SearchBox::ImageSourceType type;
|
| + const char* transient_url_str;
|
| + std::string expected_url_str;
|
| + } test_cases[] = {
|
| + {FAVICON, "chrome-search://favicon/137/1",
|
| + std::string("chrome-search://favicon/") + kUrlString1},
|
| + // FAVICON is permission: invalid input just yields default endpoint.
|
| + {FAVICON, "chrome-search://favicon/", "chrome-search://favicon/"},
|
| + {FAVICON, "chrome-search://favicon/314", "chrome-search://favicon/"},
|
| + {FAVICON, "chrome-search://favicon/314/1", "chrome-search://favicon/"},
|
| + {FAVICON, "chrome-search://favicon/137/255", "chrome-search://favicon/"},
|
| + {FAVICON, "chrome-search://favicon/-3/-1", "chrome-search://favicon/"},
|
| + {FAVICON, "chrome-search://favicon/invalidstuff",
|
| + "chrome-search://favicon/"},
|
| + {FAVICON, "chrome-search://favicon/size/16@2x/http://www.google.com",
|
| + "chrome-search://favicon/"},
|
| + // Other types of icons.
|
| + {LARGE_ICON, "chrome-search://large-icon/64/137/2",
|
| + std::string("chrome-search://large-icon/64/") + kUrlString2},
|
| + {LARGE_ICON, "chrome-search://large-icon/1/137/1",
|
| + std::string("chrome-search://large-icon/1/") + kUrlString1},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/,,,,/137/3",
|
| + std::string("chrome-search://fallback-icon/,,,,/") + kUrlString3},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/64,fff,,,1/137/1",
|
| + std::string("chrome-search://fallback-icon/64,fff,,,1/") + kUrlString1},
|
| + {THUMB, "chrome-search://thumb/137/3",
|
| + std::string("chrome-search://thumb/") + kUrlString3},
|
| + };
|
|
|
| - const struct {
|
| - int render_view_id;
|
| - GURL transient_url;
|
| - std::string expected_favicon_params;
|
| - InstantRestrictedID expected_rid;
|
| - bool expected_return_val;
|
| + MockIconURLHelper helper;
|
| + for (size_t i = 0; i < arraysize(test_cases); ++i) {
|
| + GURL url;
|
| + GURL transient_url(test_cases[i].transient_url_str);
|
| + EXPECT_TRUE(TranslateIconRestrictedUrl(transient_url, test_cases[i].type,
|
| + helper, &url))
|
| + << " for test_cases[" << i << "]";
|
| + EXPECT_EQ(GURL(test_cases[i].expected_url_str), url)
|
| + << " for test_cases[" << i << "]";
|
| + }
|
| +}
|
| +
|
| +// For Non-FAVICON only.
|
| +TEST(SearchBoxUtilTest, TranslateIconRestrictedUrlFailure) {
|
| + struct {
|
| + SearchBox::ImageSourceType type;
|
| + const char* transient_url_str;
|
| } test_cases[] = {
|
| - // RenderView ID matches the view id specified in the transient url.
|
| - {
|
| - kValidRenderViewID,
|
| - GURL("chrome-search://favicon/1/2"),
|
| - "",
|
| - 2,
|
| - true
|
| - },
|
| - {
|
| - kValidRenderViewID,
|
| - GURL("chrome-search://favicon/size/16@2x/1/2"),
|
| - "size/16@2x/",
|
| - 2,
|
| - true
|
| - },
|
| - {
|
| - kValidRenderViewID,
|
| - GURL("chrome-search://favicon/largest/1/2"),
|
| - "largest/",
|
| - 2,
|
| - true
|
| - },
|
| - {
|
| - kValidRenderViewID,
|
| - GURL("chrome-search://favicon/origin/1/2"),
|
| - "origin/",
|
| - 2,
|
| - true
|
| - },
|
| - {
|
| - kValidRenderViewID,
|
| - GURL("chrome-search://favicon/iconurl/1/2"),
|
| - "iconurl/",
|
| - 2,
|
| - true
|
| - },
|
| -
|
| - // RenderView ID does not match the view id specified in the transient url.
|
| - {
|
| - kInvalidRenderViewID,
|
| - GURL("chrome-search://favicon/1/2"),
|
| - "",
|
| - 0,
|
| - true
|
| - },
|
| - {
|
| - kInvalidRenderViewID,
|
| - GURL("chrome-search://favicon/size/16@2x/1/2"),
|
| - "size/16@2x/",
|
| - 0,
|
| - true
|
| - },
|
| - {
|
| - kInvalidRenderViewID,
|
| - GURL("chrome-search://favicon/largest/1/2"),
|
| - "largest/",
|
| - 0,
|
| - true
|
| - },
|
| - {
|
| - kInvalidRenderViewID,
|
| - GURL("chrome-search://favicon/origin/1/2"),
|
| - "origin/",
|
| - 0,
|
| - true
|
| - },
|
| - {
|
| - kInvalidRenderViewID,
|
| - GURL("chrome-search://favicon/iconurl/1/2"),
|
| - "iconurl/",
|
| - 0,
|
| - true
|
| - },
|
| -
|
| - // Invalid transient urls.
|
| - {
|
| - kValidRenderViewID,
|
| - GURL("chrome-search://favicon"),
|
| - "",
|
| - 0,
|
| - false
|
| - },
|
| - {
|
| - kValidRenderViewID,
|
| - GURL("chrome-search://favicon/"),
|
| - "",
|
| - 0,
|
| - false
|
| - },
|
| - {
|
| - kValidRenderViewID,
|
| - GURL("chrome-search://favicon/size/16@2x"),
|
| - "",
|
| - 0,
|
| - false
|
| - },
|
| - {
|
| - kValidRenderViewID,
|
| - GURL("chrome-search://favicon/size"),
|
| - "",
|
| - 0,
|
| - true
|
| - },
|
| - {
|
| - kValidRenderViewID,
|
| - GURL("chrome-search://favicon/size/16@2x/123"),
|
| - "size/16@2x/",
|
| - 0,
|
| - true
|
| - },
|
| - {
|
| - kValidRenderViewID,
|
| - GURL("chrome-search://favicon/size/16@2x/xyz"),
|
| - "size/16@2x/",
|
| - 0,
|
| - true
|
| - },
|
| - {
|
| - kValidRenderViewID,
|
| - GURL("chrome-search://favicon/size/16@2x/123/"),
|
| - "size/16@2x/",
|
| - 0,
|
| - true
|
| - },
|
| - {
|
| - kValidRenderViewID,
|
| - GURL("chrome-search://favicon/size/16@2x/123/xyz"),
|
| - "size/16@2x/",
|
| - 0,
|
| - true
|
| - },
|
| - {
|
| - kValidRenderViewID,
|
| - GURL("chrome-search://favicon/invalidparameter/16@2x/1/2"),
|
| - "",
|
| - 0,
|
| - true
|
| - }
|
| + // Empty.
|
| + {LARGE_ICON, "chrome-search://large-icon/"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/"},
|
| + {THUMB, "chrome-search://thumb/"},
|
| + // Bad view_id.
|
| + {LARGE_ICON, "chrome-search://large-icon/64/314/2"},
|
| + {LARGE_ICON, "chrome-search://large-icon/1/314/1"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/,,,,/314/3"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/64,fff,,,1/314/1"},
|
| + {THUMB, "chrome-search://thumb/314/1"},
|
| + // Missing rid.
|
| + {LARGE_ICON, "chrome-search://large-icon/64/137/"},
|
| + {LARGE_ICON, "chrome-search://large-icon/64/137/blah"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/,,,,/137/"},
|
| + {THUMB, "chrome-search://thumb/314/"},
|
| + // Bad params.
|
| + {LARGE_ICON, "chrome-search://large-icon/137/2"},
|
| + {LARGE_ICON, "chrome-search://large-icon//137/2"},
|
| + {LARGE_ICON, "chrome-search://large-icon/96"},
|
| + {LARGE_ICON, "chrome-search://large-icon/-1/137/2"},
|
| + {LARGE_ICON, "chrome-search://large-icon/blah/137/2"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/137/3"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon//137/3"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/-64,fff,,,1/137/3"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/springfront/137/3"},
|
| + // Use Page URL.
|
| + {LARGE_ICON, "chrome-search://large-icon/96/http://www.google.com"},
|
| + {FALLBACK_ICON, "chrome-search://fallback-icon/,,,,/http://www.google.com"},
|
| + {THUMB, "chrome-search://thumb/http://www.google.com"},
|
| };
|
|
|
| - std::string favicon_params = "";
|
| - InstantRestrictedID rid = 0;
|
| + MockIconURLHelper helper;
|
| for (size_t i = 0; i < arraysize(test_cases); ++i) {
|
| - bool return_val = GetRestrictedIDFromFaviconUrl(
|
| - test_cases[i].render_view_id,
|
| - test_cases[i].transient_url,
|
| - &favicon_params,
|
| - &rid);
|
| - EXPECT_EQ(test_cases[i].expected_return_val, return_val);
|
| - EXPECT_EQ(test_cases[i].expected_favicon_params, favicon_params);
|
| - EXPECT_EQ(test_cases[i].expected_rid, rid);
|
| - favicon_params = "";
|
| - rid = 0;
|
| + GURL url;
|
| + GURL transient_url(test_cases[i].transient_url_str);
|
| + EXPECT_FALSE(TranslateIconRestrictedUrl(transient_url, test_cases[i].type,
|
| + helper, &url))
|
| + << " for test_cases[" << i << "]";
|
| + EXPECT_TRUE(url.is_empty()) << " for test_cases[" << i << "]";
|
| }
|
| }
|
|
|
|
|