Home | History | Annotate | Download | only in cts
      1 /*
      2  * Copyright (C) 2008 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 android.widget.cts;
     18 
     19 import static org.junit.Assert.assertEquals;
     20 import static org.junit.Assert.assertFalse;
     21 import static org.junit.Assert.assertTrue;
     22 
     23 import android.content.Context;
     24 import android.support.test.InstrumentationRegistry;
     25 import android.support.test.annotation.UiThreadTest;
     26 import android.support.test.filters.SmallTest;
     27 import android.support.test.runner.AndroidJUnit4;
     28 import android.view.View;
     29 import android.widget.ZoomControls;
     30 
     31 import org.junit.Before;
     32 import org.junit.Test;
     33 import org.junit.runner.RunWith;
     34 
     35 /**
     36  * Test {@link ZoomControls}.
     37  */
     38 @SmallTest
     39 @RunWith(AndroidJUnit4.class)
     40 public class ZoomControlsTest {
     41     private Context mContext;
     42 
     43     @Before
     44     public void setup() {
     45         mContext = InstrumentationRegistry.getTargetContext();
     46     }
     47 
     48     @UiThreadTest
     49     @Test
     50     public void testConstructor() {
     51         new ZoomControls(mContext);
     52 
     53         new ZoomControls(mContext, null);
     54     }
     55 
     56     @UiThreadTest
     57     @Test
     58     public void testSetOnZoomInClickListener() {
     59         ZoomControls zoomControls = new ZoomControls(mContext);
     60 
     61         // normal parameters
     62         final View.OnClickListener clickListener = (View view) -> {};
     63         zoomControls.setOnZoomInClickListener(clickListener);
     64 
     65         // exceptional parameters
     66         zoomControls.setOnZoomInClickListener(null);
     67     }
     68 
     69     @UiThreadTest
     70     @Test
     71     public void testSetOnZoomOutClickListener() {
     72         ZoomControls zoomControls = new ZoomControls(mContext);
     73 
     74         // normal parameters
     75         final View.OnClickListener clickListener = (View view) -> {};
     76         zoomControls.setOnZoomOutClickListener(clickListener);
     77 
     78         // exceptional parameters
     79         zoomControls.setOnZoomOutClickListener(null);
     80     }
     81 
     82     @UiThreadTest
     83     @Test
     84     public void testSetZoomSpeed() {
     85         ZoomControls zoomControls = new ZoomControls(mContext);
     86 
     87         zoomControls.setZoomSpeed(500);
     88 
     89         // TODO: how to check?
     90     }
     91 
     92     @UiThreadTest
     93     @Test
     94     public void testShowAndHide() {
     95         final ZoomControls zoomControls = new ZoomControls(mContext);
     96         assertEquals(View.VISIBLE, zoomControls.getVisibility());
     97 
     98         zoomControls.hide();
     99         assertEquals(View.GONE, zoomControls.getVisibility());
    100 
    101         zoomControls.show();
    102         assertEquals(View.VISIBLE, zoomControls.getVisibility());
    103     }
    104 
    105     @UiThreadTest
    106     @Test
    107     public void testSetIsZoomInEnabled() {
    108         ZoomControls zoomControls = new ZoomControls(mContext);
    109         zoomControls.setIsZoomInEnabled(false);
    110         zoomControls.setIsZoomInEnabled(true);
    111     }
    112 
    113     @UiThreadTest
    114     @Test
    115     public void testSetIsZoomOutEnabled() {
    116         ZoomControls zoomControls = new ZoomControls(mContext);
    117         zoomControls.setIsZoomOutEnabled(false);
    118         zoomControls.setIsZoomOutEnabled(true);
    119     }
    120 
    121     @UiThreadTest
    122     @Test
    123     public void testHasFocus() {
    124         ZoomControls zoomControls = new ZoomControls(mContext);
    125         assertFalse(zoomControls.hasFocus());
    126 
    127         zoomControls.requestFocus();
    128         assertTrue(zoomControls.hasFocus());
    129     }
    130 }
    131