Commit 1afcfe80 authored by Xing Liu's avatar Xing Liu Committed by Commit Bot

Query tiles: Polish FakeTileService.

FakeTileService now post the callbacks. and invoke the callback for
StartFetchForTiles().

TBR=orinj@chromium.org

Bug: 1077913
Change-Id: I8d06ca1bee02e513ccf2a2cf1838b01004bdb81a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2198638
Commit-Queue: Xing Liu <xingliu@chromium.org>
Reviewed-by: default avatarShakti Sahu <shaktisahu@chromium.org>
Reviewed-by: default avatarMin Qin <qinmin@chromium.org>
Reviewed-by: default avatarHesen Zhang <hesen@chromium.org>
Reviewed-by: default avatarDavid Trainor <dtrainor@chromium.org>
Cr-Commit-Position: refs/heads/master@{#771245}
parent 2e1efe38
...@@ -29,8 +29,6 @@ class QueryTileProviderTest : public testing::Test, ...@@ -29,8 +29,6 @@ class QueryTileProviderTest : public testing::Test,
.WillRepeatedly(testing::Return(true)); .WillRepeatedly(testing::Return(true));
} }
void TearDown() override { task_environment_.RunUntilIdle(); }
AutocompleteInput CreateInput(const std::string& text) { AutocompleteInput CreateInput(const std::string& text) {
AutocompleteInput input(base::ASCIIToUTF16(text), AutocompleteInput input(base::ASCIIToUTF16(text),
metrics::OmniboxEventProto::OTHER, metrics::OmniboxEventProto::OTHER,
...@@ -42,6 +40,8 @@ class QueryTileProviderTest : public testing::Test, ...@@ -42,6 +40,8 @@ class QueryTileProviderTest : public testing::Test,
// AutocompleteProviderListener overrides. // AutocompleteProviderListener overrides.
void OnProviderUpdate(bool updated_matches) override {} void OnProviderUpdate(bool updated_matches) override {}
void RunUntilIdle() { task_environment_.RunUntilIdle(); }
base::test::TaskEnvironment task_environment_; base::test::TaskEnvironment task_environment_;
std::unique_ptr<FakeAutocompleteProviderClient> client_; std::unique_ptr<FakeAutocompleteProviderClient> client_;
scoped_refptr<QueryTileProvider> provider_; scoped_refptr<QueryTileProvider> provider_;
...@@ -60,6 +60,7 @@ QueryTileProviderTest::QueryTileProviderTest() ...@@ -60,6 +60,7 @@ QueryTileProviderTest::QueryTileProviderTest()
TEST_F(QueryTileProviderTest, TopLevelTilesShowOnZeroSuggest) { TEST_F(QueryTileProviderTest, TopLevelTilesShowOnZeroSuggest) {
auto input = CreateInput(std::string()); auto input = CreateInput(std::string());
provider_->Start(input, false); provider_->Start(input, false);
RunUntilIdle();
EXPECT_EQ(provider_->matches().size(), 1u); EXPECT_EQ(provider_->matches().size(), 1u);
auto match = provider_->matches().front(); auto match = provider_->matches().front();
...@@ -74,6 +75,8 @@ TEST_F(QueryTileProviderTest, SubTilesForSelectedTile) { ...@@ -74,6 +75,8 @@ TEST_F(QueryTileProviderTest, SubTilesForSelectedTile) {
auto input = CreateInput("News"); auto input = CreateInput("News");
input.set_query_tile_id("1"); input.set_query_tile_id("1");
provider_->Start(input, false); provider_->Start(input, false);
RunUntilIdle();
EXPECT_EQ(provider_->matches().size(), 1u); EXPECT_EQ(provider_->matches().size(), 1u);
auto match = provider_->matches().front(); auto match = provider_->matches().front();
EXPECT_EQ(match.type, AutocompleteMatchType::TILE_SUGGESTION); EXPECT_EQ(match.type, AutocompleteMatchType::TILE_SUGGESTION);
...@@ -86,6 +89,7 @@ TEST_F(QueryTileProviderTest, OmniboxTextNotMatchingSelectedTile) { ...@@ -86,6 +89,7 @@ TEST_F(QueryTileProviderTest, OmniboxTextNotMatchingSelectedTile) {
auto input = CreateInput("some text"); auto input = CreateInput("some text");
input.set_query_tile_id("1"); input.set_query_tile_id("1");
provider_->Start(input, false); provider_->Start(input, false);
RunUntilIdle();
EXPECT_TRUE(provider_->matches().empty()); EXPECT_TRUE(provider_->matches().empty());
} }
...@@ -95,6 +99,7 @@ TEST_F(QueryTileProviderTest, QueryTilesAreShownForURLInput) { ...@@ -95,6 +99,7 @@ TEST_F(QueryTileProviderTest, QueryTilesAreShownForURLInput) {
input.set_current_url(GURL(url)); input.set_current_url(GURL(url));
input.UpdateText(base::UTF8ToUTF16(url), 0, {}); input.UpdateText(base::UTF8ToUTF16(url), 0, {});
provider_->Start(input, false); provider_->Start(input, false);
RunUntilIdle();
EXPECT_EQ(provider_->matches().size(), 1u); EXPECT_EQ(provider_->matches().size(), 1u);
EXPECT_FALSE(provider_->matches().front().allowed_to_be_default_match); EXPECT_FALSE(provider_->matches().front().allowed_to_be_default_match);
} }
...@@ -113,6 +118,7 @@ TEST_F(QueryTileProviderTest, DefaultSearchProviderIsNotGoogle) { ...@@ -113,6 +118,7 @@ TEST_F(QueryTileProviderTest, DefaultSearchProviderIsNotGoogle) {
auto input = CreateInput(""); auto input = CreateInput("");
provider_->Start(input, false); provider_->Start(input, false);
RunUntilIdle();
EXPECT_TRUE(provider_->matches().empty()); EXPECT_TRUE(provider_->matches().empty());
// Restore Google as the default search provider. Now query tile suggestions // Restore Google as the default search provider. Now query tile suggestions
...@@ -120,6 +126,7 @@ TEST_F(QueryTileProviderTest, DefaultSearchProviderIsNotGoogle) { ...@@ -120,6 +126,7 @@ TEST_F(QueryTileProviderTest, DefaultSearchProviderIsNotGoogle) {
turl_model->SetUserSelectedDefaultSearchProvider( turl_model->SetUserSelectedDefaultSearchProvider(
const_cast<TemplateURL*>(google_search_provider)); const_cast<TemplateURL*>(google_search_provider));
provider_->Start(input, false); provider_->Start(input, false);
RunUntilIdle();
EXPECT_EQ(provider_->matches().size(), 1u); EXPECT_EQ(provider_->matches().size(), 1u);
EXPECT_EQ(provider_->matches().front().query_tiles.size(), 2u); EXPECT_EQ(provider_->matches().front().query_tiles.size(), 2u);
} }
...@@ -26,7 +26,6 @@ struct TileGroup; ...@@ -26,7 +26,6 @@ struct TileGroup;
// } // }
// } // }
// //
//
class TileIterator { class TileIterator {
public: public:
// Pass to |levels_| to iterates through all tiles. // Pass to |levels_| to iterates through all tiles.
......
...@@ -5,6 +5,9 @@ ...@@ -5,6 +5,9 @@
#include "components/query_tiles/test/fake_tile_service.h" #include "components/query_tiles/test/fake_tile_service.h"
#include <utility> #include <utility>
#include <vector>
#include "base/threading/thread_task_runner_handle.h"
namespace query_tiles { namespace query_tiles {
namespace { namespace {
...@@ -75,18 +78,24 @@ void FakeTileService::GetQueryTiles(GetTilesCallback callback) { ...@@ -75,18 +78,24 @@ void FakeTileService::GetQueryTiles(GetTilesCallback callback) {
for (auto& tile : tiles_) for (auto& tile : tiles_)
tiles.push_back(*tile.get()); tiles.push_back(*tile.get());
std::move(callback).Run(tiles); base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(std::move(callback), std::move(tiles)));
} }
void FakeTileService::GetTile(const std::string& tile_id, void FakeTileService::GetTile(const std::string& tile_id,
TileCallback callback) { TileCallback callback) {
auto tile = FindTile(tiles_, tile_id); auto tile = FindTile(tiles_, tile_id);
std::move(callback).Run(tile); base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(std::move(callback), std::move(tile)));
} }
void FakeTileService::StartFetchForTiles( void FakeTileService::StartFetchForTiles(
bool is_from_reduced_mode, bool is_from_reduced_mode,
BackgroundTaskFinishedCallback callback) {} BackgroundTaskFinishedCallback callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::BindOnce(std::move(callback), false /*need_reschedule*/));
}
void FakeTileService::CancelTask() {} void FakeTileService::CancelTask() {}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment