blob: 328e074c8dfce58143d056e02093d8d92eb46ea3 [file] [log] [blame]
/*
* Copyright (C) 2012 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 android.preference2.cts;
import android.graphics.drawable.Drawable;
import android.preference.CheckBoxPreference;
import android.preference.Preference;
import android.preference.PreferenceGroup;
import android.test.ActivityInstrumentationTestCase2;
import com.android.cts.preference2.R;
public class PreferenceTest
extends ActivityInstrumentationTestCase2<PreferenceFromCodeActivity> {
private PreferenceFromCodeActivity mActivity;
private Preference mPreference;
public PreferenceTest() {
super(PreferenceFromCodeActivity.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
mActivity = getActivity();
mPreference = (CheckBoxPreference) mActivity.findPreference(
"checkbox_preference");
}
public void testNotNull() {
assertNotNull(mPreference);
}
public void testGetSummary() {
String summary = (String) mPreference.getSummary();
String summaryExp = mActivity.getResources().getString(
R.string.summary_checkbox_preference);
assertEquals(summaryExp, summary);
}
public void testSetSummary() throws Throwable {
final String summary = "New Summary";
this.runTestOnUiThread(new Runnable() {
public void run() {
mPreference.setSummary(summary);
}
});
assertEquals(summary, mPreference.getSummary());
}
public void testIsEnabled() {
assertTrue(mPreference.isEnabled());
}
public void testSetEnabled() throws Throwable {
this.runTestOnUiThread(new Runnable() {
public void run() {
mPreference.setEnabled(false);
}
});
assertFalse(mPreference.isEnabled());
}
public void testIsPersistent() {
assertTrue(mPreference.isPersistent());
}
public void testIsSelectable() {
assertTrue(mPreference.isSelectable());
}
public void testGetTitle() {
CharSequence title= mPreference.getTitle();
String titleExp = mActivity.getResources().getString(
R.string.title_checkbox_preference);
assertEquals(titleExp, title);
}
public void testSetTitle() throws Throwable {
this.runTestOnUiThread(new Runnable() {
public void run() {
mPreference.setTitle(R.string.title_my_preference);
}
});
String titleExp = mActivity.getResources().getString(
R.string.title_my_preference);
String title = (String) mPreference.getTitle();
assertEquals(titleExp, title);
}
public void testHasKey() {
assertTrue(mPreference.hasKey());
}
public void testGetKey() {
String key = mPreference.getKey();
String keyExp = "checkbox_preference";
assertEquals(keyExp, key);
}
public void testSetKey() throws Throwable {
final String key = "key1";
this.runTestOnUiThread(new Runnable() {
public void run() {
mPreference.setKey(key);
}
});
assertEquals(key, mPreference.getKey());
}
public void testGetPreferenceManager() {
assertNotNull(mPreference.getPreferenceManager());
}
public void testGetSharedPreferences() {
assertNotNull(mPreference.getSharedPreferences());
}
public void testSetTitle_CharSequence() throws Throwable {
final CharSequence titleExp = "Test Title";
this.runTestOnUiThread(new Runnable() {
public void run() {
mPreference.setTitle(titleExp);
}
});
assertEquals(titleExp, mPreference.getTitle());
}
public void testGetContext() {
assertNotNull(mPreference.getContext());
}
public void testGetOrder() throws Throwable {
int order = mPreference.getOrder();
assertEquals(0, order);
}
public void testSetOrder() throws Throwable {
int orderExp = 1;
mPreference.setOrder(orderExp);
int order = mPreference.getOrder();
assertEquals(orderExp, order);
}
public void testGetIcon() {
Drawable iconExp = mActivity.getResources().getDrawable(R.drawable.ic_launcher);
Drawable icon = mPreference.getIcon();
assertEquals(iconExp.getIntrinsicHeight(), icon.getIntrinsicHeight());
assertEquals(iconExp.getIntrinsicWidth(), icon.getIntrinsicWidth());
assertEquals(iconExp.getOpacity(), icon.getOpacity());
}
public void testgetShouldDisableView() {
assertTrue(mPreference.getShouldDisableView());
}
public void testSetShouldDisableView() throws Throwable {
this.runTestOnUiThread(new Runnable() {
public void run() {
mPreference.setShouldDisableView(false);
}
});
assertFalse(mPreference.getShouldDisableView());
}
public void testPersistInt() {
CustomPreference mCustomPreference = new CustomPreference(mActivity);
String key = "" + Math.random();
mCustomPreference.setKey(key);
PreferenceGroup mPreferenceGroup = (PreferenceGroup) mActivity.findPreference(
"pref-group");
mPreferenceGroup.addPreference(mCustomPreference);
try {
int expected = 1;
mCustomPreference.persistInt(expected);
int actual = mCustomPreference.getPersistedInt(0);
assertEquals(expected, actual);
} finally {
mPreferenceGroup.removePreference(mCustomPreference);
}
}
public void testPersistBoolean() {
CustomPreference mCustomPreference = new CustomPreference(mActivity);
String key = "" + Math.random();
mCustomPreference.setKey(key);
PreferenceGroup mPreferenceGroup = (PreferenceGroup) mActivity.findPreference(
"pref-group");
mPreferenceGroup.addPreference(mCustomPreference);
try {
boolean expected = true;
boolean result = mCustomPreference.persistBoolean(expected);
assertTrue(result);
boolean actual = mCustomPreference.getPersistedBoolean(false);
assertEquals(expected, actual);
} finally {
mPreferenceGroup.removePreference(mCustomPreference);
}
}
public void testPersistString() {
CustomPreference mCustomPreference = new CustomPreference(mActivity);
String key = "" + Math.random();
mCustomPreference.setKey(key);
PreferenceGroup mPreferenceGroup = (PreferenceGroup) mActivity.findPreference(
"pref-group");
mPreferenceGroup.addPreference(mCustomPreference);
try {
String expected = "a";
boolean result = mCustomPreference.persistString(expected);
assertTrue(result);
String actual = mCustomPreference.getPersistedString("b");
assertEquals(expected, actual);
} finally {
mPreferenceGroup.removePreference(mCustomPreference);
}
}
public void testPersistFloat() {
CustomPreference mCustomPreference = new CustomPreference(mActivity);
String key = "" + Math.random();
mCustomPreference.setKey(key);
PreferenceGroup mPreferenceGroup = (PreferenceGroup) mActivity.findPreference(
"pref-group");
mPreferenceGroup.addPreference(mCustomPreference);
try {
float expected = 9.999f;
boolean result = mCustomPreference.persistFloat(expected);
assertTrue(result);
float actual = mCustomPreference.getPersistedFloat(0.000f);
assertEquals(expected, actual);
} finally {
mPreferenceGroup.removePreference(mCustomPreference);
}
}
public void testPersistLong() {
CustomPreference mCustomPreference = new CustomPreference(mActivity);
String key = "" + Math.random();
mCustomPreference.setKey(key);
PreferenceGroup mPreferenceGroup = (PreferenceGroup) mActivity.findPreference(
"pref-group");
mPreferenceGroup.addPreference(mCustomPreference);
try {
long expected = 99999999l;
boolean result = mCustomPreference.persistLong(expected);
assertTrue(result);
long actual = mCustomPreference.getPersistedLong(10000000l);
assertEquals(expected, actual);
} finally {
mPreferenceGroup.removePreference(mCustomPreference);
}
}
public void testShouldCommit() {
CustomPreference mCustomPreference = (CustomPreference) mActivity.findPreference(
"custom-preference");
assertTrue(mCustomPreference.shouldCommit());
}
public void testShouldPersist() {
CustomPreference mCustomPreference = (CustomPreference) mActivity.findPreference(
"custom-preference");
assertTrue(mCustomPreference.shouldPersist());
}
}