blob: ed935619b2f63a688f2eb8c7d8614fcf309fa799 [file] [log] [blame]
Adrian Roosa1e6b312017-03-28 16:20:34 -07001/*
2 * Copyright (C) 2017 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package com.android.systemui.doze;
18
19import static org.junit.Assert.assertEquals;
20import static org.junit.Assert.assertSame;
21import static org.mockito.Mockito.mock;
22import static org.mockito.Mockito.verify;
23import static org.mockito.Mockito.when;
24
25import android.support.test.filters.SmallTest;
26import android.view.Display;
27
Jason Monkfba8faf2017-05-23 10:42:59 -040028import com.android.systemui.SysuiTestCase;
Adrian Roosa1e6b312017-03-28 16:20:34 -070029import com.android.systemui.statusbar.phone.DozeParameters;
30
31import org.junit.Before;
32import org.junit.Test;
33
34@SmallTest
Jason Monkfba8faf2017-05-23 10:42:59 -040035public class DozeSuspendScreenStatePreventingAdapterTest extends SysuiTestCase {
Adrian Roosa1e6b312017-03-28 16:20:34 -070036
37 private DozeMachine.Service mInner;
38 private DozeSuspendScreenStatePreventingAdapter mWrapper;
39
40 @Before
41 public void setup() throws Exception {
42 mInner = mock(DozeMachine.Service.class);
43 mWrapper = new DozeSuspendScreenStatePreventingAdapter(mInner);
44 }
45
46 @Test
47 public void forwards_finish() throws Exception {
48 mWrapper.finish();
49 verify(mInner).finish();
50 }
51
52 @Test
53 public void forwards_setDozeScreenState_on() throws Exception {
54 mWrapper.setDozeScreenState(Display.STATE_ON);
55 verify(mInner).setDozeScreenState(Display.STATE_ON);
56 }
57
58 @Test
59 public void forwards_setDozeScreenState_off() throws Exception {
60 mWrapper.setDozeScreenState(Display.STATE_OFF);
61 verify(mInner).setDozeScreenState(Display.STATE_OFF);
62 }
63
64 @Test
65 public void forwards_setDozeScreenState_doze() throws Exception {
66 mWrapper.setDozeScreenState(Display.STATE_DOZE);
67 verify(mInner).setDozeScreenState(Display.STATE_DOZE);
68 }
69
70 @Test
71 public void forwards_setDozeScreenState_doze_suspend() throws Exception {
72 mWrapper.setDozeScreenState(Display.STATE_DOZE_SUSPEND);
73 verify(mInner).setDozeScreenState(Display.STATE_DOZE);
74 }
75
76 @Test
Chris Phoenix10a4a642017-09-25 13:21:00 -070077 public void forwards_setDozeScreenState_on_suspend() throws Exception {
78 mWrapper.setDozeScreenState(Display.STATE_ON_SUSPEND);
79 verify(mInner).setDozeScreenState(Display.STATE_ON_SUSPEND);
80 }
81
82 @Test
Adrian Roosa1e6b312017-03-28 16:20:34 -070083 public void forwards_requestWakeUp() throws Exception {
84 mWrapper.requestWakeUp();
85 verify(mInner).requestWakeUp();
86 }
87
88 @Test
89 public void wrapIfNeeded_needed() throws Exception {
90 DozeParameters params = mock(DozeParameters.class);
91 when(params.getDozeSuspendDisplayStateSupported()).thenReturn(false);
92
93 assertEquals(DozeSuspendScreenStatePreventingAdapter.class,
94 DozeSuspendScreenStatePreventingAdapter.wrapIfNeeded(mInner, params).getClass());
95 }
96
97 @Test
98 public void wrapIfNeeded_not_needed() throws Exception {
99 DozeParameters params = mock(DozeParameters.class);
100 when(params.getDozeSuspendDisplayStateSupported()).thenReturn(true);
101
102 assertSame(mInner, DozeSuspendScreenStatePreventingAdapter.wrapIfNeeded(mInner, params));
103 }
Chris Phoenix10a4a642017-09-25 13:21:00 -0700104}