1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/strings/utf_string_conversions.h"
6 #include "content/public/common/context_menu_params.h"
7 #include "content/renderer/render_view_impl.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9 #include "ui/gfx/range/range.h"
13 TEST(RenderViewImplTest
, ShouldUpdateSelectionTextFromContextMenuParams
) {
15 const char* selection_text
;
16 size_t selection_text_offset
;
17 gfx::Range selection_range
;
18 const char* params_selection_text
;
21 { "test", 0, gfx::Range(0, 4), "test", false },
22 { "zebestest", 0, gfx::Range(2, 6), "best", false },
23 { "zebestest", 2, gfx::Range(2, 6), "best", true },
24 { "test", 0, gfx::Range(0, 4), "hello", true },
25 { "best test", 0, gfx::Range(0, 4), "best ", false },
26 { "best test", 0, gfx::Range(0, 5), "best", false },
29 ContextMenuParams params
;
30 for (size_t i
= 0; i
< ARRAYSIZE_UNSAFE(cases
); ++i
) {
31 params
.selection_text
= UTF8ToUTF16(cases
[i
].params_selection_text
);
32 EXPECT_EQ(cases
[i
].expected_result
,
33 RenderViewImpl::ShouldUpdateSelectionTextFromContextMenuParams(
34 UTF8ToUTF16(cases
[i
].selection_text
),
35 cases
[i
].selection_text_offset
,
36 cases
[i
].selection_range
,
41 } // namespace content