| Index: chrome/renderer/searchbox/searchbox_unittest.cc
|
| diff --git a/chrome/renderer/searchbox/searchbox_unittest.cc b/chrome/renderer/searchbox/searchbox_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d5856379380911fab9b3703de4bbc3b78db8d371
|
| --- /dev/null
|
| +++ b/chrome/renderer/searchbox/searchbox_unittest.cc
|
| @@ -0,0 +1,60 @@
|
| +// Copyright (c) 2013 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 "base/basictypes.h"
|
| +#include "chrome/common/instant_types.h"
|
| +#include "googleurl/src/gurl.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +
|
| +namespace internal {
|
| +
|
| +// Defined in searchbox_extension.cc
|
| +bool GetInstantRestrictedIDFromURL(int render_view_id,
|
| + const GURL& url,
|
| + InstantRestrictedID* id);
|
| +
|
| +TEST(SearchBoxUtilTest, GetInstantRestrictedIDFromTransientURL) {
|
| + const int kInvalidRenderViewID = 920;
|
| + const int kValidRenderViewID = 1;
|
| +
|
| + const struct {
|
| + int render_view_id;
|
| + GURL transient_url;
|
| + 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}
|
| + };
|
| +
|
| + InstantRestrictedID rid = 0;
|
| + for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) {
|
| + bool return_val = GetInstantRestrictedIDFromURL(
|
| + 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;
|
| + }
|
| +}
|
| +
|
| +} // namespace internal
|
|
|