1/* 2 * Copyright (C) 2011 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 android.view; 18 19import android.test.AndroidTestCase; 20import android.test.suitebuilder.annotation.SmallTest; 21 22public class GravityTest extends AndroidTestCase { 23 24 @SmallTest 25 public void testGetAbsoluteGravity() throws Exception { 26 assertOneGravity(Gravity.LEFT, Gravity.LEFT, false); 27 assertOneGravity(Gravity.LEFT, Gravity.LEFT, true); 28 29 assertOneGravity(Gravity.RIGHT, Gravity.RIGHT, false); 30 assertOneGravity(Gravity.RIGHT, Gravity.RIGHT, true); 31 32 assertOneGravity(Gravity.TOP, Gravity.TOP, false); 33 assertOneGravity(Gravity.TOP, Gravity.TOP, true); 34 35 assertOneGravity(Gravity.BOTTOM, Gravity.BOTTOM, false); 36 assertOneGravity(Gravity.BOTTOM, Gravity.BOTTOM, true); 37 38 assertOneGravity(Gravity.CENTER_VERTICAL, Gravity.CENTER_VERTICAL, false); 39 assertOneGravity(Gravity.CENTER_VERTICAL, Gravity.CENTER_VERTICAL, true); 40 41 assertOneGravity(Gravity.CENTER_HORIZONTAL, Gravity.CENTER_HORIZONTAL, false); 42 assertOneGravity(Gravity.CENTER_HORIZONTAL, Gravity.CENTER_HORIZONTAL, true); 43 44 assertOneGravity(Gravity.CENTER, Gravity.CENTER, false); 45 assertOneGravity(Gravity.CENTER, Gravity.CENTER, true); 46 47 assertOneGravity(Gravity.FILL_VERTICAL, Gravity.FILL_VERTICAL, false); 48 assertOneGravity(Gravity.FILL_VERTICAL, Gravity.FILL_VERTICAL, true); 49 50 assertOneGravity(Gravity.FILL_HORIZONTAL, Gravity.FILL_HORIZONTAL, false); 51 assertOneGravity(Gravity.FILL_HORIZONTAL, Gravity.FILL_HORIZONTAL, true); 52 53 assertOneGravity(Gravity.FILL, Gravity.FILL, false); 54 assertOneGravity(Gravity.FILL, Gravity.FILL, true); 55 56 assertOneGravity(Gravity.CLIP_HORIZONTAL, Gravity.CLIP_HORIZONTAL, false); 57 assertOneGravity(Gravity.CLIP_HORIZONTAL, Gravity.CLIP_HORIZONTAL, true); 58 59 assertOneGravity(Gravity.CLIP_VERTICAL, Gravity.CLIP_VERTICAL, false); 60 assertOneGravity(Gravity.CLIP_VERTICAL, Gravity.CLIP_VERTICAL, true); 61 62 assertOneGravity(Gravity.LEFT, Gravity.START, false); 63 assertOneGravity(Gravity.RIGHT, Gravity.START, true); 64 65 assertOneGravity(Gravity.RIGHT, Gravity.END, false); 66 assertOneGravity(Gravity.LEFT, Gravity.END, true); 67 } 68 69 private void assertOneGravity(int expected, int initial, boolean isRtl) { 70 final int layoutDirection = isRtl ? View.LAYOUT_DIRECTION_RTL : View.LAYOUT_DIRECTION_LTR; 71 72 assertEquals(expected, Gravity.getAbsoluteGravity(initial, layoutDirection)); 73 } 74} 75