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,
.WillRepeatedly(testing::Return(true));
}
void TearDown() override { task_environment_.RunUntilIdle(); }
AutocompleteInput CreateInput(const std::string& text) {
AutocompleteInput input(base::ASCIIToUTF16(text),
metrics::OmniboxEventProto::OTHER,
......@@ -42,6 +40,8 @@ class QueryTileProviderTest : public testing::Test,
// AutocompleteProviderListener overrides.
void OnProviderUpdate(bool updated_matches) override {}
void RunUntilIdle() { task_environment_.RunUntilIdle(); }
base::test::TaskEnvironment task_environment_;
std::unique_ptr<FakeAutocompleteProviderClient> client_;
scoped_refptr<QueryTileProvider> provider_;
......@@ -60,6 +60,7 @@ QueryTileProviderTest::QueryTileProviderTest()
TEST_F(QueryTileProviderTest, TopLevelTilesShowOnZeroSuggest) {
auto input = CreateInput(std::string());
provider_->Start(input, false);
RunUntilIdle();
EXPECT_EQ(provider_->matches().size(), 1u);
auto match = provider_->matches().front();
......@@ -74,6 +75,8 @@ TEST_F(QueryTileProviderTest, SubTilesForSelectedTile) {
auto input = CreateInput("News");
input.set_query_tile_id("1");
provider_->Start(input, false);
RunUntilIdle();
EXPECT_EQ(provider_->matches().size(), 1u);
auto match = provider_->matches().front();
EXPECT_EQ(match.type, AutocompleteMatchType::TILE_SUGGESTION);
......@@ -86,6 +89,7 @@ TEST_F(QueryTileProviderTest, OmniboxTextNotMatchingSelectedTile) {
auto input = CreateInput("some text");
input.set_query_tile_id("1");
provider_->Start(input, false);
RunUntilIdle();
EXPECT_TRUE(provider_->matches().empty());
}
......@@ -95,6 +99,7 @@ TEST_F(QueryTileProviderTest, QueryTilesAreShownForURLInput) {
input.set_current_url(GURL(url));
input.UpdateText(base::UTF8ToUTF16(url), 0, {});
provider_->Start(input, false);
RunUntilIdle();
EXPECT_EQ(provider_->matches().size(), 1u);
EXPECT_FALSE(provider_->matches().front().allowed_to_be_default_match);
}
......@@ -113,6 +118,7 @@ TEST_F(QueryTileProviderTest, DefaultSearchProviderIsNotGoogle) {
auto input = CreateInput("");
provider_->Start(input, false);
RunUntilIdle();
EXPECT_TRUE(provider_->matches().empty());
// Restore Google as the default search provider. Now query tile suggestions
......@@ -120,6 +126,7 @@ TEST_F(QueryTileProviderTest, DefaultSearchProviderIsNotGoogle) {
turl_model->SetUserSelectedDefaultSearchProvider(
const_cast<TemplateURL*>(google_search_provider));
provider_->Start(input, false);
RunUntilIdle();
EXPECT_EQ(provider_->matches().size(), 1u);
EXPECT_EQ(provider_->matches().front().query_tiles.size(), 2u);
}
......@@ -26,7 +26,6 @@ struct TileGroup;
// }
// }
//
//
class TileIterator {
public:
// Pass to |levels_| to iterates through all tiles.
......
......@@ -5,6 +5,9 @@
#include "components/query_tiles/test/fake_tile_service.h"
#include <utility>
#include <vector>
#include "base/threading/thread_task_runner_handle.h"
namespace query_tiles {
namespace {
......@@ -75,18 +78,24 @@ void FakeTileService::GetQueryTiles(GetTilesCallback callback) {
for (auto& tile : tiles_)
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,
TileCallback callback) {
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(
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() {}
......
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