Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8336)

Unified Diff: chrome/browser/webdata/web_intents_table_unittest.cc

Issue 9104018: Modify schema to include defaulting information. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add accessors, tests. Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
« chrome/browser/webdata/web_intents_table.cc ('K') | « chrome/browser/webdata/web_intents_table.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698