| Index: chrome/renderer/extensions/messaging_utils_unittest.cc
|
| diff --git a/chrome/renderer/extensions/messaging_utils_unittest.cc b/chrome/renderer/extensions/messaging_utils_unittest.cc
|
| deleted file mode 100644
|
| index 563925fe7550cd2a6cbad38e50abc46d9dca04da..0000000000000000000000000000000000000000
|
| --- a/chrome/renderer/extensions/messaging_utils_unittest.cc
|
| +++ /dev/null
|
| @@ -1,197 +0,0 @@
|
| -// Copyright 2013 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/strings/stringprintf.h"
|
| -#include "chrome/test/base/module_system_test.h"
|
| -#include "grit/extensions_renderer_resources.h"
|
| -
|
| -namespace extensions {
|
| -namespace {
|
| -
|
| -class MessagingUtilsUnittest : public ModuleSystemTest {
|
| - protected:
|
| - void RegisterTestModule(const char* code) {
|
| - env()->RegisterModule(
|
| - "test",
|
| - base::StringPrintf(
|
| - "var assert = requireNative('assert');\n"
|
| - "var AssertTrue = assert.AssertTrue;\n"
|
| - "var AssertFalse = assert.AssertFalse;\n"
|
| - "var messagingUtils = require('messaging_utils');\n"
|
| - "%s",
|
| - code));
|
| - }
|
| -
|
| - private:
|
| - virtual void SetUp() OVERRIDE {
|
| - ModuleSystemTest::SetUp();
|
| -
|
| - env()->RegisterModule("messaging_utils", IDR_MESSAGING_UTILS_JS);
|
| - }
|
| -
|
| -};
|
| -
|
| -TEST_F(MessagingUtilsUnittest, TestNothing) {
|
| - ExpectNoAssertionsMade();
|
| -}
|
| -
|
| -TEST_F(MessagingUtilsUnittest, NoArguments) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(
|
| - env()->module_system());
|
| - RegisterTestModule(
|
| - "var args = messagingUtils.alignSendMessageArguments();\n"
|
| - "AssertTrue(args === null);");
|
| - env()->module_system()->Require("test");
|
| -}
|
| -
|
| -TEST_F(MessagingUtilsUnittest, ZeroArguments) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(
|
| - env()->module_system());
|
| - RegisterTestModule(
|
| - "var args = messagingUtils.alignSendMessageArguments([]);"
|
| - "AssertTrue(args === null);");
|
| - env()->module_system()->Require("test");
|
| -}
|
| -
|
| -TEST_F(MessagingUtilsUnittest, TooManyArgumentsNoOptions) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(
|
| - env()->module_system());
|
| - RegisterTestModule(
|
| - "var args = messagingUtils.alignSendMessageArguments(\n"
|
| - " ['a', 'b', 'c', 'd']);\n"
|
| - "AssertTrue(args === null);");
|
| - env()->module_system()->Require("test");
|
| -}
|
| -
|
| -TEST_F(MessagingUtilsUnittest, TooManyArgumentsWithOptions) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(
|
| - env()->module_system());
|
| - RegisterTestModule(
|
| - "var args = messagingUtils.alignSendMessageArguments(\n"
|
| - " ['a', 'b', 'c', 'd', 'e'], true);\n"
|
| - "AssertTrue(args === null);");
|
| - env()->module_system()->Require("test");
|
| -}
|
| -
|
| -TEST_F(MessagingUtilsUnittest, FinalArgumentIsNotAFunctionNoOptions) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(
|
| - env()->module_system());
|
| - RegisterTestModule(
|
| - "var args = messagingUtils.alignSendMessageArguments(\n"
|
| - " ['a', 'b', 'c']);\n"
|
| - "AssertTrue(args === null);");
|
| - env()->module_system()->Require("test");
|
| -}
|
| -
|
| -TEST_F(MessagingUtilsUnittest, FinalArgumentIsNotAFunctionWithOptions) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(
|
| - env()->module_system());
|
| - RegisterTestModule(
|
| - "var args = messagingUtils.alignSendMessageArguments(\n"
|
| - " ['a', 'b', 'c', 'd'], true);\n"
|
| - "AssertTrue(args === null);");
|
| - env()->module_system()->Require("test");
|
| -}
|
| -
|
| -TEST_F(MessagingUtilsUnittest, OneStringArgument) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(
|
| - env()->module_system());
|
| - // Because the request argument is required, a single argument must get
|
| - // mapped to it rather than to the optional targetId argument.
|
| - RegisterTestModule(
|
| - "var args = messagingUtils.alignSendMessageArguments(['a']);\n"
|
| - "AssertTrue(args.length == 3);\n"
|
| - "AssertTrue(args[0] === null);\n"
|
| - "AssertTrue(args[1] == 'a');\n"
|
| - "AssertTrue(args[2] === null);");
|
| - env()->module_system()->Require("test");
|
| -}
|
| -
|
| -TEST_F(MessagingUtilsUnittest, OneStringAndOneNullArgument) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(
|
| - env()->module_system());
|
| - // Explicitly specifying null as the request is allowed.
|
| - RegisterTestModule(
|
| - "var args = messagingUtils.alignSendMessageArguments(['a', null]);\n"
|
| - "AssertTrue(args.length == 3);\n"
|
| - "AssertTrue(args[0] == 'a');\n"
|
| - "AssertTrue(args[1] === null);\n"
|
| - "AssertTrue(args[2] === null);");
|
| - env()->module_system()->Require("test");
|
| -}
|
| -
|
| -TEST_F(MessagingUtilsUnittest, OneNullAndOneStringArgument) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(
|
| - env()->module_system());
|
| - RegisterTestModule(
|
| - "var args = messagingUtils.alignSendMessageArguments([null, 'a']);\n"
|
| - "AssertTrue(args.length == 3);\n"
|
| - "AssertTrue(args[0] === null);\n"
|
| - "AssertTrue(args[1] == 'a');\n"
|
| - "AssertTrue(args[2] === null);");
|
| - env()->module_system()->Require("test");
|
| -}
|
| -
|
| -TEST_F(MessagingUtilsUnittest, OneStringAndOneFunctionArgument) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(
|
| - env()->module_system());
|
| - // When the arguments are a string and a function, the function is
|
| - // unambiguously the responseCallback. Because the request argument is
|
| - // required, the remaining argument must get mapped to it rather than to the
|
| - // optional targetId argument.
|
| - RegisterTestModule(
|
| - "var cb = function() {};\n"
|
| - "var args = messagingUtils.alignSendMessageArguments(['a', cb]);\n"
|
| - "AssertTrue(args.length == 3);\n"
|
| - "AssertTrue(args[0] === null);\n"
|
| - "AssertTrue(args[1] == 'a');\n"
|
| - "AssertTrue(args[2] == cb);");
|
| - env()->module_system()->Require("test");
|
| -}
|
| -
|
| -TEST_F(MessagingUtilsUnittest, OneStringAndOneObjectArgument) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(
|
| - env()->module_system());
|
| - // This tests an ambiguous set of arguments when options are present:
|
| - // chrome.runtime.sendMessage('target', {'msg': 'this is a message'});
|
| - // vs.
|
| - // chrome.runtime.sendMessage('request', {'includeTlsChannelId': true});
|
| - //
|
| - // The question is whether the string should map to the target and the
|
| - // dictionary to the message, or whether the string should map to the message
|
| - // and the dictionary to the options. Because the target and message arguments
|
| - // predate the options argument, we bind the string in this case to the
|
| - // targetId.
|
| - RegisterTestModule(
|
| - "var obj = {'b': true};\n"
|
| - "var args = messagingUtils.alignSendMessageArguments(['a', obj], true);\n"
|
| - "AssertTrue(args.length == 4);\n"
|
| - "AssertTrue(args[0] == 'a');\n"
|
| - "AssertTrue(args[1] == obj);\n"
|
| - "AssertTrue(args[2] === null);\n"
|
| - "AssertTrue(args[3] === null);");
|
| - env()->module_system()->Require("test");
|
| -}
|
| -
|
| -TEST_F(MessagingUtilsUnittest, TwoObjectArguments) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(
|
| - env()->module_system());
|
| - // When two non-string arguments are provided and options are present, the
|
| - // two arguments must match request and options, respectively, because
|
| - // targetId must be a string.
|
| - RegisterTestModule(
|
| - "var obj1 = {'a': 'foo'};\n"
|
| - "var obj2 = {'b': 'bar'};\n"
|
| - "var args = messagingUtils.alignSendMessageArguments(\n"
|
| - " [obj1, obj2], true);\n"
|
| - "AssertTrue(args.length == 4);\n"
|
| - "AssertTrue(args[0] === null);\n"
|
| - "AssertTrue(args[1] == obj1);\n"
|
| - "AssertTrue(args[2] == obj2);\n"
|
| - "AssertTrue(args[3] === null);");
|
| - env()->module_system()->Require("test");
|
| -}
|
| -
|
| -} // namespace
|
| -} // namespace extensions
|
|
|