1154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos/* 2154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos * Copyright (C) 2016 The Android Open Source Project 3154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos * 4154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos * Licensed under the Apache License, Version 2.0 (the "License"); 5154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos * you may not use this file except in compliance with the License. 6154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos * You may obtain a copy of the License at 7154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos * 8154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos * http://www.apache.org/licenses/LICENSE-2.0 9154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos * 10154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos * Unless required by applicable law or agreed to in writing, software 11154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos * distributed under the License is distributed on an "AS IS" BASIS, 12154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos * See the License for the specific language governing permissions and 14154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos * limitations under the License 15154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos */ 16154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos 17154b9ee638d1917f064781b5e08823898a73b92cAdrian Roospackage com.android.keyguard; 18154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos 19e97892844a5c21c91c7f82b96f82202b18a1a24dJason Monkimport static junit.framework.Assert.assertEquals; 20154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos 21e97892844a5c21c91c7f82b96f82202b18a1a24dJason Monkimport static org.mockito.Mockito.mock; 22154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos 23154b9ee638d1917f064781b5e08823898a73b92cAdrian Roosimport android.os.Handler; 24154b9ee638d1917f064781b5e08823898a73b92cAdrian Roosimport android.os.Looper; 25154b9ee638d1917f064781b5e08823898a73b92cAdrian Roosimport android.support.test.runner.AndroidJUnit4; 26154b9ee638d1917f064781b5e08823898a73b92cAdrian Roosimport android.test.suitebuilder.annotation.SmallTest; 27154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos 28e97892844a5c21c91c7f82b96f82202b18a1a24dJason Monkimport com.android.systemui.SysuiTestCase; 29e97892844a5c21c91c7f82b96f82202b18a1a24dJason Monk 30e97892844a5c21c91c7f82b96f82202b18a1a24dJason Monkimport org.junit.Before; 31e97892844a5c21c91c7f82b96f82202b18a1a24dJason Monkimport org.junit.Test; 32e97892844a5c21c91c7f82b96f82202b18a1a24dJason Monkimport org.junit.runner.RunWith; 33154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos 34154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos@SmallTest 35154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos@RunWith(AndroidJUnit4.class) 36154b9ee638d1917f064781b5e08823898a73b92cAdrian Roospublic class KeyguardMessageAreaTest extends SysuiTestCase { 37154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos private Handler mHandler = new Handler(Looper.getMainLooper()); 38154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos private KeyguardMessageArea mMessageArea; 39154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos 40154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos @Before 41154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos public void setUp() throws Exception { 42154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos KeyguardUpdateMonitor monitor = mock(KeyguardUpdateMonitor.class); 43154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos mHandler.post(()-> mMessageArea = new KeyguardMessageArea(mContext, null, monitor)); 44154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos waitForIdleSync(); 45154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos } 46154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos 47154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos @Test 48154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos public void clearFollowedByMessage_keepsMessage() { 49154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos mHandler.post(()-> { 50154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos mMessageArea.setMessage(""); 51154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos mMessageArea.setMessage("test"); 52154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos }); 53154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos 54154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos waitForIdleSync(); 55154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos 56154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos CharSequence[] messageText = new CharSequence[1]; 57154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos mHandler.post(()-> { 58154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos messageText[0] = mMessageArea.getText(); 59154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos }); 60154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos 61154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos waitForIdleSync(); 62154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos 63154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos assertEquals("test", messageText[0]); 64154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos } 65154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos 66154b9ee638d1917f064781b5e08823898a73b92cAdrian Roos} 67