Commit b704484b authored by yolandyan's avatar yolandyan Committed by Commit bot

Convert Provider tests to JUnit4

For more on JUnit4 migration, please check src/testing/android/docs/junit4.md

BUG=640116

Review-Url: https://codereview.chromium.org/2876273004
Cr-Commit-Position: refs/heads/master@{#473762}
parent cb653512
......@@ -1580,7 +1580,7 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/provider/ProviderBookmarkNodeUnitTest.java",
"javatests/src/org/chromium/chrome/browser/provider/ProviderBookmarksUriTest.java",
"javatests/src/org/chromium/chrome/browser/provider/ProviderSearchesUriTest.java",
"javatests/src/org/chromium/chrome/browser/provider/ProviderTestBase.java",
"javatests/src/org/chromium/chrome/browser/provider/ProviderTestRule.java",
"javatests/src/org/chromium/chrome/browser/push_messaging/PushMessagingTest.java",
"javatests/src/org/chromium/chrome/browser/search_engines/TemplateUrlServiceTest.java",
"javatests/src/org/chromium/chrome/browser/searchwidget/SearchActivityTest.java",
......
......@@ -6,8 +6,13 @@ package org.chromium.chrome.browser.provider;
import android.os.Parcel;
import android.support.test.filters.SmallTest;
import android.test.AndroidTestCase;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.util.Feature;
import org.chromium.chrome.browser.provider.ChromeBrowserProvider.BookmarkNode;
import org.chromium.chrome.browser.provider.ChromeBrowserProvider.Type;
......@@ -17,14 +22,13 @@ import java.util.Random;
/**
* Tests parceling of bookmark node hierarchies used by the provider client API.
*/
public class ProviderBookmarkNodeUnitTest extends AndroidTestCase {
@RunWith(BaseJUnit4ClassRunner.class)
public class ProviderBookmarkNodeUnitTest {
Random mGenerator = new Random();
byte[][] mImageBlobs = null;
@Override
protected void setUp() throws Exception {
super.setUp();
@Before
public void setUp() throws Exception {
mImageBlobs = new byte[][] {
{ 1, 2, 3 },
{ 4, 5, 6, 7 },
......@@ -32,7 +36,7 @@ public class ProviderBookmarkNodeUnitTest extends AndroidTestCase {
};
for (byte[] icon : mImageBlobs) {
assertNotNull(icon);
Assert.assertNotNull(icon);
}
}
......@@ -125,31 +129,35 @@ public class ProviderBookmarkNodeUnitTest extends AndroidTestCase {
return true;
}
@Test
@SmallTest
@Feature({"Android-ContentProvider"})
public void testBookmarkNodeParceling() throws InterruptedException {
assertTrue(internalTestNodeHierarchyParceling(createMockHierarchy()));
Assert.assertTrue(internalTestNodeHierarchyParceling(createMockHierarchy()));
}
@Test
@SmallTest
@Feature({"Android-ContentProvider"})
public void testBookmarkNodeParcelingWithImages() throws InterruptedException {
assertTrue(internalTestNodeHierarchyParceling(createMockHierarchyWithImages()));
Assert.assertTrue(internalTestNodeHierarchyParceling(createMockHierarchyWithImages()));
}
@Test
@SmallTest
@Feature({"Android-ContentProvider"})
public void testSingleNodeParceling() throws InterruptedException {
BookmarkNode node = new BookmarkNode(1, Type.URL, "Google", "http://www.google.com/", null);
assertTrue(internalTestNodeHierarchyParceling(node));
Assert.assertTrue(internalTestNodeHierarchyParceling(node));
}
@Test
@SmallTest
@Feature({"Android-ContentProvider"})
public void testInvalidHierarchy() throws InterruptedException {
BookmarkNode root = new BookmarkNode(1, Type.FOLDER, "Bookmarks", null, null);
root.addChild(new BookmarkNode(2, Type.URL, "Google", "http://www.google.com/", root));
root.addChild(new BookmarkNode(2, Type.URL, "GoogleMaps", "http://maps.google.com/", root));
assertFalse(internalTestNodeHierarchyParceling(root));
Assert.assertFalse(internalTestNodeHierarchyParceling(root));
}
}
......@@ -10,33 +10,41 @@ import android.content.pm.ProviderInfo;
import android.test.IsolatedContext;
import android.test.mock.MockContentResolver;
import org.junit.Assert;
import org.junit.runner.Description;
import org.junit.runners.model.Statement;
import org.chromium.base.ThreadUtils;
import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.test.ChromeActivityTestCaseBase;
import org.chromium.chrome.test.ChromeActivityTestRule;
/**
* Base class for Chrome's ContentProvider tests.
* Sets up a local ChromeBrowserProvider associated to a mock resolver in an isolated context.
*/
public class ProviderTestBase extends ChromeActivityTestCaseBase<ChromeActivity> {
public class ProviderTestRule extends ChromeActivityTestRule<ChromeActivity> {
private IsolatedContext mContext;
public ProviderTestBase() {
public ProviderTestRule() {
super(ChromeActivity.class);
}
@Override
public void startMainActivity() throws InterruptedException {
startMainActivityOnBlankPage();
public Statement apply(final Statement base, Description description) {
return super.apply(new Statement() {
@Override
public void evaluate() throws Throwable {
setUp();
base.evaluate();
}
}, description);
}
@Override
protected void setUp() throws Exception {
super.setUp();
private void setUp() throws Exception {
startMainActivityOnBlankPage();
final ChromeActivity activity = getActivity();
assertNotNull(activity);
Assert.assertNotNull(activity);
final ContentProvider provider = new ChromeBrowserProvider();
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
......@@ -52,7 +60,7 @@ public class ProviderTestBase extends ChromeActivityTestCaseBase<ChromeActivity>
resolver.addProvider(ChromeBrowserProvider.getApiAuthority(activity), provider);
mContext = new IsolatedContext(resolver, activity);
assertTrue(getContentResolver() instanceof MockContentResolver);
Assert.assertTrue(getContentResolver() instanceof MockContentResolver);
}
protected ContentResolver getContentResolver() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment