| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/logging.h" | 5 #include "base/logging.h" |
| 6 #include "base/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
| 7 #include "content/browser/screen_orientation/screen_orientation_dispatcher_host.
h" | 7 #include "content/browser/screen_orientation/screen_orientation_dispatcher_host.
h" |
| 8 #include "content/browser/screen_orientation/screen_orientation_provider.h" | 8 #include "content/browser/screen_orientation/screen_orientation_provider.h" |
| 9 #include "content/common/screen_orientation_messages.h" | 9 #include "content/common/screen_orientation_messages.h" |
| 10 #include "content/public/test/test_utils.h" | 10 #include "content/public/test/test_utils.h" |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 | 56 |
| 57 // The dispatcher_ owns the provider_ but we still want to access it. | 57 // The dispatcher_ owns the provider_ but we still want to access it. |
| 58 MockScreenOrientationProvider* provider_; | 58 MockScreenOrientationProvider* provider_; |
| 59 scoped_refptr<ScreenOrientationDispatcherHost> dispatcher_; | 59 scoped_refptr<ScreenOrientationDispatcherHost> dispatcher_; |
| 60 }; | 60 }; |
| 61 | 61 |
| 62 // Test that a NULL provider is correctly handled. | 62 // Test that a NULL provider is correctly handled. |
| 63 TEST_F(ScreenOrientationDispatcherHostTest, NullProvider) { | 63 TEST_F(ScreenOrientationDispatcherHostTest, NullProvider) { |
| 64 dispatcher_->SetProviderForTests(NULL); | 64 dispatcher_->SetProviderForTests(NULL); |
| 65 | 65 |
| 66 bool message_was_ok = false; | |
| 67 bool message_was_handled = dispatcher_->OnMessageReceived( | 66 bool message_was_handled = dispatcher_->OnMessageReceived( |
| 68 ScreenOrientationHostMsg_Lock( | 67 ScreenOrientationHostMsg_Lock( |
| 69 blink::WebScreenOrientationLockPortraitPrimary), &message_was_ok); | 68 blink::WebScreenOrientationLockPortraitPrimary)); |
| 70 | |
| 71 EXPECT_TRUE(message_was_ok); | |
| 72 EXPECT_TRUE(message_was_handled); | 69 EXPECT_TRUE(message_was_handled); |
| 73 } | 70 } |
| 74 | 71 |
| 75 // Test that when receiving a lock message, it is correctly dispatched to the | 72 // Test that when receiving a lock message, it is correctly dispatched to the |
| 76 // ScreenOrientationProvider. | 73 // ScreenOrientationProvider. |
| 77 TEST_F(ScreenOrientationDispatcherHostTest, ProviderLock) { | 74 TEST_F(ScreenOrientationDispatcherHostTest, ProviderLock) { |
| 78 // If we change this array, update |orientationsToTestCount| below. | 75 // If we change this array, update |orientationsToTestCount| below. |
| 79 blink::WebScreenOrientationLockType orientationsToTest[] = { | 76 blink::WebScreenOrientationLockType orientationsToTest[] = { |
| 80 blink::WebScreenOrientationLockPortraitPrimary, | 77 blink::WebScreenOrientationLockPortraitPrimary, |
| 81 blink::WebScreenOrientationLockPortraitSecondary, | 78 blink::WebScreenOrientationLockPortraitSecondary, |
| 82 blink::WebScreenOrientationLockLandscapePrimary, | 79 blink::WebScreenOrientationLockLandscapePrimary, |
| 83 blink::WebScreenOrientationLockLandscapeSecondary, | 80 blink::WebScreenOrientationLockLandscapeSecondary, |
| 84 blink::WebScreenOrientationLockPortrait, | 81 blink::WebScreenOrientationLockPortrait, |
| 85 blink::WebScreenOrientationLockLandscapePrimary, | 82 blink::WebScreenOrientationLockLandscapePrimary, |
| 86 blink::WebScreenOrientationLockAny | 83 blink::WebScreenOrientationLockAny |
| 87 }; | 84 }; |
| 88 | 85 |
| 89 // Unfortunately, initializer list constructor for std::list is not yet | 86 // Unfortunately, initializer list constructor for std::list is not yet |
| 90 // something we can use. | 87 // something we can use. |
| 91 // Keep this in sync with |orientationsToTest|. | 88 // Keep this in sync with |orientationsToTest|. |
| 92 int orientationsToTestCount = 7; | 89 int orientationsToTestCount = 7; |
| 93 | 90 |
| 94 for (int i = 0; i < orientationsToTestCount; ++i) { | 91 for (int i = 0; i < orientationsToTestCount; ++i) { |
| 95 bool message_was_ok = false; | |
| 96 bool message_was_handled = false; | 92 bool message_was_handled = false; |
| 97 blink::WebScreenOrientationLockType orientation = orientationsToTest[i]; | 93 blink::WebScreenOrientationLockType orientation = orientationsToTest[i]; |
| 98 | 94 |
| 99 message_was_handled = dispatcher_->OnMessageReceived( | 95 message_was_handled = dispatcher_->OnMessageReceived( |
| 100 ScreenOrientationHostMsg_Lock(orientation), &message_was_ok); | 96 ScreenOrientationHostMsg_Lock(orientation)); |
| 101 | 97 |
| 102 EXPECT_TRUE(message_was_ok); | |
| 103 EXPECT_TRUE(message_was_handled); | 98 EXPECT_TRUE(message_was_handled); |
| 104 EXPECT_EQ(orientation, provider_->orientation()); | 99 EXPECT_EQ(orientation, provider_->orientation()); |
| 105 } | 100 } |
| 106 } | 101 } |
| 107 | 102 |
| 108 // Test that when receiving an unlock message, it is correctly dispatched to the | 103 // Test that when receiving an unlock message, it is correctly dispatched to the |
| 109 // ScreenOrientationProvider. | 104 // ScreenOrientationProvider. |
| 110 TEST_F(ScreenOrientationDispatcherHostTest, ProviderUnlock) { | 105 TEST_F(ScreenOrientationDispatcherHostTest, ProviderUnlock) { |
| 111 bool message_was_ok = false; | |
| 112 bool message_was_handled = dispatcher_->OnMessageReceived( | 106 bool message_was_handled = dispatcher_->OnMessageReceived( |
| 113 ScreenOrientationHostMsg_Unlock(), &message_was_ok); | 107 ScreenOrientationHostMsg_Unlock()); |
| 114 | 108 |
| 115 EXPECT_TRUE(message_was_ok); | |
| 116 EXPECT_TRUE(message_was_handled); | 109 EXPECT_TRUE(message_was_handled); |
| 117 EXPECT_TRUE(provider_->unlock_called()); | 110 EXPECT_TRUE(provider_->unlock_called()); |
| 118 } | 111 } |
| 119 | 112 |
| 120 } // namespace content | 113 } // namespace content |
| OLD | NEW |