| Index: chrome/browser/autocomplete/bookmark_provider_unittest.cc
|
| ===================================================================
|
| --- chrome/browser/autocomplete/bookmark_provider_unittest.cc (revision 0)
|
| +++ chrome/browser/autocomplete/bookmark_provider_unittest.cc (revision 0)
|
| @@ -0,0 +1,96 @@
|
| +#include "chrome/browser/autocomplete/bookmark_provider.h"
|
| +
|
| +#include "base/memory/ref_counted.h"
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "base/utf_string_conversions.h"
|
| +#include "chrome/browser/autocomplete/autocomplete_provider.h"
|
| +#include "chrome/browser/autocomplete/autocomplete_provider_listener.h"
|
| +#include "chrome/browser/bookmarks/bookmark_model.h"
|
| +#include "chrome/browser/bookmarks/bookmark_model_factory.h"
|
| +#include "chrome/test/base/testing_profile.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +
|
| +class BookmarkProviderTest : public testing::Test,
|
| + public AutocompleteProviderListener {
|
| + public:
|
| + BookmarkProviderTest() : model_(new BookmarkModel(NULL)) {}
|
| +
|
| + // AutocompleteProviderListener: Not called.
|
| + virtual void OnProviderUpdate(bool updated_matches) OVERRIDE {}
|
| +
|
| + protected:
|
| + virtual void SetUp() OVERRIDE;
|
| + virtual void TearDown() OVERRIDE;
|
| +
|
| + // Initializes test data.
|
| + void AddBookmarksWithTitles(const char** titles, size_t count);
|
| + void AddBookmarksWithTitles(const std::vector<std::string>& titles);
|
| +
|
| + scoped_ptr<TestingProfile> profile_;
|
| + scoped_ptr<BookmarkModel> model_;
|
| + scoped_refptr<BookmarkProvider> provider_;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(BookmarkProviderTest);
|
| +};
|
| +
|
| +void BookmarkProviderTest::SetUp() {
|
| + profile_.reset(new TestingProfile());
|
| + DCHECK(profile_.get());
|
| + provider_ = new BookmarkProvider(this, profile_.get());
|
| + DCHECK(provider_);
|
| + provider_->set_bookmark_model_for_testing(model_.get());
|
| +}
|
| +
|
| +void BookmarkProviderTest::TearDown() {
|
| +}
|
| +
|
| +void BookmarkProviderTest::AddBookmarksWithTitles(const char** titles,
|
| + size_t count) {
|
| + std::vector<std::string> title_vector;
|
| + for (size_t i = 0; i < count; ++i)
|
| + title_vector.push_back(titles[i]);
|
| + AddBookmarksWithTitles(title_vector);
|
| +}
|
| +
|
| +void BookmarkProviderTest::AddBookmarksWithTitles(
|
| + const std::vector<std::string>& titles) {
|
| + GURL url("about:blank");
|
| + for (size_t i = 0; i < titles.size(); ++i)
|
| + model_->AddURL(model_->other_node(), static_cast<int>(i),
|
| + ASCIIToUTF16(titles[i]), url);
|
| +}
|
| +
|
| +TEST_F(BookmarkProviderTest, Positions) {
|
| + const char* test_data[] = {
|
| + "abc def",
|
| + "abcde",
|
| + };
|
| + AddBookmarksWithTitles(test_data, ARRAYSIZE_UNSAFE(test_data));
|
| +
|
| + struct QueryData {
|
| + const std::string query;
|
| + const size_t match_count;
|
| + const size_t positions[3][2];
|
| + } query_data[] = {
|
| + // Trivial test case of only one term, exact match.
|
| + { "abc", 1, {{0,1},{2,3},{0,0}} },
|
| + { "foo bar", 0, {{0,1},{2,3},{0,0}} },
|
| + { "fooey bark", 0, {{0,1},{2,3},{0,0}} },
|
| + };
|
| +
|
| + for (size_t i = 0; i < ARRAYSIZE_UNSAFE(query_data); ++i) {
|
| + // WHAT???
|
| + AutocompleteInput input(ASCIIToUTF16(query_data[i].query),
|
| + ASCIIToUTF16("N/A"), false, false, false,
|
| + AutocompleteInput::ALL_MATCHES);
|
| + provider_->Start(input, false);
|
| + const ACMatches& matches(provider_->matches());
|
| + // Validate number of results is as expected.
|
| + EXPECT_EQ(query_data[i].match_count, matches.size());
|
| + // Validate positions within each result is as expected.
|
| +#if 0
|
| + ExpectClassificationsEqual(matches, { { 0, 1 }, { 3, 5} });
|
| +#endif
|
| + }
|
| +}
|
|
|
| Property changes on: chrome/browser/autocomplete/bookmark_provider_unittest.cc
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|