• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2018 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 
17 package com.android.keyguard;
18 
19 import static org.mockito.Mockito.mock;
20 import static org.mockito.Mockito.verify;
21 
22 import android.test.suitebuilder.annotation.SmallTest;
23 import android.testing.AndroidTestingRunner;
24 import android.testing.TestableLooper;
25 
26 import com.android.internal.widget.LockPatternUtils;
27 import com.android.systemui.SysuiTestCase;
28 import com.android.systemui.plugins.ActivityStarter.OnDismissAction;
29 
30 import org.junit.Assert;
31 import org.junit.Before;
32 import org.junit.Rule;
33 import org.junit.Test;
34 import org.junit.runner.RunWith;
35 import org.mockito.Mock;
36 import org.mockito.junit.MockitoJUnit;
37 import org.mockito.junit.MockitoRule;
38 
39 @SmallTest
40 @RunWith(AndroidTestingRunner.class)
41 @TestableLooper.RunWithLooper
42 public class KeyguardHostViewTest extends SysuiTestCase {
43 
44     @Mock
45     private KeyguardSecurityContainer mSecurityContainer;
46     @Mock
47     private LockPatternUtils mLockPatternUtils;
48     @Rule
49     public MockitoRule mMockitoRule = MockitoJUnit.rule();
50 
51     private KeyguardHostView mKeyguardHostView;
52 
53     @Before
setup()54     public void setup() {
55         mDependency.injectMockDependency(KeyguardUpdateMonitor.class);
56         mKeyguardHostView = new KeyguardHostView(getContext()) {
57             @Override
58             protected void onFinishInflate() {
59                 mSecurityContainer = KeyguardHostViewTest.this.mSecurityContainer;
60                 mLockPatternUtils = KeyguardHostViewTest.this.mLockPatternUtils;
61             }
62         };
63         mKeyguardHostView.onFinishInflate();
64     }
65 
66     @Test
testHasDismissActions()67     public void testHasDismissActions() {
68         Assert.assertFalse("Action not set yet", mKeyguardHostView.hasDismissActions());
69         mKeyguardHostView.setOnDismissAction(mock(OnDismissAction.class),
70                 null /* cancelAction */);
71         Assert.assertTrue("Action should exist", mKeyguardHostView.hasDismissActions());
72     }
73 
74     @Test
testOnStartingToHide()75     public void testOnStartingToHide() {
76         mKeyguardHostView.onStartingToHide();
77         verify(mSecurityContainer).onStartingToHide();
78     }
79 }
80