Merge "Update SliceContollerInXmlTest to match latest slice spec." into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
14244ffb9d
@@ -1,2 +1,2 @@
|
|||||||
com.android.settings.testutils.FakeToggleController
|
com.android.settings.testutils.FakeToggleController
|
||||||
com.android.settings.core.TogglePreferenceControllerTest$FakeToggle
|
com.android.settings.testutils.FakeSliderController
|
||||||
|
@@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat;
|
|||||||
import com.android.settings.core.BasePreferenceControllerSignatureInspector;
|
import com.android.settings.core.BasePreferenceControllerSignatureInspector;
|
||||||
import com.android.settings.core.instrumentation.InstrumentableFragmentCodeInspector;
|
import com.android.settings.core.instrumentation.InstrumentableFragmentCodeInspector;
|
||||||
import com.android.settings.search.SearchIndexProviderCodeInspector;
|
import com.android.settings.search.SearchIndexProviderCodeInspector;
|
||||||
|
import com.android.settings.slices.SliceControllerInXmlCodeInspector;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@@ -50,6 +51,11 @@ public class CodeInspectionTest {
|
|||||||
new InstrumentableFragmentCodeInspector(mClasses).run();
|
new InstrumentableFragmentCodeInspector(mClasses).run();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void runSliceControllerInXmlInspection() throws Exception {
|
||||||
|
new SliceControllerInXmlCodeInspector(mClasses).run();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void runBasePreferenceControllerConstructorSignatureInspection() {
|
public void runBasePreferenceControllerConstructorSignatureInspection() {
|
||||||
new BasePreferenceControllerSignatureInspector(mClasses).run();
|
new BasePreferenceControllerSignatureInspector(mClasses).run();
|
||||||
|
@@ -19,7 +19,6 @@ package com.android.settings.slices;
|
|||||||
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_CONTROLLER;
|
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_CONTROLLER;
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
import static com.google.common.truth.Truth.assertWithMessage;
|
import static com.google.common.truth.Truth.assertWithMessage;
|
||||||
import static org.mockito.Mockito.spy;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@@ -27,8 +26,8 @@ import android.provider.SearchIndexableResource;
|
|||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import com.android.settings.core.PreferenceXmlParserUtils;
|
import com.android.settings.core.PreferenceXmlParserUtils;
|
||||||
|
import com.android.settings.core.SliderPreferenceController;
|
||||||
import com.android.settings.core.TogglePreferenceController;
|
import com.android.settings.core.TogglePreferenceController;
|
||||||
import com.android.settings.core.codeinspection.ClassScanner;
|
|
||||||
import com.android.settings.core.codeinspection.CodeInspector;
|
import com.android.settings.core.codeinspection.CodeInspector;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settings.search.DatabaseIndexingUtils;
|
import com.android.settings.search.DatabaseIndexingUtils;
|
||||||
@@ -36,25 +35,21 @@ import com.android.settings.search.Indexable;
|
|||||||
import com.android.settings.search.SearchFeatureProvider;
|
import com.android.settings.search.SearchFeatureProvider;
|
||||||
import com.android.settings.search.SearchFeatureProviderImpl;
|
import com.android.settings.search.SearchFeatureProviderImpl;
|
||||||
import com.android.settings.testutils.FakeFeatureFactory;
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
|
||||||
|
|
||||||
import org.junit.Before;
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
import org.xmlpull.v1.XmlPullParserException;
|
import org.xmlpull.v1.XmlPullParserException;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@RunWith(SettingsRobolectricTestRunner.class)
|
public class SliceControllerInXmlCodeInspector extends CodeInspector {
|
||||||
public class SliceControllerInXmlTest {
|
|
||||||
|
|
||||||
private static final List<Class> mSliceControllerClasses = Collections.singletonList(
|
private static final List<Class> mSliceControllerClasses = Arrays.asList(
|
||||||
TogglePreferenceController.class
|
TogglePreferenceController.class,
|
||||||
|
SliderPreferenceController.class
|
||||||
);
|
);
|
||||||
|
|
||||||
private final List<String> mXmlDeclaredControllers = new ArrayList<>();
|
private final List<String> mXmlDeclaredControllers = new ArrayList<>();
|
||||||
@@ -66,15 +61,13 @@ public class SliceControllerInXmlTest {
|
|||||||
+ "If it should not appear in XML, add the controller's classname to "
|
+ "If it should not appear in XML, add the controller's classname to "
|
||||||
+ "grandfather_slice_controller_not_in_xml. Controllers:\n";
|
+ "grandfather_slice_controller_not_in_xml. Controllers:\n";
|
||||||
|
|
||||||
private Context mContext;
|
private final Context mContext;
|
||||||
|
private final SearchFeatureProvider mSearchProvider;
|
||||||
private SearchFeatureProvider mSearchProvider;
|
private final FakeFeatureFactory mFakeFeatureFactory;
|
||||||
private FakeFeatureFactory mFakeFeatureFactory;
|
|
||||||
|
|
||||||
@Before
|
|
||||||
public void setUp() throws IOException, XmlPullParserException {
|
|
||||||
mContext = spy(RuntimeEnvironment.application);
|
|
||||||
|
|
||||||
|
public SliceControllerInXmlCodeInspector(List<Class<?>> classes) throws Exception {
|
||||||
|
super(classes);
|
||||||
|
mContext = RuntimeEnvironment.application;
|
||||||
mSearchProvider = new SearchFeatureProviderImpl();
|
mSearchProvider = new SearchFeatureProviderImpl();
|
||||||
mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
|
mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||||
mFakeFeatureFactory.searchFeatureProvider = mSearchProvider;
|
mFakeFeatureFactory.searchFeatureProvider = mSearchProvider;
|
||||||
@@ -102,13 +95,15 @@ public class SliceControllerInXmlTest {
|
|||||||
assertThat(mXmlDeclaredControllers).isNotEmpty();
|
assertThat(mXmlDeclaredControllers).isNotEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Override
|
||||||
public void testAllControllersDeclaredInXml() throws Exception {
|
public void run() {
|
||||||
final List<Class<?>> classes =
|
|
||||||
new ClassScanner().getClassesForPackage(mContext.getPackageName());
|
|
||||||
final List<String> missingControllersInXml = new ArrayList<>();
|
final List<String> missingControllersInXml = new ArrayList<>();
|
||||||
|
|
||||||
for (Class<?> clazz : classes) {
|
for (Class<?> clazz : mClasses) {
|
||||||
|
if (!isConcreteSettingsClass(clazz)) {
|
||||||
|
// Only care about non-abstract classes.
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (!isInlineSliceClass(clazz)) {
|
if (!isInlineSliceClass(clazz)) {
|
||||||
// Only care about inline-slice controller classes.
|
// Only care about inline-slice controller classes.
|
||||||
continue;
|
continue;
|
Reference in New Issue
Block a user