| OLD | NEW | 
|    1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 #include "base/file_util.h" |    5 #include "base/file_util.h" | 
 |    6 #include "base/json_reader.h" | 
|    6 #include "base/path_service.h" |    7 #include "base/path_service.h" | 
|    7 #include "base/string_util.h" |    8 #include "base/string_util.h" | 
|    8 #include "chrome/common/chrome_paths.h" |    9 #include "chrome/common/chrome_paths.h" | 
|    9 #include "chrome/common/render_messages.h" |   10 #include "chrome/common/render_messages.h" | 
|   10 #include "chrome/renderer/extensions/extension_process_bindings.h" |   11 #include "chrome/renderer/extensions/extension_process_bindings.h" | 
|   11 #include "chrome/renderer/extensions/renderer_extension_bindings.h" |   12 #include "chrome/renderer/extensions/renderer_extension_bindings.h" | 
|   12 #include "chrome/test/render_view_test.h" |   13 #include "chrome/test/render_view_test.h" | 
|   13 #include "testing/gtest/include/gtest/gtest.h" |   14 #include "testing/gtest/include/gtest/gtest.h" | 
|   14  |   15  | 
|   15 class ExtensionAPIClientTest : public RenderViewTest { |   16 class ExtensionAPIClientTest : public RenderViewTest { | 
| (...skipping 30 matching lines...) Expand all  Loading... | 
|   46                     const std::string& arg1) { |   47                     const std::string& arg1) { | 
|   47     ExecuteJavaScript(js.c_str()); |   48     ExecuteJavaScript(js.c_str()); | 
|   48     const IPC::Message* request_msg = |   49     const IPC::Message* request_msg = | 
|   49       render_thread_.sink().GetUniqueMessageMatching( |   50       render_thread_.sink().GetUniqueMessageMatching( | 
|   50           ViewHostMsg_ExtensionRequest::ID); |   51           ViewHostMsg_ExtensionRequest::ID); | 
|   51     ASSERT_EQ("", GetConsoleMessage()) << js; |   52     ASSERT_EQ("", GetConsoleMessage()) << js; | 
|   52     ASSERT_TRUE(request_msg) << js; |   53     ASSERT_TRUE(request_msg) << js; | 
|   53     ViewHostMsg_ExtensionRequest::Param params; |   54     ViewHostMsg_ExtensionRequest::Param params; | 
|   54     ViewHostMsg_ExtensionRequest::Read(request_msg, ¶ms); |   55     ViewHostMsg_ExtensionRequest::Read(request_msg, ¶ms); | 
|   55     ASSERT_EQ(function.c_str(), params.a) << js; |   56     ASSERT_EQ(function.c_str(), params.a) << js; | 
|   56     ASSERT_EQ(arg1.c_str(), params.b) << js; |   57      | 
 |   58     Value* args = NULL; | 
 |   59     ASSERT_TRUE(params.b.IsType(Value::TYPE_LIST)); | 
 |   60     ASSERT_TRUE(static_cast<const ListValue*>(¶ms.b)->Get(0, &args)); | 
 |   61  | 
 |   62     JSONReader reader; | 
 |   63     Value* arg1_value = reader.JsonToValue(arg1, false, false); | 
 |   64     ASSERT_TRUE(args->Equals(arg1_value)) << js; | 
|   57     render_thread_.sink().ClearMessages(); |   65     render_thread_.sink().ClearMessages(); | 
|   58   } |   66   } | 
|   59 }; |   67 }; | 
|   60  |   68  | 
|   61 // Tests that callback dispatching works correctly and that JSON is properly |   69 // Tests that callback dispatching works correctly and that JSON is properly | 
|   62 // deserialized before handing off to the extension code. We use the createTab |   70 // deserialized before handing off to the extension code. We use the createTab | 
|   63 // API here, but we could use any of them since they all dispatch callbacks the |   71 // API here, but we could use any of them since they all dispatch callbacks the | 
|   64 // same way. |   72 // same way. | 
|   65 TEST_F(ExtensionAPIClientTest, CallbackDispatching) { |   73 TEST_F(ExtensionAPIClientTest, CallbackDispatching) { | 
|   66   ExecuteJavaScript( |   74   ExecuteJavaScript( | 
| (...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  616  |  624  | 
|  617   ExpectJsFail("chrome.i18n.getMessage('name', [])", |  625   ExpectJsFail("chrome.i18n.getMessage('name', [])", | 
|  618                "Uncaught Error: Invalid value for argument 1. Value does not " |  626                "Uncaught Error: Invalid value for argument 1. Value does not " | 
|  619                "match any valid type choices."); |  627                "match any valid type choices."); | 
|  620  |  628  | 
|  621   ExpectJsFail("chrome.i18n.getMessage('name', ['p1', 'p2', 'p3', 'p4', 'p5', " |  629   ExpectJsFail("chrome.i18n.getMessage('name', ['p1', 'p2', 'p3', 'p4', 'p5', " | 
|  622                "'p6', 'p7', 'p8', 'p9', 'p10'])", |  630                "'p6', 'p7', 'p8', 'p9', 'p10'])", | 
|  623                "Uncaught Error: Invalid value for argument 1. Value does not " |  631                "Uncaught Error: Invalid value for argument 1. Value does not " | 
|  624                "match any valid type choices."); |  632                "match any valid type choices."); | 
|  625 } |  633 } | 
| OLD | NEW |