| Index: chrome/browser/webdata/web_intents_table_unittest.cc
|
| diff --git a/chrome/browser/webdata/web_intents_table_unittest.cc b/chrome/browser/webdata/web_intents_table_unittest.cc
|
| index 32edcd06a0da614935b9bb7c4eb9c5e823fc8eda..5aadb33268ea03fe420527adceed3e9516900ad0 100644
|
| --- a/chrome/browser/webdata/web_intents_table_unittest.cc
|
| +++ b/chrome/browser/webdata/web_intents_table_unittest.cc
|
| @@ -3,11 +3,14 @@
|
| // found in the LICENSE file.
|
|
|
| #include <algorithm>
|
| +#include <string>
|
| +#include <vector>
|
|
|
| #include "base/file_util.h"
|
| #include "base/scoped_temp_dir.h"
|
| #include "base/string16.h"
|
| #include "base/utf_string_conversions.h"
|
| +#include "chrome/browser/intents/default_intent_service.h"
|
| #include "chrome/browser/webdata/web_database.h"
|
| #include "chrome/browser/webdata/web_intents_table.h"
|
| #include "chrome/common/chrome_paths.h"
|
| @@ -182,4 +185,112 @@ TEST_F(WebIntentsTableTest, GetByURL) {
|
| ASSERT_EQ(2U, intents.size());
|
| }
|
|
|
| +TEST_F(WebIntentsTableTest, DefaultServices) {
|
| + DefaultIntentService default_service;
|
| + default_service.action = ASCIIToUTF16("action");
|
| + default_service.type = ASCIIToUTF16("mime/type");
|
| + default_service.url_prefix = "url_prefix";
|
| + default_service.user_date = 1;
|
| + default_service.suppression = 4;
|
| + default_service.service_url = "service_url";
|
| + default_service.extension_url = "extension_url";
|
| +
|
| + ASSERT_TRUE(IntentsTable()->SetDefaultService(default_service));
|
| +
|
| + std::vector<DefaultIntentService> defaults;
|
| + ASSERT_TRUE(IntentsTable()->GetDefaultServices(
|
| + ASCIIToUTF16("no_action"), ASCIIToUTF16("mime/type"), "url_prefix",
|
| + &defaults));
|
| + EXPECT_EQ(0U, defaults.size());
|
| +
|
| + ASSERT_TRUE(IntentsTable()->GetDefaultServices(
|
| + ASCIIToUTF16("action"), ASCIIToUTF16("mime/notype"), "url_prefix",
|
| + &defaults));
|
| + EXPECT_EQ(0U, defaults.size());
|
| +
|
| + ASSERT_TRUE(IntentsTable()->GetDefaultServices(
|
| + ASCIIToUTF16("action"), ASCIIToUTF16("mime/type"), "no_url_prefix",
|
| + &defaults));
|
| + EXPECT_EQ(0U, defaults.size());
|
| +
|
| + ASSERT_TRUE(IntentsTable()->GetDefaultServices(
|
| + ASCIIToUTF16("action"), ASCIIToUTF16("mime/type"), "url_prefix",
|
| + &defaults));
|
| +
|
| + ASSERT_EQ(1U, defaults.size());
|
| + EXPECT_EQ(ASCIIToUTF16("action"), defaults[0].action);
|
| + EXPECT_EQ(ASCIIToUTF16("mime/type"), defaults[0].type);
|
| + EXPECT_EQ("url_prefix", defaults[0].url_prefix);
|
| + EXPECT_EQ(1, defaults[0].user_date);
|
| + EXPECT_EQ(4, defaults[0].suppression);
|
| + EXPECT_EQ("service_url", defaults[0].service_url);
|
| + EXPECT_EQ("extension_url", defaults[0].extension_url);
|
| +}
|
| +
|
| +TEST_F(WebIntentsTableTest, TestDefaultMimeTypes) {
|
| + DefaultIntentService default_service;
|
| + default_service.action = ASCIIToUTF16("action");
|
| + default_service.type = ASCIIToUTF16("mime/type1");
|
| + default_service.url_prefix = "url_prefix";
|
| + default_service.user_date = 1;
|
| + default_service.suppression = 4;
|
| + default_service.service_url = "service_url";
|
| + default_service.extension_url = "extension_url";
|
| + ASSERT_TRUE(IntentsTable()->SetDefaultService(default_service));
|
| +
|
| + default_service.type = ASCIIToUTF16("mime/*");
|
| + default_service.service_url = "service_url_star";
|
| + ASSERT_TRUE(IntentsTable()->SetDefaultService(default_service));
|
| +
|
| + std::vector<DefaultIntentService> defaults;
|
| + ASSERT_TRUE(IntentsTable()->GetDefaultServices(
|
| + ASCIIToUTF16("action"), ASCIIToUTF16("mime/type"), "url_prefix",
|
| + &defaults));
|
| + ASSERT_EQ(1U, defaults.size());
|
| + EXPECT_EQ("service_url_star", defaults[0].service_url);
|
| +
|
| + defaults.clear();
|
| + ASSERT_TRUE(IntentsTable()->GetDefaultServices(
|
| + ASCIIToUTF16("action"), ASCIIToUTF16("mime/type1"), "url_prefix",
|
| + &defaults));
|
| + ASSERT_EQ(2U, defaults.size());
|
| +
|
| + defaults.clear();
|
| + ASSERT_TRUE(IntentsTable()->GetDefaultServices(
|
| + ASCIIToUTF16("action"), ASCIIToUTF16("mime/type1;type=k"),
|
| + "url_prefix", &defaults));
|
| + ASSERT_EQ(2U, defaults.size());
|
| +}
|
| +
|
| +TEST_F(WebIntentsTableTest, TestUrlPrefixDefaults) {
|
| + DefaultIntentService default_service;
|
| + default_service.action = ASCIIToUTF16("action");
|
| + default_service.type = ASCIIToUTF16("mime/type1");
|
| + default_service.url_prefix = "url_prefix";
|
| + default_service.user_date = 1;
|
| + default_service.suppression = 4;
|
| + default_service.service_url = "service_url";
|
| + default_service.extension_url = "extension_url";
|
| + ASSERT_TRUE(IntentsTable()->SetDefaultService(default_service));
|
| +
|
| + std::vector<DefaultIntentService> defaults;
|
| + ASSERT_TRUE(IntentsTable()->GetDefaultServices(
|
| + ASCIIToUTF16("action"), ASCIIToUTF16("mime/type1"), "url_not_prefix",
|
| + &defaults));
|
| + ASSERT_EQ(0U, defaults.size());
|
| +
|
| + defaults.clear();
|
| + ASSERT_TRUE(IntentsTable()->GetDefaultServices(
|
| + ASCIIToUTF16("action"), ASCIIToUTF16("mime/type1"), "url_prefix_abc",
|
| + &defaults));
|
| + ASSERT_EQ(1U, defaults.size());
|
| +
|
| + defaults.clear();
|
| + ASSERT_TRUE(IntentsTable()->GetDefaultServices(
|
| + ASCIIToUTF16("action"), ASCIIToUTF16("mime/type1"), "url_prefix_xyz",
|
| + &defaults));
|
| + ASSERT_EQ(1U, defaults.size());
|
| +}
|
| +
|
| +
|
| } // namespace
|
|
|