| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "gtest/gtest.h" | 5 #include "gtest/gtest.h" |
| 6 #include "gmock/gmock.h" | 6 #include "gmock/gmock.h" |
| 7 #include "chrome_frame/chrome_frame_automation.h" | 7 #include "chrome_frame/chrome_frame_automation.h" |
| 8 #include "chrome_frame/chrome_frame_npapi.h" | 8 #include "chrome_frame/chrome_frame_npapi.h" |
| 9 #include "chrome_frame/ff_privilege_check.h" | 9 #include "chrome_frame/ff_privilege_check.h" |
| 10 | 10 |
| 11 TEST(ChromeFrameNPAPI, DoesNotCrashOnConstruction) { | 11 TEST(ChromeFrameNPAPI, DoesNotCrashOnConstruction) { |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 72 return mock_automation_client_; | 72 return mock_automation_client_; |
| 73 } | 73 } |
| 74 | 74 |
| 75 ChromeFrameAutomationClient* mock_automation_client_; | 75 ChromeFrameAutomationClient* mock_automation_client_; |
| 76 }; | 76 }; |
| 77 | 77 |
| 78 class MockAutomationClient: public ChromeFrameAutomationClient { | 78 class MockAutomationClient: public ChromeFrameAutomationClient { |
| 79 public: | 79 public: |
| 80 MOCK_METHOD2(Initialize, bool(ChromeFrameDelegate*, | 80 MOCK_METHOD2(Initialize, bool(ChromeFrameDelegate*, |
| 81 ChromeFrameLaunchParams*)); | 81 ChromeFrameLaunchParams*)); |
| 82 MOCK_METHOD1(SetEnableExtensionAutomation, | |
| 83 void(const std::vector<std::string>&)); // NOLINT | |
| 84 }; | 82 }; |
| 85 | 83 |
| 86 class MockProxyService: public NpProxyService { | 84 class MockProxyService: public NpProxyService { |
| 87 public: | 85 public: |
| 88 MOCK_METHOD2(Initialize, bool(NPP instance, ChromeFrameAutomationClient*)); | 86 MOCK_METHOD2(Initialize, bool(NPP instance, ChromeFrameAutomationClient*)); |
| 89 }; | 87 }; |
| 90 | 88 |
| 91 namespace { | 89 namespace { |
| 92 | 90 |
| 93 MATCHER_P4(LaunchParamEq, version_check, extra, incognito, widget, | 91 MATCHER_P4(LaunchParamEq, version_check, extra, incognito, widget, |
| (...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 308 } | 306 } |
| 309 | 307 |
| 310 TEST_F(TestNPAPIPrivilegedApi, PrivilegedAllowsArgsAndProfile) { | 308 TEST_F(TestNPAPIPrivilegedApi, PrivilegedAllowsArgsAndProfile) { |
| 311 SetupPrivilegeTest(false, // Not incognito. | 309 SetupPrivilegeTest(false, // Not incognito. |
| 312 true, // Fail unless privilege check is invoked. | 310 true, // Fail unless privilege check is invoked. |
| 313 true, // Privileged mode. | 311 true, // Privileged mode. |
| 314 L"custom_profile_name", // Custom profile expected. | 312 L"custom_profile_name", // Custom profile expected. |
| 315 L"", // No specific language override. | 313 L"", // No specific language override. |
| 316 L"-bar=far"); // Extra arguments expected | 314 L"-bar=far"); // Extra arguments expected |
| 317 | 315 |
| 318 // With privileged mode we expect automation to be enabled. | |
| 319 EXPECT_CALL(*mock_automation, SetEnableExtensionAutomation(_)) | |
| 320 .Times(1); | |
| 321 | |
| 322 char* argn[] = { | 316 char* argn[] = { |
| 323 "privileged_mode", | 317 "privileged_mode", |
| 324 "chrome_extra_arguments", | 318 "chrome_extra_arguments", |
| 325 "chrome_profile_name", | 319 "chrome_profile_name", |
| 326 }; | 320 }; |
| 327 char *argv[] = { | 321 char *argv[] = { |
| 328 "1", | 322 "1", |
| 329 "-bar=far", | 323 "-bar=far", |
| 330 "custom_profile_name", | 324 "custom_profile_name", |
| 331 }; | 325 }; |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 public: | 393 public: |
| 400 virtual void SetUp() { | 394 virtual void SetUp() { |
| 401 TestNPAPIPrivilegedApi::SetUp(); | 395 TestNPAPIPrivilegedApi::SetUp(); |
| 402 | 396 |
| 403 // Expect calls to release and retain objects. | 397 // Expect calls to release and retain objects. |
| 404 EXPECT_CALL(mock_funcs, RetainObject(kMockNPObject)) | 398 EXPECT_CALL(mock_funcs, RetainObject(kMockNPObject)) |
| 405 .WillRepeatedly(Return(kMockNPObject)); | 399 .WillRepeatedly(Return(kMockNPObject)); |
| 406 EXPECT_CALL(mock_funcs, ReleaseObject(kMockNPObject)) | 400 EXPECT_CALL(mock_funcs, ReleaseObject(kMockNPObject)) |
| 407 .WillRepeatedly(Return()); | 401 .WillRepeatedly(Return()); |
| 408 | 402 |
| 409 // And we should expect SetEnableExtensionAutomation to be called | |
| 410 // for privileged tests. | |
| 411 EXPECT_CALL(*mock_automation, SetEnableExtensionAutomation(_)) | |
| 412 .WillRepeatedly(Return()); | |
| 413 | |
| 414 // Initializes identifiers. | 403 // Initializes identifiers. |
| 415 EXPECT_CALL(mock_funcs, GetStringIdentifiers(_, _, _)) | 404 EXPECT_CALL(mock_funcs, GetStringIdentifiers(_, _, _)) |
| 416 .WillRepeatedly( | 405 .WillRepeatedly( |
| 417 Invoke(&mock_funcs, | 406 Invoke(&mock_funcs, |
| 418 &MockNetscapeFuncs::GetPrivilegedStringIdentifiers)); | 407 &MockNetscapeFuncs::GetPrivilegedStringIdentifiers)); |
| 419 MockNPAPI::InitializeIdentifiers(); | 408 MockNPAPI::InitializeIdentifiers(); |
| 420 } | 409 } |
| 421 | 410 |
| 422 virtual void TearDown() { | 411 virtual void TearDown() { |
| 423 TestNPAPIPrivilegedApi::TearDown(); | 412 TestNPAPIPrivilegedApi::TearDown(); |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 564 // And fething it should return the value we just set. | 553 // And fething it should return the value we just set. |
| 565 VOID_TO_NPVARIANT(var); | 554 VOID_TO_NPVARIANT(var); |
| 566 EXPECT_TRUE(mock_api.GetProperty(kOnPrivateMessageId, &var)); | 555 EXPECT_TRUE(mock_api.GetProperty(kOnPrivateMessageId, &var)); |
| 567 EXPECT_TRUE(NPVARIANT_IS_OBJECT(var)); | 556 EXPECT_TRUE(NPVARIANT_IS_OBJECT(var)); |
| 568 EXPECT_EQ(kMockNPObject, NPVARIANT_TO_OBJECT(var)); | 557 EXPECT_EQ(kMockNPObject, NPVARIANT_TO_OBJECT(var)); |
| 569 | 558 |
| 570 mock_api.Uninitialize(); | 559 mock_api.Uninitialize(); |
| 571 } | 560 } |
| 572 | 561 |
| 573 // TODO(siggi): test invoking postPrivateMessage. | 562 // TODO(siggi): test invoking postPrivateMessage. |
| 574 | |
| OLD | NEW |