Move DisplayDataSizeTest to AndroidJunitTest
**Root cause** - When DisplayDataSizeTest was created, it was ignored already due to b/214161063. That means the test never passed in the beginning. - The default display's type in Robolectric is TYPE_UNKNOWN. However, in the constructor of DisplayDensityUtils, we check all the display that is not TYPE_INTERNAL can't be a default display. Hence the test failed. - Even if we shadow the DisplayInfo to have TYPE_INTERNAL for default display, the test still failed, because whenever we tried to get the default display density we always get 0, and doens't have other diplay density values. Hence we can't test increasing the display size in Robolectric Test. Note: the solution here is a workaround for waiting AsyncTask to finish. If we ever change the implementation in DisplayDensityUtils to not use AsyncTask, we'll need to update the test. Bug: 279082331 Test: atest DisplaySizeDataTest --iterations 20 Change-Id: I3ccee5e7ba4d9399a8b715d84a9d53e106f88762
This commit is contained in:
@@ -1,52 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2022 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings.accessibility;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
|
||||
/**
|
||||
* Tests for {@link DisplaySizeData}.
|
||||
*/
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class DisplaySizeDataTest {
|
||||
private final Context mContext = ApplicationProvider.getApplicationContext();
|
||||
private DisplaySizeData mDisplaySizeData;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mDisplaySizeData = new DisplaySizeData(mContext);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void commit_success() {
|
||||
final int progress = 4;
|
||||
|
||||
mDisplaySizeData.commit(progress);
|
||||
final float density = mContext.getResources().getDisplayMetrics().density;
|
||||
|
||||
assertThat(density).isEqualTo(mDisplaySizeData.getValues().get(progress));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user