Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cmsdk: Add CMStatusBarManager and CustomTile.Builder tests.
Change-Id: I9df217cd94d489204f51de220bdf4c0b0b677e15
- Loading branch information
Adnan Begovic
committed
Jul 14, 2015
1 parent
ca648dc
commit e953794
Showing
5 changed files
with
241 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
## CM Platform SDK Tests | ||
The tests package contains both functional manual tests as well as unit | ||
tests which can be ran utilizing the InstrumentationTestRunner from android. | ||
|
||
To run the tests (on a live device): | ||
|
||
```adb shell am instrument -w org.cyanogenmod.tests/android.test.InstrumentationTestRunner``` |
47 changes: 47 additions & 0 deletions
47
tests/src/org/cyanogenmod/tests/customtiles/unit/CMStatusBarManagerTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
/** | ||
* Copyright (c) 2015, The CyanogenMod 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 org.cyanogenmod.tests.customtiles.unit; | ||
|
||
import android.test.AndroidTestCase; | ||
import android.test.suitebuilder.annotation.SmallTest; | ||
|
||
import cyanogenmod.app.CMStatusBarManager; | ||
import cyanogenmod.app.ICMStatusBarManager; | ||
|
||
/** | ||
* Created by adnan on 7/14/15. | ||
*/ | ||
public class CMStatusBarManagerTest extends AndroidTestCase { | ||
private CMStatusBarManager mCMStatusBarManager; | ||
|
||
@Override | ||
protected void setUp() throws Exception { | ||
super.setUp(); | ||
mCMStatusBarManager = CMStatusBarManager.getInstance(mContext); | ||
} | ||
|
||
@SmallTest | ||
public void testManagerExists() { | ||
assertNotNull(mCMStatusBarManager); | ||
} | ||
|
||
@SmallTest | ||
public void testManagerServiceIsAvailable() { | ||
ICMStatusBarManager icmStatusBarManager = mCMStatusBarManager.getService(); | ||
assertNotNull(icmStatusBarManager); | ||
} | ||
} |
181 changes: 181 additions & 0 deletions
181
tests/src/org/cyanogenmod/tests/customtiles/unit/CustomTileBuilderTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,181 @@ | ||
/** | ||
* Copyright (c) 2015, The CyanogenMod 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 org.cyanogenmod.tests.customtiles.unit; | ||
|
||
import android.app.PendingIntent; | ||
import android.content.Intent; | ||
import android.net.Uri; | ||
import android.test.AndroidTestCase; | ||
import android.test.suitebuilder.annotation.MediumTest; | ||
import android.test.suitebuilder.annotation.SmallTest; | ||
import cyanogenmod.app.CustomTile; | ||
import org.cyanogenmod.tests.R; | ||
import org.cyanogenmod.tests.customtiles.CMStatusBarTest; | ||
import org.cyanogenmod.tests.customtiles.DummySettings; | ||
|
||
import java.util.ArrayList; | ||
|
||
/** | ||
* Created by adnan on 7/14/15. | ||
*/ | ||
public class CustomTileBuilderTest extends AndroidTestCase { | ||
|
||
@Override | ||
protected void setUp() throws Exception { | ||
super.setUp(); | ||
} | ||
|
||
@SmallTest | ||
public void testConstructor() { | ||
new CustomTile.Builder(mContext); | ||
} | ||
|
||
@SmallTest | ||
public void testCustomTileBuilderOnClickIntent() { | ||
Intent intent = new Intent(Intent.ACTION_DIAL); | ||
PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, intent, 0); | ||
CustomTile customTile = new CustomTile.Builder(mContext) | ||
.setOnClickIntent(pendingIntent) | ||
.build(); | ||
assertNotNull(customTile.onClick); | ||
assertEquals(pendingIntent, customTile.onClick); | ||
} | ||
|
||
@SmallTest | ||
public void testCustomTileBuilderOnSettingsClickIntent() { | ||
Intent intent = new Intent(mContext, DummySettings.class); | ||
CustomTile customTile = new CustomTile.Builder(mContext) | ||
.setOnSettingsClickIntent(intent) | ||
.build(); | ||
assertNotNull(customTile.onSettingsClick); | ||
assertEquals(intent, customTile.onSettingsClick); | ||
} | ||
|
||
@SmallTest | ||
public void testCustomTileBuilderOnClickUri() { | ||
//Calling Mike Jones, WHO!? MIKE JONES. | ||
Uri uri = Uri.parse("2813308004"); | ||
CustomTile customTile = new CustomTile.Builder(mContext) | ||
.setOnClickUri(uri) | ||
.build(); | ||
assertNotNull(uri); | ||
assertEquals(uri, customTile.onClickUri); | ||
} | ||
|
||
@SmallTest | ||
public void testCustomTileBuilderLabel() { | ||
String message = "Test label"; | ||
CustomTile customTile = new CustomTile.Builder(mContext) | ||
.setLabel(message).build(); | ||
assertNotNull(customTile); | ||
assertEquals(message, customTile.label); | ||
} | ||
|
||
@SmallTest | ||
public void testCustomTileBuilderContentDescription() { | ||
String message = "Test content description"; | ||
CustomTile customTile = new CustomTile.Builder(mContext) | ||
.setContentDescription(message) | ||
.build(); | ||
assertNotNull(customTile); | ||
assertEquals(message, customTile.contentDescription); | ||
} | ||
|
||
@SmallTest | ||
public void testCustomTileBuilderIconSet() { | ||
int resourceInt = R.drawable.ic_launcher; | ||
CustomTile customTile = new CustomTile.Builder(mContext) | ||
.setIcon(resourceInt) | ||
.build(); | ||
assertNotNull(customTile.icon); | ||
assertNotSame(customTile.icon, 0); | ||
assertEquals(resourceInt, customTile.icon); | ||
} | ||
|
||
@MediumTest | ||
public void testCustomTileBuilderExpandedListStyleSet() { | ||
PendingIntent intent = PendingIntent.getActivity(mContext, 0, | ||
new Intent(mContext, CMStatusBarTest.class) | ||
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK), 0); | ||
ArrayList<CustomTile.ExpandedListItem> expandedListItems = | ||
new ArrayList<CustomTile.ExpandedListItem>(); | ||
for (int i = 0; i < 100; i++) { | ||
CustomTile.ExpandedListItem expandedListItem = | ||
new CustomTile.ExpandedListItem(); | ||
expandedListItem.setExpandedListItemDrawable(R.drawable.ic_launcher); | ||
expandedListItem.setExpandedListItemTitle("Test: " + i); | ||
expandedListItem.setExpandedListItemSummary("Test item summary " + i); | ||
expandedListItem.setExpandedListItemOnClickIntent(intent); | ||
expandedListItems.add(expandedListItem); | ||
} | ||
|
||
CustomTile.ListExpandedStyle listExpandedStyle = | ||
new CustomTile.ListExpandedStyle(); | ||
listExpandedStyle.setListItems(expandedListItems); | ||
CustomTile customTile = new CustomTile.Builder(mContext) | ||
.setExpandedStyle(listExpandedStyle) | ||
.build(); | ||
|
||
assertNotNull(customTile.expandedStyle); | ||
assertEquals(listExpandedStyle, customTile.expandedStyle); | ||
assertNotNull(customTile.expandedStyle.getExpandedItems()); | ||
for (int j = 0; j < 100; j++) { | ||
CustomTile.ExpandedItem itemExpected = expandedListItems.get(j); | ||
CustomTile.ExpandedItem itemReal = customTile.expandedStyle.getExpandedItems()[j]; | ||
assertEquals(itemExpected.onClickPendingIntent, itemReal.onClickPendingIntent); | ||
assertEquals(itemExpected.itemDrawableResourceId, itemReal.itemDrawableResourceId); | ||
assertEquals(itemExpected.itemTitle, itemReal.itemTitle); | ||
assertEquals(itemExpected.itemSummary, itemReal.itemSummary); | ||
} | ||
} | ||
|
||
@MediumTest | ||
public void testCustomTileBuilderExpandedGridStyleSet() { | ||
PendingIntent intent = PendingIntent.getActivity(mContext, 0, | ||
new Intent(mContext, CMStatusBarTest.class) | ||
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK), 0); | ||
ArrayList<CustomTile.ExpandedGridItem> expandedGridItems = | ||
new ArrayList<CustomTile.ExpandedGridItem>(); | ||
for (int i = 0; i < 100; i++) { | ||
CustomTile.ExpandedGridItem expandedGridItem = | ||
new CustomTile.ExpandedGridItem(); | ||
expandedGridItem.setExpandedGridItemDrawable(R.drawable.ic_launcher); | ||
expandedGridItem.setExpandedGridItemTitle("Test: " + i); | ||
expandedGridItem.setExpandedGridItemOnClickIntent(intent); | ||
expandedGridItems.add(expandedGridItem); | ||
} | ||
|
||
CustomTile.GridExpandedStyle gridExpandedStyle = | ||
new CustomTile.GridExpandedStyle(); | ||
gridExpandedStyle.setGridItems(expandedGridItems); | ||
CustomTile customTile = new CustomTile.Builder(mContext) | ||
.setExpandedStyle(gridExpandedStyle) | ||
.build(); | ||
|
||
assertNotNull(customTile.expandedStyle); | ||
assertEquals(gridExpandedStyle, customTile.expandedStyle); | ||
assertNotNull(customTile.expandedStyle.getExpandedItems()); | ||
for (int j = 0; j < 100; j++) { | ||
CustomTile.ExpandedItem itemExpected = expandedGridItems.get(j); | ||
CustomTile.ExpandedItem itemReal = customTile.expandedStyle.getExpandedItems()[j]; | ||
assertEquals(itemExpected.onClickPendingIntent, itemReal.onClickPendingIntent); | ||
assertEquals(itemExpected.itemDrawableResourceId, itemReal.itemDrawableResourceId); | ||
assertEquals(itemExpected.itemTitle, itemReal.itemTitle); | ||
assertEquals(itemExpected.itemSummary, itemReal.itemSummary); | ||
} | ||
} | ||
} |