blob: a17a95f6543db5558afdd20d1dd1af31f54e805f [file] [log] [blame]
Adrian Roos26d81842017-02-21 15:42:20 +01001/*
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 Roos26d81842017-02-21 15:42:20 +010029import 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 DozeScreenStatePreventingAdapterTest extends SysuiTestCase {
Adrian Roos26d81842017-02-21 15:42:20 +010036
37 private DozeMachine.Service mInner;
38 private DozeScreenStatePreventingAdapter mWrapper;
39
40 @Before
41 public void setup() throws Exception {
42 mInner = mock(DozeMachine.Service.class);
43 mWrapper = new DozeScreenStatePreventingAdapter(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_ON);
68 }
69
70 @Test
71 public void forwards_setDozeScreenState_doze_suspend() throws Exception {
72 mWrapper.setDozeScreenState(Display.STATE_DOZE_SUSPEND);
Chris Phoenix10a4a642017-09-25 13:21:00 -070073 verify(mInner).setDozeScreenState(Display.STATE_ON_SUSPEND);
Adrian Roos26d81842017-02-21 15:42:20 +010074 }
75
76 @Test
77 public void forwards_requestWakeUp() throws Exception {
78 mWrapper.requestWakeUp();
79 verify(mInner).requestWakeUp();
80 }
81
82 @Test
83 public void wrapIfNeeded_needed() throws Exception {
84 DozeParameters params = mock(DozeParameters.class);
85 when(params.getDisplayStateSupported()).thenReturn(false);
86
87 assertEquals(DozeScreenStatePreventingAdapter.class,
88 DozeScreenStatePreventingAdapter.wrapIfNeeded(mInner, params).getClass());
89 }
90
91 @Test
92 public void wrapIfNeeded_not_needed() throws Exception {
93 DozeParameters params = mock(DozeParameters.class);
94 when(params.getDisplayStateSupported()).thenReturn(true);
95
96 assertSame(mInner, DozeScreenStatePreventingAdapter.wrapIfNeeded(mInner, params));
97 }
Chris Phoenix10a4a642017-09-25 13:21:00 -070098}