| Index: content/renderer/web_intents_host_browsertest.cc
|
| diff --git a/content/renderer/web_intents_host_browsertest.cc b/content/renderer/web_intents_host_browsertest.cc
|
| deleted file mode 100644
|
| index abe7adb865a4ee96b94d7b4890d1e8e964b0c2a7..0000000000000000000000000000000000000000
|
| --- a/content/renderer/web_intents_host_browsertest.cc
|
| +++ /dev/null
|
| @@ -1,123 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "base/gtest_prod_util.h"
|
| -#include "base/values.h"
|
| -#include "base/utf_string_conversions.h"
|
| -#include "content/common/intents_messages.h"
|
| -#include "content/public/renderer/v8_value_converter.h"
|
| -#include "content/public/test/render_view_test.h"
|
| -#include "content/renderer/render_view_impl.h"
|
| -#include "content/renderer/web_intents_host.h"
|
| -#include "third_party/WebKit/Source/WebKit/chromium/public/WebDeliveredIntentClient.h"
|
| -#include "third_party/WebKit/Source/WebKit/chromium/public/WebSerializedScriptValue.h"
|
| -#include "webkit/glue/web_intent_data.h"
|
| -
|
| -namespace content {
|
| -
|
| -class WebIntentsHostTest : public RenderViewTest {
|
| - protected:
|
| - RenderViewImpl* view() { return static_cast<RenderViewImpl*>(view_); }
|
| - WebIntentsHost* web_intents_host() { return view()->intents_host_; }
|
| -
|
| - void SetIntentData(const webkit_glue::WebIntentData& data) {
|
| - web_intents_host()->OnSetIntent(data);
|
| - }
|
| -
|
| - base::DictionaryValue* ParseValueFromReply(const IPC::Message* reply_msg) {
|
| - IntentsHostMsg_WebIntentReply::Param reply_params;
|
| - IntentsHostMsg_WebIntentReply::Read(reply_msg, &reply_params);
|
| - WebKit::WebSerializedScriptValue serialized_data =
|
| - WebKit::WebSerializedScriptValue::fromString(reply_params.a.data);
|
| -
|
| - v8::HandleScope scope;
|
| - v8::Local<v8::Context> ctx = GetMainFrame()->mainWorldScriptContext();
|
| - v8::Context::Scope cscope(ctx);
|
| - v8::Handle<v8::Value> v8_val = serialized_data.deserialize();
|
| - scoped_ptr<V8ValueConverter> converter(V8ValueConverter::create());
|
| - base::Value* reply = converter->FromV8Value(v8_val, ctx);
|
| - EXPECT_TRUE(reply->IsType(base::Value::TYPE_DICTIONARY));
|
| - base::DictionaryValue* dict = NULL;
|
| - reply->GetAsDictionary(&dict);
|
| - return dict;
|
| - }
|
| -};
|
| -
|
| -TEST_F(WebIntentsHostTest, TestUnserialized) {
|
| - webkit_glue::WebIntentData data(ASCIIToUTF16("action"), ASCIIToUTF16("type"),
|
| - ASCIIToUTF16("unserialized data"));
|
| - SetIntentData(data);
|
| -
|
| - LoadHTML("<html>"
|
| - "<head><script>\n"
|
| - "var d = {};\n"
|
| - "d.action = window.webkitIntent.action;\n"
|
| - "d.type = window.webkitIntent.type;\n"
|
| - "d.data = window.webkitIntent.data;\n"
|
| - "window.webkitIntent.postResult(d);\n"
|
| - "</script></head>"
|
| - "<body>body</body></html>");
|
| -
|
| - const IPC::Message* reply_msg =
|
| - render_thread_->sink().GetUniqueMessageMatching(
|
| - IntentsHostMsg_WebIntentReply::ID);
|
| - ASSERT_TRUE(reply_msg);
|
| - scoped_ptr<base::DictionaryValue> dict(ParseValueFromReply(reply_msg));
|
| -
|
| - std::string reply_action;
|
| - dict->GetStringASCII(std::string("action"), &reply_action);
|
| - EXPECT_EQ("action", reply_action);
|
| - std::string reply_type;
|
| - dict->GetStringASCII(std::string("type"), &reply_type);
|
| - EXPECT_EQ("type", reply_type);
|
| - std::string reply_data;
|
| - dict->GetStringASCII(std::string("data"), &reply_data);
|
| - EXPECT_EQ("unserialized data", reply_data);
|
| -}
|
| -
|
| -TEST_F(WebIntentsHostTest, TestVector) {
|
| - webkit_glue::WebIntentData data(ASCIIToUTF16("action"), ASCIIToUTF16("type"));
|
| - DictionaryValue* d1 = new DictionaryValue;
|
| - d1->SetString(std::string("key1"), std::string("val1"));
|
| - data.mime_data.Append(d1);
|
| - DictionaryValue* d2 = new DictionaryValue;
|
| - d2->SetString(std::string("key2"), std::string("val2"));
|
| - data.mime_data.Append(d2);
|
| - SetIntentData(data);
|
| -
|
| - LoadHTML("<html>"
|
| - "<head><script>\n"
|
| - "var d = {};\n"
|
| - "d.action = window.webkitIntent.action;\n"
|
| - "d.type = window.webkitIntent.type;\n"
|
| - "d.data = window.webkitIntent.data;\n"
|
| - "window.webkitIntent.postResult(d);\n"
|
| - "</script></head>"
|
| - "<body>body</body></html>");
|
| -
|
| - const IPC::Message* reply_msg =
|
| - render_thread_->sink().GetUniqueMessageMatching(
|
| - IntentsHostMsg_WebIntentReply::ID);
|
| - ASSERT_TRUE(reply_msg);
|
| - scoped_ptr<base::DictionaryValue> dict(ParseValueFromReply(reply_msg));
|
| -
|
| - base::ListValue* payload;
|
| - ASSERT_TRUE(dict->GetList("data", &payload));
|
| - EXPECT_EQ(2U, payload->GetSize());
|
| -
|
| - base::DictionaryValue* v1 = NULL;
|
| - ASSERT_TRUE(payload->GetDictionary(0, &v1));
|
| - DCHECK(v1);
|
| - std::string val1;
|
| - ASSERT_TRUE(v1->GetStringASCII(std::string("key1"), &val1));
|
| - EXPECT_EQ("val1", val1);
|
| -
|
| - base::DictionaryValue* v2 = NULL;
|
| - ASSERT_TRUE(payload->GetDictionary(1, &v2));
|
| - std::string val2;
|
| - v2->GetStringASCII(std::string("key2"), &val2);
|
| - EXPECT_EQ("val2", val2);
|
| -}
|
| -
|
| -} // namespace content
|
|
|