Chromium Code Reviews| Index: chrome/browser/extensions/api/web_request/web_request_api_unittest.cc |
| diff --git a/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc b/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc |
| index 2de4e56831465891eeeb39f03ab5a5e5329d1b44..a0ab387677bf9d98534b71e2461effd54824c85b 100644 |
| --- a/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc |
| +++ b/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc |
| @@ -5,6 +5,7 @@ |
| #include <map> |
| #include <queue> |
| +#include "base/basictypes.h" |
| #include "base/bind.h" |
| #include "base/callback.h" |
| #include "base/file_path.h" |
| @@ -43,6 +44,7 @@ |
| #include "net/base/upload_data_stream.h" |
| #include "net/base/upload_file_element_reader.h" |
| #include "net/url_request/url_request_test_util.h" |
| +#include "testing/gtest/include/gtest/gtest-message.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| namespace helpers = extension_web_request_api_helpers; |
| @@ -515,9 +517,6 @@ TEST_F(ExtensionWebRequestTest, AccessRequestBodyData) { |
| // 3. With "requestBody", fire a POST URLRequest which is not a parseable |
| // HTML form. Raw data should be returned. |
| // 4. Do the same, but with a PUT method. Result should be the same. |
| - // Each of these steps is done once as if the channel was DEV or CANARY, |
| - // and once as if it was BETA or STABLE. It is checked that parsed data is |
| - // available on DEV/CANARY but not on BETA/STABLE. |
| const std::string kMethodPost("POST"); |
| const std::string kMethodPut("PUT"); |
| @@ -584,8 +583,9 @@ TEST_F(ExtensionWebRequestTest, AccessRequestBodyData) { |
| NULL, |
| &raw, |
| &raw, |
| - NULL, NULL, NULL, NULL // These are for the disabled cases. |
| }; |
| + COMPILE_ASSERT(arraysize(kPath) == arraysize(kExpected), |
| + the_arrays_kPath_and_kExpected_need_to_be_the_same_size); |
| // Header. |
| const char kMultipart[] = "multipart/form-data; boundary=" kBoundary; |
| #undef kBoundary |
| @@ -600,78 +600,60 @@ TEST_F(ExtensionWebRequestTest, AccessRequestBodyData) { |
| int extra_info_spec_body = 0; |
| base::WeakPtrFactory<TestIPCSender> ipc_sender_factory(&ipc_sender_); |
| - // All the tests are done twice, once with the release channel pretending to |
| - // be one of DEV/CANARY, once BETA/STABLE. Hence two passes. |
| - for (int pass = 0; pass < 2; ++pass) { |
| - { |
| - Feature::ScopedCurrentChannel sc( |
| - pass > 0 ? VersionInfo::CHANNEL_BETA : VersionInfo::CHANNEL_CANARY); |
| - |
| - // Part 1. |
| - // Subscribe to OnBeforeRequest with requestBody requirement. |
| - ASSERT_TRUE(GenerateInfoSpec(string_spec_post, &extra_info_spec_body)); |
| - ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| - &profile_, extension_id, extension_id, kEventName, kEventName + "/1", |
| - filter, extra_info_spec_body, -1, -1, |
| - ipc_sender_factory.GetWeakPtr()); |
| - |
| - FireURLRequestWithData(kMethodPost, kMultipart, form_1, form_2); |
| - |
| - // We inspect the result in the message list of |ipc_sender_| later. |
| - MessageLoop::current()->RunUntilIdle(); |
| + // Part 1. |
|
vabr (Chromium)
2013/01/28 10:26:14
In this block I only removed the for loop, the add
|
| + // Subscribe to OnBeforeRequest with requestBody requirement. |
| + ASSERT_TRUE(GenerateInfoSpec(string_spec_post, &extra_info_spec_body)); |
| + ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| + &profile_, extension_id, extension_id, kEventName, kEventName + "/1", |
| + filter, extra_info_spec_body, -1, -1, |
| + ipc_sender_factory.GetWeakPtr()); |
| - ExtensionWebRequestEventRouter::GetInstance()->RemoveEventListener( |
| - &profile_, extension_id, kEventName + "/1"); |
| - } |
| + FireURLRequestWithData(kMethodPost, kMultipart, form_1, form_2); |
| - { |
| - Feature::ScopedCurrentChannel sc( |
| - pass > 0 ? VersionInfo::CHANNEL_STABLE : VersionInfo::CHANNEL_DEV); |
| + // We inspect the result in the message list of |ipc_sender_| later. |
| + MessageLoop::current()->RunUntilIdle(); |
| - // Part 2. |
| - // Now subscribe to OnBeforeRequest *without* the requestBody requirement. |
| - ASSERT_TRUE( |
| - GenerateInfoSpec(string_spec_no_post, &extra_info_spec_empty)); |
| - ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| - &profile_, extension_id, extension_id, kEventName, kEventName + "/1", |
| - filter, extra_info_spec_empty, -1, -1, |
| - ipc_sender_factory.GetWeakPtr()); |
| + ExtensionWebRequestEventRouter::GetInstance()->RemoveEventListener( |
| + &profile_, extension_id, kEventName + "/1"); |
| - FireURLRequestWithData(kMethodPost, kMultipart, form_1, form_2); |
| + // Part 2. |
| + // Now subscribe to OnBeforeRequest *without* the requestBody requirement. |
| + ASSERT_TRUE( |
| + GenerateInfoSpec(string_spec_no_post, &extra_info_spec_empty)); |
| + ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| + &profile_, extension_id, extension_id, kEventName, kEventName + "/1", |
| + filter, extra_info_spec_empty, -1, -1, |
| + ipc_sender_factory.GetWeakPtr()); |
| - ExtensionWebRequestEventRouter::GetInstance()->RemoveEventListener( |
| - &profile_, extension_id, kEventName + "/1"); |
| - } |
| + FireURLRequestWithData(kMethodPost, kMultipart, form_1, form_2); |
| - { |
| - Feature::ScopedCurrentChannel sc( |
| - pass > 0 ? VersionInfo::CHANNEL_STABLE : VersionInfo::CHANNEL_DEV); |
| + ExtensionWebRequestEventRouter::GetInstance()->RemoveEventListener( |
| + &profile_, extension_id, kEventName + "/1"); |
| - // Subscribe to OnBeforeRequest with requestBody requirement. |
| - ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| - &profile_, extension_id, extension_id, kEventName, kEventName + "/1", |
| - filter, extra_info_spec_body, -1, -1, |
| - ipc_sender_factory.GetWeakPtr()); |
| + // Subscribe to OnBeforeRequest with requestBody requirement. |
| + ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| + &profile_, extension_id, extension_id, kEventName, kEventName + "/1", |
| + filter, extra_info_spec_body, -1, -1, |
| + ipc_sender_factory.GetWeakPtr()); |
| - // Part 3. |
| - // Now send a POST request with body which is not parseable as a form. |
| - FireURLRequestWithData(kMethodPost, NULL /*no header*/, plain_1, plain_2); |
| + // Part 3. |
| + // Now send a POST request with body which is not parseable as a form. |
| + FireURLRequestWithData(kMethodPost, NULL /*no header*/, plain_1, plain_2); |
| - // Part 4. |
| - // Now send a PUT request with the same body as above. |
| - FireURLRequestWithData(kMethodPut, NULL /*no header*/, plain_1, plain_2); |
| + // Part 4. |
| + // Now send a PUT request with the same body as above. |
| + FireURLRequestWithData(kMethodPut, NULL /*no header*/, plain_1, plain_2); |
| - MessageLoop::current()->RunUntilIdle(); |
| + MessageLoop::current()->RunUntilIdle(); |
| - // Clean-up. |
| - ExtensionWebRequestEventRouter::GetInstance()->RemoveEventListener( |
| - &profile_, extension_id, kEventName + "/1"); |
| - } |
| - } |
| + // Clean-up. |
| + ExtensionWebRequestEventRouter::GetInstance()->RemoveEventListener( |
| + &profile_, extension_id, kEventName + "/1"); |
| IPC::Message* message = NULL; |
| TestIPCSender::SentMessages::const_iterator i = ipc_sender_.sent_begin(); |
| for (size_t test = 0; test < arraysize(kExpected); ++test) { |
| + SCOPED_TRACE(testing::Message("iteration number ") << test); |
| EXPECT_NE(i, ipc_sender_.sent_end()); |
| message = (i++)->get(); |
| const DictionaryValue* details; |
| @@ -679,11 +661,11 @@ TEST_F(ExtensionWebRequestTest, AccessRequestBodyData) { |
| GetPartOfMessageArguments(message, &details, ¶m); |
| ASSERT_TRUE(details != NULL); |
| const Value* result = NULL; |
| - EXPECT_EQ( |
| - kExpected[test] != NULL, |
| - details->Get(*(kPath[test % arraysize(kPath)]), &result)); |
| - if (kExpected[test] != NULL) { |
| + if (kExpected[test]) { |
| + EXPECT_TRUE(details->Get(*(kPath[test]), &result)); |
| EXPECT_TRUE(kExpected[test]->Equals(result)); |
| + } else { |
| + EXPECT_FALSE(details->Get(*(kPath[test]), &result)); |
| } |
| } |
| @@ -707,9 +689,6 @@ TEST_F(ExtensionWebRequestTest, NoAccessRequestBodyData) { |
| ASSERT_TRUE(GenerateInfoSpec("blocking,requestBody", &extra_info_spec)); |
| base::WeakPtrFactory<TestIPCSender> ipc_sender_factory(&ipc_sender_); |
| - // We need to pretend to be on CANARY or DEV for the "requestBody" to work. |
| - Feature::ScopedCurrentChannel sc(VersionInfo::CHANNEL_CANARY); |
| - |
| // Subscribe to OnBeforeRequest with requestBody requirement. |
| ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| &profile_, extension_id, extension_id, kEventName, kEventName + "/1", |
| @@ -733,14 +712,14 @@ TEST_F(ExtensionWebRequestTest, NoAccessRequestBodyData) { |
| TestIPCSender::SentMessages::const_iterator i = ipc_sender_.sent_begin(); |
| for (size_t test = 0; test < arraysize(kMethods); ++test, ++i) { |
| + SCOPED_TRACE(testing::Message("iteration number ") << test); |
| EXPECT_NE(i, ipc_sender_.sent_end()); |
| IPC::Message* message = i->get(); |
| const DictionaryValue* details = NULL; |
| ExtensionMsg_MessageInvoke::Param param; |
| GetPartOfMessageArguments(message, &details, ¶m); |
| ASSERT_TRUE(details != NULL); |
| - EXPECT_FALSE(details->HasKey(keys::kRequestBodyKey)) |
| - << "Failed during iteration number " << test << "."; |
| + EXPECT_FALSE(details->HasKey(keys::kRequestBodyKey)); |
| } |
| EXPECT_EQ(i, ipc_sender_.sent_end()); |
| @@ -995,20 +974,10 @@ TEST_F(ExtensionWebRequestTest, InitFromValue) { |
| "asyncBlocking", |
| true, |
| ExtensionWebRequestEventRouter::ExtraInfoSpec::ASYNC_BLOCKING); |
| - { |
| - Feature::ScopedCurrentChannel sc(VersionInfo::CHANNEL_BETA); |
| - TestInitFromValue( |
| - "requestBody", |
| - true, |
| - 0); |
| - } |
| - { |
| - Feature::ScopedCurrentChannel sc(VersionInfo::CHANNEL_DEV); |
| - TestInitFromValue( |
| - "requestBody", |
| - true, |
| - ExtensionWebRequestEventRouter::ExtraInfoSpec::REQUEST_BODY); |
| - } |
| + TestInitFromValue( |
| + "requestBody", |
| + true, |
| + ExtensionWebRequestEventRouter::ExtraInfoSpec::REQUEST_BODY); |
| // Multiple valid values are bitwise-or'ed. |
| TestInitFromValue( |