| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.chrome.browser.provider; | 5 package org.chromium.chrome.browser.provider; |
| 6 | 6 |
| 7 import android.os.Parcel; | 7 import android.os.Parcel; |
| 8 import android.support.test.filters.SmallTest; | 8 import android.support.test.filters.SmallTest; |
| 9 import android.test.AndroidTestCase; | |
| 10 | 9 |
| 10 import org.junit.Assert; |
| 11 import org.junit.Before; |
| 12 import org.junit.Test; |
| 13 import org.junit.runner.RunWith; |
| 14 |
| 15 import org.chromium.base.test.BaseJUnit4ClassRunner; |
| 11 import org.chromium.base.test.util.Feature; | 16 import org.chromium.base.test.util.Feature; |
| 12 import org.chromium.chrome.browser.provider.ChromeBrowserProvider.BookmarkNode; | 17 import org.chromium.chrome.browser.provider.ChromeBrowserProvider.BookmarkNode; |
| 13 import org.chromium.chrome.browser.provider.ChromeBrowserProvider.Type; | 18 import org.chromium.chrome.browser.provider.ChromeBrowserProvider.Type; |
| 14 | 19 |
| 15 import java.util.Random; | 20 import java.util.Random; |
| 16 | 21 |
| 17 /** | 22 /** |
| 18 * Tests parceling of bookmark node hierarchies used by the provider client API. | 23 * Tests parceling of bookmark node hierarchies used by the provider client API. |
| 19 */ | 24 */ |
| 20 public class ProviderBookmarkNodeUnitTest extends AndroidTestCase { | 25 @RunWith(BaseJUnit4ClassRunner.class) |
| 26 public class ProviderBookmarkNodeUnitTest { |
| 21 Random mGenerator = new Random(); | 27 Random mGenerator = new Random(); |
| 22 byte[][] mImageBlobs = null; | 28 byte[][] mImageBlobs = null; |
| 23 | 29 |
| 24 @Override | 30 @Before |
| 25 protected void setUp() throws Exception { | 31 public void setUp() throws Exception { |
| 26 super.setUp(); | |
| 27 | |
| 28 mImageBlobs = new byte[][] { | 32 mImageBlobs = new byte[][] { |
| 29 { 1, 2, 3 }, | 33 { 1, 2, 3 }, |
| 30 { 4, 5, 6, 7 }, | 34 { 4, 5, 6, 7 }, |
| 31 { 8, 9, 10, 11, 12 }, | 35 { 8, 9, 10, 11, 12 }, |
| 32 }; | 36 }; |
| 33 | 37 |
| 34 for (byte[] icon : mImageBlobs) { | 38 for (byte[] icon : mImageBlobs) { |
| 35 assertNotNull(icon); | 39 Assert.assertNotNull(icon); |
| 36 } | 40 } |
| 37 } | 41 } |
| 38 | 42 |
| 39 private static BookmarkNode parcelNode(BookmarkNode node) { | 43 private static BookmarkNode parcelNode(BookmarkNode node) { |
| 40 Parcel output = Parcel.obtain(); | 44 Parcel output = Parcel.obtain(); |
| 41 Parcel input = Parcel.obtain(); | 45 Parcel input = Parcel.obtain(); |
| 42 node.writeToParcel(output, 0); | 46 node.writeToParcel(output, 0); |
| 43 byte[] bytes = output.marshall(); | 47 byte[] bytes = output.marshall(); |
| 44 | 48 |
| 45 input.unmarshall(bytes, 0, bytes.length); | 49 input.unmarshall(bytes, 0, bytes.length); |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 BookmarkNode parceled = parcelNode(node); | 122 BookmarkNode parceled = parcelNode(node); |
| 119 if (!isSameHierarchy(node, parceled)) return false; | 123 if (!isSameHierarchy(node, parceled)) return false; |
| 120 | 124 |
| 121 for (BookmarkNode child : node.children()) { | 125 for (BookmarkNode child : node.children()) { |
| 122 if (!internalTestNodeHierarchyParceling(child)) return false; | 126 if (!internalTestNodeHierarchyParceling(child)) return false; |
| 123 } | 127 } |
| 124 | 128 |
| 125 return true; | 129 return true; |
| 126 } | 130 } |
| 127 | 131 |
| 132 @Test |
| 128 @SmallTest | 133 @SmallTest |
| 129 @Feature({"Android-ContentProvider"}) | 134 @Feature({"Android-ContentProvider"}) |
| 130 public void testBookmarkNodeParceling() throws InterruptedException { | 135 public void testBookmarkNodeParceling() throws InterruptedException { |
| 131 assertTrue(internalTestNodeHierarchyParceling(createMockHierarchy())); | 136 Assert.assertTrue(internalTestNodeHierarchyParceling(createMockHierarchy
())); |
| 132 } | 137 } |
| 133 | 138 |
| 139 @Test |
| 134 @SmallTest | 140 @SmallTest |
| 135 @Feature({"Android-ContentProvider"}) | 141 @Feature({"Android-ContentProvider"}) |
| 136 public void testBookmarkNodeParcelingWithImages() throws InterruptedExceptio
n { | 142 public void testBookmarkNodeParcelingWithImages() throws InterruptedExceptio
n { |
| 137 assertTrue(internalTestNodeHierarchyParceling(createMockHierarchyWithIma
ges())); | 143 Assert.assertTrue(internalTestNodeHierarchyParceling(createMockHierarchy
WithImages())); |
| 138 } | 144 } |
| 139 | 145 |
| 146 @Test |
| 140 @SmallTest | 147 @SmallTest |
| 141 @Feature({"Android-ContentProvider"}) | 148 @Feature({"Android-ContentProvider"}) |
| 142 public void testSingleNodeParceling() throws InterruptedException { | 149 public void testSingleNodeParceling() throws InterruptedException { |
| 143 BookmarkNode node = new BookmarkNode(1, Type.URL, "Google", "http://www.
google.com/", null); | 150 BookmarkNode node = new BookmarkNode(1, Type.URL, "Google", "http://www.
google.com/", null); |
| 144 assertTrue(internalTestNodeHierarchyParceling(node)); | 151 Assert.assertTrue(internalTestNodeHierarchyParceling(node)); |
| 145 } | 152 } |
| 146 | 153 |
| 154 @Test |
| 147 @SmallTest | 155 @SmallTest |
| 148 @Feature({"Android-ContentProvider"}) | 156 @Feature({"Android-ContentProvider"}) |
| 149 public void testInvalidHierarchy() throws InterruptedException { | 157 public void testInvalidHierarchy() throws InterruptedException { |
| 150 BookmarkNode root = new BookmarkNode(1, Type.FOLDER, "Bookmarks", null,
null); | 158 BookmarkNode root = new BookmarkNode(1, Type.FOLDER, "Bookmarks", null,
null); |
| 151 root.addChild(new BookmarkNode(2, Type.URL, "Google", "http://www.google
.com/", root)); | 159 root.addChild(new BookmarkNode(2, Type.URL, "Google", "http://www.google
.com/", root)); |
| 152 root.addChild(new BookmarkNode(2, Type.URL, "GoogleMaps", "http://maps.g
oogle.com/", root)); | 160 root.addChild(new BookmarkNode(2, Type.URL, "GoogleMaps", "http://maps.g
oogle.com/", root)); |
| 153 assertFalse(internalTestNodeHierarchyParceling(root)); | 161 Assert.assertFalse(internalTestNodeHierarchyParceling(root)); |
| 154 } | 162 } |
| 155 } | 163 } |
| OLD | NEW |